UNPKG

@xmagic/nz-formly

Version:

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

90 lines 6.47 kB
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 "ng-zorro-antd/core/outlet"; import * as i3 from "@xmagic/nzx-antd/pipe"; /** * 引用模板,支持HTML,TemplateRef对象,或者NamedTemplate * @example * * 用法1: 使用NamedTemplate(推荐) * * html * ```html * <formly-form formly-box > * <ng-template named="test"></ng-template> * </formly-form> * ``` * * 配置 * ```js * { * type: 'ref-template', * props: { * refName: 'test' * } * } * ``` * * 用法2:TemplateRef对象 * ```html * <ng-template #test2></ng-template> * ``` * * 配置 * @viewChild('test2') test2: TemplateRef<{}>; * * ```js * { * type: 'ref-template', * props: { * ref: this.test2 * } * } * ``` * * 用法3: 使用html * * 配置 * ```js * { * type: 'ref-template', * props: { * ref: '<div>test text</div>' * } * } * ``` */ export class FormlyFieldRefTemplateComponent extends FieldType { fieldTemplates; constructor(fieldTemplates) { super(); this.fieldTemplates = fieldTemplates; } get ref() { return resolveTplName(this.props, this.fieldTemplates, 'ref'); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormlyFieldRefTemplateComponent, deps: [{ token: i1.FormlyBoxTemplates, optional: true }], target: i0.ɵɵFactoryTarget.Component }); static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FormlyFieldRefTemplateComponent, selector: "nz-formly-ref-template", usesInheritance: true, ngImport: i0, template: ` <ng-container *nzStringTemplateOutlet="ref; context: { $implicit: field, props: props }"> <div [innerHTML]="$any(ref) | trustHtml"></div> </ng-container> `, isInline: true, dependencies: [{ kind: "directive", type: i2.NzStringTemplateOutletDirective, selector: "[nzStringTemplateOutlet]", inputs: ["nzStringTemplateOutletContext", "nzStringTemplateOutlet"], exportAs: ["nzStringTemplateOutlet"] }, { kind: "pipe", type: i3.TrustHtmlPipe, name: "trustHtml" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormlyFieldRefTemplateComponent, decorators: [{ type: Component, args: [{ selector: 'nz-formly-ref-template', template: ` <ng-container *nzStringTemplateOutlet="ref; context: { $implicit: field, props: props }"> <div [innerHTML]="$any(ref) | trustHtml"></div> </ng-container> `, changeDetection: ChangeDetectionStrategy.OnPush }] }], ctorParameters: () => [{ type: i1.FormlyBoxTemplates, decorators: [{ type: Optional }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmLXRlbXBsYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9yZWYtdGVtcGxhdGUvcmVmLXRlbXBsYXRlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0MsT0FBTyxFQUFzQixjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7QUFFOUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1ERztBQVVILE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxTQUFTO0lBQzdCO0lBQS9CLFlBQStCLGNBQWtDO1FBQy9ELEtBQUssRUFBRSxDQUFDO1FBRHFCLG1CQUFjLEdBQWQsY0FBYyxDQUFvQjtJQUVqRSxDQUFDO0lBRUQsSUFBSSxHQUFHO1FBQ0wsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2hFLENBQUM7d0dBUFUsK0JBQStCOzRGQUEvQiwrQkFBK0IscUZBUGhDOzs7O0dBSVQ7OzRGQUdVLCtCQUErQjtrQkFUM0MsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxRQUFRLEVBQUU7Ozs7R0FJVDtvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7OzBCQUVjLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGaWVsZFR5cGUgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcclxuaW1wb3J0IHsgRm9ybWx5Qm94VGVtcGxhdGVzLCByZXNvbHZlVHBsTmFtZSB9IGZyb20gJ0B4bWFnaWMvbnotZm9ybWx5L2NvbW1vbic7XHJcblxyXG4vKipcclxuICog5byV55So5qih5p2/77yM5pSv5oyBSFRNTCxUZW1wbGF0ZVJlZuWvueixoSzmiJbogIVOYW1lZFRlbXBsYXRlXHJcbiAqIEBleGFtcGxlXHJcbiAqXHJcbiAqIOeUqOazlTE6IOS9v+eUqE5hbWVkVGVtcGxhdGUo5o6o6I2QKVxyXG4gKlxyXG4gKiBodG1sXHJcbiAqIGBgYGh0bWxcclxuICogPGZvcm1seS1mb3JtIGZvcm1seS1ib3ggPlxyXG4gKiAgPG5nLXRlbXBsYXRlIG5hbWVkPVwidGVzdFwiPjwvbmctdGVtcGxhdGU+XHJcbiAqIDwvZm9ybWx5LWZvcm0+XHJcbiAqIGBgYFxyXG4gKlxyXG4gKiDphY3nva5cclxuICogYGBganNcclxuICoge1xyXG4gKiAgIHR5cGU6ICdyZWYtdGVtcGxhdGUnLFxyXG4gKiAgIHByb3BzOiB7XHJcbiAqICAgICByZWZOYW1lOiAndGVzdCdcclxuICogICB9XHJcbiAqIH1cclxuICogYGBgXHJcbiAqXHJcbiAqIOeUqOazlTI6VGVtcGxhdGVSZWblr7nosaFcclxuICogYGBgaHRtbFxyXG4gKiA8bmctdGVtcGxhdGUgI3Rlc3QyPjwvbmctdGVtcGxhdGU+XHJcbiAqIGBgYFxyXG4gKlxyXG4gKiDphY3nva5cclxuICogQHZpZXdDaGlsZCgndGVzdDInKSB0ZXN0MjogVGVtcGxhdGVSZWY8e30+O1xyXG4gKlxyXG4gKiBgYGBqc1xyXG4gKiB7XHJcbiAqICAgdHlwZTogJ3JlZi10ZW1wbGF0ZScsXHJcbiAqICAgcHJvcHM6IHtcclxuICogICAgIHJlZjogdGhpcy50ZXN0MlxyXG4gKiAgIH1cclxuICogfVxyXG4gKiBgYGBcclxuICpcclxuICog55So5rOVMzog5L2/55SoaHRtbFxyXG4gKlxyXG4gKiDphY3nva5cclxuICogYGBganNcclxuICoge1xyXG4gKiAgIHR5cGU6ICdyZWYtdGVtcGxhdGUnLFxyXG4gKiAgIHByb3BzOiB7XHJcbiAqICAgICByZWY6ICc8ZGl2PnRlc3QgdGV4dDwvZGl2PidcclxuICogICB9XHJcbiAqIH1cclxuICogYGBgXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ256LWZvcm1seS1yZWYtdGVtcGxhdGUnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8bmctY29udGFpbmVyICpuelN0cmluZ1RlbXBsYXRlT3V0bGV0PVwicmVmOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogZmllbGQsIHByb3BzOiBwcm9wcyB9XCI+XHJcbiAgICAgIDxkaXYgW2lubmVySFRNTF09XCIkYW55KHJlZikgfCB0cnVzdEh0bWxcIj48L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIGAsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1seUZpZWxkUmVmVGVtcGxhdGVDb21wb25lbnQgZXh0ZW5kcyBGaWVsZFR5cGUge1xyXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIHB1YmxpYyBmaWVsZFRlbXBsYXRlczogRm9ybWx5Qm94VGVtcGxhdGVzKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHJlZigpIHtcclxuICAgIHJldHVybiByZXNvbHZlVHBsTmFtZSh0aGlzLnByb3BzLCB0aGlzLmZpZWxkVGVtcGxhdGVzLCAncmVmJyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==