aboutsummaryrefslogtreecommitdiff
path: root/src/client/util/DocumentManager.ts
diff options
context:
space:
mode:
authorSam Wilkins <abdullah_ahmed@brown.edu>2019-06-06 17:45:26 -0400
committerSam Wilkins <abdullah_ahmed@brown.edu>2019-06-06 17:45:26 -0400
commit972f76a34e3c1a1aa5f0be59639fbd5763c9c16f (patch)
tree686b83e841b9530e923de72ba4526123bd1d7732 /src/client/util/DocumentManager.ts
parent7d3ef1c914cc1cc0b6c05b14773a8b83e1b95c96 (diff)
links get saved to global table
Diffstat (limited to 'src/client/util/DocumentManager.ts')
-rw-r--r--src/client/util/DocumentManager.ts54
1 files changed, 38 insertions, 16 deletions
diff --git a/src/client/util/DocumentManager.ts b/src/client/util/DocumentManager.ts
index 65c4b9e4b..712529745 100644
--- a/src/client/util/DocumentManager.ts
+++ b/src/client/util/DocumentManager.ts
@@ -9,6 +9,7 @@ import { CollectionView } from '../views/collections/CollectionView';
import { CollectionPDFView } from '../views/collections/CollectionPDFView';
import { CollectionVideoView } from '../views/collections/CollectionVideoView';
import { Id } from '../../new_fields/FieldSymbols';
+import { LinkManager } from '../views/nodes/LinkManager';
export class DocumentManager {
@@ -83,12 +84,16 @@ export class DocumentManager {
@computed
public get LinkedDocumentViews() {
- return DocumentManager.Instance.DocumentViews.filter(dv => dv.isSelected() || BoolCast(dv.props.Document.libraryBrush, false)).reduce((pairs, dv) => {
- let linksList = DocListCast(dv.props.Document.linkedToDocs);
+ let linked = DocumentManager.Instance.DocumentViews.filter(dv => dv.isSelected() || BoolCast(dv.props.Document.libraryBrush, false)).reduce((pairs, dv) => {
+
+
+ let linksList = LinkManager.Instance.findAllRelatedLinks(dv.props.Document);
if (linksList && linksList.length) {
pairs.push(...linksList.reduce((pairs, link) => {
if (link) {
- let linkToDoc = FieldValue(Cast(link.linkedTo, Doc));
+ let destination = (link["linkedTo"] === dv.props.Document) ? link["linkedFrom"] : link["linkedTo"];
+ let linkToDoc = FieldValue(Cast(destination, Doc));
+ // let linkToDoc = FieldValue(Cast(link.linkedTo, Doc));
if (linkToDoc) {
DocumentManager.Instance.getDocumentViews(linkToDoc).map(docView1 =>
pairs.push({ a: dv, b: docView1, l: link }));
@@ -97,21 +102,38 @@ export class DocumentManager {
return pairs;
}, [] as { a: DocumentView, b: DocumentView, l: Doc }[]));
}
- linksList = DocListCast(dv.props.Document.linkedFromDocs);
- if (linksList && linksList.length) {
- pairs.push(...linksList.reduce((pairs, link) => {
- if (link) {
- let linkFromDoc = FieldValue(Cast(link.linkedFrom, Doc));
- if (linkFromDoc) {
- DocumentManager.Instance.getDocumentViews(linkFromDoc).map(docView1 =>
- pairs.push({ a: dv, b: docView1, l: link }));
- }
- }
- return pairs;
- }, pairs));
- }
+
+ // let linksList = DocListCast(dv.props.Document.linkedToDocs);
+ // console.log("to links", linksList.length);
+ // if (linksList && linksList.length) {
+ // pairs.push(...linksList.reduce((pairs, link) => {
+ // if (link) {
+ // let linkToDoc = FieldValue(Cast(link.linkedTo, Doc));
+ // if (linkToDoc) {
+ // DocumentManager.Instance.getDocumentViews(linkToDoc).map(docView1 =>
+ // pairs.push({ a: dv, b: docView1, l: link }));
+ // }
+ // }
+ // return pairs;
+ // }, [] as { a: DocumentView, b: DocumentView, l: Doc }[]));
+ // }
+ // linksList = DocListCast(dv.props.Document.linkedFromDocs);
+ // console.log("from links", linksList.length);
+ // if (linksList && linksList.length) {
+ // pairs.push(...linksList.reduce((pairs, link) => {
+ // if (link) {
+ // let linkFromDoc = FieldValue(Cast(link.linkedFrom, Doc));
+ // if (linkFromDoc) {
+ // DocumentManager.Instance.getDocumentViews(linkFromDoc).map(docView1 =>
+ // pairs.push({ a: dv, b: docView1, l: link }));
+ // }
+ // }
+ // return pairs;
+ // }, pairs));
+ // }
return pairs;
}, [] as { a: DocumentView, b: DocumentView, l: Doc }[]);
+ return linked;
}
@undoBatch