ng-zorro-antd
Version:
An enterprise-class UI components based on Ant Design and Angular
63 lines • 7.45 kB
JavaScript
import { __decorate } from "tslib";
/**
* 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 { Directive, EventEmitter, Input, Output } from '@angular/core';
import { InputBoolean } from 'ng-zorro-antd/core/util';
import { NzResizeObserverFactory } from './resize-observer.service';
import * as i0 from "@angular/core";
import * as i1 from "./resize-observer.service";
export class NzResizeObserverDirective {
subscribe() {
this.unsubscribe();
this.currentSubscription = this.nzResizeObserver.observe(this.elementRef).subscribe(this.nzResizeObserve);
}
unsubscribe() {
this.currentSubscription?.unsubscribe();
}
constructor(nzResizeObserver, elementRef) {
this.nzResizeObserver = nzResizeObserver;
this.elementRef = elementRef;
this.nzResizeObserve = new EventEmitter();
this.nzResizeObserverDisabled = false;
this.currentSubscription = null;
}
ngAfterContentInit() {
if (!this.currentSubscription && !this.nzResizeObserverDisabled) {
this.subscribe();
}
}
ngOnDestroy() {
this.unsubscribe();
}
ngOnChanges(changes) {
const { nzResizeObserve } = changes;
if (nzResizeObserve) {
if (this.nzResizeObserverDisabled) {
this.unsubscribe();
}
else {
this.subscribe();
}
}
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: NzResizeObserverDirective, deps: [{ token: i1.NzResizeObserver }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.7", type: NzResizeObserverDirective, isStandalone: true, selector: "[nzResizeObserver]", inputs: { nzResizeObserverDisabled: "nzResizeObserverDisabled" }, outputs: { nzResizeObserve: "nzResizeObserve" }, providers: [NzResizeObserverFactory], usesOnChanges: true, ngImport: i0 }); }
}
__decorate([
InputBoolean()
], NzResizeObserverDirective.prototype, "nzResizeObserverDisabled", void 0);
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: NzResizeObserverDirective, decorators: [{
type: Directive,
args: [{
selector: '[nzResizeObserver]',
standalone: true,
providers: [NzResizeObserverFactory]
}]
}], ctorParameters: () => [{ type: i1.NzResizeObserver }, { type: i0.ElementRef }], propDecorators: { nzResizeObserve: [{
type: Output
}], nzResizeObserverDisabled: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLW9ic2VydmVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvbXBvbmVudHMvY2RrL3Jlc2l6ZS1vYnNlcnZlci9yZXNpemUtb2JzZXJ2ZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBRUwsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVQLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV2RCxPQUFPLEVBQW9CLHVCQUF1QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQU90RixNQUFNLE9BQU8seUJBQXlCO0lBTTVCLFNBQVM7UUFDZixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDNUcsQ0FBQztJQUVPLFdBQVc7UUFDakIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRCxZQUNVLGdCQUFrQyxFQUNsQyxVQUFtQztRQURuQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBZjFCLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQXlCLENBQUM7UUFDdEQsNkJBQXdCLEdBQUcsS0FBSyxDQUFDO1FBQ2xELHdCQUFtQixHQUF3QixJQUFJLENBQUM7SUFjckQsQ0FBQztJQUVKLGtCQUFrQjtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixJQUFJLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFO1lBQy9ELElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUNsQjtJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsTUFBTSxFQUFFLGVBQWUsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUNwQyxJQUFJLGVBQWUsRUFBRTtZQUNuQixJQUFJLElBQUksQ0FBQyx3QkFBd0IsRUFBRTtnQkFDakMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2FBQ3BCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQzthQUNsQjtTQUNGO0lBQ0gsQ0FBQzs4R0F2Q1UseUJBQXlCO2tHQUF6Qix5QkFBeUIsb0xBRnpCLENBQUMsdUJBQXVCLENBQUM7O0FBS1g7SUFBZixZQUFZLEVBQUU7MkVBQWtDOzJGQUgvQyx5QkFBeUI7a0JBTHJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFNBQVMsRUFBRSxDQUFDLHVCQUF1QixDQUFDO2lCQUNyQzs4R0FHb0IsZUFBZTtzQkFBakMsTUFBTTtnQkFDa0Isd0JBQXdCO3NCQUFoRCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2dpdGh1Yi5jb20vTkctWk9SUk8vbmctem9ycm8tYW50ZC9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKi9cblxuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEJvb2xlYW5JbnB1dCB9IGZyb20gJ25nLXpvcnJvLWFudGQvY29yZS90eXBlcyc7XG5pbXBvcnQgeyBJbnB1dEJvb2xlYW4gfSBmcm9tICduZy16b3Jyby1hbnRkL2NvcmUvdXRpbCc7XG5cbmltcG9ydCB7IE56UmVzaXplT2JzZXJ2ZXIsIE56UmVzaXplT2JzZXJ2ZXJGYWN0b3J5IH0gZnJvbSAnLi9yZXNpemUtb2JzZXJ2ZXIuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tuelJlc2l6ZU9ic2VydmVyXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHByb3ZpZGVyczogW056UmVzaXplT2JzZXJ2ZXJGYWN0b3J5XVxufSlcbmV4cG9ydCBjbGFzcyBOelJlc2l6ZU9ic2VydmVyRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfbnpSZXNpemVPYnNlcnZlckRpc2FibGVkOiBCb29sZWFuSW5wdXQ7XG4gIEBPdXRwdXQoKSByZWFkb25seSBuelJlc2l6ZU9ic2VydmUgPSBuZXcgRXZlbnRFbWl0dGVyPFJlc2l6ZU9ic2VydmVyRW50cnlbXT4oKTtcbiAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIG56UmVzaXplT2JzZXJ2ZXJEaXNhYmxlZCA9IGZhbHNlO1xuICBwcml2YXRlIGN1cnJlbnRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgc3Vic2NyaWJlKCk6IHZvaWQge1xuICAgIHRoaXMudW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmN1cnJlbnRTdWJzY3JpcHRpb24gPSB0aGlzLm56UmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmVsZW1lbnRSZWYpLnN1YnNjcmliZSh0aGlzLm56UmVzaXplT2JzZXJ2ZSk7XG4gIH1cblxuICBwcml2YXRlIHVuc3Vic2NyaWJlKCk6IHZvaWQge1xuICAgIHRoaXMuY3VycmVudFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbnpSZXNpemVPYnNlcnZlcjogTnpSZXNpemVPYnNlcnZlcixcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+XG4gICkge31cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmN1cnJlbnRTdWJzY3JpcHRpb24gJiYgIXRoaXMubnpSZXNpemVPYnNlcnZlckRpc2FibGVkKSB7XG4gICAgICB0aGlzLnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBjb25zdCB7IG56UmVzaXplT2JzZXJ2ZSB9ID0gY2hhbmdlcztcbiAgICBpZiAobnpSZXNpemVPYnNlcnZlKSB7XG4gICAgICBpZiAodGhpcy5uelJlc2l6ZU9ic2VydmVyRGlzYWJsZWQpIHtcbiAgICAgICAgdGhpcy51bnN1YnNjcmliZSgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpYmUoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==