@acorex/platform 21.0.0-next.5 → 21.0.0-next.50

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 (124) hide show
  1. package/fesm2022/acorex-platform-auth.mjs +281 -23
  2. package/fesm2022/acorex-platform-auth.mjs.map +1 -1
  3. package/fesm2022/acorex-platform-common-common-settings.provider-Bi1RYif5.mjs +163 -0
  4. package/fesm2022/acorex-platform-common-common-settings.provider-Bi1RYif5.mjs.map +1 -0
  5. package/fesm2022/acorex-platform-common.mjs +1047 -263
  6. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  7. package/fesm2022/acorex-platform-core.mjs +1138 -510
  8. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  9. package/fesm2022/acorex-platform-domain.mjs +557 -826
  10. package/fesm2022/acorex-platform-domain.mjs.map +1 -1
  11. package/fesm2022/acorex-platform-layout-builder.mjs +804 -186
  12. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  13. package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-CXEdvDTf.mjs +121 -0
  14. package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-CXEdvDTf.mjs.map +1 -0
  15. package/fesm2022/acorex-platform-layout-components.mjs +6208 -2344
  16. package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
  17. package/fesm2022/acorex-platform-layout-designer.mjs +456 -204
  18. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  19. package/fesm2022/acorex-platform-layout-entity.mjs +18632 -10286
  20. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  21. package/fesm2022/acorex-platform-layout-views.mjs +538 -168
  22. package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
  23. package/fesm2022/acorex-platform-layout-widget-core.mjs +720 -456
  24. package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
  25. package/fesm2022/{acorex-platform-layout-widgets-button-widget-designer.component-C3VoBb_b.mjs → acorex-platform-layout-widgets-button-widget-designer.component-Dy7jF-oD.mjs} +10 -10
  26. package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-Dy7jF-oD.mjs.map +1 -0
  27. package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-CDYAGBku.mjs +103 -0
  28. package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-CDYAGBku.mjs.map +1 -0
  29. package/fesm2022/{acorex-platform-layout-widgets-image-preview.popup-V31OpYah.mjs → acorex-platform-layout-widgets-image-preview.popup-C_EPAvCU.mjs} +6 -7
  30. package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-C_EPAvCU.mjs.map +1 -0
  31. package/fesm2022/{acorex-platform-layout-widgets-page-widget-designer.component-BtZMBxYp.mjs → acorex-platform-layout-widgets-page-widget-designer.component-D10yO28c.mjs} +12 -12
  32. package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-D10yO28c.mjs.map +1 -0
  33. package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-BGO75IMz.mjs +116 -0
  34. package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-BGO75IMz.mjs.map +1 -0
  35. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-edit-popup.component-Ck7-wpT2.mjs → acorex-platform-layout-widgets-tabular-data-edit-popup.component-DmzNTYiS.mjs} +6 -6
  36. package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-DmzNTYiS.mjs.map +1 -0
  37. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-view-popup.component-y8vjUiVs.mjs → acorex-platform-layout-widgets-tabular-data-view-popup.component-BNG_588B.mjs} +5 -5
  38. package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-BNG_588B.mjs.map +1 -0
  39. package/fesm2022/{acorex-platform-layout-widgets-text-block-widget-designer.component-Df1BFkSa.mjs → acorex-platform-layout-widgets-text-block-widget-designer.component-Vo4fWHtX.mjs} +6 -6
  40. package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-Vo4fWHtX.mjs.map +1 -0
  41. package/fesm2022/acorex-platform-layout-widgets.mjs +8728 -4269
  42. package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
  43. package/fesm2022/acorex-platform-native.mjs +8 -7
  44. package/fesm2022/acorex-platform-native.mjs.map +1 -1
  45. package/fesm2022/acorex-platform-runtime.mjs +391 -166
  46. package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
  47. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cx1lLUaR.mjs +160 -0
  48. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cx1lLUaR.mjs.map +1 -0
  49. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-AOrcgjDF.mjs +120 -0
  50. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-AOrcgjDF.mjs.map +1 -0
  51. package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-eMBby9k4.mjs → acorex-platform-themes-default-entity-master-single-view.component-BfCeUU5F.mjs} +19 -26
  52. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-BfCeUU5F.mjs.map +1 -0
  53. package/fesm2022/{acorex-platform-themes-default-error-401.component-cfREo88K.mjs → acorex-platform-themes-default-error-401.component-C7EYJzSr.mjs} +4 -4
  54. package/fesm2022/acorex-platform-themes-default-error-401.component-C7EYJzSr.mjs.map +1 -0
  55. package/fesm2022/{acorex-platform-themes-default-error-404.component-CdCV5ZoA.mjs → acorex-platform-themes-default-error-404.component-7MVLMwIa.mjs} +4 -4
  56. package/fesm2022/acorex-platform-themes-default-error-404.component-7MVLMwIa.mjs.map +1 -0
  57. package/fesm2022/acorex-platform-themes-default-error-offline.component-DR6G8gPC.mjs +19 -0
  58. package/fesm2022/acorex-platform-themes-default-error-offline.component-DR6G8gPC.mjs.map +1 -0
  59. package/fesm2022/acorex-platform-themes-default.mjs +1836 -67
  60. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  61. package/fesm2022/{acorex-platform-themes-shared-icon-chooser-column.component-C0EpfU2k.mjs → acorex-platform-themes-shared-icon-chooser-column.component-CqkWJYdv.mjs} +6 -6
  62. package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-CqkWJYdv.mjs.map +1 -0
  63. package/fesm2022/{acorex-platform-themes-shared-icon-chooser-view.component-9W52W6Nu.mjs → acorex-platform-themes-shared-icon-chooser-view.component-BOTuLdWN.mjs} +6 -6
  64. package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-BOTuLdWN.mjs.map +1 -0
  65. package/fesm2022/{acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs → acorex-platform-themes-shared-settings.provider-DK6R87Lf.mjs} +24 -25
  66. package/fesm2022/acorex-platform-themes-shared-settings.provider-DK6R87Lf.mjs.map +1 -0
  67. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-D566Kdvy.mjs +94 -0
  68. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-D566Kdvy.mjs.map +1 -0
  69. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-D7-rCGl7.mjs +86 -0
  70. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-D7-rCGl7.mjs.map +1 -0
  71. package/fesm2022/acorex-platform-themes-shared.mjs +674 -573
  72. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  73. package/fesm2022/acorex-platform-workflow.mjs +1715 -535
  74. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  75. package/fesm2022/acorex-platform.mjs.map +1 -1
  76. package/package.json +37 -37
  77. package/{auth/index.d.ts → types/acorex-platform-auth.d.ts} +241 -4
  78. package/{common/index.d.ts → types/acorex-platform-common.d.ts} +598 -80
  79. package/{core/index.d.ts → types/acorex-platform-core.d.ts} +595 -132
  80. package/{domain/index.d.ts → types/acorex-platform-domain.d.ts} +744 -412
  81. package/{layout/builder/index.d.ts → types/acorex-platform-layout-builder.d.ts} +193 -48
  82. package/types/acorex-platform-layout-components.d.ts +2979 -0
  83. package/{layout/designer/index.d.ts → types/acorex-platform-layout-designer.d.ts} +96 -18
  84. package/{layout/entity/index.d.ts → types/acorex-platform-layout-entity.d.ts} +1601 -261
  85. package/{layout/views/index.d.ts → types/acorex-platform-layout-views.d.ts} +116 -55
  86. package/{layout/widget-core/index.d.ts → types/acorex-platform-layout-widget-core.d.ts} +272 -124
  87. package/{layout/widgets/index.d.ts → types/acorex-platform-layout-widgets.d.ts} +1055 -157
  88. package/{native/index.d.ts → types/acorex-platform-native.d.ts} +0 -7
  89. package/types/acorex-platform-runtime.d.ts +571 -0
  90. package/{themes/default/index.d.ts → types/acorex-platform-themes-default.d.ts} +122 -5
  91. package/{themes/shared/index.d.ts → types/acorex-platform-themes-shared.d.ts} +1 -1
  92. package/types/acorex-platform-workflow.d.ts +1884 -0
  93. package/fesm2022/acorex-platform-common-common-settings.provider-zhqNP3xb.mjs +0 -71
  94. package/fesm2022/acorex-platform-common-common-settings.provider-zhqNP3xb.mjs.map +0 -1
  95. package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-C3VoBb_b.mjs.map +0 -1
  96. package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-CxrsI6Hn.mjs +0 -135
  97. package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-CxrsI6Hn.mjs.map +0 -1
  98. package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-V31OpYah.mjs.map +0 -1
  99. package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-BtZMBxYp.mjs.map +0 -1
  100. package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-Ck7-wpT2.mjs.map +0 -1
  101. package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-y8vjUiVs.mjs.map +0 -1
  102. package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-Df1BFkSa.mjs.map +0 -1
  103. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-VIGuU5M4.mjs +0 -157
  104. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-VIGuU5M4.mjs.map +0 -1
  105. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DyDa_hyd.mjs +0 -1542
  106. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DyDa_hyd.mjs.map +0 -1
  107. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Ua3ZA5hk.mjs +0 -101
  108. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Ua3ZA5hk.mjs.map +0 -1
  109. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-eMBby9k4.mjs.map +0 -1
  110. package/fesm2022/acorex-platform-themes-default-error-401.component-cfREo88K.mjs.map +0 -1
  111. package/fesm2022/acorex-platform-themes-default-error-404.component-CdCV5ZoA.mjs.map +0 -1
  112. package/fesm2022/acorex-platform-themes-default-error-offline.component-E7SzBcAt.mjs +0 -19
  113. package/fesm2022/acorex-platform-themes-default-error-offline.component-E7SzBcAt.mjs.map +0 -1
  114. package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-C0EpfU2k.mjs.map +0 -1
  115. package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-9W52W6Nu.mjs.map +0 -1
  116. package/fesm2022/acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs.map +0 -1
  117. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-DTnfRy5f.mjs +0 -65
  118. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-DTnfRy5f.mjs.map +0 -1
  119. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-DY0JtT1v.mjs +0 -64
  120. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-DY0JtT1v.mjs.map +0 -1
  121. package/layout/components/index.d.ts +0 -1669
  122. package/runtime/index.d.ts +0 -307
  123. package/workflow/index.d.ts +0 -1808
  124. /package/{index.d.ts → types/acorex-platform.d.ts} +0 -0
