@acorex/platform 19.3.2 → 19.3.3-next.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 (105) hide show
  1. package/common/lib/layout/menu/menu.types.d.ts +0 -1
  2. package/core/lib/data/datasource-definition-provider.service.d.ts +32 -0
  3. package/core/lib/data/index.d.ts +1 -0
  4. package/core/lib/expression-evaluator/expression-evaluator.service.d.ts +2 -0
  5. package/core/lib/types/interactive.types.d.ts +21 -0
  6. package/core/lib/types/layout.types.d.ts +4 -4
  7. package/core/lib/utils/object-util.d.ts +1 -0
  8. package/fesm2022/acorex-platform-common.mjs +2 -1
  9. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  10. package/fesm2022/acorex-platform-core.mjs +90 -12
  11. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  12. package/fesm2022/acorex-platform-layout-builder.mjs +2 -1
  13. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  14. package/fesm2022/acorex-platform-layout-components.mjs +0 -1
  15. package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
  16. package/fesm2022/acorex-platform-layout-designer.mjs +2 -2
  17. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  18. package/fesm2022/acorex-platform-layout-entity.mjs +0 -2
  19. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  20. package/fesm2022/acorex-platform-layout-views.mjs +287 -0
  21. package/fesm2022/acorex-platform-layout-views.mjs.map +1 -0
  22. package/fesm2022/acorex-platform-themes-default-details-view.component-CAa99Vts.mjs +107 -0
  23. package/fesm2022/acorex-platform-themes-default-details-view.component-CAa99Vts.mjs.map +1 -0
  24. package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-Ol8haGqF.mjs → acorex-platform-themes-default-entity-master-list-view.component-BgE6rxsd.mjs} +5 -6
  25. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-BgE6rxsd.mjs.map +1 -0
  26. package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-BBJ7Aapd.mjs → acorex-platform-themes-default-entity-master-single-view.component-CnrccLHY.mjs} +9 -9
  27. package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-BBJ7Aapd.mjs.map → acorex-platform-themes-default-entity-master-single-view.component-CnrccLHY.mjs.map} +1 -1
  28. package/fesm2022/acorex-platform-themes-default.mjs +45 -298
  29. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  30. package/fesm2022/acorex-platform-widgets.mjs +547 -64
  31. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  32. package/layout/builder/lib/builder/index.d.ts +0 -1
  33. package/layout/builder/lib/builder/widget-map.d.ts +1 -0
  34. package/layout/builder/lib/builder/widget.types.d.ts +1 -0
  35. package/layout/{setting → views}/README.md +1 -1
  36. package/layout/views/index.d.ts +2 -0
  37. package/layout/views/lib/details-view/details-view-route.resolver.d.ts +3 -0
  38. package/layout/views/lib/details-view/details-view.adapter.d.ts +13 -0
  39. package/layout/views/lib/details-view/details-view.viewmodel.d.ts +30 -0
  40. package/layout/views/lib/details-view/index.d.ts +3 -0
  41. package/layout/views/lib/details-view/sample.d.ts +2 -0
  42. package/layout/views/lib/shared/index.d.ts +1 -0
  43. package/layout/views/lib/shared/layout.types.d.ts +7 -0
  44. package/package.json +4 -8
  45. package/themes/default/index.d.ts +0 -1
  46. package/themes/default/lib/layouts/base/base-page.component.d.ts +1 -4
  47. package/themes/default/lib/layouts/base/index.d.ts +0 -1
  48. package/themes/default/lib/layouts/base/page-layout/page-layout.component.d.ts +1 -0
  49. package/themes/default/lib/layouts/details-view/details-view.component.d.ts +45 -0
  50. package/widgets/lib/properties/layout.props.d.ts +1 -0
  51. package/widgets/lib/widgets/advance/cron-job/cron-job-widget-designer.component.d.ts +1 -0
  52. package/widgets/lib/widgets/advance/cron-job/cron-job-widget-edit.component.d.ts +1 -0
  53. package/widgets/lib/widgets/editors/time-duration/index.d.ts +6 -0
  54. package/widgets/lib/widgets/editors/time-duration/time-duration-widget-column.component.d.ts +6 -0
  55. package/widgets/lib/widgets/editors/time-duration/time-duration-widget-edit.component.d.ts +12 -0
  56. package/widgets/lib/widgets/editors/time-duration/time-duration-widget-filter.component.d.ts +6 -0
  57. package/widgets/lib/widgets/editors/time-duration/time-duration-widget-print.component.d.ts +6 -0
  58. package/widgets/lib/widgets/editors/time-duration/time-duration-widget-view.component.d.ts +7 -0
  59. package/widgets/lib/widgets/editors/time-duration/time-duration-widget.config.d.ts +11 -0
  60. package/widgets/lib/widgets/filters/select-filter/select-filter-widget-edit.component.d.ts +4 -1
  61. package/widgets/lib/widgets/layout/form-field/form-field-widget-designer.component.d.ts +2 -2
  62. package/widgets/lib/widgets/layout/tabset/index.d.ts +3 -0
  63. package/widgets/lib/widgets/layout/tabset/tabset-widget-designer.component.d.ts +6 -0
  64. package/widgets/lib/widgets/layout/tabset/tabset-widget-view.component.d.ts +19 -0
  65. package/widgets/lib/widgets/layout/tabset/tabset-widget.config.d.ts +2 -0
  66. package/widgets/lib/widgets/layout/tabset/tabset-widget.types.d.ts +2 -0
  67. package/widgets/lib/widgets/layout/tabset-item/index.d.ts +3 -0
  68. package/widgets/lib/widgets/layout/tabset-item/tabset-item-widget-designer.component.d.ts +6 -0
  69. package/widgets/lib/widgets/layout/tabset-item/tabset-item-widget-view.component.d.ts +10 -0
  70. package/widgets/lib/widgets/layout/tabset-item/tabset-item-widget.config.d.ts +2 -0
  71. package/widgets/lib/widgets/property-editors/flex-options/flex-options-widget-editor.component.d.ts +3 -3
  72. package/widgets/lib/widgets/property-editors/flex-options/flex-options-widget.type.d.ts +2 -2
  73. package/fesm2022/acorex-platform-layout-search.mjs +0 -279
  74. package/fesm2022/acorex-platform-layout-search.mjs.map +0 -1
  75. package/fesm2022/acorex-platform-layout-setting.mjs +0 -406
  76. package/fesm2022/acorex-platform-layout-setting.mjs.map +0 -1
  77. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-Ol8haGqF.mjs.map +0 -1
  78. package/fesm2022/acorex-platform-themes-default-search-popup.component-ChJiJ12h.mjs +0 -128
  79. package/fesm2022/acorex-platform-themes-default-search-popup.component-ChJiJ12h.mjs.map +0 -1
  80. package/fesm2022/acorex-platform-themes-default-setting-page.component-BxGzaKws.mjs +0 -219
  81. package/fesm2022/acorex-platform-themes-default-setting-page.component-BxGzaKws.mjs.map +0 -1
  82. package/fesm2022/acorex-platform-themes-default-setting-view.component-CjmlI9Jb.mjs +0 -103
  83. package/fesm2022/acorex-platform-themes-default-setting-view.component-CjmlI9Jb.mjs.map +0 -1
  84. package/layout/builder/lib/builder/view.types.d.ts +0 -94
  85. package/layout/search/README.md +0 -3
  86. package/layout/search/index.d.ts +0 -1
  87. package/layout/search/lib/index.d.ts +0 -3
  88. package/layout/search/lib/search-slot.component.d.ts +0 -9
  89. package/layout/search/lib/search.config.d.ts +0 -5
  90. package/layout/search/lib/search.module.d.ts +0 -11
  91. package/layout/search/lib/search.viewmodel.d.ts +0 -34
  92. package/layout/search/lib/workflows/search.workflow.d.ts +0 -11
  93. package/layout/setting/index.d.ts +0 -2
  94. package/layout/setting/lib/convert-setting-data.d.ts +0 -2
  95. package/layout/setting/lib/search-definition.provider.d.ts +0 -4
  96. package/layout/setting/lib/search.provider.d.ts +0 -9
  97. package/layout/setting/lib/setting.viewmodel.d.ts +0 -46
  98. package/layout/setting/lib/settings.module.d.ts +0 -9
  99. package/themes/default/lib/layouts/base/simple-page/index.d.ts +0 -1
  100. package/themes/default/lib/layouts/base/simple-page/simple-page.layout.d.ts +0 -78
  101. package/themes/default/lib/layouts/search-layout/search-popup.component.d.ts +0 -22
  102. package/themes/default/lib/layouts/setting-layout/setting-page/setting-page.component.d.ts +0 -65
  103. package/themes/default/lib/layouts/setting-layout/setting-view/setting-view.component.d.ts +0 -135
  104. package/themes/default/lib/layouts/view-layouts/index.d.ts +0 -1
  105. package/themes/default/lib/layouts/view-layouts/layout-detail-view/layout-detail-view.component.d.ts +0 -19
