@ng-atomic/components 17.13.0 → 17.14.0

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 (161) hide show
  1. package/esm2022/atoms/icon/icon.atom.mjs +2 -2
  2. package/esm2022/frames/app/app.frame.mjs +21 -6
  3. package/esm2022/frames/auto-layout/auto-layout.frame.mjs +2 -2
  4. package/esm2022/frames/columns/columns.frame.mjs +2 -2
  5. package/esm2022/frames/divider/divider.frame.mjs +2 -2
  6. package/esm2022/frames/drawer/drawer.frame.mjs +2 -2
  7. package/esm2022/frames/entrance/entrance.frame.mjs +2 -2
  8. package/esm2022/frames/fab/fab.frame.mjs +2 -2
  9. package/esm2022/frames/line-up/line-up.frame.mjs +2 -2
  10. package/esm2022/frames/loading/loading.frame.mjs +2 -2
  11. package/esm2022/frames/router-outlet/router-outlet.frame.mjs +2 -2
  12. package/esm2022/frames/scroll/scroll.frame.mjs +2 -2
  13. package/esm2022/frames/scroll-v2/scroll.frame.mjs +2 -2
  14. package/esm2022/frames/side-nav/side-nav.frame.mjs +2 -2
  15. package/esm2022/frames/smart-menu/smart-menu.frame.mjs +2 -2
  16. package/esm2022/frames/vertical-hide/vertical-hide.frame.mjs +2 -2
  17. package/esm2022/molecules/date-input-field/date-input-field.molecule.mjs +2 -2
  18. package/esm2022/molecules/date-range-input-field/date-range-input-field.molecule.mjs +2 -2
  19. package/esm2022/molecules/grid-item/grid-item.molecule.mjs +2 -2
  20. package/esm2022/molecules/loading-box/loading-box.molecule.mjs +2 -2
  21. package/esm2022/molecules/navigation-list-item/navigation-list-item.molecule.mjs +2 -2
  22. package/esm2022/molecules/select-input-field/select-input-field.molecule.mjs +2 -2
  23. package/esm2022/molecules/smart-column/smart-column.molecule.mjs +9 -5
  24. package/esm2022/organisms/action-buttons-section/action-buttons-section.organism.mjs +2 -2
  25. package/esm2022/organisms/action-input-section/action-input-section.organism.mjs +2 -2
  26. package/esm2022/organisms/card-input-section/card-input-section.organism.mjs +2 -2
  27. package/esm2022/organisms/cvc-and-exp-input-section/cvc-and-exp-input-section.organism.mjs +2 -2
  28. package/esm2022/organisms/date-input-section/date-input-section.organism.mjs +2 -2
  29. package/esm2022/organisms/date-range-input-section/date-range-input-section.organism.mjs +2 -2
  30. package/esm2022/organisms/definition-list/definition-list.organism.mjs +2 -2
  31. package/esm2022/organisms/file-input-section/file-input-section.organism.mjs +2 -2
  32. package/esm2022/organisms/grid-cards-section/grid-cards-section.organism.mjs +2 -2
  33. package/esm2022/organisms/heading/heading.organism.mjs +2 -2
  34. package/esm2022/organisms/menu-footer/menu-footer.organism.mjs +2 -2
  35. package/esm2022/organisms/menu-header/menu-header.organism.mjs +2 -2
  36. package/esm2022/organisms/messages-section/messages-section.organism.mjs +2 -2
  37. package/esm2022/organisms/navigation-list/navigation-list.organism.mjs +2 -2
  38. package/esm2022/organisms/navigator/navigator.organism.mjs +2 -2
  39. package/esm2022/organisms/number-input-section/number-input-section.organism.mjs +2 -2
  40. package/esm2022/organisms/paginator/paginator.organism.mjs +2 -2
  41. package/esm2022/organisms/password-input-section/password-input-section.organism.mjs +2 -2
  42. package/esm2022/organisms/select-input-section/select-input-section.organism.mjs +2 -2
  43. package/esm2022/organisms/slider-input-section/slider-input-section.organism.mjs +2 -2
  44. package/esm2022/organisms/social-login-section/social-login-section.organism.mjs +2 -2
  45. package/esm2022/organisms/table/index.mjs +3 -2
  46. package/esm2022/organisms/table/table.organism.mjs +8 -5
  47. package/esm2022/organisms/text-input-section/text-input-section.organism.mjs +2 -2
  48. package/esm2022/organisms/textarea-section/textarea-section.organism.mjs +2 -2
  49. package/esm2022/organisms/thread-messages-section/thread-messages-section.organism.mjs +2 -2
  50. package/esm2022/pages/_index/index.page.mjs +8 -8
  51. package/esm2022/pages/columns/columns.page.mjs +119 -0
  52. package/esm2022/pages/columns/index.mjs +2 -0
  53. package/esm2022/pages/columns/ng-atomic-components-pages-columns.mjs +5 -0
  54. package/esm2022/pages/form/form.page.mjs +6 -4
  55. package/esm2022/pages/pages.module.mjs +4 -2
  56. package/esm2022/pages/terms/ng-atomic-components-pages-terms.mjs +5 -0
  57. package/esm2022/pages/terms/terms.page.mjs +1 -1
  58. package/esm2022/templates/_index/index.template.mjs +2 -2
  59. package/esm2022/templates/background/background.template.mjs +2 -2
  60. package/esm2022/templates/columns/columns.template.mjs +154 -0
  61. package/esm2022/templates/columns/index.mjs +2 -0
  62. package/esm2022/templates/columns/ng-atomic-components-templates-columns.mjs +5 -0
  63. package/esm2022/templates/entrance/entrance.template.mjs +2 -2
  64. package/esm2022/templates/form/form.template.mjs +8 -3
  65. package/esm2022/templates/icon-button-menu/icon-button-menu.template.mjs +2 -2
  66. package/esm2022/templates/menu/menu.template.mjs +2 -2
  67. package/esm2022/templates/selection/selection.template.mjs +2 -2
  68. package/esm2022/templates/settings/settings.template.mjs +2 -2
  69. package/esm2022/templates/templates.module.mjs +6 -1
  70. package/esm2022/templates/term/term.template.mjs +2 -2
  71. package/fesm2022/ng-atomic-components-atoms-icon.mjs +2 -2
  72. package/fesm2022/ng-atomic-components-frames-app.mjs +20 -5
  73. package/fesm2022/ng-atomic-components-frames-app.mjs.map +1 -1
  74. package/fesm2022/ng-atomic-components-frames-auto-layout.mjs +2 -2
  75. package/fesm2022/ng-atomic-components-frames-columns.mjs +2 -2
  76. package/fesm2022/ng-atomic-components-frames-divider.mjs +2 -2
  77. package/fesm2022/ng-atomic-components-frames-drawer.mjs +2 -2
  78. package/fesm2022/ng-atomic-components-frames-entrance.mjs +2 -2
  79. package/fesm2022/ng-atomic-components-frames-fab.mjs +2 -2
  80. package/fesm2022/ng-atomic-components-frames-line-up.mjs +2 -2
  81. package/fesm2022/ng-atomic-components-frames-loading.mjs +2 -2
  82. package/fesm2022/ng-atomic-components-frames-router-outlet.mjs +2 -2
  83. package/fesm2022/ng-atomic-components-frames-scroll-v2.mjs +2 -2
  84. package/fesm2022/ng-atomic-components-frames-scroll.mjs +2 -2
  85. package/fesm2022/ng-atomic-components-frames-side-nav.mjs +2 -2
  86. package/fesm2022/ng-atomic-components-frames-smart-menu.mjs +2 -2
  87. package/fesm2022/ng-atomic-components-frames-vertical-hide.mjs +2 -2
  88. package/fesm2022/ng-atomic-components-molecules-date-input-field.mjs +2 -2
  89. package/fesm2022/ng-atomic-components-molecules-date-range-input-field.mjs +2 -2
  90. package/fesm2022/ng-atomic-components-molecules-grid-item.mjs +2 -2
  91. package/fesm2022/ng-atomic-components-molecules-loading-box.mjs +2 -2
  92. package/fesm2022/ng-atomic-components-molecules-navigation-list-item.mjs +2 -2
  93. package/fesm2022/ng-atomic-components-molecules-select-input-field.mjs +2 -2
  94. package/fesm2022/ng-atomic-components-molecules-smart-column.mjs +8 -4
  95. package/fesm2022/ng-atomic-components-molecules-smart-column.mjs.map +1 -1
  96. package/fesm2022/ng-atomic-components-organisms-action-buttons-section.mjs +2 -2
  97. package/fesm2022/ng-atomic-components-organisms-action-input-section.mjs +2 -2
  98. package/fesm2022/ng-atomic-components-organisms-card-input-section.mjs +2 -2
  99. package/fesm2022/ng-atomic-components-organisms-cvc-and-exp-input-section.mjs +2 -2
  100. package/fesm2022/ng-atomic-components-organisms-date-input-section.mjs +2 -2
  101. package/fesm2022/ng-atomic-components-organisms-date-range-input-section.mjs +2 -2
  102. package/fesm2022/ng-atomic-components-organisms-definition-list.mjs +2 -2
  103. package/fesm2022/ng-atomic-components-organisms-file-input-section.mjs +2 -2
  104. package/fesm2022/ng-atomic-components-organisms-grid-cards-section.mjs +2 -2
  105. package/fesm2022/ng-atomic-components-organisms-heading.mjs +2 -2
  106. package/fesm2022/ng-atomic-components-organisms-menu-footer.mjs +2 -2
  107. package/fesm2022/ng-atomic-components-organisms-menu-header.mjs +2 -2
  108. package/fesm2022/ng-atomic-components-organisms-messages-section.mjs +2 -2
  109. package/fesm2022/ng-atomic-components-organisms-navigation-list.mjs +2 -2
  110. package/fesm2022/ng-atomic-components-organisms-navigator.mjs +2 -2
  111. package/fesm2022/ng-atomic-components-organisms-number-input-section.mjs +2 -2
  112. package/fesm2022/ng-atomic-components-organisms-paginator.mjs +2 -2
  113. package/fesm2022/ng-atomic-components-organisms-password-input-section.mjs +2 -2
  114. package/fesm2022/ng-atomic-components-organisms-select-input-section.mjs +2 -2
  115. package/fesm2022/ng-atomic-components-organisms-slider-input-section.mjs +2 -2
  116. package/fesm2022/ng-atomic-components-organisms-social-login-section.mjs +2 -2
  117. package/fesm2022/ng-atomic-components-organisms-table.mjs +16 -135
  118. package/fesm2022/ng-atomic-components-organisms-table.mjs.map +1 -1
  119. package/fesm2022/ng-atomic-components-organisms-text-input-section.mjs +2 -2
  120. package/fesm2022/ng-atomic-components-organisms-textarea-section.mjs +2 -2
  121. package/fesm2022/ng-atomic-components-organisms-thread-messages-section.mjs +2 -2
  122. package/fesm2022/ng-atomic-components-pages-_index.mjs +7 -7
  123. package/fesm2022/ng-atomic-components-pages-_index.mjs.map +1 -1
  124. package/fesm2022/ng-atomic-components-pages-columns.mjs +125 -0
  125. package/fesm2022/ng-atomic-components-pages-columns.mjs.map +1 -0
  126. package/fesm2022/ng-atomic-components-pages-form.mjs +5 -3
  127. package/fesm2022/ng-atomic-components-pages-form.mjs.map +1 -1
  128. package/fesm2022/ng-atomic-components-pages-terms.mjs +91 -0
  129. package/fesm2022/ng-atomic-components-pages-terms.mjs.map +1 -0
  130. package/fesm2022/ng-atomic-components-pages.mjs +4 -83
  131. package/fesm2022/ng-atomic-components-pages.mjs.map +1 -1
  132. package/fesm2022/ng-atomic-components-templates-_index.mjs +2 -2
  133. package/fesm2022/ng-atomic-components-templates-background.mjs +2 -2
  134. package/fesm2022/ng-atomic-components-templates-columns.mjs +161 -0
  135. package/fesm2022/ng-atomic-components-templates-columns.mjs.map +1 -0
  136. package/fesm2022/ng-atomic-components-templates-entrance.mjs +2 -2
  137. package/fesm2022/ng-atomic-components-templates-form.mjs +7 -2
  138. package/fesm2022/ng-atomic-components-templates-form.mjs.map +1 -1
  139. package/fesm2022/ng-atomic-components-templates-icon-button-menu.mjs +2 -2
  140. package/fesm2022/ng-atomic-components-templates-menu.mjs +2 -2
  141. package/fesm2022/ng-atomic-components-templates-selection.mjs +2 -2
  142. package/fesm2022/ng-atomic-components-templates-settings.mjs +2 -2
  143. package/fesm2022/ng-atomic-components-templates-term.mjs +2 -2
  144. package/fesm2022/ng-atomic-components-templates-term.mjs.map +1 -1
  145. package/fesm2022/ng-atomic-components-templates.mjs +5 -0
  146. package/fesm2022/ng-atomic-components-templates.mjs.map +1 -1
  147. package/frames/app/app.frame.d.ts +1 -0
  148. package/organisms/table/index.d.ts +2 -1
  149. package/organisms/table/table.organism.d.ts +9 -5
  150. package/package.json +21 -3
  151. package/pages/_index/index.page.d.ts +5 -5
  152. package/pages/columns/columns.page.d.ts +60 -0
  153. package/pages/columns/index.d.ts +1 -0
  154. package/pages/form/form.page.d.ts +4 -4
  155. package/templates/_index/index.template.d.ts +19 -6
  156. package/templates/columns/columns.template.d.ts +64 -0
  157. package/templates/columns/index.d.ts +1 -0
  158. package/templates/form/form.template.d.ts +1 -0
  159. package/templates/templates.module.d.ts +4 -1
  160. package/esm2022/organisms/table/index.helpers.mjs +0 -131
  161. package/organisms/table/index.helpers.d.ts +0 -81
