UNPKG

@xmagic/nz-formly

Version:

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

57 lines 7.46 kB
import { ChangeDetectionStrategy, Component } from '@angular/core'; import { FieldType } from '@ngx-formly/core'; import { NzxUtils } from '@xmagic/nzx-antd/util'; import { of } from 'rxjs'; import * as i0 from "@angular/core"; import * as i1 from "@angular/common"; import * as i2 from "ng-zorro-antd/form"; import * as i3 from "@ngx-formly/core"; import * as i4 from "@xmagic/nzx-antd/pipe"; export class FormlyFieldTextValueComponent extends FieldType { result; subscription; defaultOptions = { props: { defaultText: '--' } }; ngOnInit() { this.subscription = this.formControl.valueChanges.subscribe(value => { this.result = undefined; }); } get textValue() { const value = this.formControl.value; const format = this.props.format || this.formState.format; if (typeof format !== 'function') { return of(value); } if (this.result) { return this.result; } const result = format(value, this.field); if (NzxUtils.isPromise(result) || NzxUtils.isObservable(result)) { this.result = result; return result; } return of(result); } ngOnDestroy() { this.subscription?.unsubscribe(); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormlyFieldTextValueComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FormlyFieldTextValueComponent, selector: "nz-formly-text-value", usesInheritance: true, ngImport: i0, template: ` <nz-form-text class="wrap-text" [formlyAttributes]="field" [ngClass]="props.ngClass" [ngStyle]="props.ngStyle"> {{ textValue | async | defaultify: props.defaultText }} </nz-form-text> `, isInline: true, styles: [".wrap-text{word-break:break-all}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.NzFormTextComponent, selector: "nz-form-text", exportAs: ["nzFormText"] }, { kind: "directive", type: i3.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.DefaultifyPipe, name: "defaultify" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormlyFieldTextValueComponent, decorators: [{ type: Component, args: [{ selector: 'nz-formly-text-value', template: ` <nz-form-text class="wrap-text" [formlyAttributes]="field" [ngClass]="props.ngClass" [ngStyle]="props.ngStyle"> {{ textValue | async | defaultify: props.defaultText }} </nz-form-text> `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".wrap-text{word-break:break-all}\n"] }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC12YWx1ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvdGV4dC12YWx1ZS90ZXh0LXZhbHVlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFBYyxFQUFFLEVBQWdCLE1BQU0sTUFBTSxDQUFDOzs7Ozs7QUFtQnBELE1BQU0sT0FBTyw2QkFBaUMsU0FBUSxTQUEwQjtJQUN0RSxNQUFNLENBQThCO0lBQ3BDLFlBQVksQ0FBZ0I7SUFFM0IsY0FBYyxHQUFHO1FBQ3hCLEtBQUssRUFBRTtZQUNMLFdBQVcsRUFBRSxJQUFJO1NBQ2xCO0tBQ0YsQ0FBQztJQUVGLFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFZLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNuRSxJQUFJLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBWSxDQUFDLEtBQUssQ0FBQztRQUN0QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQztRQUUxRCxJQUFJLE9BQU8sTUFBTSxLQUFLLFVBQVUsRUFBRTtZQUNoQyxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNsQjtRQUVELElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNmLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztTQUNwQjtRQUNELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLElBQUksUUFBUSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxRQUFRLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQy9ELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1lBQ3JCLE9BQU8sTUFBTSxDQUFDO1NBQ2Y7UUFDRCxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDbkMsQ0FBQzt3R0FyQ1UsNkJBQTZCOzRGQUE3Qiw2QkFBNkIsbUZBZDlCOzs7O0dBSVQ7OzRGQVVVLDZCQUE2QjtrQkFoQnpDLFNBQVM7K0JBQ0Usc0JBQXNCLFlBQ3RCOzs7O0dBSVQsbUJBUWdCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGaWVsZFR5cGUgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcclxuaW1wb3J0IHsgTnp4VXRpbHMgfSBmcm9tICdAeG1hZ2ljL256eC1hbnRkL3V0aWwnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFRleHRGaWVsZENvbmZpZyB9IGZyb20gJy4vZm9ybWx5LnR5cGUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICduei1mb3JtbHktdGV4dC12YWx1ZScsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxuei1mb3JtLXRleHQgY2xhc3M9XCJ3cmFwLXRleHRcIiBbZm9ybWx5QXR0cmlidXRlc109XCJmaWVsZFwiIFtuZ0NsYXNzXT1cInByb3BzLm5nQ2xhc3NcIiBbbmdTdHlsZV09XCJwcm9wcy5uZ1N0eWxlXCI+XHJcbiAgICAgIHt7IHRleHRWYWx1ZSB8IGFzeW5jIHwgZGVmYXVsdGlmeTogcHJvcHMuZGVmYXVsdFRleHQgfX1cclxuICAgIDwvbnotZm9ybS10ZXh0PlxyXG4gIGAsXHJcbiAgc3R5bGVzOiBbXHJcbiAgICBgXHJcbiAgICAgIC53cmFwLXRleHQge1xyXG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcclxuICAgICAgfVxyXG4gICAgYFxyXG4gIF0sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1seUZpZWxkVGV4dFZhbHVlQ29tcG9uZW50PFQ+IGV4dGVuZHMgRmllbGRUeXBlPFRleHRGaWVsZENvbmZpZz4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSByZXN1bHQ/OiBPYnNlcnZhYmxlPFQ+IHwgUHJvbWlzZTxUPjtcclxuICBwcml2YXRlIHN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgb3ZlcnJpZGUgZGVmYXVsdE9wdGlvbnMgPSB7XHJcbiAgICBwcm9wczoge1xyXG4gICAgICBkZWZhdWx0VGV4dDogJy0tJ1xyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLmZvcm1Db250cm9sIS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbHVlID0+IHtcclxuICAgICAgdGhpcy5yZXN1bHQgPSB1bmRlZmluZWQ7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldCB0ZXh0VmFsdWUoKSB7XHJcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZm9ybUNvbnRyb2whLnZhbHVlO1xyXG4gICAgY29uc3QgZm9ybWF0ID0gdGhpcy5wcm9wcy5mb3JtYXQgfHwgdGhpcy5mb3JtU3RhdGUuZm9ybWF0O1xyXG5cclxuICAgIGlmICh0eXBlb2YgZm9ybWF0ICE9PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIHJldHVybiBvZih2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMucmVzdWx0KSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnJlc3VsdDtcclxuICAgIH1cclxuICAgIGNvbnN0IHJlc3VsdCA9IGZvcm1hdCh2YWx1ZSwgdGhpcy5maWVsZCk7XHJcbiAgICBpZiAoTnp4VXRpbHMuaXNQcm9taXNlKHJlc3VsdCkgfHwgTnp4VXRpbHMuaXNPYnNlcnZhYmxlKHJlc3VsdCkpIHtcclxuICAgICAgdGhpcy5yZXN1bHQgPSByZXN1bHQ7XHJcbiAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gb2YocmVzdWx0KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==