@acorex/platform 20.8.9 → 20.8.10
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 +125 -27
- package/fesm2022/acorex-platform-auth.mjs.map +1 -1
- package/fesm2022/{acorex-platform-common-common-settings.provider-DVvuLUfF.mjs → acorex-platform-common-common-settings.provider-Bi1RYif5.mjs} +30 -32
- package/fesm2022/acorex-platform-common-common-settings.provider-Bi1RYif5.mjs.map +1 -0
- package/fesm2022/acorex-platform-common.mjs +711 -205
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-core.mjs +420 -127
- 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 +634 -114
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/{acorex-platform-layout-components-binding-expression-editor-popup.component-CSxCnzwU.mjs → acorex-platform-layout-components-binding-expression-editor-popup.component-CXEdvDTf.mjs} +9 -9
- package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-CXEdvDTf.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-components.mjs +3365 -880
- 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.mjs +18667 -14048
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-views.mjs +413 -171
- package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-widget-core.mjs +507 -441
- package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
- package/fesm2022/{acorex-platform-layout-widgets-button-widget-designer.component-CPBzE96V.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-file-list-popup.component-Dtv6U3df.mjs → acorex-platform-layout-widgets-file-list-popup.component-CDYAGBku.mjs} +21 -76
- package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-CDYAGBku.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-image-preview.popup-QxJfswhK.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-CVdssZBD.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-BGO75IMz.mjs +116 -0
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-BGO75IMz.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-tabular-data-edit-popup.component-DVaZN9QN.mjs → acorex-platform-layout-widgets-tabular-data-edit-popup.component-DmzNTYiS.mjs} +5 -5
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-DmzNTYiS.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-tabular-data-view-popup.component-DPGHgXa6.mjs → acorex-platform-layout-widgets-tabular-data-view-popup.component-BNG_588B.mjs} +4 -4
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-BNG_588B.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-text-block-widget-designer.component-CdiNW691.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 +6578 -4314
- 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-Cx1lLUaR.mjs +160 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cx1lLUaR.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-AOrcgjDF.mjs +120 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-AOrcgjDF.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-rGsMVAZj.mjs → acorex-platform-themes-default-entity-master-single-view.component-BfCeUU5F.mjs} +16 -23
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-BfCeUU5F.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-error-401.component-53VB-PS_.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-DVF9soT5.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 +1784 -61
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-shared-icon-chooser-column.component-TJ9PWHMY.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-BHcKkIx0.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-DK6R87Lf.mjs} +24 -25
- package/fesm2022/acorex-platform-themes-shared-settings.provider-DK6R87Lf.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 +408 -305
- package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
- package/fesm2022/acorex-platform-workflow.mjs +359 -100
- package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
- package/fesm2022/acorex-platform.mjs.map +1 -1
- package/package.json +31 -31
- package/{auth/index.d.ts → types/acorex-platform-auth.d.ts} +14 -2
- package/{common/index.d.ts → types/acorex-platform-common.d.ts} +302 -30
- package/{core/index.d.ts → types/acorex-platform-core.d.ts} +188 -44
- 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} +160 -38
- package/{layout/components/index.d.ts → types/acorex-platform-layout-components.d.ts} +854 -125
- package/{layout/designer/index.d.ts → types/acorex-platform-layout-designer.d.ts} +96 -18
- package/{layout/entity/index.d.ts → types/acorex-platform-layout-entity.d.ts} +848 -63
- package/{layout/views/index.d.ts → types/acorex-platform-layout-views.d.ts} +80 -47
- package/{layout/widget-core/index.d.ts → types/acorex-platform-layout-widget-core.d.ts} +274 -197
- package/{layout/widgets/index.d.ts → types/acorex-platform-layout-widgets.d.ts} +608 -122
- 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} +113 -4
- package/{themes/shared/index.d.ts → types/acorex-platform-themes-shared.d.ts} +5 -4
- package/{workflow/index.d.ts → types/acorex-platform-workflow.d.ts} +162 -81
- package/fesm2022/acorex-platform-common-common-settings.provider-DVvuLUfF.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-CSxCnzwU.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-CPBzE96V.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-Dtv6U3df.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-QxJfswhK.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-CVdssZBD.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-BCxE0RTB.mjs +0 -111
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-BCxE0RTB.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-DVaZN9QN.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-DPGHgXa6.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-CdiNW691.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-D4hU2SCE.mjs +0 -160
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-D4hU2SCE.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-D2CtNrSn.mjs +0 -1716
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-D2CtNrSn.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BVTklnzs.mjs +0 -120
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BVTklnzs.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-rGsMVAZj.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-error-401.component-53VB-PS_.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-error-404.component-DVF9soT5.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-error-offline.component-CwNNHzZn.mjs +0 -19
- package/fesm2022/acorex-platform-themes-default-error-offline.component-CwNNHzZn.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-TJ9PWHMY.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-BHcKkIx0.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-BUPs84MI.mjs +0 -65
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-BUPs84MI.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-BotknoHn.mjs +0 -64
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-BotknoHn.mjs.map +0 -1
- package/runtime/index.d.ts +0 -307
- /package/{index.d.ts → types/acorex-platform.d.ts} +0 -0
|
@@ -4,11 +4,14 @@ import { Signal } from '@angular/core';
|
|
|
4
4
|
import * as _acorex_platform_themes_shared from '@acorex/platform/themes/shared';
|
|
5
5
|
import { AXValueChangedEvent } from '@acorex/cdk/common';
|
|
6
6
|
import { AXActionSheetService } from '@acorex/components/action-sheet';
|
|
7
|
-
import { AXDataTableComponent, AXRowCommandItem, AXDataTableRowDbClick, AXRowCommandItemClickEvent } from '@acorex/components/data-table';
|
|
7
|
+
import { AXDataTableComponent, AXRowCommandItem, AXDataTableRowDbClick, AXRowCommandItemClickEvent, onColumnSizeChangedEvent, AXColumnsOrderChangedEvent } from '@acorex/components/data-table';
|
|
8
8
|
import { AXUnsubscriber } from '@acorex/core/utils';
|
|
9
9
|
import * as _acorex_platform_core from '@acorex/platform/core';
|
|
10
|
-
import { AXPDeviceService } from '@acorex/platform/core';
|
|
11
|
-
import { AXPEntityCommandTriggerViewModel, AXPEntityDetailListViewModel } from '@acorex/platform/layout/entity';
|
|
10
|
+
import { AXPDeviceService, AXPBreadcrumbItem, AXPActionMenuItem, AXPExecuteCommand } from '@acorex/platform/core';
|
|
11
|
+
import { AXPEntityCommandTriggerViewModel, AXPEntityDetailListViewModel, AXPEntityMasterListViewModel } from '@acorex/platform/layout/entity';
|
|
12
|
+
import { AXPlatform } from '@acorex/core/platform';
|
|
13
|
+
import { AXDataPagerChangedEvent } from '@acorex/components/data-pager';
|
|
14
|
+
import { AXPPageLayoutBaseComponent } from '@acorex/platform/layout/views';
|
|
12
15
|
import * as _acorex_platform_common from '@acorex/platform/common';
|
|
13
16
|
import { AXPMenuItem, AXPSettingsService, AXPMenuVisibilityService } from '@acorex/platform/common';
|
|
14
17
|
import { AXPTaskBadgeService } from '@acorex/platform/layout/components';
|
|
@@ -92,6 +95,112 @@ declare class AXPEntityDetailListViewComponent {
|
|
|
92
95
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPEntityDetailListViewComponent, "axp-entity-detail-list-view", never, { "vm": { "alias": "viewModel"; "required": false; }; }, {}, never, never, true, never>;
|
|
93
96
|
}
|
|
94
97
|
|
|
98
|
+
declare class AXPEntityMasterListViewComponent extends AXPPageLayoutBaseComponent {
|
|
99
|
+
protected platform: AXPlatform;
|
|
100
|
+
private activeRoute;
|
|
101
|
+
private router;
|
|
102
|
+
protected readonly vm: AXPEntityMasterListViewModel;
|
|
103
|
+
protected store: {
|
|
104
|
+
currentMode: _angular_core.Signal<_acorex_platform_themes_shared.AXPThemeMode>;
|
|
105
|
+
currentPalette: _angular_core.Signal<string>;
|
|
106
|
+
systemThemeMode: _angular_core.Signal<_acorex_platform_themes_shared.AXPThemeMode>;
|
|
107
|
+
font: _ngrx_signals.DeepSignal<{
|
|
108
|
+
family: string;
|
|
109
|
+
size: string;
|
|
110
|
+
}>;
|
|
111
|
+
overlayLoading: _angular_core.Signal<boolean>;
|
|
112
|
+
navigationLoading: _angular_core.Signal<boolean>;
|
|
113
|
+
overlayLoadingTaskCount: _angular_core.Signal<number>;
|
|
114
|
+
navigationLoadingTaskCount: _angular_core.Signal<number>;
|
|
115
|
+
sideMenuState: _angular_core.Signal<_acorex_platform_themes_shared.AXPSideMenuState>;
|
|
116
|
+
sideMenuWidth: _angular_core.Signal<number>;
|
|
117
|
+
menuOrientation: _angular_core.Signal<_acorex_platform_themes_shared.AXPMenuOrientation>;
|
|
118
|
+
isPrinting: _angular_core.Signal<boolean>;
|
|
119
|
+
isDarkMode: _angular_core.Signal<boolean>;
|
|
120
|
+
isLightMode: _angular_core.Signal<boolean>;
|
|
121
|
+
isSystemMode: _angular_core.Signal<boolean>;
|
|
122
|
+
isSideMenuOpen: _angular_core.Signal<boolean>;
|
|
123
|
+
isOverlayLoading: _angular_core.Signal<boolean>;
|
|
124
|
+
isNavigationLoading: _angular_core.Signal<boolean>;
|
|
125
|
+
isMenuHorizontal: _angular_core.Signal<boolean>;
|
|
126
|
+
changeThemeMode: (theme: _acorex_platform_themes_shared.AXPThemeMode) => void;
|
|
127
|
+
openSideMenu: () => void;
|
|
128
|
+
closeSideMenu: () => void;
|
|
129
|
+
setSideMenuWidth: (width: number) => void;
|
|
130
|
+
toggleSideMenu: () => void;
|
|
131
|
+
setNavigationLoading: (value: boolean, delay?: number) => void;
|
|
132
|
+
setOverlayLoading: (value: boolean, delay?: number) => void;
|
|
133
|
+
loadSettings: () => Promise<void>;
|
|
134
|
+
} & _ngrx_signals.StateSource<{
|
|
135
|
+
currentMode: _acorex_platform_themes_shared.AXPThemeMode;
|
|
136
|
+
currentPalette: string;
|
|
137
|
+
systemThemeMode: _acorex_platform_themes_shared.AXPThemeMode;
|
|
138
|
+
font: {
|
|
139
|
+
family: string;
|
|
140
|
+
size: string;
|
|
141
|
+
};
|
|
142
|
+
overlayLoading: boolean;
|
|
143
|
+
navigationLoading: boolean;
|
|
144
|
+
overlayLoadingTaskCount: number;
|
|
145
|
+
navigationLoadingTaskCount: number;
|
|
146
|
+
sideMenuState: _acorex_platform_themes_shared.AXPSideMenuState;
|
|
147
|
+
sideMenuWidth: number;
|
|
148
|
+
menuOrientation: _acorex_platform_themes_shared.AXPMenuOrientation;
|
|
149
|
+
isPrinting: boolean;
|
|
150
|
+
}>;
|
|
151
|
+
protected searchBarShown: _angular_core.WritableSignal<boolean>;
|
|
152
|
+
protected activeEndSideView: _angular_core.WritableSignal<"sort" | "filter" | "column">;
|
|
153
|
+
protected categorySearchValue: _angular_core.WritableSignal<string>;
|
|
154
|
+
protected grid: _angular_core.Signal<AXDataTableComponent | undefined>;
|
|
155
|
+
private queryParamSub?;
|
|
156
|
+
private initializedFromRoute;
|
|
157
|
+
private lastEvaluatedViewName;
|
|
158
|
+
private readonly componentDestroyed;
|
|
159
|
+
private isRestoringExpandedRows;
|
|
160
|
+
private restoreExpandedRowsScheduled;
|
|
161
|
+
constructor(platform: AXPlatform);
|
|
162
|
+
ngOnInit(): Promise<void>;
|
|
163
|
+
ngAfterViewInit(): Promise<void>;
|
|
164
|
+
protected onColumnSizeChanged(e: onColumnSizeChangedEvent): void;
|
|
165
|
+
protected onPageChanged(e: AXDataPagerChangedEvent): void;
|
|
166
|
+
protected onColumnsOrderChanged(e: AXColumnsOrderChangedEvent): void;
|
|
167
|
+
protected dropdownRowItems(rowData: any): Promise<AXRowCommandItem[]>;
|
|
168
|
+
private commandRowItems;
|
|
169
|
+
protected handleRowDbClick(e: AXDataTableRowDbClick): Promise<void>;
|
|
170
|
+
protected getDropdownRowItems: (rowData: unknown) => Promise<AXRowCommandItem[]>;
|
|
171
|
+
protected getCommandRowItems: () => AXRowCommandItem[];
|
|
172
|
+
protected handleRowCommandClick(e: AXRowCommandItemClickEvent): Promise<void>;
|
|
173
|
+
protected handleSelectedRowsChange(rows: unknown[]): Promise<void>;
|
|
174
|
+
/**
|
|
175
|
+
* After refreshing a row's children (e.g. when a new child was created), update the parent row's
|
|
176
|
+
* hasChild so the expand icon is shown. The list query sets hasChild from childrenCount only on
|
|
177
|
+
* initial load; refreshItemChildren does not re-fetch the parent, so we patch it here.
|
|
178
|
+
*/
|
|
179
|
+
private updateParentHasChildAfterRefresh;
|
|
180
|
+
private findItemById;
|
|
181
|
+
protected makeResponsive<t>(value: t): t | string;
|
|
182
|
+
protected toggleSideBar(sideBar?: 'column' | 'filter' | 'sort'): void;
|
|
183
|
+
protected toggleSearchBar(): void;
|
|
184
|
+
protected handleResetClick(sideBar: 'filter' | 'sort' | 'column'): void;
|
|
185
|
+
protected handleApplyClick(sideBar: 'filter' | 'sort' | 'column'): void;
|
|
186
|
+
ngOnDestroy(): void;
|
|
187
|
+
private bindExpandedRowPersistence;
|
|
188
|
+
private scheduleSyncGridPagerUi;
|
|
189
|
+
private syncGridPagerUi;
|
|
190
|
+
private scheduleRestoreExpandedRows;
|
|
191
|
+
private restoreExpandedRows;
|
|
192
|
+
toggleCategoryDrawer(): void;
|
|
193
|
+
getPageTitle(): string;
|
|
194
|
+
getPageDescription(): Promise<string>;
|
|
195
|
+
getPageBreadcrumbs(): AXPBreadcrumbItem[];
|
|
196
|
+
getPrimaryMenuItems(): Promise<AXPActionMenuItem[]>;
|
|
197
|
+
getSecondaryMenuItems(): Promise<AXPActionMenuItem[]>;
|
|
198
|
+
execute(command: AXPExecuteCommand): Promise<void>;
|
|
199
|
+
protected handleUnselectAll(): void;
|
|
200
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityMasterListViewComponent, never>;
|
|
201
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPEntityMasterListViewComponent, "axp-entity-master-list", never, {}, {}, never, never, true, never>;
|
|
202
|
+
}
|
|
203
|
+
|
|
95
204
|
declare class AXPRootLayoutFooterComponent {
|
|
96
205
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPRootLayoutFooterComponent, never>;
|
|
97
206
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPRootLayoutFooterComponent, "axp-dashboard-admin-footer", never, {}, {}, never, never, true, never>;
|
|
@@ -470,4 +579,4 @@ declare class AXPDefaultThemeModule {
|
|
|
470
579
|
static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXPDefaultThemeModule>;
|
|
471
580
|
}
|
|
472
581
|
|
|
473
|
-
export { AXPDefaultThemeModule, AXPEntityDetailListViewComponent, AXPRootHorizontalLayoutComponent, AXPRootLayoutComponent, AXPRootLayoutFooterComponent, AXPRootLayoutHeaderComponent, AXPRootLayoutMenuComponent, AXPRootVerticalLayoutComponent };
|
|
582
|
+
export { AXPDefaultThemeModule, AXPEntityDetailListViewComponent, AXPEntityMasterListViewComponent, AXPRootHorizontalLayoutComponent, AXPRootLayoutComponent, AXPRootLayoutFooterComponent, AXPRootLayoutHeaderComponent, AXPRootLayoutMenuComponent, AXPRootVerticalLayoutComponent };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as _acorex_platform_themes_shared from '@acorex/platform/themes/shared';
|
|
1
2
|
import * as _ngrx_signals from '@ngrx/signals';
|
|
2
3
|
import * as _angular_core from '@angular/core';
|
|
3
4
|
import { InjectionToken, Injector } from '@angular/core';
|
|
@@ -47,9 +48,9 @@ declare class AXPThemeSlotComponent {
|
|
|
47
48
|
navigationLoading: _angular_core.Signal<boolean>;
|
|
48
49
|
overlayLoadingTaskCount: _angular_core.Signal<number>;
|
|
49
50
|
navigationLoadingTaskCount: _angular_core.Signal<number>;
|
|
50
|
-
sideMenuState: _angular_core.Signal<AXPSideMenuState>;
|
|
51
|
+
sideMenuState: _angular_core.Signal<_acorex_platform_themes_shared.AXPSideMenuState>;
|
|
51
52
|
sideMenuWidth: _angular_core.Signal<number>;
|
|
52
|
-
menuOrientation: _angular_core.Signal<AXPMenuOrientation>;
|
|
53
|
+
menuOrientation: _angular_core.Signal<_acorex_platform_themes_shared.AXPMenuOrientation>;
|
|
53
54
|
isPrinting: _angular_core.Signal<boolean>;
|
|
54
55
|
isDarkMode: _angular_core.Signal<boolean>;
|
|
55
56
|
isLightMode: _angular_core.Signal<boolean>;
|
|
@@ -78,9 +79,9 @@ declare class AXPThemeSlotComponent {
|
|
|
78
79
|
navigationLoading: boolean;
|
|
79
80
|
overlayLoadingTaskCount: number;
|
|
80
81
|
navigationLoadingTaskCount: number;
|
|
81
|
-
sideMenuState: AXPSideMenuState;
|
|
82
|
+
sideMenuState: _acorex_platform_themes_shared.AXPSideMenuState;
|
|
82
83
|
sideMenuWidth: number;
|
|
83
|
-
menuOrientation: AXPMenuOrientation;
|
|
84
|
+
menuOrientation: _acorex_platform_themes_shared.AXPMenuOrientation;
|
|
84
85
|
isPrinting: boolean;
|
|
85
86
|
}>;
|
|
86
87
|
protected variants: typeof AXPThemeMode;
|
|
@@ -2,9 +2,7 @@ import * as rxjs from 'rxjs';
|
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
4
|
import { Type, ModuleWithProviders, Injector, InjectionToken } from '@angular/core';
|
|
5
|
-
import {
|
|
6
|
-
import { AXPWidgetTypesMap } from '@acorex/platform/layout/widget-core';
|
|
7
|
-
import { AXPCommand, AXPExecuteCommandResultPromise } from '@acorex/platform/runtime';
|
|
5
|
+
import { AXPProperty, AXPOptionsData, AXPMetaData, AXPEntityOp, AXPMultiLanguageString, AXPCategoryEntity, AXPExpressionEvaluatorScope } from '@acorex/platform/core';
|
|
8
6
|
|
|
9
7
|
declare class AXPWorkflowError extends Error {
|
|
10
8
|
inner: Error | null;
|
|
@@ -148,13 +146,13 @@ declare class AXPWorkflowService {
|
|
|
148
146
|
}
|
|
149
147
|
|
|
150
148
|
interface AXPWorkflowDefinition {
|
|
151
|
-
schemaVersion:
|
|
149
|
+
schemaVersion: 'acorex-platform-workflow/v1';
|
|
152
150
|
name: string;
|
|
153
|
-
title?:
|
|
154
|
-
description?:
|
|
155
|
-
variables?:
|
|
156
|
-
inputs?:
|
|
157
|
-
outputs?:
|
|
151
|
+
title?: AXPMultiLanguageString | null;
|
|
152
|
+
description?: AXPMultiLanguageString | null;
|
|
153
|
+
variables?: AXPProperty[];
|
|
154
|
+
inputs?: AXPProperty[];
|
|
155
|
+
outputs?: AXPWorkflowOutputProperty[];
|
|
158
156
|
graph: AXPWorkflowGraph;
|
|
159
157
|
customProperties?: Record<string, any>;
|
|
160
158
|
/** engine specific (Elsa, ...) */
|
|
@@ -196,17 +194,17 @@ interface AXPWorkflowActivityInstance {
|
|
|
196
194
|
name: string;
|
|
197
195
|
/**
|
|
198
196
|
* Input values for this activity instance.
|
|
199
|
-
* Key-value pairs where keys match
|
|
197
|
+
* Key-value pairs where keys match {@link AXPProperty.name} from AXPActivityDefinition.inputs
|
|
200
198
|
* Example: { "message": "Hello", "duration": 5000 }
|
|
201
199
|
*/
|
|
202
|
-
inputs?:
|
|
200
|
+
inputs?: AXPOptionsData;
|
|
203
201
|
/**
|
|
204
202
|
* Output mapping: process variable name → path in this activity's output (BPMN-style: activity → variable).
|
|
205
203
|
* When this activity completes, each entry sets variables[variableName] = output[outputPath].
|
|
206
204
|
* Example: { leaveRequestId: 'id' } → variables.leaveRequestId = activityOutput.id
|
|
207
205
|
*/
|
|
208
|
-
outputToVariables?:
|
|
209
|
-
metadata?:
|
|
206
|
+
outputToVariables?: AXPOptionsData;
|
|
207
|
+
metadata?: AXPMetaData;
|
|
210
208
|
/** engine-specific override */
|
|
211
209
|
extensions?: Record<string, any>;
|
|
212
210
|
}
|
|
@@ -224,36 +222,10 @@ interface AXPConnection {
|
|
|
224
222
|
y: number;
|
|
225
223
|
}>;
|
|
226
224
|
}
|
|
227
|
-
interface AXPWorkflowPropertyWidget {
|
|
228
|
-
type: AXPWidgetTypesMap[keyof AXPWidgetTypesMap] | string;
|
|
229
|
-
options?: Record<string, any>;
|
|
230
|
-
}
|
|
231
|
-
/**
|
|
232
|
-
* Base schema shape for workflow inputs, outputs, and variables.
|
|
233
|
-
*/
|
|
234
|
-
interface AXPWorkflowDescriptorSchemaBase {
|
|
235
|
-
dataType: string;
|
|
236
|
-
isArray?: boolean;
|
|
237
|
-
nullable?: boolean;
|
|
238
|
-
readonly?: boolean;
|
|
239
|
-
hidden?: boolean | string;
|
|
240
|
-
defaultValue?: any | string | ((context: any | null) => any);
|
|
241
|
-
interface: AXPWorkflowPropertyWidget;
|
|
242
|
-
}
|
|
243
225
|
/**
|
|
244
|
-
*
|
|
245
|
-
* Shared fields: name, title, description, schema.
|
|
226
|
+
* Workflow output: same as {@link AXPProperty} with optional source path and engine metadata.
|
|
246
227
|
*/
|
|
247
|
-
interface
|
|
248
|
-
name: string;
|
|
249
|
-
title: string;
|
|
250
|
-
description?: string;
|
|
251
|
-
schema: AXPWorkflowDescriptorSchemaBase;
|
|
252
|
-
}
|
|
253
|
-
interface AXPWorkflowInputDescriptor extends AXPWorkflowDescriptorBase {
|
|
254
|
-
validations?: AXPValidationRules;
|
|
255
|
-
}
|
|
256
|
-
interface AXPWorkflowOutputDescriptor extends AXPWorkflowDescriptorBase {
|
|
228
|
+
interface AXPWorkflowOutputProperty extends AXPProperty {
|
|
257
229
|
/**
|
|
258
230
|
* Optional: where this output comes from in your context/memory.
|
|
259
231
|
* Example: "$.result.orderId" or "vars.orderId"
|
|
@@ -261,8 +233,6 @@ interface AXPWorkflowOutputDescriptor extends AXPWorkflowDescriptorBase {
|
|
|
261
233
|
path?: string;
|
|
262
234
|
metadata?: Record<string, any>;
|
|
263
235
|
}
|
|
264
|
-
interface AXPVariableDefinition extends AXPWorkflowDescriptorBase {
|
|
265
|
-
}
|
|
266
236
|
/**
|
|
267
237
|
* Engine-specific extension bag for a workflow.
|
|
268
238
|
* Keep ALL engine-only fields here (Elsa, StepFunctions adapter, etc).
|
|
@@ -626,6 +596,10 @@ interface AXPWorkflowState {
|
|
|
626
596
|
* Finished at timestamp (ISO date-time, nullable).
|
|
627
597
|
*/
|
|
628
598
|
finishedAt?: string | null;
|
|
599
|
+
/**
|
|
600
|
+
* Total number of activities/steps in the workflow (for progress display).
|
|
601
|
+
*/
|
|
602
|
+
totalSteps?: number;
|
|
629
603
|
}
|
|
630
604
|
/**
|
|
631
605
|
* Workflow instance (stored in database).
|
|
@@ -740,13 +714,13 @@ interface AXPActivityDefinition {
|
|
|
740
714
|
*/
|
|
741
715
|
type: string;
|
|
742
716
|
/**
|
|
743
|
-
* Display name for UI.
|
|
717
|
+
* Display name for UI (plain or per-locale map).
|
|
744
718
|
*/
|
|
745
|
-
title?:
|
|
719
|
+
title?: AXPMultiLanguageString;
|
|
746
720
|
/**
|
|
747
|
-
* Description of what the activity does.
|
|
721
|
+
* Description of what the activity does (plain or per-locale map).
|
|
748
722
|
*/
|
|
749
|
-
description?:
|
|
723
|
+
description?: AXPMultiLanguageString;
|
|
750
724
|
/**
|
|
751
725
|
* Category for grouping in toolbox.
|
|
752
726
|
*/
|
|
@@ -774,13 +748,13 @@ interface AXPActivityDefinition {
|
|
|
774
748
|
*/
|
|
775
749
|
taskType?: AXPTaskType;
|
|
776
750
|
/**
|
|
777
|
-
* Input
|
|
751
|
+
* Input properties (form/schema for activity parameters).
|
|
778
752
|
*/
|
|
779
|
-
inputs?:
|
|
753
|
+
inputs?: AXPProperty[];
|
|
780
754
|
/**
|
|
781
|
-
* Output
|
|
755
|
+
* Output properties (result shape + optional path/metadata).
|
|
782
756
|
*/
|
|
783
|
-
outputs?:
|
|
757
|
+
outputs?: AXPWorkflowOutputProperty[];
|
|
784
758
|
/**
|
|
785
759
|
* Static outcomes (exit points).
|
|
786
760
|
* Example: ['Done', 'Success', 'Failed']
|
|
@@ -797,25 +771,6 @@ interface AXPActivityDefinition {
|
|
|
797
771
|
*/
|
|
798
772
|
isContainer?: boolean;
|
|
799
773
|
}
|
|
800
|
-
/**
|
|
801
|
-
* Activity - Command with specific TResult structure.
|
|
802
|
-
* Extends AXPCommand with a fixed TResult that includes output and outcomes.
|
|
803
|
-
* No additional properties beyond AXPCommand - pure command interface.
|
|
804
|
-
*/
|
|
805
|
-
interface AXPActivity<TInput = any, TOutput = any> extends AXPCommand<TInput, {
|
|
806
|
-
output: TOutput;
|
|
807
|
-
outcomes: Record<string, any>;
|
|
808
|
-
}> {
|
|
809
|
-
/**
|
|
810
|
-
* Execute the activity as a command.
|
|
811
|
-
* @param input - Activity input data
|
|
812
|
-
* @returns Promise with output and outcomes
|
|
813
|
-
*/
|
|
814
|
-
execute(input: TInput): AXPExecuteCommandResultPromise<{
|
|
815
|
-
output: TOutput;
|
|
816
|
-
outcomes: Record<string, any>;
|
|
817
|
-
}>;
|
|
818
|
-
}
|
|
819
774
|
|
|
820
775
|
type AXPActivityProviderToken = AXPActivityProvider | Promise<AXPActivityProvider>;
|
|
821
776
|
declare const AXP_ACTIVITY_PROVIDER: InjectionToken<AXPActivityProviderToken[]>;
|
|
@@ -915,6 +870,11 @@ declare class AXPActivityDefinitionService {
|
|
|
915
870
|
* @returns Activity definition or undefined if not found
|
|
916
871
|
*/
|
|
917
872
|
getActivityByName(name: string): Promise<AXPActivityDefinition | undefined>;
|
|
873
|
+
/**
|
|
874
|
+
* Get all activity definitions (flat list) by loading root categories and their activities.
|
|
875
|
+
* Used by activity selector UIs (e.g. automation command configurator).
|
|
876
|
+
*/
|
|
877
|
+
getAllActivities(): Promise<AXPActivityDefinition[]>;
|
|
918
878
|
/**
|
|
919
879
|
* Get category ID containing a specific activity definition
|
|
920
880
|
*
|
|
@@ -1080,7 +1040,7 @@ interface AXPResumeWorkflowRequest {
|
|
|
1080
1040
|
/**
|
|
1081
1041
|
* User action outcome (e.g., 'Confirmed', 'Cancelled').
|
|
1082
1042
|
*/
|
|
1083
|
-
outcome
|
|
1043
|
+
outcome?: string;
|
|
1084
1044
|
/**
|
|
1085
1045
|
* Optional user input data.
|
|
1086
1046
|
*/
|
|
@@ -1170,7 +1130,7 @@ interface AXPFrontActivityCompleteRequest {
|
|
|
1170
1130
|
instanceId: string;
|
|
1171
1131
|
activityNode: string;
|
|
1172
1132
|
output: Record<string, any>;
|
|
1173
|
-
outcome
|
|
1133
|
+
outcome?: string;
|
|
1174
1134
|
}
|
|
1175
1135
|
interface AXPFrontActivityCompleteResponse {
|
|
1176
1136
|
/**
|
|
@@ -1190,6 +1150,37 @@ interface AXPFrontActivityCompleteResponse {
|
|
|
1190
1150
|
*/
|
|
1191
1151
|
state?: AXPWorkflowInstanceState;
|
|
1192
1152
|
}
|
|
1153
|
+
/**
|
|
1154
|
+
* Activity types that use the task board (suspend until user acts via inbox), not inline interactive execution.
|
|
1155
|
+
*/
|
|
1156
|
+
declare const AXP_WORKFLOW_TASK_BOARD_ACTIVITY_TYPES: readonly string[];
|
|
1157
|
+
declare function axpIsWorkflowTaskBoardActivityType(activityType: string | undefined | null): boolean;
|
|
1158
|
+
/**
|
|
1159
|
+
* Claim a pooled workflow task (updates bookmark assignee without resuming the workflow).
|
|
1160
|
+
*/
|
|
1161
|
+
interface AXPClaimWorkflowTaskRequest {
|
|
1162
|
+
instanceId: string;
|
|
1163
|
+
bookmarkId: string;
|
|
1164
|
+
stepId: string;
|
|
1165
|
+
}
|
|
1166
|
+
interface AXPClaimWorkflowTaskResponse {
|
|
1167
|
+
success: boolean;
|
|
1168
|
+
error?: string;
|
|
1169
|
+
errorCode?: string;
|
|
1170
|
+
}
|
|
1171
|
+
/**
|
|
1172
|
+
* Reassign a human-task bookmark to the current user without resuming the workflow.
|
|
1173
|
+
*/
|
|
1174
|
+
interface AXPReassignWorkflowTaskToSelfRequest {
|
|
1175
|
+
instanceId: string;
|
|
1176
|
+
bookmarkId: string;
|
|
1177
|
+
stepId: string;
|
|
1178
|
+
}
|
|
1179
|
+
interface AXPReassignWorkflowTaskToSelfResponse {
|
|
1180
|
+
success: boolean;
|
|
1181
|
+
error?: string;
|
|
1182
|
+
errorCode?: string;
|
|
1183
|
+
}
|
|
1193
1184
|
|
|
1194
1185
|
/**
|
|
1195
1186
|
* Interface for workflow engine operations.
|
|
@@ -1226,6 +1217,15 @@ interface AXPWorkflowEngine {
|
|
|
1226
1217
|
*/
|
|
1227
1218
|
getState(request: AXPGetWorkflowStateRequest): Promise<AXPWorkflowInstanceState>;
|
|
1228
1219
|
frontActivtyComplete(request: AXPFrontActivityCompleteRequest): Promise<AXPFrontActivityCompleteResponse>;
|
|
1220
|
+
/**
|
|
1221
|
+
* Optional: claim a pooled task (e.g. cartable) without consuming the bookmark.
|
|
1222
|
+
* Engines that do not support pooling should omit this method.
|
|
1223
|
+
*/
|
|
1224
|
+
claimTask?(request: AXPClaimWorkflowTaskRequest): Promise<AXPClaimWorkflowTaskResponse>;
|
|
1225
|
+
/**
|
|
1226
|
+
* Optional: reassign a human-task bookmark to the current user (requires permission on the engine).
|
|
1227
|
+
*/
|
|
1228
|
+
reassignTaskToSelf?(request: AXPReassignWorkflowTaskToSelfRequest): Promise<AXPReassignWorkflowTaskToSelfResponse>;
|
|
1229
1229
|
}
|
|
1230
1230
|
/**
|
|
1231
1231
|
* Injection token for workflow engine.
|
|
@@ -1233,6 +1233,35 @@ interface AXPWorkflowEngine {
|
|
|
1233
1233
|
*/
|
|
1234
1234
|
declare const AXP_WORKFLOW_ENGINE: InjectionToken<AXPWorkflowEngine>;
|
|
1235
1235
|
|
|
1236
|
+
/**
|
|
1237
|
+
* Stable workflow engine error codes for UI branching (toasts, take-over flow, etc.).
|
|
1238
|
+
*/
|
|
1239
|
+
declare const AXP_WORKFLOW_ERROR_CODES: {
|
|
1240
|
+
readonly TASK_NOT_ASSIGNEE: "WORKFLOW_TASK_NOT_ASSIGNEE";
|
|
1241
|
+
readonly CLAIM_REQUIRED: "WORKFLOW_CLAIM_REQUIRED";
|
|
1242
|
+
readonly REASSIGN_NOT_ALLOWED: "WORKFLOW_REASSIGN_NOT_ALLOWED";
|
|
1243
|
+
};
|
|
1244
|
+
type AXPWorkflowErrorCode = (typeof AXP_WORKFLOW_ERROR_CODES)[keyof typeof AXP_WORKFLOW_ERROR_CODES];
|
|
1245
|
+
/**
|
|
1246
|
+
* Business-rule failure from {@link AXPWorkflowEngine} (expected, user-facing).
|
|
1247
|
+
*/
|
|
1248
|
+
declare class AXPWorkflowEngineError extends Error {
|
|
1249
|
+
readonly code: AXPWorkflowErrorCode;
|
|
1250
|
+
readonly details?: Record<string, unknown> | undefined;
|
|
1251
|
+
constructor(message: string, code: AXPWorkflowErrorCode, details?: Record<string, unknown> | undefined);
|
|
1252
|
+
}
|
|
1253
|
+
/**
|
|
1254
|
+
* Resolves a stable error code from an unknown thrown value.
|
|
1255
|
+
*/
|
|
1256
|
+
declare function getWorkflowEngineErrorCode(error: unknown): AXPWorkflowErrorCode | undefined;
|
|
1257
|
+
/**
|
|
1258
|
+
* Resolves a user-facing message and optional code from an unknown thrown value.
|
|
1259
|
+
*/
|
|
1260
|
+
declare function getWorkflowEngineErrorInfo(error: unknown): {
|
|
1261
|
+
message: string;
|
|
1262
|
+
code?: AXPWorkflowErrorCode;
|
|
1263
|
+
};
|
|
1264
|
+
|
|
1236
1265
|
/**
|
|
1237
1266
|
* Result of starting a workflow.
|
|
1238
1267
|
*/
|
|
@@ -1319,6 +1348,28 @@ interface WorkflowResumeResult {
|
|
|
1319
1348
|
* Error message (if failed).
|
|
1320
1349
|
*/
|
|
1321
1350
|
error?: string;
|
|
1351
|
+
/**
|
|
1352
|
+
* Stable engine error code when available (e.g. WORKFLOW_TASK_NOT_ASSIGNEE).
|
|
1353
|
+
*/
|
|
1354
|
+
errorCode?: string;
|
|
1355
|
+
}
|
|
1356
|
+
/**
|
|
1357
|
+
* Result of claiming a pooled workflow task (cartable / candidate pool).
|
|
1358
|
+
*/
|
|
1359
|
+
interface WorkflowClaimTaskResult {
|
|
1360
|
+
success: boolean;
|
|
1361
|
+
instanceId: string;
|
|
1362
|
+
error?: string;
|
|
1363
|
+
errorCode?: string;
|
|
1364
|
+
}
|
|
1365
|
+
/**
|
|
1366
|
+
* Result of reassigning a human-task bookmark to the current user.
|
|
1367
|
+
*/
|
|
1368
|
+
interface WorkflowReassignTaskToSelfResult {
|
|
1369
|
+
success: boolean;
|
|
1370
|
+
instanceId: string;
|
|
1371
|
+
error?: string;
|
|
1372
|
+
errorCode?: string;
|
|
1322
1373
|
}
|
|
1323
1374
|
/**
|
|
1324
1375
|
* Workflow Manager - Facade for workflow lifecycle orchestration.
|
|
@@ -1353,19 +1404,17 @@ declare class AXPWorkflowManager {
|
|
|
1353
1404
|
*/
|
|
1354
1405
|
private readonly CACHE_TTL;
|
|
1355
1406
|
/**
|
|
1356
|
-
* Execute frontend activities interactively until reaching human-task or completion.
|
|
1407
|
+
* Execute frontend activities interactively until reaching workflow-activity:human-task or completion.
|
|
1357
1408
|
*
|
|
1358
|
-
*
|
|
1359
|
-
*
|
|
1360
|
-
*
|
|
1361
|
-
* 3. If backend returns nextTask (frontend activity), repeats the process
|
|
1362
|
-
* 4. Continues until workflow completes or reaches human-task
|
|
1409
|
+
* Interactive = show form/popup immediately (user sees and acts). Only workflow-activity:human-task
|
|
1410
|
+
* is not interactive (goes to task board). Other frontend activities (show-layout-popup, show-toast, etc.)
|
|
1411
|
+
* even with taskType human-task in definition are executed here.
|
|
1363
1412
|
*
|
|
1364
1413
|
* @param instanceId - Workflow instance ID
|
|
1365
1414
|
* @param task - Current task to execute
|
|
1366
1415
|
* @param state - Current workflow state
|
|
1367
1416
|
* @param lastActivityOutput - Last activity output (for expression evaluation)
|
|
1368
|
-
* @returns Final result with nextTask (if human-task) or completion status
|
|
1417
|
+
* @returns Final result with nextTask (if workflow-activity:human-task) or completion status
|
|
1369
1418
|
*/
|
|
1370
1419
|
private executeInteractiveFlow;
|
|
1371
1420
|
/**
|
|
@@ -1415,6 +1464,16 @@ declare class AXPWorkflowManager {
|
|
|
1415
1464
|
* @returns Workflow instance state or null if not found
|
|
1416
1465
|
*/
|
|
1417
1466
|
getState(instanceId: string): Promise<AXPWorkflowInstanceState | null>;
|
|
1467
|
+
/**
|
|
1468
|
+
* Claim a pooled workflow task (assign current user on the bookmark without advancing the workflow).
|
|
1469
|
+
* Supported only when the injected workflow engine implements {@link AXPWorkflowEngine.claimTask}.
|
|
1470
|
+
*/
|
|
1471
|
+
claimTask(instanceId: string, bookmarkId: string, stepId: string): Promise<WorkflowClaimTaskResult>;
|
|
1472
|
+
/**
|
|
1473
|
+
* Reassign a human-task bookmark to the current user without advancing the workflow.
|
|
1474
|
+
* Supported only when the injected workflow engine implements {@link AXPWorkflowEngine.reassignTaskToSelf}.
|
|
1475
|
+
*/
|
|
1476
|
+
reassignTaskToSelf(instanceId: string, bookmarkId: string, stepId: string): Promise<WorkflowReassignTaskToSelfResult>;
|
|
1418
1477
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXPWorkflowManager, never>;
|
|
1419
1478
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPWorkflowManager>;
|
|
1420
1479
|
}
|
|
@@ -1437,6 +1496,7 @@ declare class AXPWorkflowManager {
|
|
|
1437
1496
|
declare class AXPWorkflowLocalEngine implements AXPWorkflowEngine {
|
|
1438
1497
|
private readonly activityDefinitionService;
|
|
1439
1498
|
private readonly workflowProviders;
|
|
1499
|
+
private readonly multiLanguageResolver;
|
|
1440
1500
|
/**
|
|
1441
1501
|
* In-memory storage for workflow instances.
|
|
1442
1502
|
* Key: instanceId
|
|
@@ -1521,6 +1581,7 @@ declare class ActivityExecutor {
|
|
|
1521
1581
|
private readonly commandService;
|
|
1522
1582
|
private readonly expressionEvaluator;
|
|
1523
1583
|
private readonly expressionScopeService;
|
|
1584
|
+
private readonly translateService;
|
|
1524
1585
|
/**
|
|
1525
1586
|
* Execute a workflow activity with expression evaluation.
|
|
1526
1587
|
*
|
|
@@ -1533,6 +1594,10 @@ declare class ActivityExecutor {
|
|
|
1533
1594
|
* @returns Execution result with output and outcome
|
|
1534
1595
|
*/
|
|
1535
1596
|
execute(task: AXPWorkflowTask, workflowState?: AXPWorkflowInstanceState, activityOutputs?: Map<string, any> | Record<string, any>): Promise<ActivityExecutionResult>;
|
|
1597
|
+
/**
|
|
1598
|
+
* Resolves command failure message text for workflow output: `@` keys via translate, MLS maps via resolve.
|
|
1599
|
+
*/
|
|
1600
|
+
private resolveCommandMessageTextForError;
|
|
1536
1601
|
static ɵfac: i0.ɵɵFactoryDeclaration<ActivityExecutor, never>;
|
|
1537
1602
|
static ɵprov: i0.ɵɵInjectableDeclaration<ActivityExecutor>;
|
|
1538
1603
|
}
|
|
@@ -1581,6 +1646,22 @@ interface WorkflowExpressionContext {
|
|
|
1581
1646
|
* ```
|
|
1582
1647
|
*/
|
|
1583
1648
|
declare class WorkflowExpressionScopeService {
|
|
1649
|
+
/**
|
|
1650
|
+
* Collect dot-notation key-value pairs from nested objects so that e.g.
|
|
1651
|
+
* { metadata: { "metadata.questionnaire.id": "x" } } becomes { "metadata.questionnaire.id": "x" } at root.
|
|
1652
|
+
* Top-level non-dot keys are kept as-is.
|
|
1653
|
+
*/
|
|
1654
|
+
private flattenDotKeysFromTree;
|
|
1655
|
+
/**
|
|
1656
|
+
* Expand flat keys with dots into nested objects.
|
|
1657
|
+
* e.g. { "metadata.questionnaire.id": "x" } -> { metadata: { questionnaire: { id: "x" } } }.
|
|
1658
|
+
*/
|
|
1659
|
+
private expandDotKeys;
|
|
1660
|
+
/**
|
|
1661
|
+
* Normalize workflow input so that flat dot-notation keys (e.g. from form schema
|
|
1662
|
+
* "metadata.questionnaire.id") become nested for expression access (inputs.metadata.questionnaire.id).
|
|
1663
|
+
*/
|
|
1664
|
+
private normalizeInputs;
|
|
1584
1665
|
/**
|
|
1585
1666
|
* Build expression evaluation scope for workflow activities.
|
|
1586
1667
|
*
|
|
@@ -1799,5 +1880,5 @@ declare class AXPWorkflowDefinitionService {
|
|
|
1799
1880
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPWorkflowDefinitionService>;
|
|
1800
1881
|
}
|
|
1801
1882
|
|
|
1802
|
-
export { AXPActivityDefinitionService, AXPWorkflowAction, AXPWorkflowContext, AXPWorkflowDefinitionService, AXPWorkflowError, AXPWorkflowEventService, AXPWorkflowFunction, AXPWorkflowLocalEngine, AXPWorkflowManager, AXPWorkflowModule, AXPWorkflowRegistryService, AXPWorkflowService, AXP_ACTIVITY_CATEGORY_PROVIDER, AXP_ACTIVITY_PROVIDER, AXP_WORKFLOW_CATEGORY_PROVIDER, AXP_WORKFLOW_ENGINE, AXP_WORKFLOW_PROVIDER, ActivityExecutor, WorkflowExpressionScopeService, createWorkFlowEvent, ofType };
|
|
1803
|
-
export type {
|
|
1883
|
+
export { AXPActivityDefinitionService, AXPWorkflowAction, AXPWorkflowContext, AXPWorkflowDefinitionService, AXPWorkflowEngineError, AXPWorkflowError, AXPWorkflowEventService, AXPWorkflowFunction, AXPWorkflowLocalEngine, AXPWorkflowManager, AXPWorkflowModule, AXPWorkflowRegistryService, AXPWorkflowService, AXP_ACTIVITY_CATEGORY_PROVIDER, AXP_ACTIVITY_PROVIDER, AXP_WORKFLOW_CATEGORY_PROVIDER, AXP_WORKFLOW_ENGINE, AXP_WORKFLOW_ERROR_CODES, AXP_WORKFLOW_PROVIDER, AXP_WORKFLOW_TASK_BOARD_ACTIVITY_TYPES, ActivityExecutor, WorkflowExpressionScopeService, axpIsWorkflowTaskBoardActivityType, createWorkFlowEvent, getWorkflowEngineErrorCode, getWorkflowEngineErrorInfo, ofType };
|
|
1884
|
+
export type { AXPActivityCategory, AXPActivityCategoryProvider, AXPActivityCategoryProviderToken, AXPActivityDefinition, AXPActivityExecutionContextState, AXPActivityIncident, AXPActivityProvider, AXPActivityProviderToken, AXPActivityStatus, AXPActivityVariable, AXPBookmark, AXPClaimWorkflowTaskRequest, AXPClaimWorkflowTaskResponse, AXPCompletionCallbackState, AXPConnection, AXPElsaWorkflowExtensions, AXPExceptionState, AXPFrontActivityCompleteRequest, AXPFrontActivityCompleteResponse, AXPGetWorkflowStateRequest, AXPReassignWorkflowTaskToSelfRequest, AXPReassignWorkflowTaskToSelfResponse, AXPResumeWorkflowRequest, AXPResumeWorkflowResponse, AXPStartWorkflowRequest, AXPStartWorkflowResponse, AXPTaskType, AXPWorkflow, AXPWorkflowActionInput, AXPWorkflowActivityInstance, AXPWorkflowBinding, AXPWorkflowCategory, AXPWorkflowCategoryProvider, AXPWorkflowCategoryProviderToken, AXPWorkflowCondition, AXPWorkflowConditionType, AXPWorkflowDefinition, AXPWorkflowEngine, AXPWorkflowErrorCode, AXPWorkflowEvent, AXPWorkflowExtensions, AXPWorkflowFaultState, AXPWorkflowGraph, AXPWorkflowInstance, AXPWorkflowInstanceState, AXPWorkflowModuleConfigs, AXPWorkflowNextStep, AXPWorkflowOutputProperty, AXPWorkflowProvider, AXPWorkflowProviderToken, AXPWorkflowState, AXPWorkflowStatus, AXPWorkflowStep, AXPWorkflowSubStatus, AXPWorkflowTask, ActivityExecutionResult, WorkflowClaimTaskResult, WorkflowCompleteResult, WorkflowExpressionContext, WorkflowReassignTaskToSelfResult, WorkflowResumeResult, WorkflowStartResult };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-common-common-settings.provider-DVvuLUfF.mjs","sources":["../tmp-esm2022/common/lib/configs/common-settings.provider.js"],"sourcesContent":["import { AXTranslationService } from '@acorex/core/translation';\nimport { AXPPlatformScope } from '@acorex/platform/core';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';\nimport { Injectable, Injector } from '@angular/core';\nimport { AXPCommonSettings } from './common-settings.key';\nimport * as i0 from \"@angular/core\";\nexport class AXPCommonSettingProvider {\n constructor(injector) {\n this.injector = injector;\n this.translateService = this.injector.get(AXTranslationService);\n }\n async provide(context) {\n const trans = async (key) => await this.translateService.translateAsync(`@general:settings.${key}`);\n // Define the 'General Settings' group\n context\n .group('general')\n ?.addSection('notifications', await trans('general.notifications.title'), await trans('general.notifications.description'))\n // Add the 'Enable Operation Toasts' setting\n .addSetting({\n key: AXPCommonSettings.EnableOperationToasts,\n title: await trans('general.notifications.enable-operation-toasts.title'),\n scope: AXPPlatformScope.User,\n isInherited: true,\n defaultValue: true,\n widget: {\n type: AXPWidgetsCatalog.toggle,\n options: {\n label: null,\n },\n },\n description: await trans('general.notifications.enable-operation-toasts.description'),\n })\n // End the 'Notifications' section\n .endSection()\n .addSection('entity', await trans('general.entity.title'), await trans('general.entity.description'))\n // Add the 'Enable Operation Toasts' setting\n .addSetting({\n key: AXPCommonSettings.EntityFilterApplyMode,\n title: await trans('general.entity.filter-apply-mode.title'),\n scope: AXPPlatformScope.User,\n isInherited: true,\n defaultValue: 'auto',\n widget: {\n type: AXPWidgetsCatalog.select,\n options: {\n label: null,\n valueField: 'value',\n textField: 'text',\n dataSource: [\n { value: 'auto', text: await trans('general.entity.filter-apply-mode.options.auto') },\n { value: 'manual', text: await trans('general.entity.filter-apply-mode.options.manual') },\n ],\n },\n },\n description: await trans('general.entity.filter-apply-mode.description'),\n })\n .addSetting({\n key: AXPCommonSettings.EntityListPersistenceMode,\n title: await trans('general.entity.list-persistence-mode.title'),\n scope: AXPPlatformScope.User,\n isInherited: true,\n defaultValue: 'persistent',\n widget: {\n type: AXPWidgetsCatalog.select,\n options: {\n label: null,\n valueField: 'value',\n textField: 'text',\n dataSource: [\n { value: 'none', text: await trans('general.entity.list-persistence-mode.options.none') },\n {\n value: 'persistent',\n text: await trans('general.entity.list-persistence-mode.options.persistent'),\n },\n { value: 'route', text: await trans('general.entity.list-persistence-mode.options.route') },\n ],\n },\n },\n description: await trans('general.entity.list-persistence-mode.description'),\n })\n .addSetting({\n key: AXPCommonSettings.ShowCategoryColumnsByDefault,\n title: await trans('general.entity.show-category-columns-by-default.title'),\n scope: AXPPlatformScope.User,\n isInherited: true,\n defaultValue: false,\n widget: {\n type: AXPWidgetsCatalog.toggle,\n options: {\n label: null,\n },\n },\n description: await trans('general.entity.show-category-columns-by-default.description'),\n })\n .addSetting({\n key: AXPCommonSettings.ApplyLayoutOrdering,\n title: await trans('general.entity.apply-layout-ordering.title'),\n scope: AXPPlatformScope.User,\n isInherited: true,\n defaultValue: true,\n widget: {\n type: AXPWidgetsCatalog.toggle,\n options: {\n label: null,\n },\n },\n description: await trans('general.entity.apply-layout-ordering.description'),\n })\n .addSetting({\n key: AXPCommonSettings.RedirectToDetailsAfterCreate,\n title: await trans('general.entity.redirect-to-details-after-create.title'),\n scope: AXPPlatformScope.User,\n isInherited: true,\n defaultValue: true,\n widget: {\n type: AXPWidgetsCatalog.toggle,\n options: {\n label: null,\n },\n },\n description: await trans('general.entity.redirect-to-details-after-create.description'),\n })\n .addSetting({\n key: AXPCommonSettings.ShowPageBadge,\n title: await trans('general.entity.show-page-badge.title'),\n scope: AXPPlatformScope.User,\n isInherited: true,\n defaultValue: true,\n widget: {\n type: AXPWidgetsCatalog.toggle,\n options: {\n label: null,\n },\n },\n description: await trans('general.entity.show-page-badge.description'),\n })\n .addSetting({\n key: AXPCommonSettings.ShowRowIndexColumn,\n title: await trans('general.entity.show-row-index-column.title'),\n scope: AXPPlatformScope.User,\n isInherited: true,\n defaultValue: false,\n widget: {\n type: AXPWidgetsCatalog.toggle,\n options: {\n label: null,\n },\n },\n description: await trans('general.entity.show-row-index-column.description'),\n })\n // End the 'Entity Settings' section\n .endSection()\n // End the 'General Settings' group\n .endGroup();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.19\", ngImport: i0, type: AXPCommonSettingProvider, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.19\", ngImport: i0, type: AXPCommonSettingProvider }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.19\", ngImport: i0, type: AXPCommonSettingProvider, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i0.Injector }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLXNldHRpbmdzLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9jb25maWdzL2NvbW1vbi1zZXR0aW5ncy5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFHMUQsTUFBTSxPQUFPLHdCQUF3QjtJQUduQyxZQUFvQixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBRnJCLHFCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFFbEMsQ0FBQztJQUUzQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQTRDO1FBQ3hELE1BQU0sS0FBSyxHQUFHLEtBQUssRUFBRSxHQUFXLEVBQUUsRUFBRSxDQUFDLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxxQkFBcUIsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUU1RyxzQ0FBc0M7UUFDdEMsT0FBTzthQUNKLEtBQUssQ0FBQyxTQUFTLENBQUM7WUFDakIsRUFBRSxVQUFVLENBQ1YsZUFBZSxFQUNmLE1BQU0sS0FBSyxDQUFDLDZCQUE2QixDQUFDLEVBQzFDLE1BQU0sS0FBSyxDQUFDLG1DQUFtQyxDQUFDLENBQ2pEO1lBQ0QsNENBQTRDO2FBQzNDLFVBQVUsQ0FBQztZQUNWLEdBQUcsRUFBRSxp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LElBQUksRUFBRSxpQkFBaUIsQ0FBQyxNQUFNO2dCQUM5QixPQUFPLEVBQUU7b0JBQ1AsS0FBSyxFQUFFLElBQUk7aUJBQ1o7YUFDRjtZQUNELFdBQVcsRUFBRSxNQUFNLEtBQUssQ0FBQyw0Q0FBNEMsQ0FBQztTQUN2RSxDQUFDO2FBQ0QsVUFBVSxDQUFDO1lBQ1YsR0FBRyxFQUFFLGlCQUFpQixDQUFDLGtCQUFrQjtZQUN6QyxLQUFLLEVBQUUsTUFBTSxLQUFLLENBQUMsNENBQTRDLENBQUM7WUFDaEUsS0FBSyxFQUFFLGdCQUFnQixDQUFDLElBQUk7WUFDNUIsV0FBVyxFQUFFLElBQUk7WUFDakIsWUFBWSxFQUFFLEtBQUs7WUFDbkIsTUFBTSxFQUFFO2dCQUNOLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxNQUFNO2dCQUM5QixPQUFPLEVBQUU7b0JBQ1AsS0FBSyxFQUFFLElBQUk7aUJBQ1o7YUFDRjtZQUNELFdBQVcsRUFBRSxNQUFNLEtBQUssQ0FBQyxrREFBa0QsQ0FBQztTQUM3RSxDQUFDO1lBRUYsb0NBQW9DO2FBQ25DLFVBQVUsRUFBRTtZQUNiLG1DQUFtQzthQUNsQyxRQUFRLEVBQUUsQ0FBQztJQUNoQixDQUFDOytHQTdKVSx3QkFBd0I7bUhBQXhCLHdCQUF3Qjs7NEZBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYUFBsYXRmb3JtU2NvcGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHsgQVhQV2lkZ2V0c0NhdGFsb2cgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC93aWRnZXQtY29yZSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQU2V0dGluZ0RlZmluaXRpb25Qcm92aWRlciwgQVhQU2V0dGluZ0RlZmluaXRpb25Qcm92aWRlckNvbnRleHQgfSBmcm9tICcuLi9zZXR0aW5ncyc7XG5pbXBvcnQgeyBBWFBDb21tb25TZXR0aW5ncyB9IGZyb20gJy4vY29tbW9uLXNldHRpbmdzLmtleSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWFBDb21tb25TZXR0aW5nUHJvdmlkZXIgaW1wbGVtZW50cyBBWFBTZXR0aW5nRGVmaW5pdGlvblByb3ZpZGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoQVhUcmFuc2xhdGlvblNlcnZpY2UpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7IH1cblxuICBhc3luYyBwcm92aWRlKGNvbnRleHQ6IEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXJDb250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgdHJhbnMgPSBhc3luYyAoa2V5OiBzdHJpbmcpID0+IGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYyhgQGdlbmVyYWw6c2V0dGluZ3MuJHtrZXl9YCk7XG5cbiAgICAvLyBEZWZpbmUgdGhlICdHZW5lcmFsIFNldHRpbmdzJyBncm91cFxuICAgIGNvbnRleHRcbiAgICAgIC5ncm91cCgnZ2VuZXJhbCcpXG4gICAgICA/LmFkZFNlY3Rpb24oXG4gICAgICAgICdub3RpZmljYXRpb25zJyxcbiAgICAgICAgYXdhaXQgdHJhbnMoJ2dlbmVyYWwubm90aWZpY2F0aW9ucy50aXRsZScpLFxuICAgICAgICBhd2FpdCB0cmFucygnZ2VuZXJhbC5ub3RpZmljYXRpb25zLmRlc2NyaXB0aW9uJyksXG4gICAgICApXG4gICAgICAvLyBBZGQgdGhlICdFbmFibGUgT3BlcmF0aW9uIFRvYXN0cycgc2V0dGluZ1xuICAgICAgLmFkZFNldHRpbmcoe1xuICAgICAgICBrZXk6IEFYUENvbW1vblNldHRpbmdzLkVuYWJsZU9wZXJhdGlvblRvYXN0cyxcbiAgICAgICAgdGl0bGU6IGF3YWl0IHRyYW5zKCdnZW5lcmFsLm5vdGlmaWNhdGlvbnMuZW5hYmxlLW9wZXJhdGlvbi10b2FzdHMudGl0bGUnKSxcbiAgICAgICAgc2NvcGU6IEFYUFBsYXRmb3JtU2NvcGUuVXNlcixcbiAgICAgICAgaXNJbmhlcml0ZWQ6IHRydWUsXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogdHJ1ZSxcbiAgICAgICAgd2lkZ2V0OiB7XG4gICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cudG9nZ2xlLFxuICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgIGxhYmVsOiBudWxsLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG5cbiAgICAgICAgZGVzY3JpcHRpb246IGF3YWl0IHRyYW5zKCdnZW5lcmFsLm5vdGlmaWNhdGlvbnMuZW5hYmxlLW9wZXJhdGlvbi10b2FzdHMuZGVzY3JpcHRpb24nKSxcbiAgICAgIH0pXG5cbiAgICAgIC8vIEVuZCB0aGUgJ05vdGlmaWNhdGlvbnMnIHNlY3Rpb25cbiAgICAgIC5lbmRTZWN0aW9uKClcbiAgICAgIC5hZGRTZWN0aW9uKCdlbnRpdHknLCBhd2FpdCB0cmFucygnZ2VuZXJhbC5lbnRpdHkudGl0bGUnKSwgYXdhaXQgdHJhbnMoJ2dlbmVyYWwuZW50aXR5LmRlc2NyaXB0aW9uJykpXG4gICAgICAvLyBBZGQgdGhlICdFbmFibGUgT3BlcmF0aW9uIFRvYXN0cycgc2V0dGluZ1xuICAgICAgLmFkZFNldHRpbmcoe1xuICAgICAgICBrZXk6IEFYUENvbW1vblNldHRpbmdzLkVudGl0eUZpbHRlckFwcGx5TW9kZSxcbiAgICAgICAgdGl0bGU6IGF3YWl0IHRyYW5zKCdnZW5lcmFsLmVudGl0eS5maWx0ZXItYXBwbHktbW9kZS50aXRsZScpLFxuICAgICAgICBzY29wZTogQVhQUGxhdGZvcm1TY29wZS5Vc2VyLFxuICAgICAgICBpc0luaGVyaXRlZDogdHJ1ZSxcbiAgICAgICAgZGVmYXVsdFZhbHVlOiAnYXV0bycsXG4gICAgICAgIHdpZGdldDoge1xuICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLnNlbGVjdCxcbiAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICBsYWJlbDogbnVsbCxcbiAgICAgICAgICAgIHZhbHVlRmllbGQ6ICd2YWx1ZScsXG4gICAgICAgICAgICB0ZXh0RmllbGQ6ICd0ZXh0JyxcbiAgICAgICAgICAgIGRhdGFTb3VyY2U6IFtcbiAgICAgICAgICAgICAgeyB2YWx1ZTogJ2F1dG8nLCB0ZXh0OiBhd2FpdCB0cmFucygnZ2VuZXJhbC5lbnRpdHkuZmlsdGVyLWFwcGx5LW1vZGUub3B0aW9ucy5hdXRvJykgfSxcbiAgICAgICAgICAgICAgeyB2YWx1ZTogJ21hbnVhbCcsIHRleHQ6IGF3YWl0IHRyYW5zKCdnZW5lcmFsLmVudGl0eS5maWx0ZXItYXBwbHktbW9kZS5vcHRpb25zLm1hbnVhbCcpIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG5cbiAgICAgICAgZGVzY3JpcHRpb246IGF3YWl0IHRyYW5zKCdnZW5lcmFsLmVudGl0eS5maWx0ZXItYXBwbHktbW9kZS5kZXNjcmlwdGlvbicpLFxuICAgICAgfSlcbiAgICAgIC5hZGRTZXR0aW5nKHtcbiAgICAgICAga2V5OiBBWFBDb21tb25TZXR0aW5ncy5FbnRpdHlMaXN0UGVyc2lzdGVuY2VNb2RlLFxuICAgICAgICB0aXRsZTogYXdhaXQgdHJhbnMoJ2dlbmVyYWwuZW50aXR5Lmxpc3QtcGVyc2lzdGVuY2UtbW9kZS50aXRsZScpLFxuICAgICAgICBzY29wZTogQVhQUGxhdGZvcm1TY29wZS5Vc2VyLFxuICAgICAgICBpc0luaGVyaXRlZDogdHJ1ZSxcbiAgICAgICAgZGVmYXVsdFZhbHVlOiAncGVyc2lzdGVudCcsXG4gICAgICAgIHdpZGdldDoge1xuICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLnNlbGVjdCxcbiAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICBsYWJlbDogbnVsbCxcbiAgICAgICAgICAgIHZhbHVlRmllbGQ6ICd2YWx1ZScsXG4gICAgICAgICAgICB0ZXh0RmllbGQ6ICd0ZXh0JyxcbiAgICAgICAgICAgIGRhdGFTb3VyY2U6IFtcbiAgICAgICAgICAgICAgeyB2YWx1ZTogJ25vbmUnLCB0ZXh0OiBhd2FpdCB0cmFucygnZ2VuZXJhbC5lbnRpdHkubGlzdC1wZXJzaXN0ZW5jZS1tb2RlLm9wdGlvbnMubm9uZScpIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogJ3BlcnNpc3RlbnQnLFxuICAgICAgICAgICAgICAgIHRleHQ6IGF3YWl0IHRyYW5zKCdnZW5lcmFsLmVudGl0eS5saXN0LXBlcnNpc3RlbmNlLW1vZGUub3B0aW9ucy5wZXJzaXN0ZW50JyksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHsgdmFsdWU6ICdyb3V0ZScsIHRleHQ6IGF3YWl0IHRyYW5zKCdnZW5lcmFsLmVudGl0eS5saXN0LXBlcnNpc3RlbmNlLW1vZGUub3B0aW9ucy5yb3V0ZScpIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIGRlc2NyaXB0aW9uOiBhd2FpdCB0cmFucygnZ2VuZXJhbC5lbnRpdHkubGlzdC1wZXJzaXN0ZW5jZS1tb2RlLmRlc2NyaXB0aW9uJyksXG4gICAgICB9KVxuICAgICAgLmFkZFNldHRpbmcoe1xuICAgICAgICBrZXk6IEFYUENvbW1vblNldHRpbmdzLlNob3dDYXRlZ29yeUNvbHVtbnNCeURlZmF1bHQsXG4gICAgICAgIHRpdGxlOiBhd2FpdCB0cmFucygnZ2VuZXJhbC5lbnRpdHkuc2hvdy1jYXRlZ29yeS1jb2x1bW5zLWJ5LWRlZmF1bHQudGl0bGUnKSxcbiAgICAgICAgc2NvcGU6IEFYUFBsYXRmb3JtU2NvcGUuVXNlcixcbiAgICAgICAgaXNJbmhlcml0ZWQ6IHRydWUsXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgICAgIHdpZGdldDoge1xuICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLnRvZ2dsZSxcbiAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICBsYWJlbDogbnVsbCxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBkZXNjcmlwdGlvbjogYXdhaXQgdHJhbnMoJ2dlbmVyYWwuZW50aXR5LnNob3ctY2F0ZWdvcnktY29sdW1ucy1ieS1kZWZhdWx0LmRlc2NyaXB0aW9uJyksXG4gICAgICB9KVxuICAgICAgLmFkZFNldHRpbmcoe1xuICAgICAgICBrZXk6IEFYUENvbW1vblNldHRpbmdzLkFwcGx5TGF5b3V0T3JkZXJpbmcsXG4gICAgICAgIHRpdGxlOiBhd2FpdCB0cmFucygnZ2VuZXJhbC5lbnRpdHkuYXBwbHktbGF5b3V0LW9yZGVyaW5nLnRpdGxlJyksXG4gICAgICAgIHNjb3BlOiBBWFBQbGF0Zm9ybVNjb3BlLlVzZXIsXG4gICAgICAgIGlzSW5oZXJpdGVkOiB0cnVlLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IHRydWUsXG4gICAgICAgIHdpZGdldDoge1xuICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLnRvZ2dsZSxcbiAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICBsYWJlbDogbnVsbCxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBkZXNjcmlwdGlvbjogYXdhaXQgdHJhbnMoJ2dlbmVyYWwuZW50aXR5LmFwcGx5LWxheW91dC1vcmRlcmluZy5kZXNjcmlwdGlvbicpLFxuICAgICAgfSlcbiAgICAgIC5hZGRTZXR0aW5nKHtcbiAgICAgICAga2V5OiBBWFBDb21tb25TZXR0aW5ncy5SZWRpcmVjdFRvRGV0YWlsc0FmdGVyQ3JlYXRlLFxuICAgICAgICB0aXRsZTogYXdhaXQgdHJhbnMoJ2dlbmVyYWwuZW50aXR5LnJlZGlyZWN0LXRvLWRldGFpbHMtYWZ0ZXItY3JlYXRlLnRpdGxlJyksXG4gICAgICAgIHNjb3BlOiBBWFBQbGF0Zm9ybVNjb3BlLlVzZXIsXG4gICAgICAgIGlzSW5oZXJpdGVkOiB0cnVlLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IHRydWUsXG4gICAgICAgIHdpZGdldDoge1xuICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLnRvZ2dsZSxcbiAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICBsYWJlbDogbnVsbCxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBkZXNjcmlwdGlvbjogYXdhaXQgdHJhbnMoJ2dlbmVyYWwuZW50aXR5LnJlZGlyZWN0LXRvLWRldGFpbHMtYWZ0ZXItY3JlYXRlLmRlc2NyaXB0aW9uJyksXG4gICAgICB9KVxuICAgICAgLmFkZFNldHRpbmcoe1xuICAgICAgICBrZXk6IEFYUENvbW1vblNldHRpbmdzLlNob3dQYWdlQmFkZ2UsXG4gICAgICAgIHRpdGxlOiBhd2FpdCB0cmFucygnZ2VuZXJhbC5lbnRpdHkuc2hvdy1wYWdlLWJhZGdlLnRpdGxlJyksXG4gICAgICAgIHNjb3BlOiBBWFBQbGF0Zm9ybVNjb3BlLlVzZXIsXG4gICAgICAgIGlzSW5oZXJpdGVkOiB0cnVlLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IHRydWUsXG4gICAgICAgIHdpZGdldDoge1xuICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLnRvZ2dsZSxcbiAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICBsYWJlbDogbnVsbCxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBkZXNjcmlwdGlvbjogYXdhaXQgdHJhbnMoJ2dlbmVyYWwuZW50aXR5LnNob3ctcGFnZS1iYWRnZS5kZXNjcmlwdGlvbicpLFxuICAgICAgfSlcbiAgICAgIC5hZGRTZXR0aW5nKHtcbiAgICAgICAga2V5OiBBWFBDb21tb25TZXR0aW5ncy5TaG93Um93SW5kZXhDb2x1bW4sXG4gICAgICAgIHRpdGxlOiBhd2FpdCB0cmFucygnZ2VuZXJhbC5lbnRpdHkuc2hvdy1yb3ctaW5kZXgtY29sdW1uLnRpdGxlJyksXG4gICAgICAgIHNjb3BlOiBBWFBQbGF0Zm9ybVNjb3BlLlVzZXIsXG4gICAgICAgIGlzSW5oZXJpdGVkOiB0cnVlLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IGZhbHNlLFxuICAgICAgICB3aWRnZXQ6IHtcbiAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy50b2dnbGUsXG4gICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgbGFiZWw6IG51bGwsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgZGVzY3JpcHRpb246IGF3YWl0IHRyYW5zKCdnZW5lcmFsLmVudGl0eS5zaG93LXJvdy1pbmRleC1jb2x1bW4uZGVzY3JpcHRpb24nKSxcbiAgICAgIH0pXG5cbiAgICAgIC8vIEVuZCB0aGUgJ0VudGl0eSBTZXR0aW5ncycgc2VjdGlvblxuICAgICAgLmVuZFNlY3Rpb24oKVxuICAgICAgLy8gRW5kIHRoZSAnR2VuZXJhbCBTZXR0aW5ncycgZ3JvdXBcbiAgICAgIC5lbmRHcm91cCgpO1xuICB9XG59XG4iXX0="],"names":[],"mappings":"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"}
|