UNPKG

ng-zorro-antd

Version:

An enterprise-class UI components based on Ant Design and Angular

73 lines 12 kB
/** * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE */ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core'; import { fromEvent, merge } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; import { NzDestroyService } from 'ng-zorro-antd/core/services'; import * as i0 from "@angular/core"; import * as i1 from "./resizable.service"; import * as i2 from "ng-zorro-antd/core/services"; export class NzResizeHandleMouseDownEvent { constructor(direction, mouseEvent) { this.direction = direction; this.mouseEvent = mouseEvent; } } export class NzResizeHandleComponent { constructor(ngZone, nzResizableService, renderer, host, destroy$) { this.ngZone = ngZone; this.nzResizableService = nzResizableService; this.renderer = renderer; this.host = host; this.destroy$ = destroy$; this.nzDirection = 'bottomRight'; this.nzMouseDown = new EventEmitter(); } ngOnInit() { this.nzResizableService.mouseEnteredOutsideAngular$.pipe(takeUntil(this.destroy$)).subscribe(entered => { if (entered) { this.renderer.addClass(this.host.nativeElement, 'nz-resizable-handle-box-hover'); } else { this.renderer.removeClass(this.host.nativeElement, 'nz-resizable-handle-box-hover'); } }); this.ngZone.runOutsideAngular(() => { merge(fromEvent(this.host.nativeElement, 'mousedown'), fromEvent(this.host.nativeElement, 'touchstart')) .pipe(takeUntil(this.destroy$)) .subscribe((event) => { this.nzResizableService.handleMouseDownOutsideAngular$.next(new NzResizeHandleMouseDownEvent(this.nzDirection, event)); }); }); } } NzResizeHandleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: NzResizeHandleComponent, deps: [{ token: i0.NgZone }, { token: i1.NzResizableService }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i2.NzDestroyService }], target: i0.ɵɵFactoryTarget.Component }); NzResizeHandleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: NzResizeHandleComponent, selector: "nz-resize-handle, [nz-resize-handle]", inputs: { nzDirection: "nzDirection" }, outputs: { nzMouseDown: "nzMouseDown" }, host: { properties: { "class.nz-resizable-handle-top": "nzDirection === 'top'", "class.nz-resizable-handle-right": "nzDirection === 'right'", "class.nz-resizable-handle-bottom": "nzDirection === 'bottom'", "class.nz-resizable-handle-left": "nzDirection === 'left'", "class.nz-resizable-handle-topRight": "nzDirection === 'topRight'", "class.nz-resizable-handle-bottomRight": "nzDirection === 'bottomRight'", "class.nz-resizable-handle-bottomLeft": "nzDirection === 'bottomLeft'", "class.nz-resizable-handle-topLeft": "nzDirection === 'topLeft'" }, classAttribute: "nz-resizable-handle" }, providers: [NzDestroyService], exportAs: ["nzResizeHandle"], ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: NzResizeHandleComponent, decorators: [{ type: Component, args: [{ selector: 'nz-resize-handle, [nz-resize-handle]', exportAs: 'nzResizeHandle', template: ` <ng-content></ng-content> `, changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'nz-resizable-handle', '[class.nz-resizable-handle-top]': `nzDirection === 'top'`, '[class.nz-resizable-handle-right]': `nzDirection === 'right'`, '[class.nz-resizable-handle-bottom]': `nzDirection === 'bottom'`, '[class.nz-resizable-handle-left]': `nzDirection === 'left'`, '[class.nz-resizable-handle-topRight]': `nzDirection === 'topRight'`, '[class.nz-resizable-handle-bottomRight]': `nzDirection === 'bottomRight'`, '[class.nz-resizable-handle-bottomLeft]': `nzDirection === 'bottomLeft'`, '[class.nz-resizable-handle-topLeft]': `nzDirection === 'topLeft'` }, providers: [NzDestroyService] }] }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1.NzResizableService }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i2.NzDestroyService }]; }, propDecorators: { nzDirection: [{ type: Input }], nzMouseDown: [{ type: Output }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLWhhbmRsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9jb21wb25lbnRzL3Jlc2l6YWJsZS9yZXNpemUtaGFuZGxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN4QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7QUFjL0QsTUFBTSxPQUFPLDRCQUE0QjtJQUN2QyxZQUFtQixTQUE0QixFQUFTLFVBQW1DO1FBQXhFLGNBQVMsR0FBVCxTQUFTLENBQW1CO1FBQVMsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7SUFBRyxDQUFDO0NBQ2hHO0FBb0JELE1BQU0sT0FBTyx1QkFBdUI7SUFJbEMsWUFDVSxNQUFjLEVBQ2Qsa0JBQXNDLEVBQ3RDLFFBQW1CLEVBQ25CLElBQTZCLEVBQzdCLFFBQTBCO1FBSjFCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsU0FBSSxHQUFKLElBQUksQ0FBeUI7UUFDN0IsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7UUFSM0IsZ0JBQVcsR0FBc0IsYUFBYSxDQUFDO1FBQ3JDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQWdDLENBQUM7SUFRL0UsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsa0JBQWtCLENBQUMsMkJBQTJCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDckcsSUFBSSxPQUFPLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsK0JBQStCLENBQUMsQ0FBQzthQUNsRjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSwrQkFBK0IsQ0FBQyxDQUFDO2FBQ3JGO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtZQUNqQyxLQUFLLENBQ0gsU0FBUyxDQUFhLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxFQUMzRCxTQUFTLENBQWEsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLENBQzdEO2lCQUNFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2lCQUM5QixTQUFTLENBQUMsQ0FBQyxLQUE4QixFQUFFLEVBQUU7Z0JBQzVDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyw4QkFBOEIsQ0FBQyxJQUFJLENBQ3pELElBQUksNEJBQTRCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FDMUQsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztvSEFqQ1UsdUJBQXVCO3dHQUF2Qix1QkFBdUIsNnRCQUZ2QixDQUFDLGdCQUFnQixDQUFDLHdEQWJuQiw2QkFBNkI7MkZBZTVCLHVCQUF1QjtrQkFsQm5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHNDQUFzQztvQkFDaEQsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsUUFBUSxFQUFFLDZCQUE2QjtvQkFDdkMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUscUJBQXFCO3dCQUM1QixpQ0FBaUMsRUFBRSx1QkFBdUI7d0JBQzFELG1DQUFtQyxFQUFFLHlCQUF5Qjt3QkFDOUQsb0NBQW9DLEVBQUUsMEJBQTBCO3dCQUNoRSxrQ0FBa0MsRUFBRSx3QkFBd0I7d0JBQzVELHNDQUFzQyxFQUFFLDRCQUE0Qjt3QkFDcEUseUNBQXlDLEVBQUUsK0JBQStCO3dCQUMxRSx3Q0FBd0MsRUFBRSw4QkFBOEI7d0JBQ3hFLHFDQUFxQyxFQUFFLDJCQUEyQjtxQkFDbkU7b0JBQ0QsU0FBUyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7aUJBQzlCOzhNQUVVLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ2EsV0FBVztzQkFBN0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9naXRodWIuY29tL05HLVpPUlJPL25nLXpvcnJvLWFudGQvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICovXG5cbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFJlbmRlcmVyMlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZyb21FdmVudCwgbWVyZ2UgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgTnpEZXN0cm95U2VydmljZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvY29yZS9zZXJ2aWNlcyc7XG5cbmltcG9ydCB7IE56UmVzaXphYmxlU2VydmljZSB9IGZyb20gJy4vcmVzaXphYmxlLnNlcnZpY2UnO1xuXG5leHBvcnQgdHlwZSBOelJlc2l6ZURpcmVjdGlvbiA9XG4gIHwgJ3RvcCdcbiAgfCAncmlnaHQnXG4gIHwgJ2JvdHRvbSdcbiAgfCAnbGVmdCdcbiAgfCAndG9wUmlnaHQnXG4gIHwgJ2JvdHRvbVJpZ2h0J1xuICB8ICdib3R0b21MZWZ0J1xuICB8ICd0b3BMZWZ0JztcblxuZXhwb3J0IGNsYXNzIE56UmVzaXplSGFuZGxlTW91c2VEb3duRXZlbnQge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgZGlyZWN0aW9uOiBOelJlc2l6ZURpcmVjdGlvbiwgcHVibGljIG1vdXNlRXZlbnQ6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KSB7fVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduei1yZXNpemUtaGFuZGxlLCBbbnotcmVzaXplLWhhbmRsZV0nLFxuICBleHBvcnRBczogJ256UmVzaXplSGFuZGxlJyxcbiAgdGVtcGxhdGU6IGAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PiBgLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnbnotcmVzaXphYmxlLWhhbmRsZScsXG4gICAgJ1tjbGFzcy5uei1yZXNpemFibGUtaGFuZGxlLXRvcF0nOiBgbnpEaXJlY3Rpb24gPT09ICd0b3AnYCxcbiAgICAnW2NsYXNzLm56LXJlc2l6YWJsZS1oYW5kbGUtcmlnaHRdJzogYG56RGlyZWN0aW9uID09PSAncmlnaHQnYCxcbiAgICAnW2NsYXNzLm56LXJlc2l6YWJsZS1oYW5kbGUtYm90dG9tXSc6IGBuekRpcmVjdGlvbiA9PT0gJ2JvdHRvbSdgLFxuICAgICdbY2xhc3MubnotcmVzaXphYmxlLWhhbmRsZS1sZWZ0XSc6IGBuekRpcmVjdGlvbiA9PT0gJ2xlZnQnYCxcbiAgICAnW2NsYXNzLm56LXJlc2l6YWJsZS1oYW5kbGUtdG9wUmlnaHRdJzogYG56RGlyZWN0aW9uID09PSAndG9wUmlnaHQnYCxcbiAgICAnW2NsYXNzLm56LXJlc2l6YWJsZS1oYW5kbGUtYm90dG9tUmlnaHRdJzogYG56RGlyZWN0aW9uID09PSAnYm90dG9tUmlnaHQnYCxcbiAgICAnW2NsYXNzLm56LXJlc2l6YWJsZS1oYW5kbGUtYm90dG9tTGVmdF0nOiBgbnpEaXJlY3Rpb24gPT09ICdib3R0b21MZWZ0J2AsXG4gICAgJ1tjbGFzcy5uei1yZXNpemFibGUtaGFuZGxlLXRvcExlZnRdJzogYG56RGlyZWN0aW9uID09PSAndG9wTGVmdCdgXG4gIH0sXG4gIHByb3ZpZGVyczogW056RGVzdHJveVNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIE56UmVzaXplSGFuZGxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgbnpEaXJlY3Rpb246IE56UmVzaXplRGlyZWN0aW9uID0gJ2JvdHRvbVJpZ2h0JztcbiAgQE91dHB1dCgpIHJlYWRvbmx5IG56TW91c2VEb3duID0gbmV3IEV2ZW50RW1pdHRlcjxOelJlc2l6ZUhhbmRsZU1vdXNlRG93bkV2ZW50PigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgcHJpdmF0ZSBuelJlc2l6YWJsZVNlcnZpY2U6IE56UmVzaXphYmxlU2VydmljZSxcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBob3N0OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIGRlc3Ryb3kkOiBOekRlc3Ryb3lTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm56UmVzaXphYmxlU2VydmljZS5tb3VzZUVudGVyZWRPdXRzaWRlQW5ndWxhciQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZShlbnRlcmVkID0+IHtcbiAgICAgIGlmIChlbnRlcmVkKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5ob3N0Lm5hdGl2ZUVsZW1lbnQsICduei1yZXNpemFibGUtaGFuZGxlLWJveC1ob3ZlcicpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmhvc3QubmF0aXZlRWxlbWVudCwgJ256LXJlc2l6YWJsZS1oYW5kbGUtYm94LWhvdmVyJyk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICBtZXJnZShcbiAgICAgICAgZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHRoaXMuaG9zdC5uYXRpdmVFbGVtZW50LCAnbW91c2Vkb3duJyksXG4gICAgICAgIGZyb21FdmVudDxUb3VjaEV2ZW50Pih0aGlzLmhvc3QubmF0aXZlRWxlbWVudCwgJ3RvdWNoc3RhcnQnKVxuICAgICAgKVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCkgPT4ge1xuICAgICAgICAgIHRoaXMubnpSZXNpemFibGVTZXJ2aWNlLmhhbmRsZU1vdXNlRG93bk91dHNpZGVBbmd1bGFyJC5uZXh0KFxuICAgICAgICAgICAgbmV3IE56UmVzaXplSGFuZGxlTW91c2VEb3duRXZlbnQodGhpcy5uekRpcmVjdGlvbiwgZXZlbnQpXG4gICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==