UNPKG

ng-devui

Version:

DevUI components based on Angular

112 lines 14.1 kB
import { Directive, ElementRef, EventEmitter, Input, NgZone, Output } from '@angular/core'; import * as i0 from "@angular/core"; export class ResizeDirective { constructor(el, ngZone) { this.el = el; this.ngZone = ngZone; // 是否允许拖动 this.enableResize = true; // 按下事件,mousedown,touchstart等 this.pressEvent = new EventEmitter(); // 拖动中事件,mousemove,touchmove等 this.dragEvent = new EventEmitter(); // 释放事件,mouseup,touchend等 this.releaseEvent = new EventEmitter(); this.bind = (el, event, callback) => el.addEventListener && el.addEventListener(event, callback); this.unbind = (el, event, callback) => el && el.removeEventListener && el.removeEventListener(event, callback); this.mousedown = (e) => { this.bind(document, 'mousemove', this.mousemove); this.bind(document, 'mouseup', this.mouseup); this.pressEvent.emit(this.normalizeEvent(e)); }; this.mousemove = (e) => { this.dragEvent.emit(this.normalizeEvent(e)); }; this.mouseup = (e) => { this.unbind(document, 'mousemove', this.mousemove); this.unbind(document, 'mouseup', this.mouseup); this.releaseEvent.emit(this.normalizeEvent(e)); }; this.touchstart = (e) => { this.bind(document, 'touchmove', this.touchmove); this.bind(document, 'touchend', this.touchend); if (e.touches.length === 1) { this.pressEvent.emit(this.normalizeEvent(e)); } }; this.touchmove = (e) => { if (e.touches.length === 1) { this.dragEvent.emit(this.normalizeEvent(e)); } }; this.touchend = (e) => { this.unbind(document, 'touchmove', this.touchmove); this.unbind(document, 'touchend', this.touchend); if (e.touches.length === 0) { this.releaseEvent.emit(this.normalizeEvent(e)); } }; } ngOnInit() { if (this.enableResize) { this.ngZone.runOutsideAngular(() => { this.bindEvent(); }); } } ngOnDestroy() { if (this.enableResize) { this.unbind(this.el.nativeElement, 'mousedown', this.mousedown); this.unbind(this.el.nativeElement, 'touchstart', this.touchstart); } } bindEvent() { const element = this.el.nativeElement; // 绑定mousedown事件 this.bind(element, 'mousedown', this.mousedown); // 绑定触屏事件 this.bind(element, 'touchstart', this.touchstart); } // 返回常用位置信息 normalizeEvent(e) { // 判断事件类型,用于计算位置坐标 if (e.type.match(/touch/)) { return { pageX: e.changedTouches[0].pageX, pageY: e.changedTouches[0].pageY, clientX: e.changedTouches[0].clientX, clientY: e.changedTouches[0].clientY, type: e.type, originalEvent: e, isTouch: true }; } return { pageX: e.pageX, pageY: e.pageY, clientX: e.clientX, clientY: e.clientY, offsetX: e.offsetX, offsetY: e.offsetY, type: e.type, originalEvent: e }; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResizeDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); } static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ResizeDirective, selector: "[dResize]", inputs: { enableResize: "enableResize" }, outputs: { pressEvent: "pressEvent", dragEvent: "dragEvent", releaseEvent: "releaseEvent" }, ngImport: i0 }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResizeDirective, decorators: [{ type: Directive, args: [{ selector: '[dResize]' }] }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { enableResize: [{ type: Input }], pressEvent: [{ type: Output }], dragEvent: [{ type: Output }], releaseEvent: [{ type: Output }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2RldnVpL3NwbGl0dGVyL3Jlc2l6ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLOUcsTUFBTSxPQUFPLGVBQWU7SUFTMUIsWUFBb0IsRUFBYyxFQUFVLE1BQWM7UUFBdEMsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFSMUQsU0FBUztRQUNBLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBQzdCLDZCQUE2QjtRQUNuQixlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUMvQyw2QkFBNkI7UUFDbkIsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDOUMseUJBQXlCO1FBQ2YsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBa0JqRCxTQUFJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLGdCQUFnQixJQUFJLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFNUYsV0FBTSxHQUFHLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsbUJBQW1CLElBQUksRUFBRSxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztRQVUxRyxjQUFTLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ2pELElB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QUMsT0FBTztZQUNsQixJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUk7WUFDWixhQUFhLEVBQUUsQ0FBQztTQUNqQixDQUFDO0lBQ0osQ0FBQzsrR0FwR1UsZUFBZTttR0FBZixlQUFlOzs0RkFBZixlQUFlO2tCQUgzQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxXQUFXO2lCQUN0QjtvR0FHVSxZQUFZO3NCQUFwQixLQUFLO2dCQUVJLFVBQVU7c0JBQW5CLE1BQU07Z0JBRUcsU0FBUztzQkFBbEIsTUFBTTtnQkFFRyxZQUFZO3NCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBOZ1pvbmUsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2RSZXNpemVdJ1xufSlcbmV4cG9ydCBjbGFzcyBSZXNpemVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIC8vIOaYr+WQpuWFgeiuuOaLluWKqFxuICBASW5wdXQoKSBlbmFibGVSZXNpemUgPSB0cnVlO1xuICAvLyDmjInkuIvkuovku7bvvIxtb3VzZWRvd27vvIx0b3VjaHN0YXJ0562JXG4gIEBPdXRwdXQoKSBwcmVzc0V2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIC8vIOaLluWKqOS4reS6i+S7tu+8jG1vdXNlbW92Ze+8jHRvdWNobW92ZeetiVxuICBAT3V0cHV0KCkgZHJhZ0V2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIC8vIOmHiuaUvuS6i+S7tu+8jG1vdXNldXDvvIx0b3VjaGVuZOetiVxuICBAT3V0cHV0KCkgcmVsZWFzZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsIHByaXZhdGUgbmdab25lOiBOZ1pvbmUpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuZW5hYmxlUmVzaXplKSB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgIHRoaXMuYmluZEV2ZW50KCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5lbmFibGVSZXNpemUpIHtcbiAgICAgIHRoaXMudW5iaW5kKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ21vdXNlZG93bicsIHRoaXMubW91c2Vkb3duKTtcbiAgICAgIHRoaXMudW5iaW5kKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3RvdWNoc3RhcnQnLCB0aGlzLnRvdWNoc3RhcnQpO1xuICAgIH1cbiAgfVxuXG4gIGJpbmQgPSAoZWwsIGV2ZW50LCBjYWxsYmFjaykgPT4gZWwuYWRkRXZlbnRMaXN0ZW5lciAmJiBlbC5hZGRFdmVudExpc3RlbmVyKGV2ZW50LCBjYWxsYmFjayk7XG5cbiAgdW5iaW5kID0gKGVsLCBldmVudCwgY2FsbGJhY2spID0+IGVsICYmIGVsLnJlbW92ZUV2ZW50TGlzdGVuZXIgJiYgZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudCwgY2FsbGJhY2spO1xuXG4gIGJpbmRFdmVudCgpIHtcbiAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICAgIC8vIOe7keWumm1vdXNlZG93buS6i+S7tlxuICAgIHRoaXMuYmluZChlbGVtZW50LCAnbW91c2Vkb3duJywgdGhpcy5tb3VzZWRvd24pO1xuICAgIC8vIOe7keWumuinpuWxj+S6i+S7tlxuICAgIHRoaXMuYmluZChlbGVtZW50LCAndG91Y2hzdGFydCcsIHRoaXMudG91Y2hzdGFydCk7XG4gIH1cblxuICBtb3VzZWRvd24gPSAoZSkgPT4ge1xuICAgIHRoaXMuYmluZChkb2N1bWVudCwgJ21vdXNlbW92ZScsIHRoaXMubW91c2Vtb3ZlKTtcbiAgICB0aGlzLmJpbmQoZG9jdW1lbnQsICdtb3VzZXVwJywgdGhpcy5tb3VzZXVwKTtcbiAgICB0aGlzLnByZXNzRXZlbnQuZW1pdCh0aGlzLm5vcm1hbGl6ZUV2ZW50KGUpKTtcbiAgfTtcblxuICBtb3VzZW1vdmUgPSAoZSkgPT4ge1xuICAgIHRoaXMuZHJhZ0V2ZW50LmVtaXQodGhpcy5ub3JtYWxpemVFdmVudChlKSk7XG4gIH07XG5cbiAgbW91c2V1cCA9IChlKSA9PiB7XG4gICAgdGhpcy51bmJpbmQoZG9jdW1lbnQsICdtb3VzZW1vdmUnLCB0aGlzLm1vdXNlbW92ZSk7XG4gICAgdGhpcy51bmJpbmQoZG9jdW1lbnQsICdtb3VzZXVwJywgdGhpcy5tb3VzZXVwKTtcbiAgICB0aGlzLnJlbGVhc2VFdmVudC5lbWl0KHRoaXMubm9ybWFsaXplRXZlbnQoZSkpO1xuICB9O1xuXG4gIHRvdWNoc3RhcnQgPSAoZSkgPT4ge1xuICAgIHRoaXMuYmluZChkb2N1bWVudCwgJ3RvdWNobW92ZScsIHRoaXMudG91Y2htb3ZlKTtcbiAgICB0aGlzLmJpbmQoZG9jdW1lbnQsICd0b3VjaGVuZCcsIHRoaXMudG91Y2hlbmQpO1xuICAgIGlmIChlLnRvdWNoZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICB0aGlzLnByZXNzRXZlbnQuZW1pdCh0aGlzLm5vcm1hbGl6ZUV2ZW50KGUpKTtcbiAgICB9XG4gIH07XG5cbiAgdG91Y2htb3ZlID0gKGUpID0+IHtcbiAgICBpZiAoZS50b3VjaGVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgdGhpcy5kcmFnRXZlbnQuZW1pdCh0aGlzLm5vcm1hbGl6ZUV2ZW50KGUpKTtcbiAgICB9XG4gIH07XG5cbiAgdG91Y2hlbmQgPSAoZSkgPT4ge1xuICAgIHRoaXMudW5iaW5kKGRvY3VtZW50LCAndG91Y2htb3ZlJywgdGhpcy50b3VjaG1vdmUpO1xuICAgIHRoaXMudW5iaW5kKGRvY3VtZW50LCAndG91Y2hlbmQnLCB0aGlzLnRvdWNoZW5kKTtcbiAgICBpZiAoZS50b3VjaGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5yZWxlYXNlRXZlbnQuZW1pdCh0aGlzLm5vcm1hbGl6ZUV2ZW50KGUpKTtcbiAgICB9XG4gIH07XG5cbiAgLy8g6L+U5Zue5bi455So5L2N572u5L+h5oGvXG4gIG5vcm1hbGl6ZUV2ZW50KGUpIHtcbiAgICAvLyDliKTmlq3kuovku7bnsbvlnovvvIznlKjkuo7orqHnrpfkvY3nva7lnZDmoIdcbiAgICBpZiAoZS50eXBlLm1hdGNoKC90b3VjaC8pKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBwYWdlWDogZS5jaGFuZ2VkVG91Y2hlc1swXS5wYWdlWCxcbiAgICAgICAgcGFnZVk6IGUuY2hhbmdlZFRvdWNoZXNbMF0ucGFnZVksXG4gICAgICAgIGNsaWVudFg6IGUuY2hhbmdlZFRvdWNoZXNbMF0uY2xpZW50WCxcbiAgICAgICAgY2xpZW50WTogZS5jaGFuZ2VkVG91Y2hlc1swXS5jbGllbnRZLFxuICAgICAgICB0eXBlOiBlLnR5cGUsXG4gICAgICAgIG9yaWdpbmFsRXZlbnQ6IGUsXG4gICAgICAgIGlzVG91Y2g6IHRydWVcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBwYWdlWDogZS5wYWdlWCxcbiAgICAgIHBhZ2VZOiBlLnBhZ2VZLFxuICAgICAgY2xpZW50WDogZS5jbGllbnRYLFxuICAgICAgY2xpZW50WTogZS5jbGllbnRZLFxuICAgICAgb2Zmc2V0WDogZS5vZmZzZXRYLFxuICAgICAgb2Zmc2V0WTogZS5vZmZzZXRZLFxuICAgICAgdHlwZTogZS50eXBlLFxuICAgICAgb3JpZ2luYWxFdmVudDogZVxuICAgIH07XG4gIH1cbn1cbiJdfQ==