aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/client/util/DocumentManager.ts15
-rw-r--r--src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx2
2 files changed, 13 insertions, 4 deletions
diff --git a/src/client/util/DocumentManager.ts b/src/client/util/DocumentManager.ts
index c048125c5..4e6968f08 100644
--- a/src/client/util/DocumentManager.ts
+++ b/src/client/util/DocumentManager.ts
@@ -11,6 +11,7 @@ import { LinkManager } from './LinkManager';
import { undoBatch, UndoManager } from './UndoManager';
import { Scripting } from './Scripting';
import { List } from '../../new_fields/List';
+import { SelectionManager } from './SelectionManager';
export class DocumentManager {
@@ -132,7 +133,7 @@ export class DocumentManager {
let doc = Doc.GetProto(docDelegate);
const contextDoc = await Cast(doc.annotationOn, Doc);
if (contextDoc) {
- contextDoc.scrollY = NumCast(doc.y) - NumCast(contextDoc.height) / 2;
+ contextDoc.scrollY = NumCast(doc.y) - NumCast(contextDoc.height) / 2 * 72 / 96;
}
let docView: DocumentView | null;
@@ -171,9 +172,17 @@ export class DocumentManager {
} else {
let contextView: DocumentView | null;
Doc.BrushDoc(docDelegate);
- if (!forceDockFunc && (contextView = DocumentManager.Instance.getDocumentView(contextDoc))) {
+ let contextViews = DocumentManager.Instance.getDocumentViews(contextDoc);
+ if (!forceDockFunc && contextViews.length) {
+ contextView = contextViews[0];
+ SelectionManager.SelectDoc(contextView, false); // force unrendered annotations to be created
contextDoc.panTransformType = "Ease";
- contextView.props.focus(docDelegate, willZoom);
+ setTimeout(() => {
+ SelectionManager.DeselectDoc(contextView!);
+ docView = DocumentManager.Instance.getDocumentView(docDelegate);
+ docView && contextView!.props.focus(contextView!.props.Document, willZoom);
+ docView && UndoManager.RunInBatch(() => docView!.props.focus(docView!.props.Document, willZoom), "focus");
+ }, 0);
} else {
(dockFunc || CollectionDockingView.AddRightSplit)(contextDoc, undefined);
setTimeout(() => {
diff --git a/src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx b/src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx
index 98730fe13..eb40e0bcb 100644
--- a/src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx
+++ b/src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx
@@ -403,7 +403,7 @@ export class CollectionFreeFormView extends CollectionSubView(PanZoomDocument) {
SelectionManager.DeselectAll();
if (this.props.Document.scrollHeight) {
let annotOn = Cast(doc.annotationOn, Doc) as Doc;
- let offset = annotOn && (NumCast(annotOn.height) / 2);
+ let offset = annotOn && (NumCast(annotOn.height) / 2 * 72 / 96);
this.props.Document.scrollY = NumCast(doc.y) - offset;
} else {
const newPanX = NumCast(doc.x) + NumCast(doc.width) / 2;