@@ -6,19 +6,20 @@ import { AXClickEvent } from '@acorex/cdk/common';
6
6
  import * as i1 from '@acorex/cdk/drawer';
7
7
  import { AXDrawerItemDirective } from '@acorex/cdk/drawer';
8
8
  import * as _acorex_platform_core from '@acorex/platform/core';
9
- import { AXPActionMenuItem, AXPBreadcrumbItem, AXPBadge, AXPBackButton, AXPExecuteCommand, AXPDeviceService, AXPExecuteCommandResult, AXPExpressionEvaluatorScope, AXPBroadcastEventService } from '@acorex/platform/core';
9
+ import { AXPActionMenuItem, AXPBreadcrumbItem, AXPMultiLanguageString, AXPBadge, AXPPageStatus, AXPBackButton, AXPExecuteCommand, AXPDeviceService, AXPExecuteCommandResult, AXPExpressionEvaluatorScope, AXPBroadcastEventService, AXPContextChangeEvent } from '@acorex/platform/core';
10
10
  import { AXPCommandService, AXPPolicyEngineService } from '@acorex/platform/runtime';
11
11
  import { AXPWorkflowService } from '@acorex/platform/workflow';
12
+ import * as _acorex_core_translation from '@acorex/core/translation';
13
+ import { AXTranslationService } from '@acorex/core/translation';
12
14
  import { AXToastService } from '@acorex/components/toast';
