From 7c3a86ed6e38864eccf638b9fe1550b618fc8e57 Mon Sep 17 00:00:00 2001 From: Artur Arseniev Date: Fri, 21 Feb 2025 14:49:50 +0400 Subject: [PATCH] Cleanup listeners --- packages/core/src/canvas/view/CanvasView.ts | 1 + packages/core/src/canvas/view/FrameWrapView.ts | 6 +++--- packages/core/src/commands/view/SelectComponent.ts | 1 + packages/core/src/editor/model/Editor.ts | 2 +- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/core/src/canvas/view/CanvasView.ts b/packages/core/src/canvas/view/CanvasView.ts index f8a3b86da..c88753c1a 100644 --- a/packages/core/src/canvas/view/CanvasView.ts +++ b/packages/core/src/canvas/view/CanvasView.ts @@ -270,6 +270,7 @@ export default class CanvasView extends ModuleView { fitViewport(opts: FitViewportOptions = {}) { const { em, module, model } = this; + this.clearOff(); const canvasRect = this.getCanvasOffset(); const { el } = opts; const elFrame = el && getComponentView(el)?.frameView; diff --git a/packages/core/src/canvas/view/FrameWrapView.ts b/packages/core/src/canvas/view/FrameWrapView.ts index 670a6b31b..ca8c0b12a 100644 --- a/packages/core/src/canvas/view/FrameWrapView.ts +++ b/packages/core/src/canvas/view/FrameWrapView.ts @@ -76,6 +76,7 @@ export default class FrameWrapView extends ModuleView { } remove(opts?: any) { + this.sizeObserver?.disconnect(); this.__clear(opts); ModuleView.prototype.remove.apply(this, opts); //@ts-ignore @@ -150,7 +151,7 @@ export default class FrameWrapView extends ModuleView { __handleSize() { const un = 'px'; - const { model, el } = this; + const { model, el, em } = this; const { style } = el; const { width, height } = model.attributes; const currW = style.width || ''; @@ -161,6 +162,7 @@ export default class FrameWrapView extends ModuleView { const newWidth = isNumber(newW) ? `${newW}${un}` : newW; const newHeight = isNumber(newH) ? `${newH}${un}` : newH; style.width = newWidth; + this.sizeObserver?.disconnect(); if (model.hasAutoHeight()) { const iframe = this.frame.el; @@ -175,12 +177,10 @@ export default class FrameWrapView extends ModuleView { style.height = `${contentDocument.body.scrollHeight}px`; }); observer.observe(contentDocument.body); - this.sizeObserver?.disconnect(); this.sizeObserver = observer; } } else { style.height = newHeight; - this.sizeObserver?.disconnect(); delete this.sizeObserver; } diff --git a/packages/core/src/commands/view/SelectComponent.ts b/packages/core/src/commands/view/SelectComponent.ts index cfafd661c..0c4b29285 100644 --- a/packages/core/src/commands/view/SelectComponent.ts +++ b/packages/core/src/commands/view/SelectComponent.ts @@ -800,6 +800,7 @@ export default { this.stopSelectComponent(); !opts.preserveSelected && em.setSelected(); this.toggleToolsEl(); + this.updateAttached.cancel(); editor && editor.stopCommand('resize'); }, } as CommandObject; diff --git a/packages/core/src/editor/model/Editor.ts b/packages/core/src/editor/model/Editor.ts index 1c9918a60..e7787b0d4 100644 --- a/packages/core/src/editor/model/Editor.ts +++ b/packages/core/src/editor/model/Editor.ts @@ -110,9 +110,9 @@ export default class EditorModel extends Model { device: '', }; } - Model = Model; Collection = Collection; + events = EditorEvents; __skip = false; defaultRunning = false; destroyed = false;