@xmagic/nz-formly
Version:
基于ng-zorro-antd UI 扩展的ngx-formly组件库
140 lines • 14.7 kB
JavaScript
import { ChangeDetectionStrategy, Component, Optional } from '@angular/core';
import { FieldType } from '@ngx-formly/core';
import { resolveTplName } from '@xmagic/nz-formly/common';
import * as i0 from "@angular/core";
import * as i1 from "@xmagic/nz-formly/common";
import * as i2 from "@angular/forms";
import * as i3 from "ng-zorro-antd/tree-select";
import * as i4 from "@ngx-formly/core";
import * as i5 from "@angular/common";
import * as i6 from "@xmagic/nzx-antd/pipe";
export class FormlyFieldTreeSelectComponent extends FieldType {
fieldTemplates;
defaultOptions = {
props: {
nzDisplayWith: (node) => node.title,
options: [],
nzVirtualItemSize: 28,
nzVirtualMaxBufferPx: 500,
nzVirtualMinBufferPx: 28,
nzDropdownStyle: { 'max-height': '300px' },
defaultValue: []
}
};
constructor(fieldTemplates) {
super();
this.fieldTemplates = fieldTemplates;
}
get nzExpandedIcon() {
return resolveTplName(this.props, this.fieldTemplates, 'nzExpandedIcon');
}
get nzMaxTagPlaceholder() {
return resolveTplName(this.props, this.fieldTemplates, 'nzMaxTagPlaceholder');
}
get nzTreeTemplate() {
return resolveTplName(this.props, this.fieldTemplates, 'nzTreeTemplate');
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormlyFieldTreeSelectComponent, deps: [{ token: i1.FormlyBoxTemplates, optional: true }], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FormlyFieldTreeSelectComponent, selector: "nz-formly-tree-select-component", usesInheritance: true, ngImport: i0, template: `
<nz-tree-select
[]="$any(formControl)"
[]="field"
[]="props.nzStatus"
[]="nzExpandedIcon"
[]="props.nzExpandedKeys"
[]="props.nzAllowClear"
[]="props.nzDisabled || props.disabled || formControl?.disabled"
[]="props.nzShowIcon"
[]="props.nzNotFoundContent"
[]="props.nzDropdownStyle"
[]="props.nzMultiple"
[]="props.nzHideUnMatched"
[]="props.nzDropdownClassName"
[]="props.nzSize"
[]="props.nzCheckStrictly"
[]="props.nzDropdownMatchSelectWidth !== false"
[]="$any(props.options | toAsync: $any(props) | async | defaultify: [])"
[]="props.nzShowLine"
[]="props.nzDefaultExpandAll"
[]="props.nzShowExpand !== false"
[]="props.nzAsyncData"
[]="props.nzShowSearch"
[]="props.nzCheckable"
[]="props.nzPlaceHolder || props.placeholder"
[]="props.nzDisplayWith"
[]="props.nzMaxTagCount"
[]="nzMaxTagPlaceholder"
[]="nzTreeTemplate"
[]="props.nzVirtualHeight"
[]="props.nzVirtualItemSize"
[]="props.nzVirtualMaxBufferPx"
[]="props.nzVirtualMinBufferPx"
[]="props.nzBackdrop"
[]="field.id || props.nzId"
(nzExpandChange)="props.nzExpandChange?.($event, field, instance)"
(nzOpenChange)="props.nzOpenChange?.($event, field, instance)"
(nzTreeCheckBoxChange)="props.nzTreeCheckBoxChange?.($event, field, instance)"
(nzRemoved)="props.nzRemoved?.($event, field, instance)"
(nzCleared)="props.nzCleared?.(field, instance)"
(nzTreeClick)="props.nzTreeClick?.($event, field, instance)"
ngDefaultControl
></nz-tree-select>
`, isInline: true, dependencies: [{ kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.NzTreeSelectComponent, selector: "nz-tree-select", inputs: ["nzId", "nzAllowClear", "nzShowExpand", "nzShowLine", "nzDropdownMatchSelectWidth", "nzCheckable", "nzHideUnMatched", "nzShowIcon", "nzShowSearch", "nzDisabled", "nzAsyncData", "nzMultiple", "nzDefaultExpandAll", "nzCheckStrictly", "nzVirtualItemSize", "nzVirtualMaxBufferPx", "nzVirtualMinBufferPx", "nzVirtualHeight", "nzExpandedIcon", "nzNotFoundContent", "nzNodes", "nzOpen", "nzSize", "nzPlaceHolder", "nzDropdownStyle", "nzDropdownClassName", "nzBackdrop", "nzStatus", "nzPlacement", "nzExpandedKeys", "nzDisplayWith", "nzMaxTagCount", "nzMaxTagPlaceholder", "nzTreeTemplate"], outputs: ["nzOpenChange", "nzCleared", "nzRemoved", "nzExpandChange", "nzTreeClick", "nzTreeCheckBoxChange"], exportAs: ["nzTreeSelect"] }, { kind: "directive", type: i4.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.DefaultifyPipe, name: "defaultify" }, { kind: "pipe", type: i6.ToAsyncPipe, name: "toAsync" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormlyFieldTreeSelectComponent, decorators: [{
type: Component,
args: [{
selector: 'nz-formly-tree-select-component',
template: `
<nz-tree-select
[]="$any(formControl)"
[]="field"
[]="props.nzStatus"
[]="nzExpandedIcon"
[]="props.nzExpandedKeys"
[]="props.nzAllowClear"
[]="props.nzDisabled || props.disabled || formControl?.disabled"
[]="props.nzShowIcon"
[]="props.nzNotFoundContent"
[]="props.nzDropdownStyle"
[]="props.nzMultiple"
[]="props.nzHideUnMatched"
[]="props.nzDropdownClassName"
[]="props.nzSize"
[]="props.nzCheckStrictly"
[]="props.nzDropdownMatchSelectWidth !== false"
[]="$any(props.options | toAsync: $any(props) | async | defaultify: [])"
[]="props.nzShowLine"
[]="props.nzDefaultExpandAll"
[]="props.nzShowExpand !== false"
[]="props.nzAsyncData"
[]="props.nzShowSearch"
[]="props.nzCheckable"
[]="props.nzPlaceHolder || props.placeholder"
[]="props.nzDisplayWith"
[]="props.nzMaxTagCount"
[]="nzMaxTagPlaceholder"
[]="nzTreeTemplate"
[]="props.nzVirtualHeight"
[]="props.nzVirtualItemSize"
[]="props.nzVirtualMaxBufferPx"
[]="props.nzVirtualMinBufferPx"
[]="props.nzBackdrop"
[]="field.id || props.nzId"
(nzExpandChange)="props.nzExpandChange?.($event, field, instance)"
(nzOpenChange)="props.nzOpenChange?.($event, field, instance)"
(nzTreeCheckBoxChange)="props.nzTreeCheckBoxChange?.($event, field, instance)"
(nzRemoved)="props.nzRemoved?.($event, field, instance)"
(nzCleared)="props.nzCleared?.(field, instance)"
(nzTreeClick)="props.nzTreeClick?.($event, field, instance)"
ngDefaultControl
></nz-tree-select>
`,
changeDetection: ChangeDetectionStrategy.OnPush
}]
}], ctorParameters: () => [{ type: i1.FormlyBoxTemplates, decorators: [{
type: Optional
}] }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGliL3RyZWUtc2VsZWN0L3RyZWUtc2VsZWN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFN0MsT0FBTyxFQUFzQixjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7QUFvRDlFLE1BQU0sT0FBTyw4QkFBK0IsU0FBUSxTQUFTO0lBYTVCO0lBWnRCLGNBQWMsR0FBRztRQUN4QixLQUFLLEVBQUU7WUFDTCxhQUFhLEVBQUUsQ0FBQyxJQUFnQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSztZQUMvQyxPQUFPLEVBQUUsRUFBRTtZQUNYLGlCQUFpQixFQUFFLEVBQUU7WUFDckIsb0JBQW9CLEVBQUUsR0FBRztZQUN6QixvQkFBb0IsRUFBRSxFQUFFO1lBQ3hCLGVBQWUsRUFBRSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUU7WUFDMUMsWUFBWSxFQUFFLEVBQUU7U0FDakI7S0FDRixDQUFDO0lBRUYsWUFBK0IsY0FBa0M7UUFDL0QsS0FBSyxFQUFFLENBQUM7UUFEcUIsbUJBQWMsR0FBZCxjQUFjLENBQW9CO0lBRWpFLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLGdCQUFnQixDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVELElBQUksbUJBQW1CO1FBQ3JCLE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFDRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLGdCQUFnQixDQUFDLENBQUM7SUFDM0UsQ0FBQzt3R0ExQlUsOEJBQThCOzRGQUE5Qiw4QkFBOEIsOEZBaEQvQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNkNUOzs0RkFHVSw4QkFBOEI7a0JBbEQxQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQ0FBaUM7b0JBQzNDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNkNUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDs7MEJBY2MsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWVsZFR5cGUgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IE56VHJlZU5vZGUgfSBmcm9tICduZy16b3Jyby1hbnRkL3RyZWUnO1xuaW1wb3J0IHsgRm9ybWx5Qm94VGVtcGxhdGVzLCByZXNvbHZlVHBsTmFtZSB9IGZyb20gJ0B4bWFnaWMvbnotZm9ybWx5L2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ256LWZvcm1seS10cmVlLXNlbGVjdC1jb21wb25lbnQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuei10cmVlLXNlbGVjdFxuICAgICAgI2luc3RhbmNlXG4gICAgICBbZm9ybUNvbnRyb2xdPVwiJGFueShmb3JtQ29udHJvbClcIlxuICAgICAgW2Zvcm1seUF0dHJpYnV0ZXNdPVwiZmllbGRcIlxuICAgICAgW256U3RhdHVzXT1cInByb3BzLm56U3RhdHVzXCJcbiAgICAgIFtuekV4cGFuZGVkSWNvbl09XCJuekV4cGFuZGVkSWNvblwiXG4gICAgICBbbnpFeHBhbmRlZEtleXNdPVwicHJvcHMubnpFeHBhbmRlZEtleXNcIlxuICAgICAgW256QWxsb3dDbGVhcl09XCJwcm9wcy5uekFsbG93Q2xlYXJcIlxuICAgICAgW256RGlzYWJsZWRdPVwicHJvcHMubnpEaXNhYmxlZCB8fCBwcm9wcy5kaXNhYmxlZCB8fCBmb3JtQ29udHJvbD8uZGlzYWJsZWRcIlxuICAgICAgW256U2hvd0ljb25dPVwicHJvcHMubnpTaG93SWNvblwiXG4gICAgICBbbnpOb3RGb3VuZENvbnRlbnRdPVwicHJvcHMubnpOb3RGb3VuZENvbnRlbnRcIlxuICAgICAgW256RHJvcGRvd25TdHlsZV09XCJwcm9wcy5uekRyb3Bkb3duU3R5bGVcIlxuICAgICAgW256TXVsdGlwbGVdPVwicHJvcHMubnpNdWx0aXBsZVwiXG4gICAgICBbbnpIaWRlVW5NYXRjaGVkXT1cInByb3BzLm56SGlkZVVuTWF0Y2hlZFwiXG4gICAgICBbbnpEcm9wZG93bkNsYXNzTmFtZV09XCJwcm9wcy5uekRyb3Bkb3duQ2xhc3NOYW1lXCJcbiAgICAgIFtuelNpemVdPVwicHJvcHMubnpTaXplXCJcbiAgICAgIFtuekNoZWNrU3RyaWN0bHldPVwicHJvcHMubnpDaGVja1N0cmljdGx5XCJcbiAgICAgIFtuekRyb3Bkb3duTWF0Y2hTZWxlY3RXaWR0aF09XCJwcm9wcy5uekRyb3Bkb3duTWF0Y2hTZWxlY3RXaWR0aCAhPT0gZmFsc2VcIlxuICAgICAgW256Tm9kZXNdPVwiJGFueShwcm9wcy5vcHRpb25zIHwgdG9Bc3luYzogJGFueShwcm9wcykgfCBhc3luYyB8IGRlZmF1bHRpZnk6IFtdKVwiXG4gICAgICBbbnpTaG93TGluZV09XCJwcm9wcy5uelNob3dMaW5lXCJcbiAgICAgIFtuekRlZmF1bHRFeHBhbmRBbGxdPVwicHJvcHMubnpEZWZhdWx0RXhwYW5kQWxsXCJcbiAgICAgIFtuelNob3dFeHBhbmRdPVwicHJvcHMubnpTaG93RXhwYW5kICE9PSBmYWxzZVwiXG4gICAgICBbbnpBc3luY0RhdGFdPVwicHJvcHMubnpBc3luY0RhdGFcIlxuICAgICAgW256U2hvd1NlYXJjaF09XCJwcm9wcy5uelNob3dTZWFyY2hcIlxuICAgICAgW256Q2hlY2thYmxlXT1cInByb3BzLm56Q2hlY2thYmxlXCJcbiAgICAgIFtuelBsYWNlSG9sZGVyXT1cInByb3BzLm56UGxhY2VIb2xkZXIgfHwgcHJvcHMucGxhY2Vob2xkZXJcIlxuICAgICAgW256RGlzcGxheVdpdGhdPVwicHJvcHMubnpEaXNwbGF5V2l0aFwiXG4gICAgICBbbnpNYXhUYWdDb3VudF09XCJwcm9wcy5uek1heFRhZ0NvdW50XCJcbiAgICAgIFtuek1heFRhZ1BsYWNlaG9sZGVyXT1cIm56TWF4VGFnUGxhY2Vob2xkZXJcIlxuICAgICAgW256VHJlZVRlbXBsYXRlXT1cIm56VHJlZVRlbXBsYXRlXCJcbiAgICAgIFtuelZpcnR1YWxIZWlnaHRdPVwicHJvcHMubnpWaXJ0dWFsSGVpZ2h0XCJcbiAgICAgIFtuelZpcnR1YWxJdGVtU2l6ZV09XCJwcm9wcy5uelZpcnR1YWxJdGVtU2l6ZVwiXG4gICAgICBbbnpWaXJ0dWFsTWF4QnVmZmVyUHhdPVwicHJvcHMubnpWaXJ0dWFsTWF4QnVmZmVyUHhcIlxuICAgICAgW256VmlydHVhbE1pbkJ1ZmZlclB4XT1cInByb3BzLm56VmlydHVhbE1pbkJ1ZmZlclB4XCJcbiAgICAgIFtuekJhY2tkcm9wXT1cInByb3BzLm56QmFja2Ryb3BcIlxuICAgICAgW256SWRdPVwiZmllbGQuaWQgfHwgcHJvcHMubnpJZFwiXG4gICAgICAobnpFeHBhbmRDaGFuZ2UpPVwicHJvcHMubnpFeHBhbmRDaGFuZ2U/LigkZXZlbnQsIGZpZWxkLCBpbnN0YW5jZSlcIlxuICAgICAgKG56T3BlbkNoYW5nZSk9XCJwcm9wcy5uek9wZW5DaGFuZ2U/LigkZXZlbnQsIGZpZWxkLCBpbnN0YW5jZSlcIlxuICAgICAgKG56VHJlZUNoZWNrQm94Q2hhbmdlKT1cInByb3BzLm56VHJlZUNoZWNrQm94Q2hhbmdlPy4oJGV2ZW50LCBmaWVsZCwgaW5zdGFuY2UpXCJcbiAgICAgIChuelJlbW92ZWQpPVwicHJvcHMubnpSZW1vdmVkPy4oJGV2ZW50LCBmaWVsZCwgaW5zdGFuY2UpXCJcbiAgICAgIChuekNsZWFyZWQpPVwicHJvcHMubnpDbGVhcmVkPy4oZmllbGQsIGluc3RhbmNlKVwiXG4gICAgICAobnpUcmVlQ2xpY2spPVwicHJvcHMubnpUcmVlQ2xpY2s/LigkZXZlbnQsIGZpZWxkLCBpbnN0YW5jZSlcIlxuICAgICAgbmdEZWZhdWx0Q29udHJvbFxuICAgID48L256LXRyZWUtc2VsZWN0PlxuICBgLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtbHlGaWVsZFRyZWVTZWxlY3RDb21wb25lbnQgZXh0ZW5kcyBGaWVsZFR5cGUge1xuICBvdmVycmlkZSBkZWZhdWx0T3B0aW9ucyA9IHtcbiAgICBwcm9wczoge1xuICAgICAgbnpEaXNwbGF5V2l0aDogKG5vZGU6IE56VHJlZU5vZGUpID0+IG5vZGUudGl0bGUsXG4gICAgICBvcHRpb25zOiBbXSxcbiAgICAgIG56VmlydHVhbEl0ZW1TaXplOiAyOCxcbiAgICAgIG56VmlydHVhbE1heEJ1ZmZlclB4OiA1MDAsXG4gICAgICBuelZpcnR1YWxNaW5CdWZmZXJQeDogMjgsXG4gICAgICBuekRyb3Bkb3duU3R5bGU6IHsgJ21heC1oZWlnaHQnOiAnMzAwcHgnIH0sXG4gICAgICBkZWZhdWx0VmFsdWU6IFtdXG4gICAgfVxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIHB1YmxpYyBmaWVsZFRlbXBsYXRlczogRm9ybWx5Qm94VGVtcGxhdGVzKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIGdldCBuekV4cGFuZGVkSWNvbigpIHtcbiAgICByZXR1cm4gcmVzb2x2ZVRwbE5hbWUodGhpcy5wcm9wcywgdGhpcy5maWVsZFRlbXBsYXRlcywgJ256RXhwYW5kZWRJY29uJyk7XG4gIH1cblxuICBnZXQgbnpNYXhUYWdQbGFjZWhvbGRlcigpIHtcbiAgICByZXR1cm4gcmVzb2x2ZVRwbE5hbWUodGhpcy5wcm9wcywgdGhpcy5maWVsZFRlbXBsYXRlcywgJ256TWF4VGFnUGxhY2Vob2xkZXInKTtcbiAgfVxuICBnZXQgbnpUcmVlVGVtcGxhdGUoKSB7XG4gICAgcmV0dXJuIHJlc29sdmVUcGxOYW1lKHRoaXMucHJvcHMsIHRoaXMuZmllbGRUZW1wbGF0ZXMsICduelRyZWVUZW1wbGF0ZScpO1xuICB9XG59XG4iXX0=