@ng-atomic/components 17.9.0 → 17.11.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 (170) hide show
  1. package/esm2022/atoms/icon/icon.atom.mjs +2 -2
  2. package/esm2022/components.module.mjs +3 -2
  3. package/esm2022/frames/app/app.frame.mjs +192 -16
  4. package/esm2022/frames/auto-layout/auto-layout.frame.mjs +2 -2
  5. package/esm2022/frames/columns/columns.frame.mjs +4 -4
  6. package/esm2022/frames/divider/divider.frame.mjs +2 -2
  7. package/esm2022/frames/drawer/drawer.frame.mjs +2 -2
  8. package/esm2022/frames/entrance/entrance.frame.mjs +2 -2
  9. package/esm2022/frames/fab/fab.frame.mjs +2 -2
  10. package/esm2022/frames/frames.module.mjs +2 -1
  11. package/esm2022/frames/line-up/line-up.frame.mjs +2 -2
  12. package/esm2022/frames/loading/loading.frame.mjs +2 -2
  13. package/esm2022/frames/router-outlet/router-outlet.frame.mjs +11 -4
  14. package/esm2022/frames/scroll/scroll.frame.mjs +2 -2
  15. package/esm2022/frames/scroll-v2/scroll.frame.mjs +2 -2
  16. package/esm2022/frames/side-nav/side-nav.frame.mjs +34 -28
  17. package/esm2022/frames/smart-menu/smart-menu.frame.mjs +2 -2
  18. package/esm2022/frames/vertical-hide/vertical-hide.frame.mjs +2 -2
  19. package/esm2022/molecules/checkbox-column/checkbox-column.molecule.mjs +48 -11
  20. package/esm2022/molecules/date-input-field/date-input-field.molecule.mjs +2 -2
  21. package/esm2022/molecules/date-range-input-field/date-range-input-field.molecule.mjs +2 -2
  22. package/esm2022/molecules/grid-item/grid-item.molecule.mjs +2 -2
  23. package/esm2022/molecules/loading-box/loading-box.molecule.mjs +2 -2
  24. package/esm2022/molecules/navigation-list-item/navigation-list-item.molecule.mjs +11 -8
  25. package/esm2022/molecules/select-input-field/select-input-field.molecule.mjs +2 -2
  26. package/esm2022/organisms/action-buttons-section/action-buttons-section.organism.mjs +2 -2
  27. package/esm2022/organisms/action-input-section/action-input-section.organism.mjs +2 -2
  28. package/esm2022/organisms/card-input-section/card-input-section.organism.mjs +2 -2
  29. package/esm2022/organisms/cvc-and-exp-input-section/cvc-and-exp-input-section.organism.mjs +2 -2
  30. package/esm2022/organisms/date-input-section/date-input-section.organism.mjs +2 -2
  31. package/esm2022/organisms/date-range-input-section/date-range-input-section.organism.mjs +2 -2
  32. package/esm2022/organisms/definition-list/definition-list.organism.mjs +2 -2
  33. package/esm2022/organisms/file-input-section/file-input-section.organism.mjs +2 -2
  34. package/esm2022/organisms/grid-cards-section/grid-cards-section.organism.mjs +2 -2
  35. package/esm2022/organisms/heading/heading.organism.mjs +2 -2
  36. package/esm2022/organisms/menu-footer/menu-footer.organism.mjs +2 -2
  37. package/esm2022/organisms/menu-header/menu-header.organism.mjs +4 -5
  38. package/esm2022/organisms/messages-section/messages-section.organism.mjs +2 -2
  39. package/esm2022/organisms/navigation-list/navigation-list.organism.mjs +51 -20
  40. package/esm2022/organisms/navigator/navigator.organism.mjs +3 -3
  41. package/esm2022/organisms/number-input-section/number-input-section.organism.mjs +2 -2
  42. package/esm2022/organisms/paginator/paginator.organism.mjs +2 -2
  43. package/esm2022/organisms/password-input-section/password-input-section.organism.mjs +2 -2
  44. package/esm2022/organisms/select-input-section/select-input-section.organism.mjs +2 -2
  45. package/esm2022/organisms/slider-input-section/slider-input-section.organism.mjs +4 -4
  46. package/esm2022/organisms/smart-list/smart-list.organism.mjs +11 -3
  47. package/esm2022/organisms/social-login-section/social-login-section.organism.mjs +2 -2
  48. package/esm2022/organisms/table/index.helpers.mjs +3 -1
  49. package/esm2022/organisms/table/table.organism.mjs +205 -101
  50. package/esm2022/organisms/text-input-section/text-input-section.organism.mjs +2 -2
  51. package/esm2022/organisms/textarea-section/textarea-section.organism.mjs +2 -2
  52. package/esm2022/organisms/thread-messages-section/thread-messages-section.organism.mjs +2 -2
  53. package/esm2022/pages/_index/index.page.mjs +242 -50
  54. package/esm2022/pages/form/form.page.mjs +71 -46
  55. package/esm2022/pages/pages.module.mjs +3 -4
  56. package/esm2022/templates/_index/index.template.mjs +66 -28
  57. package/esm2022/templates/background/background.template.mjs +2 -2
  58. package/esm2022/templates/entrance/entrance.template.mjs +2 -2
  59. package/esm2022/templates/form/form.builder.mjs +12 -2
  60. package/esm2022/templates/form/form.template.mjs +2 -2
  61. package/esm2022/templates/icon-button-menu/icon-button-menu.template.mjs +2 -2
  62. package/esm2022/templates/menu/menu.template.mjs +3 -3
  63. package/esm2022/templates/selection/selection.template.mjs +2 -2
  64. package/esm2022/templates/settings/settings.template.mjs +2 -2
  65. package/fesm2022/ng-atomic-components-atoms-icon.mjs +2 -2
  66. package/fesm2022/ng-atomic-components-frames-app.mjs +191 -15
  67. package/fesm2022/ng-atomic-components-frames-app.mjs.map +1 -1
  68. package/fesm2022/ng-atomic-components-frames-auto-layout.mjs +2 -2
  69. package/fesm2022/ng-atomic-components-frames-columns.mjs +3 -3
  70. package/fesm2022/ng-atomic-components-frames-columns.mjs.map +1 -1
  71. package/fesm2022/ng-atomic-components-frames-divider.mjs +2 -2
  72. package/fesm2022/ng-atomic-components-frames-drawer.mjs +2 -2
  73. package/fesm2022/ng-atomic-components-frames-entrance.mjs +2 -2
  74. package/fesm2022/ng-atomic-components-frames-fab.mjs +2 -2
  75. package/fesm2022/ng-atomic-components-frames-line-up.mjs +2 -2
  76. package/fesm2022/ng-atomic-components-frames-loading.mjs +2 -2
  77. package/fesm2022/ng-atomic-components-frames-router-outlet.mjs +10 -3
  78. package/fesm2022/ng-atomic-components-frames-router-outlet.mjs.map +1 -1
  79. package/fesm2022/ng-atomic-components-frames-scroll-v2.mjs +2 -2
  80. package/fesm2022/ng-atomic-components-frames-scroll.mjs +2 -2
  81. package/fesm2022/ng-atomic-components-frames-side-nav.mjs +33 -27
  82. package/fesm2022/ng-atomic-components-frames-side-nav.mjs.map +1 -1
  83. package/fesm2022/ng-atomic-components-frames-smart-menu.mjs +2 -2
  84. package/fesm2022/ng-atomic-components-frames-vertical-hide.mjs +2 -2
  85. package/fesm2022/ng-atomic-components-frames.mjs +1 -0
  86. package/fesm2022/ng-atomic-components-frames.mjs.map +1 -1
  87. package/fesm2022/ng-atomic-components-molecules-checkbox-column.mjs +47 -10
  88. package/fesm2022/ng-atomic-components-molecules-checkbox-column.mjs.map +1 -1
  89. package/fesm2022/ng-atomic-components-molecules-date-input-field.mjs +2 -2
  90. package/fesm2022/ng-atomic-components-molecules-date-range-input-field.mjs +2 -2
  91. package/fesm2022/ng-atomic-components-molecules-grid-item.mjs +2 -2
  92. package/fesm2022/ng-atomic-components-molecules-loading-box.mjs +2 -2
  93. package/fesm2022/ng-atomic-components-molecules-navigation-list-item.mjs +10 -7
  94. package/fesm2022/ng-atomic-components-molecules-navigation-list-item.mjs.map +1 -1
  95. package/fesm2022/ng-atomic-components-molecules-select-input-field.mjs +2 -2
  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 +3 -4
  108. package/fesm2022/ng-atomic-components-organisms-menu-header.mjs.map +1 -1
  109. package/fesm2022/ng-atomic-components-organisms-messages-section.mjs +2 -2
  110. package/fesm2022/ng-atomic-components-organisms-navigation-list.mjs +50 -19
  111. package/fesm2022/ng-atomic-components-organisms-navigation-list.mjs.map +1 -1
  112. package/fesm2022/ng-atomic-components-organisms-navigator.mjs +2 -2
  113. package/fesm2022/ng-atomic-components-organisms-navigator.mjs.map +1 -1
  114. package/fesm2022/ng-atomic-components-organisms-number-input-section.mjs +2 -2
  115. package/fesm2022/ng-atomic-components-organisms-paginator.mjs +2 -2
  116. package/fesm2022/ng-atomic-components-organisms-password-input-section.mjs +2 -2
  117. package/fesm2022/ng-atomic-components-organisms-select-input-section.mjs +2 -2
  118. package/fesm2022/ng-atomic-components-organisms-slider-input-section.mjs +3 -3
  119. package/fesm2022/ng-atomic-components-organisms-slider-input-section.mjs.map +1 -1
  120. package/fesm2022/ng-atomic-components-organisms-smart-list.mjs +10 -2
  121. package/fesm2022/ng-atomic-components-organisms-smart-list.mjs.map +1 -1
  122. package/fesm2022/ng-atomic-components-organisms-social-login-section.mjs +2 -2
  123. package/fesm2022/ng-atomic-components-organisms-table.mjs +206 -100
  124. package/fesm2022/ng-atomic-components-organisms-table.mjs.map +1 -1
  125. package/fesm2022/ng-atomic-components-organisms-text-input-section.mjs +2 -2
  126. package/fesm2022/ng-atomic-components-organisms-textarea-section.mjs +2 -2
  127. package/fesm2022/ng-atomic-components-organisms-thread-messages-section.mjs +2 -2
  128. package/fesm2022/ng-atomic-components-pages-_index.mjs +242 -50
  129. package/fesm2022/ng-atomic-components-pages-_index.mjs.map +1 -1
  130. package/fesm2022/ng-atomic-components-pages-form.mjs +71 -46
  131. package/fesm2022/ng-atomic-components-pages-form.mjs.map +1 -1
  132. package/fesm2022/ng-atomic-components-pages.mjs +2 -3
  133. package/fesm2022/ng-atomic-components-pages.mjs.map +1 -1
  134. package/fesm2022/ng-atomic-components-templates-_index.mjs +65 -27
  135. package/fesm2022/ng-atomic-components-templates-_index.mjs.map +1 -1
  136. package/fesm2022/ng-atomic-components-templates-background.mjs +2 -2
  137. package/fesm2022/ng-atomic-components-templates-entrance.mjs +2 -2
  138. package/fesm2022/ng-atomic-components-templates-form.mjs +13 -3
  139. package/fesm2022/ng-atomic-components-templates-form.mjs.map +1 -1
  140. package/fesm2022/ng-atomic-components-templates-icon-button-menu.mjs +2 -2
  141. package/fesm2022/ng-atomic-components-templates-menu.mjs +2 -2
  142. package/fesm2022/ng-atomic-components-templates-menu.mjs.map +1 -1
  143. package/fesm2022/ng-atomic-components-templates-selection.mjs +2 -2
  144. package/fesm2022/ng-atomic-components-templates-settings.mjs +2 -2
  145. package/fesm2022/ng-atomic-components.mjs +2 -1
  146. package/fesm2022/ng-atomic-components.mjs.map +1 -1
  147. package/frames/app/app.frame.d.ts +69 -52
  148. package/frames/columns/columns.frame.d.ts +3 -3
  149. package/frames/fab/fab.frame.d.ts +3 -3
  150. package/frames/router-outlet/router-outlet.frame.d.ts +4 -3
  151. package/frames/side-nav/side-nav.frame.d.ts +16 -12
  152. package/molecules/actions-column/actions-column.molecule.d.ts +3 -3
  153. package/molecules/checkbox-column/checkbox-column.molecule.d.ts +8 -2
  154. package/molecules/chips-input-field/chips-input-field.molecule.d.ts +3 -3
  155. package/molecules/loading-box/loading-box.molecule.d.ts +3 -3
  156. package/molecules/navigation-list-item/navigation-list-item.molecule.d.ts +3 -2
  157. package/organisms/menu-header/menu-header.organism.d.ts +10 -4
  158. package/organisms/navigation-list/navigation-list.organism.d.ts +2 -1
  159. package/organisms/navigator/navigator.organism.d.ts +3 -3
  160. package/organisms/slider-input-section/slider-input-section.organism.d.ts +3 -3
  161. package/organisms/smart-list/smart-list.organism.d.ts +14 -13
  162. package/organisms/stripe-input-section/stripe-input-section.organism.d.ts +3 -3
  163. package/organisms/table/index.helpers.d.ts +1 -0
  164. package/organisms/table/table.organism.d.ts +39 -9
  165. package/package.json +3 -3
  166. package/pages/_index/index.page.d.ts +123 -82
  167. package/pages/form/form.page.d.ts +69 -56
  168. package/pages/terms/terms.page.d.ts +3 -3
  169. package/templates/_index/index.template.d.ts +27 -15
  170. package/templates/form/form.template.d.ts +3 -3
