@foblex/drag-toolkit
Version:
A TypeScript library providing foundational classes and utilities for implementing drag-and-drop functionality in Angular applications, with support for both mouse and touch events, and designed to work with or without Angular’s NgZone (zoneless applicati
16 lines • 2.1 kB
JavaScript
import { IPointerEvent } from './i-pointer-event';
export class IMouseEvent extends IPointerEvent {
constructor(event, target) {
super(event, target);
}
isMouseLeftButton() {
return this.originalEvent.button === 0;
}
isMouseRightButton() {
return this.originalEvent.buttons === 2;
}
getPosition() {
return { x: this.originalEvent.clientX, y: this.originalEvent.clientY };
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1tb3VzZS1ldmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZHJhZy10b29sa2l0L3NyYy9wb2ludGVyLWV2ZW50cy9pLW1vdXNlLWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVsRCxNQUFNLE9BQU8sV0FBWSxTQUFRLGFBQWE7SUFFNUMsWUFBWSxLQUFpQixFQUFFLE1BQW9CO1FBQ2pELEtBQUssQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVNLGlCQUFpQjtRQUN0QixPQUFRLElBQUksQ0FBQyxhQUE0QixDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVNLGtCQUFrQjtRQUN2QixPQUFRLElBQUksQ0FBQyxhQUE0QixDQUFDLE9BQU8sS0FBSyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVNLFdBQVc7UUFDaEIsT0FBTyxFQUFFLENBQUMsRUFBRyxJQUFJLENBQUMsYUFBNEIsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFHLElBQUksQ0FBQyxhQUE0QixDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzFHLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludGVyRXZlbnQgfSBmcm9tICcuL2ktcG9pbnRlci1ldmVudCc7XG5cbmV4cG9ydCBjbGFzcyBJTW91c2VFdmVudCBleHRlbmRzIElQb2ludGVyRXZlbnQge1xuXG4gIGNvbnN0cnVjdG9yKGV2ZW50OiBNb3VzZUV2ZW50LCB0YXJnZXQ/OiBIVE1MRWxlbWVudCkge1xuICAgIHN1cGVyKGV2ZW50LCB0YXJnZXQpO1xuICB9XG5cbiAgcHVibGljIGlzTW91c2VMZWZ0QnV0dG9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAodGhpcy5vcmlnaW5hbEV2ZW50IGFzIE1vdXNlRXZlbnQpLmJ1dHRvbiA9PT0gMDtcbiAgfVxuXG4gIHB1YmxpYyBpc01vdXNlUmlnaHRCdXR0b24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICh0aGlzLm9yaWdpbmFsRXZlbnQgYXMgTW91c2VFdmVudCkuYnV0dG9ucyA9PT0gMjtcbiAgfVxuXG4gIHB1YmxpYyBnZXRQb3NpdGlvbigpOiB7IHg6IG51bWJlciwgeTogbnVtYmVyIH0ge1xuICAgIHJldHVybiB7IHg6ICh0aGlzLm9yaWdpbmFsRXZlbnQgYXMgTW91c2VFdmVudCkuY2xpZW50WCwgeTogKHRoaXMub3JpZ2luYWxFdmVudCBhcyBNb3VzZUV2ZW50KS5jbGllbnRZIH07XG4gIH1cbn1cbiJdfQ==