@paperless/angular 0.1.0-alpha.319 → 0.1.0-alpha.320

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,105 @@
1
+ import { Component } from '@angular/core';
2
+ import { FormArray, FormControl, FormGroup, } from '@angular/forms';
3
+ import * as i0 from "@angular/core";
4
+ export class BaseFormComponent {
5
+ constructor() {
6
+ this.markedDirty = false;
7
+ }
8
+ scrollToFirstError() {
9
+ const invalidInputs = Array.from(document.getElementsByClassName('ng-invalid'))
10
+ .filter((e) => e?.nodeName?.toLowerCase() !== 'form')
11
+ .sort((a, b) => a.scrollTop - b.scrollTop);
12
+ const first = invalidInputs[0];
13
+ if (first) {
14
+ first.scrollIntoView({
15
+ behavior: 'smooth',
16
+ block: 'center',
17
+ inline: 'center',
18
+ });
19
+ }
20
+ }
21
+ markControlDirty(control) {
22
+ if (control instanceof FormControl) {
23
+ control.markAsDirty({ onlySelf: true });
24
+ control.markAsTouched({ onlySelf: true });
25
+ }
26
+ else if (control instanceof FormGroup) {
27
+ control.markAsDirty();
28
+ control.markAsTouched();
29
+ this.markAllDirty(control);
30
+ }
31
+ else if (control instanceof FormArray) {
32
+ control.markAsDirty();
33
+ control.markAsTouched();
34
+ for (const child of control?.controls) {
35
+ this.markControlDirty(child);
36
+ }
37
+ }
38
+ control.updateValueAndValidity();
39
+ }
40
+ markAllDirty(formGroup) {
41
+ this.markedDirty = true;
42
+ for (const field of Object.keys(formGroup.controls)) {
43
+ const control = formGroup.get(field);
44
+ this.markControlDirty(control);
45
+ }
46
+ }
47
+ getControlError(control) {
48
+ if (!this.hasControlError(control)) {
49
+ return;
50
+ }
51
+ return this.firstControlError(control);
52
+ }
53
+ hasControlError(control, showChildErrors = true) {
54
+ return (control?.dirty && this.firstControlError(control, showChildErrors));
55
+ }
56
+ firstControlError(control, showChildErrors = true) {
57
+ if (control instanceof FormGroup && showChildErrors) {
58
+ const errors = Object.keys(control.controls)
59
+ .map((key) => this.firstControlError(control.controls[key]))
60
+ .filter((val) => !!val);
61
+ return errors[0];
62
+ }
63
+ if (!control?.errors) {
64
+ return;
65
+ }
66
+ const keys = Object.keys(control.errors);
67
+ let err;
68
+ for (const key of keys) {
69
+ if (control.errors[key]) {
70
+ err = key;
71
+ break;
72
+ }
73
+ }
74
+ return err;
75
+ }
76
+ resetControl(control) {
77
+ control.setErrors(null);
78
+ control.reset();
79
+ control.markAsPristine();
80
+ if (control instanceof FormGroup) {
81
+ this.resetForm(control);
82
+ }
83
+ else if (control instanceof FormArray) {
84
+ for (const child of control?.controls) {
85
+ this.resetControl(child);
86
+ }
87
+ }
88
+ }
89
+ resetForm(formGroup) {
90
+ for (const field of Object.keys(formGroup.controls)) {
91
+ const control = formGroup.get(field);
92
+ this.resetControl(control);
93
+ }
94
+ this.markedDirty = false;
95
+ }
96
+ }
97
+ BaseFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: BaseFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
98
+ BaseFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.3", type: BaseFormComponent, selector: "ng-component", ngImport: i0, template: ``, isInline: true });
99
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: BaseFormComponent, decorators: [{
100
+ type: Component,
101
+ args: [{
102
+ template: ``,
103
+ }]
104
+ }] });
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wYXBlcmxlc3Mvc3JjL2xpYi9iYXNlL2Zvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUVILFNBQVMsRUFDVCxXQUFXLEVBQ1gsU0FBUyxHQUNaLE1BQU0sZ0JBQWdCLENBQUM7O0FBS3hCLE1BQU0sT0FBZ0IsaUJBQWlCO0lBSHZDO1FBSVcsZ0JBQVcsR0FBRyxLQUFLLENBQUM7S0EySDlCO0lBekhHLGtCQUFrQjtRQUNkLE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQzVCLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxZQUFZLENBQUMsQ0FDaEQ7YUFDSSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLEtBQUssTUFBTSxDQUFDO2FBQ3BELElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9DLE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUUvQixJQUFJLEtBQUssRUFBRTtZQUNQLEtBQUssQ0FBQyxjQUFjLENBQUM7Z0JBQ2pCLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixLQUFLLEVBQUUsUUFBUTtnQkFDZixNQUFNLEVBQUUsUUFBUTthQUNuQixDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7SUFFRCxnQkFBZ0IsQ0FDWixPQUE4RDtRQUU5RCxJQUFJLE9BQU8sWUFBWSxXQUFXLEVBQUU7WUFDaEMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lB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LFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUMzQjthQUFNLElBQUksT0FBTyxZQUFZLFNBQVMsRUFBRTtZQUNyQyxLQUFLLE1BQU0sS0FBSyxJQUFJLE9BQU8sRUFBRSxRQUFRLEVBQUU7Z0JBQ25DLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDNUI7U0FDSjtJQUNMLENBQUM7SUFFRCxTQUFTLENBQUMsU0FBb0I7UUFDMUIsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNqRCxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3JDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBMEIsQ0FBQyxDQUFDO1NBQ2pEO1FBRUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDN0IsQ0FBQzs7OEdBM0hpQixpQkFBaUI7a0dBQWpCLGlCQUFpQixvREFGekIsRUFBRTsyRkFFTSxpQkFBaUI7a0JBSHRDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLEVBQUU7aUJBQ2YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RDb250cm9sLFxuICAgIEZvcm1BcnJheSxcbiAgICBGb3JtQ29udHJvbCxcbiAgICBGb3JtR3JvdXAsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGU6IGBgLFxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlRm9ybUNvbXBvbmVudCB7XG4gICAgcHVibGljIG1hcmtlZERpcnR5ID0gZmFsc2U7XG5cbiAgICBzY3JvbGxUb0ZpcnN0RXJyb3IoKSB7XG4gICAgICAgIGNvbnN0IGludmFsaWRJbnB1dHMgPSBBcnJheS5mcm9tKFxuICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnbmctaW52YWxpZCcpXG4gICAgICAgIClcbiAgICAgICAgICAgIC5maWx0ZXIoKGUpID0+IGU/Lm5vZGVOYW1lPy50b0xvd2VyQ2FzZSgpICE9PSAnZm9ybScpXG4gICAgICAgICAgICAuc29ydCgoYSwgYikgPT4gYS5zY3JvbGxUb3AgLSBiLnNjcm9sbFRvcCk7XG4gICAgICAgIGNvbnN0IGZpcnN0ID0gaW52YWxpZElucHV0c1swXTtcblxuICAgICAgICBpZiAoZmlyc3QpIHtcbiAgICAgICAgICAgIGZpcnN0LnNjcm9sbEludG9WaWV3KHtcbiAgICAgICAgICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgICAgICAgICAgICAgYmxvY2s6ICdjZW50ZXInLFxuICAgICAgICAgICAgICAgIGlubGluZTogJ2NlbnRlcicsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG1hcmtDb250cm9sRGlydHkoXG4gICAgICAgIGNvbnRyb2w6IEZvcm1Db250cm9sIHwgRm9ybUdyb3VwIHwgRm9ybUFycmF5IHwgQWJzdHJhY3RDb250cm9sXG4gICAgKSB7XG4gICAgICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUNvbnRyb2wpIHtcbiAgICAgICAgICAgIGNvbnRyb2wubWFya0FzRGlydHkoeyBvbmx5U2VsZjogdHJ1ZSB9KTtcbiAgICAgICAgICAgIGNvbnRyb2wubWFya0FzVG91Y2hlZCh7IG9ubHlTZWxmOiB0cnVlIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtR3JvdXApIHtcbiAgICAgICAgICAgIGNvbnRyb2wubWFya0FzRGlydHkoKTtcbiAgICAgICAgICAgIGNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAgICAgICAgICAgdGhpcy5tYXJrQWxsRGlydHkoY29udHJvbCk7XG4gICAgICAgIH0gZWxzZSBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEZvcm1BcnJheSkge1xuICAgICAgICAgICAgY29udHJvbC5tYXJrQXNEaXJ0eSgpO1xuICAgICAgICAgICAgY29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIGNvbnRyb2w/LmNvbnRyb2xzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tYXJrQ29udHJvbERpcnR5KGNoaWxkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgIH1cblxuICAgIG1hcmtBbGxEaXJ0eShmb3JtR3JvdXA6IEZvcm1Hcm91cCkge1xuICAgICAgICB0aGlzLm1hcmtlZERpcnR5ID0gdHJ1ZTtcblxuICAgICAgICBmb3IgKGNvbnN0IGZpZWxkIG9mIE9iamVjdC5rZXlzKGZvcm1Hcm91cC5jb250cm9scykpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRyb2wgPSBmb3JtR3JvdXAuZ2V0KGZpZWxkKTtcbiAgICAgICAgICAgIHRoaXMubWFya0NvbnRyb2xEaXJ0eShjb250cm9sIGFzIEFic3RyYWN0Q29udHJvbCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRDb250cm9sRXJyb3IoXG4gICAgICAgIGNvbnRyb2w6IEZvcm1Db250cm9sIHwgQWJzdHJhY3RDb250cm9sIHwgRm9ybUFycmF5IHwgRm9ybUdyb3VwXG4gICAgKSB7XG4gICAgICAgIGlmICghdGhpcy5oYXNDb250cm9sRXJyb3IoY29udHJvbCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmZpcnN0Q29udHJvbEVycm9yKGNvbnRyb2wpO1xuICAgIH1cblxuICAgIGhhc0NvbnRyb2xFcnJvcihcbiAgICAgICAgY29udHJvbDogRm9ybUNvbnRyb2wgfCBBYnN0cmFjdENvbnRyb2wgfCBGb3JtR3JvdXAgfCBGb3JtQXJyYXksXG4gICAgICAgIHNob3dDaGlsZEVycm9ycyA9IHRydWVcbiAgICApIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIGNvbnRyb2w/LmRpcnR5ICYmIHRoaXMuZmlyc3RDb250cm9sRXJyb3IoY29udHJvbCwgc2hvd0NoaWxkRXJyb3JzKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGZpcnN0Q29udHJvbEVycm9yKFxuICAgICAgICBjb250cm9sOiBGb3JtQ29udHJvbCB8IEFic3RyYWN0Q29udHJvbCB8IEZvcm1Hcm91cCB8IEZvcm1BcnJheSxcbiAgICAgICAgc2hvd0NoaWxkRXJyb3JzID0gdHJ1ZVxuICAgICk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUdyb3VwICYmIHNob3dDaGlsZEVycm9ycykge1xuICAgICAgICAgICAgY29uc3QgZXJyb3JzOiBBcnJheTxzdHJpbmcgfCB1bmRlZmluZWQ+ID0gT2JqZWN0LmtleXMoXG4gICAgICAgICAgICAgICAgY29udHJvbC5jb250cm9sc1xuICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5tYXAoKGtleSkgPT4gdGhpcy5maXJzdENvbnRyb2xFcnJvcihjb250cm9sLmNvbnRyb2xzW2tleV0pKVxuICAgICAgICAgICAgICAgIC5maWx0ZXIoKHZhbCkgPT4gISF2YWwpO1xuXG4gICAgICAgICAgICByZXR1cm4gZXJyb3JzWzBdO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFjb250cm9sPy5lcnJvcnMpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhjb250cm9sLmVycm9ycyk7XG4gICAgICAgIGxldCBlcnI6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XG4gICAgICAgICAgICBpZiAoY29udHJvbC5lcnJvcnNba2V5XSkge1xuICAgICAgICAgICAgICAgIGVyciA9IGtleTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBlcnI7XG4gICAgfVxuXG4gICAgcmVzZXRDb250cm9sKFxuICAgICAgICBjb250cm9sOiBGb3JtQ29udHJvbCB8IEZvcm1Hcm91cCB8IEZvcm1BcnJheSB8IEFic3RyYWN0Q29udHJvbFxuICAgICkge1xuICAgICAgICBjb250cm9sLnNldEVycm9ycyhudWxsKTtcbiAgICAgICAgY29udHJvbC5yZXNldCgpO1xuICAgICAgICBjb250cm9sLm1hcmtBc1ByaXN0aW5lKCk7XG5cbiAgICAgICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtR3JvdXApIHtcbiAgICAgICAgICAgIHRoaXMucmVzZXRGb3JtKGNvbnRyb2wpO1xuICAgICAgICB9IGVsc2UgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQXJyYXkpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgY2hpbGQgb2YgY29udHJvbD8uY29udHJvbHMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlc2V0Q29udHJvbChjaGlsZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXNldEZvcm0oZm9ybUdyb3VwOiBGb3JtR3JvdXApIHtcbiAgICAgICAgZm9yIChjb25zdCBmaWVsZCBvZiBPYmplY3Qua2V5cyhmb3JtR3JvdXAuY29udHJvbHMpKSB7XG4gICAgICAgICAgICBjb25zdCBjb250cm9sID0gZm9ybUdyb3VwLmdldChmaWVsZCk7XG4gICAgICAgICAgICB0aGlzLnJlc2V0Q29udHJvbChjb250cm9sIGFzIEFic3RyYWN0Q29udHJvbCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm1hcmtlZERpcnR5ID0gZmFsc2U7XG4gICAgfVxufVxuIl19
@@ -1,3 +1,4 @@
1
+ export * from './form.component';
1
2
  export * from './upload.component';
