@acorex/platform 21.0.0-next.3 → 21.0.0-next.34

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 (117) hide show
  1. package/fesm2022/acorex-platform-auth.mjs +295 -45
  2. package/fesm2022/acorex-platform-auth.mjs.map +1 -1
  3. package/fesm2022/{acorex-platform-common-common-settings.provider-zhqNP3xb.mjs → acorex-platform-common-common-settings.provider-G9XcXXOG.mjs} +60 -4
  4. package/fesm2022/acorex-platform-common-common-settings.provider-G9XcXXOG.mjs.map +1 -0
  5. package/fesm2022/acorex-platform-common.mjs +960 -319
  6. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  7. package/fesm2022/acorex-platform-core.mjs +1352 -832
  8. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  9. package/fesm2022/acorex-platform-domain.mjs +554 -826
  10. package/fesm2022/acorex-platform-domain.mjs.map +1 -1
  11. package/fesm2022/acorex-platform-layout-builder.mjs +530 -154
  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 +5969 -2347
  16. package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
  17. package/fesm2022/acorex-platform-layout-designer.mjs +169 -154
  18. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  19. package/fesm2022/acorex-platform-layout-entity.mjs +15380 -9274
  20. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  21. package/fesm2022/acorex-platform-layout-views.mjs +393 -110
  22. package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
  23. package/fesm2022/acorex-platform-layout-widget-core.mjs +511 -450
  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-CxrsI6Hn.mjs → acorex-platform-layout-widgets-file-list-popup.component-9uCkMxcc.mjs} +39 -16
  28. package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-9uCkMxcc.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-BGQqY5Mw.mjs +111 -0
  34. package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-BGQqY5Mw.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 +7865 -4026
  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 +220 -169
  46. package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
  47. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cvvr4HnL.mjs +160 -0
  48. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cvvr4HnL.mjs.map +1 -0
  49. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-TYoLN1Jq.mjs +120 -0
  50. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-TYoLN1Jq.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-C2z5Lq9y.mjs} +18 -25
  52. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-C2z5Lq9y.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 +1717 -66
  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.map +1 -1
  66. package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-column.component-DTnfRy5f.mjs → acorex-platform-themes-shared-theme-color-chooser-column.component-CHfrTtol.mjs} +11 -11
  67. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-CHfrTtol.mjs.map +1 -0
  68. package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-view.component-DY0JtT1v.mjs → acorex-platform-themes-shared-theme-color-chooser-view.component-BSmvnUVq.mjs} +9 -9
  69. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-BSmvnUVq.mjs.map +1 -0
  70. package/fesm2022/acorex-platform-themes-shared.mjs +563 -561
  71. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  72. package/fesm2022/acorex-platform-workflow.mjs +1735 -1750
  73. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  74. package/fesm2022/acorex-platform.mjs.map +1 -1
  75. package/package.json +31 -31
  76. package/{auth/index.d.ts → types/acorex-platform-auth.d.ts} +247 -10
  77. package/{common/index.d.ts → types/acorex-platform-common.d.ts} +492 -31
  78. package/{core/index.d.ts → types/acorex-platform-core.d.ts} +606 -392
  79. package/{domain/index.d.ts → types/acorex-platform-domain.d.ts} +719 -413
  80. package/{layout/builder/index.d.ts → types/acorex-platform-layout-builder.d.ts} +128 -56
  81. package/types/acorex-platform-layout-components.d.ts +2927 -0
  82. package/{layout/designer/index.d.ts → types/acorex-platform-layout-designer.d.ts} +9 -3
  83. package/{layout/entity/index.d.ts → types/acorex-platform-layout-entity.d.ts} +1133 -237
  84. package/{layout/views/index.d.ts → types/acorex-platform-layout-views.d.ts} +90 -31
  85. package/{layout/widget-core/index.d.ts → types/acorex-platform-layout-widget-core.d.ts} +206 -102
  86. package/{layout/widgets/index.d.ts → types/acorex-platform-layout-widgets.d.ts} +942 -137
  87. package/{native/index.d.ts → types/acorex-platform-native.d.ts} +0 -7
  88. package/{runtime/index.d.ts → types/acorex-platform-runtime.d.ts} +237 -74
  89. package/{themes/default/index.d.ts → types/acorex-platform-themes-default.d.ts} +113 -5
  90. package/{themes/shared/index.d.ts → types/acorex-platform-themes-shared.d.ts} +1 -1
  91. package/types/acorex-platform-workflow.d.ts +1806 -0
  92. package/fesm2022/acorex-platform-common-common-settings.provider-zhqNP3xb.mjs.map +0 -1
  93. package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-C3VoBb_b.mjs.map +0 -1
  94. package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-CxrsI6Hn.mjs.map +0 -1
  95. package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-V31OpYah.mjs.map +0 -1
  96. package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-BtZMBxYp.mjs.map +0 -1
  97. package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-Ck7-wpT2.mjs.map +0 -1
  98. package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-y8vjUiVs.mjs.map +0 -1
  99. package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-Df1BFkSa.mjs.map +0 -1
  100. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-VIGuU5M4.mjs +0 -157
  101. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-VIGuU5M4.mjs.map +0 -1
  102. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DyDa_hyd.mjs +0 -1542
  103. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DyDa_hyd.mjs.map +0 -1
  104. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Ua3ZA5hk.mjs +0 -101
  105. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Ua3ZA5hk.mjs.map +0 -1
  106. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-eMBby9k4.mjs.map +0 -1
  107. package/fesm2022/acorex-platform-themes-default-error-401.component-cfREo88K.mjs.map +0 -1
  108. package/fesm2022/acorex-platform-themes-default-error-404.component-CdCV5ZoA.mjs.map +0 -1
  109. package/fesm2022/acorex-platform-themes-default-error-offline.component-E7SzBcAt.mjs +0 -19
  110. package/fesm2022/acorex-platform-themes-default-error-offline.component-E7SzBcAt.mjs.map +0 -1
  111. package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-C0EpfU2k.mjs.map +0 -1
  112. package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-9W52W6Nu.mjs.map +0 -1
  113. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-DTnfRy5f.mjs.map +0 -1
  114. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-DY0JtT1v.mjs.map +0 -1
  115. package/layout/components/index.d.ts +0 -1669
  116. package/workflow/index.d.ts +0 -2443
  117. /package/{index.d.ts → types/acorex-platform.d.ts} +0 -0
