diff options
author | bobzel <zzzman@gmail.com> | 2021-02-03 12:55:21 -0500 |
---|---|---|
committer | bobzel <zzzman@gmail.com> | 2021-02-03 12:55:21 -0500 |
commit | b3522a13641747a96cba9ada09ad74abed3faa41 (patch) | |
tree | c0630efb7ee44126d3bd140821937cee18cfbf0e | |
parent | 2bc8cda2515c54120e2f22e80071e730d3b1f8f6 (diff) |
made link following in lightbox stay in lightbox.
-rw-r--r-- | src/client/util/LinkManager.ts | 17 | ||||
-rw-r--r-- | src/client/views/linking/LinkMenu.scss | 2 |
2 files changed, 13 insertions, 6 deletions
diff --git a/src/client/util/LinkManager.ts b/src/client/util/LinkManager.ts index bf927c5b8..3dabe0ec0 100644 --- a/src/client/util/LinkManager.ts +++ b/src/client/util/LinkManager.ts @@ -7,6 +7,8 @@ import { LinkDocPreview } from "../views/nodes/LinkDocPreview"; import { CreateViewFunc, DocumentManager } from "./DocumentManager"; import { SharingManager } from "./SharingManager"; import { UndoManager } from "./UndoManager"; +import { MainView } from "../views/MainView"; +import { runInAction } from "mobx"; /* * link doc: @@ -145,11 +147,16 @@ export class LinkManager { doc === linkDoc.anchor2 ? Cast(linkDoc.anchor1_timecode, "number") : (Doc.AreProtosEqual(doc, linkDoc.anchor1 as Doc) || Doc.AreProtosEqual((linkDoc.anchor1 as Doc).annotationOn as Doc, doc) ? Cast(linkDoc.anchor2_timecode, "number") : Cast(linkDoc.anchor1_timecode, "number"))); if (target) { - const containerDoc = (await Cast(target.annotationOn, Doc)) || target; - containerDoc._currentTimecode = targetTimecode; - const targetContext = await target?.context as Doc; - const targetNavContext = !Doc.AreProtosEqual(targetContext, currentContext) ? targetContext : undefined; - DocumentManager.Instance.jumpToDocument(target, zoom, (doc, finished) => createViewFunc(doc, StrCast(linkDoc.followLinkLocation, "add:right"), finished), targetNavContext, linkDoc, undefined, doc, finished); + if (MainView.Instance.LightboxDoc) { + runInAction(() => MainView.Instance.LightboxDoc = (target.annotationOn as Doc) ?? target); + finished?.(); + } else { + const containerDoc = (await Cast(target.annotationOn, Doc)) || target; + containerDoc._currentTimecode = targetTimecode; + const targetContext = await target?.context as Doc; + const targetNavContext = !Doc.AreProtosEqual(targetContext, currentContext) ? targetContext : undefined; + DocumentManager.Instance.jumpToDocument(target, zoom, (doc, finished) => createViewFunc(doc, StrCast(linkDoc.followLinkLocation, "add:right"), finished), targetNavContext, linkDoc, undefined, doc, finished); + } } else { finished?.(); } diff --git a/src/client/views/linking/LinkMenu.scss b/src/client/views/linking/LinkMenu.scss index 0e03b46db..57e8838be 100644 --- a/src/client/views/linking/LinkMenu.scss +++ b/src/client/views/linking/LinkMenu.scss @@ -4,7 +4,7 @@ width: auto; height: auto; position: absolute; - z-index: 999; + z-index: 10001; .linkMenu-list { |