@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
23 lines • 2.69 kB
JavaScript
export class IPointerEvent {
constructor(event, target) {
this.event = event;
this.target = target;
this.event = event;
}
get originalEvent() {
return this.event;
}
get targetElement() {
return this.target || this.originalEvent.target;
}
setTarget(target) {
this.target = target;
}
preventDefault() {
this.originalEvent.preventDefault();
}
get isEventInLockedContext() {
return this.targetElement.closest('[fLockedContext]') !== null;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1wb2ludGVyLWV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1kcmFnLXRvb2xraXQvc3JjL3BvaW50ZXItZXZlbnRzL2ktcG9pbnRlci1ldmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQWdCLGFBQWE7SUFVakMsWUFBdUMsS0FBZ0MsRUFBVSxNQUFvQjtRQUE5RCxVQUFLLEdBQUwsS0FBSyxDQUEyQjtRQUFVLFdBQU0sR0FBTixNQUFNLENBQWM7UUFDbkcsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQVZELElBQVcsYUFBYTtRQUN0QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQVcsYUFBYTtRQUN0QixPQUFPLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFxQixDQUFDO0lBQ2pFLENBQUM7SUFNTSxTQUFTLENBQUMsTUFBbUI7UUFDbEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQU1NLGNBQWM7UUFDbkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBSUQsSUFBVyxzQkFBc0I7UUFDL0IsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLElBQUksQ0FBQztJQUNqRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgYWJzdHJhY3QgY2xhc3MgSVBvaW50ZXJFdmVudCB7XG5cbiAgcHVibGljIGdldCBvcmlnaW5hbEV2ZW50KCk6IChNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCkge1xuICAgIHJldHVybiB0aGlzLmV2ZW50O1xuICB9XG5cbiAgcHVibGljIGdldCB0YXJnZXRFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy50YXJnZXQgfHwgdGhpcy5vcmlnaW5hbEV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgfVxuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGV2ZW50OiAoTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpLCBwcml2YXRlIHRhcmdldD86IEhUTUxFbGVtZW50KSB7XG4gICAgdGhpcy5ldmVudCA9IGV2ZW50O1xuICB9XG5cbiAgcHVibGljIHNldFRhcmdldCh0YXJnZXQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgdGhpcy50YXJnZXQgPSB0YXJnZXQ7XG4gIH1cblxuICBwdWJsaWMgYWJzdHJhY3QgaXNNb3VzZUxlZnRCdXR0b24oKTogYm9vbGVhbjtcblxuICBwdWJsaWMgYWJzdHJhY3QgaXNNb3VzZVJpZ2h0QnV0dG9uKCk6IGJvb2xlYW47XG5cbiAgcHVibGljIHByZXZlbnREZWZhdWx0KCk6IHZvaWQge1xuICAgIHRoaXMub3JpZ2luYWxFdmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICB9XG5cbiAgcHVibGljIGFic3RyYWN0IGdldFBvc2l0aW9uKCk6IHsgeDogbnVtYmVyLCB5OiBudW1iZXIgfTtcblxuICBwdWJsaWMgZ2V0IGlzRXZlbnRJbkxvY2tlZENvbnRleHQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudGFyZ2V0RWxlbWVudC5jbG9zZXN0KCdbZkxvY2tlZENvbnRleHRdJykgIT09IG51bGw7XG4gIH1cbn1cbiJdfQ==