angular2gridsterv3
Version:
54 lines • 7.58 kB
JavaScript
export class DraggableEvent {
constructor(event) {
if (event.touches) {
this.touchEvent = event;
this.setDataFromTouchEvent(this.touchEvent);
}
else {
this.mouseEvent = event;
this.setDataFromMouseEvent(this.mouseEvent);
}
}
isTouchEvent() {
return !!this.touchEvent;
}
pauseEvent() {
const event = this.touchEvent || this.mouseEvent;
if (event.stopPropagation) {
event.stopPropagation();
}
if (event.preventDefault) {
event.preventDefault();
}
event.cancelBubble = true;
event.returnValue = false;
return false;
}
getRelativeCoordinates(container) {
const scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;
const scrollLeft = window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft;
const rect = container.getBoundingClientRect();
return {
x: this.pageX - rect.left - scrollLeft,
y: this.pageY - rect.top - scrollTop,
};
}
setDataFromMouseEvent(event) {
this.target = event.target;
this.clientX = event.clientX;
this.clientY = event.clientY;
this.pageX = event.pageX;
this.pageY = event.pageY;
this.type = event.type;
}
setDataFromTouchEvent(event) {
const touch = event.touches[0] || event.changedTouches[0];
this.target = event.target;
this.clientX = touch.clientX;
this.clientY = touch.clientY;
this.pageX = touch.pageX;
this.pageY = touch.pageY;
this.type = event.type;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHJhZ2dhYmxlRXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyMmdyaWRzdGVydjMvc3JjL2xpYi91dGlscy9EcmFnZ2FibGVFdmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sY0FBYztJQWtCdkIsWUFBWSxLQUFVO1FBQ2xCLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUNmLElBQUksQ0FBQyxVQUFVLEdBQWdCLEtBQU0sQ0FBQztZQUN0QyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQy9DO2FBQU07WUFDSCxJQUFJLENBQUMsVUFBVSxHQUFnQixLQUFNLENBQUM7WUFDdEMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUMvQztJQUNMLENBQUM7SUFFRCxZQUFZO1FBQ1IsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUM3QixDQUFDO0lBRUQsVUFBVTtRQUNOLE1BQU0sS0FBSyxHQUFVLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUV4RCxJQUFJLEtBQUssQ0FBQyxlQUFlLEVBQUU7WUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQzNCO1FBQ0QsSUFBSSxLQUFLLENBQUMsY0FBYyxFQUFFO1lBQ3RCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUMxQjtRQUNELEtBQUssQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQzFCLEtBQUssQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQzFCLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxTQUFzQjtRQUN6QyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsV0FBVyxJQUFJLFFBQVEsQ0FBQyxlQUFlLENBQUMsU0FBUyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ3RHLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLElBQUksUUFBUSxDQUFDLGVBQWUsQ0FBQyxVQUFVLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7UUFFekcsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFFL0MsT0FBTztZQUNILENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsVUFBVTtZQUN0QyxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxHQUFHLFNBQVM7U0FDdkMsQ0FBQztJQUNOLENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxLQUFpQjtRQUMzQyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDM0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQzdCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUM3QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztJQUMzQixDQUFDO0lBRU8scUJBQXFCLENBQUMsS0FBaUI7UUFDM0MsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTFELElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUMzQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDN0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQzdCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO0lBRTNCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBEcmFnZ2FibGVFdmVudCB7XHJcbiAgICBjbGllbnRYOiBudW1iZXI7XHJcblxyXG4gICAgY2xpZW50WTogbnVtYmVyO1xyXG5cclxuICAgIHBhZ2VYOiBudW1iZXI7XHJcblxyXG4gICAgcGFnZVk6IG51bWJlcjtcclxuXHJcbiAgICB0YXJnZXQ6IGFueTtcclxuXHJcbiAgICB0eXBlOiBzdHJpbmc7XHJcblxyXG5cclxuICAgIHByaXZhdGUgdG91Y2hFdmVudDogVG91Y2hFdmVudDtcclxuXHJcbiAgICBwcml2YXRlIG1vdXNlRXZlbnQ6IE1vdXNlRXZlbnQ7XHJcblxyXG4gICAgY29uc3RydWN0b3IoZXZlbnQ6IGFueSkge1xyXG4gICAgICAgIGlmIChldmVudC50b3VjaGVzKSB7XHJcbiAgICAgICAgICAgIHRoaXMudG91Y2hFdmVudCA9ICg8VG91Y2hFdmVudD5ldmVudCk7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0RGF0YUZyb21Ub3VjaEV2ZW50KHRoaXMudG91Y2hFdmVudCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5tb3VzZUV2ZW50ID0gKDxNb3VzZUV2ZW50PmV2ZW50KTtcclxuICAgICAgICAgICAgdGhpcy5zZXREYXRhRnJvbU1vdXNlRXZlbnQodGhpcy5tb3VzZUV2ZW50KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaXNUb3VjaEV2ZW50KCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiAhIXRoaXMudG91Y2hFdmVudDtcclxuICAgIH1cclxuXHJcbiAgICBwYXVzZUV2ZW50KCkge1xyXG4gICAgICAgIGNvbnN0IGV2ZW50OiBFdmVudCA9IHRoaXMudG91Y2hFdmVudCB8fCB0aGlzLm1vdXNlRXZlbnQ7XHJcblxyXG4gICAgICAgIGlmIChldmVudC5zdG9wUHJvcGFnYXRpb24pIHtcclxuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChldmVudC5wcmV2ZW50RGVmYXVsdCkge1xyXG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBldmVudC5jYW5jZWxCdWJibGUgPSB0cnVlO1xyXG4gICAgICAgIGV2ZW50LnJldHVyblZhbHVlID0gZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFJlbGF0aXZlQ29vcmRpbmF0ZXMoY29udGFpbmVyOiBIVE1MRWxlbWVudCk6IHt4OiBudW1iZXIsIHk6IG51bWJlcn0ge1xyXG4gICAgICAgIGNvbnN0IHNjcm9sbFRvcCA9IHdpbmRvdy5wYWdlWU9mZnNldCB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIHx8IGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wO1xyXG4gICAgICAgIGNvbnN0IHNjcm9sbExlZnQgPSB3aW5kb3cucGFnZVhPZmZzZXQgfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQgfHwgZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0O1xyXG5cclxuICAgICAgICBjb25zdCByZWN0ID0gY29udGFpbmVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG5cclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICB4OiB0aGlzLnBhZ2VYIC0gcmVjdC5sZWZ0IC0gc2Nyb2xsTGVmdCxcclxuICAgICAgICAgICAgeTogdGhpcy5wYWdlWSAtIHJlY3QudG9wIC0gc2Nyb2xsVG9wLFxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzZXREYXRhRnJvbU1vdXNlRXZlbnQoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnRhcmdldCA9IGV2ZW50LnRhcmdldDtcclxuICAgICAgICB0aGlzLmNsaWVudFggPSBldmVudC5jbGllbnRYO1xyXG4gICAgICAgIHRoaXMuY2xpZW50WSA9IGV2ZW50LmNsaWVudFk7XHJcbiAgICAgICAgdGhpcy5wYWdlWCA9IGV2ZW50LnBhZ2VYO1xyXG4gICAgICAgIHRoaXMucGFnZVkgPSBldmVudC5wYWdlWTtcclxuICAgICAgICB0aGlzLnR5cGUgPSBldmVudC50eXBlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc2V0RGF0YUZyb21Ub3VjaEV2ZW50KGV2ZW50OiBUb3VjaEV2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgdG91Y2ggPSBldmVudC50b3VjaGVzWzBdIHx8IGV2ZW50LmNoYW5nZWRUb3VjaGVzWzBdO1xyXG5cclxuICAgICAgICB0aGlzLnRhcmdldCA9IGV2ZW50LnRhcmdldDtcclxuICAgICAgICB0aGlzLmNsaWVudFggPSB0b3VjaC5jbGllbnRYO1xyXG4gICAgICAgIHRoaXMuY2xpZW50WSA9IHRvdWNoLmNsaWVudFk7XHJcbiAgICAgICAgdGhpcy5wYWdlWCA9IHRvdWNoLnBhZ2VYO1xyXG4gICAgICAgIHRoaXMucGFnZVkgPSB0b3VjaC5wYWdlWTtcclxuICAgICAgICB0aGlzLnR5cGUgPSBldmVudC50eXBlO1xyXG5cclxuICAgIH1cclxufVxyXG4iXX0=