@freezesoul/nz-formly
Version:
基于ng-zorro-antd UI 扩展的ngx-formly组件库
90 lines • 6.5 kB
JavaScript
import { ChangeDetectionStrategy, Component, Optional } from '@angular/core';
import { FieldType } from '@ngx-formly/core';
import { resolveTplName } from '@freezesoul/nz-formly/common';
import * as i0 from "@angular/core";
import * as i1 from "@freezesoul/nz-formly/common";
import * as i2 from "ng-zorro-antd/core/outlet";
import * as i3 from "@freezesoul/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: "16.2.12", ngImport: i0, type: FormlyFieldRefTemplateComponent, deps: [{ token: i1.FormlyBoxTemplates, optional: true }], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.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: "16.2.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: function () { return [{ type: i1.FormlyBoxTemplates, decorators: [{
type: Optional
}] }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmLXRlbXBsYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9yZWYtdGVtcGxhdGUvcmVmLXRlbXBsYXRlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0MsT0FBTyxFQUFzQixjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7QUFFbEY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1ERztBQVVILE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxTQUFTO0lBQzdCO0lBQS9CLFlBQStCLGNBQWtDO1FBQy9ELEtBQUssRUFBRSxDQUFDO1FBRHFCLG1CQUFjLEdBQWQsY0FBYyxDQUFvQjtJQUVqRSxDQUFDO0lBRUQsSUFBSSxHQUFHO1FBQ0wsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2hFLENBQUM7d0dBUFUsK0JBQStCOzRGQUEvQiwrQkFBK0IscUZBUGhDOzs7O0dBSVQ7OzRGQUdVLCtCQUErQjtrQkFUM0MsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxRQUFRLEVBQUU7Ozs7R0FJVDtvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7OzBCQUVjLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGaWVsZFR5cGUgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcclxuaW1wb3J0IHsgRm9ybWx5Qm94VGVtcGxhdGVzLCByZXNvbHZlVHBsTmFtZSB9IGZyb20gJ0BmcmVlemVzb3VsL256LWZvcm1seS9jb21tb24nO1xyXG5cclxuLyoqXHJcbiAqIOW8leeUqOaooeadv++8jOaUr+aMgUhUTUwsVGVtcGxhdGVSZWblr7nosaEs5oiW6ICFTmFtZWRUZW1wbGF0ZVxyXG4gKiBAZXhhbXBsZVxyXG4gKlxyXG4gKiDnlKjms5UxOiDkvb/nlKhOYW1lZFRlbXBsYXRlKOaOqOiNkClcclxuICpcclxuICogaHRtbFxyXG4gKiBgYGBodG1sXHJcbiAqIDxmb3JtbHktZm9ybSBmb3JtbHktYm94ID5cclxuICogIDxuZy10ZW1wbGF0ZSBuYW1lZD1cInRlc3RcIj48L25nLXRlbXBsYXRlPlxyXG4gKiA8L2Zvcm1seS1mb3JtPlxyXG4gKiBgYGBcclxuICpcclxuICog6YWN572uXHJcbiAqIGBgYGpzXHJcbiAqIHtcclxuICogICB0eXBlOiAncmVmLXRlbXBsYXRlJyxcclxuICogICBwcm9wczoge1xyXG4gKiAgICAgcmVmTmFtZTogJ3Rlc3QnXHJcbiAqICAgfVxyXG4gKiB9XHJcbiAqIGBgYFxyXG4gKlxyXG4gKiDnlKjms5UyOlRlbXBsYXRlUmVm5a+56LGhXHJcbiAqIGBgYGh0bWxcclxuICogPG5nLXRlbXBsYXRlICN0ZXN0Mj48L25nLXRlbXBsYXRlPlxyXG4gKiBgYGBcclxuICpcclxuICog6YWN572uXHJcbiAqIEB2aWV3Q2hpbGQoJ3Rlc3QyJykgdGVzdDI6IFRlbXBsYXRlUmVmPHt9PjtcclxuICpcclxuICogYGBganNcclxuICoge1xyXG4gKiAgIHR5cGU6ICdyZWYtdGVtcGxhdGUnLFxyXG4gKiAgIHByb3BzOiB7XHJcbiAqICAgICByZWY6IHRoaXMudGVzdDJcclxuICogICB9XHJcbiAqIH1cclxuICogYGBgXHJcbiAqXHJcbiAqIOeUqOazlTM6IOS9v+eUqGh0bWxcclxuICpcclxuICog6YWN572uXHJcbiAqIGBgYGpzXHJcbiAqIHtcclxuICogICB0eXBlOiAncmVmLXRlbXBsYXRlJyxcclxuICogICBwcm9wczoge1xyXG4gKiAgICAgcmVmOiAnPGRpdj50ZXN0IHRleHQ8L2Rpdj4nXHJcbiAqICAgfVxyXG4gKiB9XHJcbiAqIGBgYFxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICduei1mb3JtbHktcmVmLXRlbXBsYXRlJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPG5nLWNvbnRhaW5lciAqbnpTdHJpbmdUZW1wbGF0ZU91dGxldD1cInJlZjsgY29udGV4dDogeyAkaW1wbGljaXQ6IGZpZWxkLCBwcm9wczogcHJvcHMgfVwiPlxyXG4gICAgICA8ZGl2IFtpbm5lckhUTUxdPVwiJGFueShyZWYpIHwgdHJ1c3RIdG1sXCI+PC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICBgLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb3JtbHlGaWVsZFJlZlRlbXBsYXRlQ29tcG9uZW50IGV4dGVuZHMgRmllbGRUeXBlIHtcclxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBwdWJsaWMgZmllbGRUZW1wbGF0ZXM6IEZvcm1seUJveFRlbXBsYXRlcykge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIGdldCByZWYoKSB7XHJcbiAgICByZXR1cm4gcmVzb2x2ZVRwbE5hbWUodGhpcy5wcm9wcywgdGhpcy5maWVsZFRlbXBsYXRlcywgJ3JlZicpO1xyXG4gIH1cclxufVxyXG4iXX0=