2
3
  export * from './value-accessor';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wYXBlcmxlc3Mvc3JjL2xpYi9iYXNlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdXBsb2FkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3ZhbHVlLWFjY2Vzc29yJztcbiJdfQ==
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wYXBlcmxlc3Mvc3JjL2xpYi9iYXNlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mb3JtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3VwbG9hZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi92YWx1ZS1hY2Nlc3Nvcic7XG4iXX0=
@@ -1,3 +1,2 @@
1
- export * from './form.component';
2
1
  export * from './table.component';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wYXBlcmxlc3Mvc3JjL2xpYi9tb2R1bGVzL3RhYmxlL2Jhc2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mb3JtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3RhYmxlLmNvbXBvbmVudCc7XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wYXBlcmxlc3Mvc3JjL2xpYi9tb2R1bGVzL3RhYmxlL2Jhc2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsY0FBYyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxuZXhwb3J0ICogZnJvbSAnLi90YWJsZS5jb21wb25lbnQnO1xuXG4iXX0=
@@ -4,8 +4,8 @@ import { FormControl, FormGroup } from '@angular/forms';
4
4
  import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
5
5
  import { timer } from 'rxjs';
6
6
  import { debounce, filter, map, pairwise, startWith } from 'rxjs/operators';
7
+ import { BaseFormComponent } from '../../../base/form.component';
7
8
  import { createFormFilters } from '../utils';
