From d72a010e0da7d5e5395084f6bdc7ee1ba9e7088b Mon Sep 17 00:00:00 2001 From: Artur Arseniev Date: Thu, 24 Jan 2019 13:43:04 +0100 Subject: [PATCH] Hide canvas tools on zoom --- src/canvas/view/CanvasView.js | 6 ++++++ src/commands/view/SelectComponent.js | 9 +++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/canvas/view/CanvasView.js b/src/canvas/view/CanvasView.js index 1e8f545a8..250e1fd7f 100644 --- a/src/canvas/view/CanvasView.js +++ b/src/canvas/view/CanvasView.js @@ -2,6 +2,7 @@ import Backbone from 'backbone'; import { on, off, getElement } from 'utils/mixins'; const FrameView = require('./FrameView'); const $ = Backbone.$; +let timerZoom; module.exports = Backbone.View.extend({ events: { @@ -35,9 +36,14 @@ module.exports = Backbone.View.extend({ }, onZoomChange() { + const { em } = this; + const defOpts = { preserveSelected: 1 }; this.frame.el.style.transform = `scale(${this.getZoom()})`; this.clearOff(); this.onFrameScroll(); + em.stopDefault(defOpts); + timerZoom && clearTimeout(timerZoom); + timerZoom = setTimeout(() => em.runDefault(defOpts)); }, getZoom() { diff --git a/src/commands/view/SelectComponent.js b/src/commands/view/SelectComponent.js index 3578480dc..db4b4a5c7 100644 --- a/src/commands/view/SelectComponent.js +++ b/src/commands/view/SelectComponent.js @@ -106,8 +106,8 @@ module.exports = { * @param {Object} e * @private */ - onOut(e) { - e.stopPropagation(); + onOut(ev) { + ev && ev.stopPropagation(); this.hideBadge(); this.hideHighlighter(); this.hideElementOffset(); @@ -138,7 +138,8 @@ module.exports = { * @param {Object} pos */ hideElementOffset(el, pos) { - this.editor.stopCommand('show-offset'); + const { editor } = this; + editor && editor.stopCommand('show-offset'); }, /** @@ -669,7 +670,7 @@ module.exports = { this.stopSelectComponent(); !opts.preserveSelected && em.setSelected(null); this.clean(); - this.hideBadge(); + this.onOut(); this.hideFixedElementOffset(); this.canvas.getToolbarEl().style.display = 'none';