@@ -0,0 +1,287 @@
1
+ import { cleanDeep, getSmart, AXPExpressionEvaluatorService } from '@acorex/platform/core';
2
+ import { AXPPageStatus } from '@acorex/platform/layout/builder';
3
+ import { computed, inject } from '@angular/core';
4
+ import { signalStore, withState, withComputed, withMethods, patchState } from '@ngrx/signals';
5
+ import { isEqual, cloneDeep } from 'lodash-es';
6
+
7
+ const blockContent1 = [
8
+ {
9
+ type: 'fieldset-layout',
10
+ options: {
11
+ title: 'Full Name',
12
+ icon: 'fa-light fa-pen',
13
+ variant: 'card',
14
+ collapsible: true,
15
+ },
16
+ children: [
17
+ {
18
+ type: 'block-layout',
19
+ options: {
20
+ flex: {
21
+ direction: 'column',
22
+ align: 'center',
23
+ justify: 'space-between',
24
+ gap: '1rem',
25
+ },
26
+ },
27
+ children: [
28
+ {
29
+ type: 'form-field',
30
+ options: {
31
+ label: 'First Name',
32
+ },
33
+ children: [
34
+ {
35
+ type: 'text-editor',
36
+ path: 'firstName',
37
+ },
38
+ ],
39
+ },
40
+ {
41
+ type: 'form-field',
42
+ options: {
43
+ label: 'Last Name',
44
+ },
45
+ children: [
46
+ {
47
+ type: 'text-editor',
48
+ path: 'lastName',
49
+ options: {
50
+ disabled: `{{ !context.eval('firstName') }}`,
51
+ },
52
+ },
53
+ ],
54
+ },
55
+ {
56
+ type: 'form-field',
57
+ options: {
58
+ label: 'Full Name',
59
+ },
60
+ children: [
61
+ {
62
+ type: 'text-editor',
63
+ //defaultValue: `{{ context.eval('firstName') + context.eval('lastName') }}`,
64
+ path: 'fullName',
65
+ options: {
66
+ placeholder: `{{ context.eval('firstName') + ' ' + context.eval('lastName') }}`,
67
+ },
68
+ },
69
+ ],
70
+ },
71
+ {
72
+ type: 'form-field',
73
+ options: {
74
+ label: 'Enable',
75
+ },
76
+ children: [
77
+ {
78
+ type: 'toggle-editor',
79
+ path: 'enable',
80
+ options: {
81
+ disabled: `{{ context.eval('firstName')=='aaa' }}`,
82
+ },
83
+ },
84
+ ],
85
+ },
86
+ ],
87
+ },
88
+ ],
89
+ },
90
+ ];
91
+ const blockContent2 = [
92
+ {
93
+ type: 'block-layout',
94
+ options: {
95
+ flex: {
96
+ direction: 'column',
97
+ align: 'center',
98
+ justify: 'space-between',
99
+ gap: '1rem',
100
+ },
101
+ },
102
+ children: [
103
+ {
104
+ type: 'form-field',
105
+ options: {
106
+ label: 'Email',
107
+ },
108
+ children: [
109
+ {
110
+ type: 'text-editor',
111
+ path: 'email',
112
+ },
113
+ ],
114
+ },
115
+ {
116
+ type: 'form-field',
117
+ options: {
118
+ label: 'Phone',
119
+ },
120
+ children: [
121
+ {
122
+ type: 'text-editor',
123
+ path: 'phone',
124
+ },
125
+ ],
126
+ },
127
+ ],
128
+ },
129
+ ];
130
+ const AXPLayoutDetailsViewSample = [
131
+ {
132
+ type: 'block-layout',
133
+ options: {
134
+ flex: {
135
+ direction: 'column',
136
+ align: 'center',
137
+ justify: 'space-between',
138
+ gap: '1rem',
139
+ },
140
+ },
141
+ children: [
142
+ {
143
+ type: 'tabset-layout',
144
+ options: {
145
+ title: 'Tab 1',
146
+ description: 'Tab 1 Description',
147
+ icon: 'icon',
148
+ location: 'start',
149
+ },
150
+ children: [
151
+ {
152
+ type: 'tabset-item',
153
+ options: {
154
+ title: 'Tab 1',
155
+ },
156
+ children: blockContent1,
157
+ },
158
+ {
159
+ type: 'tabset-item',
160
+ options: {
161
+ title: 'Tab 2',
162
+ },
163
+ children: blockContent2,
164
+ },
165
+ ],
166
+ },
167
+ ],
168
+ },
169
+ ];
170
+
171
+ const AXPLayoutDetailsViewRouteResolver = (route, state) => {
172
+ const moduleName = route.parent?.paramMap.get('module');
173
+ const entityName = route.parent?.paramMap.get('entity');
174
+ const id = route.paramMap.get('id');
175
+ //
176
+ const adapter = {
177
+ title: `${moduleName} ${entityName} / {{ context.eval("firstName") }}`,
178
+ description: 'Description ({{ context.eval("firstName") }})',
179
+ icon: 'icon',
180
+ content: AXPLayoutDetailsViewSample,
181
+ load: () => Promise.resolve({
182
+ success: true,
183
+ result: { items: [{ firstName: 'John', lastName: 'Doe', email: 'john.doe@example.com', phone: '1234567890' }] },
184
+ }),
185
+ save: () => Promise.resolve({ success: true }),
186
+ execute: () => Promise.resolve({ success: true }),
187
+ };
188
+ //
189
+ return new Promise((resolve) => {
190
+ setTimeout(() => {
191
+ resolve(adapter);
192
+ }, 200);
193
+ });
194
+ };
195
+
196
+ const AXPLayoutDetailsViewViewModel = signalStore(withState(() => {
197
+ const state = {
198
+ adapter: null,
199
+ previousContext: {},
200
+ context: {},
201
+ scope: null,
202
+ status: AXPPageStatus.Processing,
203
+ };
204
+ return state;
205
+ }), withComputed((store) => ({
206
+ icon: computed(() => store.adapter()?.icon ?? null),
207
+ content: computed(() => store.adapter()?.content ?? []),
208
+ //
209
+ isBusy: computed(() => store.status() == AXPPageStatus.Processing),
210
+ isSaving: computed(() => store.status() == AXPPageStatus.Submitting),
211
+ isDirty: computed(() => !isEqual(store.context(), store.previousContext())),
212
+ isLoaded: computed(() => store.adapter() != null),
213
+ })), withMethods((store, evaluatorService = inject(AXPExpressionEvaluatorService)) => ({
214
+ // Load Adapter
215
+ async load(adapter) {
216
+ patchState(store, { adapter });
217
+ //
218
+ const scope = {
219
+ context: {
220
+ eval: (path) => {
221
+ return getSmart(store.context(), path);
222
+ },
223
+ },
224
+ };
225
+ patchState(store, { scope });
226
+ //
227
+ patchState(store, {
228
+ status: AXPPageStatus.Processing,
229
+ });
230
+ const loadResult = await adapter.load({});
231
+ const context = loadResult.result?.items?.[0] ?? {};
232
+ patchState(store, {
233
+ previousContext: cloneDeep(context),
234
+ context: cloneDeep(context),
235
+ status: AXPPageStatus.Rendered,
236
+ });
237
+ },
238
+ // Set Context
239
+ updateContext(context) {
240
+ patchState(store, {
241
+ context: cleanDeep(context),
242
+ });
243
+ },
244
+ async title() {
245
+ const raw = store.adapter()?.title;
246
+ const processed = await evaluatorService.evaluate(raw, store.scope());
247
+ return processed;
248
+ },
249
+ async description() {
250
+ const raw = store.adapter()?.description;
251
+ const processed = await evaluatorService.evaluate(raw, store.scope());
252
+ return processed;
253
+ },
254
+ // Process Actions
255
+ async primaryActions() {
256
+ const raw = store.adapter()?.actions?.filter((a) => a.priority == 'primary') ?? [];
257
+ const processed = await evaluatorService.evaluate(raw, store.scope());
258
+ return processed;
259
+ },
260
+ // Secondary Actions
261
+ async secondaryActions() {
262
+ const raw = store.adapter()?.actions?.filter((a) => a.priority == 'secondary') ?? [];
263
+ const processed = await evaluatorService.evaluate(raw, store.scope());
264
+ return processed;
265
+ },
266
+ //
267
+ async discard() {
268
+ patchState(store, {
269
+ context: cloneDeep(store.previousContext()),
270
+ });
271
+ },
272
+ async save() {
273
+ const result = await store.adapter()?.save?.(store.context());
274
+ if (result?.success) {
275
+ patchState(store, {
276
+ previousContext: cloneDeep(store.context()),
277
+ });
278
+ }
279
+ },
280
+ })));
281
+
282
+ /**
283
+ * Generated bundle index. Do not edit.
284
+ */
285
+
286
+ export { AXPLayoutDetailsViewRouteResolver, AXPLayoutDetailsViewViewModel };
287
+ //# sourceMappingURL=acorex-platform-layout-views.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-layout-views.mjs","sources":["../../../../libs/platform/layout/views/src/lib/details-view/sample.ts","../../../../libs/platform/layout/views/src/lib/details-view/details-view-route.resolver.ts","../../../../libs/platform/layout/views/src/lib/details-view/details-view.viewmodel.ts","../../../../libs/platform/layout/views/src/acorex-platform-layout-views.ts"],"sourcesContent":["import { AXPWidgetNode } from '@acorex/platform/layout/builder';\n\nconst blockContent1 = [\n {\n type: 'fieldset-layout',\n options: {\n title: 'Full Name',\n icon: 'fa-light fa-pen',\n variant: 'card',\n collapsible: true,\n },\n children: [\n {\n type: 'block-layout',\n options: {\n flex: {\n direction: 'column',\n align: 'center',\n justify: 'space-between',\n gap: '1rem',\n },\n },\n children: [\n {\n type: 'form-field',\n options: {\n label: 'First Name',\n },\n children: [\n {\n type: 'text-editor',\n path: 'firstName',\n },\n ],\n },\n {\n type: 'form-field',\n options: {\n label: 'Last Name',\n },\n children: [\n {\n type: 'text-editor',\n path: 'lastName',\n options: {\n disabled: `{{ !context.eval('firstName') }}`,\n },\n },\n ],\n },\n {\n type: 'form-field',\n options: {\n label: 'Full Name',\n },\n children: [\n {\n type: 'text-editor',\n //defaultValue: `{{ context.eval('firstName') + context.eval('lastName') }}`,\n path: 'fullName',\n options: {\n placeholder: `{{ context.eval('firstName') + ' ' + context.eval('lastName') }}`,\n },\n },\n ],\n },\n {\n type: 'form-field',\n options: {\n label: 'Enable',\n },\n children: [\n {\n type: 'toggle-editor',\n path: 'enable',\n options: {\n disabled: `{{ context.eval('firstName')=='aaa' }}`,\n },\n },\n ],\n },\n ],\n },\n ],\n },\n];\n\nconst blockContent2 = [\n {\n type: 'block-layout',\n options: {\n flex: {\n direction: 'column',\n align: 'center',\n justify: 'space-between',\n gap: '1rem',\n },\n },\n children: [\n {\n type: 'form-field',\n options: {\n label: 'Email',\n },\n children: [\n {\n type: 'text-editor',\n path: 'email',\n },\n ],\n },\n {\n type: 'form-field',\n options: {\n label: 'Phone',\n },\n children: [\n {\n type: 'text-editor',\n path: 'phone',\n },\n ],\n },\n ],\n },\n];\n\nexport const AXPLayoutDetailsViewSample: AXPWidgetNode[] = [\n {\n type: 'block-layout',\n options: {\n flex: {\n direction: 'column',\n align: 'center',\n justify: 'space-between',\n gap: '1rem',\n },\n },\n children: [\n {\n type: 'tabset-layout',\n options: {\n title: 'Tab 1',\n description: 'Tab 1 Description',\n icon: 'icon',\n location: 'start',\n },\n children: [\n {\n type: 'tabset-item',\n options: {\n title: 'Tab 1',\n },\n children: blockContent1,\n },\n {\n type: 'tabset-item',\n options: {\n title: 'Tab 2',\n },\n children: blockContent2,\n },\n ],\n },\n ],\n },\n];\n","import { ActivatedRouteSnapshot, ResolveFn, RouterStateSnapshot } from '@angular/router';\nimport { AXPLayoutDetailsViewAdapter } from './details-view.adapter';\nimport { AXPLayoutDetailsViewSample } from './sample';\n\nexport const AXPLayoutDetailsViewRouteResolver: ResolveFn<Promise<AXPLayoutDetailsViewAdapter>> = (\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot\n): Promise<AXPLayoutDetailsViewAdapter> => {\n const moduleName = route.parent?.paramMap.get('module') as string;\n const entityName = route.parent?.paramMap.get('entity') as string;\n const id = route.paramMap.get('id') as string;\n //\n const adapter: AXPLayoutDetailsViewAdapter = {\n title: `${moduleName} ${entityName} / {{ context.eval(\"firstName\") }}`,\n description: 'Description ({{ context.eval(\"firstName\") }})',\n icon: 'icon',\n content: AXPLayoutDetailsViewSample,\n load: () =>\n Promise.resolve({\n success: true,\n result: { items: [{ firstName: 'John', lastName: 'Doe', email: 'john.doe@example.com', phone: '1234567890' }] },\n }),\n save: () => Promise.resolve({ success: true }),\n execute: () => Promise.resolve({ success: true }),\n };\n //\n return new Promise((resolve) => {\n setTimeout(() => {\n resolve(adapter);\n }, 200);\n });\n};\n","import { AXPExpressionEvaluatorScope, AXPExpressionEvaluatorService, cleanDeep, getSmart } from '@acorex/platform/core';\nimport { AXPPageStatus } from '@acorex/platform/layout/builder';\nimport { computed, inject } from '@angular/core';\nimport { patchState, signalStore, withComputed, withMethods, withState } from '@ngrx/signals';\nimport { cloneDeep, isEqual } from 'lodash-es';\nimport { AXPLayoutDetailsViewAdapter } from './details-view.adapter';\n\nexport const AXPLayoutDetailsViewViewModel = signalStore(\n withState(() => {\n const state = {\n adapter: null as AXPLayoutDetailsViewAdapter | null,\n previousContext: {} as Record<string, any>,\n context: {} as Record<string, any>,\n scope: null as AXPExpressionEvaluatorScope | null,\n status: AXPPageStatus.Processing,\n };\n return state;\n }),\n withComputed((store) => ({\n icon: computed(() => store.adapter()?.icon ?? null),\n content: computed(() => store.adapter()?.content ?? []),\n //\n isBusy: computed(() => store.status() == AXPPageStatus.Processing),\n isSaving: computed(() => store.status() == AXPPageStatus.Submitting),\n isDirty: computed(() => !isEqual(store.context(), store.previousContext())),\n isLoaded: computed(() => store.adapter() != null),\n })),\n withMethods((store, evaluatorService = inject(AXPExpressionEvaluatorService)) => ({\n // Load Adapter\n async load(adapter: AXPLayoutDetailsViewAdapter) {\n patchState(store, { adapter });\n //\n const scope: AXPExpressionEvaluatorScope = {\n context: {\n eval: (path: string) => {\n return getSmart(store.context(), path);\n },\n },\n };\n patchState(store, { scope });\n //\n patchState(store, {\n status: AXPPageStatus.Processing,\n });\n const loadResult = await adapter.load({});\n const context = loadResult.result?.items?.[0] ?? {};\n patchState(store, {\n previousContext: cloneDeep(context),\n context: cloneDeep(context),\n status: AXPPageStatus.Rendered,\n });\n },\n // Set Context\n updateContext(context: any) {\n patchState(store, {\n context: cleanDeep(context),\n });\n },\n async title() {\n const raw = store.adapter()?.title;\n const processed = await evaluatorService.evaluate(raw, store.scope() as AXPExpressionEvaluatorScope);\n return processed;\n },\n async description() {\n const raw = store.adapter()?.description;\n const processed = await evaluatorService.evaluate(raw, store.scope() as AXPExpressionEvaluatorScope);\n return processed;\n },\n // Process Actions\n async primaryActions() {\n const raw = store.adapter()?.actions?.filter((a) => a.priority == 'primary') ?? [];\n const processed = await evaluatorService.evaluate(raw, store.scope() as AXPExpressionEvaluatorScope);\n return processed;\n },\n // Secondary Actions\n async secondaryActions() {\n const raw = store.adapter()?.actions?.filter((a) => a.priority == 'secondary') ?? [];\n const processed = await evaluatorService.evaluate(raw, store.scope() as AXPExpressionEvaluatorScope);\n return processed;\n },\n //\n async discard() {\n patchState(store, {\n context: cloneDeep(store.previousContext()),\n });\n },\n async save() {\n const result = await store.adapter()?.save?.(store.context());\n if (result?.success) {\n patchState(store, {\n previousContext: cloneDeep(store.context()),\n });\n }\n },\n }))\n);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,107 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, inject, ViewEncapsulation, Component } from '@angular/core';
3
+ import * as i1 from '@angular/common';
4
+ import { CommonModule } from '@angular/common';
5
+ import * as i4 from '@acorex/components/button';
6
+ import { AXButtonModule } from '@acorex/components/button';
7
+ import * as i8 from '@acorex/platform/layout/builder';
8
+ import { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';
9
+ import { AXMenuModule } from '@acorex/components/menu';
10
+ import { AXButtonGroupModule } from '@acorex/components/button-group';
11
+ import { AXDropdownButtonModule } from '@acorex/components/dropdown-button';
12
+ import { AXDropdownModule } from '@acorex/components/dropdown';
13
+ import * as i4$1 from '@acorex/core/translation';
14
+ import { AXTranslationModule } from '@acorex/core/translation';
15
+ import { AXDecoratorModule } from '@acorex/components/decorators';
16
+ import * as i5 from '@acorex/components/loading';
17
+ import { AXLoadingModule } from '@acorex/components/loading';
18
+ import { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';
19
+ import { AXBadgeModule } from '@acorex/components/badge';
20
+ import { AXSearchBoxModule } from '@acorex/components/search-box';
21
+ import { AXFormatModule } from '@acorex/core/format';
22
+ import { AXFileModule } from '@acorex/core/file';
23
+ import { AXDateTimeModule } from '@acorex/core/date-time';
24
+ import { AXPBasePageComponent, AXPPageLayoutComponent, AXPBasePage } from './acorex-platform-themes-default.mjs';
25
+ import { AXPThemeLayoutBlockComponent } from '@acorex/platform/themes/shared';
26
+ import { AXPLayoutDetailsViewViewModel } from '@acorex/platform/layout/views';
27
+
28
+ class AXPLayoutDetailsViewComponent extends AXPBasePageComponent {
29
+ constructor() {
30
+ super(...arguments);
31
+ this.adapter = input.required();
32
+ //
33
+ this.vm = inject(AXPLayoutDetailsViewViewModel);
34
+ }
35
+ async ngOnInit() {
36
+ await super.ngOnInit();
37
+ //
38
+ await this.vm.load(this.adapter());
39
+ }
40
+ ngOnDestroy() {
41
+ }
42
+ handleOnContextChanged(e) {
43
+ this.vm.updateContext(e.data);
44
+ this.recompute();
45
+ }
46
+ async getPrimaryMenuItems() {
47
+ return this.vm.primaryActions();
48
+ }
49
+ async getSecondaryMenuItems() {
50
+ return this.vm.secondaryActions();
51
+ }
52
+ async getPageTitle() {
53
+ return this.vm.title();
54
+ }
55
+ async getPageDescription() {
56
+ return this.vm.description() || null;
57
+ }
58
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPLayoutDetailsViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
59
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPLayoutDetailsViewComponent, isStandalone: true, selector: "ng-component", inputs: { adapter: { classPropertyName: "adapter", publicName: "adapter", isSignal: true, isRequired: true, transformFunction: null } }, providers: [
60
+ {
61
+ provide: AXPBasePage,
62
+ useExisting: AXPLayoutDetailsViewComponent,
63
+ },
64
+ AXPLayoutDetailsViewViewModel
65
+ ], usesInheritance: true, ngImport: i0, template: "<axp-page-layout *translate=\"let t\">\n <!-- Content Section -->\n <axp-page-content class=\"ax-overflow-auto ax-flex ax-flex-row ax-gap-4\">\n <axp-widgets-container [context]=\"vm.context()\" (onContextChanged)=\"handleOnContextChanged($event)\">\n @for (group of vm.content(); track $index) {\n <ng-container axp-widget-renderer [node]=\"group\" [mode]=\"'edit'\"></ng-container>\n }\n </axp-widgets-container>\n </axp-page-content>\n\n <!-- Footer Section -->\n @if(vm.isDirty()) {\n <axp-page-footer class=\"--animated\">\n <axp-layout-suffix>\n <ax-button\n [class.ax-sm]=\"layoutService.isSmall()\"\n [disabled]=\"vm.isBusy() || vm.isSaving()\"\n [text]=\"t('discard') | async\"\n (onClick)=\"vm.discard()\"\n >\n </ax-button>\n <ax-button\n [class.ax-sm]=\"layoutService.isSmall()\"\n [disabled]=\"vm.isBusy() || vm.isSaving()\"\n [text]=\"t('apply') | async\"\n [color]=\"'secondary'\"\n (onClick)=\"vm.save()\"\n >\n @if(vm.isSaving()) {\n <ax-loading></ax-loading>\n }\n </ax-button>\n </axp-layout-suffix>\n </axp-page-footer>\n }\n</axp-page-layout>\n", styles: [""], dependencies: [{ kind: "ngmodule", type:
66
+ // Angular
67
+ CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type:
68
+ // ACoreX
69
+ AXMenuModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i4.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXButtonGroupModule }, { kind: "ngmodule", type: AXDropdownButtonModule }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "directive", type: i4$1.AXTranslatorDirective, selector: "[translate]" }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i5.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: AXBreadcrumbsModule }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "ngmodule", type: AXSearchBoxModule }, { kind: "ngmodule", type: AXFormatModule }, { kind: "ngmodule", type: AXFileModule }, { kind: "ngmodule", type: AXDateTimeModule }, { kind: "component", type:
70
+ //
71
+ AXPPageLayoutComponent, selector: "axp-page-layout" }, { kind: "component", type: AXPThemeLayoutBlockComponent, selector: " axp-page-content, axp-page-footer, axp-page-header, axp-page-toolbar, axp-layout-content, axp-layout-page-content, axp-layout-sections, axp-layout-body, axp-layout-container, axp-layout-page-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title-bar, axp-layout-title, axp-layout-title-actions, axp-layout-nav-button, axp-layout-description, axp-layout-breadcrumbs, axp-layout-list-action, " }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "component", type: i8.AXPWidgetContainerComponent, selector: "axp-widgets-container", inputs: ["context", "functions"], outputs: ["onContextChanged"] }, { kind: "directive", type: i8.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"], outputs: ["onOptionsChanged", "onValueChanged"], exportAs: ["widgetRenderer"] }], encapsulation: i0.ViewEncapsulation.None }); }
72
+ }
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPLayoutDetailsViewComponent, decorators: [{
74
+ type: Component,
75
+ args: [{ imports: [
76
+ // Angular
77
+ CommonModule,
78
+ // ACoreX
79
+ AXMenuModule,
80
+ AXButtonModule,
81
+ AXButtonGroupModule,
82
+ AXDropdownButtonModule,
83
+ AXDropdownModule,
84
+ AXTranslationModule,
85
+ AXDecoratorModule,
86
+ AXLoadingModule,
87
+ AXBreadcrumbsModule,
88
+ AXBadgeModule,
89
+ AXSearchBoxModule,
90
+ AXFormatModule,
91
+ AXFileModule,
92
+ AXDateTimeModule,
93
+ //
94
+ AXPPageLayoutComponent,
95
+ AXPThemeLayoutBlockComponent,
96
+ AXPLayoutBuilderModule,
97
+ ], encapsulation: ViewEncapsulation.None, providers: [
98
+ {
99
+ provide: AXPBasePage,
100
+ useExisting: AXPLayoutDetailsViewComponent,
101
+ },
102
+ AXPLayoutDetailsViewViewModel
103
+ ], template: "<axp-page-layout *translate=\"let t\">\n <!-- Content Section -->\n <axp-page-content class=\"ax-overflow-auto ax-flex ax-flex-row ax-gap-4\">\n <axp-widgets-container [context]=\"vm.context()\" (onContextChanged)=\"handleOnContextChanged($event)\">\n @for (group of vm.content(); track $index) {\n <ng-container axp-widget-renderer [node]=\"group\" [mode]=\"'edit'\"></ng-container>\n }\n </axp-widgets-container>\n </axp-page-content>\n\n <!-- Footer Section -->\n @if(vm.isDirty()) {\n <axp-page-footer class=\"--animated\">\n <axp-layout-suffix>\n <ax-button\n [class.ax-sm]=\"layoutService.isSmall()\"\n [disabled]=\"vm.isBusy() || vm.isSaving()\"\n [text]=\"t('discard') | async\"\n (onClick)=\"vm.discard()\"\n >\n </ax-button>\n <ax-button\n [class.ax-sm]=\"layoutService.isSmall()\"\n [disabled]=\"vm.isBusy() || vm.isSaving()\"\n [text]=\"t('apply') | async\"\n [color]=\"'secondary'\"\n (onClick)=\"vm.save()\"\n >\n @if(vm.isSaving()) {\n <ax-loading></ax-loading>\n }\n </ax-button>\n </axp-layout-suffix>\n </axp-page-footer>\n }\n</axp-page-layout>\n" }]
104
+ }] });
105
+
106
+ export { AXPLayoutDetailsViewComponent };
107
+ //# sourceMappingURL=acorex-platform-themes-default-details-view.component-CAa99Vts.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-themes-default-details-view.component-CAa99Vts.mjs","sources":["../../../../libs/platform/themes/default/src/lib/layouts/details-view/details-view.component.ts","../../../../libs/platform/themes/default/src/lib/layouts/details-view/details-view.component.html"],"sourcesContent":["import { Component, OnDestroy, OnInit, ViewEncapsulation, effect, inject, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXPLayoutBuilderModule, AXPLayoutContextChangeEvent } from '@acorex/platform/layout/builder';\nimport { AXMenuModule } from '@acorex/components/menu';\nimport { AXButtonGroupModule } from '@acorex/components/button-group';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';\nimport { AXBadgeModule } from '@acorex/components/badge';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXFormatModule } from '@acorex/core/format';\nimport { AXFileModule } from '@acorex/core/file';\nimport { AXDateTimeModule } from '@acorex/core/date-time';\nimport { AXPActionMenuItem, AXPExpressionEvaluatorScope, getSmart } from '@acorex/platform/core';\nimport { AXPBasePage, AXPBasePageComponent, AXPPageLayoutComponent } from '../base';\nimport { AXPThemeLayoutBlockComponent } from '@acorex/platform/themes/shared';\nimport { AXPLayoutDetailsViewAdapter, AXPLayoutDetailsViewViewModel } from '@acorex/platform/layout/views';\n\n\n\n@Component({\n templateUrl: './details-view.component.html',\n styleUrl: './details-view.component.scss',\n imports: [\n // Angular\n CommonModule,\n // ACoreX\n AXMenuModule,\n AXButtonModule,\n AXButtonGroupModule,\n AXDropdownButtonModule,\n AXDropdownModule,\n AXTranslationModule,\n AXDecoratorModule,\n AXLoadingModule,\n AXBreadcrumbsModule,\n AXBadgeModule,\n AXSearchBoxModule,\n AXFormatModule,\n AXFileModule,\n AXDateTimeModule,\n //\n AXPPageLayoutComponent,\n AXPThemeLayoutBlockComponent,\n AXPLayoutBuilderModule,\n ],\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: AXPBasePage,\n useExisting: AXPLayoutDetailsViewComponent,\n },\n AXPLayoutDetailsViewViewModel\n ],\n})\nexport class AXPLayoutDetailsViewComponent extends AXPBasePageComponent implements OnInit, OnDestroy {\n\n adapter = input.required<AXPLayoutDetailsViewAdapter>();\n //\n protected vm = inject(AXPLayoutDetailsViewViewModel);\n\n\n override async ngOnInit(): Promise<void> {\n await super.ngOnInit();\n //\n await this.vm.load(this.adapter());\n }\n\n ngOnDestroy(): void {\n\n }\n\n protected handleOnContextChanged(e: AXPLayoutContextChangeEvent) {\n this.vm.updateContext(e.data);\n this.recompute();\n }\n\n\n protected override async getPrimaryMenuItems(): Promise<AXPActionMenuItem[]> {\n return this.vm.primaryActions();\n }\n\n protected override async getSecondaryMenuItems(): Promise<AXPActionMenuItem[]> {\n return this.vm.secondaryActions();\n }\n\n protected override async getPageTitle(): Promise<string> {\n return this.vm.title();\n }\n\n override async getPageDescription(): Promise<string | null> {\n return this.vm.description() || null;\n }\n}\n","<axp-page-layout *translate=\"let t\">\n <!-- Content Section -->\n <axp-page-content class=\"ax-overflow-auto ax-flex ax-flex-row ax-gap-4\">\n <axp-widgets-container [context]=\"vm.context()\" (onContextChanged)=\"handleOnContextChanged($event)\">\n @for (group of vm.content(); track $index) {\n <ng-container axp-widget-renderer [node]=\"group\" [mode]=\"'edit'\"></ng-container>\n }\n </axp-widgets-container>\n </axp-page-content>\n\n <!-- Footer Section -->\n @if(vm.isDirty()) {\n <axp-page-footer class=\"--animated\">\n <axp-layout-suffix>\n <ax-button\n [class.ax-sm]=\"layoutService.isSmall()\"\n [disabled]=\"vm.isBusy() || vm.isSaving()\"\n [text]=\"t('discard') | async\"\n (onClick)=\"vm.discard()\"\n >\n </ax-button>\n <ax-button\n [class.ax-sm]=\"layoutService.isSmall()\"\n [disabled]=\"vm.isBusy() || vm.isSaving()\"\n [text]=\"t('apply') | async\"\n [color]=\"'secondary'\"\n (onClick)=\"vm.save()\"\n >\n @if(vm.isSaving()) {\n <ax-loading></ax-loading>\n }\n </ax-button>\n </axp-layout-suffix>\n </axp-page-footer>\n }\n</axp-page-layout>\n"],"names":["i2","i3","i4","i5"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { AXActionSheetModule } from '@acorex/components/action-sheet';
2
- import * as i8$2 from '@acorex/components/data-table';
2
+ import * as i8$1 from '@acorex/components/data-table';
3
3
  import { AXDataTableModule } from '@acorex/components/data-table';
