diff options
author | Tyler Schicke <tyler_schicke@brown.edu> | 2019-05-18 00:28:10 -0400 |
---|---|---|
committer | Tyler Schicke <tyler_schicke@brown.edu> | 2019-05-18 00:28:10 -0400 |
commit | eb22f6d080dfe2210b54478fe17798b6ff9cb0f4 (patch) | |
tree | e1052d8e4a5632fda291c1020f60de3d52207d0a /src/new_fields/Doc.ts | |
parent | 4d6e5c21c452d4a9423f7925f6117b4f6d97093b (diff) | |
parent | 5220b9dc1f416a5e592fd359fb31033c63602e77 (diff) |
Merge branch 'master' of github-tsch-brown:browngraphicslab/Dash-Web
Diffstat (limited to 'src/new_fields/Doc.ts')
-rw-r--r-- | src/new_fields/Doc.ts | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/new_fields/Doc.ts b/src/new_fields/Doc.ts index f76999627..a7aa571f8 100644 --- a/src/new_fields/Doc.ts +++ b/src/new_fields/Doc.ts @@ -216,6 +216,8 @@ export namespace Doc { } export function MakeLink(source: Doc, target: Doc) { + let protoSrc = source.proto ? source.proto : source; + let protoTarg = target.proto ? target.proto : target; UndoManager.RunInBatch(() => { let linkDoc = Docs.TextDocument({ width: 100, height: 30, borderRounding: -1 }); //let linkDoc = new Doc; @@ -226,15 +228,15 @@ export namespace Doc { linkDoc.proto!.linkedTo = target; linkDoc.proto!.linkedFrom = source; - let linkedFrom = Cast(target.linkedFromDocs, listSpec(Doc)); + let linkedFrom = Cast(protoTarg.linkedFromDocs, listSpec(Doc)); if (!linkedFrom) { - target.linkedFromDocs = linkedFrom = new List<Doc>(); + protoTarg.linkedFromDocs = linkedFrom = new List<Doc>(); } linkedFrom.push(linkDoc); - let linkedTo = Cast(source.linkedToDocs, listSpec(Doc)); + let linkedTo = Cast(protoSrc.linkedToDocs, listSpec(Doc)); if (!linkedTo) { - source.linkedToDocs = linkedTo = new List<Doc>(); + protoSrc.linkedToDocs = linkedTo = new List<Doc>(); } linkedTo.push(linkDoc); return linkDoc; |