ngx-config-form
Version:
use configuration to generate form
72 lines • 5.05 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { FormGroup, FormControl } from '@angular/forms';
var Utils = /** @class */ (function () {
function Utils() {
}
/**
* @param {?} info
* @return {?}
*/
Utils.getErrorMsgs = /**
* @param {?} info
* @return {?}
*/
function (info) {
/** @type {?} */
var obj = info['_errMsg_'];
/** @type {?} */
var arr = [];
if (obj) {
Object.keys(obj).forEach((/**
* @param {?} prop
* @return {?}
*/
function (prop) {
Object.keys(obj[prop]).forEach((/**
* @param {?} propChild
* @return {?}
*/
function (propChild) {
/** @type {?} */
var item = obj[prop][propChild];
if (item.dirty) {
arr.push(item['msg']);
}
}));
}));
}
return arr;
};
/**
* @param {?} formGroup
* @return {?}
*/
Utils.validateAllFormFields = /**
* @param {?} formGroup
* @return {?}
*/
function (formGroup) {
Object.keys(formGroup.controls).forEach((/**
* @param {?} field
* @return {?}
*/
function (field) {
/** @type {?} */
var control = formGroup.get(field);
if (control instanceof FormControl) {
control.markAsDirty({ onlySelf: true });
control.markAsTouched({ onlySelf: true });
control.updateValueAndValidity({ onlySelf: true, emitEvent: true });
}
else if (control instanceof FormGroup) {
Utils.validateAllFormFields(control);
}
}));
};
return Utils;
}());
export { Utils };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtY29uZmlnLWZvcm0vIiwic291cmNlcyI6WyJsaWIvY29tbW9uL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXhEO0lBQUE7SUErQkEsQ0FBQzs7Ozs7SUE3QlEsa0JBQVk7Ozs7SUFBbkIsVUFBb0IsSUFBWTs7WUFDeEIsR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7O1lBQ3RCLEdBQUcsR0FBRyxFQUFFO1FBQ2QsSUFBSSxHQUFHLEVBQUU7WUFDUCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU87Ozs7WUFBQyxVQUFBLElBQUk7Z0JBQzNCLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTzs7OztnQkFBQyxVQUFBLFNBQVM7O3dCQUNoQyxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQztvQkFDakMsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO3dCQUNkLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7cUJBQ3ZCO2dCQUNILENBQUMsRUFBQyxDQUFDO1lBQ0wsQ0FBQyxFQUFDLENBQUM7U0FDSjtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQzs7Ozs7SUFFTSwyQkFBcUI7Ozs7SUFBNUIsVUFBNkIsU0FBb0I7UUFDL0MsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTzs7OztRQUFDLFVBQUEsS0FBSzs7Z0JBQ3JDLE9BQU8sR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUNwQyxJQUFJLE9BQU8sWUFBWSxXQUFXLEVBQUU7Z0JBQ2xDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDeEMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO2dCQUMxQyxPQUFPLENBQUMsc0JBQXNCLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO2FBQ3JFO2lCQUFNLElBQUksT0FBTyxZQUFZLFNBQVMsRUFBRTtnQkFDdkMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQ3RDO1FBQ0gsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDO0lBRUgsWUFBQztBQUFELENBQUMsQUEvQkQsSUErQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5leHBvcnQgY2xhc3MgVXRpbHMge1xuXG4gIHN0YXRpYyBnZXRFcnJvck1zZ3MoaW5mbzogb2JqZWN0KSB7XG4gICAgY29uc3Qgb2JqID0gaW5mb1snX2Vyck1zZ18nXTtcbiAgICBjb25zdCBhcnIgPSBbXTtcbiAgICBpZiAob2JqKSB7XG4gICAgICBPYmplY3Qua2V5cyhvYmopLmZvckVhY2gocHJvcCA9PiB7XG4gICAgICAgIE9iamVjdC5rZXlzKG9ialtwcm9wXSkuZm9yRWFjaChwcm9wQ2hpbGQgPT4ge1xuICAgICAgICAgIGNvbnN0IGl0ZW0gPSBvYmpbcHJvcF1bcHJvcENoaWxkXTtcbiAgICAgICAgICBpZiAoaXRlbS5kaXJ0eSkge1xuICAgICAgICAgICAgYXJyLnB1c2goaXRlbVsnbXNnJ10pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGFycjtcbiAgfVxuXG4gIHN0YXRpYyB2YWxpZGF0ZUFsbEZvcm1GaWVsZHMoZm9ybUdyb3VwOiBGb3JtR3JvdXApIHtcbiAgICBPYmplY3Qua2V5cyhmb3JtR3JvdXAuY29udHJvbHMpLmZvckVhY2goZmllbGQgPT4ge1xuICAgICAgY29uc3QgY29udHJvbCA9IGZvcm1Hcm91cC5nZXQoZmllbGQpO1xuICAgICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQ29udHJvbCkge1xuICAgICAgICBjb250cm9sLm1hcmtBc0RpcnR5KHsgb25seVNlbGY6IHRydWUgfSk7XG4gICAgICAgIGNvbnRyb2wubWFya0FzVG91Y2hlZCh7IG9ubHlTZWxmOiB0cnVlIH0pO1xuICAgICAgICBjb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoeyBvbmx5U2VsZjogdHJ1ZSwgZW1pdEV2ZW50OiB0cnVlIH0pO1xuICAgICAgfSBlbHNlIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUdyb3VwKSB7XG4gICAgICAgIFV0aWxzLnZhbGlkYXRlQWxsRm9ybUZpZWxkcyhjb250cm9sKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG59XG4iXX0=