4
4
  import { AXDrawerModule } from '@acorex/components/drawer';
5
5
  import * as i1$1 from '@acorex/core/platform';
@@ -21,7 +21,7 @@ import * as i6 from '@acorex/components/popover';
21
21
  import { AXPopoverModule } from '@acorex/components/popover';
22
22
  import * as i7 from '@acorex/components/search-box';
23
23
  import { AXSearchBoxModule } from '@acorex/components/search-box';
24
- import * as i8$1 from '@acorex/components/tabs';
24
+ import * as i4$4 from '@acorex/components/tabs';
25
25
  import { AXTabsModule } from '@acorex/components/tabs';
26
26
  import { AXTooltipModule } from '@acorex/components/tooltip';
27
27
  import * as i4$1 from '@acorex/core/translation';
@@ -130,7 +130,6 @@ class AXPEntityCategoryComponent {
130
130
  this.isLoading.set(false);
131
131
  }
132
132
  async handleCollapseChanged(e) {
133
- debugger;
134
133
  this.tree()?.setNodeLoading(e.data.id, true);
135
134
  const event = {
136
135
  ...this.basicQueryEvent,
@@ -557,7 +556,7 @@ class AXPEntityViewToolbarComponent {
557
556
  console.log(e);
558
557
  }
559
558
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPEntityViewToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
560
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPEntityViewToolbarComponent, isStandalone: true, selector: "axp-entity-view-toolbar", inputs: { vm: ["viewModel", "vm"] }, host: { classAttribute: "ax-w-full" }, viewQueries: [{ propertyName: "tabs", first: true, predicate: ["tabs"], descendants: true, isSignal: true }], ngImport: i0, template: "<ax-tabs #tabs [look]=\"'with-line'\" class=\"ax-font-semibold\">\n @for (item of vm.views(); track item.name) {\n <ax-tab-item\n (onClick)=\"vm.setView(item.name)\"\n [key]=\"item.name\"\n [text]=\"(item.title | translate | async) || 'item.title'\"\n >\n </ax-tab-item>\n }\n</ax-tabs>\n", styles: ["axp-layout-title{display:block;width:100%;font-weight:600}axp-layout-description{display:block;width:100%;font-size:.875rem;line-height:1.25rem;opacity:.65}axp-layout-actions{display:flex;align-items:center;gap:.75rem}axp-layout-actions axp-layout-actions-primary{display:flex;align-items:center;gap:.75rem}axp-layout-footer,axp-layout-toolbar,axp-layout-header,axp-page-header,axp-page-footer,axp-page-toolbar{display:flex;width:100%;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}axp-layout-footer>axp-layout-prefix,axp-layout-footer>axp-layout-suffix,axp-layout-toolbar>axp-layout-prefix,axp-layout-toolbar>axp-layout-suffix,axp-layout-header>axp-layout-prefix,axp-layout-header>axp-layout-suffix,axp-page-header>axp-layout-prefix,axp-page-header>axp-layout-suffix,axp-page-footer>axp-layout-prefix,axp-page-footer>axp-layout-suffix,axp-page-toolbar>axp-layout-prefix,axp-page-toolbar>axp-layout-suffix{display:flex;flex-direction:row;align-items:center;gap:.5rem}axp-layout-footer>axp-layout-prefix,axp-layout-toolbar>axp-layout-prefix,axp-layout-header>axp-layout-prefix,axp-page-header>axp-layout-prefix,axp-page-footer>axp-layout-prefix,axp-page-toolbar>axp-layout-prefix{order:-9999}axp-layout-footer>axp-layout-suffix,axp-layout-toolbar>axp-layout-suffix,axp-layout-header>axp-layout-suffix,axp-page-header>axp-layout-suffix,axp-page-footer>axp-layout-suffix,axp-page-toolbar>axp-layout-suffix{order:9999;margin-inline-start:auto}.axp-list-items{display:flex;min-width:10rem;flex-direction:column;border-radius:.375rem;border-width:1px;padding-top:1rem;padding-bottom:1rem;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}.axp-list-items>div{min-width:7rem;cursor:pointer;padding:.5rem 1rem;text-align:start}.axp-list-items>div:focus{outline:none}.axp-list-items>div.axp-state-focused,.axp-list-items>div:hover{background-color:rgb(var(--ax-sys-color-surface));color:rgb(var(--ax-sys-color-on-surface));border-color:rgb(var(--ax-sys-color-border-surface))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXButtonModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i4$1.AXTranslatorPipe, name: "translate" }, { kind: "ngmodule", type: AXTextBoxModule }, { kind: "ngmodule", type: AXTabsModule }, { kind: "component", type: i8$1.AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged"] }, { kind: "component", type: i8$1.AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
559
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPEntityViewToolbarComponent, isStandalone: true, selector: "axp-entity-view-toolbar", inputs: { vm: ["viewModel", "vm"] }, host: { classAttribute: "ax-w-full" }, viewQueries: [{ propertyName: "tabs", first: true, predicate: ["tabs"], descendants: true, isSignal: true }], ngImport: i0, template: "<ax-tabs #tabs [look]=\"'with-line'\" class=\"ax-font-semibold\">\n @for (item of vm.views(); track item.name) {\n <ax-tab-item\n (onClick)=\"vm.setView(item.name)\"\n [key]=\"item.name\"\n [text]=\"(item.title | translate | async) || 'item.title'\"\n >\n </ax-tab-item>\n }\n</ax-tabs>\n", styles: ["axp-layout-title{display:block;width:100%;font-weight:600}axp-layout-description{display:block;width:100%;font-size:.875rem;line-height:1.25rem;opacity:.65}axp-layout-actions{display:flex;align-items:center;gap:.75rem}axp-layout-actions axp-layout-actions-primary{display:flex;align-items:center;gap:.75rem}axp-layout-footer,axp-layout-toolbar,axp-layout-header,axp-page-header,axp-page-footer,axp-page-toolbar{display:flex;width:100%;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}axp-layout-footer>axp-layout-prefix,axp-layout-footer>axp-layout-suffix,axp-layout-toolbar>axp-layout-prefix,axp-layout-toolbar>axp-layout-suffix,axp-layout-header>axp-layout-prefix,axp-layout-header>axp-layout-suffix,axp-page-header>axp-layout-prefix,axp-page-header>axp-layout-suffix,axp-page-footer>axp-layout-prefix,axp-page-footer>axp-layout-suffix,axp-page-toolbar>axp-layout-prefix,axp-page-toolbar>axp-layout-suffix{display:flex;flex-direction:row;align-items:center;gap:.5rem}axp-layout-footer>axp-layout-prefix,axp-layout-toolbar>axp-layout-prefix,axp-layout-header>axp-layout-prefix,axp-page-header>axp-layout-prefix,axp-page-footer>axp-layout-prefix,axp-page-toolbar>axp-layout-prefix{order:-9999}axp-layout-footer>axp-layout-suffix,axp-layout-toolbar>axp-layout-suffix,axp-layout-header>axp-layout-suffix,axp-page-header>axp-layout-suffix,axp-page-footer>axp-layout-suffix,axp-page-toolbar>axp-layout-suffix{order:9999;margin-inline-start:auto}.axp-list-items{display:flex;min-width:10rem;flex-direction:column;border-radius:.375rem;border-width:1px;padding-top:1rem;padding-bottom:1rem;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}.axp-list-items>div{min-width:7rem;cursor:pointer;padding:.5rem 1rem;text-align:start}.axp-list-items>div:focus{outline:none}.axp-list-items>div.axp-state-focused,.axp-list-items>div:hover{background-color:rgb(var(--ax-sys-color-surface));color:rgb(var(--ax-sys-color-on-surface));border-color:rgb(var(--ax-sys-color-border-surface))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXButtonModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i4$1.AXTranslatorPipe, name: "translate" }, { kind: "ngmodule", type: AXTextBoxModule }, { kind: "ngmodule", type: AXTabsModule }, { kind: "component", type: i4$4.AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged"] }, { kind: "component", type: i4$4.AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
561
560
  }
562
561
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPEntityViewToolbarComponent, decorators: [{
563
562
  type: Component,
@@ -807,7 +806,7 @@ class AXPEntityMasterListViewComponent extends AXPBasePageComponent {
807
806
  provide: AXPBasePage,
808
807
  useExisting: AXPEntityMasterListViewComponent,
809
808
  },
810
- ], viewQueries: [{ propertyName: "grid", first: true, predicate: ["grid"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<axp-page-layout *translate=\"let t\">\n @if(vm.entityDef.category){\n <axp-layout-start-side>\n <axp-entity-category class=\"ax-w-80\" [vm]=\"vm\" [searchValue]=\"categorySearchValue()\"></axp-entity-category>\n </axp-layout-start-side>\n }\n <axp-page-toolbar>\n <axp-entity-master-toolbar-view [viewModel]=\"vm\"></axp-entity-master-toolbar-view>\n </axp-page-toolbar>\n <axp-page-content>\n <ax-data-table\n #grid\n [showFooter]=\"false\"\n class=\"ax-flex-1\"\n [paging]=\"true\"\n [fetchDataMode]=\"'manual'\"\n [parentField]=\"vm.parentKey()\"\n [loading]=\"{ enabled: true, animation: true }\"\n [dataSource]=\"vm.dataSource\"\n (selectedRowsChange)=\"handleSelectedRowsChange($event)\"\n (onRowDbClick)=\"handleRowDbClick($event)\"\n (onColumnSizeChanged)=\"onColumnSizeChanged($event)\"\n (onPageChanged)=\"onPageChanged($event)\"\n >\n @if(vm.view().indexCol === true){\n <ax-index-column fixed=\"start\" [width]=\"'80px'\" [padZero]=\"true\"></ax-index-column>\n } @if(vm.selectedScopeActionsCount()){\n <ax-select-column fixed=\"start\" [width]=\"'60px'\"></ax-select-column>\n } @for(col of vm.columns();track col.name) { @if(col.visible) {\n <axp-widget-column-renderer\n [expandHandler]=\"$index === 0 && vm.parentKey() ? true : false\"\n [caption]=\"(col.title | translate | async)!\"\n [node]=\"col.node()\"\n [customWidth]=\"col.width\"\n ></axp-widget-column-renderer>\n } } @if(getCommandRowItems().length){\n <ax-command-column\n fixed=\"end\"\n [width]=\"getCommandRowItems().length * 60 + 'px'\"\n [items]=\"getCommandRowItems()\"\n (onItemClick)=\"handleRowCommandClick($event)\"\n ></ax-command-column>\n }\n <ax-dropdown-command-column\n fixed=\"end\"\n [width]=\"'60px'\"\n [items]=\"getDropdownRowItems\"\n (onItemClick)=\"handleRowCommandClick($event)\"\n ></ax-dropdown-command-column>\n </ax-data-table>\n </axp-page-content>\n</axp-page-layout>\n", styles: ["axp-entity-master-list axp-layout-start-side{min-width:20rem!important;border-inline-end-width:1px;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}.cdk-drag-preview{border-radius:.375rem;border-width:1px;--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background:rgba(var(--ax-color-on-surface));padding:.5rem;height:max-content!important}.collapsed-search-box{margin-top:0;height:0px;opacity:0}.view-drawer{width:85vw}@media (min-width: 768px){.view-drawer{width:45vw}}@media (min-width: 1024px){.view-drawer{width:35vw}}@media (min-width: 1536px){.view-drawer{width:20vw}}.view-drawer{--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-lightest-surface),var(--tw-bg-opacity, 1));border-inline-start-width:1px;border-inline-start-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity, 1));border-top-width:1px;--tw-border-opacity: 1;border-top-color:rgba(var(--ax-sys-color-primary-600),var(--tw-border-opacity, 1))}.view-drawer ax-header{display:flex;align-items:center;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-lighter-surface),var(--tw-bg-opacity, 1));padding:.5rem 1rem}.view-drawer ax-header h2{font-size:1.25rem;line-height:1.75rem;font-weight:700;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-on-lighter-surface),var(--tw-text-opacity, 1))}.view-drawer ax-footer{position:absolute!important;bottom:0!important;width:100%!important;justify-content:flex-start!important;border-top-width:1px!important;--tw-border-opacity: 1 !important;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity, 1))!important;padding:.5rem 1rem!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "ngmodule", type: AXActionSheetModule }, { kind: "ngmodule", type: AXDrawerModule }, { kind: "ngmodule", type: AXDialogModule }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "ngmodule", type: AXTabsModule }, { kind: "ngmodule", type: AXTooltipModule }, { kind: "ngmodule", type: AXBreadcrumbsModule }, { kind: "ngmodule", type: AXDropdownButtonModule }, { kind: "ngmodule", type: AXSearchBoxModule }, { kind: "ngmodule", type: AXDataTableModule }, { kind: "component", type: i8$2.AXDataTableComponent, selector: "ax-data-table", inputs: ["dataSource", "parentField", "rowTemplate", "emptyTemplate", "alternative", "showHeader", "fixedHeader", "showFooter", "fixedFooter", "itemHeight", "allowReordering", "paging", "fetchDataMode", "loading", "focusedRow"], outputs: ["selectedRowsChange", "focusedRowChange", "onRowClick", "onRowDbClick", "onColumnsOrderChanged", "onColumnSizeChanged", "onPageChanged"] }, { kind: "component", type: i8$2.AXRowIndexColumnComponent, selector: "ax-index-column", inputs: ["width", "caption", "fixed", "footerTemplate", "padZero"] }, { kind: "component", type: i8$2.AXRowSelectColumnComponent, selector: "ax-select-column", inputs: ["width", "caption", "fixed"] }, { kind: "component", type: i8$2.AXRowCommandColumnComponent, selector: "ax-command-column", inputs: ["width", "caption", "fixed", "footerTemplate", "items"], outputs: ["onItemClick"] }, { kind: "component", type: i8$2.AXRowDropdownCommandColumnComponent, selector: "ax-dropdown-command-column", inputs: ["width", "caption", "fixed", "footerTemplate", "items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i4$1.AXTranslatorPipe, name: "translate" }, { kind: "directive", type: i4$1.AXTranslatorDirective, selector: "[translate]" }, { kind: "ngmodule", type: DragDropModule }, { kind: "ngmodule", type:
809
+ ], viewQueries: [{ propertyName: "grid", first: true, predicate: ["grid"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<axp-page-layout *translate=\"let t\">\n @if(vm.entityDef.category){\n <axp-layout-start-side>\n <axp-entity-category class=\"ax-w-80\" [vm]=\"vm\" [searchValue]=\"categorySearchValue()\"></axp-entity-category>\n </axp-layout-start-side>\n }\n <axp-page-toolbar>\n <axp-entity-master-toolbar-view [viewModel]=\"vm\"></axp-entity-master-toolbar-view>\n </axp-page-toolbar>\n <axp-page-content>\n <ax-data-table\n #grid\n [showFooter]=\"false\"\n class=\"ax-flex-1\"\n [paging]=\"true\"\n [fetchDataMode]=\"'manual'\"\n [parentField]=\"vm.parentKey()\"\n [loading]=\"{ enabled: true, animation: true }\"\n [dataSource]=\"vm.dataSource\"\n (selectedRowsChange)=\"handleSelectedRowsChange($event)\"\n (onRowDbClick)=\"handleRowDbClick($event)\"\n (onColumnSizeChanged)=\"onColumnSizeChanged($event)\"\n (onPageChanged)=\"onPageChanged($event)\"\n >\n @if(vm.view().indexCol === true){\n <ax-index-column fixed=\"start\" [width]=\"'80px'\" [padZero]=\"true\"></ax-index-column>\n } @if(vm.selectedScopeActionsCount()){\n <ax-select-column fixed=\"start\" [width]=\"'60px'\"></ax-select-column>\n } @for(col of vm.columns();track col.name) { @if(col.visible) {\n <axp-widget-column-renderer\n [expandHandler]=\"$index === 0 && vm.parentKey() ? true : false\"\n [caption]=\"(col.title | translate | async)!\"\n [node]=\"col.node()\"\n [customWidth]=\"col.width\"\n ></axp-widget-column-renderer>\n } } @if(getCommandRowItems().length){\n <ax-command-column\n fixed=\"end\"\n [width]=\"getCommandRowItems().length * 60 + 'px'\"\n [items]=\"getCommandRowItems()\"\n (onItemClick)=\"handleRowCommandClick($event)\"\n ></ax-command-column>\n }\n <ax-dropdown-command-column\n fixed=\"end\"\n [width]=\"'60px'\"\n [items]=\"getDropdownRowItems\"\n (onItemClick)=\"handleRowCommandClick($event)\"\n ></ax-dropdown-command-column>\n </ax-data-table>\n </axp-page-content>\n</axp-page-layout>\n", styles: ["axp-entity-master-list axp-layout-start-side{min-width:20rem!important;border-inline-end-width:1px;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}.cdk-drag-preview{border-radius:.375rem;border-width:1px;--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background:rgba(var(--ax-color-on-surface));padding:.5rem;height:max-content!important}.collapsed-search-box{margin-top:0;height:0px;opacity:0}.view-drawer{width:85vw}@media (min-width: 768px){.view-drawer{width:45vw}}@media (min-width: 1024px){.view-drawer{width:35vw}}@media (min-width: 1536px){.view-drawer{width:20vw}}.view-drawer{--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-lightest-surface),var(--tw-bg-opacity, 1));border-inline-start-width:1px;border-inline-start-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity, 1));border-top-width:1px;--tw-border-opacity: 1;border-top-color:rgba(var(--ax-sys-color-primary-600),var(--tw-border-opacity, 1))}.view-drawer ax-header{display:flex;align-items:center;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-lighter-surface),var(--tw-bg-opacity, 1));padding:.5rem 1rem}.view-drawer ax-header h2{font-size:1.25rem;line-height:1.75rem;font-weight:700;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-on-lighter-surface),var(--tw-text-opacity, 1))}.view-drawer ax-footer{position:absolute!important;bottom:0!important;width:100%!important;justify-content:flex-start!important;border-top-width:1px!important;--tw-border-opacity: 1 !important;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity, 1))!important;padding:.5rem 1rem!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "ngmodule", type: AXActionSheetModule }, { kind: "ngmodule", type: AXDrawerModule }, { kind: "ngmodule", type: AXDialogModule }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "ngmodule", type: AXTabsModule }, { kind: "ngmodule", type: AXTooltipModule }, { kind: "ngmodule", type: AXBreadcrumbsModule }, { kind: "ngmodule", type: AXDropdownButtonModule }, { kind: "ngmodule", type: AXSearchBoxModule }, { kind: "ngmodule", type: AXDataTableModule }, { kind: "component", type: i8$1.AXDataTableComponent, selector: "ax-data-table", inputs: ["dataSource", "parentField", "rowTemplate", "emptyTemplate", "alternative", "showHeader", "fixedHeader", "showFooter", "fixedFooter", "itemHeight", "allowReordering", "paging", "fetchDataMode", "loading", "focusedRow"], outputs: ["selectedRowsChange", "focusedRowChange", "onRowClick", "onRowDbClick", "onColumnsOrderChanged", "onColumnSizeChanged", "onPageChanged"] }, { kind: "component", type: i8$1.AXRowIndexColumnComponent, selector: "ax-index-column", inputs: ["width", "caption", "fixed", "footerTemplate", "padZero"] }, { kind: "component", type: i8$1.AXRowSelectColumnComponent, selector: "ax-select-column", inputs: ["width", "caption", "fixed"] }, { kind: "component", type: i8$1.AXRowCommandColumnComponent, selector: "ax-command-column", inputs: ["width", "caption", "fixed", "footerTemplate", "items"], outputs: ["onItemClick"] }, { kind: "component", type: i8$1.AXRowDropdownCommandColumnComponent, selector: "ax-dropdown-command-column", inputs: ["width", "caption", "fixed", "footerTemplate", "items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i4$1.AXTranslatorPipe, name: "translate" }, { kind: "directive", type: i4$1.AXTranslatorDirective, selector: "[translate]" }, { kind: "ngmodule", type: DragDropModule }, { kind: "ngmodule", type:
811
810
  //
812
811
  AXPLayoutBuilderModule }, { kind: "component", type: i8.AXPWidgetColumnRendererComponent, selector: "axp-widget-column-renderer", inputs: ["caption", "customExpandIcon", "customCollapseIcon", "customWidth", "node", "footerTemplate", "expandHandler", "cellTemplate", "headerTemplate"] }, { kind: "ngmodule", type: AXPWidgetsModule }, { kind: "ngmodule", type: AXPAuthModule }, { kind: "component", type:
813
812
  //
@@ -860,4 +859,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
860
859
  }], ctorParameters: () => [{ type: i1$1.AXPlatform }] });
861
860
 
862
861
  export { AXPEntityMasterListViewComponent };
863
- //# sourceMappingURL=acorex-platform-themes-default-entity-master-list-view.component-Ol8haGqF.mjs.map
862
+ //# sourceMappingURL=acorex-platform-themes-default-entity-master-list-view.component-BgE6rxsd.mjs.map