UNPKG

@ngspot/ngx-errors

Version:

<p align="center"> <img width="20%" height="20%" src="https://github.com/DmitryEfimenko/ngspot/blob/main/packages/ngx-errors/package/assets/logo.png?raw=true"> </p>

23 lines 4 kB
import { FormArray, FormGroup } from '@angular/forms'; import { pipe } from 'rxjs'; import { filter } from 'rxjs/operators'; /** * Marks the provided control as well as all of its children as dirty * @param options to be passed into control.markAsDirty() call */ export function markDescendantsAsDirty(control, options) { control.markAsDirty(options); if (control instanceof FormGroup || control instanceof FormArray) { const controls = Object.keys(control.controls).map((controlName) => control.get(controlName)); controls.forEach((c) => { c.markAsDirty(options); if (c.controls) { markDescendantsAsDirty(c, options); } }); } } export function filterOutNullish() { return pipe(filter((x) => x != null)); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlzYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25neC1lcnJvcnMvcGFja2FnZS9zcmMvbGliL21pc2MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQixTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkUsT0FBTyxFQUFnQyxJQUFJLEVBQWlCLE1BQU0sTUFBTSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVF4Qzs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsc0JBQXNCLENBQ3BDLE9BQXdCLEVBQ3hCLE9BR0M7SUFFRCxPQUFPLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRTdCLElBQUksT0FBTyxZQUFZLFNBQVMsSUFBSSxPQUFPLFlBQVksU0FBUyxFQUFFLENBQUM7UUFDakUsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUNoRCxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQW9CLENBQzdELENBQUM7UUFFRixRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDckIsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUV2QixJQUFLLENBQTJCLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQzFDLHNCQUFzQixDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNyQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0I7SUFJOUIsT0FBTyxJQUFJLENBQ1QsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUE4QyxDQUN0RSxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUFycmF5LCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBPcGVyYXRvckZ1bmN0aW9uLCBwaXBlLCBVbmFyeUZ1bmN0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbi8qKlxyXG4gKiBFeHRyYWN0IGFyZ3VtZW50cyBvZiBmdW5jdGlvblxyXG4gKi9cclxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuZXhwb3J0IHR5cGUgQXJndW1lbnRzVHlwZTxGPiA9IEYgZXh0ZW5kcyAoLi4uYXJnczogaW5mZXIgQSkgPT4gYW55ID8gQSA6IG5ldmVyO1xyXG5cclxuLyoqXHJcbiAqIE1hcmtzIHRoZSBwcm92aWRlZCBjb250cm9sIGFzIHdlbGwgYXMgYWxsIG9mIGl0cyBjaGlsZHJlbiBhcyBkaXJ0eVxyXG4gKiBAcGFyYW0gb3B0aW9ucyB0byBiZSBwYXNzZWQgaW50byBjb250cm9sLm1hcmtBc0RpcnR5KCkgY2FsbFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIG1hcmtEZXNjZW5kYW50c0FzRGlydHkoXHJcbiAgY29udHJvbDogQWJzdHJhY3RDb250cm9sLFxyXG4gIG9wdGlvbnM/OiB7XHJcbiAgICBvbmx5U2VsZj86IGJvb2xlYW47XHJcbiAgICBlbWl0RXZlbnQ/OiBib29sZWFuO1xyXG4gIH0sXHJcbikge1xyXG4gIGNvbnRyb2wubWFya0FzRGlydHkob3B0aW9ucyk7XHJcblxyXG4gIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUdyb3VwIHx8IGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQXJyYXkpIHtcclxuICAgIGNvbnN0IGNvbnRyb2xzID0gT2JqZWN0LmtleXMoY29udHJvbC5jb250cm9scykubWFwKFxyXG4gICAgICAoY29udHJvbE5hbWUpID0+IGNvbnRyb2wuZ2V0KGNvbnRyb2xOYW1lKSBhcyBBYnN0cmFjdENvbnRyb2wsXHJcbiAgICApO1xyXG5cclxuICAgIGNvbnRyb2xzLmZvckVhY2goKGMpID0+IHtcclxuICAgICAgYy5tYXJrQXNEaXJ0eShvcHRpb25zKTtcclxuXHJcbiAgICAgIGlmICgoYyBhcyBGb3JtR3JvdXAgfCBGb3JtQXJyYXkpLmNvbnRyb2xzKSB7XHJcbiAgICAgICAgbWFya0Rlc2NlbmRhbnRzQXNEaXJ0eShjLCBvcHRpb25zKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZmlsdGVyT3V0TnVsbGlzaDxUPigpOiBVbmFyeUZ1bmN0aW9uPFxyXG4gIE9ic2VydmFibGU8VCB8IG51bGwgfCB1bmRlZmluZWQ+LFxyXG4gIE9ic2VydmFibGU8VD5cclxuPiB7XHJcbiAgcmV0dXJuIHBpcGUoXHJcbiAgICBmaWx0ZXIoKHgpID0+IHggIT0gbnVsbCkgYXMgT3BlcmF0b3JGdW5jdGlvbjxUIHwgbnVsbCB8IHVuZGVmaW5lZCwgVD4sXHJcbiAgKTtcclxufVxyXG4iXX0=