diff options
| author | Hannah Chow <hannah_chow@brown.edu> | 2019-03-07 01:11:32 -0500 |
|---|---|---|
| committer | Hannah Chow <hannah_chow@brown.edu> | 2019-03-07 01:11:32 -0500 |
| commit | 2a7ecc8e179a8020c291da9ed84c877402dbd2f9 (patch) | |
| tree | af4bab97b23d43611a08412e4a20310530cd1248 /src/client | |
| parent | d3ae5b8273a7aecabc36631b11efed4f634878f2 (diff) | |
delete working
Diffstat (limited to 'src/client')
| -rw-r--r-- | src/client/views/nodes/DocumentView.tsx | 4 | ||||
| -rw-r--r-- | src/client/views/nodes/LinkBox.tsx | 23 | ||||
| -rw-r--r-- | src/client/views/nodes/LinkMenu.tsx | 1 |
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> |