@@ -6,7 +6,7 @@ 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, 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
12
  import { AXToastService } from '@acorex/components/toast';
@@ -16,9 +16,9 @@ import { AXPSessionService } from '@acorex/platform/auth';
16
16
  import { AXPHomePageService } from '@acorex/platform/common';
17
17
  import { AXBasePageComponent } from '@acorex/components/page';
18
18
  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';
19
+ import { AXPWidgetNode, AXPPageStatus as AXPPageStatus$1, AXPWidgetContainerComponent } from '@acorex/platform/layout/widget-core';
21
20
  import * as _acorex_platform_layout_views from '@acorex/platform/layout/views';
21
+ import { AXFormComponent } from '@acorex/components/form';
22
22
  import { Router, ActivatedRoute } from '@angular/router';
23
23
 
24
24
  declare abstract class AXPPageLayoutBase {
@@ -31,14 +31,18 @@ declare abstract class AXPPageLayoutBase {
31
31
  abstract hasActions: Signal<boolean>;
32
32
  abstract breadcrumbs: Signal<AXPBreadcrumbItem[]>;
33
33
  abstract title: Signal<string>;
34
+ abstract titleIcon: Signal<string | null>;
34
35
  abstract hasTitle: Signal<boolean>;
36
+ abstract hasTitleIcon: Signal<boolean>;
35
37
  abstract hasDescription: Signal<boolean>;
36
- abstract description: Signal<string>;
38
+ abstract description: Signal<string | null>;
37
39
  abstract hasBreadcrumbs: Signal<boolean>;
38
40
  abstract hasBadge: Signal<boolean>;
39
41
  abstract badge: Signal<AXPBadge | null>;
42
+ abstract hasStatus: Signal<boolean>;
43
+ abstract status: Signal<AXPPageStatus | null>;
40
44
  abstract hasBackButton: Signal<boolean>;
41
- abstract backButton: Signal<AXPBackButton>;
45
+ abstract backButton: Signal<AXPBackButton | null>;
42
46
  abstract onBackButtonClick: () => void | Promise<void>;
43
47
  abstract startSideToggle: () => void | Promise<void>;
44
48
  abstract execute: (command: AXPExecuteCommand) => void | Promise<void>;
@@ -106,11 +110,13 @@ declare class AXPPageLayoutComponent {
106
110
  protected handleBackdropClick(e: AXClickEvent): boolean;
107
111
  protected execute(command: AXPExecuteCommand): Promise<void>;
108
112
  protected handleOnBackdropClick(event: MouseEvent): void;
113
+ protected getEntityData(): Record<string, any> | null;
114
+ protected handleStatusTransition(transition: any): Promise<void>;
109
115
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPPageLayoutComponent, never>;
110
116
  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
117
  }
112
118
 
113
- declare abstract class AXPPageLayoutBaseComponent {
119
+ declare abstract class AXPPageLayoutBaseComponent implements AXPPageLayoutBase {
114
120
  #private;
115
121
  protected readonly layoutService: {
116
122
  currentMode: _angular_core.Signal<_acorex_platform_themes_shared.AXPThemeMode>;
@@ -170,29 +176,35 @@ declare abstract class AXPPageLayoutBaseComponent {
170
176
  protected updateTrigger: _angular_core.Signal<number>;
171
177
  protected recompute(): void;
172
178
  ngOnInit(): Promise<void>;
173
- protected title: _angular_core.WritableSignal<string>;
179
+ title: _angular_core.WritableSignal<string>;
180
+ titleIcon: _angular_core.WritableSignal<string | null>;
174
181
  protected getPageTitle(): string | Promise<string>;
175
- private hasTitle;
176
- private description;
177
- private hasDescription;
182
+ protected getPageIcon(): string | null | Promise<string | null>;
183
+ hasTitle: _angular_core.Signal<boolean>;
184
+ hasTitleIcon: _angular_core.Signal<boolean>;
185
+ description: _angular_core.WritableSignal<string | null>;
186
+ hasDescription: _angular_core.Signal<boolean>;
178
187
  protected getPageDescription(): string | null | Promise<string | null>;
179
188
  private defaultBreadCrumbs;
180
- private breadcrumbs;
181
- private hasBreadcrumbs;
189
+ breadcrumbs: _angular_core.WritableSignal<AXPBreadcrumbItem[]>;
190
+ hasBreadcrumbs: _angular_core.Signal<boolean>;
182
191
  protected getPageBreadcrumbs(): AXPBreadcrumbItem[] | Promise<AXPBreadcrumbItem[]>;
183
- private badge;
184
- private hasBadge;
192
+ badge: _angular_core.WritableSignal<AXPBadge | null>;
193
+ hasBadge: _angular_core.Signal<boolean>;
185
194
  protected getPageBadge(): AXPBadge | null | Promise<AXPBadge | null>;
195
+ status: _angular_core.WritableSignal<AXPPageStatus | null>;
196
+ hasStatus: _angular_core.Signal<boolean>;
197
+ protected getPageStatus(): AXPPageStatus | null | Promise<AXPPageStatus | null>;
186
198
  protected layout: _angular_core.Signal<AXPPageLayoutComponent | undefined>;
187
199
  protected toggleEndSide(): void;
188
200
  protected toggleStartSide(): void;
189
201
  primaryMenuItems: _angular_core.WritableSignal<AXPActionMenuItem[]>;
190
202
  hasPrimaryActions: _angular_core.Signal<boolean>;
191
- protected getPrimaryMenuItems(): AXPActionMenuItem[] | Promise<AXPActionMenuItem[]>;
203
+ getPrimaryMenuItems(): AXPActionMenuItem[] | Promise<AXPActionMenuItem[]>;
192
204
  secondaryMenuItems: _angular_core.WritableSignal<AXPActionMenuItem[]>;
193
205
  hasSecondaryActions: _angular_core.Signal<boolean>;
194
206
  hasActions: _angular_core.Signal<boolean>;
195
- protected getSecondaryMenuItems(): AXPActionMenuItem[] | Promise<AXPActionMenuItem[]>;
207
+ getSecondaryMenuItems(): AXPActionMenuItem[] | Promise<AXPActionMenuItem[]>;
196
208
  titleActions: _angular_core.WritableSignal<AXPActionMenuItem[]>;
197
209
  hasTitleActions: _angular_core.Signal<boolean>;
198
210
  protected getTitleActions(): AXPActionMenuItem[] | Promise<AXPActionMenuItem[]>;
@@ -361,6 +373,11 @@ interface AXPLayoutDetailsViewAction extends AXPActionMenuItem {
361
373
  zone: 'header' | 'footer';
362
374
  priority: 'primary' | 'secondary';
363
375
  }
376
+ type AXPPageContentItem = AXPWidgetNode | {
377
+ type: 'component';
378
+ componentKey: string;
379
+ pageConfig?: Record<string, unknown>;
380
+ };
364
381
  interface AXPLayoutDetailsViewTabItem {
365
382
  id: string;
366
383
  title: string;
@@ -376,21 +393,33 @@ interface AXPLayoutDetailsViewPage {
376
393
  label: string;
377
394
  description?: string;
378
395
  icon?: string;
379
- content?: AXPWidgetNode[];
396
+ /**
397
+ * Content can be either widget nodes or component references
398
+ */
399
+ content?: AXPPageContentItem[];
380
400
  tabs?: AXPLayoutDetailsViewTabItem[];
401
+ /**
402
+ * Static actions array (legacy, use getActions for reactive actions)
403
+ */
381
404
  actions?: AXPLayoutDetailsViewAction[];
405
+ /**
406
+ * Function to get actions dynamically (supports reactive updates from component instances)
407
+ */
408
+ getActions?: () => Promise<AXPLayoutDetailsViewAction[]>;
382
409
  isPrimary?: boolean;
383
410
  isReadonly?: boolean;
384
411
  settings?: {
385
412
  commands?: {
386
413
  accept?: {
387
414
  title: string;
415
+ icon?: string;
388
416
  color: string;
389
417
  visible?: string | boolean;
390
418
  command: AXPExecuteCommand;
391
419
  };
392
420
  reject?: {
393
421
  title: string;
422
+ icon?: string;
394
423
  color: string;
395
424
  visible?: string | boolean;
396
425
  command: AXPExecuteCommand;
@@ -410,8 +439,10 @@ interface AXPLayoutDetailsViewAdapter {
410
439
  breadcrumbs?: AXPBreadcrumbItem[];
411
440
  pages: AXPLayoutDetailsViewPage[];
412
441
  execute?: (command: AXPExecuteCommand, context: {}) => Promise<AXPExecuteCommandResult>;
413
- load?: (params?: Record<string, any>) => Promise<AXPExecuteCommandResult>;
442
+ load?: (params?: Record<string, unknown>) => Promise<AXPExecuteCommandResult>;
414
443
  exitUrl?: string;
444
+ getPageBadge?: (context: Record<string, unknown>, isDirty: boolean) => Promise<AXPBadge | null>;
445
+ getPageStatus?: (context: Record<string, unknown>, currentPage: AXPLayoutDetailsViewPage | null) => Promise<AXPPageStatus | null>;
415
446
  }
416
447
 
417
448
  declare const AXPLayoutDetailsViewViewModel: _angular_core.Type<{
@@ -420,7 +451,7 @@ declare const AXPLayoutDetailsViewViewModel: _angular_core.Type<{
420
451
  previousContext: _angular_core.Signal<Record<string, any>>;
421
452
  context: _angular_core.Signal<Record<string, any>>;
422
453
  scope: _angular_core.Signal<AXPExpressionEvaluatorScope | null>;
423
- status: _angular_core.Signal<AXPPageStatus>;
454
+ status: _angular_core.Signal<AXPPageStatus$1>;
424
455
  currentPage: _angular_core.Signal<AXPLayoutDetailsViewPage | null>;
425
456
  currentTab: _angular_core.Signal<AXPLayoutDetailsViewTabItem | null>;
426
457
  pageSelectedRows: _angular_core.Signal<any[]>;
@@ -428,8 +459,10 @@ declare const AXPLayoutDetailsViewViewModel: _angular_core.Type<{
428
459
  tabId: string;
429
460
  tab: AXPLayoutDetailsViewTabItem;
430
461
  }[]>>;
462
+ evaluatedPageContent: _angular_core.Signal<AXPWidgetNode[]>;
463
+ evaluatedTabContentsById: _angular_core.Signal<Record<string, AXPWidgetNode[]>>;
431
464
  icon: _angular_core.Signal<string | null>;
432
- content: _angular_core.Signal<_acorex_platform_layout_widget_core.AXPWidgetNode[]>;
465
+ content: _angular_core.Signal<_acorex_platform_layout_views.AXPPageContentItem[]>;
433
466
  showPages: _angular_core.Signal<boolean>;
434
467
  isLarge: _angular_core.Signal<boolean>;
435
468
  isBusy: _angular_core.Signal<boolean>;
@@ -451,12 +484,12 @@ declare const AXPLayoutDetailsViewViewModel: _angular_core.Type<{
451
484
  currentPageDescription: () => string | null;
452
485
  currentPagePrimaryActions: () => Promise<any>;
453
486
  currentPageSecondaryActions: () => Promise<any>;
454
- currentPageContent: () => _acorex_platform_layout_widget_core.AXPWidgetNode[] | undefined;
487
+ currentPageContent: () => AXPWidgetNode[];
455
488
  currentPageTabs: () => AXPLayoutDetailsViewTabItem[] | undefined;
456
489
  setCurrentPage: (page: AXPLayoutDetailsViewPage | null) => void;
457
490
  setCurrentTab: (tab: AXPLayoutDetailsViewTabItem) => void;
458
- getCurrentTabContent: () => _acorex_platform_layout_widget_core.AXPWidgetNode[];
459
- getRenderedTabContent: (tabId: string) => _acorex_platform_layout_widget_core.AXPWidgetNode[];
491
+ getCurrentTabContent: () => AXPWidgetNode[];
492
+ getRenderedTabContent: (tabId: string) => AXPWidgetNode[];
460
493
  clearPageTabCache: (pageId: string) => void;
461
494
  title: () => string | null;
462
495
  backButtonTitle: () => string | null;
@@ -478,7 +511,7 @@ declare const AXPLayoutDetailsViewViewModel: _angular_core.Type<{
478
511
  previousContext: Record<string, any>;
479
512
  context: Record<string, any>;
480
513
  scope: AXPExpressionEvaluatorScope | null;
481
- status: AXPPageStatus;
514
+ status: AXPPageStatus$1;
482
515
  currentPage: AXPLayoutDetailsViewPage | null;
483
516
  currentTab: AXPLayoutDetailsViewTabItem | null;
484
517
  pageSelectedRows: any[];
@@ -486,6 +519,8 @@ declare const AXPLayoutDetailsViewViewModel: _angular_core.Type<{
486
519
  tabId: string;
487
520
  tab: AXPLayoutDetailsViewTabItem;
488
521
  }>>;
522
+ evaluatedPageContent: AXPWidgetNode[];
523
+ evaluatedTabContentsById: Record<string, AXPWidgetNode[]>;
489
524
  }>>;
490
525
 
491
526
  declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent implements OnInit, OnDestroy {
@@ -505,8 +540,10 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
505
540
  tabId: string;
506
541
  tab: _acorex_platform_layout_views.AXPLayoutDetailsViewTabItem;
507
542
  }[]>>;
543
+ evaluatedPageContent: _angular_core.Signal<_acorex_platform_layout_widget_core.AXPWidgetNode[]>;
544
+ evaluatedTabContentsById: _angular_core.Signal<Record<string, _acorex_platform_layout_widget_core.AXPWidgetNode[]>>;
508
545
  icon: _angular_core.Signal<string | null>;
509
- content: _angular_core.Signal<_acorex_platform_layout_widget_core.AXPWidgetNode[]>;
546
+ content: _angular_core.Signal<_acorex_platform_layout_views.AXPPageContentItem[]>;
510
547
  showPages: _angular_core.Signal<boolean>;
511
548
  isLarge: _angular_core.Signal<boolean>;
512
549
  isBusy: _angular_core.Signal<boolean>;
@@ -528,7 +565,7 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
528
565
  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;
@@ -563,11 +600,14 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
563
600
  tabId: string;
564
601
  tab: _acorex_platform_layout_views.AXPLayoutDetailsViewTabItem;
565
602
  }>>;
603
+ evaluatedPageContent: _acorex_platform_layout_widget_core.AXPWidgetNode[];
604
+ evaluatedTabContentsById: Record<string, _acorex_platform_layout_widget_core.AXPWidgetNode[]>;
566
605
  }>;
567
606
  protected router: Router;
568
607
  protected route: ActivatedRoute;
569
608
  protected eventService: AXPBroadcastEventService;
570
609
  protected deviceService: AXPDeviceService;
610
+ private settingsService;
571
611
  private onSelectionChangeSubscription?;
572
612
  private readonly destroyed$;
573
613
  protected form: _angular_core.Signal<AXFormComponent | undefined>;
@@ -585,18 +625,24 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
585
625
  ngOnInit(): Promise<void>;
586
626
  ngAfterViewInit(): Promise<void>;
587
627
  ngOnDestroy(): void;
588
- protected handleOnContextChanged(e: AXPWidgetCoreContextChangeEvent): void;
628
+ protected handleOnContextChanged(e: AXPContextChangeEvent): void;
589
629
  protected handleSelectPage(page: AXPLayoutDetailsViewPage): void;
590
630
  protected getAllPrimaryActions(): Promise<AXPLayoutDetailsViewAction[]>;
591
- protected getPrimaryMenuItems(): Promise<AXPActionMenuItem[]>;
631
+ getPrimaryMenuItems(): Promise<AXPActionMenuItem[]>;
592
632
  protected getFooterPrimaryActions(): Promise<AXPActionMenuItem[]>;
593
633
  protected getAllSecondaryActions(): Promise<AXPLayoutDetailsViewAction[]>;
594
- protected getSecondaryMenuItems(): Promise<AXPActionMenuItem[]>;
634
+ getSecondaryMenuItems(): Promise<AXPActionMenuItem[]>;
595
635
  protected getFooterSecondaryActions(): Promise<AXPActionMenuItem[]>;
596
636
  protected getPageBreadcrumbs(): Promise<AXPBreadcrumbItem[]>;
597
637
  protected getPageTitle(): Promise<string>;
598
638
  getPageDescription(): Promise<string | null>;
599
639
  getBackButton(): Promise<AXPBackButton | null>;
640
+ getPageBadge(): Promise<AXPBadge | null>;
641
+ getPageStatus(): Promise<AXPPageStatus | null>;
642
+ /**
643
+ * Get entity data for status chip component
644
+ */
645
+ getEntityData(): Record<string, any> | null;
600
646
  onBackButtonClick(): Promise<void>;
601
647
  execute(command: AXPExecuteCommand): Promise<void>;
602
648
  protected handleKeyboardEvent(event: KeyboardEvent): Promise<void>;
@@ -604,5 +650,18 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
604
650
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPLayoutDetailsViewComponent, "axp-layout-details-view", never, { "adapter": { "alias": "adapter"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
605
651
  }
606
652
 
607
- export { AXPLayoutDetailsViewComponent, AXPLayoutDetailsViewViewModel, AXPPageLayoutBase, AXPPageLayoutBaseComponent, AXPPageLayoutComponent, AXPPopupLayoutBase, AXPPopupLayoutBaseComponent, AXPPopupLayoutComponent };
608
- export type { AXPLayoutDetailsViewAction, AXPLayoutDetailsViewAdapter, AXPLayoutDetailsViewPage, AXPLayoutDetailsViewTabItem };
653
+ /**
654
+ * Registry of rendered page component instances by component key.
655
+ * Used so page execute can delegate to the actual component instance in the view.
656
+ */
657
+ declare class AXPPageComponentInstanceRegistryService {
658
+ private readonly instances;
659
+ register(key: string, instance: AXPPageLayoutBaseComponent): void;
660
+ unregister(key: string): void;
661
+ get(key: string): AXPPageLayoutBaseComponent | null;
662
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPPageComponentInstanceRegistryService, never>;
663
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPPageComponentInstanceRegistryService>;
664
+ }
665
+
666
+ export { AXPLayoutDetailsViewComponent, AXPLayoutDetailsViewViewModel, AXPPageComponentInstanceRegistryService, AXPPageLayoutBase, AXPPageLayoutBaseComponent, AXPPageLayoutComponent, AXPPopupLayoutBase, AXPPopupLayoutBaseComponent, AXPPopupLayoutComponent };
667
+ export type { AXPLayoutDetailsViewAction, AXPLayoutDetailsViewAdapter, AXPLayoutDetailsViewPage, AXPLayoutDetailsViewTabItem, AXPPageContentItem };