Browse Source

Skip component resizer if already enabled #5753

pull/5762/head
Artur Arseniev 3 years ago
parent
commit
e70769f2fb
  1. 16
      src/commands/view/SelectComponent.ts

16
src/commands/view/SelectComponent.ts

@ -30,6 +30,8 @@ let showOffsets: boolean;
* *
*/ */
export default { export default {
activeResizer: false,
init() { init() {
this.onSelect = debounce(this.onSelect, 0); this.onSelect = debounce(this.onSelect, 0);
bindAll( bindAll(
@ -396,12 +398,17 @@ export default {
...resizableOpts ...resizableOpts
} = isObject(resizable) ? resizable : {}; } = isObject(resizable) ? resizable : {};
if (hasCustomResize || !el) return; if (hasCustomResize || !el || this.activeResizer) return;
let modelToStyle: any; let modelToStyle: any;
const { config } = em; const { config } = em;
const pfx = config.stylePrefix || ''; const pfx = config.stylePrefix || '';
const resizeClass = `${pfx}resizing`; const resizeClass = `${pfx}resizing`;
const self = this;
const resizeEventOpts = {
component: model,
el,
};
const toggleBodyClass = (method: string, e: any, opts: any) => { const toggleBodyClass = (method: string, e: any, opts: any) => {
const docs = opts.docs; const docs = opts.docs;
@ -445,20 +452,23 @@ export default {
config.unitHeight = getUnitFromValue(currentHeight); config.unitHeight = getUnitFromValue(currentHeight);
config.unitWidth = getUnitFromValue(currentWidth); config.unitWidth = getUnitFromValue(currentWidth);
} }
self.activeResizer = true;
editor.trigger('component:resize', { ...resizeEventOpts, type: 'start' });
}, },
// Update all positioned elements (eg. component toolbar) // Update all positioned elements (eg. component toolbar)
onMove(ev) { onMove(ev) {
onMove(ev); onMove(ev);
editor.trigger('component:resize'); editor.trigger('component:resize', { ...resizeEventOpts, type: 'move' });
}, },
onEnd(ev, opts) { onEnd(ev, opts) {
onEnd(ev, opts); onEnd(ev, opts);
toggleBodyClass('remove', ev, opts); toggleBodyClass('remove', ev, opts);
editor.trigger('component:resize'); editor.trigger('component:resize', { ...resizeEventOpts, type: 'end' });
canvas.toggleFramesEvents(true); canvas.toggleFramesEvents(true);
showOffsets = true; showOffsets = true;
self.activeResizer = false;
}, },
updateTarget(el, rect, options) { updateTarget(el, rect, options) {

Loading…
Cancel
Save