@acorex/platform 21.0.0-next.7 → 21.0.0-next.71
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.
- package/fesm2022/acorex-platform-auth.mjs +281 -23
- package/fesm2022/acorex-platform-auth.mjs.map +1 -1
- package/fesm2022/acorex-platform-common-common-settings.provider-Bi1RYif5.mjs +163 -0
- package/fesm2022/acorex-platform-common-common-settings.provider-Bi1RYif5.mjs.map +1 -0
- package/fesm2022/acorex-platform-common.mjs +1381 -276
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-core.mjs +1538 -611
- package/fesm2022/acorex-platform-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-domain.mjs +557 -826
- package/fesm2022/acorex-platform-domain.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +1372 -210
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-CXEdvDTf.mjs +121 -0
- package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-CXEdvDTf.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-components.mjs +6298 -1929
- package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-designer.mjs +456 -204
- package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity-attachments-page.component-D8iQnT-R.mjs +371 -0
- package/fesm2022/acorex-platform-layout-entity-attachments-page.component-D8iQnT-R.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-entity-file-list-popup.component-_yrP5SQe.mjs +100 -0
- package/fesm2022/acorex-platform-layout-entity-file-list-popup.component-_yrP5SQe.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-entity.mjs +22537 -9975
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-views.mjs +865 -218
- package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-widget-core.mjs +2138 -487
- package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
- 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
- package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-Dy7jF-oD.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-image-preview.popup-V31OpYah.mjs → acorex-platform-layout-widgets-image-preview.popup-C_EPAvCU.mjs} +6 -7
- package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-C_EPAvCU.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-page-widget-designer.component-BtZMBxYp.mjs → acorex-platform-layout-widgets-page-widget-designer.component-D10yO28c.mjs} +12 -12
- package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-D10yO28c.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-J0zcGKBX.mjs +116 -0
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-J0zcGKBX.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-tabular-data-edit-popup.component-Ck7-wpT2.mjs → acorex-platform-layout-widgets-tabular-data-edit-popup.component-BcpRkpJp.mjs} +6 -6
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-BcpRkpJp.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-tabular-data-view-popup.component-y8vjUiVs.mjs → acorex-platform-layout-widgets-tabular-data-view-popup.component-DQtK4lxl.mjs} +5 -5
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-DQtK4lxl.mjs.map +1 -0
- 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
- package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-Vo4fWHtX.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-widgets.mjs +10434 -7982
- package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
- package/fesm2022/acorex-platform-native.mjs +8 -7
- package/fesm2022/acorex-platform-native.mjs.map +1 -1
- package/fesm2022/acorex-platform-runtime.mjs +391 -166
- package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-CWLfNqV0.mjs +160 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-CWLfNqV0.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-C7cT82K2.mjs +120 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-C7cT82K2.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-eMBby9k4.mjs → acorex-platform-themes-default-entity-master-single-view.component-Br9p5aXT.mjs} +21 -28
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-Br9p5aXT.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-error-401.component-cfREo88K.mjs → acorex-platform-themes-default-error-401.component-C7EYJzSr.mjs} +4 -4
- package/fesm2022/acorex-platform-themes-default-error-401.component-C7EYJzSr.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-error-404.component-CdCV5ZoA.mjs → acorex-platform-themes-default-error-404.component-7MVLMwIa.mjs} +4 -4
- package/fesm2022/acorex-platform-themes-default-error-404.component-7MVLMwIa.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-error-offline.component-DR6G8gPC.mjs +19 -0
- package/fesm2022/acorex-platform-themes-default-error-offline.component-DR6G8gPC.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default.mjs +2289 -90
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-shared-icon-chooser-column.component-C0EpfU2k.mjs → acorex-platform-themes-shared-icon-chooser-column.component-CqkWJYdv.mjs} +6 -6
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-CqkWJYdv.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-shared-icon-chooser-view.component-9W52W6Nu.mjs → acorex-platform-themes-shared-icon-chooser-view.component-BOTuLdWN.mjs} +6 -6
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-BOTuLdWN.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs → acorex-platform-themes-shared-settings.provider-BjuzSe0T.mjs} +52 -33
- package/fesm2022/acorex-platform-themes-shared-settings.provider-BjuzSe0T.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-D566Kdvy.mjs +94 -0
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-D566Kdvy.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-D7-rCGl7.mjs +86 -0
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-D7-rCGl7.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared.mjs +790 -612
- package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
- package/fesm2022/acorex-platform-workflow.mjs +978 -238
- package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
- package/fesm2022/acorex-platform.mjs.map +1 -1
- package/package.json +40 -38
- package/{auth/index.d.ts → types/acorex-platform-auth.d.ts} +241 -4
- package/{common/index.d.ts → types/acorex-platform-common.d.ts} +833 -89
- package/{core/index.d.ts → types/acorex-platform-core.d.ts} +779 -164
- package/{domain/index.d.ts → types/acorex-platform-domain.d.ts} +744 -412
- package/{layout/builder/index.d.ts → types/acorex-platform-layout-builder.d.ts} +277 -55
- package/types/acorex-platform-layout-components.d.ts +3257 -0
- package/{layout/designer/index.d.ts → types/acorex-platform-layout-designer.d.ts} +96 -18
- package/types/acorex-platform-layout-entity.d.ts +4492 -0
- package/{layout/views/index.d.ts → types/acorex-platform-layout-views.d.ts} +247 -62
- package/{layout/widget-core/index.d.ts → types/acorex-platform-layout-widget-core.d.ts} +437 -131
- package/{layout/widgets/index.d.ts → types/acorex-platform-layout-widgets.d.ts} +1140 -506
- package/{native/index.d.ts → types/acorex-platform-native.d.ts} +0 -7
- package/types/acorex-platform-runtime.d.ts +571 -0
- package/{themes/default/index.d.ts → types/acorex-platform-themes-default.d.ts} +254 -7
- package/{themes/shared/index.d.ts → types/acorex-platform-themes-shared.d.ts} +30 -2
- package/{workflow/index.d.ts → types/acorex-platform-workflow.d.ts} +620 -617
- package/fesm2022/acorex-platform-common-common-settings.provider-zhqNP3xb.mjs +0 -71
- package/fesm2022/acorex-platform-common-common-settings.provider-zhqNP3xb.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-C3VoBb_b.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-CxrsI6Hn.mjs +0 -135
- package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-CxrsI6Hn.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-V31OpYah.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-BtZMBxYp.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-Ck7-wpT2.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-y8vjUiVs.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-Df1BFkSa.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-VIGuU5M4.mjs +0 -157
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-VIGuU5M4.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DfJEx_bs.mjs +0 -1542
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DfJEx_bs.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Ua3ZA5hk.mjs +0 -101
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Ua3ZA5hk.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-eMBby9k4.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-error-401.component-cfREo88K.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-error-404.component-CdCV5ZoA.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-error-offline.component-E7SzBcAt.mjs +0 -19
- package/fesm2022/acorex-platform-themes-default-error-offline.component-E7SzBcAt.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-C0EpfU2k.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-9W52W6Nu.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-DTnfRy5f.mjs +0 -65
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-DTnfRy5f.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-DY0JtT1v.mjs +0 -64
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-DY0JtT1v.mjs.map +0 -1
- package/layout/components/index.d.ts +0 -1669
- package/layout/entity/index.d.ts +0 -2287
- package/runtime/index.d.ts +0 -307
- /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
|
-
import { AXPHomePageService } from '@acorex/platform/common';
|
|
17
|
+
import { AXPHomePageService, AXPEntityCommandScope } 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
|
|
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<
|
|
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<
|
|
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>;
|
|
@@ -60,7 +65,10 @@ declare class AXPPageLayoutComponent {
|
|
|
60
65
|
overlayLoadingTaskCount: _angular_core.Signal<number>;
|
|
61
66
|
navigationLoadingTaskCount: _angular_core.Signal<number>;
|
|
62
67
|
sideMenuState: _angular_core.Signal<_acorex_platform_themes_shared.AXPSideMenuState>;
|
|
68
|
+
overlaySideMenuOpen: _angular_core.Signal<boolean>;
|
|
63
69
|
sideMenuWidth: _angular_core.Signal<number>;
|
|
70
|
+
sideMenuCompactWidth: _angular_core.Signal<number>;
|
|
71
|
+
menuVerticalMode: _angular_core.Signal<_acorex_platform_themes_shared.AXPMenuVerticalMode>;
|
|
64
72
|
menuOrientation: _angular_core.Signal<_acorex_platform_themes_shared.AXPMenuOrientation>;
|
|
65
73
|
isPrinting: _angular_core.Signal<boolean>;
|
|
66
74
|
isDarkMode: _angular_core.Signal<boolean>;
|
|
@@ -70,10 +78,14 @@ declare class AXPPageLayoutComponent {
|
|
|
70
78
|
isOverlayLoading: _angular_core.Signal<boolean>;
|
|
71
79
|
isNavigationLoading: _angular_core.Signal<boolean>;
|
|
72
80
|
isMenuHorizontal: _angular_core.Signal<boolean>;
|
|
81
|
+
effectiveMenuVerticalMode: _angular_core.Signal<_acorex_platform_themes_shared.AXPMenuVerticalMode>;
|
|
82
|
+
sideMenuDrawerWidth: _angular_core.Signal<number>;
|
|
73
83
|
changeThemeMode: (theme: _acorex_platform_themes_shared.AXPThemeMode) => void;
|
|
74
84
|
openSideMenu: () => void;
|
|
75
85
|
closeSideMenu: () => void;
|
|
76
86
|
setSideMenuWidth: (width: number) => void;
|
|
87
|
+
setSideMenuCompactWidth: (width: number) => void;
|
|
88
|
+
setSideMenuDrawerWidth: (width: number) => void;
|
|
77
89
|
toggleSideMenu: () => void;
|
|
78
90
|
setNavigationLoading: (value: boolean, delay?: number) => void;
|
|
79
91
|
setOverlayLoading: (value: boolean, delay?: number) => void;
|
|
@@ -91,7 +103,10 @@ declare class AXPPageLayoutComponent {
|
|
|
91
103
|
overlayLoadingTaskCount: number;
|
|
92
104
|
navigationLoadingTaskCount: number;
|
|
93
105
|
sideMenuState: _acorex_platform_themes_shared.AXPSideMenuState;
|
|
106
|
+
overlaySideMenuOpen: boolean;
|
|
94
107
|
sideMenuWidth: number;
|
|
108
|
+
sideMenuCompactWidth: number;
|
|
109
|
+
menuVerticalMode: _acorex_platform_themes_shared.AXPMenuVerticalMode;
|
|
95
110
|
menuOrientation: _acorex_platform_themes_shared.AXPMenuOrientation;
|
|
96
111
|
isPrinting: boolean;
|
|
97
112
|
}>;
|
|
@@ -106,11 +121,13 @@ declare class AXPPageLayoutComponent {
|
|
|
106
121
|
protected handleBackdropClick(e: AXClickEvent): boolean;
|
|
107
122
|
protected execute(command: AXPExecuteCommand): Promise<void>;
|
|
108
123
|
protected handleOnBackdropClick(event: MouseEvent): void;
|
|
124
|
+
protected getEntityData(): Record<string, any> | null;
|
|
125
|
+
protected handleStatusTransition(transition: any): Promise<void>;
|
|
109
126
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPPageLayoutComponent, never>;
|
|
110
127
|
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
128
|
}
|
|
112
129
|
|
|
113
|
-
declare abstract class AXPPageLayoutBaseComponent {
|
|
130
|
+
declare abstract class AXPPageLayoutBaseComponent implements AXPPageLayoutBase {
|
|
114
131
|
#private;
|
|
115
132
|
protected readonly layoutService: {
|
|
116
133
|
currentMode: _angular_core.Signal<_acorex_platform_themes_shared.AXPThemeMode>;
|
|
@@ -125,7 +142,10 @@ declare abstract class AXPPageLayoutBaseComponent {
|
|
|
125
142
|
overlayLoadingTaskCount: _angular_core.Signal<number>;
|
|
126
143
|
navigationLoadingTaskCount: _angular_core.Signal<number>;
|
|
127
144
|
sideMenuState: _angular_core.Signal<_acorex_platform_themes_shared.AXPSideMenuState>;
|
|
145
|
+
overlaySideMenuOpen: _angular_core.Signal<boolean>;
|
|
128
146
|
sideMenuWidth: _angular_core.Signal<number>;
|
|
147
|
+
sideMenuCompactWidth: _angular_core.Signal<number>;
|
|
148
|
+
menuVerticalMode: _angular_core.Signal<_acorex_platform_themes_shared.AXPMenuVerticalMode>;
|
|
129
149
|
menuOrientation: _angular_core.Signal<_acorex_platform_themes_shared.AXPMenuOrientation>;
|
|
130
150
|
isPrinting: _angular_core.Signal<boolean>;
|
|
131
151
|
isDarkMode: _angular_core.Signal<boolean>;
|
|
@@ -135,10 +155,14 @@ declare abstract class AXPPageLayoutBaseComponent {
|
|
|
135
155
|
isOverlayLoading: _angular_core.Signal<boolean>;
|
|
136
156
|
isNavigationLoading: _angular_core.Signal<boolean>;
|
|
137
157
|
isMenuHorizontal: _angular_core.Signal<boolean>;
|
|
158
|
+
effectiveMenuVerticalMode: _angular_core.Signal<_acorex_platform_themes_shared.AXPMenuVerticalMode>;
|
|
159
|
+
sideMenuDrawerWidth: _angular_core.Signal<number>;
|
|
138
160
|
changeThemeMode: (theme: _acorex_platform_themes_shared.AXPThemeMode) => void;
|
|
139
161
|
openSideMenu: () => void;
|
|
140
162
|
closeSideMenu: () => void;
|
|
141
163
|
setSideMenuWidth: (width: number) => void;
|
|
164
|
+
setSideMenuCompactWidth: (width: number) => void;
|
|
165
|
+
setSideMenuDrawerWidth: (width: number) => void;
|
|
142
166
|
toggleSideMenu: () => void;
|
|
143
167
|
setNavigationLoading: (value: boolean, delay?: number) => void;
|
|
144
168
|
setOverlayLoading: (value: boolean, delay?: number) => void;
|
|
@@ -156,7 +180,10 @@ declare abstract class AXPPageLayoutBaseComponent {
|
|
|
156
180
|
overlayLoadingTaskCount: number;
|
|
157
181
|
navigationLoadingTaskCount: number;
|
|
158
182
|
sideMenuState: _acorex_platform_themes_shared.AXPSideMenuState;
|
|
183
|
+
overlaySideMenuOpen: boolean;
|
|
159
184
|
sideMenuWidth: number;
|
|
185
|
+
sideMenuCompactWidth: number;
|
|
186
|
+
menuVerticalMode: _acorex_platform_themes_shared.AXPMenuVerticalMode;
|
|
160
187
|
menuOrientation: _acorex_platform_themes_shared.AXPMenuOrientation;
|
|
161
188
|
isPrinting: boolean;
|
|
162
189
|
}>;
|
|
@@ -170,29 +197,35 @@ declare abstract class AXPPageLayoutBaseComponent {
|
|
|
170
197
|
protected updateTrigger: _angular_core.Signal<number>;
|
|
171
198
|
protected recompute(): void;
|
|
172
199
|
ngOnInit(): Promise<void>;
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
200
|
+
title: _angular_core.WritableSignal<_acorex_core_translation.AXMultiLanguageString>;
|
|
201
|
+
titleIcon: _angular_core.WritableSignal<string | null>;
|
|
202
|
+
protected getPageTitle(): AXPMultiLanguageString | Promise<AXPMultiLanguageString>;
|
|
203
|
+
protected getPageIcon(): string | null | Promise<string | null>;
|
|
204
|
+
hasTitle: _angular_core.Signal<boolean>;
|
|
205
|
+
hasTitleIcon: _angular_core.Signal<boolean>;
|
|
206
|
+
description: _angular_core.WritableSignal<_acorex_core_translation.AXMultiLanguageString | null>;
|
|
207
|
+
hasDescription: _angular_core.Signal<boolean>;
|
|
208
|
+
protected getPageDescription(): AXPMultiLanguageString | null | Promise<AXPMultiLanguageString | null>;
|
|
179
209
|
private defaultBreadCrumbs;
|
|
180
|
-
|
|
181
|
-
|
|
210
|
+
breadcrumbs: _angular_core.WritableSignal<AXPBreadcrumbItem[]>;
|
|
211
|
+
hasBreadcrumbs: _angular_core.Signal<boolean>;
|
|
182
212
|
protected getPageBreadcrumbs(): AXPBreadcrumbItem[] | Promise<AXPBreadcrumbItem[]>;
|
|
183
|
-
|
|
184
|
-
|
|
213
|
+
badge: _angular_core.WritableSignal<AXPBadge | null>;
|
|
214
|
+
hasBadge: _angular_core.Signal<boolean>;
|
|
185
215
|
protected getPageBadge(): AXPBadge | null | Promise<AXPBadge | null>;
|
|
216
|
+
status: _angular_core.WritableSignal<AXPPageStatus | null>;
|
|
217
|
+
hasStatus: _angular_core.Signal<boolean>;
|
|
218
|
+
protected getPageStatus(): AXPPageStatus | null | Promise<AXPPageStatus | null>;
|
|
186
219
|
protected layout: _angular_core.Signal<AXPPageLayoutComponent | undefined>;
|
|
187
220
|
protected toggleEndSide(): void;
|
|
188
221
|
protected toggleStartSide(): void;
|
|
189
222
|
primaryMenuItems: _angular_core.WritableSignal<AXPActionMenuItem[]>;
|
|
190
223
|
hasPrimaryActions: _angular_core.Signal<boolean>;
|
|
191
|
-
|
|
224
|
+
getPrimaryMenuItems(): AXPActionMenuItem[] | Promise<AXPActionMenuItem[]>;
|
|
192
225
|
secondaryMenuItems: _angular_core.WritableSignal<AXPActionMenuItem[]>;
|
|
193
226
|
hasSecondaryActions: _angular_core.Signal<boolean>;
|
|
194
227
|
hasActions: _angular_core.Signal<boolean>;
|
|
195
|
-
|
|
228
|
+
getSecondaryMenuItems(): AXPActionMenuItem[] | Promise<AXPActionMenuItem[]>;
|
|
196
229
|
titleActions: _angular_core.WritableSignal<AXPActionMenuItem[]>;
|
|
197
230
|
hasTitleActions: _angular_core.Signal<boolean>;
|
|
198
231
|
protected getTitleActions(): AXPActionMenuItem[] | Promise<AXPActionMenuItem[]>;
|
|
@@ -200,6 +233,11 @@ declare abstract class AXPPageLayoutBaseComponent {
|
|
|
200
233
|
hasBackButton: _angular_core.Signal<boolean>;
|
|
201
234
|
protected getBackButton(): (AXPBackButton | null) | Promise<AXPBackButton | null>;
|
|
202
235
|
execute(command: AXPExecuteCommand): void | Promise<void>;
|
|
236
|
+
/**
|
|
237
|
+
* Optional partial context to merge into the create/update wizard when leaving a page step.
|
|
238
|
+
* Override when the page keeps edits in local state instead of the shared form context.
|
|
239
|
+
*/
|
|
240
|
+
getWizardStepContext(): Record<string, unknown> | null;
|
|
203
241
|
startSideToggle(): void | Promise<void>;
|
|
204
242
|
onBackButtonClick(): void | Promise<void>;
|
|
205
243
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPPageLayoutBaseComponent, never>;
|
|
@@ -235,7 +273,10 @@ declare class AXPPopupLayoutComponent {
|
|
|
235
273
|
overlayLoadingTaskCount: _angular_core.Signal<number>;
|
|
236
274
|
navigationLoadingTaskCount: _angular_core.Signal<number>;
|
|
237
275
|
sideMenuState: _angular_core.Signal<_acorex_platform_themes_shared.AXPSideMenuState>;
|
|
276
|
+
overlaySideMenuOpen: _angular_core.Signal<boolean>;
|
|
238
277
|
sideMenuWidth: _angular_core.Signal<number>;
|
|
278
|
+
sideMenuCompactWidth: _angular_core.Signal<number>;
|
|
279
|
+
menuVerticalMode: _angular_core.Signal<_acorex_platform_themes_shared.AXPMenuVerticalMode>;
|
|
239
280
|
menuOrientation: _angular_core.Signal<_acorex_platform_themes_shared.AXPMenuOrientation>;
|
|
240
281
|
isPrinting: _angular_core.Signal<boolean>;
|
|
241
282
|
isDarkMode: _angular_core.Signal<boolean>;
|
|
@@ -245,10 +286,14 @@ declare class AXPPopupLayoutComponent {
|
|
|
245
286
|
isOverlayLoading: _angular_core.Signal<boolean>;
|
|
246
287
|
isNavigationLoading: _angular_core.Signal<boolean>;
|
|
247
288
|
isMenuHorizontal: _angular_core.Signal<boolean>;
|
|
289
|
+
effectiveMenuVerticalMode: _angular_core.Signal<_acorex_platform_themes_shared.AXPMenuVerticalMode>;
|
|
290
|
+
sideMenuDrawerWidth: _angular_core.Signal<number>;
|
|
248
291
|
changeThemeMode: (theme: _acorex_platform_themes_shared.AXPThemeMode) => void;
|
|
249
292
|
openSideMenu: () => void;
|
|
250
293
|
closeSideMenu: () => void;
|
|
251
294
|
setSideMenuWidth: (width: number) => void;
|
|
295
|
+
setSideMenuCompactWidth: (width: number) => void;
|
|
296
|
+
setSideMenuDrawerWidth: (width: number) => void;
|
|
252
297
|
toggleSideMenu: () => void;
|
|
253
298
|
setNavigationLoading: (value: boolean, delay?: number) => void;
|
|
254
299
|
setOverlayLoading: (value: boolean, delay?: number) => void;
|
|
@@ -266,7 +311,10 @@ declare class AXPPopupLayoutComponent {
|
|
|
266
311
|
overlayLoadingTaskCount: number;
|
|
267
312
|
navigationLoadingTaskCount: number;
|
|
268
313
|
sideMenuState: _acorex_platform_themes_shared.AXPSideMenuState;
|
|
314
|
+
overlaySideMenuOpen: boolean;
|
|
269
315
|
sideMenuWidth: number;
|
|
316
|
+
sideMenuCompactWidth: number;
|
|
317
|
+
menuVerticalMode: _acorex_platform_themes_shared.AXPMenuVerticalMode;
|
|
270
318
|
menuOrientation: _acorex_platform_themes_shared.AXPMenuOrientation;
|
|
271
319
|
isPrinting: boolean;
|
|
272
320
|
}>;
|
|
@@ -294,7 +342,10 @@ declare abstract class AXPPopupLayoutBaseComponent extends AXBasePageComponent {
|
|
|
294
342
|
overlayLoadingTaskCount: _angular_core.Signal<number>;
|
|
295
343
|
navigationLoadingTaskCount: _angular_core.Signal<number>;
|
|
296
344
|
sideMenuState: _angular_core.Signal<_acorex_platform_themes_shared.AXPSideMenuState>;
|
|
345
|
+
overlaySideMenuOpen: _angular_core.Signal<boolean>;
|
|
297
346
|
sideMenuWidth: _angular_core.Signal<number>;
|
|
347
|
+
sideMenuCompactWidth: _angular_core.Signal<number>;
|
|
348
|
+
menuVerticalMode: _angular_core.Signal<_acorex_platform_themes_shared.AXPMenuVerticalMode>;
|
|
298
349
|
menuOrientation: _angular_core.Signal<_acorex_platform_themes_shared.AXPMenuOrientation>;
|
|
299
350
|
isPrinting: _angular_core.Signal<boolean>;
|
|
300
351
|
isDarkMode: _angular_core.Signal<boolean>;
|
|
@@ -304,10 +355,14 @@ declare abstract class AXPPopupLayoutBaseComponent extends AXBasePageComponent {
|
|
|
304
355
|
isOverlayLoading: _angular_core.Signal<boolean>;
|
|
305
356
|
isNavigationLoading: _angular_core.Signal<boolean>;
|
|
306
357
|
isMenuHorizontal: _angular_core.Signal<boolean>;
|
|
358
|
+
effectiveMenuVerticalMode: _angular_core.Signal<_acorex_platform_themes_shared.AXPMenuVerticalMode>;
|
|
359
|
+
sideMenuDrawerWidth: _angular_core.Signal<number>;
|
|
307
360
|
changeThemeMode: (theme: _acorex_platform_themes_shared.AXPThemeMode) => void;
|
|
308
361
|
openSideMenu: () => void;
|
|
309
362
|
closeSideMenu: () => void;
|
|
310
363
|
setSideMenuWidth: (width: number) => void;
|
|
364
|
+
setSideMenuCompactWidth: (width: number) => void;
|
|
365
|
+
setSideMenuDrawerWidth: (width: number) => void;
|
|
311
366
|
toggleSideMenu: () => void;
|
|
312
367
|
setNavigationLoading: (value: boolean, delay?: number) => void;
|
|
313
368
|
setOverlayLoading: (value: boolean, delay?: number) => void;
|
|
@@ -325,7 +380,10 @@ declare abstract class AXPPopupLayoutBaseComponent extends AXBasePageComponent {
|
|
|
325
380
|
overlayLoadingTaskCount: number;
|
|
326
381
|
navigationLoadingTaskCount: number;
|
|
327
382
|
sideMenuState: _acorex_platform_themes_shared.AXPSideMenuState;
|
|
383
|
+
overlaySideMenuOpen: boolean;
|
|
328
384
|
sideMenuWidth: number;
|
|
385
|
+
sideMenuCompactWidth: number;
|
|
386
|
+
menuVerticalMode: _acorex_platform_themes_shared.AXPMenuVerticalMode;
|
|
329
387
|
menuOrientation: _acorex_platform_themes_shared.AXPMenuOrientation;
|
|
330
388
|
isPrinting: boolean;
|
|
331
389
|
}>;
|
|
@@ -360,7 +418,13 @@ declare abstract class AXPPopupLayoutBaseComponent extends AXBasePageComponent {
|
|
|
360
418
|
interface AXPLayoutDetailsViewAction extends AXPActionMenuItem {
|
|
361
419
|
zone: 'header' | 'footer';
|
|
362
420
|
priority: 'primary' | 'secondary';
|
|
421
|
+
scope?: AXPEntityCommandScope;
|
|
363
422
|
}
|
|
423
|
+
type AXPPageContentItem = AXPWidgetNode | {
|
|
424
|
+
type: 'component';
|
|
425
|
+
componentKey: string;
|
|
426
|
+
pageConfig?: Record<string, unknown>;
|
|
427
|
+
};
|
|
364
428
|
interface AXPLayoutDetailsViewTabItem {
|
|
365
429
|
id: string;
|
|
366
430
|
title: string;
|
|
@@ -372,25 +436,37 @@ interface AXPLayoutDetailsViewTabItem {
|
|
|
372
436
|
}
|
|
373
437
|
interface AXPLayoutDetailsViewPage {
|
|
374
438
|
id: string;
|
|
375
|
-
title:
|
|
376
|
-
label:
|
|
377
|
-
description?:
|
|
439
|
+
title: AXPMultiLanguageString;
|
|
440
|
+
label: AXPMultiLanguageString;
|
|
441
|
+
description?: AXPMultiLanguageString;
|
|
378
442
|
icon?: string;
|
|
379
|
-
|
|
443
|
+
/**
|
|
444
|
+
* Content can be either widget nodes or component references
|
|
445
|
+
*/
|
|
446
|
+
content?: AXPPageContentItem[];
|
|
380
447
|
tabs?: AXPLayoutDetailsViewTabItem[];
|
|
448
|
+
/**
|
|
449
|
+
* Static actions array (legacy, use getActions for reactive actions)
|
|
450
|
+
*/
|
|
381
451
|
actions?: AXPLayoutDetailsViewAction[];
|
|
452
|
+
/**
|
|
453
|
+
* Function to get actions dynamically (supports reactive updates from component instances)
|
|
454
|
+
*/
|
|
455
|
+
getActions?: () => Promise<AXPLayoutDetailsViewAction[]>;
|
|
382
456
|
isPrimary?: boolean;
|
|
383
457
|
isReadonly?: boolean;
|
|
384
458
|
settings?: {
|
|
385
459
|
commands?: {
|
|
386
460
|
accept?: {
|
|
387
461
|
title: string;
|
|
462
|
+
icon?: string;
|
|
388
463
|
color: string;
|
|
389
464
|
visible?: string | boolean;
|
|
390
465
|
command: AXPExecuteCommand;
|
|
391
466
|
};
|
|
392
467
|
reject?: {
|
|
393
468
|
title: string;
|
|
469
|
+
icon?: string;
|
|
394
470
|
color: string;
|
|
395
471
|
visible?: string | boolean;
|
|
396
472
|
command: AXPExecuteCommand;
|
|
@@ -402,16 +478,18 @@ interface AXPLayoutDetailsViewPage {
|
|
|
402
478
|
}
|
|
403
479
|
interface AXPLayoutDetailsViewAdapter {
|
|
404
480
|
name: string;
|
|
405
|
-
title?:
|
|
406
|
-
label?:
|
|
407
|
-
description?:
|
|
481
|
+
title?: AXPMultiLanguageString;
|
|
482
|
+
label?: AXPMultiLanguageString;
|
|
483
|
+
description?: AXPMultiLanguageString;
|
|
408
484
|
icon?: string;
|
|
409
485
|
actions?: AXPLayoutDetailsViewAction[];
|
|
410
486
|
breadcrumbs?: AXPBreadcrumbItem[];
|
|
411
487
|
pages: AXPLayoutDetailsViewPage[];
|
|
412
488
|
execute?: (command: AXPExecuteCommand, context: {}) => Promise<AXPExecuteCommandResult>;
|
|
413
|
-
load?: (params?: Record<string,
|
|
489
|
+
load?: (params?: Record<string, unknown>) => Promise<AXPExecuteCommandResult>;
|
|
414
490
|
exitUrl?: string;
|
|
491
|
+
getPageBadge?: (context: Record<string, unknown>, isDirty: boolean) => Promise<AXPBadge | null>;
|
|
492
|
+
getPageStatus?: (context: Record<string, unknown>, currentPage: AXPLayoutDetailsViewPage | null) => Promise<AXPPageStatus | null>;
|
|
415
493
|
}
|
|
416
494
|
|
|
417
495
|
declare const AXPLayoutDetailsViewViewModel: _angular_core.Type<{
|
|
@@ -420,7 +498,7 @@ declare const AXPLayoutDetailsViewViewModel: _angular_core.Type<{
|
|
|
420
498
|
previousContext: _angular_core.Signal<Record<string, any>>;
|
|
421
499
|
context: _angular_core.Signal<Record<string, any>>;
|
|
422
500
|
scope: _angular_core.Signal<AXPExpressionEvaluatorScope | null>;
|
|
423
|
-
status: _angular_core.Signal<AXPPageStatus>;
|
|
501
|
+
status: _angular_core.Signal<AXPPageStatus$1>;
|
|
424
502
|
currentPage: _angular_core.Signal<AXPLayoutDetailsViewPage | null>;
|
|
425
503
|
currentTab: _angular_core.Signal<AXPLayoutDetailsViewTabItem | null>;
|
|
426
504
|
pageSelectedRows: _angular_core.Signal<any[]>;
|
|
@@ -428,14 +506,18 @@ declare const AXPLayoutDetailsViewViewModel: _angular_core.Type<{
|
|
|
428
506
|
tabId: string;
|
|
429
507
|
tab: AXPLayoutDetailsViewTabItem;
|
|
430
508
|
}[]>>;
|
|
509
|
+
evaluatedPageContent: _angular_core.Signal<AXPWidgetNode[]>;
|
|
510
|
+
evaluatedTabContentsById: _angular_core.Signal<Record<string, AXPWidgetNode[]>>;
|
|
511
|
+
formIsDirty: _angular_core.Signal<boolean>;
|
|
512
|
+
formBaselineCommitted: _angular_core.Signal<boolean>;
|
|
431
513
|
icon: _angular_core.Signal<string | null>;
|
|
432
|
-
content: _angular_core.Signal<
|
|
514
|
+
content: _angular_core.Signal<_acorex_platform_layout_views.AXPPageContentItem[]>;
|
|
433
515
|
showPages: _angular_core.Signal<boolean>;
|
|
434
516
|
isLarge: _angular_core.Signal<boolean>;
|
|
435
517
|
isBusy: _angular_core.Signal<boolean>;
|
|
436
518
|
isSaving: _angular_core.Signal<boolean>;
|
|
437
519
|
isDirty: _angular_core.Signal<boolean>;
|
|
438
|
-
changesCount: _angular_core.Signal<
|
|
520
|
+
changesCount: _angular_core.Signal<1 | 0>;
|
|
439
521
|
isLoaded: _angular_core.Signal<boolean>;
|
|
440
522
|
currentPageSelectedRows: _angular_core.Signal<any[]>;
|
|
441
523
|
currentPageRenderedTabs: _angular_core.Signal<{
|
|
@@ -445,32 +527,35 @@ declare const AXPLayoutDetailsViewViewModel: _angular_core.Type<{
|
|
|
445
527
|
loadAdapter: (adapter: AXPLayoutDetailsViewAdapter) => Promise<void>;
|
|
446
528
|
loadPage: (pageId?: string, forceRefresh?: boolean) => Promise<void>;
|
|
447
529
|
load: (adapter: AXPLayoutDetailsViewAdapter) => Promise<void>;
|
|
448
|
-
updateContext: (context: any) => void;
|
|
530
|
+
updateContext: (context: any, formIsDirty?: boolean) => void;
|
|
531
|
+
markFormBaselineCommitted: () => void;
|
|
532
|
+
resetFormBaselineCommitted: () => void;
|
|
449
533
|
updatePageSelectedRows: (rows: any[]) => void;
|
|
450
|
-
currentPageTitle: () => string | null;
|
|
451
|
-
currentPageDescription: () => string | null;
|
|
452
534
|
currentPagePrimaryActions: () => Promise<any>;
|
|
453
535
|
currentPageSecondaryActions: () => Promise<any>;
|
|
454
|
-
currentPageContent: () =>
|
|
536
|
+
currentPageContent: () => AXPWidgetNode[];
|
|
455
537
|
currentPageTabs: () => AXPLayoutDetailsViewTabItem[] | undefined;
|
|
456
538
|
setCurrentPage: (page: AXPLayoutDetailsViewPage | null) => void;
|
|
457
539
|
setCurrentTab: (tab: AXPLayoutDetailsViewTabItem) => void;
|
|
458
|
-
getCurrentTabContent: () =>
|
|
459
|
-
getRenderedTabContent: (tabId: string) =>
|
|
540
|
+
getCurrentTabContent: () => AXPWidgetNode[];
|
|
541
|
+
getRenderedTabContent: (tabId: string) => AXPWidgetNode[];
|
|
460
542
|
clearPageTabCache: (pageId: string) => void;
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
543
|
+
backButtonTitle: () => _acorex_core_translation.AXMultiLanguageString;
|
|
544
|
+
getPageTitle: () => Promise<AXPMultiLanguageString>;
|
|
545
|
+
getPageDescription: () => Promise<AXPMultiLanguageString | null>;
|
|
546
|
+
getBackButton: () => Promise<AXPBackButton | null>;
|
|
547
|
+
getPageBadge: () => Promise<AXPBadge | null>;
|
|
548
|
+
getPageStatus: () => Promise<AXPPageStatus | null>;
|
|
464
549
|
primaryActions: () => Promise<any>;
|
|
465
550
|
secondaryActions: () => Promise<any>;
|
|
466
551
|
breadcrumbs: () => Promise<{
|
|
467
|
-
title:
|
|
552
|
+
title: _acorex_core_translation.AXMultiLanguageString;
|
|
468
553
|
name?: string;
|
|
469
554
|
icon?: string;
|
|
470
555
|
command?: AXPExecuteCommand;
|
|
471
556
|
}[]>;
|
|
472
557
|
discard: () => Promise<void>;
|
|
473
|
-
save: (command: AXPExecuteCommand, form: AXFormComponent) => Promise<
|
|
558
|
+
save: (command: AXPExecuteCommand, form: AXFormComponent) => Promise<boolean>;
|
|
474
559
|
goToListPage: () => void;
|
|
475
560
|
} & _ngrx_signals.StateSource<{
|
|
476
561
|
adapter: AXPLayoutDetailsViewAdapter | null;
|
|
@@ -478,7 +563,7 @@ declare const AXPLayoutDetailsViewViewModel: _angular_core.Type<{
|
|
|
478
563
|
previousContext: Record<string, any>;
|
|
479
564
|
context: Record<string, any>;
|
|
480
565
|
scope: AXPExpressionEvaluatorScope | null;
|
|
481
|
-
status: AXPPageStatus;
|
|
566
|
+
status: AXPPageStatus$1;
|
|
482
567
|
currentPage: AXPLayoutDetailsViewPage | null;
|
|
483
568
|
currentTab: AXPLayoutDetailsViewTabItem | null;
|
|
484
569
|
pageSelectedRows: any[];
|
|
@@ -486,6 +571,10 @@ declare const AXPLayoutDetailsViewViewModel: _angular_core.Type<{
|
|
|
486
571
|
tabId: string;
|
|
487
572
|
tab: AXPLayoutDetailsViewTabItem;
|
|
488
573
|
}>>;
|
|
574
|
+
evaluatedPageContent: AXPWidgetNode[];
|
|
575
|
+
evaluatedTabContentsById: Record<string, AXPWidgetNode[]>;
|
|
576
|
+
formIsDirty: boolean;
|
|
577
|
+
formBaselineCommitted: boolean;
|
|
489
578
|
}>>;
|
|
490
579
|
|
|
491
580
|
declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent implements OnInit, OnDestroy {
|
|
@@ -505,14 +594,18 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
|
|
|
505
594
|
tabId: string;
|
|
506
595
|
tab: _acorex_platform_layout_views.AXPLayoutDetailsViewTabItem;
|
|
507
596
|
}[]>>;
|
|
597
|
+
evaluatedPageContent: _angular_core.Signal<_acorex_platform_layout_widget_core.AXPWidgetNode[]>;
|
|
598
|
+
evaluatedTabContentsById: _angular_core.Signal<Record<string, _acorex_platform_layout_widget_core.AXPWidgetNode[]>>;
|
|
599
|
+
formIsDirty: _angular_core.Signal<boolean>;
|
|
600
|
+
formBaselineCommitted: _angular_core.Signal<boolean>;
|
|
508
601
|
icon: _angular_core.Signal<string | null>;
|
|
509
|
-
content: _angular_core.Signal<
|
|
602
|
+
content: _angular_core.Signal<_acorex_platform_layout_views.AXPPageContentItem[]>;
|
|
510
603
|
showPages: _angular_core.Signal<boolean>;
|
|
511
604
|
isLarge: _angular_core.Signal<boolean>;
|
|
512
605
|
isBusy: _angular_core.Signal<boolean>;
|
|
513
606
|
isSaving: _angular_core.Signal<boolean>;
|
|
514
607
|
isDirty: _angular_core.Signal<boolean>;
|
|
515
|
-
changesCount: _angular_core.Signal<
|
|
608
|
+
changesCount: _angular_core.Signal<1 | 0>;
|
|
516
609
|
isLoaded: _angular_core.Signal<boolean>;
|
|
517
610
|
currentPageSelectedRows: _angular_core.Signal<any[]>;
|
|
518
611
|
currentPageRenderedTabs: _angular_core.Signal<{
|
|
@@ -522,32 +615,35 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
|
|
|
522
615
|
loadAdapter: (adapter: AXPLayoutDetailsViewAdapter) => Promise<void>;
|
|
523
616
|
loadPage: (pageId?: string, forceRefresh?: boolean) => Promise<void>;
|
|
524
617
|
load: (adapter: AXPLayoutDetailsViewAdapter) => Promise<void>;
|
|
525
|
-
updateContext: (context: any) => void;
|
|
618
|
+
updateContext: (context: any, formIsDirty?: boolean) => void;
|
|
619
|
+
markFormBaselineCommitted: () => void;
|
|
620
|
+
resetFormBaselineCommitted: () => void;
|
|
526
621
|
updatePageSelectedRows: (rows: any[]) => void;
|
|
527
|
-
currentPageTitle: () => string | null;
|
|
528
|
-
currentPageDescription: () => string | null;
|
|
529
622
|
currentPagePrimaryActions: () => Promise<any>;
|
|
530
623
|
currentPageSecondaryActions: () => Promise<any>;
|
|
531
|
-
currentPageContent: () => _acorex_platform_layout_widget_core.AXPWidgetNode[]
|
|
624
|
+
currentPageContent: () => _acorex_platform_layout_widget_core.AXPWidgetNode[];
|
|
532
625
|
currentPageTabs: () => _acorex_platform_layout_views.AXPLayoutDetailsViewTabItem[] | undefined;
|
|
533
626
|
setCurrentPage: (page: AXPLayoutDetailsViewPage | null) => void;
|
|
534
627
|
setCurrentTab: (tab: _acorex_platform_layout_views.AXPLayoutDetailsViewTabItem) => void;
|
|
535
628
|
getCurrentTabContent: () => _acorex_platform_layout_widget_core.AXPWidgetNode[];
|
|
536
629
|
getRenderedTabContent: (tabId: string) => _acorex_platform_layout_widget_core.AXPWidgetNode[];
|
|
537
630
|
clearPageTabCache: (pageId: string) => void;
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
631
|
+
backButtonTitle: () => _acorex_core_translation.AXMultiLanguageString;
|
|
632
|
+
getPageTitle: () => Promise<AXPMultiLanguageString>;
|
|
633
|
+
getPageDescription: () => Promise<AXPMultiLanguageString | null>;
|
|
634
|
+
getBackButton: () => Promise<AXPBackButton | null>;
|
|
635
|
+
getPageBadge: () => Promise<AXPBadge | null>;
|
|
636
|
+
getPageStatus: () => Promise<AXPPageStatus | null>;
|
|
541
637
|
primaryActions: () => Promise<any>;
|
|
542
638
|
secondaryActions: () => Promise<any>;
|
|
543
639
|
breadcrumbs: () => Promise<{
|
|
544
|
-
title:
|
|
640
|
+
title: _acorex_core_translation.AXMultiLanguageString;
|
|
545
641
|
name?: string;
|
|
546
642
|
icon?: string;
|
|
547
643
|
command?: AXPExecuteCommand;
|
|
548
644
|
}[]>;
|
|
549
645
|
discard: () => Promise<void>;
|
|
550
|
-
save: (command: AXPExecuteCommand, form: AXFormComponent) => Promise<
|
|
646
|
+
save: (command: AXPExecuteCommand, form: AXFormComponent) => Promise<boolean>;
|
|
551
647
|
goToListPage: () => void;
|
|
552
648
|
} & _ngrx_signals.StateSource<{
|
|
553
649
|
adapter: AXPLayoutDetailsViewAdapter | null;
|
|
@@ -563,6 +659,10 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
|
|
|
563
659
|
tabId: string;
|
|
564
660
|
tab: _acorex_platform_layout_views.AXPLayoutDetailsViewTabItem;
|
|
565
661
|
}>>;
|
|
662
|
+
evaluatedPageContent: _acorex_platform_layout_widget_core.AXPWidgetNode[];
|
|
663
|
+
evaluatedTabContentsById: Record<string, _acorex_platform_layout_widget_core.AXPWidgetNode[]>;
|
|
664
|
+
formIsDirty: boolean;
|
|
665
|
+
formBaselineCommitted: boolean;
|
|
566
666
|
}>;
|
|
567
667
|
protected router: Router;
|
|
568
668
|
protected route: ActivatedRoute;
|
|
@@ -570,13 +670,41 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
|
|
|
570
670
|
protected deviceService: AXPDeviceService;
|
|
571
671
|
private onSelectionChangeSubscription?;
|
|
572
672
|
private readonly destroyed$;
|
|
673
|
+
private formBaselineCaptured;
|
|
674
|
+
private formBaselinePageKey;
|
|
675
|
+
private formBaselineTimer?;
|
|
676
|
+
private suppressDirtySync;
|
|
677
|
+
private footerActionsGeneration;
|
|
678
|
+
private static readonly FORM_BASELINE_IDLE_MS;
|
|
679
|
+
/** Save/discard use live {@link AXPLayoutDetailsViewViewModel.isDirty}; other actions use evaluated `visible`. */
|
|
680
|
+
private static isTruthyActionFlag;
|
|
573
681
|
protected form: _angular_core.Signal<AXFormComponent | undefined>;
|
|
574
682
|
protected widgetContainer: _angular_core.Signal<AXPWidgetContainerComponent | undefined>;
|
|
575
683
|
protected footerPrimaryActions: _angular_core.WritableSignal<AXPActionMenuItem[]>;
|
|
576
684
|
protected footerSecondaryActions: _angular_core.WritableSignal<AXPActionMenuItem[]>;
|
|
577
685
|
protected footerActions: _angular_core.Signal<AXPActionMenuItem[]>;
|
|
686
|
+
protected rejectFooterCommand: _angular_core.Signal<{
|
|
687
|
+
title: string;
|
|
688
|
+
icon?: string;
|
|
689
|
+
color: string;
|
|
690
|
+
visible?: string | boolean;
|
|
691
|
+
command: AXPExecuteCommand;
|
|
692
|
+
} | null>;
|
|
693
|
+
protected acceptFooterCommand: _angular_core.Signal<{
|
|
694
|
+
title: string;
|
|
695
|
+
icon?: string;
|
|
696
|
+
color: string;
|
|
697
|
+
visible?: string | boolean;
|
|
698
|
+
command: AXPExecuteCommand;
|
|
699
|
+
} | null>;
|
|
700
|
+
protected hasSaveDiscardFooterCommands: _angular_core.Signal<boolean>;
|
|
701
|
+
/** Entity save/discard — driven live by {@link AXPLayoutDetailsViewViewModel.isDirty}, not evaluated action metadata. */
|
|
702
|
+
protected showSaveDiscardFooter: _angular_core.Signal<boolean>;
|
|
578
703
|
protected hasVisibleFooterPrimaryActions: _angular_core.Signal<boolean>;
|
|
579
704
|
protected hasVisibleFooterSecondaryActions: _angular_core.Signal<boolean>;
|
|
705
|
+
protected isSaveDiscardFooterAction(action: AXPActionMenuItem): boolean;
|
|
706
|
+
protected isFooterActionVisible(action: AXPActionMenuItem): boolean;
|
|
707
|
+
protected isFooterActionDisabled(action: AXPActionMenuItem): boolean;
|
|
580
708
|
protected hasFooter: _angular_core.Signal<boolean>;
|
|
581
709
|
/**
|
|
582
710
|
* Append timestamp query param to trigger router to re-run guards/resolvers
|
|
@@ -585,18 +713,34 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
|
|
|
585
713
|
ngOnInit(): Promise<void>;
|
|
586
714
|
ngAfterViewInit(): Promise<void>;
|
|
587
715
|
ngOnDestroy(): void;
|
|
588
|
-
|
|
716
|
+
private refreshFooterActions;
|
|
717
|
+
protected handleOnContextChanged(e: AXPContextChangeEvent): void;
|
|
718
|
+
/**
|
|
719
|
+
* Clears widget-store dirty state and schedules a fresh post-hydration baseline (discard / save).
|
|
720
|
+
*/
|
|
721
|
+
private resetFormDirtyBaseline;
|
|
722
|
+
/**
|
|
723
|
+
* Commits a clean baseline immediately when widgets are mounted; otherwise defers to idle commit.
|
|
724
|
+
*/
|
|
725
|
+
private finalizeFormCleanState;
|
|
726
|
+
private scheduleFormBaselineCommit;
|
|
589
727
|
protected handleSelectPage(page: AXPLayoutDetailsViewPage): void;
|
|
590
728
|
protected getAllPrimaryActions(): Promise<AXPLayoutDetailsViewAction[]>;
|
|
591
|
-
|
|
729
|
+
getPrimaryMenuItems(): Promise<AXPActionMenuItem[]>;
|
|
592
730
|
protected getFooterPrimaryActions(): Promise<AXPActionMenuItem[]>;
|
|
593
731
|
protected getAllSecondaryActions(): Promise<AXPLayoutDetailsViewAction[]>;
|
|
594
|
-
|
|
732
|
+
getSecondaryMenuItems(): Promise<AXPActionMenuItem[]>;
|
|
595
733
|
protected getFooterSecondaryActions(): Promise<AXPActionMenuItem[]>;
|
|
596
734
|
protected getPageBreadcrumbs(): Promise<AXPBreadcrumbItem[]>;
|
|
597
|
-
protected getPageTitle(): Promise<
|
|
598
|
-
getPageDescription(): Promise<
|
|
735
|
+
protected getPageTitle(): Promise<AXPMultiLanguageString>;
|
|
736
|
+
getPageDescription(): Promise<AXPMultiLanguageString | null>;
|
|
599
737
|
getBackButton(): Promise<AXPBackButton | null>;
|
|
738
|
+
getPageBadge(): Promise<AXPBadge | null>;
|
|
739
|
+
getPageStatus(): Promise<AXPPageStatus | null>;
|
|
740
|
+
/**
|
|
741
|
+
* Get entity data for status chip component
|
|
742
|
+
*/
|
|
743
|
+
getEntityData(): Record<string, any> | null;
|
|
600
744
|
onBackButtonClick(): Promise<void>;
|
|
601
745
|
execute(command: AXPExecuteCommand): Promise<void>;
|
|
602
746
|
protected handleKeyboardEvent(event: KeyboardEvent): Promise<void>;
|
|
@@ -604,5 +748,46 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
|
|
|
604
748
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPLayoutDetailsViewComponent, "axp-layout-details-view", never, { "adapter": { "alias": "adapter"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
605
749
|
}
|
|
606
750
|
|
|
607
|
-
|
|
608
|
-
|
|
751
|
+
/**
|
|
752
|
+
* Registry of rendered page component instances by component key.
|
|
753
|
+
* Used so page execute can delegate to the actual component instance in the view.
|
|
754
|
+
*/
|
|
755
|
+
declare class AXPPageComponentInstanceRegistryService {
|
|
756
|
+
private readonly instances;
|
|
757
|
+
register(key: string, instance: AXPPageLayoutBaseComponent): void;
|
|
758
|
+
unregister(key: string): void;
|
|
759
|
+
get(key: string): AXPPageLayoutBaseComponent | null;
|
|
760
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPPageComponentInstanceRegistryService, never>;
|
|
761
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPPageComponentInstanceRegistryService>;
|
|
762
|
+
}
|
|
763
|
+
|
|
764
|
+
/**
|
|
765
|
+
* Directive for rendering page components dynamically
|
|
766
|
+
* Similar to component-slot pattern but specifically for page components
|
|
767
|
+
*/
|
|
768
|
+
declare class AXPPageComponentRendererDirective implements OnInit, OnDestroy {
|
|
769
|
+
#private;
|
|
770
|
+
componentKey: _angular_core.InputSignal<string>;
|
|
771
|
+
rootContext: _angular_core.InputSignal<Record<string, any>>;
|
|
772
|
+
pageConfig: _angular_core.InputSignal<Record<string, unknown> | undefined>;
|
|
773
|
+
options: _angular_core.InputSignal<Record<string, any>>;
|
|
774
|
+
/** Emitted when the component instance is registered and ready */
|
|
775
|
+
componentReady: _angular_core.OutputEmitterRef<string>;
|
|
776
|
+
/** Returns the dynamically mounted page component instance, if loaded. */
|
|
777
|
+
getMountedPageInstance(): unknown;
|
|
778
|
+
private viewContainerRef;
|
|
779
|
+
private pageComponentRegistry;
|
|
780
|
+
private instanceRegistry;
|
|
781
|
+
private contextStore;
|
|
782
|
+
private componentRef;
|
|
783
|
+
ngOnInit(): Promise<void>;
|
|
784
|
+
ngOnDestroy(): void;
|
|
785
|
+
/** Persists page edits into the shared form context before the step component is destroyed. */
|
|
786
|
+
private syncWizardStepContextBeforeTeardown;
|
|
787
|
+
private loadComponent;
|
|
788
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPPageComponentRendererDirective, never>;
|
|
789
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AXPPageComponentRendererDirective, "[axp-page-component-renderer]", never, { "componentKey": { "alias": "componentKey"; "required": true; "isSignal": true; }; "rootContext": { "alias": "rootContext"; "required": false; "isSignal": true; }; "pageConfig": { "alias": "pageConfig"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; }, { "componentReady": "componentReady"; }, never, never, true, never>;
|
|
790
|
+
}
|
|
791
|
+
|
|
792
|
+
export { AXPLayoutDetailsViewComponent, AXPLayoutDetailsViewViewModel, AXPPageComponentInstanceRegistryService, AXPPageComponentRendererDirective, AXPPageLayoutBase, AXPPageLayoutBaseComponent, AXPPageLayoutComponent, AXPPopupLayoutBase, AXPPopupLayoutBaseComponent, AXPPopupLayoutComponent };
|
|
793
|
+
export type { AXPLayoutDetailsViewAction, AXPLayoutDetailsViewAdapter, AXPLayoutDetailsViewPage, AXPLayoutDetailsViewTabItem, AXPPageContentItem };
|