UNPKG

ngx-resizable-touch

Version:

A Resizable Split-Pane Layout for Angular6+

105 lines 8.25 kB
/** * @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