UNPKG

ng-zorro-antd

Version:

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

73 lines 9.3 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, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Output } from '@angular/core'; import { Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; import { NzResizableService } from './resizable.service'; export class NzResizeHandleMouseDownEvent { constructor(direction, mouseEvent) { this.direction = direction; this.mouseEvent = mouseEvent; } } export class NzResizeHandleComponent { constructor(nzResizableService, cdr, elementRef) { this.nzResizableService = nzResizableService; this.cdr = cdr; this.elementRef = elementRef; this.nzDirection = 'bottomRight'; this.nzMouseDown = new EventEmitter(); this.entered = false; this.destroy$ = new Subject(); // TODO: move to host after View Engine deprecation this.elementRef.nativeElement.classList.add('nz-resizable-handle'); } ngOnInit() { this.nzResizableService.mouseEntered$.pipe(takeUntil(this.destroy$)).subscribe(entered => { this.entered = entered; this.cdr.markForCheck(); }); } onMousedown(event) { this.nzResizableService.handleMouseDown$.next(new NzResizeHandleMouseDownEvent(this.nzDirection, event)); } ngOnDestroy() { this.destroy$.next(); this.destroy$.complete(); } } 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-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'`, '[class.nz-resizable-handle-box-hover]': 'entered', '(mousedown)': 'onMousedown($event)', '(touchstart)': 'onMousedown($event)' } },] } ]; NzResizeHandleComponent.ctorParameters = () => [ { type: NzResizableService }, { type: ChangeDetectorRef }, { type: ElementRef } ]; NzResizeHandleComponent.propDecorators = { nzDirection: [{ type: Input }], nzMouseDown: [{ type: Output }] }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLWhhbmRsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvdnN0cy93b3JrLzEvcy9jb21wb25lbnRzL3Jlc2l6YWJsZS8iLCJzb3VyY2VzIjpbInJlc2l6ZS1oYW5kbGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFJekQsTUFBTSxPQUFPLDRCQUE0QjtJQUN2QyxZQUFtQixTQUE0QixFQUFTLFVBQW1DO1FBQXhFLGNBQVMsR0FBVCxTQUFTLENBQW1CO1FBQVMsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7SUFBRyxDQUFDO0NBQ2hHO0FBdUJELE1BQU0sT0FBTyx1QkFBdUI7SUFPbEMsWUFBb0Isa0JBQXNDLEVBQVUsR0FBc0IsRUFBVSxVQUFzQjtRQUF0Ryx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBTmpILGdCQUFXLEdBQXNCLGFBQWEsQ0FBQztRQUNyQyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFnQyxDQUFDO1FBRWxGLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDUixhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUdyQyxtREFBbUQ7UUFDbkQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUN2RixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztZQUN2QixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUE4QjtRQUN4QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksNEJBQTRCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzNHLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7OztZQS9DRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHNDQUFzQztnQkFDaEQsUUFBUSxFQUFFLGdCQUFnQjtnQkFDMUIsUUFBUSxFQUFFOztHQUVUO2dCQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2dCQUMvQyxJQUFJLEVBQUU7b0JBQ0osaUNBQWlDLEVBQUUsdUJBQXVCO29CQUMxRCxtQ0FBbUMsRUFBRSx5QkFBeUI7b0JBQzlELG9DQUFvQyxFQUFFLDBCQUEwQjtvQkFDaEUsa0NBQWtDLEVBQUUsd0JBQXdCO29CQUM1RCxzQ0FBc0MsRUFBRSw0QkFBNEI7b0JBQ3BFLHlDQUF5QyxFQUFFLCtCQUErQjtvQkFDMUUsd0NBQXdDLEVBQUUsOEJBQThCO29CQUN4RSxxQ0FBcUMsRUFBRSwyQkFBMkI7b0JBQ2xFLHVDQUF1QyxFQUFFLFNBQVM7b0JBQ2xELGFBQWEsRUFBRSxxQkFBcUI7b0JBQ3BDLGNBQWMsRUFBRSxxQkFBcUI7aUJBQ3RDO2FBQ0Y7OztZQTVCUSxrQkFBa0I7WUFaekIsaUJBQWlCO1lBRWpCLFVBQVU7OzswQkF3Q1QsS0FBSzswQkFDTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2dpdGh1Yi5jb20vTkctWk9SUk8vbmctem9ycm8tYW50ZC9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKi9cblxuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IE56UmVzaXphYmxlU2VydmljZSB9IGZyb20gJy4vcmVzaXphYmxlLnNlcnZpY2UnO1xuXG5leHBvcnQgdHlwZSBOelJlc2l6ZURpcmVjdGlvbiA9ICd0b3AnIHwgJ3JpZ2h0JyB8ICdib3R0b20nIHwgJ2xlZnQnIHwgJ3RvcFJpZ2h0JyB8ICdib3R0b21SaWdodCcgfCAnYm90dG9tTGVmdCcgfCAndG9wTGVmdCc7XG5cbmV4cG9ydCBjbGFzcyBOelJlc2l6ZUhhbmRsZU1vdXNlRG93bkV2ZW50IHtcbiAgY29uc3RydWN0b3IocHVibGljIGRpcmVjdGlvbjogTnpSZXNpemVEaXJlY3Rpb24sIHB1YmxpYyBtb3VzZUV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCkge31cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnotcmVzaXplLWhhbmRsZSwgW256LXJlc2l6ZS1oYW5kbGVdJyxcbiAgZXhwb3J0QXM6ICduelJlc2l6ZUhhbmRsZScsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICBgLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgICdbY2xhc3MubnotcmVzaXphYmxlLWhhbmRsZS10b3BdJzogYG56RGlyZWN0aW9uID09PSAndG9wJ2AsXG4gICAgJ1tjbGFzcy5uei1yZXNpemFibGUtaGFuZGxlLXJpZ2h0XSc6IGBuekRpcmVjdGlvbiA9PT0gJ3JpZ2h0J2AsXG4gICAgJ1tjbGFzcy5uei1yZXNpemFibGUtaGFuZGxlLWJvdHRvbV0nOiBgbnpEaXJlY3Rpb24gPT09ICdib3R0b20nYCxcbiAgICAnW2NsYXNzLm56LXJlc2l6YWJsZS1oYW5kbGUtbGVmdF0nOiBgbnpEaXJlY3Rpb24gPT09ICdsZWZ0J2AsXG4gICAgJ1tjbGFzcy5uei1yZXNpemFibGUtaGFuZGxlLXRvcFJpZ2h0XSc6IGBuekRpcmVjdGlvbiA9PT0gJ3RvcFJpZ2h0J2AsXG4gICAgJ1tjbGFzcy5uei1yZXNpemFibGUtaGFuZGxlLWJvdHRvbVJpZ2h0XSc6IGBuekRpcmVjdGlvbiA9PT0gJ2JvdHRvbVJpZ2h0J2AsXG4gICAgJ1tjbGFzcy5uei1yZXNpemFibGUtaGFuZGxlLWJvdHRvbUxlZnRdJzogYG56RGlyZWN0aW9uID09PSAnYm90dG9tTGVmdCdgLFxuICAgICdbY2xhc3MubnotcmVzaXphYmxlLWhhbmRsZS10b3BMZWZ0XSc6IGBuekRpcmVjdGlvbiA9PT0gJ3RvcExlZnQnYCxcbiAgICAnW2NsYXNzLm56LXJlc2l6YWJsZS1oYW5kbGUtYm94LWhvdmVyXSc6ICdlbnRlcmVkJyxcbiAgICAnKG1vdXNlZG93biknOiAnb25Nb3VzZWRvd24oJGV2ZW50KScsXG4gICAgJyh0b3VjaHN0YXJ0KSc6ICdvbk1vdXNlZG93bigkZXZlbnQpJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIE56UmVzaXplSGFuZGxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBuekRpcmVjdGlvbjogTnpSZXNpemVEaXJlY3Rpb24gPSAnYm90dG9tUmlnaHQnO1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgbnpNb3VzZURvd24gPSBuZXcgRXZlbnRFbWl0dGVyPE56UmVzaXplSGFuZGxlTW91c2VEb3duRXZlbnQ+KCk7XG5cbiAgZW50ZXJlZCA9IGZhbHNlO1xuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG56UmVzaXphYmxlU2VydmljZTogTnpSZXNpemFibGVTZXJ2aWNlLCBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuICAgIC8vIFRPRE86IG1vdmUgdG8gaG9zdCBhZnRlciBWaWV3IEVuZ2luZSBkZXByZWNhdGlvblxuICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ256LXJlc2l6YWJsZS1oYW5kbGUnKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubnpSZXNpemFibGVTZXJ2aWNlLm1vdXNlRW50ZXJlZCQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZShlbnRlcmVkID0+IHtcbiAgICAgIHRoaXMuZW50ZXJlZCA9IGVudGVyZWQ7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgfVxuXG4gIG9uTW91c2Vkb3duKGV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCk6IHZvaWQge1xuICAgIHRoaXMubnpSZXNpemFibGVTZXJ2aWNlLmhhbmRsZU1vdXNlRG93biQubmV4dChuZXcgTnpSZXNpemVIYW5kbGVNb3VzZURvd25FdmVudCh0aGlzLm56RGlyZWN0aW9uLCBldmVudCkpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=