UNPKG

@taiga-ui/cdk

Version:

Base library for creating Angular components and applications using Taiga UI principles regarding of actual visual appearance

13 lines 2.69 kB
import { FormArray, FormGroup } from '@angular/forms'; import { tuiToInt } from '@taiga-ui/cdk/utils/math'; import { tuiIsControlEmpty } from './is-control-empty'; export function tuiCountFilledControls(control) { if (control instanceof FormArray) { return control.controls.reduce((acc, nestedControl) => acc + tuiCountFilledControls(nestedControl), 0); } if (control instanceof FormGroup) { return Object.values(control.controls).reduce((acc, nestedControl) => acc + tuiCountFilledControls(nestedControl), 0); } return tuiToInt(!tuiIsControlEmpty(control)); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnQtZmlsbGVkLWNvbnRyb2xzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMvY291bnQtZmlsbGVkLWNvbnRyb2xzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsU0FBUyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzFFLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUVsRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUVyRCxNQUFNLFVBQVUsc0JBQXNCLENBQUMsT0FBd0I7SUFDM0QsSUFBSSxPQUFPLFlBQVksU0FBUyxFQUFFO1FBQzlCLE9BQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQzFCLENBQUMsR0FBRyxFQUFFLGFBQWEsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLHNCQUFzQixDQUFDLGFBQWEsQ0FBQyxFQUNuRSxDQUFDLENBQ0osQ0FBQztLQUNMO0lBRUQsSUFBSSxPQUFPLFlBQVksU0FBUyxFQUFFO1FBQzlCLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUN6QyxDQUFDLEdBQUcsRUFBRSxhQUFhLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxzQkFBc0IsQ0FBQyxhQUFhLENBQUMsRUFDbkUsQ0FBQyxDQUNKLENBQUM7S0FDTDtJQUVELE9BQU8sUUFBUSxDQUFDLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUNqRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt0eXBlIEFic3RyYWN0Q29udHJvbCwgRm9ybUFycmF5LCBGb3JtR3JvdXB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7dHVpVG9JbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWF0aCc7XG5cbmltcG9ydCB7dHVpSXNDb250cm9sRW1wdHl9IGZyb20gJy4vaXMtY29udHJvbC1lbXB0eSc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlDb3VudEZpbGxlZENvbnRyb2xzKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IG51bWJlciB7XG4gICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQXJyYXkpIHtcbiAgICAgICAgcmV0dXJuIGNvbnRyb2wuY29udHJvbHMucmVkdWNlKFxuICAgICAgICAgICAgKGFjYywgbmVzdGVkQ29udHJvbCkgPT4gYWNjICsgdHVpQ291bnRGaWxsZWRDb250cm9scyhuZXN0ZWRDb250cm9sKSxcbiAgICAgICAgICAgIDAsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtR3JvdXApIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC52YWx1ZXMoY29udHJvbC5jb250cm9scykucmVkdWNlKFxuICAgICAgICAgICAgKGFjYywgbmVzdGVkQ29udHJvbCkgPT4gYWNjICsgdHVpQ291bnRGaWxsZWRDb250cm9scyhuZXN0ZWRDb250cm9sKSxcbiAgICAgICAgICAgIDAsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHR1aVRvSW50KCF0dWlJc0NvbnRyb2xFbXB0eShjb250cm9sKSk7XG59XG4iXX0=