UNPKG

angular-dynamic-forms-lite

Version:
59 lines 5.7 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { DynamicSingleController } from "./dynamic-single-controller"; export class SingleFieldFactory { /** * @param {?} parentFieldFactory * @param {?} formBuilder */ constructor(parentFieldFactory, formBuilder) { this.parentFieldFactory = parentFieldFactory; this.formBuilder = formBuilder; } /** * @template M * @param {?} __0 * @return {?} */ create({ initialValue: value, formControl, setting, settings }) { if (!formControl) { formControl = this.formBuilder.control(value); formControl.setValidators(setting.validators ? setting.validators : []); formControl.setAsyncValidators(setting.asyncValidators ? setting.asyncValidators : []); } /** @type {?} */ const dynamicController = new DynamicSingleController(formControl, this.parentFieldFactory, setting, settings); return this.parentFieldFactory.resolveComponent(formControl, setting, value, dynamicController); } /** * @param {?} formRoot * @param {?} root * @return {?} */ render(formRoot, root) { /** @type {?} */ const viewRef = formRoot.viewContainerRef.insert(root.componentRef.hostView); viewRef.detectChanges(); return viewRef; } /** * @param {?} context * @return {?} */ updateChildren(context) { } } if (false) { /** * @type {?} * @private */ SingleFieldFactory.prototype.parentFieldFactory; /** * @type {?} * @private */ SingleFieldFactory.prototype.formBuilder; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLWZpZWxkLWZhY3RvcnkuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLWR5bmFtaWMtZm9ybXMtbGl0ZS8iLCJzb3VyY2VzIjpbImxpYi9mb3JtLWZpZWxkL3NpbmdsZS9zaW5nbGUtZmllbGQtZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBRUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFNdEUsTUFBTSxPQUFPLGtCQUFrQjs7Ozs7SUFDN0IsWUFBb0Isa0JBQXNDLEVBQVUsV0FBd0I7UUFBeEUsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBQUcsQ0FBQzs7Ozs7O0lBRXpGLE1BQU0sQ0FBSSxFQUNmLFlBQVksRUFBRSxLQUFLLEVBQ25CLFdBQVcsRUFDWCxPQUFPLEVBQ1AsUUFBUSxFQUM0RDtRQUNwRSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2hCLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM5QyxXQUFXLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3hFLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUN4Rjs7Y0FFSyxpQkFBaUIsR0FBRyxJQUFJLHVCQUF1QixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQztRQUU5RyxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBaUIsV0FBVyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUNsSCxDQUFDOzs7Ozs7SUFFTSxNQUFNLENBQUMsUUFBMkIsRUFBRSxJQUFtQzs7Y0FDdEUsT0FBTyxHQUFHLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUM7UUFDNUUsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3hCLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Ozs7O0lBRU0sY0FBYyxDQUFDLE9BQXNDLElBQUcsQ0FBQztDQUNqRTs7Ozs7O0lBMUJhLGdEQUE4Qzs7Ozs7SUFBRSx5Q0FBZ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUJ1aWxkZXIgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IEZpZWxkRmFjdG9yeSwgUGFyZW50RmllbGRGYWN0b3J5LCBDcmVhdGVGb3JtQ29udGV4dE9wdGlvbnMgfSBmcm9tIFwiLi4vZmllbGQtZmFjdG9yeVwiO1xuaW1wb3J0IHsgRHluYW1pY1NpbmdsZUNvbnRyb2xsZXIgfSBmcm9tIFwiLi9keW5hbWljLXNpbmdsZS1jb250cm9sbGVyXCI7XG5pbXBvcnQgeyBTaW5nbGVGb3JtRmllbGRTZXR0aW5nIH0gZnJvbSBcIi4vc2luZ2xlLWZvcm0tZmllbGQtc2V0dGluZ1wiO1xuaW1wb3J0IHsgRm9ybUNvbnRleHQgfSBmcm9tIFwiLi4vLi4vZm9ybS9mb3JtLWNvbnRleHRcIjtcbmltcG9ydCB7IEZvcm1Sb290RGlyZWN0aXZlIH0gZnJvbSBcIi4uLy4uL2Zvcm0vZm9ybS1yb290LmRpcmVjdGl2ZVwiO1xuaW1wb3J0IHsgVmlld1JlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmV4cG9ydCBjbGFzcyBTaW5nbGVGaWVsZEZhY3RvcnkgaW1wbGVtZW50cyBGaWVsZEZhY3Rvcnk8Rm9ybUNvbnRyb2wsIFNpbmdsZUZvcm1GaWVsZFNldHRpbmc8YW55Pj4ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBhcmVudEZpZWxkRmFjdG9yeTogUGFyZW50RmllbGRGYWN0b3J5LCBwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcikge31cblxuICBwdWJsaWMgY3JlYXRlPE0+KHtcbiAgICBpbml0aWFsVmFsdWU6IHZhbHVlLFxuICAgIGZvcm1Db250cm9sLFxuICAgIHNldHRpbmcsXG4gICAgc2V0dGluZ3NcbiAgfTogQ3JlYXRlRm9ybUNvbnRleHRPcHRpb25zPE0sIEZvcm1Db250cm9sLCBTaW5nbGVGb3JtRmllbGRTZXR0aW5nPE0+Pik6IEZvcm1Db250ZXh0PE0sIEZvcm1Db250cm9sPiB7XG4gICAgaWYgKCFmb3JtQ29udHJvbCkge1xuICAgICAgZm9ybUNvbnRyb2wgPSB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2wodmFsdWUpO1xuICAgICAgZm9ybUNvbnRyb2wuc2V0VmFsaWRhdG9ycyhzZXR0aW5nLnZhbGlkYXRvcnMgPyBzZXR0aW5nLnZhbGlkYXRvcnMgOiBbXSk7XG4gICAgICBmb3JtQ29udHJvbC5zZXRBc3luY1ZhbGlkYXRvcnMoc2V0dGluZy5hc3luY1ZhbGlkYXRvcnMgPyBzZXR0aW5nLmFzeW5jVmFsaWRhdG9ycyA6IFtdKTtcbiAgICB9XG5cbiAgICBjb25zdCBkeW5hbWljQ29udHJvbGxlciA9IG5ldyBEeW5hbWljU2luZ2xlQ29udHJvbGxlcihmb3JtQ29udHJvbCwgdGhpcy5wYXJlbnRGaWVsZEZhY3RvcnksIHNldHRpbmcsIHNldHRpbmdzKTtcblxuICAgIHJldHVybiB0aGlzLnBhcmVudEZpZWxkRmFjdG9yeS5yZXNvbHZlQ29tcG9uZW50PE0sIEZvcm1Db250cm9sPihmb3JtQ29udHJvbCwgc2V0dGluZywgdmFsdWUsIGR5bmFtaWNDb250cm9sbGVyKTtcbiAgfVxuXG4gIHB1YmxpYyByZW5kZXIoZm9ybVJvb3Q6IEZvcm1Sb290RGlyZWN0aXZlLCByb290OiBGb3JtQ29udGV4dDxhbnksIEZvcm1Db250cm9sPik6IFZpZXdSZWYge1xuICAgIGNvbnN0IHZpZXdSZWYgPSBmb3JtUm9vdC52aWV3Q29udGFpbmVyUmVmLmluc2VydChyb290LmNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG4gICAgdmlld1JlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgcmV0dXJuIHZpZXdSZWY7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlQ2hpbGRyZW4oY29udGV4dDogRm9ybUNvbnRleHQ8YW55LCBGb3JtQ29udHJvbD4pIHt9XG59XG4iXX0=