Browse Source

Cleanup lockedAxis logic (#6497)

* refactor: update ComponentDrag to use command reference in event props

* fix: pass event to opts in onDrag method for better event handling

* refactor: remove lockedAxis handling from Dragger class for simplified drag logic
release-v0.22.7-rc.0
Carlos Rufo 1 year ago
committed by GitHub
parent
commit
d752151e6d
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 17
      packages/core/src/utils/Dragger.ts

17
packages/core/src/utils/Dragger.ts

@ -117,7 +117,6 @@ export default class Dragger {
el?: HTMLElement;
guidesStatic: Guide[];
guidesTarget: Guide[];
lockedAxis?: any;
docs: Document[];
trgX?: Guide;
trgY?: Guide;
@ -219,20 +218,6 @@ export default class Dragger {
y: currentPos.y - startPointer.y + glDiff.y,
};
this.lastScrollDiff = resetPos();
let { lockedAxis } = this;
// @ts-ignore Lock one axis
if (ev.shiftKey) {
lockedAxis = !lockedAxis && this.detectAxisLock(delta.x, delta.y);
} else {
lockedAxis = null;
}
if (lockedAxis === 'x') {
delta.x = startPointer.x;
} else if (lockedAxis === 'y') {
delta.y = startPointer.y;
}
const moveDelta = (delta: DraggerPosition) => {
xyArr.forEach((co) => (delta[co] = delta[co] * result(opts, 'scale')));
@ -242,7 +227,6 @@ export default class Dragger {
};
const deltaPre = { ...delta };
this.currentPointer = currentPos;
this.lockedAxis = lockedAxis;
this.lastScroll = this.getScrollInfo();
moveDelta(delta);
@ -351,7 +335,6 @@ export default class Dragger {
const x = cancelled ? 0 : delta.x;
const y = cancelled ? 0 : delta.y;
this.toggleDrag();
this.lockedAxis = null;
this.move(x, y, true);
const { onEnd } = this.opts;
isFunction(onEnd) && onEnd(ev, this, { cancelled });

Loading…
Cancel
Save