@@ -30,7 +30,7 @@ export declare class FormPageStore<T> extends InjectableComponent {
30
30
  entity: any;
31
31
  mode: string;
32
32
  navStartActions: Actions;
33
- navEndActions: any[];
33
+ navEndActions: Actions;
34
34
  title: string;
35
35
  actions: Action<any>[];
36
36
  fieldMap: FormFieldMap;
@@ -42,7 +42,7 @@ export declare class FormPageStore<T> extends InjectableComponent {
42
42
  entity: any;
43
43
  mode: string;
44
44
  navStartActions: Actions;
45
- navEndActions: any[];
45
+ navEndActions: Actions;
46
46
  title: string;
47
47
  actions: Action<any>[];
48
48
  fieldMap: FormFieldMap;
@@ -103,7 +103,7 @@ export declare class FormPageStore<T> extends InjectableComponent {
103
103
  entity: any;
104
104
  mode: string;
105
105
  navStartActions: Actions;
106
- navEndActions: any[];
106
+ navEndActions: Actions;
107
107
  title: string;
108
108
  actions: Action<any>[];
109
109
  fieldMap: FormFieldMap;
@@ -117,7 +117,7 @@ export declare class FormPageStore<T> extends InjectableComponent {
117
117
  readonly fieldMap: import("@angular/core").InputSignal<FormFieldMap>;
118
118
  readonly mode: import("@angular/core").InputSignal<string>;
119
119
  readonly navStartActions: import("@angular/core").InputSignal<Actions>;
120
- readonly navEndActions: import("@angular/core").InputSignal<any[]>;
120
+ readonly navEndActions: import("@angular/core").InputSignal<Actions>;
121
121
  readonly params: import("@angular/core").Signal<Record<string, string>>;
122
122
  readonly isValid: import("@angular/core").Signal<boolean>;
123
123
  readonly activatedActions: import("@angular/core").Signal<{
@@ -57,7 +57,10 @@ export declare class IndexTemplateStore<T extends {
57
57
  key: import("@angular/forms").FormControl<string>;
58
58
  order: import("@angular/forms").FormControl<"asc" | "desc">;
59
59
  }>;
60
- columns: import("@angular/forms").FormArray<import("@angular/forms").FormRecord<import("@angular/forms").AbstractControl<any, any>>>;
60
+ columns: FormGroup<{
61
+ ids: import("@angular/forms").FormControl<string[]>;
62
+ map: FormGroup<{}>;
63
+ }>;
61
64
  }>;
62
65
  toggleActions: Action<any>[];
63
66
  gridToolbarActions: Action<any>[];
@@ -94,7 +97,10 @@ export declare class IndexTemplateStore<T extends {
94
97
  key: import("@angular/forms").FormControl<string>;
95
98
  order: import("@angular/forms").FormControl<"asc" | "desc">;
96
99
  }>;
97
- columns: import("@angular/forms").FormArray<import("@angular/forms").FormRecord<import("@angular/forms").AbstractControl<any, any>>>;
100
+ columns: FormGroup<{
101
+ ids: import("@angular/forms").FormControl<string[]>;
102
+ map: FormGroup<{}>;
103
+ }>;
98
104
  }>;
99
105
  toggleActions: Action<any>[];
100
106
  gridToolbarActions: Action<any>[];
@@ -133,7 +139,10 @@ export declare class IndexTemplateStore<T extends {
133
139
  key: import("@angular/forms").FormControl<string>;
134
140
  order: import("@angular/forms").FormControl<"asc" | "desc">;
135
141
  }>;
136
- columns: import("@angular/forms").FormArray<import("@angular/forms").FormRecord<import("@angular/forms").AbstractControl<any, any>>>;
142
+ columns: FormGroup<{
143
+ ids: import("@angular/forms").FormControl<string[]>;
144
+ map: FormGroup<{}>;
145
+ }>;
137
146
  }>;
138
147
  toggleActions: Action<any>[];
139
148
  gridToolbarActions: Action<any>[];
@@ -170,7 +179,10 @@ export declare class IndexTemplateStore<T extends {
170
179
  key: import("@angular/forms").FormControl<string>;
171
180
  order: import("@angular/forms").FormControl<"asc" | "desc">;
172
181
  }>;
173
- columns: import("@angular/forms").FormArray<import("@angular/forms").FormRecord<import("@angular/forms").AbstractControl<any, any>>>;
182
+ columns: FormGroup<{
183
+ ids: import("@angular/forms").FormControl<string[]>;
184
+ map: FormGroup<{}>;
185
+ }>;
174
186
  }>>;
175
187
  readonly gridToolbarActions: import("@angular/core").InputSignal<Action<any>[]>;
176
188
  readonly toggleActions: import("@angular/core").InputSignal<Action<any>[]>;
@@ -207,8 +219,9 @@ export declare class IndexTemplateStore<T extends {
207
219
  order: "asc" | "desc";
208
220
  }>;
209
221
  columns: Partial<{
210
- [x: string]: any;
211
- }>[];
222
+ ids: string[];
223
+ map: Partial<{}>;
224
+ }>;
212
225
  }>>;
