UNPKG

@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

25 lines 3.16 kB
import { IPointerEvent } from './i-pointer-event'; export class IPointerUpEvent extends IPointerEvent { constructor(event, target) { super(event, target); } isMouseLeftButton() { const evt = this.originalEvent; return evt.pointerType === 'mouse' && evt.button === 0; } isMouseRightButton() { const evt = this.originalEvent; return evt.pointerType === 'mouse' && evt.button === 2; } getPosition() { const evt = this.originalEvent; return { x: evt.clientX, y: evt.clientY }; } getPointerType() { return this.originalEvent.pointerType; } getPointerId() { return this.originalEvent.pointerId; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1wb2ludGVyLXVwLWV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1kcmFnLXRvb2xraXQvc3JjL3BvaW50ZXItZXZlbnRzL2ktcG9pbnRlci11cC1ldmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbEQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsYUFBYTtJQUVoRCxZQUFZLEtBQW1CLEVBQUUsTUFBb0I7UUFDbkQsS0FBSyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRU0saUJBQWlCO1FBQ3RCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxhQUE2QixDQUFDO1FBQy9DLE9BQU8sR0FBRyxDQUFDLFdBQVcsS0FBSyxPQUFPLElBQUksR0FBRyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVNLGtCQUFrQjtRQUN2QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsYUFBNkIsQ0FBQztRQUMvQyxPQUFPLEdBQUcsQ0FBQyxXQUFXLEtBQUssT0FBTyxJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFTSxXQUFXO1FBQ2hCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxhQUE2QixDQUFDO1FBQy9DLE9BQU8sRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFFTSxjQUFjO1FBQ25CLE9BQVEsSUFBSSxDQUFDLGFBQThCLENBQUMsV0FBVyxDQUFDO0lBQzFELENBQUM7SUFFTSxZQUFZO1FBQ2pCLE9BQVEsSUFBSSxDQUFDLGFBQThCLENBQUMsU0FBUyxDQUFDO0lBQ3hELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludGVyRXZlbnQgfSBmcm9tICcuL2ktcG9pbnRlci1ldmVudCc7XG5cbmV4cG9ydCBjbGFzcyBJUG9pbnRlclVwRXZlbnQgZXh0ZW5kcyBJUG9pbnRlckV2ZW50IHtcblxuICBjb25zdHJ1Y3RvcihldmVudDogUG9pbnRlckV2ZW50LCB0YXJnZXQ/OiBIVE1MRWxlbWVudCkge1xuICAgIHN1cGVyKGV2ZW50LCB0YXJnZXQpO1xuICB9XG5cbiAgcHVibGljIGlzTW91c2VMZWZ0QnV0dG9uKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGV2dCA9IHRoaXMub3JpZ2luYWxFdmVudCBhcyBQb2ludGVyRXZlbnQ7XG4gICAgcmV0dXJuIGV2dC5wb2ludGVyVHlwZSA9PT0gJ21vdXNlJyAmJiBldnQuYnV0dG9uID09PSAwO1xuICB9XG5cbiAgcHVibGljIGlzTW91c2VSaWdodEJ1dHRvbigpOiBib29sZWFuIHtcbiAgICBjb25zdCBldnQgPSB0aGlzLm9yaWdpbmFsRXZlbnQgYXMgUG9pbnRlckV2ZW50O1xuICAgIHJldHVybiBldnQucG9pbnRlclR5cGUgPT09ICdtb3VzZScgJiYgZXZ0LmJ1dHRvbiA9PT0gMjtcbiAgfVxuXG4gIHB1YmxpYyBnZXRQb3NpdGlvbigpOiB7IHg6IG51bWJlciwgeTogbnVtYmVyIH0ge1xuICAgIGNvbnN0IGV2dCA9IHRoaXMub3JpZ2luYWxFdmVudCBhcyBQb2ludGVyRXZlbnQ7XG4gICAgcmV0dXJuIHsgeDogZXZ0LmNsaWVudFgsIHk6IGV2dC5jbGllbnRZIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0UG9pbnRlclR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKHRoaXMub3JpZ2luYWxFdmVudCBhcyBQb2ludGVyRXZlbnQpLnBvaW50ZXJUeXBlO1xuICB9XG5cbiAgcHVibGljIGdldFBvaW50ZXJJZCgpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5vcmlnaW5hbEV2ZW50IGFzIFBvaW50ZXJFdmVudCkucG9pbnRlcklkO1xuICB9XG59XG4iXX0=