aboutsummaryrefslogtreecommitdiff
path: root/src/client
diff options
context:
space:
mode:
authorHannah Chow <hannah_chow@brown.edu>2019-03-07 01:11:32 -0500
committerHannah Chow <hannah_chow@brown.edu>2019-03-07 01:11:32 -0500
commit2a7ecc8e179a8020c291da9ed84c877402dbd2f9 (patch)
treeaf4bab97b23d43611a08412e4a20310530cd1248 /src/client
parentd3ae5b8273a7aecabc36631b11efed4f634878f2 (diff)
delete working
Diffstat (limited to 'src/client')
-rw-r--r--src/client/views/nodes/DocumentView.tsx4
-rw-r--r--src/client/views/nodes/LinkBox.tsx23
-rw-r--r--src/client/views/nodes/LinkMenu.tsx1
3 files changed, 21 insertions, 7 deletions
diff --git a/src/client/views/nodes/DocumentView.tsx b/src/client/views/nodes/DocumentView.tsx
index 220f7017e..c9afbb150 100644
--- a/src/client/views/nodes/DocumentView.tsx
+++ b/src/client/views/nodes/DocumentView.tsx
@@ -214,9 +214,9 @@ export class DocumentView extends React.Component<DocumentViewProps> {
linkDoc.Set(KeyStore.LinkTags, new TextField("Default"));
sourceDoc.GetOrCreateAsync(KeyStore.LinkedToDocs, ListField, field => { (field as ListField<Document>).Data.push(linkDoc) });
- linkDoc.GetOrCreateAsync(KeyStore.LinkedToDocs, ListField, field => { (field as ListField<Document>).Data.push(destDoc) });
+ linkDoc.Set(KeyStore.LinkedToDocs, destDoc);
destDoc.GetOrCreateAsync(KeyStore.LinkedFromDocs, ListField, field => { (field as ListField<Document>).Data.push(linkDoc) });
- linkDoc.GetOrCreateAsync(KeyStore.LinkedFromDocs, ListField, field => { (field as ListField<Document>).Data.push(sourceDoc) });
+ linkDoc.Set(KeyStore.LinkedFromDocs, sourceDoc);
diff --git a/src/client/views/nodes/LinkBox.tsx b/src/client/views/nodes/LinkBox.tsx
index d6cb1f612..d493c55e7 100644
--- a/src/client/views/nodes/LinkBox.tsx
+++ b/src/client/views/nodes/LinkBox.tsx
@@ -31,11 +31,24 @@ export class LinkBox extends React.Component<Props> {
onDeleteButtonPressed = (e: React.PointerEvent): void => {
console.log("delete down");
e.stopPropagation();
- let linkToDoc: Document = this.props.linkDoc.GetData(KeyStore.LinkedToDocs, ListField, [])[0];
- let linkFromDoc: Document = this.props.linkDoc.GetData(KeyStore.LinkedFromDocs, ListField, [])[0];
-
- // let linkToDocFromDocs: Document[] = linkToDoc.GetData(KeyStore.LinkedFromDocs, ListField, []);
- // linkToDocFromDocs.
+ this.props.linkDoc.GetTAsync(KeyStore.LinkedFromDocs, Document, field => {
+ if (field) {
+ field.GetTAsync<ListField<Document>>(KeyStore.LinkedToDocs, ListField, field => {
+ if (field) {
+ field.Data.splice(field.Data.indexOf(this.props.linkDoc));
+ }
+ })
+ }
+ });
+ this.props.linkDoc.GetTAsync(KeyStore.LinkedToDocs, Document, field => {
+ if (field) {
+ field.GetTAsync<ListField<Document>>(KeyStore.LinkedFromDocs, ListField, field => {
+ if (field) {
+ field.Data.splice(field.Data.indexOf(this.props.linkDoc));
+ }
+ })
+ }
+ });
}
render() {
diff --git a/src/client/views/nodes/LinkMenu.tsx b/src/client/views/nodes/LinkMenu.tsx
index 4a1f49864..d0909e266 100644
--- a/src/client/views/nodes/LinkMenu.tsx
+++ b/src/client/views/nodes/LinkMenu.tsx
@@ -34,6 +34,7 @@ export class LinkMenu extends React.Component<Props> {
})}
{linkFrom.map(link => {
+ let name = link.GetData(KeyStore.Title, TextField, new String);
return <LinkBox linkDoc={link} linkName={name} />
})}
</div>