UNPKG

ngx-antd-json-schema-form

Version:
631 lines (610 loc) 30.4 kB
import { __spread, __assign } from 'tslib'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { NgZorroAntdModule, NZ_I18N, en_US } from 'ng-zorro-antd'; import { registerLocaleData } from '@angular/common'; import en from '@angular/common/locales/en'; import { FormGroup, FormControl, Validators, FormsModule, ReactiveFormsModule } from '@angular/forms'; import 'prismjs/prism'; import 'prismjs/components/prism-typescript'; import 'prismjs/components/prism-sql'; import 'prismjs/components/prism-http'; import { Component, Input, Output, EventEmitter, ViewEncapsulation, ViewChild, ComponentFactoryResolver, Directive, ViewContainerRef, NgModule } from '@angular/core'; import { DomSanitizer, BrowserModule } from '@angular/platform-browser'; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ // ['', [ Validators.pattern(/^[0-9 ]{1,15}$/)]] var NgxAntdJsonSchemaFormComponent = /** @class */ (function () { function NgxAntdJsonSchemaFormComponent() { this.schema = []; this.registeredForm = new EventEmitter(); this.formChange = new EventEmitter(); this.formTouch = new EventEmitter(); this.submit = new EventEmitter(); this.formValid = new EventEmitter(); this.formSettings = this.getDefaultSettings(); } /** * @param {?} changes * @return {?} */ NgxAntdJsonSchemaFormComponent.prototype.ngOnChanges = /** * @param {?} changes * @return {?} */ function (changes) { if (changes["schema"]) { this.schema = changes["schema"]["currentValue"]; this.registerForm(); } if (changes["settings"]) { this.settings = changes["settings"]["currentValue"]; this.formSettings = this.mergeFormSettings(this.formSettings, this.settings); this.submitButtonConfig = this.getSubmitButtonConfig(this.formSettings.submitButton); } }; /** * @return {?} */ NgxAntdJsonSchemaFormComponent.prototype.registerForm = /** * @return {?} */ function () { this.form = this.createGroup(this.schema); this.registeredForm.emit(this.form); this.handleEmitters(); this.onFormUpdate(); }; /** * @param {?} event * @return {?} */ NgxAntdJsonSchemaFormComponent.prototype.handleSubmit = /** * @param {?} event * @return {?} */ function (event) { event.preventDefault(); event.stopPropagation(); this.submit.emit(this.form.getRawValue()); }; /** * @return {?} */ NgxAntdJsonSchemaFormComponent.prototype.onFormUpdate = /** * @return {?} */ function () { var _this = this; this.form.valueChanges.subscribe((/** * @param {?} val * @return {?} */ function (val) { _this.schema.forEach((/** * @param {?} item * @return {?} */ function (item) { if (val[item.key] !== undefined) { item.value = val[item.key]; } })); _this.handleEmitters(); })); }; /** * @param {?} schema * @return {?} */ NgxAntdJsonSchemaFormComponent.prototype.createGroup = /** * @param {?} schema * @return {?} */ function (schema) { /** @type {?} */ var group = {}; if (schema) { schema.forEach((/** * @param {?} item * @return {?} */ function (item) { /** @type {?} */ var value = item.value !== undefined ? item.value : ""; /** @type {?} */ var formState = { value: value, disabled: item.disabled || false }; group[item.key] = item.required ? new FormControl(formState, Validators.required) : new FormControl(formState); })); } return new FormGroup(group); }; /** * @return {?} */ NgxAntdJsonSchemaFormComponent.prototype.handleEmitters = /** * @return {?} */ function () { /** @type {?} */ var isFormValid = this.form.valid; this.submitButtonConfig = this.getSubmitButtonConfig({ disabled: !isFormValid }); this.formValid.emit(isFormValid); if (this.form.dirty) { this.formChange.emit({ raw: this.form.getRawValue(), schema: this.schema }); this.formTouch.emit(this.form.dirty); } }; /** * @return {?} */ NgxAntdJsonSchemaFormComponent.prototype.getDefaultSettings = /** * @return {?} */ function () { /** @type {?} */ var formCommonSettings = { nzGutter: 8, itemClass: "", nzSpanLabel: 8, labelClass: "", nzSpanControl: 16, fieldClass: "" }; /** @type {?} */ var defaultSettings = (/** @type {?} */ (__assign({}, formCommonSettings, { submitButton: (/** @type {?} */ ({ show: true, label: "Submit", disabled: false })) }))); return JSON.parse(JSON.stringify(defaultSettings)); }; /** * @param {?=} newConfig * @return {?} */ NgxAntdJsonSchemaFormComponent.prototype.getSubmitButtonConfig = /** * @param {?=} newConfig * @return {?} */ function (newConfig) { if (newConfig === void 0) { newConfig = {}; } /** @type {?} */ var defaultConfig = Object.assign((/** @type {?} */ (__assign({ key: "submit", type: "button" }, this.formSettings.submitButton))), newConfig); this.formSettings.submitButton = defaultConfig; return JSON.parse(JSON.stringify(defaultConfig)); }; /** * @param {?} dest * @param {?} source * @return {?} */ NgxAntdJsonSchemaFormComponent.prototype.mergeFormSettings = /** * @param {?} dest * @param {?} source * @return {?} */ function (dest, source) { /** @type {?} */ var newSubmitButtonConfig = source.submitButton || {}; /** @type {?} */ var submitButtonConfig = Object.assign(dest.submitButton, newSubmitButtonConfig); /** @type {?} */ var settings = Object.assign(dest, source); settings.submitButton = submitButtonConfig; return settings; }; NgxAntdJsonSchemaFormComponent.decorators = [ { type: Component, args: [{ selector: "ngx-antd-json-schema-form", template: "<form *ngIf=\"form\" class=\"json-schema-form\" nz-form [formGroup]=\"form\" (submit)=\"handleSubmit($event)\">\n <ng-container *ngFor=\"let field of schema\" dynamicField [config]=\"field\" [settings]=\"formSettings\" [group]=\"form\">\n </ng-container>\n <json-schema-form-button\n *ngIf=\"formSettings.submitButton.show\"\n [group]=\"form\"\n [config]=\"submitButtonConfig\"\n [settings]=\"formSettings\"\n >\n </json-schema-form-button>\n</form>\n", encapsulation: ViewEncapsulation.None, styles: [".json-form-schema-field.ant-form-item{padding-bottom:0;margin-bottom:0}"] }] } ]; /** @nocollapse */ NgxAntdJsonSchemaFormComponent.ctorParameters = function () { return []; }; NgxAntdJsonSchemaFormComponent.propDecorators = { schema: [{ type: Input }], settings: [{ type: Input }], registeredForm: [{ type: Output }], formChange: [{ type: Output }], formTouch: [{ type: Output }], submit: [{ type: Output }], formValid: [{ type: Output }] }; return NgxAntdJsonSchemaFormComponent; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var FormButtonComponent = /** @class */ (function () { function FormButtonComponent() { } /** * @param {?} changes * @return {?} */ FormButtonComponent.prototype.ngOnChanges = /** * @param {?} changes * @return {?} */ function (changes) { if (changes["group"]) { this.group = changes["group"]["currentValue"]; } if (changes["config"]) { this.config = changes["config"]["currentValue"]; } if (changes["settings"]) { this.settings = changes["settings"]["currentValue"]; } }; FormButtonComponent.decorators = [ { type: Component, args: [{ selector: "json-schema-form-button", template: "<nz-form-item\n class=\"json-form-schema-field json-schema-form-button {{ config.itemClass ? config.itemClass : settings.itemClass }}\"\n [formGroup]=\"group\"\n nz-row\n [nzGutter]=\"config.nzGutter ? config.nzGutter : settings.nzGutter\"\n nzFlex\n>\n <nz-form-control\n nz-col\n [nzSpan]=\"config.nzSpanControl ? config.nzSpanControl : settings.nzSpanControl\"\n [nzOffset]=\"config.nzSpanLabel ? config.nzSpanLabel : settings.nzSpanLabel\"\n >\n <button\n nz-button\n nzType=\"primary\"\n [disabled]=\"config.disabled\"\n type=\"submit\"\n [ngClass]=\"config.fieldClass ? config.fieldClass : settings.fieldClass\"\n >\n {{ config.label }}\n </button>\n </nz-form-control>\n</nz-form-item>\n", styles: [".json-form-schema-field.ant-form-item{padding-bottom:0;margin-bottom:0}"] }] } ]; FormButtonComponent.propDecorators = { group: [{ type: Input }], config: [{ type: Input }], settings: [{ type: Input }] }; return FormButtonComponent; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var FormInputComponent = /** @class */ (function () { function FormInputComponent() { } FormInputComponent.decorators = [ { type: Component, args: [{ selector: "json-schema-form-input", template: "<nz-form-item\n *ngIf=\"!config.hidden\"\n class=\"json-form-schema-field {{ config.itemClass ? config.itemClass : settings.itemClass }}\"\n [formGroup]=\"group\"\n nz-row\n [nzGutter]=\"config.nzGutter ? config.nzGutter : settings.nzGutter\"\n nzFlex\n>\n <nz-form-label\n nz-col\n [nzSpan]=\"config.nzSpanLabel ? config.nzSpanLabel : settings.nzSpanLabel\"\n [nzRequired]=\"config.required\"\n [nzFor]=\"config.key\"\n [ngClass]=\"config.labelClass ? config.labelClass : settings.labelClass\"\n >\n <span [innerHTML]=\"config.label\"></span>\n </nz-form-label>\n <nz-form-control nz-col [nzSpan]=\"config.nzSpanControl ? config.nzSpanControl : settings.nzSpanControl\">\n <input\n nz-input\n [readonly]=\"config.readonly\"\n [formControlName]=\"config.key\"\n [id]=\"config.key\"\n [placeholder]=\"config.placeholder || config.label\"\n [ngClass]=\"config.fieldClass ? config.fieldClass : settings.fieldClass\"\n />\n <nz-form-explain *ngIf=\"group.get(config.key).dirty && group.get(config.key).errors\">\n Please enter {{ config.label }}\n </nz-form-explain>\n </nz-form-control>\n</nz-form-item>\n", styles: [".json-form-schema-field.ant-form-item{padding-bottom:0;margin-bottom:0}"] }] } ]; return FormInputComponent; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var FormCheckboxComponent = /** @class */ (function () { function FormCheckboxComponent() { } FormCheckboxComponent.decorators = [ { type: Component, args: [{ selector: "json-schema-form-checkbox", template: "<nz-form-item\n *ngIf=\"!config.hidden\"\n class=\"json-form-schema-field {{ config.itemClass ? config.itemClass : settings.itemClass }}\"\n [formGroup]=\"group\"\n nz-row\n [nzGutter]=\"config.nzGutter ? config.nzGutter : settings.nzGutter\"\n nzFlex\n>\n <nz-form-label\n nz-col\n [nzSpan]=\"config.nzSpanLabel ? config.nzSpanLabel : settings.nzSpanLabel\"\n [nzRequired]=\"config.required\"\n [nzFor]=\"config.key\"\n [ngClass]=\"config.labelClass ? config.labelClass : settings.labelClass\"\n >\n {{ config.label }}\n </nz-form-label>\n <nz-form-control nz-col [nzSpan]=\"config.nzSpanControl ? config.nzSpanControl : settings.nzSpanControl\">\n <label\n nz-checkbox\n [formControlName]=\"config.key\"\n [ngModel]=\"config.value\"\n [ngClass]=\"config.fieldClass ? config.fieldClass : settings.fieldClass\"\n >\n </label>\n </nz-form-control>\n</nz-form-item>\n", styles: [".json-form-schema-field.ant-form-item{padding-bottom:0;margin-bottom:0}"] }] } ]; return FormCheckboxComponent; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var FormSelectComponent = /** @class */ (function () { function FormSelectComponent() { } FormSelectComponent.decorators = [ { type: Component, args: [{ selector: "json-schema-form-select", template: "<nz-form-item\n *ngIf=\"!config.hidden\"\n class=\"json-form-schema-field {{ config.itemClass ? config.itemClass : settings.itemClass }}\"\n [formGroup]=\"group\"\n nz-row\n [nzGutter]=\"config.nzGutter ? config.nzGutter : settings.nzGutter\"\n nzFlex\n>\n <nz-form-label\n nz-col\n [nzSpan]=\"config.nzSpanLabel ? config.nzSpanLabel : settings.nzSpanLabel\"\n [nzRequired]=\"config.required\"\n [nzFor]=\"config.key\"\n [ngClass]=\"config.labelClass ? config.labelClass : settings.labelClass\"\n >\n <span [innerHTML]=\"config.label\"></span>\n </nz-form-label>\n <nz-form-control nz-col [nzSpan]=\"config.nzSpanControl ? config.nzSpanControl : settings.nzSpanControl\">\n <nz-select\n [formControlName]=\"config.key\"\n [(ngModel)]=\"config.value\"\n nzAllowClear\n [nzPlaceHolder]=\"config.placeholder || config.label\"\n [ngClass]=\"config.fieldClass ? config.fieldClass : settings.fieldClass\"\n >\n <nz-option\n *ngFor=\"let option of config.options\"\n [nzValue]=\"option.value\"\n [nzLabel]=\"option.label\"\n [nzDisabled]=\"option.disabled\"\n >\n </nz-option>\n </nz-select>\n <nz-form-explain *ngIf=\"group.get(config.key).dirty && group.get(config.key).errors\">\n Please choose an option\n </nz-form-explain>\n </nz-form-control>\n</nz-form-item>\n", styles: [".json-form-schema-field.ant-form-item{padding-bottom:0;margin-bottom:0}"] }] } ]; return FormSelectComponent; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var FormTextareaComponent = /** @class */ (function () { function FormTextareaComponent() { } FormTextareaComponent.decorators = [ { type: Component, args: [{ selector: "json-schema-form-textarea", template: "<nz-form-item\n *ngIf=\"!config.hidden\"\n class=\"json-form-schema-field {{ config.itemClass ? config.itemClass : settings.itemClass }}\"\n [formGroup]=\"group\"\n nz-row\n [nzGutter]=\"config.nzGutter ? config.nzGutter : settings.nzGutter\"\n nzFlex\n>\n <nz-form-label\n nz-col\n [nzSpan]=\"config.nzSpanLabel ? config.nzSpanLabel : settings.nzSpanLabel\"\n [nzRequired]=\"config.required\"\n [nzFor]=\"config.key\"\n [ngClass]=\"config.labelClass ? config.labelClass : settings.labelClass\"\n >\n {{ config.label }}\n </nz-form-label>\n <nz-form-control nz-col [nzSpan]=\"config.nzSpanControl ? config.nzSpanControl : settings.nzSpanControl\">\n <textarea\n rows=\"6\"\n nz-input\n [readonly]=\"config.readonly\"\n [formControlName]=\"config.key\"\n [id]=\"config.key\"\n [placeholder]=\"config.placeholder || config.label\"\n [ngClass]=\"config.fieldClass ? config.fieldClass : settings.fieldClass\"\n ></textarea>\n <nz-form-explain *ngIf=\"group.get(config.key).dirty && group.get(config.key).errors\">\n Please enter {{ config.label }}\n </nz-form-explain>\n </nz-form-control>\n</nz-form-item>\n", styles: [".json-form-schema-field.ant-form-item{padding-bottom:0;margin-bottom:0}"] }] } ]; return FormTextareaComponent; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var FormPrismComponent = /** @class */ (function () { function FormPrismComponent() { } /** * @return {?} */ FormPrismComponent.prototype.onContentChanged = /** * @return {?} */ function () { this.codeViewChild.nativeElement.innerHTML = this.config.value ? this.encodeEntities(this.config.value) : this.rawViewChild.nativeElement.innerHTML; Prism.highlightElement(this.codeViewChild.nativeElement); }; /** * @return {?} */ FormPrismComponent.prototype.ngAfterViewInit = /** * @return {?} */ function () { this.observer.observe(this.rawViewChild.nativeElement, { characterData: true, childList: true, subtree: true }); this.onContentChanged(); }; /** * @return {?} */ FormPrismComponent.prototype.ngOnChanges = /** * @return {?} */ function () { this.onContentChanged(); }; /** * @return {?} */ FormPrismComponent.prototype.ngAfterContentInit = /** * @return {?} */ function () { this.observer = new MutationObserver(this.onContentChanged.bind(this)); }; /** * @return {?} */ FormPrismComponent.prototype.ngOnDestroy = /** * @return {?} */ function () { if (this.observer) { this.observer.disconnect(); } }; /** * @param {?} value * @return {?} */ FormPrismComponent.prototype.encodeEntities = /** * @param {?} value * @return {?} */ function (value) { return value .replace(/&/g, "&amp;") .replace(/"/g, "&quot;") .replace(/'/g, "&#39;") .replace(/</g, "&lt;") .replace(/>/g, "&gt;"); }; FormPrismComponent.decorators = [ { type: Component, args: [{ selector: "json-schema-form-prism", template: "<nz-form-item\n *ngIf=\"!config.hidden\"\n class=\"json-form-schema-field {{ config.itemClass ? config.itemClass : settings.itemClass }}\"\n [formGroup]=\"group\"\n nz-row\n [nzGutter]=\"config.nzGutter ? config.nzGutter : settings.nzGutter\"\n nzFlex\n>\n <nz-form-label\n nz-col\n [nzSpan]=\"config.nzSpanLabel ? config.nzSpanLabel : settings.nzSpanLabel\"\n [nzRequired]=\"config.required\"\n [nzFor]=\"config.key\"\n [ngClass]=\"config.labelClass ? config.labelClass : settings.labelClass\"\n >\n {{ config.label }}\n </nz-form-label>\n <nz-form-control nz-col [nzSpan]=\"config.nzSpanControl ? config.nzSpanControl : settings.nzSpanControl\">\n <div hidden #raw style=\"display: none\">\n <ng-content></ng-content>\n </div>\n <pre class=\"prism-pre\" [ngClass]=\"config.fieldClass ? config.fieldClass : settings.fieldClass\">\n <code class=\"prism-code language-{{config.language}}\" #code></code>\n </pre>\n </nz-form-control>\n</nz-form-item>\n", styles: [".json-form-schema-field.ant-form-item{padding-bottom:0;margin-bottom:0}pre.prism-pre{white-space:inherit;background:#f5f5f5;border:1px solid #d9d9d9;border-radius:4px}code.prism-code{word-break:break-all;white-space:pre-wrap}"] }] } ]; /** @nocollapse */ FormPrismComponent.ctorParameters = function () { return []; }; FormPrismComponent.propDecorators = { rawViewChild: [{ type: ViewChild, args: ["raw",] }], codeViewChild: [{ type: ViewChild, args: ["code",] }] }; return FormPrismComponent; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var FormRadioComponent = /** @class */ (function () { function FormRadioComponent() { } FormRadioComponent.decorators = [ { type: Component, args: [{ selector: "json-schema-form-radio", template: "<nz-form-item\n *ngIf=\"!config.hidden\"\n class=\"json-form-schema-field {{ config.itemClass ? config.itemClass : settings.itemClass }}\"\n [formGroup]=\"group\"\n nz-row\n [nzGutter]=\"config.nzGutter ? config.nzGutter : settings.nzGutter\"\n nzFlex\n>\n <nz-form-label\n nz-col\n [nzSpan]=\"config.nzSpanLabel ? config.nzSpanLabel : settings.nzSpanLabel\"\n [nzRequired]=\"config.required\"\n [nzFor]=\"config.key\"\n [ngClass]=\"config.labelClass ? config.labelClass : settings.labelClass\"\n >\n {{ config.label }}\n </nz-form-label>\n <nz-form-control nz-col [nzSpan]=\"config.nzSpanControl ? config.nzSpanControl : settings.nzSpanControl\">\n <nz-radio-group\n [formControlName]=\"config.key\"\n [(ngModel)]=\"config.value\"\n nzName=\"{{ config.key }}-radio-group\"\n [nzButtonStyle]=\"'solid'\"\n >\n <label\n [hidden]=\"config.type === 'radio-button'\"\n *ngFor=\"let option of config.options\"\n nz-radio\n [nzValue]=\"option.value\"\n [ngClass]=\"config.fieldClass ? config.fieldClass : settings.fieldClass\"\n >\n {{ option.label }}\n </label>\n <label\n [hidden]=\"config.type === 'radio'\"\n *ngFor=\"let option of config.options\"\n nz-radio-button\n [nzValue]=\"option.value\"\n [ngClass]=\"config.fieldClass ? config.fieldClass : settings.fieldClass\"\n >\n {{ option.label }}\n </label>\n </nz-radio-group>\n </nz-form-control>\n</nz-form-item>\n", styles: [".json-form-schema-field.ant-form-item{padding-bottom:0;margin-bottom:0}"] }] } ]; return FormRadioComponent; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var FormIconComponent = /** @class */ (function () { function FormIconComponent(sanitizer) { this.sanitizer = sanitizer; } /** * @param {?} style * @return {?} */ FormIconComponent.prototype.sanitizeStyle = /** * @param {?} style * @return {?} */ function (style) { if (style) { return this.sanitizer.bypassSecurityTrustStyle(style); } }; FormIconComponent.decorators = [ { type: Component, args: [{ selector: "json-schema-form-icon", template: "<nz-form-item\n *ngIf=\"!config.hidden\"\n class=\"json-form-schema-field {{ config.itemClass ? config.itemClass : settings.itemClass }}\"\n [formGroup]=\"group\"\n nz-row\n [nzGutter]=\"config.nzGutter ? config.nzGutter : settings.nzGutter\"\n nzFlex\n>\n <nz-form-label\n nz-col\n [nzSpan]=\"config.nzSpanLabel ? config.nzSpanLabel : settings.nzSpanLabel\"\n [nzRequired]=\"config.required\"\n [nzFor]=\"config.key\"\n [ngClass]=\"config.labelClass ? config.labelClass : settings.labelClass\"\n >\n {{ config.label }}\n </nz-form-label>\n <nz-form-control nz-col [nzSpan]=\"config.nzSpanControl ? config.nzSpanControl : settings.nzSpanControl\">\n <i\n nz-icon\n [nzType]=\"config.icon.type\"\n [nzTheme]=\"config.icon.theme\"\n [nzSpin]=\"config.icon.spin\"\n [nzTwotoneColor]=\"config.icon.twotoneColor\"\n [nzIconfont]=\"config.icon.iconFont\"\n [nzRotate]=\"config.icon.rotate\"\n [ngClass]=\"config.icon.class\"\n >\n </i>\n </nz-form-control>\n</nz-form-item>\n", styles: [".json-form-schema-field.ant-form-item{padding-bottom:0;margin-bottom:0}"] }] } ]; /** @nocollapse */ FormIconComponent.ctorParameters = function () { return [ { type: DomSanitizer } ]; }; return FormIconComponent; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** @type {?} */ var components = { button: FormButtonComponent, input: FormInputComponent, select: FormSelectComponent, checkbox: FormCheckboxComponent, radio: FormRadioComponent, "radio-button": FormRadioComponent, textarea: FormTextareaComponent, prism: FormPrismComponent, icon: FormIconComponent }; var DynamicFieldDirective = /** @class */ (function () { function DynamicFieldDirective(resolver, container) { this.resolver = resolver; this.container = container; } Object.defineProperty(DynamicFieldDirective.prototype, "isValid", { get: /** * @return {?} */ function () { return this.group.controls[this.config.key].valid; }, enumerable: true, configurable: true }); /** * @return {?} */ DynamicFieldDirective.prototype.ngOnChanges = /** * @return {?} */ function () { if (this.component) { this.component.instance.group = this.group; this.component.instance.config = this.config; this.component.instance.settings = this.settings; } }; /** * @return {?} */ DynamicFieldDirective.prototype.ngOnInit = /** * @return {?} */ function () { if (!components[this.config.type]) { /** @type {?} */ var supportedTypes = Object.keys(components).join(", "); throw new Error("Trying to use an unsupported type (" + this.config.type + ").\n Supported types: " + supportedTypes); } /** @type {?} */ var component = this.resolver.resolveComponentFactory(components[this.config.type]); this.component = this.container.createComponent(component); this.component.instance.group = this.group; this.component.instance.config = this.config; this.component.instance.settings = this.settings; }; DynamicFieldDirective.decorators = [ { type: Directive, args: [{ selector: "[dynamicField]" },] } ]; /** @nocollapse */ DynamicFieldDirective.ctorParameters = function () { return [ { type: ComponentFactoryResolver }, { type: ViewContainerRef } ]; }; DynamicFieldDirective.propDecorators = { group: [{ type: Input }], config: [{ type: Input }], settings: [{ type: Input }] }; return DynamicFieldDirective; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ registerLocaleData(en); /** @type {?} */ var childComponents = [ FormButtonComponent, FormInputComponent, FormSelectComponent, FormCheckboxComponent, FormRadioComponent, FormTextareaComponent, FormPrismComponent, FormIconComponent ]; var ɵ0 = en_US; var NgxAntdJsonSchemaFormModule = /** @class */ (function () { function NgxAntdJsonSchemaFormModule() { } NgxAntdJsonSchemaFormModule.decorators = [ { type: NgModule, args: [{ declarations: __spread([NgxAntdJsonSchemaFormComponent, DynamicFieldDirective], childComponents), imports: [BrowserModule, NgZorroAntdModule, FormsModule, ReactiveFormsModule, BrowserAnimationsModule], providers: [{ provide: NZ_I18N, useValue: ɵ0 }], entryComponents: childComponents, exports: [NgxAntdJsonSchemaFormComponent] },] } ]; return NgxAntdJsonSchemaFormModule; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ export { NgxAntdJsonSchemaFormComponent, NgxAntdJsonSchemaFormModule, FormButtonComponent as ɵb, FormCheckboxComponent as ɵe, FormIconComponent as ɵi, FormInputComponent as ɵc, FormPrismComponent as ɵh, FormRadioComponent as ɵf, FormSelectComponent as ɵd, FormTextareaComponent as ɵg, DynamicFieldDirective as ɵa }; //# sourceMappingURL=ngx-antd-json-schema-form.js.map