@taiga-ui/cdk
Version:
Base library for creating Angular components and applications using Taiga UI principles regarding of actual visual appearance
16 lines • 2.4 kB
JavaScript
import { FormArray, FormGroup } from '@angular/forms';
export function tuiMarkControlAsTouchedAndValidate(control) {
if (control instanceof FormArray) {
control.controls.forEach((nestedControl) => {
tuiMarkControlAsTouchedAndValidate(nestedControl);
});
}
if (control instanceof FormGroup) {
Object.values(control.controls).forEach((nestedControl) => {
tuiMarkControlAsTouchedAndValidate(nestedControl);
});
}
control.markAsTouched();
control.updateValueAndValidity();
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFyay1jb250cm9sLWFzLXRvdWNoZWQtYW5kLXZhbGlkYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMvbWFyay1jb250cm9sLWFzLXRvdWNoZWQtYW5kLXZhbGlkYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxTQUFTLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEQsTUFBTSxVQUFVLGtDQUFrQyxDQUFDLE9BQXdCO0lBQ3ZFLElBQUksT0FBTyxZQUFZLFNBQVMsRUFBRTtRQUM5QixPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLGFBQWEsRUFBRSxFQUFFO1lBQ3ZDLGtDQUFrQyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3RELENBQUMsQ0FBQyxDQUFDO0tBQ047SUFFRCxJQUFJLE9BQU8sWUFBWSxTQUFTLEVBQUU7UUFDOUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUU7WUFDdEQsa0NBQWtDLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdEQsQ0FBQyxDQUFDLENBQUM7S0FDTjtJQUVELE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN4QixPQUFPLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztBQUNyQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge0Fic3RyYWN0Q29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtGb3JtQXJyYXksIEZvcm1Hcm91cH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gdHVpTWFya0NvbnRyb2xBc1RvdWNoZWRBbmRWYWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB2b2lkIHtcbiAgICBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEZvcm1BcnJheSkge1xuICAgICAgICBjb250cm9sLmNvbnRyb2xzLmZvckVhY2goKG5lc3RlZENvbnRyb2wpID0+IHtcbiAgICAgICAgICAgIHR1aU1hcmtDb250cm9sQXNUb3VjaGVkQW5kVmFsaWRhdGUobmVzdGVkQ29udHJvbCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUdyb3VwKSB7XG4gICAgICAgIE9iamVjdC52YWx1ZXMoY29udHJvbC5jb250cm9scykuZm9yRWFjaCgobmVzdGVkQ29udHJvbCkgPT4ge1xuICAgICAgICAgICAgdHVpTWFya0NvbnRyb2xBc1RvdWNoZWRBbmRWYWxpZGF0ZShuZXN0ZWRDb250cm9sKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XG4gICAgY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG59XG4iXX0=