8
- import { BaseFormComponent } from './form.component';
9
9
  import * as i0 from "@angular/core";
10
10
  let BaseTableComponent = class BaseTableComponent extends BaseFormComponent {
11
11
  constructor() {
@@ -198,4 +198,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImpor
198
198
  template: ``,
199
199
  }]
200
200
  }], ctorParameters: function () { return []; } });
201
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGFwZXJsZXNzL3NyYy9saWIvbW9kdWxlcy90YWJsZS9iYXNlL3RhYmxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFckUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM3QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFvQjlDLElBQWUsa0JBQWtCLEdBQWpDLE1BQWUsa0JBQ2xCLFNBQVEsaUJBQWlCO0lBOEd6QjtRQUNJLEtBQUssRUFBRSxDQUFDO1FBNUdGLGlCQUFZLEdBQVUsRUFBRSxDQUFDO1FBRTVCLGVBQVUsR0FBbUIsSUFBSSxTQUFTLENBQU0sRUFBRSxDQUFDLENBQUM7UUFFcEQsNEJBQXVCLEdBQVEsRUFBRSxDQUFDO1FBRWxDLG9CQUFlLEdBQUcsRUFBRSxDQUFDO1FBR3BCLHdCQUFtQixHQUFpQjtZQUN4QyxRQUFRLEVBQUUsSUFBSSxDQUFDLGVBQWU7WUFDOUIsSUFBSSxFQUFFLENBQUM7WUFDUCxXQUFXLEVBQUUsSUFBSTtZQUNqQixLQUFLLEVBQUUsRUFBRTtZQUNULE9BQU8sRUFBRSxFQUFFO1lBQ1gsWUFBWSxFQUFFLEVBQUU7U0FDbkIs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Q0FBQztRQUM1QixLQUFLLEdBQUcsSUFBSSxJQUFJLEVBQUU7WUFDZCxJQUFJLEdBQUcsS0FBSyxjQUFjLEVBQUU7Z0JBQ3hCLFNBQVM7YUFDWjtZQUVELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO2dCQUM3RCxhQUFhO2dCQUNiLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDNUI7U0FDSjtRQUVELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3hELENBQUM7OytHQXJQaUIsa0JBQWtCO21HQUFsQixrQkFBa0IsMkVBRjFCLEVBQUU7QUFFTSxrQkFBa0I7SUFKdkMsWUFBWSxDQUFDLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxDQUFDO0dBSWxCLGtCQUFrQixDQXNQdkM7U0F0UHFCLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQUh2QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxFQUFFO2lCQUNmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkIH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcbmltcG9ydCB7IFF1aWNrRmlsdGVyIH0gZnJvbSAnQHBhcGVybGVzcy9jb3JlJztcbmltcG9ydCB7IHRpbWVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZSwgZmlsdGVyLCBtYXAsIHBhaXJ3aXNlLCBzdGFydFdpdGggfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBjcmVhdGVGb3JtRmlsdGVycyB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IEJhc2VGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLmNvbXBvbmVudCc7XG5cbmV4cG9ydCB0eXBlIFRhYmxlUXVpY2tGaWx0ZXIgPSBRdWlja0ZpbHRlciAmIHtcbiAgICB2YWx1ZTogc3RyaW5nO1xuICAgIG1ldHJpY05hbWU/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlT3B0aW9ucyB7XG4gICAgcGFnZVNpemU6IG51bWJlcjtcbiAgICBwYWdlOiBudW1iZXI7XG4gICAgcXVpY2tGaWx0ZXI6IFRhYmxlUXVpY2tGaWx0ZXIgfCBzdHJpbmcgfCBudWxsO1xuICAgIHF1ZXJ5OiBzdHJpbmc7XG4gICAgZmlsdGVyczogYW55W107XG4gICAgc2VsZWN0ZWRSb3dzOiBhbnlbXTtcbn1cblxuQFVudGlsRGVzdHJveSh7IGNoZWNrUHJvcGVydGllczogdHJ1ZSB9KVxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGU6IGBgLFxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlVGFibGVDb21wb25lbnRcbiAgICBleHRlbmRzIEJhc2VGb3JtQ29tcG9uZW50XG4gICAgaW1wbGVtZW50cyBPbkluaXRcbntcbiAgICBwcm90ZWN0ZWQgcXVpY2tGaWx0ZXJzOiBhbnlbXSA9IFtdO1xuXG4gICAgcHVibGljIGZpbHRlckZvcm06IEZvcm1Hcm91cDxhbnk+ID0gbmV3IEZvcm1Hcm91cDxhbnk+KHt9KTtcbiAgICBwdWJsaWMgZmlsdGVyRm9ybVF1aWNrRmlsdGVyS2V5Pzogc3RyaW5nO1xuICAgIHB1YmxpYyBkZWZhdWx0RmlsdGVyRm9ybVZhbHVlczogYW55ID0ge307XG5cbiAgICBwdWJsaWMgcGFnZVNpemVEZWZhdWx0ID0gMTI7XG4gICAgcHVibGljIHRhYmxlT3B0aW9ucz86IEZvcm1Db250cm9sPFRhYmxlT3B0aW9ucz47XG5cbiAgICBwcml2YXRlIF9kZWZhdWx0VGFibGVWYWx1ZXM6IFRhYmxlT3B0aW9ucyA9IHtcbiAgICAgICAgcGFnZVNpemU6IHRoaXMucGFnZVNpemVEZWZhdWx0LFxuICAgICAgICBwYWdlOiAxLFxuICAgICAgICBxdWlja0ZpbHRlcjogbnVsbCxcbiAgICAgICAgcXVlcnk6ICcnLFxuICAgICAgICBmaWx0ZXJzOiBbXSxcbiAgICAgICAgc2VsZWN0ZWRSb3dzOiBbXSxcbiAgICB9O1xuICAgIHB1YmxpYyBkZWZhdWx0VGFibGVWYWx1ZXM6IFBhcnRpYWw8VGFibGVPcHRpb25zPiA9IHt9O1xuXG4gICAgZ2V0IHBhZ2VTaXplKCkge1xuICAgICAgICBpZiAoIXRoaXMudGFibGVPcHRpb25zKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fZGVmYXVsdFRhYmxlVmFsdWVzLnBhZ2VTaXplO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMudGFibGVPcHRpb25zLnZhbHVlLnBhZ2VTaXplO1xuICAgIH1cblxuICAgIGdldCBwYWdlKCkge1xuICAgICAgICBpZiAoIXRoaXMudGFibGVPcHRpb25zKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fZGVmYXVsdFRhYmxlVmFsdWVzLnBhZ2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy50YWJsZU9wdGlvbnMudmFsdWUucGFnZTtcbiAgICB9XG5cbiAgICBnZXQgcXVpY2tGaWx0ZXIoKSB7XG4gICAgICAgIGlmICghdGhpcy50YWJsZU9wdGlvbnMpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9kZWZhdWx0VGFibGVWYWx1ZXMucXVpY2tGaWx0ZXI7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy50YWJsZU9wdGlvbnMudmFsdWUucXVpY2tGaWx0ZXI7XG4gICAgfVxuICAgIHNldCBxdWlja0ZpbHRlcihxdWlja0ZpbHRlcjogVGFibGVRdWlja0ZpbHRlciB8IHN0cmluZyB8IG51bGwpIHtcbiAgICAgICAgdGhpcy50YWJsZVZhbHVlcyA9IHtcbiAgICAgICAgICAgIHF1aWNrRmlsdGVyLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGdldCBxdWVyeSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLnRhYmxlT3B0aW9ucykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2RlZmF1bHRUYWJsZVZhbHVlcy5xdWVyeTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnRhYmxlT3B0aW9ucy52YWx1ZS5xdWVyeTtcbiAgICB9XG4gICAgc2V0IHF1ZXJ5KHF1ZXJ5OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy50YWJsZVZhbHVlcyA9IHtcbiAgICAgICAgICAgIHF1ZXJ5LFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGdldCBmaWx0ZXJzKCkge1xuICAgICAgICBpZiAoIXRoaXMudGFibGVPcHRpb25zKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fZGVmYXVsdFRhYmxlVmFsdWVzLmZpbHRlcnM7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy50YWJsZU9wdGlvbnMudmFsdWUuZmlsdGVycztcbiAgICB9XG4gICAgc2V0IGZpbHRlcnMoZmlsdGVyczogYW55W10pIHtcbiAgICAgICAgdGhpcy50YWJsZVZhbHVlcyA9IHtcbiAgICAgICAgICAgIGZpbHRlcnMsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgZ2V0IHNlbGVjdGVkUm93cygpIHtcbiAgICAgICAgaWYgKCF0aGlzLnRhYmxlT3B0aW9ucykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2RlZmF1bHRUYWJsZVZhbHVlcy5zZWxlY3RlZFJvd3M7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy50YWJsZU9wdGlvbnMudmFsdWUuc2VsZWN0ZWRSb3dzO1xuICAgIH1cbiAgICBzZXQgc2VsZWN0ZWRSb3dzKHNlbGVjdGVkUm93czogYW55W10pIHtcbiAgICAgICAgdGhpcy50YWJsZVZhbHVlcyA9IHtcbiAgICAgICAgICAgIHNlbGVjdGVkUm93cyxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvLyBzZXR0ZXJcbiAgICBnZXQgcGFyc2VkRGVmYXVsdFRhYmxlVmFsdWVzKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4udGhpcy5fZGVmYXVsdFRhYmxlVmFsdWVzLFxuICAgICAgICAgICAgLi4udGhpcy5kZWZhdWx0VGFibGVWYWx1ZXMsXG4gICAgICAgICAgICBwYWdlU2l6ZTogdGhpcy5kZWZhdWx0VGFibGVWYWx1ZXM/LnBhZ2VTaXplIHx8IHRoaXMucGFnZVNpemVEZWZhdWx0LFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGdldCB0YWJsZVZhbHVlcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGFibGVPcHRpb25zPy52YWx1ZSA/PyB7fTtcbiAgICB9XG5cbiAgICBzZXQgdGFibGVWYWx1ZXModmFsdWVzOiBQYXJ0aWFsPFRhYmxlT3B0aW9ucz4pIHtcbiAgICAgICAgdGhpcy5fc2V0VGFibGVWYWx1ZXMoe1xuICAgICAgICAgICAgLi4udGhpcy50YWJsZVZhbHVlcyxcbiAgICAgICAgICAgIC4uLnZhbHVlcyxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMudGFibGVPcHRpb25zID0gbmV3IEZvcm1Db250cm9sPFRhYmxlT3B0aW9ucz4oe1xuICAgICAgICAgICAgcGFnZVNpemU6IHRoaXMucGFyc2VkRGVmYXVsdFRhYmxlVmFsdWVzLnBhZ2VTaXplLFxuICAgICAgICAgICAgcGFnZTogdGhpcy5wYXJzZWREZWZhdWx0VGFibGVWYWx1ZXMucGFnZSxcbiAgICAgICAgICAgIHF1aWNrRmlsdGVyOiB0aGlzLnBhcnNlZERlZmF1bHRUYWJsZVZhbHVlcy5xdWlja0ZpbHRlcixcbiAgICAgICAgICAgIHF1ZXJ5OiB0aGlzLnBhcnNlZERlZmF1bHRUYWJsZVZhbHVlcy5xdWVyeSxcbiAgICAgICAgICAgIGZpbHRlcnM6IHRoaXMucGFyc2VkRGVmYXVsdFRhYmxlVmFsdWVzLmZpbHRlcnMsXG4gICAgICAgICAgICBzZWxlY3RlZFJvd3M6IHRoaXMucGFyc2VkRGVmYXVsdFRhYmxlVmFsdWVzLnNlbGVjdGVkUm93cyxcbiAgICAgICAgfSkgYXMgRm9ybUNvbnRyb2w8VGFibGVPcHRpb25zPjtcblxuICAgICAgICB0aGlzLnRhYmxlT3B0aW9ucy52YWx1ZUNoYW5nZXNcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpLFxuICAgICAgICAgICAgICAgIHN0YXJ0V2l0aCh0aGlzLnRhYmxlT3B0aW9ucy52YWx1ZSksXG4gICAgICAgICAgICAgICAgcGFpcndpc2UoKSxcbiAgICAgICAgICAgICAgICBtYXAoKFtwcmV2aW91cywgbmV4dF0pID0+IHRoaXMuX2dldENoYW5nZXMocHJldmlvdXMsIG5leHQpKSxcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKGNoYW5nZXM6IGFueSkgPT4gISFjaGFuZ2VzKSxcbiAgICAgICAgICAgICAgICBkZWJvdW5jZSgoY2hhbmdlcykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoY2hhbmdlcz8ucXVlcnkgJiYgT2JqZWN0LmtleXMoY2hhbmdlcyk/Lmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRpbWVyKDMwMCk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGltZXIoMCk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgZmlsdGVyKFxuICAgICAgICAgICAgICAgICAgICAoY2hhbmdlczogYW55KSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgIShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VzPy5zZWxlY3RlZCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKGNoYW5nZXMpPy5sZW5ndGggPT09IDFcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChjaGFuZ2VzOiBUYWJsZU9wdGlvbnMpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoY2hhbmdlcz8ucGFnZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9yZWZyZXNoKCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLl9yZXNldFBhZ2VPclJlZnJlc2goKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX3JlZnJlc2goKTtcbiAgICB9XG5cbiAgICByZXNldFRhYmxlKGVtaXRFdmVudCA9IHRydWUsIGZvcmNlUmVmcmVzaCA9IG51bGwpIHtcbiAgICAgICAgdGhpcy5fc2V0VGFibGVWYWx1ZXModGhpcy5wYXJzZWREZWZhdWx0VGFibGVWYWx1ZXMsIGVtaXRFdmVudCk7XG5cbiAgICAgICAgaWYgKGZvcmNlUmVmcmVzaCkge1xuICAgICAgICAgICAgdGhpcy5fcmVmcmVzaCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYXBwbHlGb3JtRmlsdGVycyh2YWx1ZXM6IGFueSA9IG51bGwpIHtcbiAgICAgICAgdmFsdWVzID0gdmFsdWVzID8/IHRoaXMuZmlsdGVyRm9ybS52YWx1ZTtcblxuICAgICAgICBjb25zdCB7IGZpbHRlcnMsIHF1aWNrRmlsdGVyIH0gPSBjcmVhdGVGb3JtRmlsdGVycyhcbiAgICAgICAgICAgIHZhbHVlcyxcbiAgICAgICAgICAgIHRoaXMucXVpY2tGaWx0ZXJzLFxuICAgICAgICAgICAgdGhpcy5maWx0ZXJGb3JtUXVpY2tGaWx0ZXJLZXlcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAocXVpY2tGaWx0ZXIpIHtcbiAgICAgICAgICAgIHRoaXMucXVpY2tGaWx0ZXIgPSBxdWlja0ZpbHRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZmlsdGVycyA9IGZpbHRlcnM7XG4gICAgfVxuXG4gICAgcmVzZXRGb3JtRmlsdGVycyhyZXNldFF1aWNrRmlsdGVyOiBib29sZWFuID0gZmFsc2UpIHtcbiAgICAgICAgY29uc3QgdmFsdWVzOiBhbnkgPSB0aGlzLmZpbHRlckZvcm0udmFsdWU7XG4gICAgICAgIGNvbnN0IGRlZmF1bHRRdWlja0ZpbHRlciA9IHRoaXMucXVpY2tGaWx0ZXJzLmZpbmQoKGYpID0+IGYuZGVmYXVsdCk7XG5cbiAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXModmFsdWVzKSkge1xuICAgICAgICAgICAgaWYgKGtleSA9PT0gdGhpcy5maWx0ZXJGb3JtUXVpY2tGaWx0ZXJLZXkpIHtcbiAgICAgICAgICAgICAgICBpZiAocmVzZXRRdWlja0ZpbHRlcikge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZXNba2V5XSA9IGRlZmF1bHRRdWlja0ZpbHRlci52YWx1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHZhbHVlc1trZXldID0gdGhpcy5kZWZhdWx0RmlsdGVyRm9ybVZhbHVlc1trZXldID8/IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmZpbHRlckZvcm0uc2V0VmFsdWUodmFsdWVzKTtcbiAgICAgICAgdGhpcy5hcHBseUZvcm1GaWx0ZXJzKHZhbHVlcyk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9yZWZyZXNoKCkge1xuICAgICAgICBjb25zb2xlLndhcm4oJ05vdCBpbXBsZW1lbnRlZCcpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3Jlc2V0UGFnZU9yUmVmcmVzaCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLnRhYmxlT3B0aW9ucykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMucGFnZSAhPT0gMSkge1xuICAgICAgICAgICAgdGhpcy50YWJsZU9wdGlvbnMuZ2V0KCdwYWdlJyk/LnNldFZhbHVlKDEpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fcmVmcmVzaCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3NldFRhYmxlVmFsdWVzKGRhdGE6IFBhcnRpYWw8VGFibGVPcHRpb25zPiwgZW1pdEV2ZW50ID0gdHJ1ZSkge1xuICAgICAgICB0aGlzLnRhYmxlT3B0aW9ucz8uc2V0VmFsdWUoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgLi4udGhpcy50YWJsZU9wdGlvbnMudmFsdWUsXG4gICAgICAgICAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7IGVtaXRFdmVudCB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0Q2hhbmdlcyhwcmV2aW91czogVGFibGVPcHRpb25zLCBuZXh0OiBUYWJsZU9wdGlvbnMpIHtcbiAgICAgICAgY29uc3QgY2hhbmdlczogUGFydGlhbDxUYWJsZU9wdGlvbnM+ID0ge307XG5cbiAgICAgICAgbGV0IGtleToga2V5b2YgVGFibGVPcHRpb25zO1xuICAgICAgICBmb3IgKGtleSBpbiBuZXh0KSB7XG4gICAgICAgICAgICBpZiAoa2V5ID09PSAnc2VsZWN0ZWRSb3dzJykge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoSlNPTi5zdHJpbmdpZnkocHJldmlvdXNba2V5XSkgIT09IEpTT04uc3RyaW5naWZ5KG5leHRba2V5XSkpIHtcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgY2hhbmdlc1trZXldID0gbmV4dFtrZXldO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGNoYW5nZXMpLmxlbmd0aCA/IGNoYW5nZXMgOiBudWxsO1xuICAgIH1cbn1cbiJdfQ==
201
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGFwZXJsZXNzL3NyYy9saWIvbW9kdWxlcy90YWJsZS9iYXNlL3RhYmxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFckUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFvQnRDLElBQWUsa0JBQWtCLEdBQWpDLE1BQWUsa0JBQ2xCLFNBQVEsaUJBQWlCO0lBOEd6QjtRQUNJLEtBQUssRUFBRSxDQUFDO1FBNUdGLGlCQUFZLEdBQVUsRUFBRSxDQUFDO1FBRTVCLGVBQVUsR0FBbUIsSUFBSSxTQUFTLENBQU0sRUFBRSxDQUFDLENBQUM7UUFFcEQsNEJBQXVCLEdBQVEsRUFBRSxDQUFDO1FBRWxDLG9CQUFlLEdBQUcsRUFBRSxDQUFDO1FBR3BCLHdCQUFtQixHQUFpQjtZQUN4QyxRQUFRLEVBQUUsSUFBSSxDQUFDLGVBQWU7WUFDOUIsSUFBSSxFQUFFLENBQUM7WUFDUCxXQUFXLEVBQUUsSUFBSTtZQUNqQixLQUFLLEVBQUUsRUFBRTtZQUNULE9BQU8sRUFBRSxFQUFFO1lBQ1gsWUFBWSxFQUFFLEVBQUU7U0FDbkIs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Q0FBQztRQUM1QixLQUFLLEdBQUcsSUFBSSxJQUFJLEVBQUU7WUFDZCxJQUFJLEdBQUcsS0FBSyxjQUFjLEVBQUU7Z0JBQ3hCLFNBQVM7YUFDWjtZQUVELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO2dCQUM3RCxhQUFhO2dCQUNiLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDNUI7U0FDSjtRQUVELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3hELENBQUM7OytHQXJQaUIsa0JBQWtCO21HQUFsQixrQkFBa0IsMkVBRjFCLEVBQUU7QUFFTSxrQkFBa0I7SUFKdkMsWUFBWSxDQUFDLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxDQUFDO0dBSWxCLGtCQUFrQixDQXNQdkM7U0F0UHFCLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQUh2QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxFQUFFO2lCQUNmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkIH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcbmltcG9ydCB7IFF1aWNrRmlsdGVyIH0gZnJvbSAnQHBhcGVybGVzcy9jb3JlJztcbmltcG9ydCB7IHRpbWVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZSwgZmlsdGVyLCBtYXAsIHBhaXJ3aXNlLCBzdGFydFdpdGggfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBCYXNlRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2Jhc2UvZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgY3JlYXRlRm9ybUZpbHRlcnMgfSBmcm9tICcuLi91dGlscyc7XG5cbmV4cG9ydCB0eXBlIFRhYmxlUXVpY2tGaWx0ZXIgPSBRdWlja0ZpbHRlciAmIHtcbiAgICB2YWx1ZTogc3RyaW5nO1xuICAgIG1ldHJpY05hbWU/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlT3B0aW9ucyB7XG4gICAgcGFnZVNpemU6IG51bWJlcjtcbiAgICBwYWdlOiBudW1iZXI7XG4gICAgcXVpY2tGaWx0ZXI6IFRhYmxlUXVpY2tGaWx0ZXIgfCBzdHJpbmcgfCBudWxsO1xuICAgIHF1ZXJ5OiBzdHJpbmc7XG4gICAgZmlsdGVyczogYW55W107XG4gICAgc2VsZWN0ZWRSb3dzOiBhbnlbXTtcbn1cblxuQFVudGlsRGVzdHJveSh7IGNoZWNrUHJvcGVydGllczogdHJ1ZSB9KVxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGU6IGBgLFxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlVGFibGVDb21wb25lbnRcbiAgICBleHRlbmRzIEJhc2VGb3JtQ29tcG9uZW50XG4gICAgaW1wbGVtZW50cyBPbkluaXRcbntcbiAgICBwcm90ZWN0ZWQgcXVpY2tGaWx0ZXJzOiBhbnlbXSA9IFtdO1xuXG4gICAgcHVibGljIGZpbHRlckZvcm06IEZvcm1Hcm91cDxhbnk+ID0gbmV3IEZvcm1Hcm91cDxhbnk+KHt9KTtcbiAgICBwdWJsaWMgZmlsdGVyRm9ybVF1aWNrRmlsdGVyS2V5Pzogc3RyaW5nO1xuICAgIHB1YmxpYyBkZWZhdWx0RmlsdGVyRm9ybVZhbHVlczogYW55ID0ge307XG5cbiAgICBwdWJsaWMgcGFnZVNpemVEZWZhdWx0ID0gMTI7XG4gICAgcHVibGljIHRhYmxlT3B0aW9ucz86IEZvcm1Db250cm9sPFRhYmxlT3B0aW9ucz47XG5cbiAgICBwcml2YXRlIF9kZWZhdWx0VGFibGVWYWx1ZXM6IFRhYmxlT3B0aW9ucyA9IHtcbiAgICAgICAgcGFnZVNpemU6IHRoaXMucGFnZVNpemVEZWZhdWx0LFxuICAgICAgICBwYWdlOiAxLFxuICAgICAgICBxdWlja0ZpbHRlcjogbnVsbCxcbiAgICAgICAgcXVlcnk6ICcnLFxuICAgICAgICBmaWx0ZXJzOiBbXSxcbiAgICAgICAgc2VsZWN0ZWRSb3dzOiBbXSxcbiAgICB9O1xuICAgIHB1YmxpYyBkZWZhdWx0VGFibGVWYWx1ZXM6IFBhcnRpYWw8VGFibGVPcHRpb25zPiA9IHt9O1xuXG4gICAgZ2V0IHBhZ2VTaXplKCkge1xuICAgICAgICBpZiAoIXRoaXMudGFibGVPcHRpb25zKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fZGVmYXVsdFRhYmxlVmFsdWVzLnBhZ2VTaXplO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMudGFibGVPcHRpb25zLnZhbHVlLnBhZ2VTaXplO1xuICAgIH1cblxuICAgIGdldCBwYWdlKCkge1xuICAgICAgICBpZiAoIXRoaXMudGFibGVPcHRpb25zKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fZGVmYXVsdFRhYmxlVmFsdWVzLnBhZ2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy50YWJsZU9wdGlvbnMudmFsdWUucGFnZTtcbiAgICB9XG5cbiAgICBnZXQgcXVpY2tGaWx0ZXIoKSB7XG4gICAgICAgIGlmICghdGhpcy50YWJsZU9wdGlvbnMpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9kZWZhdWx0VGFibGVWYWx1ZXMucXVpY2tGaWx0ZXI7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy50YWJsZU9wdGlvbnMudmFsdWUucXVpY2tGaWx0ZXI7XG4gICAgfVxuICAgIHNldCBxdWlja0ZpbHRlcihxdWlja0ZpbHRlcjogVGFibGVRdWlja0ZpbHRlciB8IHN0cmluZyB8IG51bGwpIHtcbiAgICAgICAgdGhpcy50YWJsZVZhbHVlcyA9IHtcbiAgICAgICAgICAgIHF1aWNrRmlsdGVyLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGdldCBxdWVyeSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLnRhYmxlT3B0aW9ucykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2RlZmF1bHRUYWJsZVZhbHVlcy5xdWVyeTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnRhYmxlT3B0aW9ucy52YWx1ZS5xdWVyeTtcbiAgICB9XG4gICAgc2V0IHF1ZXJ5KHF1ZXJ5OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy50YWJsZVZhbHVlcyA9IHtcbiAgICAgICAgICAgIHF1ZXJ5LFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGdldCBmaWx0ZXJzKCkge1xuICAgICAgICBpZiAoIXRoaXMudGFibGVPcHRpb25zKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fZGVmYXVsdFRhYmxlVmFsdWVzLmZpbHRlcnM7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy50YWJsZU9wdGlvbnMudmFsdWUuZmlsdGVycztcbiAgICB9XG4gICAgc2V0IGZpbHRlcnMoZmlsdGVyczogYW55W10pIHtcbiAgICAgICAgdGhpcy50YWJsZVZhbHVlcyA9IHtcbiAgICAgICAgICAgIGZpbHRlcnMsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgZ2V0IHNlbGVjdGVkUm93cygpIHtcbiAgICAgICAgaWYgKCF0aGlzLnRhYmxlT3B0aW9ucykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2RlZmF1bHRUYWJsZVZhbHVlcy5zZWxlY3RlZFJvd3M7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy50YWJsZU9wdGlvbnMudmFsdWUuc2VsZWN0ZWRSb3dzO1xuICAgIH1cbiAgICBzZXQgc2VsZWN0ZWRSb3dzKHNlbGVjdGVkUm93czogYW55W10pIHtcbiAgICAgICAgdGhpcy50YWJsZVZhbHVlcyA9IHtcbiAgICAgICAgICAgIHNlbGVjdGVkUm93cyxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvLyBzZXR0ZXJcbiAgICBnZXQgcGFyc2VkRGVmYXVsdFRhYmxlVmFsdWVzKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4udGhpcy5fZGVmYXVsdFRhYmxlVmFsdWVzLFxuICAgICAgICAgICAgLi4udGhpcy5kZWZhdWx0VGFibGVWYWx1ZXMsXG4gICAgICAgICAgICBwYWdlU2l6ZTogdGhpcy5kZWZhdWx0VGFibGVWYWx1ZXM/LnBhZ2VTaXplIHx8IHRoaXMucGFnZVNpemVEZWZhdWx0LFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGdldCB0YWJsZVZhbHVlcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGFibGVPcHRpb25zPy52YWx1ZSA/PyB7fTtcbiAgICB9XG5cbiAgICBzZXQgdGFibGVWYWx1ZXModmFsdWVzOiBQYXJ0aWFsPFRhYmxlT3B0aW9ucz4pIHtcbiAgICAgICAgdGhpcy5fc2V0VGFibGVWYWx1ZXMoe1xuICAgICAgICAgICAgLi4udGhpcy50YWJsZVZhbHVlcyxcbiAgICAgICAgICAgIC4uLnZhbHVlcyxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMudGFibGVPcHRpb25zID0gbmV3IEZvcm1Db250cm9sPFRhYmxlT3B0aW9ucz4oe1xuICAgICAgICAgICAgcGFnZVNpemU6IHRoaXMucGFyc2VkRGVmYXVsdFRhYmxlVmFsdWVzLnBhZ2VTaXplLFxuICAgICAgICAgICAgcGFnZTogdGhpcy5wYXJzZWREZWZhdWx0VGFibGVWYWx1ZXMucGFnZSxcbiAgICAgICAgICAgIHF1aWNrRmlsdGVyOiB0aGlzLnBhcnNlZERlZmF1bHRUYWJsZVZhbHVlcy5xdWlja0ZpbHRlcixcbiAgICAgICAgICAgIHF1ZXJ5OiB0aGlzLnBhcnNlZERlZmF1bHRUYWJsZVZhbHVlcy5xdWVyeSxcbiAgICAgICAgICAgIGZpbHRlcnM6IHRoaXMucGFyc2VkRGVmYXVsdFRhYmxlVmFsdWVzLmZpbHRlcnMsXG4gICAgICAgICAgICBzZWxlY3RlZFJvd3M6IHRoaXMucGFyc2VkRGVmYXVsdFRhYmxlVmFsdWVzLnNlbGVjdGVkUm93cyxcbiAgICAgICAgfSkgYXMgRm9ybUNvbnRyb2w8VGFibGVPcHRpb25zPjtcblxuICAgICAgICB0aGlzLnRhYmxlT3B0aW9ucy52YWx1ZUNoYW5nZXNcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpLFxuICAgICAgICAgICAgICAgIHN0YXJ0V2l0aCh0aGlzLnRhYmxlT3B0aW9ucy52YWx1ZSksXG4gICAgICAgICAgICAgICAgcGFpcndpc2UoKSxcbiAgICAgICAgICAgICAgICBtYXAoKFtwcmV2aW91cywgbmV4dF0pID0+IHRoaXMuX2dldENoYW5nZXMocHJldmlvdXMsIG5leHQpKSxcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKGNoYW5nZXM6IGFueSkgPT4gISFjaGFuZ2VzKSxcbiAgICAgICAgICAgICAgICBkZWJvdW5jZSgoY2hhbmdlcykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoY2hhbmdlcz8ucXVlcnkgJiYgT2JqZWN0LmtleXMoY2hhbmdlcyk/Lmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRpbWVyKDMwMCk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGltZXIoMCk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgZmlsdGVyKFxuICAgICAgICAgICAgICAgICAgICAoY2hhbmdlczogYW55KSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgIShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VzPy5zZWxlY3RlZCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKGNoYW5nZXMpPy5sZW5ndGggPT09IDFcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChjaGFuZ2VzOiBUYWJsZU9wdGlvbnMpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoY2hhbmdlcz8ucGFnZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9yZWZyZXNoKCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLl9yZXNldFBhZ2VPclJlZnJlc2goKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX3JlZnJlc2goKTtcbiAgICB9XG5cbiAgICByZXNldFRhYmxlKGVtaXRFdmVudCA9IHRydWUsIGZvcmNlUmVmcmVzaCA9IG51bGwpIHtcbiAgICAgICAgdGhpcy5fc2V0VGFibGVWYWx1ZXModGhpcy5wYXJzZWREZWZhdWx0VGFibGVWYWx1ZXMsIGVtaXRFdmVudCk7XG5cbiAgICAgICAgaWYgKGZvcmNlUmVmcmVzaCkge1xuICAgICAgICAgICAgdGhpcy5fcmVmcmVzaCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYXBwbHlGb3JtRmlsdGVycyh2YWx1ZXM6IGFueSA9IG51bGwpIHtcbiAgICAgICAgdmFsdWVzID0gdmFsdWVzID8/IHRoaXMuZmlsdGVyRm9ybS52YWx1ZTtcblxuICAgICAgICBjb25zdCB7IGZpbHRlcnMsIHF1aWNrRmlsdGVyIH0gPSBjcmVhdGVGb3JtRmlsdGVycyhcbiAgICAgICAgICAgIHZhbHVlcyxcbiAgICAgICAgICAgIHRoaXMucXVpY2tGaWx0ZXJzLFxuICAgICAgICAgICAgdGhpcy5maWx0ZXJGb3JtUXVpY2tGaWx0ZXJLZXlcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAocXVpY2tGaWx0ZXIpIHtcbiAgICAgICAgICAgIHRoaXMucXVpY2tGaWx0ZXIgPSBxdWlja0ZpbHRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZmlsdGVycyA9IGZpbHRlcnM7XG4gICAgfVxuXG4gICAgcmVzZXRGb3JtRmlsdGVycyhyZXNldFF1aWNrRmlsdGVyOiBib29sZWFuID0gZmFsc2UpIHtcbiAgICAgICAgY29uc3QgdmFsdWVzOiBhbnkgPSB0aGlzLmZpbHRlckZvcm0udmFsdWU7XG4gICAgICAgIGNvbnN0IGRlZmF1bHRRdWlja0ZpbHRlciA9IHRoaXMucXVpY2tGaWx0ZXJzLmZpbmQoKGYpID0+IGYuZGVmYXVsdCk7XG5cbiAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXModmFsdWVzKSkge1xuICAgICAgICAgICAgaWYgKGtleSA9PT0gdGhpcy5maWx0ZXJGb3JtUXVpY2tGaWx0ZXJLZXkpIHtcbiAgICAgICAgICAgICAgICBpZiAocmVzZXRRdWlja0ZpbHRlcikge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZXNba2V5XSA9IGRlZmF1bHRRdWlja0ZpbHRlci52YWx1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHZhbHVlc1trZXldID0gdGhpcy5kZWZhdWx0RmlsdGVyRm9ybVZhbHVlc1trZXldID8/IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmZpbHRlckZvcm0uc2V0VmFsdWUodmFsdWVzKTtcbiAgICAgICAgdGhpcy5hcHBseUZvcm1GaWx0ZXJzKHZhbHVlcyk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9yZWZyZXNoKCkge1xuICAgICAgICBjb25zb2xlLndhcm4oJ05vdCBpbXBsZW1lbnRlZCcpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3Jlc2V0UGFnZU9yUmVmcmVzaCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLnRhYmxlT3B0aW9ucykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMucGFnZSAhPT0gMSkge1xuICAgICAgICAgICAgdGhpcy50YWJsZU9wdGlvbnMuZ2V0KCdwYWdlJyk/LnNldFZhbHVlKDEpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fcmVmcmVzaCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3NldFRhYmxlVmFsdWVzKGRhdGE6IFBhcnRpYWw8VGFibGVPcHRpb25zPiwgZW1pdEV2ZW50ID0gdHJ1ZSkge1xuICAgICAgICB0aGlzLnRhYmxlT3B0aW9ucz8uc2V0VmFsdWUoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgLi4udGhpcy50YWJsZU9wdGlvbnMudmFsdWUsXG4gICAgICAgICAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7IGVtaXRFdmVudCB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0Q2hhbmdlcyhwcmV2aW91czogVGFibGVPcHRpb25zLCBuZXh0OiBUYWJsZU9wdGlvbnMpIHtcbiAgICAgICAgY29uc3QgY2hhbmdlczogUGFydGlhbDxUYWJsZU9wdGlvbnM+ID0ge307XG5cbiAgICAgICAgbGV0IGtleToga2V5b2YgVGFibGVPcHRpb25zO1xuICAgICAgICBmb3IgKGtleSBpbiBuZXh0KSB7XG4gICAgICAgICAgICBpZiAoa2V5ID09PSAnc2VsZWN0ZWRSb3dzJykge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoSlNPTi5zdHJpbmdpZnkocHJldmlvdXNba2V5XSkgIT09IEpTT04uc3RyaW5naWZ5KG5leHRba2V5XSkpIHtcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgY2hhbmdlc1trZXldID0gbmV4dFtrZXldO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGNoYW5nZXMpLmxlbmd0aCA/IGNoYW5nZXMgOiBudWxsO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,7 +1,7 @@
1
1
  import { trigger, transition, style, animate } from '@angular/animations';
