Browse Source

Fix laggy sorter

pull/2524/head
Artur Arseniev 7 years ago
parent
commit
d989348669
  1. 14
      src/commands/view/SelectComponent.js
  2. 6
      src/style_manager/view/PropertyView.js
  3. 2
      src/utils/Sorter.js

14
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, {});

6
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);
}

2
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);

Loading…
Cancel
Save