213
226
  readonly pipes: {
214
227
  index: IndexPipe<any>;
@@ -0,0 +1,64 @@
1
+ import { CdkDragDrop } from '@angular/cdk/drag-drop';
2
+ import { MatSlideToggleChange } from '@angular/material/slide-toggle';
3
+ import { InjectableComponent, NgAtomicComponent } from '@ng-atomic/core';
4
+ import * as i0 from "@angular/core";
5
+ export declare class ColumnsTemplateStore extends InjectableComponent {
6
+ static Config: {
7
+ provide(useFactory?: import("@ng-atomic/common/services/ui").ReducerFactory<{
8
+ navStartActions: any[];
9
+ navEndActions: any[];
10
+ title: string;
11
+ form: import("@angular/forms").FormGroup<{
12
+ ids: import("@angular/forms").FormControl<string[]>;
13
+ map: import("@angular/forms").FormGroup<{}>;
14
+ }>;
15
+ formFlatExcludes: any[];
16
+ actions: any[];
17
+ fieldMap: {};
18
+ }>, label?: string): import("@angular/core").Provider;
19
+ inject(): import("@angular/core").Signal<{
20
+ navStartActions: any[];
21
+ navEndActions: any[];
22
+ title: string;
23
+ form: import("@angular/forms").FormGroup<{
24
+ ids: import("@angular/forms").FormControl<string[]>;
25
+ map: import("@angular/forms").FormGroup<{}>;
26
+ }>;
27
+ formFlatExcludes: any[];
28
+ actions: any[];
29
+ fieldMap: {};
30
+ }>;
31
+ };
32
+ static provideDefault(): import("@angular/core").Provider[];
33
+ readonly config: import("@angular/core").Signal<{
34
+ navStartActions: any[];
35
+ navEndActions: any[];
36
+ title: string;
37
+ form: import("@angular/forms").FormGroup<{
38
+ ids: import("@angular/forms").FormControl<string[]>;
39
+ map: import("@angular/forms").FormGroup<{}>;
40
+ }>;
41
+ formFlatExcludes: any[];
42
+ actions: any[];
43
+ fieldMap: {};
44
+ }>;
45
+ readonly navStartActions: import("@angular/core").InputSignal<any[]>;
46
+ readonly navEndActions: import("@angular/core").InputSignal<any[]>;
47
+ readonly title: import("@angular/core").InputSignal<string>;
48
+ readonly form: import("@angular/core").InputSignal<import("@angular/forms").FormGroup<{
49
+ ids: import("@angular/forms").FormControl<string[]>;
50
+ map: import("@angular/forms").FormGroup<{}>;
51
+ }>>;
52
+ readonly actions: import("@angular/core").InputSignal<any[]>;
53
+ readonly fieldMap: import("@angular/core").InputSignal<{}>;
54
+ readonly columnIds: import("@angular/core").Signal<string[]>;
55
+ static ɵfac: i0.ɵɵFactoryDeclaration<ColumnsTemplateStore, never>;
56
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ColumnsTemplateStore, "templates-columns", never, { "navStartActions": { "alias": "navStartActions"; "required": false; "isSignal": true; }; "navEndActions": { "alias": "navEndActions"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "form": { "alias": "form"; "required": false; "isSignal": true; }; "actions": { "alias": "actions"; "required": false; "isSignal": true; }; "fieldMap": { "alias": "fieldMap"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
57
+ }
58
+ export declare class ColumnsTemplate extends NgAtomicComponent {
59
+ protected store: ColumnsTemplateStore;
60
+ protected onDrop(event: CdkDragDrop<string[]>): void;
61
+ protected onToggle(event: MatSlideToggleChange, id: string): void;
62
+ static ɵfac: i0.ɵɵFactoryDeclaration<ColumnsTemplate, never>;
63
+ static ɵcmp: i0.ɵɵComponentDeclaration<ColumnsTemplate, "templates-columns", never, {}, {}, never, never, true, [{ directive: typeof ColumnsTemplateStore; inputs: { "navStartActions": "navStartActions"; "navEndActions": "navEndActions"; "title": "title"; "form": "form"; "actions": "actions"; }; outputs: {}; }]>;
64
+ }
@@ -0,0 +1 @@
1
+ export * from './columns.template';
@@ -37,6 +37,7 @@ export declare class FormTemplateStore extends InjectableComponent {
37
37
  fieldMap: FormFieldMap;
38
38
  }>;
39
39
  };
40
+ static provideDefault(): import("@angular/core").Provider[];
40
41
  readonly config: import("@angular/core").Signal<{
41
42
  navStartActions: Action<any>[];
42
43
  navEndActions: Action<any>[];
@@ -15,12 +15,15 @@ export declare class NgAtomicTemplatesModule {
15
15
  provide: any;
16
16
  useValue: () => Promise<import("@angular/core").Type<import("@ng-atomic/components/templates/entrance").EntranceTemplate>>;
17
17
  } | {
18
+ provide: any;
19
+ useValue: () => Promise<import("@angular/core").Type<import("@ng-atomic/components/templates/columns").ColumnsTemplate>>;
20
+ } | import("@angular/core").Provider | {
18
21
  provide: any;
19
22
  useValue: () => Promise<import("@angular/core").Type<import("@ng-atomic/components/templates/icon-button-menu").IconButtonMenuTemplate>>;
20
23
  } | {
21
24
  provide: any;
22
25
  useValue: () => Promise<import("@angular/core").Type<import("@ng-atomic/components/templates/menu").MenuTemplate>>;
23
- } | import("@angular/core").Provider)[];
26
+ })[];
24
27
  };
