diff --git a/src/commands/view/SelectComponent.js b/src/commands/view/SelectComponent.js index 53a62af81..11f21149e 100644 --- a/src/commands/view/SelectComponent.js +++ b/src/commands/view/SelectComponent.js @@ -97,6 +97,7 @@ export default { ); em[method]('change:canvasOffset', this.updateAttached, this); em[method]('frame:updated', this.onFrameUpdated, this); + em[method]('canvas:updateTools', this.onFrameUpdated, this); em.get('Canvas') .getFrames() .forEach(frame => { diff --git a/src/editor/index.js b/src/editor/index.js index edad5c85f..0c513acaa 100644 --- a/src/editor/index.js +++ b/src/editor/index.js @@ -490,8 +490,8 @@ export default (config = {}) => { * * @private */ - refresh() { - em.refreshCanvas(); + refresh(opts) { + em.refreshCanvas(opts); }, /** diff --git a/src/editor/model/Editor.js b/src/editor/model/Editor.js index a8cbc612a..553139f42 100644 --- a/src/editor/model/Editor.js +++ b/src/editor/model/Editor.js @@ -614,9 +614,10 @@ export default Backbone.Model.extend({ * Update canvas dimensions and refresh data useful for tools positioning * @private */ - refreshCanvas() { + refreshCanvas(opts = {}) { this.set('canvasOffset', null); this.set('canvasOffset', this.get('Canvas').getOffset()); + opts.tools && this.trigger('canvas:updateTools'); }, /**