@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.
Files changed (138) hide show
  1. package/README.md +0 -1
  2. package/fesm2022/3kles-kles-material-dynamicforms.mjs +1719 -1880
  3. package/fesm2022/3kles-kles-material-dynamicforms.mjs.map +1 -1
  4. package/lib/directive/dynamic-component.directive.d.ts +1 -1
  5. package/lib/directive/dynamic-field.directive.d.ts +2 -2
  6. package/lib/directive/mat-error-form.directive.d.ts +1 -1
  7. package/lib/directive/mat-error-message.directive.d.ts +1 -1
  8. package/lib/dynamic-form-intl.d.ts +7 -0
  9. package/lib/dynamic-form.component.d.ts +1 -1
  10. package/lib/fields/array.component.d.ts +1 -1
  11. package/lib/fields/badge.component.d.ts +1 -1
  12. package/lib/fields/button-fab.component.d.ts +1 -1
  13. package/lib/fields/button-form.component.d.ts +1 -1
  14. package/lib/fields/button-icon.component.d.ts +1 -1
  15. package/lib/fields/button-mini-fab.component.d.ts +1 -1
  16. package/lib/fields/button-toogle-group.component.d.ts +1 -1
  17. package/lib/fields/buttonchecker-form.component.d.ts +1 -1
  18. package/lib/fields/buttonfile-form.component.d.ts +1 -1
  19. package/lib/fields/checkbox-indeterminate.component.d.ts +1 -1
  20. package/lib/fields/checkbox.component.d.ts +1 -1
  21. package/lib/fields/chip.component.d.ts +1 -1
  22. package/lib/fields/clear.component.d.ts +1 -1
  23. package/lib/fields/color.component.d.ts +1 -1
  24. package/lib/fields/copy.component.d.ts +6 -6
  25. package/lib/fields/date.component.d.ts +1 -1
  26. package/lib/fields/field.abstract.d.ts +1 -1
  27. package/lib/fields/file.component.d.ts +1 -1
  28. package/lib/fields/group.component.d.ts +1 -1
  29. package/lib/fields/icon.component.d.ts +1 -1
  30. package/lib/fields/input.clearable.component.d.ts +6 -2
  31. package/lib/fields/input.component.d.ts +6 -2
  32. package/lib/fields/label.component.d.ts +1 -1
  33. package/lib/fields/line-break.component.d.ts +1 -1
  34. package/lib/fields/link.component.d.ts +3 -3
  35. package/lib/fields/list-field.component.d.ts +1 -1
  36. package/lib/fields/radio.component.d.ts +1 -1
  37. package/lib/fields/range.component.d.ts +2 -2
  38. package/lib/fields/select.component.d.ts +4 -2
  39. package/lib/fields/select.lazy-search.component.d.ts +4 -2
  40. package/lib/fields/select.search.component.d.ts +4 -2
  41. package/lib/fields/selection-list.component.d.ts +1 -1
  42. package/lib/fields/selection-list.search.component.d.ts +1 -1
  43. package/lib/fields/slide-toggle.component.d.ts +2 -2
  44. package/lib/fields/text.component.d.ts +1 -1
  45. package/lib/fields/textarea.component.d.ts +1 -1
  46. package/lib/forms/button-control-base.d.ts +1 -1
  47. package/lib/forms/button-control.component.d.ts +1 -1
  48. package/lib/forms/buttonchecker-control.component.d.ts +1 -1
  49. package/lib/forms/buttonfile-control.component.d.ts +1 -1
  50. package/lib/forms/fab-control.component.d.ts +1 -1
  51. package/lib/forms/file-control.component.d.ts +1 -1
  52. package/lib/forms/icon-button-control.component.d.ts +1 -1
  53. package/lib/forms/indeterminate-checkbox.d.ts +2 -1
  54. package/lib/forms/mini-fab-control.component.d.ts +1 -1
  55. package/lib/kles-material-dynamicforms.module.d.ts +58 -60
  56. package/lib/modules/material.module.d.ts +4 -5
  57. package/lib/pipe/array.pipe.d.ts +1 -1
  58. package/lib/pipe/transform.pipe.d.ts +1 -1
  59. package/package.json +13 -22
  60. package/public-api.d.ts +2 -1
  61. package/esm2022/3kles-kles-material-dynamicforms.mjs +0 -5
  62. package/esm2022/lib/controls/array.control.mjs +0 -57
  63. package/esm2022/lib/controls/control.abstract.mjs +0 -31
  64. package/esm2022/lib/controls/control.interface.mjs +0 -2
  65. package/esm2022/lib/controls/default.control.mjs +0 -34
  66. package/esm2022/lib/controls/group.control.mjs +0 -49
  67. package/esm2022/lib/controls/range.control.mjs +0 -18
  68. package/esm2022/lib/decorators/component.decorator.mjs +0 -12
  69. package/esm2022/lib/directive/dynamic-component.directive.mjs +0 -44
  70. package/esm2022/lib/directive/dynamic-field.directive.mjs +0 -109
  71. package/esm2022/lib/directive/mat-error-form.directive.mjs +0 -54
  72. package/esm2022/lib/directive/mat-error-message.directive.mjs +0 -53
  73. package/esm2022/lib/dynamic-form.component.mjs +0 -214
  74. package/esm2022/lib/enums/button-attribute.enum.mjs +0 -8
  75. package/esm2022/lib/enums/type.enum.mjs +0 -21
  76. package/esm2022/lib/factories/field.factory.mjs +0 -6
  77. package/esm2022/lib/fields/array.component.mjs +0 -61
  78. package/esm2022/lib/fields/badge.component.mjs +0 -39
  79. package/esm2022/lib/fields/button-fab.component.mjs +0 -48
  80. package/esm2022/lib/fields/button-form.component.mjs +0 -50
  81. package/esm2022/lib/fields/button-icon.component.mjs +0 -48
  82. package/esm2022/lib/fields/button-mini-fab.component.mjs +0 -48
  83. package/esm2022/lib/fields/button-toogle-group.component.mjs +0 -55
  84. package/esm2022/lib/fields/buttonchecker-form.component.mjs +0 -48
  85. package/esm2022/lib/fields/buttonfile-form.component.mjs +0 -51
  86. package/esm2022/lib/fields/checkbox-indeterminate.component.mjs +0 -42
  87. package/esm2022/lib/fields/checkbox.component.mjs +0 -42
  88. package/esm2022/lib/fields/chip.component.mjs +0 -44
  89. package/esm2022/lib/fields/clear.component.mjs +0 -35
  90. package/esm2022/lib/fields/color.component.mjs +0 -134
  91. package/esm2022/lib/fields/copy.component.mjs +0 -45
  92. package/esm2022/lib/fields/date-time.component.mjs +0 -61
  93. package/esm2022/lib/fields/date.component.mjs +0 -60
  94. package/esm2022/lib/fields/field.abstract.mjs +0 -88
  95. package/esm2022/lib/fields/file.component.mjs +0 -41
  96. package/esm2022/lib/fields/group.component.mjs +0 -80
  97. package/esm2022/lib/fields/icon.component.mjs +0 -27
  98. package/esm2022/lib/fields/input.clearable.component.mjs +0 -144
  99. package/esm2022/lib/fields/input.component.mjs +0 -252
  100. package/esm2022/lib/fields/label.component.mjs +0 -39
  101. package/esm2022/lib/fields/line-break.component.mjs +0 -26
  102. package/esm2022/lib/fields/link.component.mjs +0 -31
  103. package/esm2022/lib/fields/list-field.component.mjs +0 -157
  104. package/esm2022/lib/fields/radio.component.mjs +0 -50
  105. package/esm2022/lib/fields/range.component.mjs +0 -81
  106. package/esm2022/lib/fields/select.component.mjs +0 -358
  107. package/esm2022/lib/fields/select.lazy-search.component.mjs +0 -303
  108. package/esm2022/lib/fields/select.search.component.mjs +0 -475
  109. package/esm2022/lib/fields/selection-list.component.mjs +0 -149
  110. package/esm2022/lib/fields/selection-list.search.component.mjs +0 -193
  111. package/esm2022/lib/fields/slide-toggle.component.mjs +0 -29
  112. package/esm2022/lib/fields/text.component.mjs +0 -42
  113. package/esm2022/lib/fields/textarea.component.mjs +0 -64
  114. package/esm2022/lib/forms/button-control-base.mjs +0 -89
  115. package/esm2022/lib/forms/button-control.component.mjs +0 -91
  116. package/esm2022/lib/forms/buttonchecker-control.component.mjs +0 -98
  117. package/esm2022/lib/forms/buttonfile-control.component.mjs +0 -124
  118. package/esm2022/lib/forms/fab-control.component.mjs +0 -60
  119. package/esm2022/lib/forms/file-control.component.mjs +0 -72
  120. package/esm2022/lib/forms/icon-button-control.component.mjs +0 -55
  121. package/esm2022/lib/forms/indeterminate-checkbox.mjs +0 -91
  122. package/esm2022/lib/forms/mini-fab-control.component.mjs +0 -60
  123. package/esm2022/lib/interfaces/clear-control.interface.mjs +0 -2
  124. package/esm2022/lib/interfaces/component.interface.mjs +0 -2
  125. package/esm2022/lib/interfaces/directive.interface.mjs +0 -2
  126. package/esm2022/lib/interfaces/field.config.interface.mjs +0 -2
  127. package/esm2022/lib/interfaces/field.interface.mjs +0 -2
  128. package/esm2022/lib/interfaces/validator.interface.mjs +0 -2
  129. package/esm2022/lib/kles-material-dynamicforms.module.mjs +0 -261
  130. package/esm2022/lib/matcher/form-error.matcher.mjs +0 -16
  131. package/esm2022/lib/modules/material.module.mjs +0 -279
  132. package/esm2022/lib/pipe/array.pipe.mjs +0 -22
  133. package/esm2022/lib/pipe/transform.pipe.mjs +0 -28
  134. package/esm2022/lib/selection/selection-model.mjs +0 -231
  135. package/esm2022/lib/utils/destroyable.guard.mjs +0 -5
  136. package/esm2022/lib/validators/autocomplete.validator.mjs +0 -23
  137. package/esm2022/public-api.mjs +0 -92
  138. 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 "./dynamic-form.component";