2
2
  import * as i0 from '@angular/core';
3
- import { EventEmitter, Component, Input, Output, ViewChild, Directive, HostListener, ChangeDetectionStrategy, NgModule, Injector, Injectable, HostBinding, TemplateRef, ContentChild, ContentChildren, Host, Pipe } from '@angular/core';
4
- import { NG_VALUE_ACCESSOR, FormControl, FormGroup, FormArray } from '@angular/forms';
3
+ import { Component, EventEmitter, Input, Output, ViewChild, Directive, HostListener, ChangeDetectionStrategy, NgModule, Injector, Injectable, HostBinding, TemplateRef, ContentChild, ContentChildren, Host, Pipe } from '@angular/core';
4
+ import { FormControl, FormGroup, FormArray, NG_VALUE_ACCESSOR } from '@angular/forms';
5
5
  import * as i1$1 from '@angular/common';
6
6
  import { CommonModule, DatePipe, CurrencyPipe } from '@angular/common';
7
7
  import { __decorate } from 'tslib';
@@ -57,6 +57,108 @@ const SLIDE_IN_TOP_OUT_BOTTOM = trigger('pSlideInBottomOutTop', [
57
57
  ]),
58
58
  ]);
59
59
 
60
+ class BaseFormComponent {
61
+ constructor() {
62
+ this.markedDirty = false;
63
+ }
64
+ scrollToFirstError() {
65
+ const invalidInputs = Array.from(document.getElementsByClassName('ng-invalid'))
66
+ .filter((e) => { var _a; return ((_a = e === null || e === void 0 ? void 0 : e.nodeName) === null || _a === void 0 ? void 0 : _a.toLowerCase()) !== 'form'; })
67
+ .sort((a, b) => a.scrollTop - b.scrollTop);
68
+ const first = invalidInputs[0];
69
+ if (first) {
70
+ first.scrollIntoView({
71
+ behavior: 'smooth',
72
+ block: 'center',
73
+ inline: 'center',
74
+ });
75
+ }
76
+ }
77
+ markControlDirty(control) {
78
+ if (control instanceof FormControl) {
79
+ control.markAsDirty({ onlySelf: true });
80
+ control.markAsTouched({ onlySelf: true });
81
+ }
82
+ else if (control instanceof FormGroup) {
83
+ control.markAsDirty();
84
+ control.markAsTouched();
85
+ this.markAllDirty(control);
86
+ }
87
+ else if (control instanceof FormArray) {
88
+ control.markAsDirty();
89
+ control.markAsTouched();
90
+ for (const child of control === null || control === void 0 ? void 0 : control.controls) {
91
+ this.markControlDirty(child);
92
+ }
93
+ }
94
+ control.updateValueAndValidity();
95
+ }
96
+ markAllDirty(formGroup) {
97
+ this.markedDirty = true;
98
+ for (const field of Object.keys(formGroup.controls)) {
99
+ const control = formGroup.get(field);
100
+ this.markControlDirty(control);
101
+ }
102
+ }
103
+ getControlError(control) {
104
+ if (!this.hasControlError(control)) {
105
+ return;
106
+ }
107
+ return this.firstControlError(control);
108
+ }
109
+ hasControlError(control, showChildErrors = true) {
110
+ return ((control === null || control === void 0 ? void 0 : control.dirty) && this.firstControlError(control, showChildErrors));
111
+ }
112
+ firstControlError(control, showChildErrors = true) {
113
+ if (control instanceof FormGroup && showChildErrors) {
114
+ const errors = Object.keys(control.controls)
115
+ .map((key) => this.firstControlError(control.controls[key]))
116
+ .filter((val) => !!val);
117
+ return errors[0];
118
+ }
119
+ if (!(control === null || control === void 0 ? void 0 : control.errors)) {
120
+ return;
121
+ }
122
+ const keys = Object.keys(control.errors);
123
+ let err;
124
+ for (const key of keys) {
125
+ if (control.errors[key]) {
126
+ err = key;
127
+ break;
128
+ }
129
+ }
130
+ return err;
131
+ }
132
+ resetControl(control) {
133
+ control.setErrors(null);
134
+ control.reset();
135
+ control.markAsPristine();
136
+ if (control instanceof FormGroup) {
137
+ this.resetForm(control);
138
+ }
139
+ else if (control instanceof FormArray) {
140
+ for (const child of control === null || control === void 0 ? void 0 : control.controls) {
141
+ this.resetControl(child);
142
+ }
143
+ }
144
+ }
145
+ resetForm(formGroup) {
146
+ for (const field of Object.keys(formGroup.controls)) {
147
+ const control = formGroup.get(field);
148
+ this.resetControl(control);
149
+ }
150
+ this.markedDirty = false;
151
+ }
152
+ }
153
+ BaseFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: BaseFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
154
+ BaseFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.3", type: BaseFormComponent, selector: "ng-component", ngImport: i0, template: ``, isInline: true });
155
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: BaseFormComponent, decorators: [{
156
+ type: Component,
157
+ args: [{
158
+ template: ``,
159
+ }]
160
+ }] });
161
+
60
162
  class BaseUploadComponent {
61
163
  constructor() {
62
164
  this.uploaded = false;
@@ -1865,108 +1967,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImpor
1865
1967
 
1866
1968
  const OVERLAY_SERVICES = [OverlayService];
1867
1969
 
1868
- class BaseFormComponent {
1869
- constructor() {
1870
- this.markedDirty = false;
1871
- }
1872
- scrollToFirstError() {
1873
- const invalidInputs = Array.from(document.getElementsByClassName('ng-invalid'))
1874
- .filter((e) => { var _a; return ((_a = e === null || e === void 0 ? void 0 : e.nodeName) === null || _a === void 0 ? void 0 : _a.toLowerCase()) !== 'form'; })
1875
- .sort((a, b) => a.scrollTop - b.scrollTop);
1876
- const first = invalidInputs[0];
1877
- if (first) {
1878
- first.scrollIntoView({
1879
- behavior: 'smooth',
1880
- block: 'center',
1881
- inline: 'center',
1882
- });
1883
- }
1884
- }
1885
- markControlDirty(control) {
1886
- if (control instanceof FormControl) {
1887
- control.markAsDirty({ onlySelf: true });
1888
- control.markAsTouched({ onlySelf: true });
1889
- }
1890
- else if (control instanceof FormGroup) {
1891
- control.markAsDirty();
1892
- control.markAsTouched();
1893
- this.markAllDirty(control);
1894
- }
1895
- else if (control instanceof FormArray) {
1896
- control.markAsDirty();
1897
- control.markAsTouched();
1898
- for (const child of control === null || control === void 0 ? void 0 : control.controls) {
1899
- this.markControlDirty(child);
1900
- }
1901
- }
1902
- control.updateValueAndValidity();
1903
- }
1904
- markAllDirty(formGroup) {
1905
- this.markedDirty = true;
1906
- for (const field of Object.keys(formGroup.controls)) {
1907
- const control = formGroup.get(field);
1908
- this.markControlDirty(control);
1909
- }
1910
- }
1911
- getControlError(control) {
1912
- if (!this.hasControlError(control)) {
1913
- return;
1914
- }
1915
- return this.firstControlError(control);
1916
- }
1917
- hasControlError(control, showChildErrors = true) {
1918
- return ((control === null || control === void 0 ? void 0 : control.dirty) && this.firstControlError(control, showChildErrors));
1919
- }
1920
- firstControlError(control, showChildErrors = true) {
1921
- if (control instanceof FormGroup && showChildErrors) {
1922
- const errors = Object.keys(control.controls)
1923
- .map((key) => this.firstControlError(control.controls[key]))
1924
- .filter((val) => !!val);
1925
- return errors[0];
1926
- }
1927
- if (!(control === null || control === void 0 ? void 0 : control.errors)) {
1928
- return;
1929
- }
1930
- const keys = Object.keys(control.errors);
1931
- let err;
1932
- for (const key of keys) {
1933
- if (control.errors[key]) {
1934
- err = key;
1935
- break;
1936
- }
1937
- }
1938
- return err;
1939
- }
1940
- resetControl(control) {
1941
- control.setErrors(null);
1942
- control.reset();
1943
- control.markAsPristine();
1944
- if (control instanceof FormGroup) {
1945
- this.resetForm(control);
1946
- }
1947
- else if (control instanceof FormArray) {
1948
- for (const child of control === null || control === void 0 ? void 0 : control.controls) {
1949
- this.resetControl(child);
1950
- }
1951
- }
1952
- }
1953
- resetForm(formGroup) {
1954
- for (const field of Object.keys(formGroup.controls)) {
1955
- const control = formGroup.get(field);
1956
- this.resetControl(control);
1957
- }
1958
- this.markedDirty = false;
1959
- }
1960
- }
1961
- BaseFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: BaseFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1962
- BaseFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.3", type: BaseFormComponent, selector: "ng-component", ngImport: i0, template: ``, isInline: true });
1963
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: BaseFormComponent, decorators: [{
1964
- type: Component,
1965
- args: [{
1966
- template: ``,
1967
- }]
1968
- }] });
1969
-
1970
1970
  const createFormFilters = (values, quickFilters, quickFilterKey) => {
1971
1971
  const filters = [];
1972
1972
  let quickFilter = null;