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.73 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnQtZmlsbGVkLWNvbnRyb2xzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMvY291bnQtZmlsbGVkLWNvbnRyb2xzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxTQUFTLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBRWxELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRXJELE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxPQUF3QjtJQUMzRCxJQUFJLE9BQU8sWUFBWSxTQUFTLEVBQUU7UUFDOUIsT0FBTyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FDMUIsQ0FBQyxHQUFHLEVBQUUsYUFBYSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsc0JBQXNCLENBQUMsYUFBYSxDQUFDLEVBQ25FLENBQUMsQ0FDSixDQUFDO0tBQ0w7SUFFRCxJQUFJLE9BQU8sWUFBWSxTQUFTLEVBQUU7UUFDOUIsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQ3pDLENBQUMsR0FBRyxFQUFFLGFBQWEsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLHNCQUFzQixDQUFDLGFBQWEsQ0FBQyxFQUNuRSxDQUFDLENBQ0osQ0FBQztLQUNMO0lBRUQsT0FBTyxRQUFRLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBQ2pELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7QWJzdHJhY3RDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0Zvcm1BcnJheSwgRm9ybUdyb3VwfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge3R1aVRvSW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21hdGgnO1xuXG5pbXBvcnQge3R1aUlzQ29udHJvbEVtcHR5fSBmcm9tICcuL2lzLWNvbnRyb2wtZW1wdHknO1xuXG5leHBvcnQgZnVuY3Rpb24gdHVpQ291bnRGaWxsZWRDb250cm9scyhjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBudW1iZXIge1xuICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUFycmF5KSB7XG4gICAgICAgIHJldHVybiBjb250cm9sLmNvbnRyb2xzLnJlZHVjZShcbiAgICAgICAgICAgIChhY2MsIG5lc3RlZENvbnRyb2wpID0+IGFjYyArIHR1aUNvdW50RmlsbGVkQ29udHJvbHMobmVzdGVkQ29udHJvbCksXG4gICAgICAgICAgICAwLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUdyb3VwKSB7XG4gICAgICAgIHJldHVybiBPYmplY3QudmFsdWVzKGNvbnRyb2wuY29udHJvbHMpLnJlZHVjZShcbiAgICAgICAgICAgIChhY2MsIG5lc3RlZENvbnRyb2wpID0+IGFjYyArIHR1aUNvdW50RmlsbGVkQ29udHJvbHMobmVzdGVkQ29udHJvbCksXG4gICAgICAgICAgICAwLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiB0dWlUb0ludCghdHVpSXNDb250cm9sRW1wdHkoY29udHJvbCkpO1xufVxuIl19