angular-dynamic-forms-lite
Version:
Efficient dynamic and customizable Angular 7+ forms.
58 lines • 4.56 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
export class HiddenFieldFactory {
/**
* @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 : []);
}
return (/** @type {?} */ ({
initialValue: value,
formControl,
setting,
settings,
componentRef: null,
children: []
}));
}
/**
* @return {?}
*/
render() {
// hidden fields are not rendered
return null;
}
/**
* @return {?}
*/
updateChildren() { }
}
if (false) {
/**
* @type {?}
* @private
*/
HiddenFieldFactory.prototype.parentFieldFactory;
/**
* @type {?}
* @private
*/
HiddenFieldFactory.prototype.formBuilder;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlkZGVuLWZpZWxkLWZhY3RvcnkuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLWR5bmFtaWMtZm9ybXMtbGl0ZS8iLCJzb3VyY2VzIjpbImxpYi9mb3JtLWZpZWxkL2hpZGRlbi9oaWRkZW4tZmllbGQtZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBTUEsTUFBTSxPQUFPLGtCQUFrQjs7Ozs7SUFDN0IsWUFBb0Isa0JBQXNDLEVBQVUsV0FBd0I7UUFBeEUsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBQUcsQ0FBQzs7Ozs7O0lBRXpGLE1BQU0sQ0FBSSxFQUNmLFlBQVksRUFBRSxLQUFLLEVBQ25CLFdBQVcsRUFDWCxPQUFPLEVBQ1AsUUFBUSxFQUM0RDtRQUNwRSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2hCLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM5QyxXQUFXLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3hFLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUN4RjtRQUVELE9BQU8sbUJBQUE7WUFDTCxZQUFZLEVBQUUsS0FBSztZQUNuQixXQUFXO1lBQ1gsT0FBTztZQUNQLFFBQVE7WUFDUixZQUFZLEVBQUUsSUFBSTtZQUNsQixRQUFRLEVBQUUsRUFBRTtTQUNiLEVBQStCLENBQUM7SUFDbkMsQ0FBQzs7OztJQUVNLE1BQU07UUFDWCxpQ0FBaUM7UUFDakMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzs7O0lBRU0sY0FBYyxLQUFJLENBQUM7Q0FDM0I7Ozs7OztJQTlCYSxnREFBOEM7Ozs7O0lBQUUseUNBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmllbGRGYWN0b3J5LCBQYXJlbnRGaWVsZEZhY3RvcnksIENyZWF0ZUZvcm1Db250ZXh0T3B0aW9ucyB9IGZyb20gXCIuLi9maWVsZC1mYWN0b3J5XCI7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUJ1aWxkZXIgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IEhpZGRlbkZvcm1GaWVsZFNldHRpbmcgfSBmcm9tIFwiLi9oaWRkZW4tZm9ybS1maWVsZC1zZXR0aW5nXCI7XG5pbXBvcnQgeyBGb3JtQ29udGV4dCB9IGZyb20gXCIuLi8uLi9mb3JtL2Zvcm0tY29udGV4dFwiO1xuaW1wb3J0IHsgVmlld1JlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmV4cG9ydCBjbGFzcyBIaWRkZW5GaWVsZEZhY3RvcnkgaW1wbGVtZW50cyBGaWVsZEZhY3Rvcnk8Rm9ybUNvbnRyb2wsIEhpZGRlbkZvcm1GaWVsZFNldHRpbmc8YW55Pj4ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBhcmVudEZpZWxkRmFjdG9yeTogUGFyZW50RmllbGRGYWN0b3J5LCBwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcikge31cblxuICBwdWJsaWMgY3JlYXRlPE0+KHtcbiAgICBpbml0aWFsVmFsdWU6IHZhbHVlLFxuICAgIGZvcm1Db250cm9sLFxuICAgIHNldHRpbmcsXG4gICAgc2V0dGluZ3NcbiAgfTogQ3JlYXRlRm9ybUNvbnRleHRPcHRpb25zPE0sIEZvcm1Db250cm9sLCBIaWRkZW5Gb3JtRmllbGRTZXR0aW5nPE0+Pik6IEZvcm1Db250ZXh0PE0sIEZvcm1Db250cm9sPiB7XG4gICAgaWYgKCFmb3JtQ29udHJvbCkge1xuICAgICAgZm9ybUNvbnRyb2wgPSB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2wodmFsdWUpO1xuICAgICAgZm9ybUNvbnRyb2wuc2V0VmFsaWRhdG9ycyhzZXR0aW5nLnZhbGlkYXRvcnMgPyBzZXR0aW5nLnZhbGlkYXRvcnMgOiBbXSk7XG4gICAgICBmb3JtQ29udHJvbC5zZXRBc3luY1ZhbGlkYXRvcnMoc2V0dGluZy5hc3luY1ZhbGlkYXRvcnMgPyBzZXR0aW5nLmFzeW5jVmFsaWRhdG9ycyA6IFtdKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgaW5pdGlhbFZhbHVlOiB2YWx1ZSxcbiAgICAgIGZvcm1Db250cm9sLFxuICAgICAgc2V0dGluZyxcbiAgICAgIHNldHRpbmdzLFxuICAgICAgY29tcG9uZW50UmVmOiBudWxsLFxuICAgICAgY2hpbGRyZW46IFtdXG4gICAgfSBhcyBGb3JtQ29udGV4dDxNLCBGb3JtQ29udHJvbD47XG4gIH1cblxuICBwdWJsaWMgcmVuZGVyKCk6IFZpZXdSZWYge1xuICAgIC8vIGhpZGRlbiBmaWVsZHMgYXJlIG5vdCByZW5kZXJlZFxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZUNoaWxkcmVuKCkge31cbn1cbiJdfQ==