ngx-resizable-touch
Version:
A Resizable Split-Pane Layout for Angular6+
105 lines • 8.25 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Directive, Output, EventEmitter, HostListener } from '@angular/core';
export class DragDirective {
constructor() {
this.DragStart = new EventEmitter();
this.Drag = new EventEmitter();
this.DragEnd = new EventEmitter();
this.dragging = false;
}
/**
* @param {?} e
* @return {?}
*/
onMousedown(e) {
if (e.which === 1) {
this.dragging = true;
this.DragStart.emit({ x: e.clientX, y: e.clientY });
}
}
/**
* @param {?} e
* @return {?}
*/
onTouchstart(e) {
/** @type {?} */
const touch = e.touches[0];
this.dragging = true;
this.DragStart.emit({ x: touch.clientX, y: touch.clientY });
}
/**
* @param {?} e
* @return {?}
*/
onMouseup(e) {
if (this.dragging) {
this.DragEnd.emit({ x: e.clientX, y: e.clientY });
}
this.dragging = false;
}
/**
* @param {?} e
* @return {?}
*/
onTouchend(e) {
if (this.dragging) {
/** @type {?} */
const touch = e.changedTouches[0];
this.DragEnd.emit({ x: touch.clientX, y: touch.clientY });
}
this.dragging = false;
}
/**
* @param {?} e
* @return {?}
*/
onMousemove(e) {
if (this.dragging) {
this.Drag.emit({ x: e.clientX, y: e.clientY });
}
}
/**
* @param {?} e
* @return {?}
*/
onTouchmove(e) {
if (this.dragging) {
/** @type {?} */
const touch = e.touches[0];
this.Drag.emit({ x: touch.clientX, y: touch.clientY });
}
}
}
DragDirective.decorators = [
{ type: Directive, args: [{
selector: '[rszDragHandle]'
},] }
];
DragDirective.propDecorators = {
DragStart: [{ type: Output }],
Drag: [{ type: Output }],
DragEnd: [{ type: Output }],
onMousedown: [{ type: HostListener, args: ['mousedown', ['$event'],] }],
onTouchstart: [{ type: HostListener, args: ['touchstart', ['$event'],] }],
onMouseup: [{ type: HostListener, args: ['document:mouseup', ['$event'],] }],
onTouchend: [{ type: HostListener, args: ['document:touchend', ['$event'],] }, { type: HostListener, args: ['document:touchcancel', ['$event'],] }],
onMousemove: [{ type: HostListener, args: ['document:mousemove', ['$event'],] }],
onTouchmove: [{ type: HostListener, args: ['document:touchmove', ['$event'],] }]
};
if (false) {
/** @type {?} */
DragDirective.prototype.DragStart;
/** @type {?} */
DragDirective.prototype.Drag;
/** @type {?} */
DragDirective.prototype.DragEnd;
/**
* @type {?}
* @private
*/
DragDirective.prototype.dragging;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtcmVzaXphYmxlLXRvdWNoLyIsInNvdXJjZXMiOlsibGliL3Jlc2l6YWJsZS9kcmFnLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU85RSxNQUFNLE9BQU8sYUFBYTtJQUgxQjtRQUtZLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBUyxDQUFDO1FBQ3RDLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBUyxDQUFDO1FBQ2pDLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBUyxDQUFDO1FBRXRDLGFBQVEsR0FBRyxLQUFLLENBQUM7SUE4QzNCLENBQUM7Ozs7O0lBM0NDLFdBQVcsQ0FBQyxDQUFhO1FBQ3ZCLElBQUksQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLEVBQUU7WUFDakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7U0FDckQ7SUFDSCxDQUFDOzs7OztJQUVELFlBQVksQ0FBQyxDQUFhOztjQUNsQixLQUFLLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDOUQsQ0FBQzs7Ozs7SUFHRCxTQUFTLENBQUMsQ0FBYTtRQUNyQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7U0FDbkQ7UUFDRCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDOzs7OztJQUdELFVBQVUsQ0FBQyxDQUFhO1FBQ3RCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTs7a0JBQ1gsS0FBSyxHQUFHLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1NBQzNEO1FBQ0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQzs7Ozs7SUFHRCxXQUFXLENBQUMsQ0FBYTtRQUN2QixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7U0FDaEQ7SUFDSCxDQUFDOzs7OztJQUVELFdBQVcsQ0FBQyxDQUFhO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTs7a0JBQ1gsS0FBSyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1NBQ3hEO0lBQ0gsQ0FBQzs7O1lBdERGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsaUJBQWlCO2FBQzVCOzs7d0JBR0UsTUFBTTttQkFDTixNQUFNO3NCQUNOLE1BQU07MEJBSU4sWUFBWSxTQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQzsyQkFPcEMsWUFBWSxTQUFDLFlBQVksRUFBRSxDQUFDLFFBQVEsQ0FBQzt3QkFPckMsWUFBWSxTQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDO3lCQU8zQyxZQUFZLFNBQUMsbUJBQW1CLEVBQUUsQ0FBQyxRQUFRLENBQUMsY0FDNUMsWUFBWSxTQUFDLHNCQUFzQixFQUFFLENBQUMsUUFBUSxDQUFDOzBCQVMvQyxZQUFZLFNBQUMsb0JBQW9CLEVBQUUsQ0FBQyxRQUFRLENBQUM7MEJBTTdDLFlBQVksU0FBQyxvQkFBb0IsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7OztJQTNDOUMsa0NBQWdEOztJQUNoRCw2QkFBMkM7O0lBQzNDLGdDQUE4Qzs7Ozs7SUFFOUMsaUNBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCB0eXBlIFBvaW50ID0ge3g6IG51bWJlciwgeTogbnVtYmVyfTtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3JzekRyYWdIYW5kbGVdJ1xufSlcbmV4cG9ydCBjbGFzcyBEcmFnRGlyZWN0aXZlIHtcblxuICBAT3V0cHV0KCkgRHJhZ1N0YXJ0ID0gbmV3IEV2ZW50RW1pdHRlcjxQb2ludD4oKTtcbiAgQE91dHB1dCgpIERyYWcgPSBuZXcgRXZlbnRFbWl0dGVyPFBvaW50PigpO1xuICBAT3V0cHV0KCkgRHJhZ0VuZCA9IG5ldyBFdmVudEVtaXR0ZXI8UG9pbnQ+KCk7XG5cbiAgcHJpdmF0ZSBkcmFnZ2luZyA9IGZhbHNlO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlZG93bicsIFsnJGV2ZW50J10pXG4gIG9uTW91c2Vkb3duKGU6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAoZS53aGljaCA9PT0gMSkge1xuICAgICAgdGhpcy5kcmFnZ2luZyA9IHRydWU7XG4gICAgICB0aGlzLkRyYWdTdGFydC5lbWl0KHsgeDogZS5jbGllbnRYLCB5OiBlLmNsaWVudFkgfSk7XG4gICAgfVxuICB9XG4gIEBIb3N0TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCBbJyRldmVudCddKVxuICBvblRvdWNoc3RhcnQoZTogVG91Y2hFdmVudCkge1xuICAgIGNvbnN0IHRvdWNoID0gZS50b3VjaGVzWzBdO1xuICAgIHRoaXMuZHJhZ2dpbmcgPSB0cnVlO1xuICAgIHRoaXMuRHJhZ1N0YXJ0LmVtaXQoeyB4OiB0b3VjaC5jbGllbnRYLCB5OiB0b3VjaC5jbGllbnRZIH0pO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6bW91c2V1cCcsIFsnJGV2ZW50J10pXG4gIG9uTW91c2V1cChlOiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKHRoaXMuZHJhZ2dpbmcpIHtcbiAgICAgIHRoaXMuRHJhZ0VuZC5lbWl0KHsgeDogZS5jbGllbnRYLCB5OiBlLmNsaWVudFkgfSk7XG4gICAgfVxuICAgIHRoaXMuZHJhZ2dpbmcgPSBmYWxzZTtcbiAgfVxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDp0b3VjaGVuZCcsIFsnJGV2ZW50J10pXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OnRvdWNoY2FuY2VsJywgWyckZXZlbnQnXSlcbiAgb25Ub3VjaGVuZChlOiBUb3VjaEV2ZW50KSB7XG4gICAgaWYgKHRoaXMuZHJhZ2dpbmcpIHtcbiAgICAgIGNvbnN0IHRvdWNoID0gZS5jaGFuZ2VkVG91Y2hlc1swXTtcbiAgICAgIHRoaXMuRHJhZ0VuZC5lbWl0KHsgeDogdG91Y2guY2xpZW50WCwgeTogdG91Y2guY2xpZW50WSB9KTtcbiAgICB9XG4gICAgdGhpcy5kcmFnZ2luZyA9IGZhbHNlO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6bW91c2Vtb3ZlJywgWyckZXZlbnQnXSlcbiAgb25Nb3VzZW1vdmUoZTogTW91c2VFdmVudCkge1xuICAgIGlmICh0aGlzLmRyYWdnaW5nKSB7XG4gICAgICB0aGlzLkRyYWcuZW1pdCh7IHg6IGUuY2xpZW50WCwgeTogZS5jbGllbnRZIH0pO1xuICAgIH1cbiAgfVxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDp0b3VjaG1vdmUnLCBbJyRldmVudCddKVxuICBvblRvdWNobW92ZShlOiBUb3VjaEV2ZW50KSB7XG4gICAgaWYgKHRoaXMuZHJhZ2dpbmcpIHtcbiAgICAgIGNvbnN0IHRvdWNoID0gZS50b3VjaGVzWzBdO1xuICAgICAgdGhpcy5EcmFnLmVtaXQoeyB4OiB0b3VjaC5jbGllbnRYLCB5OiB0b3VjaC5jbGllbnRZIH0pO1xuICAgIH1cbiAgfVxufVxuIl19