19
- import * as i2 from "./fields/label.component";
20
- import * as i3 from "./fields/input.component";
21
- import * as i4 from "./fields/input.clearable.component";
22
- import * as i5 from "./fields/badge.component";
23
- import * as i6 from "./fields/file.component";
24
- import * as i7 from "./forms/file-control.component";
25
- import * as i8 from "./forms/button-control.component";
26
- import * as i9 from "./fields/button-form.component";
27
- import * as i10 from "./forms/buttonchecker-control.component";
28
- import * as i11 from "./fields/buttonchecker-form.component";
29
- import * as i12 from "./forms/buttonfile-control.component";
30
- import * as i13 from "./fields/buttonfile-form.component";
31
- import * as i14 from "./fields/select.component";
32
- import * as i15 from "./fields/date.component";
33
- import * as i16 from "./fields/radio.component";
34
- import * as i17 from "./fields/checkbox.component";
35
- import * as i18 from "./forms/indeterminate-checkbox";
36
- import * as i19 from "./fields/checkbox-indeterminate.component";
37
- import * as i20 from "./fields/list-field.component";
38
- import * as i21 from "./fields/color.component";
39
- import * as i22 from "./fields/textarea.component";
40
- import * as i23 from "./fields/text.component";
41
- import * as i24 from "./fields/chip.component";
42
- import * as i25 from "./fields/group.component";
43
- import * as i26 from "./fields/icon.component";
44
- import * as i27 from "./fields/select.search.component";
45
- import * as i28 from "./fields/line-break.component";
46
- import * as i29 from "./fields/link.component";
47
- import * as i30 from "./fields/slide-toggle.component";
48
- import * as i31 from "./fields/selection-list.component";
49
- import * as i32 from "./fields/button-toogle-group.component";
50
- import * as i33 from "./fields/array.component";
51
- import * as i34 from "./fields/range.component";
52
- import * as i35 from "./fields/clear.component";
53
- import * as i36 from "./fields/select.lazy-search.component";
54
- import * as i37 from "./fields/date-time.component";
55
- import * as i38 from "./fields/button-fab.component";
56
- import * as i39 from "./forms/fab-control.component";
57
- import * as i40 from "./forms/mini-fab-control.component";
58
- import * as i41 from "./fields/button-mini-fab.component";
59
- import * as i42 from "./forms/icon-button-control.component";
60
- import * as i43 from "./fields/button-icon.component";
61
- import * as i44 from "./fields/selection-list.search.component";
62
- import * as i45 from "./fields/copy.component";
63
- import * as i46 from "./directive/dynamic-field.directive";
64
- import * as i47 from "./directive/dynamic-component.directive";
65
- import * as i48 from "./directive/mat-error-message.directive";
66
- import * as i49 from "./directive/mat-error-form.directive";
67
- import * as i50 from "./pipe/transform.pipe";
68
- import * as i51 from "./pipe/array.pipe";
69
- import * as i52 from "@angular/common";
70
- import * as i53 from "@angular/forms";
71
- import * as i54 from "@ngx-translate/core";
72
- import * as i55 from "./modules/material.module";
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 KlesDynamicFormComponent | typeof KlesFormClearComponent | typeof KlesFormLabelComponent | typeof KlesFormSelectComponent | typeof KlesFormListFieldComponent | typeof KlesFormSelectSearchComponent | typeof KlesFabComponent | typeof KlesIndeterminateCheckboxComponent | typeof KlesFormCopyComponent | typeof KlesFileControlComponent)[] | (typeof KlesComponentDirective | typeof KlesDynamicFieldDirective | typeof MatErrorMessageDirective | typeof MatErrorFormDirective)[] | (typeof KlesTransformPipe | typeof ArrayFormatPipe)[])[];
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.KlesDynamicFormComponent, typeof i2.KlesFormLabelComponent, typeof i3.KlesFormInputComponent, typeof i4.KlesFormInputClearableComponent, typeof i5.KlesFormBadgeComponent, typeof i6.KlesFormFileComponent, typeof i7.KlesFileControlComponent, typeof i8.KlesButtonComponent, typeof i9.KlesFormButtonComponent, typeof i10.KlesButtonCheckerComponent, typeof i11.KlesFormButtonCheckerComponent, typeof i12.KlesButtonFileComponent, typeof i13.KlesFormButtonFileComponent, typeof i14.KlesFormSelectComponent, typeof i15.KlesFormDateComponent, typeof i16.KlesFormRadioComponent, typeof i17.KlesFormCheckboxComponent, typeof i18.KlesIndeterminateCheckboxComponent, typeof i19.KlesFormCheckboxIndeterminateComponent, typeof i20.KlesFormListFieldComponent, typeof i21.KlesFormColorComponent, typeof i22.KlesFormTextareaComponent, typeof i23.KlesFormTextComponent, typeof i24.KlesFormChipComponent, typeof i25.KlesFormGroupComponent, typeof i26.KlesFormIconComponent, typeof i27.KlesFormSelectSearchComponent, typeof i28.KlesFormLineBreakComponent, typeof i29.KlesFormLinkComponent, typeof i30.KlesFormSlideToggleComponent, typeof i31.KlesFormSelectionListComponent, typeof i32.KlesFormButtonToogleGroupComponent, typeof i33.KlesFormArrayComponent, typeof i34.KlesFormRangeComponent, typeof i35.KlesFormClearComponent, typeof i36.KlesFormSelectLazySearchComponent, typeof i37.KlesFormDateTimeComponent, typeof i38.KlesFormFabComponent, typeof i39.KlesFabComponent, typeof i40.KlesMiniFabComponent, typeof i41.KlesFormMiniFabComponent, typeof i42.KlesIconButtonComponent, typeof i43.KlesFormIconButtonComponent, typeof i44.KlesFormSelectionListSearchComponent, typeof i45.KlesFormCopyComponent, typeof i46.KlesDynamicFieldDirective, typeof i47.KlesComponentDirective, typeof i48.MatErrorMessageDirective, typeof i49.MatErrorFormDirective, typeof i50.KlesTransformPipe, typeof i51.ArrayFormatPipe], [typeof i52.CommonModule, typeof i53.ReactiveFormsModule, typeof i54.TranslateModule, typeof i53.FormsModule, typeof i55.MaterialModule, typeof i56.ColorPickerModule, typeof i57.NgxMatSelectSearchModule, typeof i58.KlesMaterialDatepickerModule], [typeof i1.KlesDynamicFormComponent, typeof i2.KlesFormLabelComponent, typeof i3.KlesFormInputComponent, typeof i4.KlesFormInputClearableComponent, typeof i5.KlesFormBadgeComponent, typeof i6.KlesFormFileComponent, typeof i7.KlesFileControlComponent, typeof i8.KlesButtonComponent, typeof i9.KlesFormButtonComponent, typeof i10.KlesButtonCheckerComponent, typeof i11.KlesFormButtonCheckerComponent, typeof i12.KlesButtonFileComponent, typeof i13.KlesFormButtonFileComponent, typeof i14.KlesFormSelectComponent, typeof i15.KlesFormDateComponent, typeof i16.KlesFormRadioComponent, typeof i17.KlesFormCheckboxComponent, typeof i18.KlesIndeterminateCheckboxComponent, typeof i19.KlesFormCheckboxIndeterminateComponent, typeof i20.KlesFormListFieldComponent, typeof i21.KlesFormColorComponent, typeof i22.KlesFormTextareaComponent, typeof i23.KlesFormTextComponent, typeof i24.KlesFormChipComponent, typeof i25.KlesFormGroupComponent, typeof i26.KlesFormIconComponent, typeof i27.KlesFormSelectSearchComponent, typeof i28.KlesFormLineBreakComponent, typeof i29.KlesFormLinkComponent, typeof i30.KlesFormSlideToggleComponent, typeof i31.KlesFormSelectionListComponent, typeof i32.KlesFormButtonToogleGroupComponent, typeof i33.KlesFormArrayComponent, typeof i34.KlesFormRangeComponent, typeof i35.KlesFormClearComponent, typeof i36.KlesFormSelectLazySearchComponent, typeof i37.KlesFormDateTimeComponent, typeof i38.KlesFormFabComponent, typeof i39.KlesFabComponent, typeof i40.KlesMiniFabComponent, typeof i41.KlesFormMiniFabComponent, typeof i42.KlesIconButtonComponent, typeof i43.KlesFormIconButtonComponent, typeof i44.KlesFormSelectionListSearchComponent, typeof i45.KlesFormCopyComponent, typeof i50.KlesTransformPipe, typeof i51.ArrayFormatPipe, typeof i46.KlesDynamicFieldDirective, typeof i47.KlesComponentDirective, typeof i48.MatErrorMessageDirective, typeof i49.MatErrorFormDirective, typeof i56.ColorPickerModule, typeof i58.KlesMaterialDatepickerModule]>;
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 "ngx-color-picker";
36
- import * as i35 from "@angular/material/button-toggle";
37
- import * as i36 from "@angular/cdk/portal";
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.ColorPickerModule, typeof i35.MatButtonToggleModule, typeof i36.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 i34.ColorPickerModule, typeof i37.ScrollingModule, typeof i37.CdkScrollable, typeof i35.MatButtonToggleModule, typeof i36.PortalModule]>;
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
  }
@@ -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", false>;
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", false>;
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": "18.1.2",
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
- "@3kles/kles-material-datepicker": "18.0.1",
19
- "@angular/animations": "^18.2.13",
20
- "@angular/cdk": "^18.2.14",
21
- "@angular/common": "^18.2.13",
22
- "@angular/compiler": "^18.2.13",
23
- "@angular/core": "^18.2.13",
24
- "@angular/forms": "^18.2.13",
25
- "@angular/material": "^18.2.14",
26
- "@angular/platform-browser": "^18.2.13",
27
- "@angular/platform-browser-dynamic": "^18.2.13",
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": "^14.0.0",
36
- "ngx-mat-select-search": "^7.0.2",
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=