UNPKG

ng-fveh

Version:

NG-FVEH - Some helpers to help you with form validation :)

41 lines (40 loc) 3.75 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ /** * @param {?} controls * @return {?} */ function markControlsAsTouched(controls) { Object.keys(controls).forEach(function (field) { var /** @type {?} */ formGroup = /** @type {?} */ (controls[field]); if (formGroup.controls) { var /** @type {?} */ groupControls = formGroup.controls; markControlsAsTouched(groupControls); } else { formGroup.markAsTouched({ onlySelf: true }); } }); } /** * @param {?} formName * @return {?} */ export function FvehFormIsValid(formName) { return function (target, decoratedPropOrFunctionName, descriptor) { var /** @type {?} */ originalMethod = descriptor.value; descriptor.value = function () { var /** @type {?} */ form = this[formName]; if (form.valid) { originalMethod.apply(this, arguments); } else { markControlsAsTouched(form.controls); } }; return descriptor; }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pcy12YWxpZC5kZWNvcmF0b3IuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1mdmVoLyIsInNvdXJjZXMiOlsibGliL2RlY29yYXRvcnMvZm9ybS1pcy12YWxpZC5kZWNvcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFFQSwrQkFBK0IsUUFBNEM7SUFDekUsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBQSxLQUFLO1FBQ2pDLHFCQUFNLFNBQVMscUJBQUcsUUFBUSxDQUFDLEtBQUssQ0FBYyxDQUFBLENBQUM7UUFFL0MsSUFBSSxTQUFTLENBQUMsUUFBUSxFQUFFO1lBQ3RCLHFCQUFNLGFBQWEsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDO1lBQ3pDLHFCQUFxQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3RDO2FBQU07WUFDTCxTQUFTLENBQUMsYUFBYSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7U0FDN0M7S0FDRixDQUFDLENBQUM7Q0FDSjs7Ozs7QUFFRCxNQUFNLDBCQUEwQixRQUFnQjtJQUM5QyxPQUFPLFVBQ0wsTUFBVyxFQUNYLDJCQUFtQyxFQUNuQyxVQUE4QjtRQUU5QixxQkFBTSxjQUFjLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztRQUV4QyxVQUFVLENBQUMsS0FBSyxHQUFHO1lBQ2pCLHFCQUFNLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDNUIsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNkLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO2FBQ3ZDO2lCQUFNO2dCQUNMLHFCQUFxQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUN0QztTQUNGLENBQUM7UUFFRixPQUFPLFVBQVUsQ0FBQztLQUNuQixDQUFDO0NBQ0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmZ1bmN0aW9uIG1hcmtDb250cm9sc0FzVG91Y2hlZChjb250cm9sczogeyBba2V5OiBzdHJpbmddOiBBYnN0cmFjdENvbnRyb2wgfSkge1xyXG4gIE9iamVjdC5rZXlzKGNvbnRyb2xzKS5mb3JFYWNoKGZpZWxkID0+IHtcclxuICAgIGNvbnN0IGZvcm1Hcm91cCA9IGNvbnRyb2xzW2ZpZWxkXSBhcyBGb3JtR3JvdXA7XHJcblxyXG4gICAgaWYgKGZvcm1Hcm91cC5jb250cm9scykge1xyXG4gICAgICBjb25zdCBncm91cENvbnRyb2xzID0gZm9ybUdyb3VwLmNvbnRyb2xzO1xyXG4gICAgICBtYXJrQ29udHJvbHNBc1RvdWNoZWQoZ3JvdXBDb250cm9scyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBmb3JtR3JvdXAubWFya0FzVG91Y2hlZCh7IG9ubHlTZWxmOiB0cnVlIH0pO1xyXG4gICAgfVxyXG4gIH0pO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gRnZlaEZvcm1Jc1ZhbGlkKGZvcm1OYW1lOiBzdHJpbmcpIHtcclxuICByZXR1cm4gZnVuY3Rpb24oXHJcbiAgICB0YXJnZXQ6IGFueSxcclxuICAgIGRlY29yYXRlZFByb3BPckZ1bmN0aW9uTmFtZTogc3RyaW5nLFxyXG4gICAgZGVzY3JpcHRvcjogUHJvcGVydHlEZXNjcmlwdG9yLFxyXG4gICkge1xyXG4gICAgY29uc3Qgb3JpZ2luYWxNZXRob2QgPSBkZXNjcmlwdG9yLnZhbHVlO1xyXG5cclxuICAgIGRlc2NyaXB0b3IudmFsdWUgPSBmdW5jdGlvbigpIHtcclxuICAgICAgY29uc3QgZm9ybSA9IHRoaXNbZm9ybU5hbWVdO1xyXG4gICAgICBpZiAoZm9ybS52YWxpZCkge1xyXG4gICAgICAgIG9yaWdpbmFsTWV0aG9kLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgbWFya0NvbnRyb2xzQXNUb3VjaGVkKGZvcm0uY29udHJvbHMpO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG5cclxuICAgIHJldHVybiBkZXNjcmlwdG9yO1xyXG4gIH07XHJcbn1cclxuIl19