UNPKG

@xmagic/nz-formly

Version:

基于ng-zorro-antd UI 扩展的ngx-formly组件库

83 lines 9.32 kB
import { ChangeDetectionStrategy, Component, Optional, ViewChild } from '@angular/core'; import { FieldWrapper } from '@ngx-formly/core'; import { NzDropDownDirective } from 'ng-zorro-antd/dropdown'; import { findField } from '@xmagic/nz-formly/common'; import * as i0 from "@angular/core"; import * as i1 from "@xmagic/nz-formly/common"; import * as i2 from "ng-zorro-antd/dropdown"; export class DropdownWrapperComponent extends FieldWrapper { fieldTemplates; dropdownDirective; subscription; constructor(fieldTemplates) { super(); this.fieldTemplates = fieldTemplates; } ngOnInit() { const dropdownField = findField(this.field, this.props.nzDropdown.ref); if (!dropdownField) { return; } const subject = dropdownField.props._subject; this.subscription = subject.subscribe((instance) => { this.dropdownDirective.nzDropdownMenu = instance; this.dropdownDirective.ngAfterViewInit(); }); } ngOnDestroy() { if (this.subscription) { this.subscription.unsubscribe(); this.subscription = undefined; } } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DropdownWrapperComponent, deps: [{ token: i1.FormlyBoxTemplates, optional: true }], target: i0.ɵɵFactoryTarget.Component }); static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DropdownWrapperComponent, selector: "nz-formly-dropdown-wrapper", viewQueries: [{ propertyName: "dropdownDirective", first: true, predicate: ["dropdownDirective"], descendants: true, read: NzDropDownDirective, static: true }], usesInheritance: true, ngImport: i0, template: ` <div nz-dropdown style="display: inline-block" #dropdownDirective="nzDropdown" [nzDisabled]="props.nzDropdown.nzDisabled" [nzPlacement]="props.nzDropdown.nzPlacement || 'bottomLeft'" [nzBackdrop]="props.nzDropdown.nzBackdrop" [nzClickHide]="props.nzDropdown.nzClickHide !== false" [nzTrigger]="props.nzDropdown.nzTrigger || 'hover'" [nzMatchWidthElement]="props.nzDropdown.nzMatchWidthElement" [nzOverlayClassName]="props.nzDropdown.nzOverlayClassName" [nzOverlayStyle]="props.nzDropdown.nzOverlayStyle" (nzVisibleChange)="props.nzDropdown.nzVisibleChange?.($event, field, dropdownDirective)" > <ng-container #fieldComponent></ng-container> </div> `, isInline: true, dependencies: [{ kind: "directive", type: i2.NzDropDownDirective, selector: "[nz-dropdown]", inputs: ["nzDropdownMenu", "nzTrigger", "nzMatchWidthElement", "nzBackdrop", "nzClickHide", "nzDisabled", "nzVisible", "nzOverlayClassName", "nzOverlayStyle", "nzPlacement"], outputs: ["nzVisibleChange"], exportAs: ["nzDropdown"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DropdownWrapperComponent, decorators: [{ type: Component, args: [{ selector: 'nz-formly-dropdown-wrapper', template: ` <div nz-dropdown style="display: inline-block" #dropdownDirective="nzDropdown" [nzDisabled]="props.nzDropdown.nzDisabled" [nzPlacement]="props.nzDropdown.nzPlacement || 'bottomLeft'" [nzBackdrop]="props.nzDropdown.nzBackdrop" [nzClickHide]="props.nzDropdown.nzClickHide !== false" [nzTrigger]="props.nzDropdown.nzTrigger || 'hover'" [nzMatchWidthElement]="props.nzDropdown.nzMatchWidthElement" [nzOverlayClassName]="props.nzDropdown.nzOverlayClassName" [nzOverlayStyle]="props.nzDropdown.nzOverlayStyle" (nzVisibleChange)="props.nzDropdown.nzVisibleChange?.($event, field, dropdownDirective)" > <ng-container #fieldComponent></ng-container> </div> `, changeDetection: ChangeDetectionStrategy.OnPush }] }], ctorParameters: () => [{ type: i1.FormlyBoxTemplates, decorators: [{ type: Optional }] }], propDecorators: { dropdownDirective: [{ type: ViewChild, args: ['dropdownDirective', { read: NzDropDownDirective, static: true }] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24td3JhcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvZHJvcGRvd24td3JhcHBlci9kcm9wZG93bi13cmFwcGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFxQixRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsbUJBQW1CLEVBQTJCLE1BQU0sd0JBQXdCLENBQUM7QUFFdEYsT0FBTyxFQUFzQixTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7OztBQXdCekUsTUFBTSxPQUFPLHdCQUF5QixTQUFRLFlBQVk7SUFHekI7SUFGOEMsaUJBQWlCLENBQXVCO0lBQzdHLFlBQVksQ0FBZ0I7SUFDcEMsWUFBK0IsY0FBa0M7UUFDL0QsS0FBSyxFQUFFLENBQUM7UUFEcUIsbUJBQWMsR0FBZCxjQUFjLENBQW9CO0lBRWpFLENBQUM7SUFFRCxRQUFRO1FBQ04sTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNsQixPQUFPO1NBQ1I7UUFFRCxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsS0FBTSxDQUFDLFFBQVEsQ0FBQztRQUM5QyxJQUFJLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFpQyxFQUFFLEVBQUU7WUFDMUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUM7WUFDakQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQztTQUMvQjtJQUNILENBQUM7d0dBekJVLHdCQUF3Qjs0RkFBeEIsd0JBQXdCLHFLQUNLLG1CQUFtQixrRUFyQmpEOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCVDs7NEZBR1Usd0JBQXdCO2tCQXRCcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNEJBQTRCO29CQUN0QyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDs7MEJBSWMsUUFBUTt5Q0FGd0QsaUJBQWlCO3NCQUE3RixTQUFTO3VCQUFDLG1CQUFtQixFQUFFLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWwsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGaWVsZFdyYXBwZXIgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcclxuaW1wb3J0IHsgTnpEcm9wRG93bkRpcmVjdGl2ZSwgTnpEcm9wZG93bk1lbnVDb21wb25lbnQgfSBmcm9tICduZy16b3Jyby1hbnRkL2Ryb3Bkb3duJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEZvcm1seUJveFRlbXBsYXRlcywgZmluZEZpZWxkIH0gZnJvbSAnQHhtYWdpYy9uei1mb3JtbHkvY29tbW9uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbnotZm9ybWx5LWRyb3Bkb3duLXdyYXBwZXInLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2XHJcbiAgICAgIG56LWRyb3Bkb3duXHJcbiAgICAgIHN0eWxlPVwiZGlzcGxheTogaW5saW5lLWJsb2NrXCJcclxuICAgICAgI2Ryb3Bkb3duRGlyZWN0aXZlPVwibnpEcm9wZG93blwiXHJcbiAgICAgIFtuekRpc2FibGVkXT1cInByb3BzLm56RHJvcGRvd24ubnpEaXNhYmxlZFwiXHJcbiAgICAgIFtuelBsYWNlbWVudF09XCJwcm9wcy5uekRyb3Bkb3duLm56UGxhY2VtZW50IHx8ICdib3R0b21MZWZ0J1wiXHJcbiAgICAgIFtuekJhY2tkcm9wXT1cInByb3BzLm56RHJvcGRvd24ubnpCYWNrZHJvcFwiXHJcbiAgICAgIFtuekNsaWNrSGlkZV09XCJwcm9wcy5uekRyb3Bkb3duLm56Q2xpY2tIaWRlICE9PSBmYWxzZVwiXHJcbiAgICAgIFtuelRyaWdnZXJdPVwicHJvcHMubnpEcm9wZG93bi5uelRyaWdnZXIgfHwgJ2hvdmVyJ1wiXHJcbiAgICAgIFtuek1hdGNoV2lkdGhFbGVtZW50XT1cInByb3BzLm56RHJvcGRvd24ubnpNYXRjaFdpZHRoRWxlbWVudFwiXHJcbiAgICAgIFtuek92ZXJsYXlDbGFzc05hbWVdPVwicHJvcHMubnpEcm9wZG93bi5uek92ZXJsYXlDbGFzc05hbWVcIlxyXG4gICAgICBbbnpPdmVybGF5U3R5bGVdPVwicHJvcHMubnpEcm9wZG93bi5uek92ZXJsYXlTdHlsZVwiXHJcbiAgICAgIChuelZpc2libGVDaGFuZ2UpPVwicHJvcHMubnpEcm9wZG93bi5uelZpc2libGVDaGFuZ2U/LigkZXZlbnQsIGZpZWxkLCBkcm9wZG93bkRpcmVjdGl2ZSlcIlxyXG4gICAgPlxyXG4gICAgICA8bmctY29udGFpbmVyICNmaWVsZENvbXBvbmVudD48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gIGAsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIERyb3Bkb3duV3JhcHBlckNvbXBvbmVudCBleHRlbmRzIEZpZWxkV3JhcHBlciBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBAVmlld0NoaWxkKCdkcm9wZG93bkRpcmVjdGl2ZScsIHsgcmVhZDogTnpEcm9wRG93bkRpcmVjdGl2ZSwgc3RhdGljOiB0cnVlIH0pIGRyb3Bkb3duRGlyZWN0aXZlITogTnpEcm9wRG93bkRpcmVjdGl2ZTtcclxuICBwcml2YXRlIHN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcclxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBwdWJsaWMgZmllbGRUZW1wbGF0ZXM6IEZvcm1seUJveFRlbXBsYXRlcykge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgZHJvcGRvd25GaWVsZCA9IGZpbmRGaWVsZCh0aGlzLmZpZWxkLCB0aGlzLnByb3BzLm56RHJvcGRvd24ucmVmKTtcclxuICAgIGlmICghZHJvcGRvd25GaWVsZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgc3ViamVjdCA9IGRyb3Bkb3duRmllbGQucHJvcHMhLl9zdWJqZWN0O1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSBzdWJqZWN0LnN1YnNjcmliZSgoaW5zdGFuY2U6IE56RHJvcGRvd25NZW51Q29tcG9uZW50KSA9PiB7XHJcbiAgICAgIHRoaXMuZHJvcGRvd25EaXJlY3RpdmUubnpEcm9wZG93bk1lbnUgPSBpbnN0YW5jZTtcclxuICAgICAgdGhpcy5kcm9wZG93bkRpcmVjdGl2ZS5uZ0FmdGVyVmlld0luaXQoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==