From 2a7ecc8e179a8020c291da9ed84c877402dbd2f9 Mon Sep 17 00:00:00 2001 From: Hannah Chow Date: Thu, 7 Mar 2019 01:11:32 -0500 Subject: delete working --- src/client/views/nodes/DocumentView.tsx | 4 ++-- src/client/views/nodes/LinkBox.tsx | 23 ++++++++++++++++++----- src/client/views/nodes/LinkMenu.tsx | 1 + 3 files changed, 21 insertions(+), 7 deletions(-) (limited to 'src/client') 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 { linkDoc.Set(KeyStore.LinkTags, new TextField("Default")); sourceDoc.GetOrCreateAsync(KeyStore.LinkedToDocs, ListField, field => { (field as ListField).Data.push(linkDoc) }); - linkDoc.GetOrCreateAsync(KeyStore.LinkedToDocs, ListField, field => { (field as ListField).Data.push(destDoc) }); + linkDoc.Set(KeyStore.LinkedToDocs, destDoc); destDoc.GetOrCreateAsync(KeyStore.LinkedFromDocs, ListField, field => { (field as ListField).Data.push(linkDoc) }); - linkDoc.GetOrCreateAsync(KeyStore.LinkedFromDocs, ListField, field => { (field as ListField).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 { 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>(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>(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 { })} {linkFrom.map(link => { + let name = link.GetData(KeyStore.Title, TextField, new String); return })} -- cgit v1.2.3-70-g09d2