@@ -1,12 +1,24 @@
1
- import { Signal } from '@angular/core';
2
- import { Actions, InjectableComponent, NgAtomicComponent } from '@ng-atomic/core';
1
+ import { InjectionToken, Injector, Signal } from '@angular/core';
3
2
  import { ActivatedRoute, Router } from '@angular/router';
4
3
  import { SelectionModel } from '@angular/cdk/collections';
4
+ import { Actions, InjectableComponent, NgAtomicComponent } from '@ng-atomic/core';
5
+ import { IndexPipe } from '@ng-atomic/common/pipes/index';
6
+ import { AbstractControl } from '@angular/forms';
7
+ import { IndexLengthPipe } from '@ng-atomic/common/pipes/index-length';
5
8
  import * as i0 from "@angular/core";
6
9
  export declare function injectHighlight(key: string): Signal<SelectionModel<string>>;
10
+ type FilterFunc = (item: {
11
+ id: string;
12
+ }) => boolean;
13
+ export declare function provideFilterFunc(useFactory: () => FilterFunc): {
14
+ provide: InjectionToken<(injector?: Injector) => FilterFunc>;
15
+ useFactory: () => (injector?: Injector) => FilterFunc;
16
+ };
17
+ export declare function injectFilterFunc(): FilterFunc;
7
18
  declare enum ActionId {
8
- BACK = "[@ng-atomic/components/pages] Back",
19
+ BACK = "[@ng-atomic/components:pages/index] Back",
9
20
  CHECKBOX_CLICK = "[@ng-atomic/components/pages] CheckboxClick",
21
+ HEADER_CHECKBOX_CLICK = "[@ng-atomic/components/pages] HeaderCheckboxClick",
10
22
  ADD = "[@ng-atomic/components/pages] Add",
11
23
  DETAIL = "[@ng-atomic/components/pages] Detail",
12
24
  CLOSE = "[@ng-atomic/components/pages] Close"
@@ -14,141 +26,170 @@ declare enum ActionId {
14
26
  export declare class IndexPageStore extends InjectableComponent {
15
27
  static readonly ActionId: typeof ActionId;
16
28
  static readonly Config: {
17
- provide: (useFactory?: import("@ng-atomic/common/services/ui").ReducerFactory<{
29
+ provide(useFactory?: import("@ng-atomic/common/services/ui").ReducerFactory<{
18
30
  style: {
19
31
  width: string;
20
32
  };
21
33
  items: any[];
22
- itemActions: <Actions_1>() => any[];
34
+ itemActions: Actions;
35
+ itemsMapper: (items: any[]) => any[];
36
+ itemsLength: number;
37
+ filterFunc: FilterFunc;
23
38
  title: string;
24
- type: "list" | "table";
39
+ type: string;
25
40
  selection: SelectionModel<string>;
26
41
  highlight: SelectionModel<string>;
27
- form: import("@angular/forms").FormGroup<{
28
- query: import("@angular/forms").FormControl<string>;
29
- page: import("@angular/forms").FormGroup<{
30
- pageSize: import("@angular/forms").FormControl<number>;
31
- pageIndex: import("@angular/forms").FormControl<number>;
32
- length: import("@angular/forms").FormControl<number>;
33
- }>;
34
- sort: import("@angular/forms").FormGroup<{
35
- key: import("@angular/forms").FormControl<string>;
36
- order: import("@angular/forms").FormControl<"asc" | "desc">;
37
- }>;
38
- columns: import("@angular/forms").FormArray<import("@angular/forms").FormRecord<import("@angular/forms").AbstractControl<any, any>>>;
39
- }>;
42
+ form: AbstractControl<any, any>;
40
43
  tableChildrenKey: any;
41
44
  navStartActions: import("@ng-atomic/core").Action<any>[];
42
45
  navEndActions: Actions;
43
- filterFunc: (item: any) => true;
44
- }, any>, label?: string) => import("@angular/core").Provider;
45
- inject: () => Signal<{
46
+ }>, label?: string): import("@angular/core").Provider;
47
+ inject(): Signal<{
46
48
  style: {
47
49
  width: string;
48
50
  };
49
51
  items: any[];
50
- itemActions: <Actions_1>() => any[];
52
+ itemActions: Actions;
53
+ itemsMapper: (items: any[]) => any[];
54
+ itemsLength: number;
55
+ filterFunc: FilterFunc;
51
56
  title: string;
52
- type: "list" | "table";
57
+ type: string;
53
58
  selection: SelectionModel<string>;
54
59
  highlight: SelectionModel<string>;
55
- form: import("@angular/forms").FormGroup<{
56
- query: import("@angular/forms").FormControl<string>;
57
- page: import("@angular/forms").FormGroup<{
58
- pageSize: import("@angular/forms").FormControl<number>;
59
- pageIndex: import("@angular/forms").FormControl<number>;
60
- length: import("@angular/forms").FormControl<number>;
61
- }>;
62
- sort: import("@angular/forms").FormGroup<{
63
- key: import("@angular/forms").FormControl<string>;
64
- order: import("@angular/forms").FormControl<"asc" | "desc">;
65
- }>;
66
- columns: import("@angular/forms").FormArray<import("@angular/forms").FormRecord<import("@angular/forms").AbstractControl<any, any>>>;
67
- }>;
60
+ form: AbstractControl<any, any>;
68
61
  tableChildrenKey: any;
69
62
  navStartActions: import("@ng-atomic/core").Action<any>[];
70
63
  navEndActions: Actions;
71
- filterFunc: (item: any) => true;
72
64
  }>;
73
65
  };
74
- static provideItemsFromRepository: () => import("@angular/core").Provider;
75
- static provideSideAppNavStartActions: () => import("@angular/core").Provider;
76
- static provideInitializer: (initializer: (store: IndexPageStore) => void | Promise<void>) => {
77
- provide: import("@angular/core").InjectionToken<(store: any) => void | Promise<void>>;
78
- useValue: (store: IndexPageStore) => void | Promise<void>;
66
+ static provideTypeConfig(): import("@angular/core").Provider;
67
+ static provideItemsFromRepository(): import("@angular/core").Provider;
68
+ static provideSideAppNavStartActions(): import("@angular/core").Provider;
69
+ static Initializer: {
70
+ provide<SI extends (store: IndexPageStore) => void | Promise<void>>(initializer: SI): {
71
+ provide: InjectionToken<(store: any) => void | Promise<void>>;
72
+ useValue: {
73
+ key: new () => IndexPageStore;
74
+ initializer: (store: IndexPageStore) => void | Promise<void>;
75
+ };
76
+ multi: boolean;
77
+ }[];
78
+ inject(): ((store: IndexPageStore) => void | Promise<void>)[];
79
+ initializeStore(store: IndexPageStore): Promise<void>;
80
+ };
81
+ static provideFormInitializer(): {
82
+ provide: InjectionToken<(store: any) => void | Promise<void>>;
83
+ useValue: {
84
+ key: new () => IndexPageStore;
85
+ initializer: (store: IndexPageStore) => void | Promise<void>;
86
+ };
79
87
  multi: boolean;
80
88
  }[];
81
- static provideDefaultInitializer: () => {
82
- provide: import("@angular/core").InjectionToken<(store: any) => void | Promise<void>>;
83
- useValue: (store: IndexPageStore) => void | Promise<void>;
89
+ static provideFormValueStorageInitializer(): {
90
+ provide: InjectionToken<(store: any) => void | Promise<void>>;
91
+ useValue: {
92
+ key: new () => IndexPageStore;
93
+ initializer: (store: IndexPageStore) => void | Promise<void>;
94
+ };
84
95
  multi: boolean;
85
96
  }[];
97
+ static provideItemsLengthInitializer(): ({
98
+ provide: InjectionToken<(store: any) => void | Promise<void>>;
99
+ useValue: {
100
+ key: new () => IndexPageStore;
101
+ initializer: (store: IndexPageStore) => void | Promise<void>;
102
+ };
103
+ multi: boolean;
104
+ }[] | typeof IndexLengthPipe)[];
105
+ static provideItemsMapperInitializer(): ({
106
+ provide: InjectionToken<(store: any) => void | Promise<void>>;
107
+ useValue: {
108
+ key: new () => IndexPageStore;
109
+ initializer: (store: IndexPageStore) => void | Promise<void>;
110
+ };
111
+ multi: boolean;
112
+ }[] | typeof IndexPipe)[];
113
+ static provideDefaultInitializer(): ({
114
+ provide: InjectionToken<(store: any) => void | Promise<void>>;
115
+ useValue: {
116
+ key: new () => IndexPageStore;
117
+ initializer: (store: IndexPageStore) => void | Promise<void>;
118
+ };
119
+ multi: boolean;
120
+ }[] | ({
121
+ provide: InjectionToken<(store: any) => void | Promise<void>>;
122
+ useValue: {
123
+ key: new () => IndexPageStore;
124
+ initializer: (store: IndexPageStore) => void | Promise<void>;
125
+ };
126
+ multi: boolean;
127
+ }[] | typeof IndexLengthPipe)[] | ({
128
+ provide: InjectionToken<(store: any) => void | Promise<void>>;
129
+ useValue: {
130
+ key: new () => IndexPageStore;
131
+ initializer: (store: IndexPageStore) => void | Promise<void>;
132
+ };
133
+ multi: boolean;
134
+ }[] | typeof IndexPipe)[])[];
135
+ static provideBackEffect(): import("@angular/core").Provider;
136
+ static provideDetailEffect(): import("@angular/core").Provider;
137
+ static provideAddEffect(): import("@angular/core").Provider;
138
+ static provideCheckboxClickEffect(): import("@angular/core").Provider;
139
+ static provideTableHeaderClickEffect(): import("@angular/core").Provider;
140
+ static provideSideNavEffects(): import("@angular/core").Provider;
141
+ static provideHeaderCheckboxClickEffect(): import("@angular/core").Provider;
142
+ static provideDefaultEffects(): import("@angular/core").Provider[];
143
+ static provideDefault(): import("@angular/core").Provider[];
86
144
  readonly config: Signal<{
87
145
  style: {
88
146
  width: string;
89
147
  };
90
148
  items: any[];
91
- itemActions: <Actions_1>() => any[];
149
+ itemActions: Actions;
150
+ itemsMapper: (items: any[]) => any[];
151
+ itemsLength: number;
152
+ filterFunc: FilterFunc;
92
153
  title: string;
93
- type: "list" | "table";
154
+ type: string;
94
155
  selection: SelectionModel<string>;
95
156
  highlight: SelectionModel<string>;
96
- form: import("@angular/forms").FormGroup<{
97
- query: import("@angular/forms").FormControl<string>;
98
- page: import("@angular/forms").FormGroup<{
99
- pageSize: import("@angular/forms").FormControl<number>;
100
- pageIndex: import("@angular/forms").FormControl<number>;
101
- length: import("@angular/forms").FormControl<number>;
102
- }>;
103
- sort: import("@angular/forms").FormGroup<{
104
- key: import("@angular/forms").FormControl<string>;
105
- order: import("@angular/forms").FormControl<"asc" | "desc">;
106
- }>;
107
- columns: import("@angular/forms").FormArray<import("@angular/forms").FormRecord<import("@angular/forms").AbstractControl<any, any>>>;
108
- }>;
157
+ form: AbstractControl<any, any>;
109
158
  tableChildrenKey: any;
110
159
  navStartActions: import("@ng-atomic/core").Action<any>[];
111
160
  navEndActions: Actions;
112
- filterFunc: (item: any) => true;
113
161
  }>;
114
162
  readonly route: ActivatedRoute;
115
- readonly type: import("@angular/core").InputSignal<"list" | "table">;
163
+ readonly type: import("@angular/core").InputSignal<string>;
116
164
  readonly items: import("@angular/core").InputSignal<any[]>;
117
- readonly itemActions: import("@angular/core").InputSignal<(<Actions_1>() => any[])>;
165
+ readonly itemActions: import("@angular/core").InputSignal<Actions>;
118
166
  readonly title: import("@angular/core").InputSignal<string>;
119
- readonly form: import("@angular/core").InputSignal<import("@angular/forms").FormGroup<{
120
- query: import("@angular/forms").FormControl<string>;
121
- page: import("@angular/forms").FormGroup<{
122
- pageSize: import("@angular/forms").FormControl<number>;
123
- pageIndex: import("@angular/forms").FormControl<number>;
124
- length: import("@angular/forms").FormControl<number>;
125
- }>;
126
- sort: import("@angular/forms").FormGroup<{
127
- key: import("@angular/forms").FormControl<string>;
128
- order: import("@angular/forms").FormControl<"asc" | "desc">;
129
- }>;
130
- columns: import("@angular/forms").FormArray<import("@angular/forms").FormRecord<import("@angular/forms").AbstractControl<any, any>>>;
131
- }>>;
167
+ readonly form: import("@angular/core").InputSignal<AbstractControl<any, any>>;
132
168
  readonly selection: import("@angular/core").InputSignal<SelectionModel<string>>;
133
169
  readonly highlight: import("@angular/core").InputSignal<SelectionModel<string>>;
134
170
  readonly navStartActions: import("@angular/core").InputSignal<import("@ng-atomic/core").Action<any>[]>;
135
171
  readonly navEndActions: import("@angular/core").InputSignal<Actions>;
136
- readonly filterFunc: import("@angular/core").InputSignal<(item: any) => true>;
137
- readonly filteredItems: Signal<any[]>;
172
+ readonly filterFunc: import("@angular/core").InputSignal<FilterFunc>;
173
+ readonly itemsMapper: import("@angular/core").InputSignal<(items: any[]) => any[]>;
138
174
  readonly tableChildrenKey: import("@angular/core").InputSignal<any>;
175
+ readonly itemsLength: import("@angular/core").InputSignal<number>;
176
+ readonly displayedItems: Signal<any[]>;
177
+ readonly selectedIds: Signal<string[]>;
178
+ readonly selected: Signal<any[]>;
179
+ readonly isAllSelected: Signal<boolean>;
139
180
  constructor();
140
181
  static ɵfac: i0.ɵɵFactoryDeclaration<IndexPageStore, never>;
141
- static ɵdir: i0.ɵɵDirectiveDeclaration<IndexPageStore, never, never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; "isSignal": true; }; "itemActions": { "alias": "itemActions"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "form": { "alias": "form"; "required": false; "isSignal": true; }; "selection": { "alias": "selection"; "required": false; "isSignal": true; }; "highlight": { "alias": "highlight"; "required": false; "isSignal": true; }; "navStartActions": { "alias": "navStartActions"; "required": false; "isSignal": true; }; "navEndActions": { "alias": "navEndActions"; "required": false; "isSignal": true; }; "filterFunc": { "alias": "filterFunc"; "required": false; "isSignal": true; }; "tableChildrenKey": { "alias": "tableChildrenKey"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
182
+ static ɵdir: i0.ɵɵDirectiveDeclaration<IndexPageStore, never, never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; "isSignal": true; }; "itemActions": { "alias": "itemActions"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "form": { "alias": "form"; "required": false; "isSignal": true; }; "selection": { "alias": "selection"; "required": false; "isSignal": true; }; "highlight": { "alias": "highlight"; "required": false; "isSignal": true; }; "navStartActions": { "alias": "navStartActions"; "required": false; "isSignal": true; }; "navEndActions": { "alias": "navEndActions"; "required": false; "isSignal": true; }; "filterFunc": { "alias": "filterFunc"; "required": false; "isSignal": true; }; "itemsMapper": { "alias": "itemsMapper"; "required": false; "isSignal": true; }; "tableChildrenKey": { "alias": "tableChildrenKey"; "required": false; "isSignal": true; }; "itemsLength": { "alias": "itemsLength"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
142
183
  }
143
184
  export declare class IndexPage extends NgAtomicComponent {
144
185
  protected store: IndexPageStore;
145
186
  protected router: Router;
146
187
  protected back(): void;
147
188
  protected close(): void;
148
- protected checkboxClick(item: {
189
+ protected itemClick(item: {
149
190
  id: string;
150
191
  }): void;
151
- protected itemClick(item: {
192
+ protected onCheckboxClick(item: {
152
193
  id: string;
153
194
  }): void;
154
195
  static ɵfac: i0.ɵɵFactoryDeclaration<IndexPage, never>;
@@ -1,5 +1,5 @@
1
1
  import { InjectionToken } from '@angular/core';
2
- import { InjectableComponent, NgAtomicComponent } from '@ng-atomic/core';
2
+ import { Action, Actions, InjectableComponent, NgAtomicComponent } from '@ng-atomic/core';
3
3
  import { AbstractControl } from '@angular/forms';
4
4
  import { LoadingService } from '@ng-atomic/common/services/loading';
5
5
  import { SnackBarService } from '@ng-atomic/common/services/snack-bar';
@@ -10,6 +10,8 @@ declare enum ActionId {
10
10
  CLOSE = "[@ng-atomic/components/pages/form] Close",
11
11
  CREATE = "[@ng-atomic/components/pages/form] Create",
12
12
  UPDATE = "[@ng-atomic/components/pages/form] Update",
13
+ DELETE = "[@ng-atomic/components/pages/form] Delete",
14
+ NAVIGATE = "[@ng-atomic/components/pages/form] Navigate",
13
15
  FILE_SELECTED = "[@ng-atomic/components/pages/form] File Selected"
14
16
  }
15
17
  export declare const ENTITY_ID_NAME: InjectionToken<string>;
@@ -18,112 +20,123 @@ export declare function provideEntityIdName(name: string): {
18
20
  useValue: string;
19
21
  };
20
22
  export declare function injectEntityIdName(): string;
21
- type StoreInitializer<S> = (store: S) => Promise<void> | void;
22
- export declare const STORE_INITIALIZER: InjectionToken<StoreInitializer<any>>;
23
- export declare function provideStoreInitializer<S>(initializer: StoreInitializer<S>): {
24
- provide: InjectionToken<StoreInitializer<any>>;
25
- useValue: StoreInitializer<S>;
26
- multi: boolean;
27
- }[];
28
- export declare function injectStoreInitializers<S>(): StoreInitializer<S>[];
29
- export declare function initializeStore<S>(store: S): void;
30
- export declare class FormPageStore extends InjectableComponent {
23
+ export declare class FormPageStore<T> extends InjectableComponent {
31
24
  static readonly ActionId: typeof ActionId;
32
25
  static readonly Config: {
33
- provide: (useFactory?: import("@ng-atomic/common/services/ui").ReducerFactory<{
26
+ provide(useFactory?: import("@ng-atomic/common/services/ui").ReducerFactory<{
34
27
  form: AbstractControl<any, any>;
35
28
  formFlatExcludes: string[];
36
29
  entityId: string;
37
30
  entity: any;
38
31
  mode: string;
39
- navStartActions: import("@ng-atomic/core").Action<any>[];
32
+ navStartActions: Actions;
40
33
  navEndActions: any[];
41
34
  title: string;
42
- actions: {
43
- id: ActionId;
44
- name: string;
45
- icon: string;
46
- color: string;
47
- }[];
35
+ actions: Action<any>[];
48
36
  fieldMap: FormFieldMap;
49
- }, any>, label?: string) => import("@angular/core").Provider;
50
- inject: () => import("@angular/core").Signal<{
37
+ }>, label?: string): import("@angular/core").Provider;
38
+ inject(): import("@angular/core").Signal<{
51
39
  form: AbstractControl<any, any>;
52
40
  formFlatExcludes: string[];
53
41
  entityId: string;
54
42
  entity: any;
55
43
  mode: string;
56
- navStartActions: import("@ng-atomic/core").Action<any>[];
44
+ navStartActions: Actions;
57
45
  navEndActions: any[];
58
46
  title: string;
59
- actions: {
60
- id: ActionId;
61
- name: string;
62
- icon: string;
63
- color: string;
64
- }[];
47
+ actions: Action<any>[];
65
48
  fieldMap: FormFieldMap;
66
49
  }>;
67
50
  };
68
- static provideSideAppNavStartActions: () => import("@angular/core").Provider;
69
- static provideInitializer: (initializer: StoreInitializer<FormPageStore>) => {
70
- provide: InjectionToken<StoreInitializer<any>>;
71
- useValue: StoreInitializer<FormPageStore>;
51
+ static Initializer: {
52
+ provide<SI extends (store: FormPageStore<unknown>) => void | Promise<void>>(initializer: SI): {
53
+ provide: InjectionToken<(store: any) => void | Promise<void>>;
54
+ useValue: {
55
+ key: new () => FormPageStore<unknown>;
56
+ initializer: (store: FormPageStore<unknown>) => void | Promise<void>;
57
+ };
58
+ multi: boolean;
59
+ }[];
60
+ inject(): ((store: FormPageStore<unknown>) => void | Promise<void>)[];
61
+ initializeStore(store: FormPageStore<unknown>): Promise<void>;
62
+ };
63
+ static provideInitializer: <SI extends (store: FormPageStore<unknown>) => void | Promise<void>>(initializer: SI) => {
64
+ provide: InjectionToken<(store: any) => void | Promise<void>>;
65
+ useValue: {
66
+ key: new () => FormPageStore<unknown>;
67
+ initializer: (store: FormPageStore<unknown>) => void | Promise<void>;
68
+ };
72
69
  multi: boolean;
73
70
  }[];
74
71
  static provideDefaultInitializer: () => {
75
- provide: InjectionToken<StoreInitializer<any>>;
76
- useValue: StoreInitializer<FormPageStore>;
72
+ provide: InjectionToken<(store: any) => void | Promise<void>>;
73
+ useValue: {
74
+ key: new () => FormPageStore<unknown>;
75
+ initializer: (store: FormPageStore<unknown>) => void | Promise<void>;
76
+ };
77
+ multi: boolean;
78
+ }[];
79
+ static provideNavStartActionsInitializer: () => {
80
+ provide: InjectionToken<(store: any) => void | Promise<void>>;
81
+ useValue: {
82
+ key: new () => FormPageStore<unknown>;
83
+ initializer: (store: FormPageStore<unknown>) => void | Promise<void>;
84
+ };
77
85
  multi: boolean;
78
86
  }[];
87
+ static provideSideAppNavStartActionsInitializer: () => {
88
+ provide: InjectionToken<(store: any) => void | Promise<void>>;
89
+ useValue: {
90
+ key: new () => FormPageStore<unknown>;
91
+ initializer: (store: FormPageStore<unknown>) => void | Promise<void>;
92
+ };
93
+ multi: boolean;
94
+ }[];
95
+ static provideBackEffect(): import("@angular/core").Provider;
96
+ static provideNavigateEffect(): import("@angular/core").Provider;
97
+ static provideDefaultEffects(): import("@angular/core").Provider[];
98
+ static provideDefault(): import("@angular/core").Provider[];
79
99
  readonly config: import("@angular/core").Signal<{
80
100
  form: AbstractControl<any, any>;
81
101
  formFlatExcludes: string[];
82
102
  entityId: string;
83
103
  entity: any;
84
104
  mode: string;
85
- navStartActions: import("@ng-atomic/core").Action<any>[];
105
+ navStartActions: Actions;
86
106
  navEndActions: any[];
87
107
  title: string;
88
- actions: {
89
- id: ActionId;
90
- name: string;
91
- icon: string;
92
- color: string;
93
- }[];
108
+ actions: Action<any>[];
94
109
  fieldMap: FormFieldMap;
95
110
  }>;
96
111
  readonly form: import("@angular/core").InputSignal<AbstractControl<any, any>>;
97
112
  readonly formFlatExcludes: import("@angular/core").InputSignal<string[]>;
98
113
  readonly entityId: import("@angular/core").InputSignal<string>;
99
- readonly entity: import("@angular/core").InputSignal<any>;
114
+ readonly entity: import("@angular/core").InputSignal<T>;
100
115
  readonly title: import("@angular/core").InputSignal<string>;
101
- readonly actions: import("@angular/core").InputSignal<{
102
- id: ActionId;
103
- name: string;
104
- icon: string;
105
- color: string;
106
- }[]>;
116
+ readonly actions: import("@angular/core").InputSignal<Action<any>[]>;
107
117
  readonly fieldMap: import("@angular/core").InputSignal<FormFieldMap>;
108
118
  readonly mode: import("@angular/core").InputSignal<string>;
109
- readonly navStartActions: import("@angular/core").InputSignal<import("@ng-atomic/core").Action<any>[]>;
119
+ readonly navStartActions: import("@angular/core").InputSignal<Actions>;
110
120
  readonly navEndActions: import("@angular/core").InputSignal<any[]>;
111
121
  readonly params: import("@angular/core").Signal<Record<string, string>>;
112
122
  readonly isValid: import("@angular/core").Signal<boolean>;
113
123
  readonly activatedActions: import("@angular/core").Signal<{
114
124
  disabled: boolean;
115
- id: ActionId;
116
- name: string;
117
- icon: string;
118
- color: string;
125
+ id: string;
126
+ payload?: any;
127
+ name?: string;
128
+ icon?: string;
129
+ color?: string;
130
+ children?: Action<any>[];
131
+ meta?: any;
119
132
  }[]>;
120
133
  constructor();
121
- static ɵfac: i0.ɵɵFactoryDeclaration<FormPageStore, never>;
122
- static ɵdir: i0.ɵɵDirectiveDeclaration<FormPageStore, "form-page-store", never, { "form": { "alias": "form"; "required": false; "isSignal": true; }; "formFlatExcludes": { "alias": "formFlatExcludes"; "required": false; "isSignal": true; }; "entityId": { "alias": "entityId"; "required": false; "isSignal": true; }; "entity": { "alias": "entity"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "actions": { "alias": "actions"; "required": false; "isSignal": true; }; "fieldMap": { "alias": "fieldMap"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "navStartActions": { "alias": "navStartActions"; "required": false; "isSignal": true; }; "navEndActions": { "alias": "navEndActions"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
134
+ static ɵfac: i0.ɵɵFactoryDeclaration<FormPageStore<any>, never>;
135
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FormPageStore<any>, "form-page-store", never, { "form": { "alias": "form"; "required": false; "isSignal": true; }; "formFlatExcludes": { "alias": "formFlatExcludes"; "required": false; "isSignal": true; }; "entityId": { "alias": "entityId"; "required": false; "isSignal": true; }; "entity": { "alias": "entity"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "actions": { "alias": "actions"; "required": false; "isSignal": true; }; "fieldMap": { "alias": "fieldMap"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "navStartActions": { "alias": "navStartActions"; "required": false; "isSignal": true; }; "navEndActions": { "alias": "navEndActions"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
123
136
  }
124
137
  export declare class FormPage extends NgAtomicComponent {
125
138
  static readonly ActionId: typeof ActionId;
126
- protected store: FormPageStore;
139
+ protected store: FormPageStore<any>;
127
140
  readonly loading: LoadingService;
128
141
  readonly snackBar: SnackBarService;
129
142
  protected back(): void;
@@ -6,7 +6,7 @@ declare enum ActionId {
6
6
  export declare class TermsPageStore extends InjectableComponent {
7
7
  static readonly ActionId: typeof ActionId;
8
8
  static readonly Config: {
9
- provide: (useFactory?: import("@ng-atomic/common/services/ui").ReducerFactory<{
9
+ provide(useFactory?: import("@ng-atomic/common/services/ui").ReducerFactory<{
10
10
  navStartActions: {
11
11
  id: ActionId;
12
12
  name: string;
@@ -16,8 +16,8 @@ export declare class TermsPageStore extends InjectableComponent {
16
16
  title: string;
17
17
  src: string;
18
18
  data: any;
19
- }, any>, label?: string) => import("@angular/core").Provider;
20
- inject: () => import("@angular/core").Signal<{
19
+ }>, label?: string): import("@angular/core").Provider;
20
+ inject(): import("@angular/core").Signal<{
21
21
  navStartActions: {
22
22
  id: ActionId;
23
23
  name: string;