@3kles/kles-material-dynamicforms 18.1.2 → 19.0.1
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.
- package/README.md +0 -1
- package/fesm2022/3kles-kles-material-dynamicforms.mjs +1719 -1880
- package/fesm2022/3kles-kles-material-dynamicforms.mjs.map +1 -1
- package/lib/directive/dynamic-component.directive.d.ts +1 -1
- package/lib/directive/dynamic-field.directive.d.ts +2 -2
- package/lib/directive/mat-error-form.directive.d.ts +1 -1
- package/lib/directive/mat-error-message.directive.d.ts +1 -1
- package/lib/dynamic-form-intl.d.ts +7 -0
- package/lib/dynamic-form.component.d.ts +1 -1
- package/lib/fields/array.component.d.ts +1 -1
- package/lib/fields/badge.component.d.ts +1 -1
- package/lib/fields/button-fab.component.d.ts +1 -1
- package/lib/fields/button-form.component.d.ts +1 -1
- package/lib/fields/button-icon.component.d.ts +1 -1
- package/lib/fields/button-mini-fab.component.d.ts +1 -1
- package/lib/fields/button-toogle-group.component.d.ts +1 -1
- package/lib/fields/buttonchecker-form.component.d.ts +1 -1
- package/lib/fields/buttonfile-form.component.d.ts +1 -1
- package/lib/fields/checkbox-indeterminate.component.d.ts +1 -1
- package/lib/fields/checkbox.component.d.ts +1 -1
- package/lib/fields/chip.component.d.ts +1 -1
- package/lib/fields/clear.component.d.ts +1 -1
- package/lib/fields/color.component.d.ts +1 -1
- package/lib/fields/copy.component.d.ts +6 -6
- package/lib/fields/date.component.d.ts +1 -1
- package/lib/fields/field.abstract.d.ts +1 -1
- package/lib/fields/file.component.d.ts +1 -1
- package/lib/fields/group.component.d.ts +1 -1
- package/lib/fields/icon.component.d.ts +1 -1
- package/lib/fields/input.clearable.component.d.ts +6 -2
- package/lib/fields/input.component.d.ts +6 -2
- package/lib/fields/label.component.d.ts +1 -1
- package/lib/fields/line-break.component.d.ts +1 -1
- package/lib/fields/link.component.d.ts +3 -3
- package/lib/fields/list-field.component.d.ts +1 -1
- package/lib/fields/radio.component.d.ts +1 -1
- package/lib/fields/range.component.d.ts +2 -2
- package/lib/fields/select.component.d.ts +4 -2
- package/lib/fields/select.lazy-search.component.d.ts +4 -2
- package/lib/fields/select.search.component.d.ts +4 -2
- package/lib/fields/selection-list.component.d.ts +1 -1
- package/lib/fields/selection-list.search.component.d.ts +1 -1
- package/lib/fields/slide-toggle.component.d.ts +2 -2
- package/lib/fields/text.component.d.ts +1 -1
- package/lib/fields/textarea.component.d.ts +1 -1
- package/lib/forms/button-control-base.d.ts +1 -1
- package/lib/forms/button-control.component.d.ts +1 -1
- package/lib/forms/buttonchecker-control.component.d.ts +1 -1
- package/lib/forms/buttonfile-control.component.d.ts +1 -1
- package/lib/forms/fab-control.component.d.ts +1 -1
- package/lib/forms/file-control.component.d.ts +1 -1
- package/lib/forms/icon-button-control.component.d.ts +1 -1
- package/lib/forms/indeterminate-checkbox.d.ts +2 -1
- package/lib/forms/mini-fab-control.component.d.ts +1 -1
- package/lib/kles-material-dynamicforms.module.d.ts +58 -60
- package/lib/modules/material.module.d.ts +4 -5
- package/lib/pipe/array.pipe.d.ts +1 -1
- package/lib/pipe/transform.pipe.d.ts +1 -1
- package/package.json +13 -22
- package/public-api.d.ts +2 -1
- package/esm2022/3kles-kles-material-dynamicforms.mjs +0 -5
- package/esm2022/lib/controls/array.control.mjs +0 -57
- package/esm2022/lib/controls/control.abstract.mjs +0 -31
- package/esm2022/lib/controls/control.interface.mjs +0 -2
- package/esm2022/lib/controls/default.control.mjs +0 -34
- package/esm2022/lib/controls/group.control.mjs +0 -49
- package/esm2022/lib/controls/range.control.mjs +0 -18
- package/esm2022/lib/decorators/component.decorator.mjs +0 -12
- package/esm2022/lib/directive/dynamic-component.directive.mjs +0 -44
- package/esm2022/lib/directive/dynamic-field.directive.mjs +0 -109
- package/esm2022/lib/directive/mat-error-form.directive.mjs +0 -54
- package/esm2022/lib/directive/mat-error-message.directive.mjs +0 -53
- package/esm2022/lib/dynamic-form.component.mjs +0 -214
- package/esm2022/lib/enums/button-attribute.enum.mjs +0 -8
- package/esm2022/lib/enums/type.enum.mjs +0 -21
- package/esm2022/lib/factories/field.factory.mjs +0 -6
- package/esm2022/lib/fields/array.component.mjs +0 -61
- package/esm2022/lib/fields/badge.component.mjs +0 -39
- package/esm2022/lib/fields/button-fab.component.mjs +0 -48
- package/esm2022/lib/fields/button-form.component.mjs +0 -50
- package/esm2022/lib/fields/button-icon.component.mjs +0 -48
- package/esm2022/lib/fields/button-mini-fab.component.mjs +0 -48
- package/esm2022/lib/fields/button-toogle-group.component.mjs +0 -55
- package/esm2022/lib/fields/buttonchecker-form.component.mjs +0 -48
- package/esm2022/lib/fields/buttonfile-form.component.mjs +0 -51
- package/esm2022/lib/fields/checkbox-indeterminate.component.mjs +0 -42
- package/esm2022/lib/fields/checkbox.component.mjs +0 -42
- package/esm2022/lib/fields/chip.component.mjs +0 -44
- package/esm2022/lib/fields/clear.component.mjs +0 -35
- package/esm2022/lib/fields/color.component.mjs +0 -134
- package/esm2022/lib/fields/copy.component.mjs +0 -45
- package/esm2022/lib/fields/date-time.component.mjs +0 -61
- package/esm2022/lib/fields/date.component.mjs +0 -60
- package/esm2022/lib/fields/field.abstract.mjs +0 -88
- package/esm2022/lib/fields/file.component.mjs +0 -41
- package/esm2022/lib/fields/group.component.mjs +0 -80
- package/esm2022/lib/fields/icon.component.mjs +0 -27
- package/esm2022/lib/fields/input.clearable.component.mjs +0 -144
- package/esm2022/lib/fields/input.component.mjs +0 -252
- package/esm2022/lib/fields/label.component.mjs +0 -39
- package/esm2022/lib/fields/line-break.component.mjs +0 -26
- package/esm2022/lib/fields/link.component.mjs +0 -31
- package/esm2022/lib/fields/list-field.component.mjs +0 -157
- package/esm2022/lib/fields/radio.component.mjs +0 -50
- package/esm2022/lib/fields/range.component.mjs +0 -81
- package/esm2022/lib/fields/select.component.mjs +0 -358
- package/esm2022/lib/fields/select.lazy-search.component.mjs +0 -303
- package/esm2022/lib/fields/select.search.component.mjs +0 -475
- package/esm2022/lib/fields/selection-list.component.mjs +0 -149
- package/esm2022/lib/fields/selection-list.search.component.mjs +0 -193
- package/esm2022/lib/fields/slide-toggle.component.mjs +0 -29
- package/esm2022/lib/fields/text.component.mjs +0 -42
- package/esm2022/lib/fields/textarea.component.mjs +0 -64
- package/esm2022/lib/forms/button-control-base.mjs +0 -89
- package/esm2022/lib/forms/button-control.component.mjs +0 -91
- package/esm2022/lib/forms/buttonchecker-control.component.mjs +0 -98
- package/esm2022/lib/forms/buttonfile-control.component.mjs +0 -124
- package/esm2022/lib/forms/fab-control.component.mjs +0 -60
- package/esm2022/lib/forms/file-control.component.mjs +0 -72
- package/esm2022/lib/forms/icon-button-control.component.mjs +0 -55
- package/esm2022/lib/forms/indeterminate-checkbox.mjs +0 -91
- package/esm2022/lib/forms/mini-fab-control.component.mjs +0 -60
- package/esm2022/lib/interfaces/clear-control.interface.mjs +0 -2
- package/esm2022/lib/interfaces/component.interface.mjs +0 -2
- package/esm2022/lib/interfaces/directive.interface.mjs +0 -2
- package/esm2022/lib/interfaces/field.config.interface.mjs +0 -2
- package/esm2022/lib/interfaces/field.interface.mjs +0 -2
- package/esm2022/lib/interfaces/validator.interface.mjs +0 -2
- package/esm2022/lib/kles-material-dynamicforms.module.mjs +0 -261
- package/esm2022/lib/matcher/form-error.matcher.mjs +0 -16
- package/esm2022/lib/modules/material.module.mjs +0 -279
- package/esm2022/lib/pipe/array.pipe.mjs +0 -22
- package/esm2022/lib/pipe/transform.pipe.mjs +0 -28
- package/esm2022/lib/selection/selection-model.mjs +0 -231
- package/esm2022/lib/utils/destroyable.guard.mjs +0 -5
- package/esm2022/lib/validators/autocomplete.validator.mjs +0 -23
- package/esm2022/public-api.mjs +0 -92
- package/lib/fields/date-time.component.d.ts +0 -9
|
@@ -2,6 +2,7 @@ import { KlesDynamicFormComponent } from './dynamic-form.component';
|
|
|
2
2
|
import { KlesComponentDirective } from './directive/dynamic-component.directive';
|
|
3
3
|
import { KlesDynamicFieldDirective } from './directive/dynamic-field.directive';
|
|
4
4
|
import { KlesFormLabelComponent } from './fields/label.component';
|
|
5
|
+
import { KlesFormInputComponent } from './fields/input.component';
|
|
5
6
|
import { KlesFormSelectComponent } from './fields/select.component';
|
|
6
7
|
import { KlesFormListFieldComponent } from './fields/list-field.component';
|
|
7
8
|
import { KlesTransformPipe } from './pipe/transform.pipe';
|
|
@@ -15,67 +16,64 @@ import { KlesIndeterminateCheckboxComponent } from './forms/indeterminate-checkb
|
|
|
15
16
|
import { KlesFormCopyComponent } from './fields/copy.component';
|
|
16
17
|
import { KlesFileControlComponent } from './forms/file-control.component';
|
|
17
18
|
import * as i0 from "@angular/core";
|
|
18
|
-
import * as i1 from "
|
|
19
|
-
import * as i2 from "
|
|
20
|
-
import * as i3 from "./
|
|
21
|
-
import * as i4 from "
|
|
22
|
-
import * as i5 from "
|
|
23
|
-
import * as i6 from "./
|
|
24
|
-
import * as i7 from "./
|
|
25
|
-
import * as i8 from "./
|
|
26
|
-
import * as i9 from "./fields/
|
|
27
|
-
import * as i10 from "./
|
|
28
|
-
import * as i11 from "./fields/
|
|
29
|
-
import * as i12 from "./forms/
|
|
30
|
-
import * as i13 from "./
|
|
31
|
-
import * as i14 from "./fields/
|
|
32
|
-
import * as i15 from "./
|
|
33
|
-
import * as i16 from "./fields/
|
|
34
|
-
import * as i17 from "./
|
|
35
|
-
import * as i18 from "./
|
|
36
|
-
import * as i19 from "./fields/
|
|
37
|
-
import * as i20 from "./fields/
|
|
38
|
-
import * as i21 from "./fields/
|
|
39
|
-
import * as i22 from "./fields/
|
|
40
|
-
import * as i23 from "./
|
|
41
|
-
import * as i24 from "./fields/
|
|
42
|
-
import * as i25 from "./fields/
|
|
43
|
-
import * as i26 from "./fields/
|
|
44
|
-
import * as i27 from "./fields/
|
|
45
|
-
import * as i28 from "./fields/
|
|
46
|
-
import * as i29 from "./fields/
|
|
47
|
-
import * as i30 from "./fields/
|
|
48
|
-
import * as i31 from "./fields/
|
|
49
|
-
import * as i32 from "./fields/
|
|
50
|
-
import * as i33 from "./fields/
|
|
51
|
-
import * as i34 from "./fields/
|
|
52
|
-
import * as i35 from "./fields/
|
|
53
|
-
import * as i36 from "./fields/
|
|
54
|
-
import * as i37 from "./fields/
|
|
55
|
-
import * as i38 from "./fields/
|
|
56
|
-
import * as i39 from "./
|
|
57
|
-
import * as i40 from "./
|
|
58
|
-
import * as i41 from "./fields/
|
|
59
|
-
import * as i42 from "./
|
|
60
|
-
import * as i43 from "./
|
|
61
|
-
import * as i44 from "./
|
|
62
|
-
import * as i45 from "./fields/
|
|
63
|
-
import * as i46 from "./
|
|
64
|
-
import * as i47 from "./
|
|
65
|
-
import * as i48 from "./
|
|
66
|
-
import * as i49 from "./
|
|
67
|
-
import * as i50 from "./
|
|
68
|
-
import * as i51 from "./
|
|
69
|
-
import * as i52 from "
|
|
70
|
-
import * as i53 from "
|
|
71
|
-
import * as i54 from "
|
|
72
|
-
import * as i55 from "./
|
|
73
|
-
import * as i56 from "ngx-color-picker";
|
|
74
|
-
import * as i57 from "ngx-mat-select-search";
|
|
75
|
-
import * as i58 from "@3kles/kles-material-datepicker";
|
|
19
|
+
import * as i1 from "@angular/common";
|
|
20
|
+
import * as i2 from "@angular/forms";
|
|
21
|
+
import * as i3 from "./modules/material.module";
|
|
22
|
+
import * as i4 from "ngx-color-picker";
|
|
23
|
+
import * as i5 from "ngx-mat-select-search";
|
|
24
|
+
import * as i6 from "./dynamic-form.component";
|
|
25
|
+
import * as i7 from "./fields/label.component";
|
|
26
|
+
import * as i8 from "./fields/input.component";
|
|
27
|
+
import * as i9 from "./fields/input.clearable.component";
|
|
28
|
+
import * as i10 from "./fields/badge.component";
|
|
29
|
+
import * as i11 from "./fields/file.component";
|
|
30
|
+
import * as i12 from "./forms/file-control.component";
|
|
31
|
+
import * as i13 from "./forms/button-control.component";
|
|
32
|
+
import * as i14 from "./fields/button-form.component";
|
|
33
|
+
import * as i15 from "./forms/buttonchecker-control.component";
|
|
34
|
+
import * as i16 from "./fields/buttonchecker-form.component";
|
|
35
|
+
import * as i17 from "./forms/buttonfile-control.component";
|
|
36
|
+
import * as i18 from "./fields/buttonfile-form.component";
|
|
37
|
+
import * as i19 from "./fields/select.component";
|
|
38
|
+
import * as i20 from "./fields/date.component";
|
|
39
|
+
import * as i21 from "./fields/radio.component";
|
|
40
|
+
import * as i22 from "./fields/checkbox.component";
|
|
41
|
+
import * as i23 from "./forms/indeterminate-checkbox";
|
|
42
|
+
import * as i24 from "./fields/checkbox-indeterminate.component";
|
|
43
|
+
import * as i25 from "./fields/list-field.component";
|
|
44
|
+
import * as i26 from "./fields/color.component";
|
|
45
|
+
import * as i27 from "./fields/textarea.component";
|
|
46
|
+
import * as i28 from "./fields/text.component";
|
|
47
|
+
import * as i29 from "./fields/chip.component";
|
|
48
|
+
import * as i30 from "./fields/group.component";
|
|
49
|
+
import * as i31 from "./fields/icon.component";
|
|
50
|
+
import * as i32 from "./fields/select.search.component";
|
|
51
|
+
import * as i33 from "./fields/line-break.component";
|
|
52
|
+
import * as i34 from "./fields/link.component";
|
|
53
|
+
import * as i35 from "./fields/slide-toggle.component";
|
|
54
|
+
import * as i36 from "./fields/selection-list.component";
|
|
55
|
+
import * as i37 from "./fields/button-toogle-group.component";
|
|
56
|
+
import * as i38 from "./fields/array.component";
|
|
57
|
+
import * as i39 from "./fields/range.component";
|
|
58
|
+
import * as i40 from "./fields/clear.component";
|
|
59
|
+
import * as i41 from "./fields/select.lazy-search.component";
|
|
60
|
+
import * as i42 from "./fields/button-fab.component";
|
|
61
|
+
import * as i43 from "./forms/fab-control.component";
|
|
62
|
+
import * as i44 from "./forms/mini-fab-control.component";
|
|
63
|
+
import * as i45 from "./fields/button-mini-fab.component";
|
|
64
|
+
import * as i46 from "./forms/icon-button-control.component";
|
|
65
|
+
import * as i47 from "./fields/button-icon.component";
|
|
66
|
+
import * as i48 from "./fields/selection-list.search.component";
|
|
67
|
+
import * as i49 from "./fields/copy.component";
|
|
68
|
+
import * as i50 from "./directive/dynamic-field.directive";
|
|
69
|
+
import * as i51 from "./directive/dynamic-component.directive";
|
|
70
|
+
import * as i52 from "./directive/mat-error-message.directive";
|
|
71
|
+
import * as i53 from "./directive/mat-error-form.directive";
|
|
72
|
+
import * as i54 from "./pipe/transform.pipe";
|
|
73
|
+
import * as i55 from "./pipe/array.pipe";
|
|
76
74
|
export declare class KlesMaterialDynamicformsModule {
|
|
77
|
-
static declarations: ((typeof
|
|
75
|
+
static declarations: ((typeof KlesFormClearComponent | typeof KlesDynamicFormComponent | typeof KlesFormLabelComponent | typeof KlesFormInputComponent | typeof KlesFormSelectComponent | typeof KlesFormListFieldComponent | typeof KlesFormSelectSearchComponent | typeof KlesFabComponent | typeof KlesIndeterminateCheckboxComponent | typeof KlesFormCopyComponent | typeof KlesFileControlComponent)[] | (typeof KlesDynamicFieldDirective | typeof MatErrorFormDirective | typeof KlesComponentDirective | typeof MatErrorMessageDirective)[] | (typeof KlesTransformPipe | typeof ArrayFormatPipe)[])[];
|
|
78
76
|
static ɵfac: i0.ɵɵFactoryDeclaration<KlesMaterialDynamicformsModule, never>;
|
|
79
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<KlesMaterialDynamicformsModule, [typeof i1.
|
|
77
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<KlesMaterialDynamicformsModule, never, [typeof i1.CommonModule, typeof i2.ReactiveFormsModule, typeof i2.FormsModule, typeof i3.MaterialModule, typeof i4.ColorPickerModule, typeof i5.NgxMatSelectSearchModule, typeof i6.KlesDynamicFormComponent, typeof i7.KlesFormLabelComponent, typeof i8.KlesFormInputComponent, typeof i9.KlesFormInputClearableComponent, typeof i10.KlesFormBadgeComponent, typeof i11.KlesFormFileComponent, typeof i12.KlesFileControlComponent, typeof i13.KlesButtonComponent, typeof i14.KlesFormButtonComponent, typeof i15.KlesButtonCheckerComponent, typeof i16.KlesFormButtonCheckerComponent, typeof i17.KlesButtonFileComponent, typeof i18.KlesFormButtonFileComponent, typeof i19.KlesFormSelectComponent, typeof i20.KlesFormDateComponent, typeof i21.KlesFormRadioComponent, typeof i22.KlesFormCheckboxComponent, typeof i23.KlesIndeterminateCheckboxComponent, typeof i24.KlesFormCheckboxIndeterminateComponent, typeof i25.KlesFormListFieldComponent, typeof i26.KlesFormColorComponent, typeof i27.KlesFormTextareaComponent, typeof i28.KlesFormTextComponent, typeof i29.KlesFormChipComponent, typeof i30.KlesFormGroupComponent, typeof i31.KlesFormIconComponent, typeof i32.KlesFormSelectSearchComponent, typeof i33.KlesFormLineBreakComponent, typeof i34.KlesFormLinkComponent, typeof i35.KlesFormSlideToggleComponent, typeof i36.KlesFormSelectionListComponent, typeof i37.KlesFormButtonToogleGroupComponent, typeof i38.KlesFormArrayComponent, typeof i39.KlesFormRangeComponent, typeof i40.KlesFormClearComponent, typeof i41.KlesFormSelectLazySearchComponent, typeof i42.KlesFormFabComponent, typeof i43.KlesFabComponent, typeof i44.KlesMiniFabComponent, typeof i45.KlesFormMiniFabComponent, typeof i46.KlesIconButtonComponent, typeof i47.KlesFormIconButtonComponent, typeof i48.KlesFormSelectionListSearchComponent, typeof i49.KlesFormCopyComponent, typeof i50.KlesDynamicFieldDirective, typeof i51.KlesComponentDirective, typeof i52.MatErrorMessageDirective, typeof i53.MatErrorFormDirective, typeof i54.KlesTransformPipe, typeof i55.ArrayFormatPipe], [typeof i6.KlesDynamicFormComponent, typeof i7.KlesFormLabelComponent, typeof i8.KlesFormInputComponent, typeof i9.KlesFormInputClearableComponent, typeof i10.KlesFormBadgeComponent, typeof i11.KlesFormFileComponent, typeof i12.KlesFileControlComponent, typeof i13.KlesButtonComponent, typeof i14.KlesFormButtonComponent, typeof i15.KlesButtonCheckerComponent, typeof i16.KlesFormButtonCheckerComponent, typeof i17.KlesButtonFileComponent, typeof i18.KlesFormButtonFileComponent, typeof i19.KlesFormSelectComponent, typeof i20.KlesFormDateComponent, typeof i21.KlesFormRadioComponent, typeof i22.KlesFormCheckboxComponent, typeof i23.KlesIndeterminateCheckboxComponent, typeof i24.KlesFormCheckboxIndeterminateComponent, typeof i25.KlesFormListFieldComponent, typeof i26.KlesFormColorComponent, typeof i27.KlesFormTextareaComponent, typeof i28.KlesFormTextComponent, typeof i29.KlesFormChipComponent, typeof i30.KlesFormGroupComponent, typeof i31.KlesFormIconComponent, typeof i32.KlesFormSelectSearchComponent, typeof i33.KlesFormLineBreakComponent, typeof i34.KlesFormLinkComponent, typeof i35.KlesFormSlideToggleComponent, typeof i36.KlesFormSelectionListComponent, typeof i37.KlesFormButtonToogleGroupComponent, typeof i38.KlesFormArrayComponent, typeof i39.KlesFormRangeComponent, typeof i40.KlesFormClearComponent, typeof i41.KlesFormSelectLazySearchComponent, typeof i42.KlesFormFabComponent, typeof i43.KlesFabComponent, typeof i44.KlesMiniFabComponent, typeof i45.KlesFormMiniFabComponent, typeof i46.KlesIconButtonComponent, typeof i47.KlesFormIconButtonComponent, typeof i48.KlesFormSelectionListSearchComponent, typeof i49.KlesFormCopyComponent, typeof i54.KlesTransformPipe, typeof i55.ArrayFormatPipe, typeof i50.KlesDynamicFieldDirective, typeof i51.KlesComponentDirective, typeof i52.MatErrorMessageDirective, typeof i53.MatErrorFormDirective]>;
|
|
80
78
|
static ɵinj: i0.ɵɵInjectorDeclaration<KlesMaterialDynamicformsModule>;
|
|
81
79
|
}
|
|
@@ -32,12 +32,11 @@ import * as i30 from "@angular/material/core";
|
|
|
32
32
|
import * as i31 from "@angular/material/snack-bar";
|
|
33
33
|
import * as i32 from "@angular/material/tree";
|
|
34
34
|
import * as i33 from "@angular/material/slide-toggle";
|
|
35
|
-
import * as i34 from "
|
|
36
|
-
import * as i35 from "@angular/
|
|
37
|
-
import * as i36 from "@angular/cdk/
|
|
38
|
-
import * as i37 from "@angular/cdk/scrolling";
|
|
35
|
+
import * as i34 from "@angular/material/button-toggle";
|
|
36
|
+
import * as i35 from "@angular/cdk/portal";
|
|
37
|
+
import * as i36 from "@angular/cdk/scrolling";
|
|
39
38
|
export declare class MaterialModule {
|
|
40
39
|
static ɵfac: i0.ɵɵFactoryDeclaration<MaterialModule, never>;
|
|
41
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<MaterialModule, never, [typeof i1.CommonModule, typeof i2.MatSliderModule, typeof i3.MatButtonModule, typeof i4.MatToolbarModule, typeof i5.MatIconModule, typeof i6.MatSidenavModule, typeof i7.MatBadgeModule, typeof i8.MatListModule, typeof i9.MatGridListModule, typeof i10.MatFormFieldModule, typeof i11.MatInputModule, typeof i12.MatSelectModule, typeof i13.MatRadioModule, typeof i14.MatDatepickerModule, typeof i15.MatChipsModule, typeof i16.MatTooltipModule, typeof i17.MatTableModule, typeof i18.MatPaginatorModule, typeof i19.MatCardModule, typeof i20.MatMenuModule, typeof i21.MatTabsModule, typeof i22.CdkTableModule, typeof i23.MatProgressSpinnerModule, typeof i24.MatCheckboxModule, typeof i25.MatDialogModule, typeof i26.MatAutocompleteModule, typeof i27.MatProgressBarModule, typeof i28.MatSortModule, typeof i29.MatExpansionModule, typeof i30.MatNativeDateModule, typeof i31.MatSnackBarModule, typeof i32.MatTreeModule, typeof i2.MatSliderModule, typeof i33.MatSlideToggleModule, typeof i34.
|
|
40
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<MaterialModule, never, [typeof i1.CommonModule, typeof i2.MatSliderModule, typeof i3.MatButtonModule, typeof i4.MatToolbarModule, typeof i5.MatIconModule, typeof i6.MatSidenavModule, typeof i7.MatBadgeModule, typeof i8.MatListModule, typeof i9.MatGridListModule, typeof i10.MatFormFieldModule, typeof i11.MatInputModule, typeof i12.MatSelectModule, typeof i13.MatRadioModule, typeof i14.MatDatepickerModule, typeof i15.MatChipsModule, typeof i16.MatTooltipModule, typeof i17.MatTableModule, typeof i18.MatPaginatorModule, typeof i19.MatCardModule, typeof i20.MatMenuModule, typeof i21.MatTabsModule, typeof i22.CdkTableModule, typeof i23.MatProgressSpinnerModule, typeof i24.MatCheckboxModule, typeof i25.MatDialogModule, typeof i26.MatAutocompleteModule, typeof i27.MatProgressBarModule, typeof i28.MatSortModule, typeof i29.MatExpansionModule, typeof i30.MatNativeDateModule, typeof i31.MatSnackBarModule, typeof i32.MatTreeModule, typeof i2.MatSliderModule, typeof i33.MatSlideToggleModule, typeof i34.MatButtonToggleModule, typeof i35.PortalModule], [typeof i3.MatButtonModule, typeof i4.MatToolbarModule, typeof i5.MatIconModule, typeof i6.MatSidenavModule, typeof i7.MatBadgeModule, typeof i8.MatListModule, typeof i9.MatGridListModule, typeof i11.MatInputModule, typeof i10.MatFormFieldModule, typeof i12.MatSelectModule, typeof i13.MatRadioModule, typeof i14.MatDatepickerModule, typeof i15.MatChipsModule, typeof i16.MatTooltipModule, typeof i17.MatTableModule, typeof i18.MatPaginatorModule, typeof i19.MatCardModule, typeof i20.MatMenuModule, typeof i21.MatTabsModule, typeof i22.CdkTableModule, typeof i23.MatProgressSpinnerModule, typeof i24.MatCheckboxModule, typeof i25.MatDialogModule, typeof i26.MatAutocompleteModule, typeof i27.MatProgressBarModule, typeof i28.MatSortModule, typeof i29.MatExpansionModule, typeof i30.MatNativeDateModule, typeof i31.MatSnackBarModule, typeof i32.MatTreeModule, typeof i2.MatSliderModule, typeof i33.MatSlideToggleModule, typeof i36.ScrollingModule, typeof i36.CdkScrollable, typeof i34.MatButtonToggleModule, typeof i35.PortalModule]>;
|
|
42
41
|
static ɵinj: i0.ɵɵInjectorDeclaration<MaterialModule>;
|
|
43
42
|
}
|
package/lib/pipe/array.pipe.d.ts
CHANGED
|
@@ -3,5 +3,5 @@ import * as i0 from "@angular/core";
|
|
|
3
3
|
export declare class ArrayFormatPipe implements PipeTransform {
|
|
4
4
|
transform(values: any[], property?: string): string;
|
|
5
5
|
static ɵfac: i0.ɵɵFactoryDeclaration<ArrayFormatPipe, never>;
|
|
6
|
-
static ɵpipe: i0.ɵɵPipeDeclaration<ArrayFormatPipe, "arrayFormat",
|
|
6
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<ArrayFormatPipe, "arrayFormat", true>;
|
|
7
7
|
}
|
|
@@ -6,5 +6,5 @@ export declare class KlesTransformPipe implements PipeTransform {
|
|
|
6
6
|
options?: any[];
|
|
7
7
|
}[]): any;
|
|
8
8
|
static ɵfac: i0.ɵɵFactoryDeclaration<KlesTransformPipe, never>;
|
|
9
|
-
static ɵpipe: i0.ɵɵPipeDeclaration<KlesTransformPipe, "klesTransform",
|
|
9
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<KlesTransformPipe, "klesTransform", true>;
|
|
10
10
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@3kles/kles-material-dynamicforms",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "19.0.1",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/3kles-lab/klesmaterialdynamicforms"
|
|
@@ -15,27 +15,20 @@
|
|
|
15
15
|
"author": "3Kles Lab",
|
|
16
16
|
"license": "ISC",
|
|
17
17
|
"peerDependencies": {
|
|
18
|
-
"@
|
|
19
|
-
"@angular/
|
|
20
|
-
"@angular/
|
|
21
|
-
"@angular/
|
|
22
|
-
"@angular/
|
|
23
|
-
"@angular/
|
|
24
|
-
"@angular/
|
|
25
|
-
"@angular/
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"@angular/router": "^18.2.13",
|
|
29
|
-
"@ngx-translate/core": "^15.0.0",
|
|
30
|
-
"@ngx-translate/http-loader": "^8.0.0",
|
|
31
|
-
"angular-material": "^1.1.21",
|
|
18
|
+
"@angular/animations": "^19.2.0",
|
|
19
|
+
"@angular/cdk": "^19.2.0",
|
|
20
|
+
"@angular/common": "^19.2.0",
|
|
21
|
+
"@angular/core": "^19.2.0",
|
|
22
|
+
"@angular/forms": "^19.2.0",
|
|
23
|
+
"@angular/material": "^19.2.0",
|
|
24
|
+
"@angular/platform-browser": "^19.2.0",
|
|
25
|
+
"@angular/router": "^19.2.0",
|
|
26
|
+
"rxjs": "^7.8.0",
|
|
27
|
+
"zone.js": "~0.15.1",
|
|
32
28
|
"hammerjs": "^2.0.8",
|
|
33
|
-
"jquery": "^3.5.1",
|
|
34
29
|
"lodash": "^4.17.19",
|
|
35
|
-
"ngx-color-picker": "^
|
|
36
|
-
"ngx-mat-select-search": "^
|
|
37
|
-
"rxjs": "~6.5.4",
|
|
38
|
-
"zone.js": "~0.14.2"
|
|
30
|
+
"ngx-color-picker": "^19.0.0",
|
|
31
|
+
"ngx-mat-select-search": "^8.0.2"
|
|
39
32
|
},
|
|
40
33
|
"dependencies": {
|
|
41
34
|
"tslib": "^2.0.0"
|
|
@@ -48,8 +41,6 @@
|
|
|
48
41
|
},
|
|
49
42
|
".": {
|
|
50
43
|
"types": "./index.d.ts",
|
|
51
|
-
"esm2022": "./esm2022/3kles-kles-material-dynamicforms.mjs",
|
|
52
|
-
"esm": "./esm2022/3kles-kles-material-dynamicforms.mjs",
|
|
53
44
|
"default": "./fesm2022/3kles-kles-material-dynamicforms.mjs"
|
|
54
45
|
}
|
|
55
46
|
},
|
package/public-api.d.ts
CHANGED
|
@@ -45,7 +45,6 @@ export * from './lib/fields/array.component';
|
|
|
45
45
|
export * from './lib/fields/range.component';
|
|
46
46
|
export * from './lib/fields/clear.component';
|
|
47
47
|
export * from './lib/fields/select.lazy-search.component';
|
|
48
|
-
export * from './lib/fields/date-time.component';
|
|
49
48
|
export * from './lib/fields/button-fab.component';
|
|
50
49
|
export * from './lib/fields/button-mini-fab.component';
|
|
51
50
|
export * from './lib/fields/button-icon.component';
|
|
@@ -85,3 +84,5 @@ export * from './lib/controls/control.abstract';
|
|
|
85
84
|
export * from './lib/selection/selection-model';
|
|
86
85
|
/**UTILS */
|
|
87
86
|
export * from './lib/utils/destroyable.guard';
|
|
87
|
+
/**INTL */
|
|
88
|
+
export * from './lib/dynamic-form-intl';
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiM2tsZXMta2xlcy1tYXRlcmlhbC1keW5hbWljZm9ybXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9rbGVzLW1hdGVyaWFsLWR5bmFtaWNmb3Jtcy9zcmMvM2tsZXMta2xlcy1tYXRlcmlhbC1keW5hbWljZm9ybXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { FormArray, FormControl, FormGroup } from "@angular/forms";
|
|
2
|
-
import { KlesFormControl } from "./default.control";
|
|
3
|
-
import { v4 as uuidv4 } from 'uuid';
|
|
4
|
-
import { componentMapper } from "../decorators/component.decorator";
|
|
5
|
-
import { klesFieldControlFactory } from "../factories/field.factory";
|
|
6
|
-
export class KlesFormArray extends KlesFormControl {
|
|
7
|
-
create() {
|
|
8
|
-
const array = new FormArray([], {
|
|
9
|
-
validators: this.bindValidations(this.field.validations || []),
|
|
10
|
-
asyncValidators: this.bindAsyncValidations(this.field.asyncValidations || []),
|
|
11
|
-
updateOn: this.field.updateOn || 'change'
|
|
12
|
-
});
|
|
13
|
-
if (this.field.value && Array.isArray(this.field.value)) {
|
|
14
|
-
if (this.field.collections && Array.isArray(this.field.collections)) {
|
|
15
|
-
this.field.value.forEach(val => {
|
|
16
|
-
const line = { ...val, _id: val?._id || uuidv4() };
|
|
17
|
-
const group = new FormGroup({ _id: new FormControl(line._id) });
|
|
18
|
-
this.field.collections?.forEach(subfield => {
|
|
19
|
-
const data = line[subfield.name] || null;
|
|
20
|
-
let control;
|
|
21
|
-
if (subfield.type) {
|
|
22
|
-
control = componentMapper.find(c => c.type === subfield.type)?.factory({ ...subfield, ...(data && { value: data }) }, this.ref)
|
|
23
|
-
|| klesFieldControlFactory({ ...subfield, ...(data && { value: data }) }, this.ref);
|
|
24
|
-
}
|
|
25
|
-
else {
|
|
26
|
-
control = componentMapper.find(c => c.component === subfield.component)?.factory({ ...subfield, ...(data && { value: data }) }, this.ref)
|
|
27
|
-
|| klesFieldControlFactory({ ...subfield, ...(data && { value: data }) }, this.ref);
|
|
28
|
-
}
|
|
29
|
-
group.addControl(subfield.name, control);
|
|
30
|
-
});
|
|
31
|
-
array.push(group);
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
const group = new FormGroup({ _id: new FormControl(uuidv4()) });
|
|
37
|
-
this.field.collections?.forEach(subfield => {
|
|
38
|
-
let control;
|
|
39
|
-
if (subfield.type) {
|
|
40
|
-
control = componentMapper.find(c => c.type === subfield.type)?.factory({ ...subfield }, this.ref)
|
|
41
|
-
|| klesFieldControlFactory({ ...subfield }, this.ref);
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
control = componentMapper.find(c => c.component === subfield.component)?.factory({ ...subfield }, this.ref)
|
|
45
|
-
|| klesFieldControlFactory({ ...subfield }, this.ref);
|
|
46
|
-
}
|
|
47
|
-
group.addControl(subfield.name, control);
|
|
48
|
-
});
|
|
49
|
-
array.push(group);
|
|
50
|
-
}
|
|
51
|
-
if (this.field.disabled) {
|
|
52
|
-
array.disable();
|
|
53
|
-
}
|
|
54
|
-
return array;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXkuY29udHJvbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tsZXMtbWF0ZXJpYWwtZHluYW1pY2Zvcm1zL3NyYy9saWIvY29udHJvbHMvYXJyYXkuY29udHJvbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW1CLFNBQVMsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxFQUFFLElBQUksTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVyRSxNQUFNLE9BQU8sYUFBYyxTQUFRLGVBQWU7SUFFdkMsTUFBTTtRQUNULE1BQU0sS0FBSyxHQUFHLElBQUksU0FBUyxDQUFDLEVBQUUsRUFBRTtZQUM1QixVQUFVLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUM7WUFDOUQsZUFBZSxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixJQUFJLEVBQUUsQ0FBQztZQUM3RSxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksUUFBUTtTQUM1QyxDQUFDLENBQUM7UUFFSCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3RELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENB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QUM5RCxDQUFDO3FCQUFNLENBQUM7b0JBQ0osT0FBTyxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxPQUFPLENBQUMsRUFBRSxHQUFHLFFBQVEsRUFBRSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUM7MkJBQ3BHLHVCQUF1QixDQUFDLEVBQUUsR0FBRyxRQUFRLEVBQUUsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBRTlELENBQUM7Z0JBQ0QsS0FBSyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQzdDLENBQUMsQ0FBQyxDQUFDO1lBQ0gsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QixDQUFDO1FBR0QsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3RCLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNwQixDQUFDO1FBR0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQXJyYXksIEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IEtsZXNGb3JtQ29udHJvbCB9IGZyb20gXCIuL2RlZmF1bHQuY29udHJvbFwiO1xuaW1wb3J0IHsgdjQgYXMgdXVpZHY0IH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgeyBjb21wb25lbnRNYXBwZXIgfSBmcm9tIFwiLi4vZGVjb3JhdG9ycy9jb21wb25lbnQuZGVjb3JhdG9yXCI7XG5pbXBvcnQgeyBrbGVzRmllbGRDb250cm9sRmFjdG9yeSB9IGZyb20gXCIuLi9mYWN0b3JpZXMvZmllbGQuZmFjdG9yeVwiO1xuXG5leHBvcnQgY2xhc3MgS2xlc0Zvcm1BcnJheSBleHRlbmRzIEtsZXNGb3JtQ29udHJvbCB7XG5cbiAgICBwdWJsaWMgY3JlYXRlKCk6IEFic3RyYWN0Q29udHJvbDxhbnksIGFueT4ge1xuICAgICAgICBjb25zdCBhcnJheSA9IG5ldyBGb3JtQXJyYXkoW10sIHtcbiAgICAgICAgICAgIHZhbGlkYXRvcnM6IHRoaXMuYmluZFZhbGlkYXRpb25zKHRoaXMuZmllbGQudmFsaWRhdGlvbnMgfHwgW10pLFxuICAgICAgICAgICAgYXN5bmNWYWxpZGF0b3JzOiB0aGlzLmJpbmRBc3luY1ZhbGlkYXRpb25zKHRoaXMuZmllbGQuYXN5bmNWYWxpZGF0aW9ucyB8fCBbXSksXG4gICAgICAgICAgICB1cGRhdGVPbjogdGhpcy5maWVsZC51cGRhdGVPbiB8fCAnY2hhbmdlJ1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAodGhpcy5maWVsZC52YWx1ZSAmJiBBcnJheS5pc0FycmF5KHRoaXMuZmllbGQudmFsdWUpKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5maWVsZC5jb2xsZWN0aW9ucyAmJiBBcnJheS5pc0FycmF5KHRoaXMuZmllbGQuY29sbGVjdGlvbnMpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5maWVsZC52YWx1ZS5mb3JFYWNoKHZhbCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpbmUgPSB7IC4uLnZhbCwgX2lkOiB2YWw/Ll9pZCB8fCB1dWlkdjQoKSB9O1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBncm91cCA9IG5ldyBGb3JtR3JvdXAoeyBfaWQ6IG5ldyBGb3JtQ29udHJvbChsaW5lLl9pZCkgfSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmllbGQuY29sbGVjdGlvbnM/LmZvckVhY2goc3ViZmllbGQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IGxpbmVbc3ViZmllbGQubmFtZV0gfHwgbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBjb250cm9sO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN1YmZpZWxkLnR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sID0gY29tcG9uZW50TWFwcGVyLmZpbmQoYyA9PiBjLnR5cGUgPT09IHN1YmZpZWxkLnR5cGUpPy5mYWN0b3J5KHsgLi4uc3ViZmllbGQsIC4uLihkYXRhICYmIHsgdmFsdWU6IGRhdGEgfSkgfSwgdGhpcy5yZWYpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8IGtsZXNGaWVsZENvbnRyb2xGYWN0b3J5KHsgLi4uc3ViZmllbGQsIC4uLihkYXRhICYmIHsgdmFsdWU6IGRhdGEgfSkgfSwgdGhpcy5yZWYpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sID0gY29tcG9uZW50TWFwcGVyLmZpbmQoYyA9PiBjLmNvbXBvbmVudCA9PT0gc3ViZmllbGQuY29tcG9uZW50KT8uZmFjdG9yeSh7IC4uLnN1YmZpZWxkLCAuLi4oZGF0YSAmJiB7IHZhbHVlOiBkYXRhIH0pIH0sIHRoaXMucmVmKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCBrbGVzRmllbGRDb250cm9sRmFjdG9yeSh7IC4uLnN1YmZpZWxkLCAuLi4oZGF0YSAmJiB7IHZhbHVlOiBkYXRhIH0pIH0sIHRoaXMucmVmKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VwLmFkZENvbnRyb2woc3ViZmllbGQubmFtZSwgY29udHJvbCk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBhcnJheS5wdXNoKGdyb3VwKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGdyb3VwID0gbmV3IEZvcm1Hcm91cCh7IF9pZDogbmV3IEZvcm1Db250cm9sKHV1aWR2NCgpKSB9KTtcbiAgICAgICAgICAgIHRoaXMuZmllbGQuY29sbGVjdGlvbnM/LmZvckVhY2goc3ViZmllbGQgPT4ge1xuICAgICAgICAgICAgICAgIGxldCBjb250cm9sO1xuICAgICAgICAgICAgICAgIGlmIChzdWJmaWVsZC50eXBlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRyb2wgPSBjb21wb25lbnRNYXBwZXIuZmluZChjID0+IGMudHlwZSA9PT0gc3ViZmllbGQudHlwZSk/LmZhY3RvcnkoeyAuLi5zdWJmaWVsZCB9LCB0aGlzLnJlZilcbiAgICAgICAgICAgICAgICAgICAgICAgIHx8IGtsZXNGaWVsZENvbnRyb2xGYWN0b3J5KHsgLi4uc3ViZmllbGQgfSwgdGhpcy5yZWYpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRyb2wgPSBjb21wb25lbnRNYXBwZXIuZmluZChjID0+IGMuY29tcG9uZW50ID09PSBzdWJmaWVsZC5jb21wb25lbnQpPy5mYWN0b3J5KHsgLi4uc3ViZmllbGQgfSwgdGhpcy5yZWYpXG4gICAgICAgICAgICAgICAgICAgICAgICB8fCBrbGVzRmllbGRDb250cm9sRmFjdG9yeSh7IC4uLnN1YmZpZWxkIH0sIHRoaXMucmVmKTtcblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBncm91cC5hZGRDb250cm9sKHN1YmZpZWxkLm5hbWUsIGNvbnRyb2wpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBhcnJheS5wdXNoKGdyb3VwKTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgaWYgKHRoaXMuZmllbGQuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGFycmF5LmRpc2FibGUoKTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgcmV0dXJuIGFycmF5O1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { Validators } from "@angular/forms";
|
|
2
|
-
import { tap } from "rxjs/operators";
|
|
3
|
-
export class KlesAbstractFormControl {
|
|
4
|
-
constructor(field, ref) {
|
|
5
|
-
this.field = field;
|
|
6
|
-
this.ref = ref;
|
|
7
|
-
}
|
|
8
|
-
bindValidations(validations) {
|
|
9
|
-
if (validations.length > 0) {
|
|
10
|
-
return Validators.compose(validations.map((validation) => validation.validator));
|
|
11
|
-
}
|
|
12
|
-
return null;
|
|
13
|
-
}
|
|
14
|
-
bindAsyncValidations(validations) {
|
|
15
|
-
if (validations.length > 0) {
|
|
16
|
-
return Validators.composeAsync(validations.map((validation) => {
|
|
17
|
-
return ((c) => {
|
|
18
|
-
const validator$ = validation.validator(c);
|
|
19
|
-
if (validator$ instanceof Promise) {
|
|
20
|
-
return validator$.finally(() => this.ref?.markForCheck());
|
|
21
|
-
}
|
|
22
|
-
else {
|
|
23
|
-
return validator$.pipe(tap(() => this.ref?.markForCheck()));
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
}));
|
|
27
|
-
}
|
|
28
|
-
return null;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC5hYnN0cmFjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tsZXMtbWF0ZXJpYWwtZHluYW1pY2Zvcm1zL3NyYy9saWIvY29udHJvbHMvY29udHJvbC5hYnN0cmFjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWtELFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSzVGLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdyQyxNQUFNLE9BQWdCLHVCQUF1QjtJQUV6QyxZQUFzQixLQUF1QixFQUFZLEdBQXVCO1FBQTFELFVBQUssR0FBTCxLQUFLLENBQWtCO1FBQVksUUFBRyxHQUFILEdBQUcsQ0FBb0I7SUFFaEYsQ0FBQztJQUdNLGVBQWUsQ0FBQyxXQUEwQztRQUM3RCxJQUFJLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDekIsT0FBTyxVQUFVLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBRXJGLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU0sb0JBQW9CLENBQUMsV0FBK0M7UUFDdkUsSUFBSSxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3pCLE9BQU8sVUFBVSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7Z0JBQzFELE9BQU8sQ0FBQyxDQUFDLENBQWtCLEVBQUUsRUFBRTtvQkFDM0IsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDM0MsSUFBSSxVQUFVLFlBQVksT0FBTyxFQUFFLENBQUM7d0JBQ2hDLE9BQU8sVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7b0JBQzlELENBQUM7eUJBQU0sQ0FBQzt3QkFDSixPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO29CQUNoRSxDQUFDO2dCQUNMLENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNSLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0NBRUoiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRvckZuLCBBc3luY1ZhbGlkYXRvckZuLCBWYWxpZGF0b3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBJS2xlc1ZhbGlkYXRvciB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL3ZhbGlkYXRvci5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IElLbGVzRmllbGRDb25maWcgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9maWVsZC5jb25maWcuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBJS2xlc0NvbnRyb2wgfSBmcm9tIFwiLi9jb250cm9sLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgdGFwIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEtsZXNBYnN0cmFjdEZvcm1Db250cm9sIGltcGxlbWVudHMgSUtsZXNDb250cm9sIHtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBmaWVsZDogSUtsZXNGaWVsZENvbmZpZywgcHJvdGVjdGVkIHJlZj86IENoYW5nZURldGVjdG9yUmVmKSB7XG5cbiAgICB9XG4gICAgYWJzdHJhY3QgY3JlYXRlKCk6IEFic3RyYWN0Q29udHJvbDtcblxuICAgIHB1YmxpYyBiaW5kVmFsaWRhdGlvbnModmFsaWRhdGlvbnM6IElLbGVzVmFsaWRhdG9yPFZhbGlkYXRvckZuPltdKTogVmFsaWRhdG9yRm4ge1xuICAgICAgICBpZiAodmFsaWRhdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgcmV0dXJuIFZhbGlkYXRvcnMuY29tcG9zZSh2YWxpZGF0aW9ucy5tYXAoKHZhbGlkYXRpb24pID0+IHZhbGlkYXRpb24udmFsaWRhdG9yKSk7XG5cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgYmluZEFzeW5jVmFsaWRhdGlvbnModmFsaWRhdGlvbnM6IElLbGVzVmFsaWRhdG9yPEFzeW5jVmFsaWRhdG9yRm4+W10pOiBBc3luY1ZhbGlkYXRvckZuIHtcbiAgICAgICAgaWYgKHZhbGlkYXRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHJldHVybiBWYWxpZGF0b3JzLmNvbXBvc2VBc3luYyh2YWxpZGF0aW9ucy5tYXAoKHZhbGlkYXRpb24pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKChjOiBBYnN0cmFjdENvbnRyb2wpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsaWRhdG9yJCA9IHZhbGlkYXRpb24udmFsaWRhdG9yKGMpO1xuICAgICAgICAgICAgICAgICAgICBpZiAodmFsaWRhdG9yJCBpbnN0YW5jZW9mIFByb21pc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWxpZGF0b3IkLmZpbmFsbHkoKCkgPT4gdGhpcy5yZWY/Lm1hcmtGb3JDaGVjaygpKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWxpZGF0b3IkLnBpcGUodGFwKCgpID0+IHRoaXMucmVmPy5tYXJrRm9yQ2hlY2soKSkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG59Il19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rbGVzLW1hdGVyaWFsLWR5bmFtaWNmb3Jtcy9zcmMvbGliL2NvbnRyb2xzL2NvbnRyb2wuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEFzeW5jVmFsaWRhdG9yRm4sIFZhbGlkYXRvckZuIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBJS2xlc1ZhbGlkYXRvciB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL3ZhbGlkYXRvci5pbnRlcmZhY2VcIjtcblxuZXhwb3J0IGludGVyZmFjZSBJS2xlc0NvbnRyb2wge1xuICAgIGNyZWF0ZSgpOiBBYnN0cmFjdENvbnRyb2w7XG4gICAgYmluZFZhbGlkYXRpb25zKHZhbGlkYXRpb25zOiBJS2xlc1ZhbGlkYXRvcjxWYWxpZGF0b3JGbj5bXSk6IFZhbGlkYXRvckZuO1xuICAgIGJpbmRBc3luY1ZhbGlkYXRpb25zKHZhbGlkYXRpb25zOiBJS2xlc1ZhbGlkYXRvcjxBc3luY1ZhbGlkYXRvckZuPltdKTogQXN5bmNWYWxpZGF0b3JGbjtcbn1cbiJdfQ==
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { FormControl } from "@angular/forms";
|
|
2
|
-
import { concat, of } from "rxjs";
|
|
3
|
-
import { catchError, map, take } from "rxjs/operators";
|
|
4
|
-
import { KlesAbstractFormControl } from "./control.abstract";
|
|
5
|
-
export class KlesFormControl extends KlesAbstractFormControl {
|
|
6
|
-
create() {
|
|
7
|
-
const control = new FormControl({ value: this.field.value, disabled: this.field.disabled || false }, {
|
|
8
|
-
nonNullable: this.field.nonNullable || false,
|
|
9
|
-
validators: this.bindValidations(this.field.validations || []),
|
|
10
|
-
asyncValidators: this.bindAsyncValidations(this.field.asyncValidations || []),
|
|
11
|
-
updateOn: this.field.updateOn || 'change',
|
|
12
|
-
});
|
|
13
|
-
if (this.field.asyncValue) {
|
|
14
|
-
concat(of({ value: null, pending: true }), this.field.asyncValue.pipe(take(1), catchError((err) => {
|
|
15
|
-
console.error(err);
|
|
16
|
-
return of(null);
|
|
17
|
-
}), map((value) => ({ value, pending: false })))).subscribe((response) => {
|
|
18
|
-
this.field.pending = response.pending;
|
|
19
|
-
if (response.pending) {
|
|
20
|
-
control.disable({ emitEvent: false });
|
|
21
|
-
}
|
|
22
|
-
else {
|
|
23
|
-
if (!this.field.disabled) {
|
|
24
|
-
control.enable({ emitEvent: false });
|
|
25
|
-
}
|
|
26
|
-
control.setValue(response.value);
|
|
27
|
-
this.field.value = response.value;
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
return control;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC5jb250cm9sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2xlcy1tYXRlcmlhbC1keW5hbWljZm9ybXMvc3JjL2xpYi9jb250cm9scy9kZWZhdWx0LmNvbnRyb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQixXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU3RCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSx1QkFBdUI7SUFFakQsTUFBTTtRQUNULE1BQU0sT0FBTyxHQUFHLElBQUksV0FBVyxDQUMzQixFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksS0FBSyxFQUFFLEVBQ25FO1lBQ0ksV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxJQUFJLEtBQUs7WUFDNUMsVUFBVSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO1lBQzlELGVBQWUsRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsSUFBSSxFQUFFLENBQUM7WUFDN0UsUUFBUSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLFFBQVE7U0FDNUMsQ0FDSixDQUFDO1FBRUYsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sQ0FDRixFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUNsQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQ3RCLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDZixPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNuQixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwQixDQUFDLENBQUMsRUFDRixHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FDOUMsQ0FDSixDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO2dCQUNyQixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDO2dCQUN0QyxJQUFJLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztvQkFDbkIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO2dCQUMxQyxDQUFDO3FCQUFNLENBQUM7b0JBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7d0JBQ3ZCLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztvQkFDekMsQ0FBQztvQkFDRCxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDakMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQztnQkFDdEMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUNvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IGNvbmNhdCwgb2YgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCB0YWtlIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBLbGVzQWJzdHJhY3RGb3JtQ29udHJvbCB9IGZyb20gXCIuL2NvbnRyb2wuYWJzdHJhY3RcIjtcblxuZXhwb3J0IGNsYXNzIEtsZXNGb3JtQ29udHJvbCBleHRlbmRzIEtsZXNBYnN0cmFjdEZvcm1Db250cm9sIHtcblxuICAgIHB1YmxpYyBjcmVhdGUoKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICAgICAgY29uc3QgY29udHJvbCA9IG5ldyBGb3JtQ29udHJvbChcbiAgICAgICAgICAgIHsgdmFsdWU6IHRoaXMuZmllbGQudmFsdWUsIGRpc2FibGVkOiB0aGlzLmZpZWxkLmRpc2FibGVkIHx8IGZhbHNlIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbm9uTnVsbGFibGU6IHRoaXMuZmllbGQubm9uTnVsbGFibGUgfHwgZmFsc2UsXG4gICAgICAgICAgICAgICAgdmFsaWRhdG9yczogdGhpcy5iaW5kVmFsaWRhdGlvbnModGhpcy5maWVsZC52YWxpZGF0aW9ucyB8fCBbXSksXG4gICAgICAgICAgICAgICAgYXN5bmNWYWxpZGF0b3JzOiB0aGlzLmJpbmRBc3luY1ZhbGlkYXRpb25zKHRoaXMuZmllbGQuYXN5bmNWYWxpZGF0aW9ucyB8fCBbXSksXG4gICAgICAgICAgICAgICAgdXBkYXRlT246IHRoaXMuZmllbGQudXBkYXRlT24gfHwgJ2NoYW5nZScsXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKHRoaXMuZmllbGQuYXN5bmNWYWx1ZSkge1xuICAgICAgICAgICAgY29uY2F0KFxuICAgICAgICAgICAgICAgIG9mKHsgdmFsdWU6IG51bGwsIHBlbmRpbmc6IHRydWUgfSksXG4gICAgICAgICAgICAgICAgdGhpcy5maWVsZC5hc3luY1ZhbHVlLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgbWFwKCh2YWx1ZSkgPT4gKHsgdmFsdWUsIHBlbmRpbmc6IGZhbHNlIH0pKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICkuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZmllbGQucGVuZGluZyA9IHJlc3BvbnNlLnBlbmRpbmc7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnBlbmRpbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgY29udHJvbC5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZmllbGQuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2wuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjb250cm9sLnNldFZhbHVlKHJlc3BvbnNlLnZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWVsZC52YWx1ZSA9IHJlc3BvbnNlLnZhbHVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjb250cm9sO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { UntypedFormGroup } from "@angular/forms";
|
|
2
|
-
import { KlesFormControl } from "./default.control";
|
|
3
|
-
import { componentMapper } from "../decorators/component.decorator";
|
|
4
|
-
import { klesFieldControlFactory } from "../factories/field.factory";
|
|
5
|
-
import { concat, of } from "rxjs";
|
|
6
|
-
import { catchError, map, take } from "rxjs/operators";
|
|
7
|
-
export class KlesFormGroup extends KlesFormControl {
|
|
8
|
-
create() {
|
|
9
|
-
const subGroup = new UntypedFormGroup({});
|
|
10
|
-
if (this.field.collections && Array.isArray(this.field.collections)) {
|
|
11
|
-
this.field.collections.forEach(subfield => {
|
|
12
|
-
let control;
|
|
13
|
-
if (subfield.type) {
|
|
14
|
-
control = componentMapper.find(c => c.type === subfield.type)?.factory({ ...subfield, value: subfield.value || this.field.value?.[subfield.name] }, this.ref)
|
|
15
|
-
|| klesFieldControlFactory({ ...subfield, value: subfield.value || this.field.value?.[subfield.name] }, this.ref);
|
|
16
|
-
}
|
|
17
|
-
else {
|
|
18
|
-
control = componentMapper.find(c => c.component === subfield.component)?.factory({ ...subfield, value: subfield.value || this.field.value?.[subfield.name] })
|
|
19
|
-
|| klesFieldControlFactory({ ...subfield, value: subfield.value || this.field.value?.[subfield.name] }, this.ref);
|
|
20
|
-
}
|
|
21
|
-
subGroup.addControl(subfield.name, control);
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
if (this.field.disabled) {
|
|
25
|
-
subGroup.disable();
|
|
26
|
-
}
|
|
27
|
-
if (this.field.asyncValue) {
|
|
28
|
-
concat(of({ value: null, pending: true }), this.field.asyncValue.pipe(take(1), catchError((err) => {
|
|
29
|
-
console.error(err);
|
|
30
|
-
return of(null);
|
|
31
|
-
}), map((value) => ({ value, pending: false })))).subscribe((response) => {
|
|
32
|
-
this.field.pending = response.pending;
|
|
33
|
-
this.field.collections.forEach((col) => col.pending = response.pending);
|
|
34
|
-
if (response.pending) {
|
|
35
|
-
subGroup.disable({ emitEvent: false });
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
if (!this.field.disabled) {
|
|
39
|
-
subGroup.enable({ emitEvent: false });
|
|
40
|
-
}
|
|
41
|
-
subGroup.patchValue(response.value);
|
|
42
|
-
this.field.value = response.value;
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
return subGroup;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAuY29udHJvbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tsZXMtbWF0ZXJpYWwtZHluYW1pY2Zvcm1zL3NyYy9saWIvY29udHJvbHMvZ3JvdXAuY29udHJvbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQThCLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RCxNQUFNLE9BQU8sYUFBYyxTQUFRLGVBQWU7SUFFdkMsTUFBTTtRQUNULE1BQU0sUUFBUSxHQUFHLElBQUksZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFMUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUNsRSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQ3RDLElBQUksT0FBTyxDQUFDO2dCQUNaLElBQUksUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO29CQUNoQixPQUFPLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sQ0FBQyxFQUFFLEdB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LENBQUMsQ0FBQztvQkFDcEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQztnQkFDdEMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztRQUVELE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUdyb3VwLCBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBLbGVzRm9ybUNvbnRyb2wgfSBmcm9tIFwiLi9kZWZhdWx0LmNvbnRyb2xcIjtcbmltcG9ydCB7IGNvbXBvbmVudE1hcHBlciB9IGZyb20gXCIuLi9kZWNvcmF0b3JzL2NvbXBvbmVudC5kZWNvcmF0b3JcIjtcbmltcG9ydCB7IGtsZXNGaWVsZENvbnRyb2xGYWN0b3J5IH0gZnJvbSBcIi4uL2ZhY3Rvcmllcy9maWVsZC5mYWN0b3J5XCI7XG5pbXBvcnQgeyBjb25jYXQsIG9mIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgdGFrZSB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5leHBvcnQgY2xhc3MgS2xlc0Zvcm1Hcm91cCBleHRlbmRzIEtsZXNGb3JtQ29udHJvbCB7XG5cbiAgICBwdWJsaWMgY3JlYXRlKCk6IEFic3RyYWN0Q29udHJvbDxhbnksIGFueT4ge1xuICAgICAgICBjb25zdCBzdWJHcm91cCA9IG5ldyBVbnR5cGVkRm9ybUdyb3VwKHt9KTtcblxuICAgICAgICBpZiAodGhpcy5maWVsZC5jb2xsZWN0aW9ucyAmJiBBcnJheS5pc0FycmF5KHRoaXMuZmllbGQuY29sbGVjdGlvbnMpKSB7XG4gICAgICAgICAgICB0aGlzLmZpZWxkLmNvbGxlY3Rpb25zLmZvckVhY2goc3ViZmllbGQgPT4ge1xuICAgICAgICAgICAgICAgIGxldCBjb250cm9sO1xuICAgICAgICAgICAgICAgIGlmIChzdWJmaWVsZC50eXBlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRyb2wgPSBjb21wb25lbnRNYXBwZXIuZmluZChjID0+IGMudHlwZSA9PT0gc3ViZmllbGQudHlwZSk/LmZhY3RvcnkoeyAuLi5zdWJmaWVsZCwgdmFsdWU6IHN1YmZpZWxkLnZhbHVlIHx8IHRoaXMuZmllbGQudmFsdWU/LltzdWJmaWVsZC5uYW1lXSB9LCB0aGlzLnJlZilcbiAgICAgICAgICAgICAgICAgICAgICAgIHx8IGtsZXNGaWVsZENvbnRyb2xGYWN0b3J5KHsgLi4uc3ViZmllbGQsIHZhbHVlOiBzdWJmaWVsZC52YWx1ZSB8fCB0aGlzLmZpZWxkLnZhbHVlPy5bc3ViZmllbGQubmFtZV0gfSwgdGhpcy5yZWYpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRyb2wgPSBjb21wb25lbnRNYXBwZXIuZmluZChjID0+IGMuY29tcG9uZW50ID09PSBzdWJmaWVsZC5jb21wb25lbnQpPy5mYWN0b3J5KHsgLi4uc3ViZmllbGQsIHZhbHVlOiBzdWJmaWVsZC52YWx1ZSB8fCB0aGlzLmZpZWxkLnZhbHVlPy5bc3ViZmllbGQubmFtZV0gfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHx8IGtsZXNGaWVsZENvbnRyb2xGYWN0b3J5KHsgLi4uc3ViZmllbGQsIHZhbHVlOiBzdWJmaWVsZC52YWx1ZSB8fCB0aGlzLmZpZWxkLnZhbHVlPy5bc3ViZmllbGQubmFtZV0gfSwgdGhpcy5yZWYpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHN1Ykdyb3VwLmFkZENvbnRyb2woc3ViZmllbGQubmFtZSwgY29udHJvbCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmZpZWxkLmRpc2FibGVkKSB7XG4gICAgICAgICAgICBzdWJHcm91cC5kaXNhYmxlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5maWVsZC5hc3luY1ZhbHVlKSB7XG4gICAgICAgICAgICBjb25jYXQoXG4gICAgICAgICAgICAgICAgb2YoeyB2YWx1ZTogbnVsbCwgcGVuZGluZzogdHJ1ZSB9KSxcbiAgICAgICAgICAgICAgICB0aGlzLmZpZWxkLmFzeW5jVmFsdWUucGlwZShcbiAgICAgICAgICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICBtYXAoKHZhbHVlKSA9PiAoeyB2YWx1ZSwgcGVuZGluZzogZmFsc2UgfSkpXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKS5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5maWVsZC5wZW5kaW5nID0gcmVzcG9uc2UucGVuZGluZztcbiAgICAgICAgICAgICAgICB0aGlzLmZpZWxkLmNvbGxlY3Rpb25zLmZvckVhY2goKGNvbCkgPT4gY29sLnBlbmRpbmcgPSByZXNwb25zZS5wZW5kaW5nKTtcbiAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UucGVuZGluZykge1xuICAgICAgICAgICAgICAgICAgICBzdWJHcm91cC5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZmllbGQuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1Ykdyb3VwLmVuYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgc3ViR3JvdXAucGF0Y2hWYWx1ZShyZXNwb25zZS52YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmllbGQudmFsdWUgPSByZXNwb25zZS52YWx1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBzdWJHcm91cDtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { FormControl, FormGroup } from "@angular/forms";
|
|
2
|
-
import { KlesFormControl } from "./default.control";
|
|
3
|
-
export class KlesFormRange extends KlesFormControl {
|
|
4
|
-
create() {
|
|
5
|
-
const range = new FormGroup({
|
|
6
|
-
start: new FormControl(this.field.value?.start, { nonNullable: this.field.nonNullable && this.field.value?.start || false }),
|
|
7
|
-
end: new FormControl(this.field.value?.end, { nonNullable: this.field.nonNullable && this.field.value?.end || false }),
|
|
8
|
-
}, {
|
|
9
|
-
validators: this.bindValidations(this.field.validations || []),
|
|
10
|
-
asyncValidators: this.bindAsyncValidations(this.field.asyncValidations || []),
|
|
11
|
-
});
|
|
12
|
-
if (this.field.disabled) {
|
|
13
|
-
range.disable();
|
|
14
|
-
}
|
|
15
|
-
return range;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UuY29udHJvbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tsZXMtbWF0ZXJpYWwtZHluYW1pY2Zvcm1zL3NyYy9saWIvY29udHJvbHMvcmFuZ2UuY29udHJvbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW1CLFdBQVcsRUFBRSxTQUFTLEVBQW9CLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXBELE1BQU0sT0FBTyxhQUFjLFNBQVEsZUFBZTtJQUV2QyxNQUFNO1FBQ1QsTUFBTSxLQUFLLEdBQUcsSUFBSSxTQUFTLENBQUM7WUFDeEIsS0FBSyxFQUFFLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLElBQUksS0FBSyxFQUFFLENBQUM7WUFDNUgsR0FBRyxFQUFFLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7U0FDekgsRUFBRTtZQUNDLFVBQVUsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztZQUM5RCxlQUFlLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLElBQUksRUFBRSxDQUFDO1NBQ2hGLENBQUMsQ0FBQztRQUVILElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN0QixLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDcEIsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgS2xlc0Zvcm1Db250cm9sIH0gZnJvbSBcIi4vZGVmYXVsdC5jb250cm9sXCI7XG5cbmV4cG9ydCBjbGFzcyBLbGVzRm9ybVJhbmdlIGV4dGVuZHMgS2xlc0Zvcm1Db250cm9sIHtcblxuICAgIHB1YmxpYyBjcmVhdGUoKTogQWJzdHJhY3RDb250cm9sPGFueSwgYW55PiB7XG4gICAgICAgIGNvbnN0IHJhbmdlID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgICAgICAgICBzdGFydDogbmV3IEZvcm1Db250cm9sKHRoaXMuZmllbGQudmFsdWU/LnN0YXJ0LCB7IG5vbk51bGxhYmxlOiB0aGlzLmZpZWxkLm5vbk51bGxhYmxlICYmIHRoaXMuZmllbGQudmFsdWU/LnN0YXJ0IHx8IGZhbHNlIH0pLFxuICAgICAgICAgICAgZW5kOiBuZXcgRm9ybUNvbnRyb2wodGhpcy5maWVsZC52YWx1ZT8uZW5kLCB7IG5vbk51bGxhYmxlOiB0aGlzLmZpZWxkLm5vbk51bGxhYmxlICYmIHRoaXMuZmllbGQudmFsdWU/LmVuZCB8fCBmYWxzZSB9KSxcbiAgICAgICAgfSwge1xuICAgICAgICAgICAgdmFsaWRhdG9yczogdGhpcy5iaW5kVmFsaWRhdGlvbnModGhpcy5maWVsZC52YWxpZGF0aW9ucyB8fCBbXSksXG4gICAgICAgICAgICBhc3luY1ZhbGlkYXRvcnM6IHRoaXMuYmluZEFzeW5jVmFsaWRhdGlvbnModGhpcy5maWVsZC5hc3luY1ZhbGlkYXRpb25zIHx8IFtdKSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHRoaXMuZmllbGQuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJhbmdlLmRpc2FibGUoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmFuZ2U7XG4gICAgfVxufVxuIl19
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { klesFieldControlFactory } from '../factories/field.factory';
|
|
2
|
-
export const componentMapper = [];
|
|
3
|
-
export function FieldMapper(config) {
|
|
4
|
-
return (target) => {
|
|
5
|
-
componentMapper.push({
|
|
6
|
-
component: target,
|
|
7
|
-
type: config.type,
|
|
8
|
-
factory: config.factory || klesFieldControlFactory
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmRlY29yYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tsZXMtbWF0ZXJpYWwtZHluYW1pY2Zvcm1zL3NyYy9saWIvZGVjb3JhdG9ycy9jb21wb25lbnQuZGVjb3JhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR3JFLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FHdEIsRUFBRSxDQUFDO0FBRVQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxNQUczQjtJQUNHLE9BQU8sQ0FBQyxNQUFpQixFQUFFLEVBQUU7UUFDekIsZUFBZSxDQUFDLElBQUksQ0FBQztZQUNqQixTQUFTLEVBQUUsTUFBTTtZQUNqQixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7WUFDakIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLElBQUksdUJBQXVCO1NBQ3JELENBQUMsQ0FBQztJQUNQLENBQUMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsga2xlc0ZpZWxkQ29udHJvbEZhY3RvcnkgfSBmcm9tICcuLi9mYWN0b3JpZXMvZmllbGQuZmFjdG9yeSc7XG5pbXBvcnQgeyBJS2xlc0ZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9maWVsZC5jb25maWcuaW50ZXJmYWNlJztcblxuZXhwb3J0IGNvbnN0IGNvbXBvbmVudE1hcHBlcjoge1xuICAgIGNvbXBvbmVudDogVHlwZTxhbnk+OyB0eXBlOiBzdHJpbmc7XG4gICAgZmFjdG9yeTogKChmaWVsZDogSUtsZXNGaWVsZENvbmZpZywgcmVmPzogQ2hhbmdlRGV0ZWN0b3JSZWYpID0+IEFic3RyYWN0Q29udHJvbDxhbnksIGFueT4pXG59W10gPSBbXTtcblxuZXhwb3J0IGZ1bmN0aW9uIEZpZWxkTWFwcGVyKGNvbmZpZzoge1xuICAgIHR5cGU6IHN0cmluZyxcbiAgICBmYWN0b3J5PzogKGZpZWxkOiBJS2xlc0ZpZWxkQ29uZmlnKSA9PiBBYnN0cmFjdENvbnRyb2w8YW55LCBhbnk+XG59KSB7XG4gICAgcmV0dXJuICh0YXJnZXQ6IFR5cGU8YW55PikgPT4ge1xuICAgICAgICBjb21wb25lbnRNYXBwZXIucHVzaCh7XG4gICAgICAgICAgICBjb21wb25lbnQ6IHRhcmdldCxcbiAgICAgICAgICAgIHR5cGU6IGNvbmZpZy50eXBlLFxuICAgICAgICAgICAgZmFjdG9yeTogY29uZmlnLmZhY3RvcnkgfHwga2xlc0ZpZWxkQ29udHJvbEZhY3RvcnlcbiAgICAgICAgfSk7XG4gICAgfTtcbn1cbiJdfQ==
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { Directive, Input } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class KlesComponentDirective {
|
|
4
|
-
constructor(container) {
|
|
5
|
-
this.container = container;
|
|
6
|
-
}
|
|
7
|
-
ngOnInit() {
|
|
8
|
-
this.buildComponent();
|
|
9
|
-
}
|
|
10
|
-
ngOnChanges(changes) {
|
|
11
|
-
if (changes.component && !changes.component.isFirstChange()) {
|
|
12
|
-
this.component = changes.component.currentValue;
|
|
13
|
-
this.buildComponent();
|
|
14
|
-
}
|
|
15
|
-
if (changes.value && !changes.value.isFirstChange()) {
|
|
16
|
-
this.value = changes.value.currentValue;
|
|
17
|
-
this.componentRef.instance.value = this.value;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
buildComponent() {
|
|
21
|
-
if (this.componentRef) {
|
|
22
|
-
this.componentRef.destroy();
|
|
23
|
-
}
|
|
24
|
-
this.componentRef = this.container.createComponent(this.component);
|
|
25
|
-
this.componentRef.instance.component = this.component;
|
|
26
|
-
this.componentRef.instance.value = this.value;
|
|
27
|
-
this.componentRef.instance.field = this.field;
|
|
28
|
-
}
|
|
29
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KlesComponentDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
30
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: KlesComponentDirective, selector: "[klesComponent]", inputs: { component: "component", value: "value", field: "field" }, usesOnChanges: true, ngImport: i0 }); }
|
|
31
|
-
}
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KlesComponentDirective, decorators: [{
|
|
33
|
-
type: Directive,
|
|
34
|
-
args: [{
|
|
35
|
-
selector: '[klesComponent]'
|
|
36
|
-
}]
|
|
37
|
-
}], ctorParameters: () => [{ type: i0.ViewContainerRef }], propDecorators: { component: [{
|
|
38
|
-
type: Input
|
|
39
|
-
}], value: [{
|
|
40
|
-
type: Input
|
|
41
|
-
}], field: [{
|
|
42
|
-
type: Input
|
|
43
|
-
}] } });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb21wb25lbnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2xlcy1tYXRlcmlhbC1keW5hbWljZm9ybXMvc3JjL2xpYi9kaXJlY3RpdmUvZHluYW1pYy1jb21wb25lbnQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUEwRSxNQUFNLGVBQWUsQ0FBQzs7QUFPekgsTUFBTSxPQUFPLHNCQUFzQjtJQU8vQixZQUFvQixTQUEyQjtRQUEzQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtJQUFJLENBQUM7SUFFcEQsUUFBUTtRQUNKLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLElBQUksT0FBTyxDQUFDLFNBQVMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztZQUMxRCxJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDO1lBQ2hELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMxQixDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsS0FBSyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDO1lBQ2xELElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUM7WUFDeEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDbEQsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjO1FBQ1YsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNoQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDdEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDOUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDbEQsQ0FBQzsrR0FoQ1Esc0JBQXNCO21HQUF0QixzQkFBc0I7OzRGQUF0QixzQkFBc0I7a0JBSGxDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtpQkFDOUI7cUZBRVksU0FBUztzQkFBakIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgT25Jbml0LCBWaWV3Q29udGFpbmVyUmVmLCBDb21wb25lbnRSZWYsIFR5cGUsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUtsZXNGaWVsZENvbmZpZyB9IGZyb20gJy4uL2ludGVyZmFjZXMvZmllbGQuY29uZmlnLmludGVyZmFjZSc7XG5cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdba2xlc0NvbXBvbmVudF0nXG59KVxuZXhwb3J0IGNsYXNzIEtsZXNDb21wb25lbnREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KCkgY29tcG9uZW50OiBUeXBlPGFueT47XG4gICAgQElucHV0KCkgdmFsdWU6IGFueTtcbiAgICBASW5wdXQoKSBmaWVsZD86IElLbGVzRmllbGRDb25maWc7XG5cbiAgICBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjb250YWluZXI6IFZpZXdDb250YWluZXJSZWYpIHsgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuYnVpbGRDb21wb25lbnQoKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzLmNvbXBvbmVudCAmJiAhY2hhbmdlcy5jb21wb25lbnQuaXNGaXJzdENoYW5nZSgpKSB7XG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudCA9IGNoYW5nZXMuY29tcG9uZW50LmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgICAgIHRoaXMuYnVpbGRDb21wb25lbnQoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2hhbmdlcy52YWx1ZSAmJiAhY2hhbmdlcy52YWx1ZS5pc0ZpcnN0Q2hhbmdlKCkpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBjaGFuZ2VzLnZhbHVlLmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLnZhbHVlID0gdGhpcy52YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGJ1aWxkQ29tcG9uZW50KCkge1xuICAgICAgICBpZiAodGhpcy5jb21wb25lbnRSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuY29tcG9uZW50UmVmLmRlc3Ryb3koKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbXBvbmVudFJlZiA9IHRoaXMuY29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudCh0aGlzLmNvbXBvbmVudCk7XG4gICAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLmNvbXBvbmVudCA9IHRoaXMuY29tcG9uZW50O1xuICAgICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS52YWx1ZSA9IHRoaXMudmFsdWU7XG4gICAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLmZpZWxkID0gdGhpcy5maWVsZDtcbiAgICB9XG59XG4iXX0=
|