13
15
  import { AXFormatService } from '@acorex/core/format';
14
- import { AXTranslationService } from '@acorex/core/translation';
15
16
  import { AXPSessionService } from '@acorex/platform/auth';
16
17
  import { AXPHomePageService } from '@acorex/platform/common';
17
18
  import { AXBasePageComponent } from '@acorex/components/page';
18
19
  import * as _acorex_platform_layout_widget_core from '@acorex/platform/layout/widget-core';
19
- import { AXPWidgetNode, AXPPageStatus, AXPWidgetContainerComponent, AXPWidgetCoreContextChangeEvent } from '@acorex/platform/layout/widget-core';
20
- import { AXFormComponent } from '@acorex/components/form';
20
+ import { AXPWidgetNode, AXPPageStatus as AXPPageStatus$1, AXPWidgetContainerComponent } from '@acorex/platform/layout/widget-core';
21
21
  import * as _acorex_platform_layout_views from '@acorex/platform/layout/views';
22
+ import { AXFormComponent } from '@acorex/components/form';
22
23
  import { Router, ActivatedRoute } from '@angular/router';
23
24
 
24
25
  declare abstract class AXPPageLayoutBase {
@@ -30,15 +31,19 @@ declare abstract class AXPPageLayoutBase {
30
31
  abstract hasSecondaryActions: Signal<boolean>;
31
32
  abstract hasActions: Signal<boolean>;
32
33
  abstract breadcrumbs: Signal<AXPBreadcrumbItem[]>;
33
- abstract title: Signal<string>;
34
+ abstract title: Signal<AXPMultiLanguageString>;
35
+ abstract titleIcon: Signal<string | null>;
34
36
  abstract hasTitle: Signal<boolean>;
37
+ abstract hasTitleIcon: Signal<boolean>;
35
38
  abstract hasDescription: Signal<boolean>;
36
- abstract description: Signal<string>;
39
+ abstract description: Signal<AXPMultiLanguageString | null>;
37
40
  abstract hasBreadcrumbs: Signal<boolean>;
38
41
  abstract hasBadge: Signal<boolean>;
39
42
  abstract badge: Signal<AXPBadge | null>;
43
+ abstract hasStatus: Signal<boolean>;
44
+ abstract status: Signal<AXPPageStatus | null>;
40
45
  abstract hasBackButton: Signal<boolean>;
41
- abstract backButton: Signal<AXPBackButton>;
46
+ abstract backButton: Signal<AXPBackButton | null>;
42
47
  abstract onBackButtonClick: () => void | Promise<void>;
43
48
  abstract startSideToggle: () => void | Promise<void>;
44
49
  abstract execute: (command: AXPExecuteCommand) => void | Promise<void>;
@@ -106,11 +111,13 @@ declare class AXPPageLayoutComponent {
106
111
  protected handleBackdropClick(e: AXClickEvent): boolean;
107
112
  protected execute(command: AXPExecuteCommand): Promise<void>;
108
113
  protected handleOnBackdropClick(event: MouseEvent): void;
114
+ protected getEntityData(): Record<string, any> | null;
115
+ protected handleStatusTransition(transition: any): Promise<void>;
109
116
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPPageLayoutComponent, never>;
110
117
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPPageLayoutComponent, "axp-page-layout", never, {}, {}, never, ["axp-layout-start-side", "axp-page-toolbar", "axp-page-content", "axp-page-footer"], true, [{ directive: typeof i1.AXDrawerContainerDirective; inputs: {}; outputs: {}; }]>;
111
118
  }
112
119
 
113
- declare abstract class AXPPageLayoutBaseComponent {
120
+ declare abstract class AXPPageLayoutBaseComponent implements AXPPageLayoutBase {
114
121
  #private;
115
122
  protected readonly layoutService: {
116
123
  currentMode: _angular_core.Signal<_acorex_platform_themes_shared.AXPThemeMode>;
@@ -170,29 +177,35 @@ declare abstract class AXPPageLayoutBaseComponent {
170
177
  protected updateTrigger: _angular_core.Signal<number>;
171
178
  protected recompute(): void;
172
179
  ngOnInit(): Promise<void>;
173
- protected title: _angular_core.WritableSignal<string>;
174
- protected getPageTitle(): string | Promise<string>;
175
- private hasTitle;
176
- private description;
177
- private hasDescription;
178
- protected getPageDescription(): string | null | Promise<string | null>;
180
+ title: _angular_core.WritableSignal<_acorex_core_translation.AXMultiLanguageString>;
181
+ titleIcon: _angular_core.WritableSignal<string | null>;
182
+ protected getPageTitle(): AXPMultiLanguageString | Promise<AXPMultiLanguageString>;
183
+ protected getPageIcon(): string | null | Promise<string | null>;
184
+ hasTitle: _angular_core.Signal<boolean>;
185
+ hasTitleIcon: _angular_core.Signal<boolean>;
186
+ description: _angular_core.WritableSignal<_acorex_core_translation.AXMultiLanguageString | null>;
187
+ hasDescription: _angular_core.Signal<boolean>;
188
+ protected getPageDescription(): AXPMultiLanguageString | null | Promise<AXPMultiLanguageString | null>;
179
189
  private defaultBreadCrumbs;
180
- private breadcrumbs;
181
- private hasBreadcrumbs;
190
+ breadcrumbs: _angular_core.WritableSignal<AXPBreadcrumbItem[]>;
191
+ hasBreadcrumbs: _angular_core.Signal<boolean>;
182
192
  protected getPageBreadcrumbs(): AXPBreadcrumbItem[] | Promise<AXPBreadcrumbItem[]>;
183
- private badge;
184
- private hasBadge;
193
+ badge: _angular_core.WritableSignal<AXPBadge | null>;
194
+ hasBadge: _angular_core.Signal<boolean>;
185
195
  protected getPageBadge(): AXPBadge | null | Promise<AXPBadge | null>;
196
+ status: _angular_core.WritableSignal<AXPPageStatus | null>;
197
+ hasStatus: _angular_core.Signal<boolean>;
198
+ protected getPageStatus(): AXPPageStatus | null | Promise<AXPPageStatus | null>;
186
199
  protected layout: _angular_core.Signal<AXPPageLayoutComponent | undefined>;
187
200
  protected toggleEndSide(): void;
188
201
  protected toggleStartSide(): void;
189
202
  primaryMenuItems: _angular_core.WritableSignal<AXPActionMenuItem[]>;
190
203
  hasPrimaryActions: _angular_core.Signal<boolean>;
191
- protected getPrimaryMenuItems(): AXPActionMenuItem[] | Promise<AXPActionMenuItem[]>;
204
+ getPrimaryMenuItems(): AXPActionMenuItem[] | Promise<AXPActionMenuItem[]>;
192
205
  secondaryMenuItems: _angular_core.WritableSignal<AXPActionMenuItem[]>;
193
206
  hasSecondaryActions: _angular_core.Signal<boolean>;
194
207
  hasActions: _angular_core.Signal<boolean>;
195
- protected getSecondaryMenuItems(): AXPActionMenuItem[] | Promise<AXPActionMenuItem[]>;
208
+ getSecondaryMenuItems(): AXPActionMenuItem[] | Promise<AXPActionMenuItem[]>;
196
209
  titleActions: _angular_core.WritableSignal<AXPActionMenuItem[]>;
197
210
  hasTitleActions: _angular_core.Signal<boolean>;
198
211
  protected getTitleActions(): AXPActionMenuItem[] | Promise<AXPActionMenuItem[]>;
@@ -361,6 +374,11 @@ interface AXPLayoutDetailsViewAction extends AXPActionMenuItem {
361
374
  zone: 'header' | 'footer';
362
375
  priority: 'primary' | 'secondary';
363
376
  }
377
+ type AXPPageContentItem = AXPWidgetNode | {
378
+ type: 'component';
379
+ componentKey: string;
380
+ pageConfig?: Record<string, unknown>;
381
+ };
364
382
  interface AXPLayoutDetailsViewTabItem {
365
383
  id: string;
366
384
  title: string;
@@ -372,25 +390,37 @@ interface AXPLayoutDetailsViewTabItem {
372
390
  }
373
391
  interface AXPLayoutDetailsViewPage {
374
392
  id: string;
375
- title: string;
376
- label: string;
377
- description?: string;
393
+ title: AXPMultiLanguageString;
394
+ label: AXPMultiLanguageString;
395
+ description?: AXPMultiLanguageString;
378
396
  icon?: string;
379
- content?: AXPWidgetNode[];
397
+ /**
398
+ * Content can be either widget nodes or component references
399
+ */
400
+ content?: AXPPageContentItem[];
380
401
  tabs?: AXPLayoutDetailsViewTabItem[];
402
+ /**
403
+ * Static actions array (legacy, use getActions for reactive actions)
404
+ */
381
405
  actions?: AXPLayoutDetailsViewAction[];
406
+ /**
407
+ * Function to get actions dynamically (supports reactive updates from component instances)
408
+ */
409
+ getActions?: () => Promise<AXPLayoutDetailsViewAction[]>;
382
410
  isPrimary?: boolean;
383
411
  isReadonly?: boolean;
384
412
  settings?: {
385
413
  commands?: {
386
414
  accept?: {
387
415
  title: string;
416
+ icon?: string;
388
417
  color: string;
389
418
  visible?: string | boolean;
390
419
  command: AXPExecuteCommand;
391
420
  };
392
421
  reject?: {
393
422
  title: string;
423
+ icon?: string;
394
424
  color: string;
395
425
  visible?: string | boolean;
396
426
  command: AXPExecuteCommand;
@@ -402,16 +432,18 @@ interface AXPLayoutDetailsViewPage {
402
432
  }
403
433
  interface AXPLayoutDetailsViewAdapter {
404
434
  name: string;
405
- title?: string;
406
- label?: string;
407
- description?: string;
435
+ title?: AXPMultiLanguageString;
436
+ label?: AXPMultiLanguageString;
437
+ description?: AXPMultiLanguageString;
408
438
  icon?: string;
409
439
  actions?: AXPLayoutDetailsViewAction[];
410
440
  breadcrumbs?: AXPBreadcrumbItem[];
411
441
  pages: AXPLayoutDetailsViewPage[];
412
442
  execute?: (command: AXPExecuteCommand, context: {}) => Promise<AXPExecuteCommandResult>;
413
- load?: (params?: Record<string, any>) => Promise<AXPExecuteCommandResult>;
443
+ load?: (params?: Record<string, unknown>) => Promise<AXPExecuteCommandResult>;
414
444
  exitUrl?: string;
445
+ getPageBadge?: (context: Record<string, unknown>, isDirty: boolean) => Promise<AXPBadge | null>;
446
+ getPageStatus?: (context: Record<string, unknown>, currentPage: AXPLayoutDetailsViewPage | null) => Promise<AXPPageStatus | null>;
415
447
  }
416
448
 
417
449
  declare const AXPLayoutDetailsViewViewModel: _angular_core.Type<{
@@ -420,7 +452,7 @@ declare const AXPLayoutDetailsViewViewModel: _angular_core.Type<{
420
452
  previousContext: _angular_core.Signal<Record<string, any>>;
421
453
  context: _angular_core.Signal<Record<string, any>>;
422
454
  scope: _angular_core.Signal<AXPExpressionEvaluatorScope | null>;
423
- status: _angular_core.Signal<AXPPageStatus>;
455
+ status: _angular_core.Signal<AXPPageStatus$1>;
424
456
  currentPage: _angular_core.Signal<AXPLayoutDetailsViewPage | null>;
425
457
  currentTab: _angular_core.Signal<AXPLayoutDetailsViewTabItem | null>;
426
458
  pageSelectedRows: _angular_core.Signal<any[]>;
@@ -428,8 +460,10 @@ declare const AXPLayoutDetailsViewViewModel: _angular_core.Type<{
428
460
  tabId: string;
429
461
  tab: AXPLayoutDetailsViewTabItem;
430
462
  }[]>>;
463
+ evaluatedPageContent: _angular_core.Signal<AXPWidgetNode[]>;
464
+ evaluatedTabContentsById: _angular_core.Signal<Record<string, AXPWidgetNode[]>>;
431
465
  icon: _angular_core.Signal<string | null>;
432
- content: _angular_core.Signal<_acorex_platform_layout_widget_core.AXPWidgetNode[]>;
466
+ content: _angular_core.Signal<_acorex_platform_layout_views.AXPPageContentItem[]>;
433
467
  showPages: _angular_core.Signal<boolean>;
434
468
  isLarge: _angular_core.Signal<boolean>;
435
469
  isBusy: _angular_core.Signal<boolean>;
@@ -447,24 +481,25 @@ declare const AXPLayoutDetailsViewViewModel: _angular_core.Type<{
447
481
  load: (adapter: AXPLayoutDetailsViewAdapter) => Promise<void>;
448
482
  updateContext: (context: any) => void;
449
483
  updatePageSelectedRows: (rows: any[]) => void;
450
- currentPageTitle: () => string | null;
451
- currentPageDescription: () => string | null;
452
484
  currentPagePrimaryActions: () => Promise<any>;
453
485
  currentPageSecondaryActions: () => Promise<any>;
454
- currentPageContent: () => _acorex_platform_layout_widget_core.AXPWidgetNode[] | undefined;
486
+ currentPageContent: () => AXPWidgetNode[];
455
487
  currentPageTabs: () => AXPLayoutDetailsViewTabItem[] | undefined;
456
488
  setCurrentPage: (page: AXPLayoutDetailsViewPage | null) => void;
457
489
  setCurrentTab: (tab: AXPLayoutDetailsViewTabItem) => void;
458
- getCurrentTabContent: () => _acorex_platform_layout_widget_core.AXPWidgetNode[];
459
- getRenderedTabContent: (tabId: string) => _acorex_platform_layout_widget_core.AXPWidgetNode[];
490
+ getCurrentTabContent: () => AXPWidgetNode[];
491
+ getRenderedTabContent: (tabId: string) => AXPWidgetNode[];
460
492
  clearPageTabCache: (pageId: string) => void;
461
- title: () => string | null;
462
- backButtonTitle: () => string | null;
463
- description: () => string | null;
493
+ backButtonTitle: () => _acorex_core_translation.AXMultiLanguageString;
494
+ getPageTitle: () => Promise<AXPMultiLanguageString>;
495
+ getPageDescription: () => Promise<AXPMultiLanguageString | null>;
496
+ getBackButton: () => Promise<AXPBackButton | null>;
497
+ getPageBadge: () => Promise<AXPBadge | null>;
498
+ getPageStatus: () => Promise<AXPPageStatus | null>;
464
499
  primaryActions: () => Promise<any>;
465
500
  secondaryActions: () => Promise<any>;
466
501
  breadcrumbs: () => Promise<{
467
- title: string;
502
+ title: _acorex_core_translation.AXMultiLanguageString;
468
503
  name?: string;
469
504
  icon?: string;
470
505
  command?: AXPExecuteCommand;
@@ -478,7 +513,7 @@ declare const AXPLayoutDetailsViewViewModel: _angular_core.Type<{
478
513
  previousContext: Record<string, any>;
479
514
  context: Record<string, any>;
480
515
  scope: AXPExpressionEvaluatorScope | null;
481
- status: AXPPageStatus;
516
+ status: AXPPageStatus$1;
482
517
  currentPage: AXPLayoutDetailsViewPage | null;
483
518
  currentTab: AXPLayoutDetailsViewTabItem | null;
484
519
  pageSelectedRows: any[];
@@ -486,6 +521,8 @@ declare const AXPLayoutDetailsViewViewModel: _angular_core.Type<{
486
521
  tabId: string;
487
522
  tab: AXPLayoutDetailsViewTabItem;
488
523
  }>>;
524
+ evaluatedPageContent: AXPWidgetNode[];
525
+ evaluatedTabContentsById: Record<string, AXPWidgetNode[]>;
489
526
  }>>;
490
527
 
491
528
  declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent implements OnInit, OnDestroy {
@@ -505,8 +542,10 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
505
542
  tabId: string;
506
543
  tab: _acorex_platform_layout_views.AXPLayoutDetailsViewTabItem;
507
544
  }[]>>;
545
+ evaluatedPageContent: _angular_core.Signal<_acorex_platform_layout_widget_core.AXPWidgetNode[]>;
546
+ evaluatedTabContentsById: _angular_core.Signal<Record<string, _acorex_platform_layout_widget_core.AXPWidgetNode[]>>;
508
547
  icon: _angular_core.Signal<string | null>;
509
- content: _angular_core.Signal<_acorex_platform_layout_widget_core.AXPWidgetNode[]>;
548
+ content: _angular_core.Signal<_acorex_platform_layout_views.AXPPageContentItem[]>;
510
549
  showPages: _angular_core.Signal<boolean>;
511
550
  isLarge: _angular_core.Signal<boolean>;
512
551
  isBusy: _angular_core.Signal<boolean>;
@@ -524,24 +563,25 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
524
563
  load: (adapter: AXPLayoutDetailsViewAdapter) => Promise<void>;
525
564
  updateContext: (context: any) => void;
526
565
  updatePageSelectedRows: (rows: any[]) => void;
527
- currentPageTitle: () => string | null;
528
- currentPageDescription: () => string | null;
529
566
  currentPagePrimaryActions: () => Promise<any>;
530
567
  currentPageSecondaryActions: () => Promise<any>;
531
- currentPageContent: () => _acorex_platform_layout_widget_core.AXPWidgetNode[] | undefined;
568
+ currentPageContent: () => _acorex_platform_layout_widget_core.AXPWidgetNode[];
532
569
  currentPageTabs: () => _acorex_platform_layout_views.AXPLayoutDetailsViewTabItem[] | undefined;
533
570
  setCurrentPage: (page: AXPLayoutDetailsViewPage | null) => void;
534
571
  setCurrentTab: (tab: _acorex_platform_layout_views.AXPLayoutDetailsViewTabItem) => void;
535
572
  getCurrentTabContent: () => _acorex_platform_layout_widget_core.AXPWidgetNode[];
536
573
  getRenderedTabContent: (tabId: string) => _acorex_platform_layout_widget_core.AXPWidgetNode[];
537
574
  clearPageTabCache: (pageId: string) => void;
538
- title: () => string | null;
539
- backButtonTitle: () => string | null;
540
- description: () => string | null;
575
+ backButtonTitle: () => _acorex_core_translation.AXMultiLanguageString;
576
+ getPageTitle: () => Promise<AXPMultiLanguageString>;
577
+ getPageDescription: () => Promise<AXPMultiLanguageString | null>;
578
+ getBackButton: () => Promise<AXPBackButton | null>;
579
+ getPageBadge: () => Promise<AXPBadge | null>;
580
+ getPageStatus: () => Promise<AXPPageStatus | null>;
541
581
  primaryActions: () => Promise<any>;
542
582
  secondaryActions: () => Promise<any>;
543
583
  breadcrumbs: () => Promise<{
544
- title: string;
584
+ title: _acorex_core_translation.AXMultiLanguageString;
545
585
  name?: string;
546
586
  icon?: string;
547
587
  command?: AXPExecuteCommand;
@@ -563,6 +603,8 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
563
603
  tabId: string;
564
604
  tab: _acorex_platform_layout_views.AXPLayoutDetailsViewTabItem;
565
605
  }>>;
606
+ evaluatedPageContent: _acorex_platform_layout_widget_core.AXPWidgetNode[];
607
+ evaluatedTabContentsById: Record<string, _acorex_platform_layout_widget_core.AXPWidgetNode[]>;
566
608
  }>;
567
609
  protected router: Router;
568
610
  protected route: ActivatedRoute;
@@ -585,18 +627,24 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
585
627
  ngOnInit(): Promise<void>;
586
628
  ngAfterViewInit(): Promise<void>;
587
629
  ngOnDestroy(): void;
588
- protected handleOnContextChanged(e: AXPWidgetCoreContextChangeEvent): void;
630
+ protected handleOnContextChanged(e: AXPContextChangeEvent): void;
589
631
  protected handleSelectPage(page: AXPLayoutDetailsViewPage): void;
590
632
  protected getAllPrimaryActions(): Promise<AXPLayoutDetailsViewAction[]>;
591
- protected getPrimaryMenuItems(): Promise<AXPActionMenuItem[]>;
633
+ getPrimaryMenuItems(): Promise<AXPActionMenuItem[]>;
592
634
  protected getFooterPrimaryActions(): Promise<AXPActionMenuItem[]>;
593
635
  protected getAllSecondaryActions(): Promise<AXPLayoutDetailsViewAction[]>;
594
- protected getSecondaryMenuItems(): Promise<AXPActionMenuItem[]>;
636
+ getSecondaryMenuItems(): Promise<AXPActionMenuItem[]>;
595
637
  protected getFooterSecondaryActions(): Promise<AXPActionMenuItem[]>;
596
638
  protected getPageBreadcrumbs(): Promise<AXPBreadcrumbItem[]>;
597
- protected getPageTitle(): Promise<string>;
598
- getPageDescription(): Promise<string | null>;
639
+ protected getPageTitle(): Promise<AXPMultiLanguageString>;
640
+ getPageDescription(): Promise<AXPMultiLanguageString | null>;
599
641
  getBackButton(): Promise<AXPBackButton | null>;
642
+ getPageBadge(): Promise<AXPBadge | null>;
643
+ getPageStatus(): Promise<AXPPageStatus | null>;
644
+ /**
645
+ * Get entity data for status chip component
646
+ */
647
+ getEntityData(): Record<string, any> | null;
600
648
  onBackButtonClick(): Promise<void>;
601
649
  execute(command: AXPExecuteCommand): Promise<void>;
602
650
  protected handleKeyboardEvent(event: KeyboardEvent): Promise<void>;
@@ -604,5 +652,18 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
604
652
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPLayoutDetailsViewComponent, "axp-layout-details-view", never, { "adapter": { "alias": "adapter"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
605
653
  }
606
654
 
607
- export { AXPLayoutDetailsViewComponent, AXPLayoutDetailsViewViewModel, AXPPageLayoutBase, AXPPageLayoutBaseComponent, AXPPageLayoutComponent, AXPPopupLayoutBase, AXPPopupLayoutBaseComponent, AXPPopupLayoutComponent };
608
- export type { AXPLayoutDetailsViewAction, AXPLayoutDetailsViewAdapter, AXPLayoutDetailsViewPage, AXPLayoutDetailsViewTabItem };
655
+ /**
656
+ * Registry of rendered page component instances by component key.
657
+ * Used so page execute can delegate to the actual component instance in the view.
658
+ */
659
+ declare class AXPPageComponentInstanceRegistryService {
660
+ private readonly instances;
661
+ register(key: string, instance: AXPPageLayoutBaseComponent): void;
662
+ unregister(key: string): void;
663
+ get(key: string): AXPPageLayoutBaseComponent | null;
664
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPPageComponentInstanceRegistryService, never>;
665
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPPageComponentInstanceRegistryService>;
666
+ }
667
+
668
+ export { AXPLayoutDetailsViewComponent, AXPLayoutDetailsViewViewModel, AXPPageComponentInstanceRegistryService, AXPPageLayoutBase, AXPPageLayoutBaseComponent, AXPPageLayoutComponent, AXPPopupLayoutBase, AXPPopupLayoutBaseComponent, AXPPopupLayoutComponent };
669
+ export type { AXPLayoutDetailsViewAction, AXPLayoutDetailsViewAdapter, AXPLayoutDetailsViewPage, AXPLayoutDetailsViewTabItem, AXPPageContentItem };