diff --git a/src/canvas/index.ts b/src/canvas/index.ts index 5b3076a3f..c4734fe5b 100644 --- a/src/canvas/index.ts +++ b/src/canvas/index.ts @@ -415,8 +415,15 @@ export default class CanvasModule extends Module { }; } - getTargetToElementFixed(el: any, elToMove: any, opts: any = {}) { - const pos = opts.pos || this.getElementPos(el); + /** + * + * @param {HTMLElement} el The element on which I'd attach the toolbar + * @param {HTMLElement} elToMove The target in this case could be the toolbar + * @param {Object} opts + * @private + */ + getTargetToElementFixed(el: HTMLElement, elToMove: HTMLElement, opts: any = {}) { + const pos = opts.pos || this.getElementPos(el, { noScroll: true }); const cvOff = opts.canvasOff || this.canvasRectOffset(el, pos); const toolbarH = elToMove.offsetHeight || 0; const toolbarW = elToMove.offsetWidth || 0; @@ -574,7 +581,7 @@ export default class CanvasModule extends Module { * @example * canvas.setZoom(50); // set zoom to 50% */ - setZoom(value: number|string) { + setZoom(value: number | string) { this.canvas.set('zoom', typeof value === 'string' ? parseFloat(value) : value); return this; } diff --git a/src/commands/view/SelectComponent.ts b/src/commands/view/SelectComponent.ts index c95105849..5c8d99f1e 100644 --- a/src/commands/view/SelectComponent.ts +++ b/src/commands/view/SelectComponent.ts @@ -651,7 +651,7 @@ export default { const unit = 'px'; const toolsEl = this.toggleToolsEl(1); const { style } = toolsEl; - const targetToElem = canvas.getTargetToElementFixed(el, canvas.getToolbarEl(), { pos }); + const targetToElem = canvas.getTargetToElementFixed(el, canvas.getToolbarEl()!, { pos }); const topOff = targetToElem.canvasOffsetTop; const leftOff = targetToElem.canvasOffsetLeft; style.top = topOff + unit; diff --git a/src/rich_text_editor/index.ts b/src/rich_text_editor/index.ts index fa0d883fe..ffbf6a987 100644 --- a/src/rich_text_editor/index.ts +++ b/src/rich_text_editor/index.ts @@ -305,7 +305,7 @@ export default class RichTextEditorModule extends Module