diff --git a/src/commands/view/SelectComponent.js b/src/commands/view/SelectComponent.js index 8506982cd..b39669bf7 100644 --- a/src/commands/view/SelectComponent.js +++ b/src/commands/view/SelectComponent.js @@ -58,7 +58,7 @@ export default { em[method]('component:toggled', this.onSelect, this); em[method]('change:componentHovered', this.onHovered, this); em[method]('component:update', this.onComponentUpdate, this); - em[method]('component:resize', this.updateAttached, this); + em[method]('component:resize', this.updateGlobalPos, this); em[method]('change:canvasOffset', this.updateAttached, this); // const body = this.getCanvasBody(); // const win = this.getContentWindow(); @@ -153,6 +153,12 @@ export default { // } }), + updateGlobalPos() { + const sel = this.getElSelected(); + sel.pos = this.getElementPos(sel.el); + this.updateToolsGlobal(); + }, + getElHovered() { return this.elHovered || {}; }, @@ -445,12 +451,12 @@ export default { // Update all positioned elements (eg. component toolbar) onMove() { - editor.trigger('change:canvasOffset'); + editor.trigger('component:resize'); }, onEnd(e, opts) { toggleBodyClass('remove', e, opts); - editor.trigger('change:canvasOffset'); + editor.trigger('component:resize'); showOffsets = 1; }, @@ -490,7 +496,7 @@ export default { modelToStyle.setStyle(style, { avoidStore: 1 }); const updateEvent = `update:component:style`; const eventToListen = `${updateEvent}:${keyHeight} ${updateEvent}:${keyWidth}`; - em && em.trigger(eventToListen); + em && em.trigger(eventToListen, null, null, { noEmit: 1 }); if (store) { modelToStyle.trigger('change:style', modelToStyle, style, {}); diff --git a/src/style_manager/view/PropertyView.js b/src/style_manager/view/PropertyView.js index 6ed8e7c1f..8a8f1e87f 100644 --- a/src/style_manager/view/PropertyView.js +++ b/src/style_manager/view/PropertyView.js @@ -206,7 +206,7 @@ export default Backbone.View.extend({ /** * Fired when the target is changed * */ - targetUpdated() { + targetUpdated(mod, val, opts = {}) { this.emitUpdateTarget(); if (!this.checkVisibility()) { @@ -244,7 +244,7 @@ export default Backbone.View.extend({ status = ''; } - model.setValue(value, 0, { fromTarget: 1 }); + model.setValue(value, 0, { fromTarget: 1, ...opts }); this.setStatus(status); if (em) { @@ -374,7 +374,7 @@ export default Backbone.View.extend({ const component = em && em.getSelected(); if (em && component) { - em.trigger('component:update', component); + !opt.noEmit && em.trigger('component:update', component); em.trigger('component:styleUpdate', component, prop); em.trigger(`component:styleUpdate:${prop}`, component); } diff --git a/src/utils/Sorter.js b/src/utils/Sorter.js index f3b859869..358ef64ee 100644 --- a/src/utils/Sorter.js +++ b/src/utils/Sorter.js @@ -333,8 +333,6 @@ export default Backbone.View.extend({ srcModel && srcModel.set && srcModel.set('status', 'freezed'); } - console.log({ src, container, docs }); - on(container, 'mousemove dragover', this.onMove); on(docs, 'mouseup dragend touchend', this.endMove); on(docs, 'keydown', this.rollback);