Merge pull request #16944 from calixteman/move_dom_after_position

[Editor] Move an editor in the DOM just after having moved it on the screen
This commit is contained in:
calixteman 2023-09-13 12:34:21 +02:00 committed by GitHub
commit 920e51a1e6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 12 deletions

View File

@ -377,10 +377,8 @@ class AnnotationEditorLayer {
editor.isAttachedToDOM = true;
}
// The editor must have the right position before being moved in the DOM.
// The editor will be correctly moved into the DOM (see fixAndSetPosition).
editor.fixAndSetPosition();
this.moveEditorInDOM(editor);
editor.onceAdded();
this.#uiManager.addToAnnotationStorage(editor);
}

View File

@ -340,7 +340,6 @@ class AnnotationEditor {
*/
translateInPage(x, y) {
this.#translate(this.pageDimensions, x, y);
this.moveInDOM();
this.div.scrollIntoView({ block: "nearest" });
}
@ -398,11 +397,14 @@ class AnnotationEditor {
break;
}
this.x = x / pageWidth;
this.y = y / pageHeight;
this.x = x /= pageWidth;
this.y = y /= pageHeight;
this.div.style.left = `${(100 * this.x).toFixed(2)}%`;
this.div.style.top = `${(100 * this.y).toFixed(2)}%`;
const { style } = this.div;
style.left = `${(100 * x).toFixed(2)}%`;
style.top = `${(100 * y).toFixed(2)}%`;
this.moveInDOM();
}
static #rotatePoint(x, y, angle) {
@ -600,7 +602,6 @@ class AnnotationEditor {
const [parentWidth, parentHeight] = this.parentDimensions;
this.setDims(parentWidth * newWidth, parentHeight * newHeight);
this.fixAndSetPosition();
this.moveInDOM();
},
undo: () => {
this.width = savedWidth;
@ -610,7 +611,6 @@ class AnnotationEditor {
const [parentWidth, parentHeight] = this.parentDimensions;
this.setDims(parentWidth * savedWidth, parentHeight * savedHeight);
this.fixAndSetPosition();
this.moveInDOM();
},
mustExec: true,
});
@ -856,7 +856,7 @@ class AnnotationEditor {
}
moveInDOM() {
this.parent.moveEditorInDOM(this);
this.parent?.moveEditorInDOM(this);
}
_setParentAndPosition(parent, x, y) {
@ -864,7 +864,6 @@ class AnnotationEditor {
this.x = x;
this.y = y;
this.fixAndSetPosition();
this.moveInDOM();
}
/**