25
28
  static ɵfac: i0.ɵɵFactoryDeclaration<NgAtomicTemplatesModule, never>;
26
29
  static ɵmod: i0.ɵɵNgModuleDeclaration<NgAtomicTemplatesModule, never, never, never>;
@@ -1,131 +0,0 @@
1
- import { Injectable, inject } from "@angular/core";
2
- import { FormBuilder } from "@angular/forms";
3
- import { PaginationService } from "@ng-atomic/common/services/form/pagination";
4
- import { SortService } from "@ng-atomic/common/services/form/sort";
5
- import { wrapActions } from "@ng-atomic/core";
6
- import { injectProps } from "@ng-atomic/common/pipes/domain";
7
- import { omitBy } from "lodash-es";
8
- import * as i0 from "@angular/core";
9
- export function buildColumns(columns) {
10
- return columns.map(column => {
11
- if (typeof column === 'string') {
12
- if (column === '__actions') {
13
- return {
14
- type: 'actions',
15
- name: 'actions',
16
- visible: true,
17
- width: 80,
18
- };
19
- }
20
- else if (column === '__checkbox') {
21
- return {
22
- type: 'checkbox',
23
- name: 'checkbox',
24
- visible: true,
25
- width: 80,
26
- };
27
- }
28
- else if (column.startsWith('__tree')) {
29
- return {
30
- type: 'tree',
31
- name: column.split('__tree_')?.[1] ?? '__tree',
32
- headerText: '',
33
- visible: true,
34
- width: 200,
35
- };
36
- }
37
- else {
38
- return {
39
- type: 'text',
40
- name: column,
41
- visible: true,
42
- width: 80,
43
- };
44
- }
45
- }
46
- else {
47
- return {
48
- type: 'actions',
49
- name: 'actions',
50
- visible: true,
51
- width: 80,
52
- actions: wrapActions(column),
53
- };
54
- }
55
- });
56
- }
57
- export class IndexFormBuilder {
58
- constructor() {
59
- this.sort = inject(SortService);
60
- this.pagination = inject(PaginationService);
61
- this.fb = inject(FormBuilder);
62
- }
63
- static { this.buildColumns = buildColumns; }
64
- build({ query = undefined, sort = {}, page, columns = [], } = {}) {
65
- const omit = (obj) => omitBy(obj, value => value === undefined);
66
- return this.fb.group(omit({
67
- query: typeof query !== 'undefined' ? this.fb.control(query) : undefined,
68
- page: page ? this.pagination.build(page) : undefined,
69
- sort: this.sort.build(sort),
70
- columns: this.buildColumnsForm(columns),
71
- }));
72
- }
73
- buildColumnsForm(columns) {
74
- return this.fb.array(columns.map(column => {
75
- switch (column.type) {
76
- case 'tree': {
77
- return this.fb.group({
78
- type: this.fb.control({ value: 'tree', disabled: true }),
79
- name: this.fb.control({ value: column.name, disabled: true }),
80
- headerText: this.fb.control(column.headerText),
81
- visible: this.fb.control(column.visible),
82
- width: this.fb.control(80),
83
- });
84
- }
85
- case 'text':
86
- return this.fb.group({
87
- type: this.fb.control({ value: 'text', disabled: true }),
88
- name: this.fb.control({ value: column.name, disabled: true }),
89
- visible: this.fb.control(column.visible),
90
- width: this.fb.control(80),
91
- });
92
- case 'checkbox':
93
- return this.fb.group({
94
- type: this.fb.control({ value: 'checkbox', disabled: true }),
95
- name: this.fb.control({ value: 'checkbox', disabled: true }),
96
- visible: this.fb.control(column.visible),
97
- width: this.fb.control(80),
98
- });
99
- case 'actions':
100
- return this.fb.group({
101
- type: this.fb.control({ value: 'actions', disabled: true }),
102
- name: this.fb.control({ value: 'actions', disabled: true }),
103
- visible: this.fb.control(column.visible),
104
- width: this.fb.control(80),
105
- actions: this.fb.control(column.actions),
106
- });
107
- default:
108
- throw new Error(`Unknown column type: ${column.type}`);
109
- }
110
- }));
111
- }
112
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: IndexFormBuilder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
113
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: IndexFormBuilder, providedIn: 'root' }); }
114
- }
115
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: IndexFormBuilder, decorators: [{
116
- type: Injectable,
117
- args: [{ providedIn: 'root' }]
118
- }] });
119
- export function injectIndexFormBuilder() {
120
- return inject(IndexFormBuilder);
121
- }
122
- export function injectIndexForm({ columns = buildColumns(['__checkbox', ...injectProps()(), '__actions']), sort = undefined, query = undefined, page = undefined } = {}) {
123
- return inject(IndexFormBuilder).build({
124
- columns,
125
- sort,
126
- query,
127
- page,
128
- });
129
- }
130
- export { IndexFormBuilder as IndexTemplateFormBuilder, injectIndexForm as injectIndexTemplateForm, injectIndexFormBuilder as injectIndexTemplateFormBuilder, };
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29tcG9uZW50cy9zcmMvbGliL29yZ2FuaXNtcy90YWJsZS9pbmRleC5oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBYSxXQUFXLEVBQXNDLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUYsT0FBTyxFQUF1QixpQkFBaUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3BHLE9BQU8sRUFBaUIsV0FBVyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDbEYsT0FBTyxFQUFXLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXZELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3RCxPQUFPLEVBQVEsTUFBTSxFQUFFLE1BQU0sV0FBVyxDQUFDOztBQWtDekMsTUFBTSxVQUFVLFlBQVksQ0FBQyxPQUE2QjtJQUN4RCxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDMUIsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLEVBQUU7WUFDOUIsSUFBSSxNQUFNLEtBQUssV0FBVyxFQUFFO2dCQUMxQixPQUFPO29CQUNMLElBQUksRUFBRSxTQUFTO29CQUNmLElBQUksRUFBRSxTQUFTO29CQUNmLE9BQU8sRUFBRSxJQUFJO29CQUNiLEtBQUssRUFBRSxFQUFFO2lCQUNWLENBQUE7YUFDRjtpQkFBTSxJQUFJLE1BQU0sS0FBSyxZQUFZLEVBQUU7Z0JBQ2xDLE9BQU87b0JBQ0wsSUFBSSxFQUFFLFVBQVU7b0JBQ2hCLElBQUksRUFBRSxVQUFVO29CQUNoQixPQUFPLEVBQUUsSUFBSTtvQkFDYixLQUFLLEVBQUUsRUFBRTtpQkFDVixDQUFBO2FBQ0Y7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RSxJQUFJLEdBQUcsU0FBUyxFQUNoQixLQUFLLEdBQUcsU0FBUyxFQUNqQixJQUFJLEdBQUcsU0FBUyxLQU1kLEVBQUU7SUFDSixPQUFPLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNwQyxPQUFPO1FBQ1AsSUFBSTtRQUNKLEtBQUs7UUFDTCxJQUFJO0tBQ0wsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE9BQU8sRUFDTCxnQkFBZ0IsSUFBSSx3QkFBd0IsRUFDNUMsZUFBZSxJQUFJLHVCQUF1QixFQUMxQyxzQkFBc0IsSUFBSSw4QkFBOEIsR0FDekQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGb3JtQXJyYXksIEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBGb3JtUmVjb3JkIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBQYWdpbmF0aW9uRm9ybVZhbHVlLCBQYWdpbmF0aW9uU2VydmljZSB9IGZyb20gXCJAbmctYXRvbWljL2NvbW1vbi9zZXJ2aWNlcy9mb3JtL3BhZ2luYXRpb25cIjtcbmltcG9ydCB7IFNvcnRGb3JtVmFsdWUsIFNvcnRTZXJ2aWNlIH0gZnJvbSBcIkBuZy1hdG9taWMvY29tbW9uL3NlcnZpY2VzL2Zvcm0vc29ydFwiO1xuaW1wb3J0IHsgQWN0aW9ucywgd3JhcEFjdGlvbnMgfSBmcm9tIFwiQG5nLWF0b21pYy9jb3JlXCI7XG5pbXBvcnQgeyBDb2x1bW4gfSBmcm9tIFwiQG5nLWF0b21pYy9jb21tb24vbW9kZWxzXCI7XG5pbXBvcnQgeyBpbmplY3RQcm9wcyB9IGZyb20gXCJAbmctYXRvbWljL2NvbW1vbi9waXBlcy9kb21haW5cIjtcbmltcG9ydCB7IGhlYWQsIG9taXRCeSB9IGZyb20gXCJsb2Rhc2gtZXNcIjtcblxuZXhwb3J0IHR5cGUgQWN0aW9uc0NvbHVtbkZvcm0gPSBGb3JtR3JvdXA8e1xuICB0eXBlOiBGb3JtQ29udHJvbDwnYWN0aW9ucyc+LFxuICBuYW1lOiBGb3JtQ29udHJvbDxzdHJpbmc+LFxuICB2aXNpYmxlOiBGb3JtQ29udHJvbDxib29sZWFuPixcbiAgd2lkdGg6IEZvcm1Db250cm9sPG51bWJlcj4sXG4gIGFjdGlvbnM6IEZvcm1Db250cm9sPGFueT4sXG59PjtcblxuZXhwb3J0IHR5cGUgQ2hlY2tib3hDb2x1bW5Gb3JtID0gRm9ybUdyb3VwPHtcbiAgdHlwZTogRm9ybUNvbnRyb2w8J2NoZWNrYm94Jz4sXG4gIG5hbWU6IEZvcm1Db250cm9sPHN0cmluZz4sXG4gIHZpc2libGU6IEZvcm1Db250cm9sPGJvb2xlYW4+LFxuICB3aWR0aDogRm9ybUNvbnRyb2w8bnVtYmVyPixcbn0+O1xuXG5leHBvcnQgdHlwZSBUZXh0Q29sdW1uRm9ybSA9IEZvcm1Hcm91cDx7XG4gIHR5cGU6IEZvcm1Db250cm9sPCd0ZXh0Jz4sXG4gIG5hbWU6IEZvcm1Db250cm9sPHN0cmluZz4sXG4gIHZpc2libGU6IEZvcm1Db250cm9sPGJvb2xlYW4+LFxuICB3aWR0aDogRm9ybUNvbnRyb2w8bnVtYmVyPixcbn0+O1xuXG5leHBvcnQgdHlwZSBUcmVlQ29sdW1uRm9ybSA9IEZvcm1Hcm91cDx7XG4gIHR5cGU6IEZvcm1Db250cm9sPCd0cmVlJz4sXG4gIG5hbWU6IEZvcm1Db250cm9sPHN0cmluZz4sXG4gIGhlYWRlclRleHQ6IEZvcm1Db250cm9sPHN0cmluZz4sXG4gIHZpc2libGU6IEZvcm1Db250cm9sPGJvb2xlYW4+LFxuICB3aWR0aDogRm9ybUNvbnRyb2w8bnVtYmVyPixcbn0+O1xuXG5leHBvcnQgdHlwZSBDb2x1bW5zRm9ybSA9IEZvcm1BcnJheTxGb3JtUmVjb3JkPEFjdGlvbnNDb2x1bW5Gb3JtIHwgQ2hlY2tib3hDb2x1bW5Gb3JtIHwgVGV4dENvbHVtbkZvcm0gfCBUcmVlQ29sdW1uRm9ybT4+O1xuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRDb2x1bW5zKGNvbHVtbnM6IChzdHJpbmcgfCBBY3Rpb25zKVtdKTogQ29sdW1uW10ge1xuICByZXR1cm4gY29sdW1ucy5tYXAoY29sdW1uID0+IHtcbiAgICBpZiAodHlwZW9mIGNvbHVtbiA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGlmIChjb2x1bW4gPT09ICdfX2FjdGlvbnMnKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgdHlwZTogJ2FjdGlvbnMnLFxuICAgICAgICAgIG5hbWU6ICdhY3Rpb25zJyxcbiAgICAgICAgICB2aXNpYmxlOiB0cnVlLFxuICAgICAgICAgIHdpZHRoOiA4MCxcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChjb2x1bW4gPT09ICdfX2NoZWNrYm94Jykge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgICAgICAgbmFtZTogJ2NoZWNrYm94JyxcbiAgICAgICAgICB2aXNpYmxlOiB0cnVlLFxuICAgICAgICAgIHdpZHRoOiA4MCxcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChjb2x1bW4uc3RhcnRzV2l0aCgnX190cmVlJykpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB0eXBlOiAndHJlZScsXG4gICAgICAgICAgbmFtZTogY29sdW1uLnNwbGl0KCdfX3RyZWVfJyk/LlsxXSA/PyAnX190cmVlJyxcbiAgICAgICAgICBoZWFkZXJUZXh0OiAnJyxcbiAgICAgICAgICB2aXNpYmxlOiB0cnVlLFxuICAgICAgICAgIHdpZHRoOiAyMDAsXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgIG5hbWU6IGNvbHVtbixcbiAgICAgICAgICB2aXNpYmxlOiB0cnVlLFxuICAgICAgICAgIHdpZHRoOiA4MCxcbiAgICAgICAgfTtcbiAgICAgIH0gICAgICBcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdHlwZTogJ2FjdGlvbnMnLFxuICAgICAgICBuYW1lOiAnYWN0aW9ucycsXG4gICAgICAgIHZpc2libGU6IHRydWUsXG4gICAgICAgIHdpZHRoOiA4MCxcbiAgICAgICAgYWN0aW9uczogd3JhcEFjdGlvbnMoY29sdW1uKSxcbiAgICAgIH07XG4gICAgfVxuICB9KTsgXG59XG5cblxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEluZGV4Rm9ybUJ1aWxkZXIge1xuICBzb3J0ID0gaW5qZWN0KFNvcnRTZXJ2aWNlKTtcbiAgcGFnaW5hdGlvbiA9IGluamVjdChQYWdpbmF0aW9uU2VydmljZSlcbiAgZmIgPSBpbmplY3QoRm9ybUJ1aWxkZXIpO1xuXG4gIHN0YXRpYyBidWlsZENvbHVtbnMgPSBidWlsZENvbHVtbnM7XG5cbiAgYnVpbGQoe1xuICAgIHF1ZXJ5ID0gdW5kZWZpbmVkLFxuICAgIHNvcnQgPSB7fSxcbiAgICBwYWdlLFxuICAgIGNvbHVtbnMgPSBbXSxcbiAgfToge1xuICAgIHF1ZXJ5Pzogc3RyaW5nLFxuICAgIHBhZ2U/OiBQYXJ0aWFsPFBhZ2luYXRpb25Gb3JtVmFsdWU+LFxuICAgIHNvcnQ/OiBQYXJ0aWFsPFNvcnRGb3JtVmFsdWU+LFxuICAgIGNvbHVtbnM/OiBDb2x1bW5bXSxcbiAgfSA9IHt9KSB7XG4gICAgY29uc3Qgb21pdCA9IDxUIGV4dGVuZHMgb2JqZWN0PihvYmo6IFQpID0+IG9taXRCeShvYmosIHZhbHVlID0+IHZhbHVlID09PSB1bmRlZmluZWQpIGFzIFQ7XG4gICAgcmV0dXJuIHRoaXMuZmIuZ3JvdXAob21pdCh7XG4gICAgICBxdWVyeTogdHlwZW9mIHF1ZXJ5ICE9PSAndW5kZWZpbmVkJyA/IHRoaXMuZmIuY29udHJvbChxdWVyeSkgOiB1bmRlZmluZWQsXG4gICAgICBwYWdlOiBwYWdlID8gdGhpcy5wYWdpbmF0aW9uLmJ1aWxkKHBhZ2UpIDogdW5kZWZpbmVkLFxuICAgICAgc29ydDogdGhpcy5zb3J0LmJ1aWxkKHNvcnQpLFxuICAgICAgY29sdW1uczogdGhpcy5idWlsZENvbHVtbnNGb3JtKGNvbHVtbnMpLFxuICAgIH0pKTtcbiAgfVxuXG4gIGJ1aWxkQ29sdW1uc0Zvcm0oY29sdW1uczogQ29sdW1uW10pIHtcbiAgICByZXR1cm4gdGhpcy5mYi5hcnJheShjb2x1bW5zLm1hcChjb2x1bW4gPT4ge1xuICAgICAgc3dpdGNoIChjb2x1bW4udHlwZSkge1xuICAgICAgICBjYXNlICd0cmVlJzoge1xuICAgICAgICAgIHJldHVybiB0aGlzLmZiLmdyb3VwKHtcbiAgICAgICAgICAgIHR5cGU6IHRoaXMuZmIuY29udHJvbCh7dmFsdWU6ICd0cmVlJyBhcyBjb25zdCwgZGlzYWJsZWQ6IHRydWV9KSxcbiAgICAgICAgICAgIG5hbWU6IHRoaXMuZmIuY29udHJvbCh7dmFsdWU6IGNvbHVtbi5uYW1lLCBkaXNhYmxlZDogdHJ1ZX0pLFxuICAgICAgICAgICAgaGVhZGVyVGV4dDogdGhpcy5mYi5jb250cm9sKGNvbHVtbi5oZWFkZXJUZXh0KSxcbiAgICAgICAgICAgIHZpc2libGU6IHRoaXMuZmIuY29udHJvbChjb2x1bW4udmlzaWJsZSksXG4gICAgICAgICAgICB3aWR0aDogdGhpcy5mYi5jb250cm9sKDgwKSxcbiAgICAgICAgICB9KSBhcyBUcmVlQ29sdW1uRm9ybTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlICd0ZXh0JzogXG4gICAgICAgICAgcmV0dXJuIHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgICAgICAgdHlwZTogdGhpcy5mYi5jb250cm9sKHt2YWx1ZTogJ3RleHQnIGFzIGNvbnN0LCBkaXNhYmxlZDogdHJ1ZX0pLFxuICAgICAgICAgICAgbmFtZTogdGhpcy5mYi5jb250cm9sKHt2YWx1ZTogY29sdW1uLm5hbWUsIGRpc2FibGVkOiB0cnVlfSksXG4gICAgICAgICAgICB2aXNpYmxlOiB0aGlzLmZiLmNvbnRyb2woY29sdW1uLnZpc2libGUpLFxuICAgICAgICAgICAgd2lkdGg6IHRoaXMuZmIuY29udHJvbCg4MCksXG4gICAgICAgICAgfSkgYXMgVGV4dENvbHVtbkZvcm07XG4gICAgICAgIGNhc2UgJ2NoZWNrYm94JzpcbiAgICAgICAgICByZXR1cm4gdGhpcy5mYi5ncm91cCh7XG4gICAgICAgICAgICB0eXBlOiB0aGlzLmZiLmNvbnRyb2woe3ZhbHVlOiAnY2hlY2tib3gnIGFzIGNvbnN0LCBkaXNhYmxlZDogdHJ1ZX0pLFxuICAgICAgICAgICAgbmFtZTogdGhpcy5mYi5jb250cm9sKHt2YWx1ZTogJ2NoZWNrYm94JywgZGlzYWJsZWQ6IHRydWV9KSxcbiAgICAgICAgICAgIHZpc2libGU6IHRoaXMuZmIuY29udHJvbChjb2x1bW4udmlzaWJsZSksXG4gICAgICAgICAgICB3aWR0aDogdGhpcy5mYi5jb250cm9sKDgwKSxcbiAgICAgICAgICB9KSBhcyBDaGVja2JveENvbHVtbkZvcm07XG4gICAgICAgIGNhc2UgJ2FjdGlvbnMnOlxuICAgICAgICAgIHJldHVybiB0aGlzLmZiLmdyb3VwKHtcbiAgICAgICAgICAgIHR5cGU6IHRoaXMuZmIuY29udHJvbCh7dmFsdWU6ICdhY3Rpb25zJyBhcyBjb25zdCwgZGlzYWJsZWQ6IHRydWV9KSxcbiAgICAgICAgICAgIG5hbWU6IHRoaXMuZmIuY29udHJvbCh7dmFsdWU6ICdhY3Rpb25zJywgZGlzYWJsZWQ6IHRydWV9KSxcbiAgICAgICAgICAgIHZpc2libGU6IHRoaXMuZmIuY29udHJvbChjb2x1bW4udmlzaWJsZSksXG4gICAgICAgICAgICB3aWR0aDogdGhpcy5mYi5jb250cm9sKDgwKSxcbiAgICAgICAgICAgIGFjdGlvbnM6IHRoaXMuZmIuY29udHJvbChjb2x1bW4uYWN0aW9ucyksXG4gICAgICAgICAgfSkgYXMgQWN0aW9uc0NvbHVtbkZvcm07XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIGNvbHVtbiB0eXBlOiAkeyhjb2x1bW4gYXMgYW55KS50eXBlfWApO1xuICAgICAgfVxuICAgIH0pKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RJbmRleEZvcm1CdWlsZGVyKCkge1xuICByZXR1cm4gaW5qZWN0KEluZGV4Rm9ybUJ1aWxkZXIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0SW5kZXhGb3JtKHtcbiAgY29sdW1ucyA9IGJ1aWxkQ29sdW1ucyhbJ19fY2hlY2tib3gnLCAuLi5pbmplY3RQcm9wcygpKCksICdfX2FjdGlvbnMnXSksXG4gIHNvcnQgPSB1bmRlZmluZWQsXG4gIHF1ZXJ5ID0gdW5kZWZpbmVkLFxuICBwYWdlID0gdW5kZWZpbmVkXG59OiB7XG4gIGNvbHVtbnM/OiBDb2x1bW5bXSxcbiAgc29ydD86IFBhcnRpYWw8U29ydEZvcm1WYWx1ZT4sXG4gIHF1ZXJ5Pzogc3RyaW5nLFxuICBwYWdlPzogUGFydGlhbDxQYWdpbmF0aW9uRm9ybVZhbHVlPixcbn0gPSB7fSkge1xuICByZXR1cm4gaW5qZWN0KEluZGV4Rm9ybUJ1aWxkZXIpLmJ1aWxkKHtcbiAgICBjb2x1bW5zLFxuICAgIHNvcnQsXG4gICAgcXVlcnksXG4gICAgcGFnZSxcbiAgfSk7XG59XG5cbmV4cG9ydCB7XG4gIEluZGV4Rm9ybUJ1aWxkZXIgYXMgSW5kZXhUZW1wbGF0ZUZvcm1CdWlsZGVyLFxuICBpbmplY3RJbmRleEZvcm0gYXMgaW5qZWN0SW5kZXhUZW1wbGF0ZUZvcm0sXG4gIGluamVjdEluZGV4Rm9ybUJ1aWxkZXIgYXMgaW5qZWN0SW5kZXhUZW1wbGF0ZUZvcm1CdWlsZGVyLFxufTtcbiJdfQ==
@@ -1,81 +0,0 @@
1
- import { FormArray, FormBuilder, FormControl, FormGroup, FormRecord } from "@angular/forms";
2
- import { PaginationFormValue, PaginationService } from "@ng-atomic/common/services/form/pagination";
3
- import { SortFormValue, SortService } from "@ng-atomic/common/services/form/sort";
4
- import { Actions } from "@ng-atomic/core";
5
- import { Column } from "@ng-atomic/common/models";
6
- import * as i0 from "@angular/core";
7
- export type ActionsColumnForm = FormGroup<{
8
- type: FormControl<'actions'>;
9
- name: FormControl<string>;
10
- visible: FormControl<boolean>;
11
- width: FormControl<number>;
12
- actions: FormControl<any>;
13
- }>;
14
- export type CheckboxColumnForm = FormGroup<{
15
- type: FormControl<'checkbox'>;
16
- name: FormControl<string>;
17
- visible: FormControl<boolean>;
18
- width: FormControl<number>;
19
- }>;
20
- export type TextColumnForm = FormGroup<{
21
- type: FormControl<'text'>;
22
- name: FormControl<string>;
23
- visible: FormControl<boolean>;
24
- width: FormControl<number>;
25
- }>;
26
- export type TreeColumnForm = FormGroup<{
27
- type: FormControl<'tree'>;
28
- name: FormControl<string>;
29
- headerText: FormControl<string>;
30
- visible: FormControl<boolean>;
31
- width: FormControl<number>;
32
- }>;
33
- export type ColumnsForm = FormArray<FormRecord<ActionsColumnForm | CheckboxColumnForm | TextColumnForm | TreeColumnForm>>;
34
- export declare function buildColumns(columns: (string | Actions)[]): Column[];
35
- export declare class IndexFormBuilder {
36
- sort: SortService;
37
- pagination: PaginationService;
38
- fb: FormBuilder;
39
- static buildColumns: typeof buildColumns;
40
- build({ query, sort, page, columns, }?: {
41
- query?: string;
42
- page?: Partial<PaginationFormValue>;
43
- sort?: Partial<SortFormValue>;
44
- columns?: Column[];
45
- }): FormGroup<{
46
- query: FormControl<string>;
47
- page: FormGroup<{
48
- pageSize: FormControl<number>;
49
- pageIndex: FormControl<number>;
50
- length: FormControl<number>;
51
- }>;
52
- sort: FormGroup<{
53
- key: FormControl<string>;
54
- order: FormControl<"asc" | "desc">;
55
- }>;
56
- columns: FormArray<FormRecord<import("@angular/forms").AbstractControl<any, any>>>;
57
- }>;
58
- buildColumnsForm(columns: Column[]): FormArray<FormRecord<import("@angular/forms").AbstractControl<any, any>>>;
59
- static ɵfac: i0.ɵɵFactoryDeclaration<IndexFormBuilder, never>;
60
- static ɵprov: i0.ɵɵInjectableDeclaration<IndexFormBuilder>;
61
- }
62
- export declare function injectIndexFormBuilder(): IndexFormBuilder;
63
- export declare function injectIndexForm({ columns, sort, query, page }?: {
64
- columns?: Column[];
65
- sort?: Partial<SortFormValue>;
66
- query?: string;
67
- page?: Partial<PaginationFormValue>;
68
- }): FormGroup<{
69
- query: FormControl<string>;
70
- page: FormGroup<{
71
- pageSize: FormControl<number>;
72
- pageIndex: FormControl<number>;
73
- length: FormControl<number>;
74
- }>;
75
- sort: FormGroup<{
76
- key: FormControl<string>;
77
- order: FormControl<"asc" | "desc">;
78
- }>;
79
- columns: FormArray<FormRecord<import("@angular/forms").AbstractControl<any, any>>>;
80
- }>;
81
- export { IndexFormBuilder as IndexTemplateFormBuilder, injectIndexForm as injectIndexTemplateForm, injectIndexFormBuilder as injectIndexTemplateFormBuilder, };