aboutsummaryrefslogtreecommitdiff
path: root/src/client/documents/Documents.ts
diff options
context:
space:
mode:
authorBob Zeleznik <zzzman@gmail.com>2019-06-09 20:32:06 -0400
committerBob Zeleznik <zzzman@gmail.com>2019-06-09 20:32:06 -0400
commita2742057084ac0c78ed5f360b1078b5b267eff1f (patch)
tree8be81dd5409eaeae28d53dabcbe669a2bdc17966 /src/client/documents/Documents.ts
parent2500204978e2dd15c439adfc400388b7bb3caa01 (diff)
added a link context for link targets.
Diffstat (limited to 'src/client/documents/Documents.ts')
-rw-r--r--src/client/documents/Documents.ts30
1 files changed, 13 insertions, 17 deletions
diff --git a/src/client/documents/Documents.ts b/src/client/documents/Documents.ts
index f0fb0c3ed..2ae127e21 100644
--- a/src/client/documents/Documents.ts
+++ b/src/client/documents/Documents.ts
@@ -69,31 +69,27 @@ export interface DocumentOptions {
const delegateKeys = ["x", "y", "width", "height", "panX", "panY"];
export namespace DocUtils {
- export function MakeLink(source: Doc, target: Doc) {
+ export function MakeLink(source: Doc, target: Doc, targetContext?: 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;
- linkDoc.proto!.title = "-link name-";
- linkDoc.proto!.linkDescription = "";
- linkDoc.proto!.linkTags = "Default";
+ let linkDocProto = Doc.GetProto(linkDoc);
+ linkDocProto.title = source.title + " to " + target.title;
+ linkDocProto.linkDescription = "";
+ linkDocProto.linkTags = "Default";
- linkDoc.proto!.linkedTo = target;
- linkDoc.proto!.linkedToPage = target.curPage;
- linkDoc.proto!.linkedFrom = source;
- linkDoc.proto!.linkedFromPage = source.curPage;
+ linkDocProto.linkedTo = target;
+ linkDocProto.linkedFrom = source;
+ linkDocProto.linkedToPage = target.curPage;
+ linkDocProto.linkedFromPage = source.curPage;
+ linkDocProto.linkedToContext = targetContext;
let linkedFrom = Cast(protoTarg.linkedFromDocs, listSpec(Doc));
- if (!linkedFrom) {
- protoTarg.linkedFromDocs = linkedFrom = new List<Doc>();
- }
- linkedFrom.push(linkDoc);
-
let linkedTo = Cast(protoSrc.linkedToDocs, listSpec(Doc));
- if (!linkedTo) {
- protoSrc.linkedToDocs = linkedTo = new List<Doc>();
- }
+ !linkedFrom && (protoTarg.linkedFromDocs = linkedFrom = new List<Doc>());
+ !linkedTo && (protoSrc.linkedToDocs = linkedTo = new List<Doc>());
+ linkedFrom.push(linkDoc);
linkedTo.push(linkDoc);
return linkDoc;
}, "make link");