@acorex/platform 21.0.0-next.85 → 21.0.0-next.89
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 +9 -3
- package/fesm2022/acorex-platform-auth.mjs.map +1 -1
- package/fesm2022/{acorex-platform-common-common-settings.provider-Ytey9uhY.mjs → acorex-platform-common-common-settings.provider-DilV4dql.mjs} +16 -3
- package/fesm2022/acorex-platform-common-common-settings.provider-DilV4dql.mjs.map +1 -0
- package/fesm2022/acorex-platform-common.mjs +3426 -2488
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-contracts.mjs +1160 -9
- package/fesm2022/acorex-platform-contracts.mjs.map +1 -1
- package/fesm2022/acorex-platform-core.mjs +826 -152
- package/fesm2022/acorex-platform-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-domain-contracts.mjs +58 -0
- package/fesm2022/acorex-platform-domain-contracts.mjs.map +1 -0
- package/fesm2022/acorex-platform-domain.mjs +2 -50
- package/fesm2022/acorex-platform-domain.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +98 -189
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/{acorex-platform-layout-components-binding-expression-editor-popup.component-CXEdvDTf.mjs → acorex-platform-layout-components-binding-expression-editor-popup.component-RttFwaw9.mjs} +17 -4
- package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-RttFwaw9.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-components.mjs +181 -46
- package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-designer.mjs +7 -6
- package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity-attachments-page.component-CwG6n_Yb.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity-contracts.mjs +1208 -0
- package/fesm2022/acorex-platform-layout-entity-contracts.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-entity-file-list-popup.component--IeMZLIr.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity.mjs +1080 -889
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-views.mjs +1150 -247
- package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-widget-core.mjs +388 -207
- package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-CFyfix31.mjs +513 -0
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-CFyfix31.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-tabular-data-edit-popup.component-DjpZU6gz.mjs → acorex-platform-layout-widgets-tabular-data-edit-popup.component-CZc2zFlg.mjs} +4 -4
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-CZc2zFlg.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-tabular-data-view-popup.component-gX-3Kx9I.mjs → acorex-platform-layout-widgets-tabular-data-view-popup.component-XWRUVoL4.mjs} +2 -2
- package/fesm2022/{acorex-platform-layout-widgets-tabular-data-view-popup.component-gX-3Kx9I.mjs.map → acorex-platform-layout-widgets-tabular-data-view-popup.component-XWRUVoL4.mjs.map} +1 -1
- package/fesm2022/acorex-platform-layout-widgets.mjs +1541 -394
- package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
- package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-Br9p5aXT.mjs → acorex-platform-themes-default-entity-master-single-view.component-DrUwqKKA.mjs} +2 -3
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-DrUwqKKA.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default.mjs +956 -115
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-shared-settings.provider-BjuzSe0T.mjs → acorex-platform-themes-shared-settings.provider-UyKdkeyk.mjs} +50 -3
- package/fesm2022/acorex-platform-themes-shared-settings.provider-UyKdkeyk.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared.mjs +104 -24
- package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
- package/fesm2022/acorex-platform-workflow.mjs +6 -8
- package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
- package/package.json +9 -5
- package/types/acorex-platform-auth.d.ts +3 -1
- package/types/acorex-platform-common.d.ts +655 -1268
- package/types/acorex-platform-contracts.d.ts +1791 -260
- package/types/acorex-platform-core.d.ts +2302 -2800
- package/types/acorex-platform-domain-contracts.d.ts +416 -0
- package/types/acorex-platform-domain.d.ts +4 -415
- package/types/acorex-platform-layout-builder.d.ts +11 -20
- package/types/acorex-platform-layout-components.d.ts +29 -5
- package/types/acorex-platform-layout-designer.d.ts +2 -1
- package/types/acorex-platform-layout-entity-contracts.d.ts +889 -0
- package/types/acorex-platform-layout-entity.d.ts +143 -275
- package/types/acorex-platform-layout-views.d.ts +147 -31
- package/types/acorex-platform-layout-widget-core.d.ts +74 -14
- package/types/acorex-platform-layout-widgets.d.ts +136 -38
- package/types/acorex-platform-runtime.d.ts +1 -1
- package/types/acorex-platform-themes-default.d.ts +227 -73
- package/types/acorex-platform-themes-shared.d.ts +4 -0
- package/types/acorex-platform-workflow.d.ts +5 -18
- package/fesm2022/acorex-platform-common-common-settings.provider-Ytey9uhY.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-CXEdvDTf.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-J0zcGKBX.mjs +0 -116
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-J0zcGKBX.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-DjpZU6gz.mjs.map +0 -1
- package/fesm2022/acorex-platform-native.mjs +0 -155
- package/fesm2022/acorex-platform-native.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-Br9p5aXT.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-settings.provider-BjuzSe0T.mjs.map +0 -1
- package/native/README.md +0 -4
- package/types/acorex-platform-native.d.ts +0 -28
|
@@ -1,24 +1,29 @@
|
|
|
1
|
+
import * as _acorex_platform_contracts from '@acorex/platform/contracts';
|
|
2
|
+
import { AXPAgentOutputKind, AXPOutputTranscriptSegmentId, AXPUserReference, AXPExecuteCommand, AXPLogoConfig, AXPGridLayoutOptions, AXPPlatformScopeKey, AXPPlatformScope, AXPFileListItem, AXPFileStorageCreateRequest, AXPFileStorageInfo, AXPFileStorageUpdateRequest, AXPFileStorageFindRequest, AXPFileManyStorageInfo, AXPMetaDataDefinition, AXPIntegrationProviderDefinition, AXPIntegrationRuntimeContext, AXPIntegrationSecretPayload, AXPIntegrationAuthContext, AXPIntegrationResolvedCredentials, AXPMetaData, AXPSystemActionType, AXPMultiLanguageString, AXPApplicationUserReference, AXPEntityReference, AXPOptionsData, AXPWidgetTriggers, AXPValueTransformerFunctions, AXPValidationRules, AXPStatusProvider, AXPStatusTransition } from '@acorex/platform/contracts';
|
|
1
3
|
import * as i0 from '@angular/core';
|
|
2
4
|
import { InjectionToken, EnvironmentProviders, Signal, Injector, ErrorHandler, ModuleWithProviders, EventEmitter, ElementRef, Renderer2, NgZone, ChangeDetectorRef } from '@angular/core';
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
import * as i1 from '@acorex/platform/core';
|
|
7
|
-
import { AXPValueTransformerFunctions, AXPMultiLanguageString, AXPOptionsData, AXPExpression, AXPFilterDefinition, AXPMetaData, AXPSystemActionType, AXPValidationRules, AXPGridLayoutOptions, AXPUserReference, AXPExecuteCommand, AXPKeyboardShortcutHelpEntry, AXPLogoConfig, AXPFileListItem, AXPExpressionEvaluatorScopeProvider, AXPExpressionEvaluatorScopeProviderContext, AXPDataSourceDefinitionProvider, AXPDataSourceDefinition, AXPNavigateActionCommand, AXPKeyboardShortcut, AXPExpressionEvaluatorScope, AXPExpressionEvaluatorService, AXPApplicationUserReference, AXPEntityReference, AXPPlatformScopeKey, AXPWidgetTriggers, AXPPlatformScope } from '@acorex/platform/core';
|
|
8
|
-
import { AXPWidgetTypesMap, AXPWidgetNode, AXPWidgetProperty } from '@acorex/platform/layout/widget-core';
|
|
5
|
+
import { AXPEntity, AXPCommandActionLook, AXPCommandActionPriority, AXPEntityProperty } from '@acorex/platform/layout/entity-contracts';
|
|
6
|
+
export * from '@acorex/platform/layout/entity-contracts';
|
|
7
|
+
export { AXPEntitySearchTitleContext, ENTITY_LAYOUT_SINGLE_TITLE_PATH, ENTITY_ROW_POPUP_TITLE_OPTION, ENTITY_ROW_TITLE_TEMPLATE_OPTION, buildEntitySearchTitleContext, isMeaningfulEntityDisplayTitle, isUnresolvedEntityDisplayTemplate, normalizeEntityDisplayTemplate, resolveEntityModifyRecordTitleTemplate, resolveEntityRowTitleTemplate, sanitizeResolvedEntityDisplayTitle } from '@acorex/platform/layout/entity-contracts';
|
|
9
8
|
import * as i4 from '@acorex/core/date-time';
|
|
10
9
|
import { AXCalendarService } from '@acorex/core/date-time';
|
|
11
10
|
import * as _angular_router from '@angular/router';
|
|
12
|
-
import { Route, Routes, UrlTree, Router, RedirectCommand, ActivatedRouteSnapshot, CanActivateFn, CanDeactivateFn, NavigationExtras } from '@angular/router';
|
|
11
|
+
import { Route, Routes, UrlTree, Router, RedirectCommand, ActivatedRouteSnapshot, CanActivateFn, CanDeactivateFn, NavigationExtras, DetachedRouteHandle } from '@angular/router';
|
|
12
|
+
import { AXFormatterRegistryService, AXFormatter, AXFormatOptions, AXFormatService } from '@acorex/core/format';
|
|
13
|
+
import * as i1 from '@acorex/platform/core';
|
|
14
|
+
import { AXPKeyboardShortcutHelpEntry, AXPExpressionEvaluatorScopeProvider, AXPExpressionEvaluatorScopeProviderContext, AXPDataSourceDefinitionProvider, AXPDataSourceDefinition, AXPNavigateActionCommand, AXPKeyboardShortcut, AXPContextEvalFactory, AXPExpressionEvaluatorScope, AXPExpressionEvaluatorService } from '@acorex/platform/core';
|
|
15
|
+
export { AXPDebugService } from '@acorex/platform/core';
|
|
13
16
|
import * as i2 from '@acorex/platform/workflow';
|
|
14
17
|
import { AXPWorkflowAction, AXPWorkflowContext, AXPWorkflow } from '@acorex/platform/workflow';
|
|
18
|
+
import * as i3 from '@acorex/components/popup';
|
|
19
|
+
import { AXPopupService } from '@acorex/components/popup';
|
|
15
20
|
import * as i5 from '@acorex/components/toast';
|
|
16
|
-
import { AXPFileStorageCreateRequest, AXPFileStorageInfo, AXPFileStorageUpdateRequest, AXPFileStorageFindRequest, AXPFileManyStorageInfo, AXPMetaDataDefinition } from '@acorex/platform/contracts';
|
|
17
21
|
import * as rxjs from 'rxjs';
|
|
18
22
|
import { Subject } from 'rxjs';
|
|
23
|
+
import { AXPWidgetNode, AXPWidgetProperty, AXPWidgetTypesMap } from '@acorex/platform/layout/widget-core';
|
|
24
|
+
import { AXDataSourceFilterOption, AXDataSourceOperator, AXStyleColorType } from '@acorex/cdk/common';
|
|
19
25
|
import * as _ngrx_signals from '@ngrx/signals';
|
|
20
26
|
import { AXTranslationService } from '@acorex/core/translation';
|
|
21
|
-
import { AXFormatService } from '@acorex/core/format';
|
|
22
27
|
import { AXLocaleProfile } from '@acorex/core/locale';
|
|
23
28
|
|
|
24
29
|
/** Platform common datasource registry names. */
|
|
@@ -26,10 +31,6 @@ declare const AXPPlatformCommonDataSourceKeys: {
|
|
|
26
31
|
readonly MenuItems: "platform-menu-items";
|
|
27
32
|
};
|
|
28
33
|
|
|
29
|
-
/** JSON data primitive for the specialist final deliverable. */
|
|
30
|
-
type AXPAgentOutputKind = 'string' | 'object' | 'array';
|
|
31
|
-
/** When `kind` is `object`, controls how the parsed value maps into chat transcript segments. */
|
|
32
|
-
type AXPOutputTranscriptSegmentId = 'text' | 'node' | 'followUp' | 'file';
|
|
33
34
|
/**
|
|
34
35
|
* Minimal JSON-Schema-like object for native provider hints and local validation.
|
|
35
36
|
*/
|
|
@@ -136,597 +137,6 @@ declare class AXPAppVersionService {
|
|
|
136
137
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPAppVersionService>;
|
|
137
138
|
}
|
|
138
139
|
|
|
139
|
-
interface AXEntityPropertyWidget {
|
|
140
|
-
type: AXPWidgetTypesMap[keyof AXPWidgetTypesMap] | string;
|
|
141
|
-
path?: string;
|
|
142
|
-
id?: string;
|
|
143
|
-
children?: AXEntityPropertyWidget[];
|
|
144
|
-
mode: 'view' | 'edit';
|
|
145
|
-
options?: Record<string, any>;
|
|
146
|
-
triggers?: {
|
|
147
|
-
event: string;
|
|
148
|
-
action: string;
|
|
149
|
-
disabled?: boolean;
|
|
150
|
-
}[];
|
|
151
|
-
valueTransforms?: AXPValueTransformerFunctions;
|
|
152
|
-
}
|
|
153
|
-
declare enum AXPRelationshipKind {
|
|
154
|
-
Association = 0,
|
|
155
|
-
Composition = 1,
|
|
156
|
-
Aggregation = 2
|
|
157
|
-
}
|
|
158
|
-
declare enum AXPRelationshipCardinality {
|
|
159
|
-
OneToOne = 0,
|
|
160
|
-
OneToMany = 1,
|
|
161
|
-
ManyToMany = 2
|
|
162
|
-
}
|
|
163
|
-
interface AXPRelationship {
|
|
164
|
-
id: string;
|
|
165
|
-
from: string;
|
|
166
|
-
to: string;
|
|
167
|
-
kind: AXPRelationshipKind;
|
|
168
|
-
cardinality: AXPRelationshipCardinality;
|
|
169
|
-
}
|
|
170
|
-
declare enum AXPEntityCommandScope {
|
|
171
|
-
TypeLevel = "typeLevel",
|
|
172
|
-
Selected = "selected",
|
|
173
|
-
Individual = "individual",
|
|
174
|
-
Section = "section"
|
|
175
|
-
}
|
|
176
|
-
declare enum AXPEntityQueryType {
|
|
177
|
-
Single = "single",
|
|
178
|
-
List = "list"
|
|
179
|
-
}
|
|
180
|
-
interface AXPEntityPropertyLayoutConfig extends AXPGridLayoutOptions {
|
|
181
|
-
label?: {
|
|
182
|
-
visible?: boolean;
|
|
183
|
-
};
|
|
184
|
-
order?: number;
|
|
185
|
-
visible?: boolean | AXPExpression;
|
|
186
|
-
}
|
|
187
|
-
interface AXPEntityPropertyGroup {
|
|
188
|
-
id: string;
|
|
189
|
-
title: string;
|
|
190
|
-
description?: string;
|
|
191
|
-
permissions?: string[];
|
|
192
|
-
icon?: string;
|
|
193
|
-
}
|
|
194
|
-
interface AXPEntityPropertyView {
|
|
195
|
-
name: string;
|
|
196
|
-
dataPath?: string;
|
|
197
|
-
permissions?: string[];
|
|
198
|
-
layout?: AXPEntityPropertyLayoutConfig;
|
|
199
|
-
}
|
|
200
|
-
interface AXPEntityPropertyUpdateView extends AXPEntityPropertyView {
|
|
201
|
-
}
|
|
202
|
-
interface AXPEntityPropertyCreateView extends AXPEntityPropertyView {
|
|
203
|
-
defaultValue?: any;
|
|
204
|
-
}
|
|
205
|
-
interface AXPEntitySectionView {
|
|
206
|
-
id: string;
|
|
207
|
-
order?: number;
|
|
208
|
-
collapsed?: boolean;
|
|
209
|
-
layout?: AXPEntityPropertyLayoutConfig;
|
|
210
|
-
}
|
|
211
|
-
interface AXPEntityProperty {
|
|
212
|
-
name: string;
|
|
213
|
-
title: string;
|
|
214
|
-
description?: string;
|
|
215
|
-
groupId?: string;
|
|
216
|
-
schema: {
|
|
217
|
-
dataType: string;
|
|
218
|
-
nullable?: boolean;
|
|
219
|
-
readonly?: boolean | string;
|
|
220
|
-
visible?: boolean | string;
|
|
221
|
-
defaultValue?: any | string | ((context: any | null) => any);
|
|
222
|
-
unique?: {
|
|
223
|
-
enabled: boolean;
|
|
224
|
-
};
|
|
225
|
-
interface?: Partial<AXEntityPropertyWidget>;
|
|
226
|
-
};
|
|
227
|
-
options?: {
|
|
228
|
-
filter?: {
|
|
229
|
-
advance?: {
|
|
230
|
-
enabled?: boolean;
|
|
231
|
-
widgetType?: AXPWidgetTypesMap[keyof AXPWidgetTypesMap];
|
|
232
|
-
};
|
|
233
|
-
inline?: {
|
|
234
|
-
enabled?: boolean;
|
|
235
|
-
};
|
|
236
|
-
preload?: {
|
|
237
|
-
enabled?: boolean;
|
|
238
|
-
required?: boolean;
|
|
239
|
-
};
|
|
240
|
-
};
|
|
241
|
-
sort?: {
|
|
242
|
-
enabled?: boolean;
|
|
243
|
-
};
|
|
244
|
-
};
|
|
245
|
-
validations?: AXPValidationRules;
|
|
246
|
-
}
|
|
247
|
-
/** Logical alignment for table column header/cell (respects RTL). */
|
|
248
|
-
type AXPColumnContentAlign = 'start' | 'center' | 'end';
|
|
249
|
-
/**
|
|
250
|
-
* Column alignment: shorthand applies to both header and cell;
|
|
251
|
-
* object form sets each side independently (omitted keys default to start).
|
|
252
|
-
*/
|
|
253
|
-
type AXPColumnAlign = AXPColumnContentAlign | {
|
|
254
|
-
header?: AXPColumnContentAlign;
|
|
255
|
-
cell?: AXPColumnContentAlign;
|
|
256
|
-
};
|
|
257
|
-
/** Shared field definition for list layouts (table columns, card fields, etc.). */
|
|
258
|
-
interface AXPEntityDisplayField {
|
|
259
|
-
name: string;
|
|
260
|
-
title?: string;
|
|
261
|
-
showAs?: {
|
|
262
|
-
type: AXPWidgetTypesMap[keyof AXPWidgetTypesMap] | string;
|
|
263
|
-
options?: Record<string, any>;
|
|
264
|
-
};
|
|
265
|
-
options?: {
|
|
266
|
-
/** When string, evaluate against parent detail context (e.g. related list). */
|
|
267
|
-
visible?: boolean | string;
|
|
268
|
-
/** Optional dataPath override for field binding. */
|
|
269
|
-
dataPath?: string;
|
|
270
|
-
[name: string]: any;
|
|
271
|
-
};
|
|
272
|
-
}
|
|
273
|
-
/** Card layout field presentation in master list card view. */
|
|
274
|
-
type AXPCardFieldDisplay = 'simple' | 'badge';
|
|
275
|
-
/** Badge color: semantic token or per-row expression (`{{ context.eval(...) }}`). */
|
|
276
|
-
type AXPCardBadgeColor = AXStyleColorType | AXPExpression;
|
|
277
|
-
interface AXPCardBadgeDisplayOptions {
|
|
278
|
-
/** Semantic color or expression evaluated against row context. */
|
|
279
|
-
color?: AXPCardBadgeColor;
|
|
280
|
-
}
|
|
281
|
-
interface AXPCardBadgeDisplay {
|
|
282
|
-
type: 'badge';
|
|
283
|
-
options?: AXPCardBadgeDisplayOptions;
|
|
284
|
-
}
|
|
285
|
-
/** Shorthand (`badge` / `simple`) or structured badge config with optional per-row color. */
|
|
286
|
-
type AXPCardFieldDisplayConfig = AXPCardFieldDisplay | AXPCardBadgeDisplay;
|
|
287
|
-
/** Card layout field in master list view. */
|
|
288
|
-
type AXPCardField = AXPEntityDisplayField & {
|
|
289
|
-
layout?: AXPEntityPropertyLayoutConfig;
|
|
290
|
-
/**
|
|
291
|
-
* Field presentation. Default: `simple` (card body).
|
|
292
|
-
* Use `badge` or `{ type: 'badge', options: { color } }` for header chips beside title.
|
|
293
|
-
*/
|
|
294
|
-
display?: AXPCardFieldDisplayConfig;
|
|
295
|
-
/**
|
|
296
|
-
* Badge color when presentation is badge-shaped.
|
|
297
|
-
* Prefer `display: { type: 'badge', options: { color } }` for new definitions.
|
|
298
|
-
* Omit for status fields — color is resolved from the status definition per row.
|
|
299
|
-
*/
|
|
300
|
-
badgeColor?: AXPCardBadgeColor;
|
|
301
|
-
};
|
|
302
|
-
/** Whether the card field is shown as a header badge (not in the card body). */
|
|
303
|
-
declare function isCardFieldBadgeDisplay(display: AXPCardFieldDisplayConfig | undefined): display is 'badge' | AXPCardBadgeDisplay;
|
|
304
|
-
/** Resolves static badge color config from {@link AXPCardField.display} and legacy {@link AXPCardField.badgeColor}. */
|
|
305
|
-
declare function resolveCardFieldBadgeColor(field: Pick<AXPCardField, 'display' | 'badgeColor'>): AXPCardBadgeColor | undefined;
|
|
306
|
-
interface AXPEntityTableColumn extends AXPEntityDisplayField {
|
|
307
|
-
options?: AXPEntityDisplayField['options'] & {
|
|
308
|
-
/** Initial column width (overrides widget column width when set). */
|
|
309
|
-
width?: string;
|
|
310
|
-
/** Header/cell alignment (shorthand or per-side). */
|
|
311
|
-
align?: AXPColumnAlign;
|
|
312
|
-
};
|
|
313
|
-
}
|
|
314
|
-
interface AXPEntityCommand {
|
|
315
|
-
execute: string | Function;
|
|
316
|
-
permissions?: string[];
|
|
317
|
-
}
|
|
318
|
-
interface AXPEntityQuery {
|
|
319
|
-
execute: string | Function;
|
|
320
|
-
type: AXPEntityQueryType;
|
|
321
|
-
}
|
|
322
|
-
|
|
323
|
-
type AXPCommandActionType = AXPSystemActionType;
|
|
324
|
-
interface AXPCommandActionLook {
|
|
325
|
-
color: AXStyleColorType;
|
|
326
|
-
icon: string;
|
|
327
|
-
}
|
|
328
|
-
type AXPCommandActionPriority = 'primary' | 'secondary';
|
|
329
|
-
type AXPCommandActionCallback = string | {
|
|
330
|
-
name: string;
|
|
331
|
-
options?: {
|
|
332
|
-
decoration?: {
|
|
333
|
-
header?: {
|
|
334
|
-
title?: string;
|
|
335
|
-
};
|
|
336
|
-
};
|
|
337
|
-
process?: {
|
|
338
|
-
data?: any;
|
|
339
|
-
[name: string]: any;
|
|
340
|
-
};
|
|
341
|
-
layout?: {
|
|
342
|
-
size?: AXPopupSizeType;
|
|
343
|
-
};
|
|
344
|
-
[name: string]: any;
|
|
345
|
-
};
|
|
346
|
-
metadata?: AXPMetaData;
|
|
347
|
-
};
|
|
348
|
-
interface AXPCommandActionDisplay extends Partial<AXPCommandActionLook> {
|
|
349
|
-
name?: string;
|
|
350
|
-
command: AXPCommandActionCallback;
|
|
351
|
-
title: string;
|
|
352
|
-
type: AXPSystemActionType | string;
|
|
353
|
-
priority: 'primary' | 'secondary' | 'none';
|
|
354
|
-
separated?: boolean;
|
|
355
|
-
permissions?: string[];
|
|
356
|
-
hidden?: boolean | string;
|
|
357
|
-
disabled?: boolean | string;
|
|
358
|
-
default?: boolean;
|
|
359
|
-
order?: number;
|
|
360
|
-
/**
|
|
361
|
-
* Keyboard chords for this action (e.g. `'ctrl+shift+a'`).
|
|
362
|
-
* Pass `[]` to disable shortcuts. When omitted, platform defaults may apply for known commands.
|
|
363
|
-
*/
|
|
364
|
-
shortcuts?: string[];
|
|
365
|
-
}
|
|
366
|
-
interface AXPEntityAction extends AXPCommandActionDisplay {
|
|
367
|
-
scope: AXPEntityCommandScope;
|
|
368
|
-
/** Child actions for dropdown submenu */
|
|
369
|
-
items?: AXPEntityAction[];
|
|
370
|
-
}
|
|
371
|
-
interface AXPEntity {
|
|
372
|
-
plugins?: {
|
|
373
|
-
name: string;
|
|
374
|
-
options?: AXPOptionsData;
|
|
375
|
-
}[];
|
|
376
|
-
/**
|
|
377
|
-
* High-level rules: when expression evaluates true, apply actions to the given targets
|
|
378
|
-
* (property/section/action). Reduces repetition of the same condition across many properties.
|
|
379
|
-
* Evaluation context: form data, user, entity; precedence vs property-level visible/readonly
|
|
380
|
-
* must be defined where rules are applied.
|
|
381
|
-
*/
|
|
382
|
-
rules?: Array<{
|
|
383
|
-
name: string;
|
|
384
|
-
expression: AXPExpression;
|
|
385
|
-
actions: Array<{
|
|
386
|
-
target: {
|
|
387
|
-
type: 'property' | 'section' | 'action';
|
|
388
|
-
name: string;
|
|
389
|
-
};
|
|
390
|
-
values: AXPOptionsData;
|
|
391
|
-
}>;
|
|
392
|
-
}>;
|
|
393
|
-
module: string;
|
|
394
|
-
name: string;
|
|
395
|
-
icon?: string;
|
|
396
|
-
parentKey?: string;
|
|
397
|
-
category?: AXPCategoryEntity;
|
|
398
|
-
title: string;
|
|
399
|
-
formats: {
|
|
400
|
-
individual: string;
|
|
401
|
-
plural: string;
|
|
402
|
-
lookup?: string;
|
|
403
|
-
displayName?: string;
|
|
404
|
-
searchResult?: {
|
|
405
|
-
title: string;
|
|
406
|
-
description?: string;
|
|
407
|
-
};
|
|
408
|
-
};
|
|
409
|
-
relatedEntities?: AXPRelatedEntity[];
|
|
410
|
-
pages?: AXPEntityPage[];
|
|
411
|
-
groups?: AXPEntityPropertyGroup[];
|
|
412
|
-
properties: AXPEntityProperty[];
|
|
413
|
-
columns?: AXPEntityTableColumn[];
|
|
414
|
-
commands?: {
|
|
415
|
-
create?: AXPEntityCommand | undefined;
|
|
416
|
-
update?: AXPEntityCommand | undefined;
|
|
417
|
-
delete?: AXPEntityCommand | undefined;
|
|
418
|
-
[name: string]: AXPEntityCommand | undefined;
|
|
419
|
-
};
|
|
420
|
-
queries?: {
|
|
421
|
-
byKey?: AXPEntityQuery;
|
|
422
|
-
list?: AXPEntityQuery;
|
|
423
|
-
lookup?: AXPEntityQuery;
|
|
424
|
-
history?: AXPEntityQuery;
|
|
425
|
-
comments?: AXPEntityQuery;
|
|
426
|
-
[name: string]: AXPEntityQuery | undefined;
|
|
427
|
-
};
|
|
428
|
-
validations?: AXPValidationRules;
|
|
429
|
-
interfaces?: {
|
|
430
|
-
master?: {
|
|
431
|
-
single?: AXPEntityMasterSingleLayoutView;
|
|
432
|
-
list?: AXPEntityMasterListView;
|
|
433
|
-
create?: AXPEntityMasterCreateLayoutView;
|
|
434
|
-
update?: AXPEntityMasterUpdateLayoutView;
|
|
435
|
-
};
|
|
436
|
-
detail?: {
|
|
437
|
-
list?: AXPEntityDetailListView;
|
|
438
|
-
};
|
|
439
|
-
};
|
|
440
|
-
}
|
|
441
|
-
declare function getEntityInfo(entity: AXPEntity): {
|
|
442
|
-
source: string;
|
|
443
|
-
module: {
|
|
444
|
-
route: string;
|
|
445
|
-
};
|
|
446
|
-
entity: {
|
|
447
|
-
route: string;
|
|
448
|
-
};
|
|
449
|
-
};
|
|
450
|
-
declare function createQueryView(name: string, title: string, fixed: boolean, params?: {
|
|
451
|
-
columns?: string[];
|
|
452
|
-
conditions?: any[];
|
|
453
|
-
sorts?: AXPQuerySort[];
|
|
454
|
-
}): AXPQueryView;
|
|
455
|
-
declare function createAllQueryView(params?: {
|
|
456
|
-
columns?: string[];
|
|
457
|
-
conditions?: AXPQueryFilter[];
|
|
458
|
-
sorts?: AXPQuerySort[];
|
|
459
|
-
} | undefined): AXPQueryView;
|
|
460
|
-
interface AXPRelatedEntity {
|
|
461
|
-
entity: string;
|
|
462
|
-
title?: string;
|
|
463
|
-
icon?: string;
|
|
464
|
-
columns?: string[] | AXPEntityTableColumn[];
|
|
465
|
-
properties?: string[];
|
|
466
|
-
excludeProperties?: string[];
|
|
467
|
-
layout?: {
|
|
468
|
-
type: 'tab-detail' | 'tab-list' | 'page-detail' | 'page-list' | 'merge-detail';
|
|
469
|
-
order?: number;
|
|
470
|
-
position?: 'before' | 'after' | 'middle';
|
|
471
|
-
};
|
|
472
|
-
conditions?: AXPQueryFilter[];
|
|
473
|
-
customFilterDefinitions?: Partial<AXPFilterDefinition>[];
|
|
474
|
-
hidden?: boolean | AXPExpression;
|
|
475
|
-
actions?: AXPEntityAction[];
|
|
476
|
-
/**
|
|
477
|
-
* Controls inclusion on the host entity master **create** / **update** form.
|
|
478
|
-
* Defaults depend on layout:
|
|
479
|
-
* - **merge-detail**: omitted flags behave as **true** (opt-out with `false`).
|
|
480
|
-
* - **tab-list** / **page-list**: omitted flags behave as **false** (opt-in with `true`).
|
|
481
|
-
*/
|
|
482
|
-
appearOn?: {
|
|
483
|
-
/** Include on host create form (see defaults above per layout type). */
|
|
484
|
-
create?: boolean;
|
|
485
|
-
/** Include on host update form (see defaults above per layout type). */
|
|
486
|
-
update?: boolean;
|
|
487
|
-
};
|
|
488
|
-
/**
|
|
489
|
-
* Relationship-level persistence strategy for merge-detail data.
|
|
490
|
-
* Defaults:
|
|
491
|
-
* - strategy: 'embedded'
|
|
492
|
-
* - idField: last segment of dataPath + 'Id' (or 'relatedId' when dataPath is missing)
|
|
493
|
-
* - map: undefined (pass-through)
|
|
494
|
-
* - hydrate: 'eager' (applies to getOne only in mock)
|
|
495
|
-
* - cascade.delete: 'none'
|
|
496
|
-
*/
|
|
497
|
-
persistence?: {
|
|
498
|
-
strategy?: 'embedded' | 'referenced';
|
|
499
|
-
idField?: string;
|
|
500
|
-
dataPath?: string;
|
|
501
|
-
map?: Record<string, string>;
|
|
502
|
-
hydrate?: 'eager' | 'lazy';
|
|
503
|
-
cascade?: {
|
|
504
|
-
delete?: 'none' | 'orphans' | 'all';
|
|
505
|
-
};
|
|
506
|
-
foreignKeyField?: string;
|
|
507
|
-
};
|
|
508
|
-
}
|
|
509
|
-
interface AXPEntityPage {
|
|
510
|
-
/**
|
|
511
|
-
* Key to identify the component in the page component registry
|
|
512
|
-
*/
|
|
513
|
-
componentKey: string;
|
|
514
|
-
/**
|
|
515
|
-
* Property name to render when the page component displays an entity field (e.g. 'questions', 'attachments').
|
|
516
|
-
* Passed to the page component as pageConfig.field.
|
|
517
|
-
*/
|
|
518
|
-
field?: string;
|
|
519
|
-
/**
|
|
520
|
-
* Title of the page (displayed in navigation)
|
|
521
|
-
*/
|
|
522
|
-
title?: AXPMultiLanguageString;
|
|
523
|
-
/**
|
|
524
|
-
* Icon for the page (displayed in navigation)
|
|
525
|
-
*/
|
|
526
|
-
icon?: string;
|
|
527
|
-
/**
|
|
528
|
-
* Description of the page
|
|
529
|
-
*/
|
|
530
|
-
description?: AXPMultiLanguageString;
|
|
531
|
-
/**
|
|
532
|
-
* Layout configuration for page positioning
|
|
533
|
-
*/
|
|
534
|
-
layout?: {
|
|
535
|
-
/**
|
|
536
|
-
* Order of the page (lower numbers appear first)
|
|
537
|
-
*/
|
|
538
|
-
order?: number;
|
|
539
|
-
/**
|
|
540
|
-
* Position relative to the main page
|
|
541
|
-
*/
|
|
542
|
-
position?: 'before' | 'after' | 'middle';
|
|
543
|
-
};
|
|
544
|
-
/**
|
|
545
|
-
* Visibility condition (boolean or expression string)
|
|
546
|
-
*/
|
|
547
|
-
hidden?: boolean | string;
|
|
548
|
-
/**
|
|
549
|
-
* Permissions required to view this page
|
|
550
|
-
*/
|
|
551
|
-
permissions?: string[];
|
|
552
|
-
/**
|
|
553
|
-
* Controls inclusion on the host entity master **create** / **update** form wizard.
|
|
554
|
-
* Omitted flags behave as **false** (opt-in with `true`), same as `tab-list` / `page-list` related entities.
|
|
555
|
-
*/
|
|
556
|
-
appearOn?: {
|
|
557
|
-
/** Include as a wizard step on host create form. */
|
|
558
|
-
create?: boolean;
|
|
559
|
-
/** Include as a wizard step on host update form. */
|
|
560
|
-
update?: boolean;
|
|
561
|
-
};
|
|
562
|
-
options?: Record<string, any>;
|
|
563
|
-
}
|
|
564
|
-
interface AXPCategoryEntity {
|
|
565
|
-
entity: string;
|
|
566
|
-
title?: string;
|
|
567
|
-
textField?: string;
|
|
568
|
-
valueField?: string;
|
|
569
|
-
conditions?: AXPQueryFilter[];
|
|
570
|
-
applyConditions?: AXPQueryFilter[];
|
|
571
|
-
}
|
|
572
|
-
interface AXPEntityVersionHistory {
|
|
573
|
-
enabled?: boolean;
|
|
574
|
-
showInList?: boolean;
|
|
575
|
-
showInDetail?: boolean;
|
|
576
|
-
}
|
|
577
|
-
interface AXPAggregate {
|
|
578
|
-
id: string;
|
|
579
|
-
name: string;
|
|
580
|
-
title: AXPMultiLanguageString;
|
|
581
|
-
entities: AXPEntity[];
|
|
582
|
-
}
|
|
583
|
-
interface AXPModule {
|
|
584
|
-
name: string;
|
|
585
|
-
title: AXPMultiLanguageString;
|
|
586
|
-
aggregates: AXPAggregate[];
|
|
587
|
-
relationships?: AXPRelationship[];
|
|
588
|
-
}
|
|
589
|
-
interface AXPApplication {
|
|
590
|
-
name: string;
|
|
591
|
-
title: AXPMultiLanguageString;
|
|
592
|
-
modules: AXPModule[];
|
|
593
|
-
}
|
|
594
|
-
interface AXPEntityMasterLayoutView {
|
|
595
|
-
title?: string;
|
|
596
|
-
sections: AXPEntitySectionView[];
|
|
597
|
-
properties?: AXPEntityPropertyView[];
|
|
598
|
-
}
|
|
599
|
-
/** Quick create config for lookup widgets (+ button) - uses subset of create form */
|
|
600
|
-
interface AXPEntityQuickCreate {
|
|
601
|
-
enabled?: boolean;
|
|
602
|
-
properties?: string[];
|
|
603
|
-
layout?: {
|
|
604
|
-
size?: AXPopupSizeType;
|
|
605
|
-
};
|
|
606
|
-
excludeProperties?: string[];
|
|
607
|
-
}
|
|
608
|
-
interface AXPEntityMasterCreateLayoutView extends AXPEntityMasterLayoutView {
|
|
609
|
-
steps?: {
|
|
610
|
-
id: string;
|
|
611
|
-
title: string;
|
|
612
|
-
description?: string;
|
|
613
|
-
};
|
|
614
|
-
/** Quick create config for lookup widgets - uses subset of create form */
|
|
615
|
-
quickCreate?: AXPEntityQuickCreate;
|
|
616
|
-
}
|
|
617
|
-
interface AXPEntityMasterUpdateLayoutView extends AXPEntityMasterLayoutView {
|
|
618
|
-
}
|
|
619
|
-
interface AXPEntityMasterSingleLayoutView extends AXPEntityMasterLayoutView {
|
|
620
|
-
title: string;
|
|
621
|
-
description?: string;
|
|
622
|
-
actions?: AXPEntityAction[];
|
|
623
|
-
}
|
|
624
|
-
interface AXPEntityMasterListView {
|
|
625
|
-
title?: string;
|
|
626
|
-
description?: string;
|
|
627
|
-
actions?: AXPEntityAction[];
|
|
628
|
-
views: AXPQueryView[];
|
|
629
|
-
layouts?: {
|
|
630
|
-
table?: {
|
|
631
|
-
enabled?: boolean;
|
|
632
|
-
columns: AXPEntityTableColumn[];
|
|
633
|
-
};
|
|
634
|
-
card?: {
|
|
635
|
-
enabled?: boolean;
|
|
636
|
-
header: {
|
|
637
|
-
/** Property path, expression (`{{ ... }}`), or literal — evaluated per row. */
|
|
638
|
-
title?: string;
|
|
639
|
-
description?: string;
|
|
640
|
-
icon?: string;
|
|
641
|
-
};
|
|
642
|
-
fields: AXPCardField[];
|
|
643
|
-
};
|
|
644
|
-
};
|
|
645
|
-
}
|
|
646
|
-
type AXPEntityMasterListLayoutType = 'table' | 'card';
|
|
647
|
-
/** Master list presentation: table or card with compact (collapsed) / expanded bodies. */
|
|
648
|
-
type AXPEntityMasterListDisplayMode = 'table' | 'card-compact' | 'card-expanded';
|
|
649
|
-
interface AXPEntityMasterListLayoutOption {
|
|
650
|
-
id: AXPEntityMasterListLayoutType;
|
|
651
|
-
title: string;
|
|
652
|
-
icon?: string;
|
|
653
|
-
}
|
|
654
|
-
/** Resolves master list layouts that are currently enabled. */
|
|
655
|
-
declare function resolveEnabledMasterListLayouts(layouts?: AXPEntityMasterListView['layouts']): AXPEntityMasterListLayoutType[];
|
|
656
|
-
/** First enabled layout; used as the default when no user preference is stored. */
|
|
657
|
-
declare function resolveDefaultMasterListLayout(layouts?: AXPEntityMasterListView['layouts']): AXPEntityMasterListLayoutType;
|
|
658
|
-
interface AXPEntityDetailListView {
|
|
659
|
-
title?: string;
|
|
660
|
-
description?: string;
|
|
661
|
-
columns: AXPEntityTableColumn[];
|
|
662
|
-
actions?: AXPEntityAction[];
|
|
663
|
-
}
|
|
664
|
-
interface AXPQueryView {
|
|
665
|
-
name: string;
|
|
666
|
-
fixed: boolean;
|
|
667
|
-
title: string;
|
|
668
|
-
columns: string[];
|
|
669
|
-
conditions: AXPQueryFilter[];
|
|
670
|
-
sorts: AXPQuerySort[];
|
|
671
|
-
indexCol?: boolean;
|
|
672
|
-
pageSize?: number;
|
|
673
|
-
visible?: boolean;
|
|
674
|
-
}
|
|
675
|
-
interface AXPQueryFilter {
|
|
676
|
-
name: string;
|
|
677
|
-
operator: AXDataSourceOperator;
|
|
678
|
-
value: any;
|
|
679
|
-
}
|
|
680
|
-
interface AXPQuerySort {
|
|
681
|
-
name: string;
|
|
682
|
-
dir: 'asc' | 'desc';
|
|
683
|
-
}
|
|
684
|
-
declare enum AXPEntityType {
|
|
685
|
-
Entity = 0,
|
|
686
|
-
AggregateRoot = 1,
|
|
687
|
-
ValueObject = 2
|
|
688
|
-
}
|
|
689
|
-
interface AXPEntityV2 {
|
|
690
|
-
version: 2;
|
|
691
|
-
module: string;
|
|
692
|
-
aggregate: string;
|
|
693
|
-
name: string;
|
|
694
|
-
type: AXPEntityType;
|
|
695
|
-
icon?: string;
|
|
696
|
-
title: string;
|
|
697
|
-
description?: string;
|
|
698
|
-
plugins?: {
|
|
699
|
-
name: string;
|
|
700
|
-
options?: AXPOptionsData;
|
|
701
|
-
}[];
|
|
702
|
-
pages?: AXPEntityPage[];
|
|
703
|
-
groups?: AXPEntityPropertyGroup[];
|
|
704
|
-
properties: AXPEntityProperty[];
|
|
705
|
-
formats: {
|
|
706
|
-
individual: string;
|
|
707
|
-
plural: string;
|
|
708
|
-
lookup?: string;
|
|
709
|
-
displayName?: string;
|
|
710
|
-
searchResult?: {
|
|
711
|
-
title: string;
|
|
712
|
-
description?: string;
|
|
713
|
-
};
|
|
714
|
-
};
|
|
715
|
-
columns?: AXPEntityTableColumn[];
|
|
716
|
-
validations?: AXPValidationRules;
|
|
717
|
-
interfaces?: {
|
|
718
|
-
master?: {
|
|
719
|
-
single?: AXPEntityMasterSingleLayoutView;
|
|
720
|
-
list?: AXPEntityMasterListView;
|
|
721
|
-
create?: AXPEntityMasterCreateLayoutView;
|
|
722
|
-
update?: AXPEntityMasterUpdateLayoutView;
|
|
723
|
-
};
|
|
724
|
-
detail?: {
|
|
725
|
-
list?: AXPEntityDetailListView;
|
|
726
|
-
};
|
|
727
|
-
};
|
|
728
|
-
}
|
|
729
|
-
|
|
730
140
|
interface AXPFilterOperator {
|
|
731
141
|
name: string;
|
|
732
142
|
title: string;
|
|
@@ -1120,6 +530,32 @@ declare class AXPBackgroundOperationSlotComponent {
|
|
|
1120
530
|
static ɵcmp: i0.ɵɵComponentDeclaration<AXPBackgroundOperationSlotComponent, "axp-background-operation-slot", never, {}, {}, never, never, true, never>;
|
|
1121
531
|
}
|
|
1122
532
|
|
|
533
|
+
declare class AXPBrowserTitleService {
|
|
534
|
+
private readonly document;
|
|
535
|
+
private readonly translateService;
|
|
536
|
+
private readonly tabNavigation;
|
|
537
|
+
private readonly menuService;
|
|
538
|
+
private readonly sessionService;
|
|
539
|
+
private readonly router;
|
|
540
|
+
private readonly destroyRef;
|
|
541
|
+
private readonly simpleModePageTitle;
|
|
542
|
+
private readonly localeRevision;
|
|
543
|
+
private readonly sessionRevision;
|
|
544
|
+
private readonly routeRevision;
|
|
545
|
+
constructor();
|
|
546
|
+
/** Publishes the resolved page title for the given route key (ignored in tabular mode). */
|
|
547
|
+
setSimpleModePageTitle(title: string | null, routeKey: string): void;
|
|
548
|
+
private syncDocumentTitle;
|
|
549
|
+
private resolveTabularRouteTitle;
|
|
550
|
+
private resolveSimpleRouteTitle;
|
|
551
|
+
private resolveMenuRouteTitle;
|
|
552
|
+
private resolveApplicationTitle;
|
|
553
|
+
private resolveLocalizedText;
|
|
554
|
+
private buildDocumentTitle;
|
|
555
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPBrowserTitleService, never>;
|
|
556
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPBrowserTitleService>;
|
|
557
|
+
}
|
|
558
|
+
|
|
1123
559
|
interface AXPErrorHandler {
|
|
1124
560
|
handleError(error: Error, next: (error: Error) => void): void;
|
|
1125
561
|
}
|
|
@@ -1214,7 +650,7 @@ declare class AXPCommonModule {
|
|
|
1214
650
|
/**
|
|
1215
651
|
* @ignore
|
|
1216
652
|
*/
|
|
1217
|
-
constructor(instances: any[], _keyboardShortcutsHelp: AXPKeyboardShortcutsHelpService);
|
|
653
|
+
constructor(instances: any[], _keyboardShortcutsHelp: AXPKeyboardShortcutsHelpService, formatterRegistry: AXFormatterRegistryService);
|
|
1218
654
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXPCommonModule, never>;
|
|
1219
655
|
static ɵmod: i0.ɵɵNgModuleDeclaration<AXPCommonModule, never, [typeof i1.AXPComponentSlotModule, typeof i2.AXPWorkflowModule, typeof i3.AXPopupModule, typeof i4.AXDateTimeModule, typeof i5.AXToastModule, typeof i1.AXPModuleManifestModule], [typeof _angular_router.RouterModule]>;
|
|
1220
656
|
static ɵinj: i0.ɵɵInjectorDeclaration<AXPCommonModule>;
|
|
@@ -1252,59 +688,206 @@ declare enum AXPCommonSettings {
|
|
|
1252
688
|
ShowCategoryColumnsByDefault = "Common:Setting:Entity.ShowCategoryColumnsByDefault",
|
|
1253
689
|
ApplyLayoutOrdering = "Common:Setting:Entity.ApplyLayoutOrdering",
|
|
1254
690
|
RedirectToDetailsAfterCreate = "Common:Setting:Entity.RedirectToDetailsAfterCreate",
|
|
691
|
+
HighlightAfterCreateInList = "Common:Setting:Entity.HighlightAfterCreateInList",
|
|
1255
692
|
ShowPageBadge = "Common:Setting:Entity.ShowPageBadge",
|
|
1256
693
|
ConfirmUnsavedChanges = "Common:Setting:Entity.ConfirmUnsavedChanges",
|
|
1257
694
|
DebugMode = "PlatformDevTools:Setting:Developer.DebugMode",
|
|
1258
695
|
ShowRowIndexColumn = "Common:Setting:Entity.ShowRowIndexColumn",
|
|
1259
|
-
EntityListPersistenceMode = "Common:Setting:Entity.ListPersistenceMode"
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
declare const AXP_ROOT_CONFIG_TOKEN: InjectionToken<AXPRootConfigs>;
|
|
1263
|
-
interface AXPRootConfigs {
|
|
1264
|
-
baseUrl: string;
|
|
696
|
+
EntityListPersistenceMode = "Common:Setting:Entity.ListPersistenceMode",
|
|
697
|
+
NavigationMode = "Common:Setting:Navigation.Mode",
|
|
698
|
+
MaxOpenTabs = "Common:Setting:Navigation.MaxOpenTabs"
|
|
1265
699
|
}
|
|
1266
700
|
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
abstract updateOne(entity: any, id?: string, data?: {
|
|
1273
|
-
[key: string]: any;
|
|
1274
|
-
}): Promise<any>;
|
|
1275
|
-
abstract deleteOne(entity: any, id: string): Promise<any>;
|
|
1276
|
-
abstract getFirst(entity: any): Promise<any>;
|
|
1277
|
-
abstract uploadFile(file: File, title: string, customUrl?: string): Promise<string>;
|
|
1278
|
-
abstract updateFile(id: string, file: File, title: string, customUrl?: string): Promise<string>;
|
|
1279
|
-
abstract uploadMultipleFiles(files: File[], title: string): Promise<string[]>;
|
|
1280
|
-
abstract viewFile(id: string, name: string): Promise<Blob>;
|
|
1281
|
-
abstract downloadFile(id: string, name: string): Promise<Blob>;
|
|
701
|
+
interface AXPSettingValueProvider {
|
|
702
|
+
get scope(): AXPPlatformScope;
|
|
703
|
+
load(): Promise<AXPSettingValue[]>;
|
|
704
|
+
set(key: string, value: any): Promise<void>;
|
|
705
|
+
set(values: Record<string, any>): Promise<void>;
|
|
1282
706
|
}
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
*/
|
|
1291
|
-
abstract transformFilters(filters: AXDataSourceFilterOption[]): AXDataSourceFilterOption[];
|
|
707
|
+
/**
|
|
708
|
+
* Provider interface for supplying default setting values from higher layers (e.g., app, mocks, API).
|
|
709
|
+
* Providers are merged by ascending priority; later providers override earlier values on key conflicts.
|
|
710
|
+
*/
|
|
711
|
+
interface AXPSettingDefaultValuesProvider {
|
|
712
|
+
/** Merge order; lower numbers are applied first. Default is 0. */
|
|
713
|
+
priority?: number;
|
|
1292
714
|
/**
|
|
1293
|
-
*
|
|
1294
|
-
*
|
|
1295
|
-
* @returns Transformed filter.
|
|
715
|
+
* When set, missing values from this provider are persisted at this scope instead of each
|
|
716
|
+
* setting's definition scope. Use for app-wide demo or deployment defaults (e.g. platform).
|
|
1296
717
|
*/
|
|
1297
|
-
|
|
1298
|
-
|
|
718
|
+
scope?: AXPPlatformScope;
|
|
719
|
+
/** Returns a flat map of setting key to default value. */
|
|
720
|
+
provide(): Promise<Record<string, unknown>>;
|
|
1299
721
|
}
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
722
|
+
interface AXPSettingValue {
|
|
723
|
+
key: string;
|
|
724
|
+
value: any;
|
|
725
|
+
}
|
|
726
|
+
interface AXPSettingChangedEvent {
|
|
727
|
+
scope: AXPPlatformScope;
|
|
728
|
+
keys: string[];
|
|
729
|
+
values: Record<string, any>;
|
|
730
|
+
entries: AXPSettingValue[];
|
|
731
|
+
}
|
|
732
|
+
/** Layout options for a single setting row on the settings page. */
|
|
733
|
+
interface AXPSettingLayoutOptions extends AXPGridLayoutOptions {
|
|
734
|
+
/** When true, stack the label above a full-width control. */
|
|
735
|
+
stacked?: boolean;
|
|
736
|
+
}
|
|
737
|
+
interface AXPSettingDefinition {
|
|
738
|
+
name: string;
|
|
739
|
+
title: string;
|
|
740
|
+
description?: string;
|
|
741
|
+
/** Optional i18n keys (e.g. `@scope:key`) whose translated values are included in settings search. */
|
|
742
|
+
searchTagKeys?: string[];
|
|
743
|
+
widget: AXPWidgetNode;
|
|
744
|
+
layout?: AXPSettingLayoutOptions;
|
|
745
|
+
scope: AXPPlatformScopeKey;
|
|
746
|
+
isRequired?: boolean;
|
|
747
|
+
isInherited?: boolean;
|
|
748
|
+
isEncrypted?: boolean;
|
|
749
|
+
/** When true, saving this setting from the settings page reloads the browser. */
|
|
750
|
+
requiresPageRefresh?: boolean;
|
|
751
|
+
defaultValue?: unknown;
|
|
752
|
+
value?: unknown;
|
|
753
|
+
}
|
|
754
|
+
interface AXPSettingDefinitionGroup {
|
|
755
|
+
name: string;
|
|
756
|
+
/** Short label (e.g. sidebar); i18n key when using the translation pipe. */
|
|
757
|
+
title: string;
|
|
758
|
+
/** Optional fuller page heading; i18n key. When omitted, `title` is used for the page header. */
|
|
759
|
+
pageTitle?: string;
|
|
760
|
+
icon?: string;
|
|
761
|
+
description?: string;
|
|
762
|
+
/** Sidebar order; lower numbers appear first. Defaults to 1000 when omitted. */
|
|
763
|
+
priority?: number;
|
|
764
|
+
groups: AXPSettingDefinitionGroup[];
|
|
765
|
+
sections: AXPSettingDefinitionSection[];
|
|
766
|
+
}
|
|
767
|
+
interface AXPSettingDefinitionSection {
|
|
768
|
+
name: string;
|
|
769
|
+
title: string;
|
|
770
|
+
description?: string;
|
|
771
|
+
settings: AXPSettingDefinition[];
|
|
772
|
+
}
|
|
773
|
+
interface AXPGroupSearchResult {
|
|
774
|
+
breadcrumb: {
|
|
775
|
+
name: string;
|
|
776
|
+
title: string;
|
|
777
|
+
description?: string;
|
|
778
|
+
}[];
|
|
779
|
+
sections: AXPSettingDefinitionSection[] | null;
|
|
780
|
+
groups: AXPSettingDefinitionGroup[] | null;
|
|
781
|
+
}
|
|
782
|
+
|
|
783
|
+
interface AXPSettingsServiceInterface {
|
|
784
|
+
load(): Promise<AXPSettingValue[]>;
|
|
785
|
+
get<T = any>(key: string): Promise<T>;
|
|
786
|
+
defaultValues(scope: AXPPlatformScope): Promise<Record<string, unknown>>;
|
|
787
|
+
scope(scope: AXPPlatformScope): ScopedSettingService;
|
|
788
|
+
}
|
|
789
|
+
declare class AXPSettingsService implements AXPSettingsServiceInterface {
|
|
790
|
+
private readonly providers;
|
|
791
|
+
private readonly injector;
|
|
792
|
+
private readonly eventService;
|
|
793
|
+
private readonly sessionService;
|
|
794
|
+
private readonly debugService;
|
|
795
|
+
private readonly scopedSettingsCache;
|
|
796
|
+
readonly onChanged: Subject<AXPSettingChangedEvent>;
|
|
797
|
+
readonly onLoaded: Subject<void>;
|
|
798
|
+
constructor();
|
|
799
|
+
reload(): Promise<void>;
|
|
800
|
+
load(): Promise<AXPSettingValue[]>;
|
|
801
|
+
/**
|
|
802
|
+
* Returns the effective setting value. Primitive coercion (string, boolean, number, date) is inferred from the
|
|
803
|
+
* definition default and/or the stored shape (including `{ value: ... }`). Type argument `T` is compile-time only;
|
|
804
|
+
* it is not read at runtime—use it to document the expected result (e.g. `get<boolean>(key)`).
|
|
805
|
+
*/
|
|
806
|
+
get<T = any>(key: string): Promise<T>;
|
|
807
|
+
/**
|
|
808
|
+
* Effective value (user → tenant → platform) when set; otherwise the definition default. Used for reads and coercion hints.
|
|
809
|
+
*/
|
|
810
|
+
private resolveEffectiveAndDefault;
|
|
811
|
+
defaultValues(scope: AXPPlatformScope): Promise<Record<string, unknown>>;
|
|
812
|
+
scope(scope: AXPPlatformScope): ScopedSettingService;
|
|
813
|
+
invokeChangeEvent(event: AXPSettingChangedEvent): void;
|
|
814
|
+
private applyDebugModeFromSettings;
|
|
815
|
+
private applyDebugModeFromEvent;
|
|
816
|
+
private seedMissingDefaults;
|
|
817
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPSettingsService, never>;
|
|
818
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPSettingsService>;
|
|
819
|
+
}
|
|
820
|
+
declare class ScopedSettingService {
|
|
821
|
+
private parent;
|
|
822
|
+
private provider;
|
|
823
|
+
private scopeCache;
|
|
824
|
+
constructor(parent: AXPSettingsService, provider: AXPSettingValueProvider, scopeCache: Map<string, any>);
|
|
825
|
+
get<T = any>(key: string): Promise<T>;
|
|
826
|
+
all(): Promise<any>;
|
|
827
|
+
defaultValues(): Promise<Record<string, unknown>>;
|
|
828
|
+
set<T = any>(key: string, value: T): Promise<void>;
|
|
829
|
+
set<T = any>(values: Record<string, T>): Promise<void>;
|
|
830
|
+
update<T = any>(key: string, updateFn: (currentValue: T) => T): Promise<void>;
|
|
831
|
+
}
|
|
832
|
+
|
|
833
|
+
interface AXPEntityCreateListBehaviorOptions {
|
|
834
|
+
redirect?: boolean;
|
|
835
|
+
}
|
|
836
|
+
interface AXPEntityCreateListBehavior {
|
|
837
|
+
shouldRedirect: boolean;
|
|
838
|
+
shouldHighlight: boolean;
|
|
839
|
+
}
|
|
840
|
+
/**
|
|
841
|
+
* Resolves post-create list behavior from user settings and optional action overrides.
|
|
842
|
+
*/
|
|
843
|
+
declare function resolveEntityCreateListBehavior(settingsService: AXPSettingsService, options?: AXPEntityCreateListBehaviorOptions): Promise<AXPEntityCreateListBehavior>;
|
|
844
|
+
|
|
845
|
+
declare const AXP_ROOT_CONFIG_TOKEN: InjectionToken<AXPRootConfigs>;
|
|
846
|
+
interface AXPRootConfigs {
|
|
847
|
+
baseUrl: string;
|
|
848
|
+
}
|
|
849
|
+
|
|
850
|
+
declare abstract class AXPDataProvider {
|
|
851
|
+
abstract insertOne(entity: any, entityItem: any): Promise<any>;
|
|
852
|
+
abstract insertMany(entity: any, entityList: any): Promise<any>;
|
|
853
|
+
abstract getOne(entity: any, id: string): Promise<any>;
|
|
854
|
+
abstract getMany(entity: any, params?: any): Promise<any>;
|
|
855
|
+
abstract updateOne(entity: any, id?: string, data?: {
|
|
856
|
+
[key: string]: any;
|
|
857
|
+
}): Promise<any>;
|
|
858
|
+
abstract deleteOne(entity: any, id: string): Promise<any>;
|
|
859
|
+
abstract getFirst(entity: any): Promise<any>;
|
|
860
|
+
abstract uploadFile(file: File, title: string, customUrl?: string): Promise<string>;
|
|
861
|
+
abstract updateFile(id: string, file: File, title: string, customUrl?: string): Promise<string>;
|
|
862
|
+
abstract uploadMultipleFiles(files: File[], title: string): Promise<string[]>;
|
|
863
|
+
abstract viewFile(id: string, name: string): Promise<Blob>;
|
|
864
|
+
abstract downloadFile(id: string, name: string): Promise<Blob>;
|
|
865
|
+
}
|
|
866
|
+
|
|
867
|
+
declare abstract class AXPFilterOperatorMiddlewareService {
|
|
868
|
+
/**
|
|
869
|
+
* Middleware to transform selected filters into corresponding operators.
|
|
870
|
+
* @param filters Array of selected filters (e.g., user input).
|
|
871
|
+
* @param customOperators Optional custom operators map to override default operators.
|
|
872
|
+
* @returns Transformed filters based on custom or default operators.
|
|
873
|
+
*/
|
|
874
|
+
abstract transformFilters(filters: AXDataSourceFilterOption[]): AXDataSourceFilterOption[];
|
|
875
|
+
/**
|
|
876
|
+
* Helper method to transform a single filter. This handles recursion for nested filters.
|
|
877
|
+
* @param filter A single filter object.
|
|
878
|
+
* @returns Transformed filter.
|
|
879
|
+
*/
|
|
880
|
+
abstract transformFilter(filters: AXDataSourceFilterOption): AXDataSourceFilterOption;
|
|
881
|
+
abstract getOperator(key: string): AXDataSourceOperator;
|
|
882
|
+
}
|
|
883
|
+
declare class AXPFilterOperatorMiddlewareServiceImpl extends AXPFilterOperatorMiddlewareService {
|
|
884
|
+
private customOperatorService;
|
|
885
|
+
private operators;
|
|
886
|
+
transformFilters(filters: AXDataSourceFilterOption[]): AXDataSourceFilterOption[];
|
|
887
|
+
transformFilter(filter: AXDataSourceFilterOption): AXDataSourceFilterOption;
|
|
888
|
+
getOperator(key: string): AXDataSourceOperator;
|
|
889
|
+
private getDefaultOperators;
|
|
890
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPFilterOperatorMiddlewareServiceImpl, never>;
|
|
1308
891
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPFilterOperatorMiddlewareServiceImpl>;
|
|
1309
892
|
}
|
|
1310
893
|
|
|
@@ -1490,6 +1073,23 @@ declare class AXPFileActionsService {
|
|
|
1490
1073
|
|
|
1491
1074
|
declare const UploadFromComputerActionProvider: AXPFileActionProvider;
|
|
1492
1075
|
|
|
1076
|
+
interface AXPTranslateFormatterOptions extends AXFormatOptions {
|
|
1077
|
+
scope?: string;
|
|
1078
|
+
lang?: string;
|
|
1079
|
+
params?: Record<string, unknown>;
|
|
1080
|
+
}
|
|
1081
|
+
/**
|
|
1082
|
+
* Platform formatter for display text: resolves ML objects, i18n keys (`@scope:key`), and primitives.
|
|
1083
|
+
* Register via {@link AXPCommonModule} (auto) or `AXFormatModule.forRoot({ formatters: [AXPTranslateFormatter] })`.
|
|
1084
|
+
*/
|
|
1085
|
+
declare class AXPTranslateFormatter implements AXFormatter {
|
|
1086
|
+
private readonly translationService;
|
|
1087
|
+
get name(): string;
|
|
1088
|
+
format(value: unknown, options?: AXPTranslateFormatterOptions | string): string;
|
|
1089
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPTranslateFormatter, never>;
|
|
1090
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPTranslateFormatter>;
|
|
1091
|
+
}
|
|
1092
|
+
|
|
1493
1093
|
declare abstract class AXPFileStorageService {
|
|
1494
1094
|
abstract save(request: AXPFileStorageCreateRequest): Promise<AXPFileStorageInfo>;
|
|
1495
1095
|
abstract update(request: AXPFileStorageUpdateRequest): Promise<AXPFileStorageInfo>;
|
|
@@ -1504,7 +1104,8 @@ declare abstract class AXPFileStorageService {
|
|
|
1504
1104
|
}
|
|
1505
1105
|
|
|
1506
1106
|
declare class AXPFileStorageEvaluatorScopeProvider implements AXPExpressionEvaluatorScopeProvider {
|
|
1507
|
-
fileStorageService
|
|
1107
|
+
private readonly fileStorageService;
|
|
1108
|
+
private readonly debug;
|
|
1508
1109
|
provide(context: AXPExpressionEvaluatorScopeProviderContext): Promise<void>;
|
|
1509
1110
|
}
|
|
1510
1111
|
|
|
@@ -1576,6 +1177,94 @@ declare class AXPFileTypeProviderService implements AXPFileTypeInfoProvider {
|
|
|
1576
1177
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPFileTypeProviderService>;
|
|
1577
1178
|
}
|
|
1578
1179
|
|
|
1180
|
+
declare class AXPIntegrationProviderContext {
|
|
1181
|
+
private readonly definitions;
|
|
1182
|
+
/**
|
|
1183
|
+
* Registers a provider definition. Throws when duplicate ids are registered.
|
|
1184
|
+
*/
|
|
1185
|
+
register(definition: AXPIntegrationProviderDefinition): void;
|
|
1186
|
+
getDefinitions(): ReadonlyMap<string, AXPIntegrationProviderDefinition>;
|
|
1187
|
+
}
|
|
1188
|
+
|
|
1189
|
+
interface AXPIntegrationProvider {
|
|
1190
|
+
provide(context: AXPIntegrationProviderContext): Promise<void>;
|
|
1191
|
+
}
|
|
1192
|
+
declare const AXP_INTEGRATION_PROVIDER: InjectionToken<AXPIntegrationProvider[]>;
|
|
1193
|
+
interface AXPIntegrationRuntimeProvider {
|
|
1194
|
+
readonly providerId: string;
|
|
1195
|
+
getHooks(): Promise<_acorex_platform_contracts.AXPIntegrationProviderRuntimeHooks>;
|
|
1196
|
+
}
|
|
1197
|
+
declare const AXP_INTEGRATION_RUNTIME_PROVIDER: InjectionToken<AXPIntegrationRuntimeProvider[]>;
|
|
1198
|
+
|
|
1199
|
+
declare class AXPIntegrationProviderRegistryService {
|
|
1200
|
+
private readonly providers;
|
|
1201
|
+
private cache;
|
|
1202
|
+
list(): Promise<AXPIntegrationProviderDefinition[]>;
|
|
1203
|
+
get(id: string): Promise<AXPIntegrationProviderDefinition | null>;
|
|
1204
|
+
getOrThrow(id: string): Promise<AXPIntegrationProviderDefinition>;
|
|
1205
|
+
clearCache(): void;
|
|
1206
|
+
private load;
|
|
1207
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPIntegrationProviderRegistryService, never>;
|
|
1208
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPIntegrationProviderRegistryService>;
|
|
1209
|
+
}
|
|
1210
|
+
|
|
1211
|
+
interface AXPIntegrationSecretRefInput {
|
|
1212
|
+
providerId: string;
|
|
1213
|
+
connectionId: string;
|
|
1214
|
+
tenantId: string;
|
|
1215
|
+
userId: string;
|
|
1216
|
+
authMethodType: string;
|
|
1217
|
+
}
|
|
1218
|
+
interface AXPIntegrationSecretStore {
|
|
1219
|
+
store(ref: AXPIntegrationSecretRefInput, payload: AXPIntegrationSecretPayload): Promise<string>;
|
|
1220
|
+
rotate(secretRef: string, context: AXPIntegrationAuthContext, payload: Partial<AXPIntegrationSecretPayload>): Promise<void>;
|
|
1221
|
+
resolve(secretRef: string, context: AXPIntegrationAuthContext): Promise<AXPIntegrationResolvedCredentials>;
|
|
1222
|
+
revoke(secretRef: string, context: AXPIntegrationAuthContext): Promise<void>;
|
|
1223
|
+
delete(secretRef: string, context: AXPIntegrationAuthContext): Promise<void>;
|
|
1224
|
+
}
|
|
1225
|
+
declare const AXP_INTEGRATION_SECRET_STORE: InjectionToken<AXPIntegrationSecretStore>;
|
|
1226
|
+
interface AXPIntegrationWithClientOptions {
|
|
1227
|
+
providerId: string;
|
|
1228
|
+
connectionScope?: 'user' | 'tenant';
|
|
1229
|
+
connectionKey?: string;
|
|
1230
|
+
requiredCapabilities?: string[];
|
|
1231
|
+
requiredScopes?: string[];
|
|
1232
|
+
}
|
|
1233
|
+
declare abstract class AXPIntegrationRuntimeService {
|
|
1234
|
+
abstract getProvider(id: string): Promise<AXPIntegrationProviderDefinition>;
|
|
1235
|
+
abstract listProviders(): Promise<AXPIntegrationProviderDefinition[]>;
|
|
1236
|
+
abstract getConnection(options: AXPIntegrationWithClientOptions): Promise<_acorex_platform_contracts.AXPSafeIntegrationConnectionDto>;
|
|
1237
|
+
abstract withClient<T>(options: AXPIntegrationWithClientOptions, fn: (client: unknown, ctx: AXPIntegrationRuntimeContext) => Promise<T>): Promise<T>;
|
|
1238
|
+
abstract buildRuntimeContext(connection: _acorex_platform_contracts.AXPSafeIntegrationConnectionDto & {
|
|
1239
|
+
secretRef: string;
|
|
1240
|
+
}): Promise<AXPIntegrationRuntimeContext>;
|
|
1241
|
+
}
|
|
1242
|
+
interface AXPIntegrationOAuthStartInput {
|
|
1243
|
+
providerId: string;
|
|
1244
|
+
connectionScope: 'user' | 'tenant';
|
|
1245
|
+
connectionKey: string;
|
|
1246
|
+
displayName: string;
|
|
1247
|
+
redirectUri: string;
|
|
1248
|
+
tenantId: string;
|
|
1249
|
+
userId: string;
|
|
1250
|
+
scopes?: string[];
|
|
1251
|
+
}
|
|
1252
|
+
interface AXPIntegrationOAuthCompleteInput {
|
|
1253
|
+
providerId: string;
|
|
1254
|
+
state: string;
|
|
1255
|
+
code: string;
|
|
1256
|
+
}
|
|
1257
|
+
declare abstract class AXPIntegrationOAuthService {
|
|
1258
|
+
abstract startAuthorization(input: AXPIntegrationOAuthStartInput): Promise<{
|
|
1259
|
+
redirectUrl: string;
|
|
1260
|
+
state: string;
|
|
1261
|
+
}>;
|
|
1262
|
+
abstract completeCallback(input: AXPIntegrationOAuthCompleteInput): Promise<{
|
|
1263
|
+
connectionId: string;
|
|
1264
|
+
}>;
|
|
1265
|
+
}
|
|
1266
|
+
declare const AXP_INTEGRATION_OAUTH_SERVICE: InjectionToken<AXPIntegrationOAuthService>;
|
|
1267
|
+
|
|
1579
1268
|
declare class AXPStickyDirective {
|
|
1580
1269
|
private element;
|
|
1581
1270
|
private renderer;
|
|
@@ -2140,6 +1829,14 @@ interface AXPSearchAction extends Partial<AXPCommandActionLook> {
|
|
|
2140
1829
|
separated?: boolean;
|
|
2141
1830
|
}
|
|
2142
1831
|
|
|
1832
|
+
/**
|
|
1833
|
+
* Optional hook to resolve entity search definitions on demand (e.g. Module.X.Entity).
|
|
1834
|
+
*/
|
|
1835
|
+
interface AXPSearchDefinitionLazyResolver {
|
|
1836
|
+
resolve(definitionName: string): Promise<AXPSearchDefinition | null>;
|
|
1837
|
+
}
|
|
1838
|
+
declare const AXP_SEARCH_DEFINITION_LAZY_RESOLVER: InjectionToken<AXPSearchDefinitionLazyResolver>;
|
|
1839
|
+
|
|
2143
1840
|
declare class AXPSearchDefinitionProviderContext {
|
|
2144
1841
|
private definitions;
|
|
2145
1842
|
private definitionMap;
|
|
@@ -2171,11 +1868,13 @@ interface AXPSearchDefinitionProvider {
|
|
|
2171
1868
|
declare const AXP_SEARCH_DEFINITION_PROVIDER: InjectionToken<AXPSearchDefinitionProvider[]>;
|
|
2172
1869
|
declare class AXPSearchDefinitionProviderService {
|
|
2173
1870
|
private providers;
|
|
1871
|
+
private lazyResolver;
|
|
2174
1872
|
private cache;
|
|
2175
1873
|
private load;
|
|
2176
1874
|
getListAsync(): Promise<AXPSearchDefinition[]>;
|
|
2177
1875
|
getList(): AXPSearchDefinition[];
|
|
2178
1876
|
findDefinition(definitionName: string): AXPSearchDefinition;
|
|
1877
|
+
findDefinitionAsync(definitionName: string): Promise<AXPSearchDefinition | null>;
|
|
2179
1878
|
findDefinitionByGroup(definitionGroup: string): AXPSearchDefinition;
|
|
2180
1879
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXPSearchDefinitionProviderService, never>;
|
|
2181
1880
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPSearchDefinitionProviderService>;
|
|
@@ -2197,6 +1896,7 @@ declare class AXPSearchService {
|
|
|
2197
1896
|
private formatService;
|
|
2198
1897
|
private translationService;
|
|
2199
1898
|
private expressionEvaluator;
|
|
1899
|
+
private contextEvalFactory;
|
|
2200
1900
|
search(text: string): Promise<AXPSearchDisplayGroupResult[]>;
|
|
2201
1901
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXPSearchService, never>;
|
|
2202
1902
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPSearchService>;
|
|
@@ -2214,12 +1914,12 @@ declare function searchInSearchableValue(value: unknown, query: string, locale:
|
|
|
2214
1914
|
* Shallow + nested search over entity/command payloads (skips id / entityName keys).
|
|
2215
1915
|
*/
|
|
2216
1916
|
declare function searchInRecordValues(value: unknown, query: string, locale: string, translationService: AXTranslationService, depth?: number): boolean;
|
|
2217
|
-
/** Standard row scope for entity title/search templates. */
|
|
2218
|
-
declare function createEntityRowExpressionScope(data: unknown): AXPExpressionEvaluatorScope;
|
|
1917
|
+
/** Standard display-tier row scope for entity title/search templates. */
|
|
1918
|
+
declare function createEntityRowExpressionScope(data: unknown, contextEvalFactory: AXPContextEvalFactory): AXPExpressionEvaluatorScope;
|
|
2219
1919
|
/**
|
|
2220
1920
|
* Evaluates a normalized entity display template via {@link AXPExpressionEvaluatorService}.
|
|
2221
1921
|
*/
|
|
2222
|
-
declare function evaluateEntityDisplayTemplate(template: string, data: unknown, expressionEvaluator: AXPExpressionEvaluatorService, locale: string, translationService: AXTranslationService): Promise<unknown>;
|
|
1922
|
+
declare function evaluateEntityDisplayTemplate(template: string, data: unknown, expressionEvaluator: AXPExpressionEvaluatorService, locale: string, translationService: AXTranslationService, contextEvalFactory: AXPContextEvalFactory): Promise<unknown>;
|
|
2223
1923
|
/**
|
|
2224
1924
|
* Best display string from row values that contain the active search query (deep-match fallback).
|
|
2225
1925
|
*/
|
|
@@ -2227,40 +1927,16 @@ declare function resolveQueryMatchingDisplayText(value: unknown, query: string,
|
|
|
2227
1927
|
/**
|
|
2228
1928
|
* Resolves entity search display templates; coerces multi-language field values to readable text.
|
|
2229
1929
|
*/
|
|
2230
|
-
declare function resolveSearchDisplayTemplate(template: string | undefined, data: unknown, locale: string, translationService: AXTranslationService, formatService: AXFormatService, expressionEvaluator: AXPExpressionEvaluatorService): Promise<AXPMultiLanguageString>;
|
|
1930
|
+
declare function resolveSearchDisplayTemplate(template: string | undefined, data: unknown, locale: string, translationService: AXTranslationService, formatService: AXFormatService, expressionEvaluator: AXPExpressionEvaluatorService, contextEvalFactory: AXPContextEvalFactory): Promise<AXPMultiLanguageString>;
|
|
2231
1931
|
|
|
2232
|
-
interface AXPEntitySearchTitleContext {
|
|
2233
|
-
/** Templates tried after the primary `searchResult.title` fails (`single.title`, lookup, individual). */
|
|
2234
|
-
fallbackTemplates: string[];
|
|
2235
|
-
/** Entity property paths tried when templates do not resolve (`lookup`, identifier, common fields). */
|
|
2236
|
-
fallbackFields: string[];
|
|
2237
|
-
}
|
|
2238
|
-
/**
|
|
2239
|
-
* Normalizes entity display templates for {@link AXPExpressionEvaluatorService}.
|
|
2240
|
-
* Converts `context.eval('path')`, single braces, and simple dot paths to `context.eval` segments.
|
|
2241
|
-
*/
|
|
2242
|
-
declare function normalizeEntityDisplayTemplate(template: string): string;
|
|
2243
|
-
/** True when formatted text still contains unresolved template markers. */
|
|
2244
|
-
declare function isUnresolvedEntityDisplayTemplate(value: string): boolean;
|
|
2245
|
-
/**
|
|
2246
|
-
* Strips literal `undefined` / `null` tokens produced when expression segments are missing.
|
|
2247
|
-
*/
|
|
2248
|
-
declare function sanitizeResolvedEntityDisplayTitle(value: string): string;
|
|
2249
|
-
/** True when a resolved title is non-empty and safe to show in search or entity chrome. */
|
|
2250
|
-
declare function isMeaningfulEntityDisplayTitle(value: string): boolean;
|
|
2251
|
-
/**
|
|
2252
|
-
* Builds entity-scoped fallback metadata for global search (registered on each entity search definition).
|
|
2253
|
-
*/
|
|
2254
|
-
declare function buildEntitySearchTitleContext(entity: AXPEntity, primaryTemplate?: string): AXPEntitySearchTitleContext;
|
|
2255
1932
|
/**
|
|
2256
|
-
*
|
|
2257
|
-
* Priority: `interfaces.master.single.title` → `formats.searchResult.title` → `formats.individual`.
|
|
1933
|
+
* Modify/edit popup chrome: `{action} {individual} ({update.title ?? single.title})` when a record template exists.
|
|
2258
1934
|
*/
|
|
2259
|
-
declare function
|
|
1935
|
+
declare function resolveEntityModifyPopupTitle(entity: AXPEntity, recordData: unknown, translationService: AXTranslationService, formatService: AXFormatService, expressionEvaluator: AXPExpressionEvaluatorService, contextEvalFactory: AXPContextEvalFactory, actionTitleKey?: string): Promise<string>;
|
|
2260
1936
|
/**
|
|
2261
1937
|
* Resolves an entity row title using entity-driven fallback templates and property paths.
|
|
2262
1938
|
*/
|
|
2263
|
-
declare function resolveEntitySearchTitleFallback(format: Pick<AXPSearchDefinitionDisplayFormat, 'titleFallbackTemplates' | 'titleFallbackFields'>, data: unknown, locale: string, translationService: AXTranslationService, formatService: AXFormatService, expressionEvaluator: AXPExpressionEvaluatorService): Promise<string>;
|
|
1939
|
+
declare function resolveEntitySearchTitleFallback(format: Pick<AXPSearchDefinitionDisplayFormat, 'titleFallbackTemplates' | 'titleFallbackFields'>, data: unknown, locale: string, translationService: AXTranslationService, formatService: AXFormatService, expressionEvaluator: AXPExpressionEvaluatorService, contextEvalFactory: AXPContextEvalFactory): Promise<string>;
|
|
2264
1940
|
|
|
2265
1941
|
interface AXPResolveEntityRowDisplayTitleOptions {
|
|
2266
1942
|
/** Row or form context data used to evaluate title templates. */
|
|
@@ -2272,12 +1948,6 @@ interface AXPResolveEntityRowDisplayTitleOptions {
|
|
|
2272
1948
|
/** Widget/interface options — may contain `popupTitle` or `titleTemplate`. */
|
|
2273
1949
|
widgetOptions?: Record<string, unknown> | undefined;
|
|
2274
1950
|
}
|
|
2275
|
-
/** Row path used when context carries a nested entity layout title. */
|
|
2276
|
-
declare const ENTITY_LAYOUT_SINGLE_TITLE_PATH = "entity.layout.single.title";
|
|
2277
|
-
/** Widget option for a pre-evaluated or template entity row title (entity list column mappers). */
|
|
2278
|
-
declare const ENTITY_ROW_POPUP_TITLE_OPTION = "popupTitle";
|
|
2279
|
-
/** Widget option alias for entity row title templates in view/edit forms. */
|
|
2280
|
-
declare const ENTITY_ROW_TITLE_TEMPLATE_OPTION = "titleTemplate";
|
|
2281
1951
|
/** Resolves a row field or format result to a plain display string for the active locale. */
|
|
2282
1952
|
declare function resolveEntityRowDisplayText(value: unknown, activeLang: string): string;
|
|
2283
1953
|
/**
|
|
@@ -2485,6 +2155,7 @@ declare class AXPSettingDefinitionSectionBuilder {
|
|
|
2485
2155
|
isRequired?: boolean;
|
|
2486
2156
|
isInherited?: boolean;
|
|
2487
2157
|
isEncrypted?: boolean;
|
|
2158
|
+
requiresPageRefresh?: boolean;
|
|
2488
2159
|
defaultValue?: unknown;
|
|
2489
2160
|
valueTransforms?: AXPValueTransformerFunctions;
|
|
2490
2161
|
validationRules?: AXPValidationRules;
|
|
@@ -2492,86 +2163,6 @@ declare class AXPSettingDefinitionSectionBuilder {
|
|
|
2492
2163
|
endSection(): AXPSettingDefinitionGroupBuilder;
|
|
2493
2164
|
}
|
|
2494
2165
|
|
|
2495
|
-
interface AXPSettingValueProvider {
|
|
2496
|
-
get scope(): AXPPlatformScope;
|
|
2497
|
-
load(): Promise<AXPSettingValue[]>;
|
|
2498
|
-
set(key: string, value: any): Promise<void>;
|
|
2499
|
-
set(values: Record<string, any>): Promise<void>;
|
|
2500
|
-
}
|
|
2501
|
-
/**
|
|
2502
|
-
* Provider interface for supplying default setting values from higher layers (e.g., app, mocks, API).
|
|
2503
|
-
* Providers are merged by ascending priority; later providers override earlier values on key conflicts.
|
|
2504
|
-
*/
|
|
2505
|
-
interface AXPSettingDefaultValuesProvider {
|
|
2506
|
-
/** Merge order; lower numbers are applied first. Default is 0. */
|
|
2507
|
-
priority?: number;
|
|
2508
|
-
/**
|
|
2509
|
-
* When set, missing values from this provider are persisted at this scope instead of each
|
|
2510
|
-
* setting's definition scope. Use for app-wide demo or deployment defaults (e.g. platform).
|
|
2511
|
-
*/
|
|
2512
|
-
scope?: AXPPlatformScope;
|
|
2513
|
-
/** Returns a flat map of setting key to default value. */
|
|
2514
|
-
provide(): Promise<Record<string, unknown>>;
|
|
2515
|
-
}
|
|
2516
|
-
interface AXPSettingValue {
|
|
2517
|
-
key: string;
|
|
2518
|
-
value: any;
|
|
2519
|
-
}
|
|
2520
|
-
interface AXPSettingChangedEvent {
|
|
2521
|
-
scope: AXPPlatformScope;
|
|
2522
|
-
keys: string[];
|
|
2523
|
-
values: Record<string, any>;
|
|
2524
|
-
entries: AXPSettingValue[];
|
|
2525
|
-
}
|
|
2526
|
-
/** Layout options for a single setting row on the settings page. */
|
|
2527
|
-
interface AXPSettingLayoutOptions extends AXPGridLayoutOptions {
|
|
2528
|
-
/** When true, stack the label above a full-width control. */
|
|
2529
|
-
stacked?: boolean;
|
|
2530
|
-
}
|
|
2531
|
-
interface AXPSettingDefinition {
|
|
2532
|
-
name: string;
|
|
2533
|
-
title: string;
|
|
2534
|
-
description?: string;
|
|
2535
|
-
/** Optional i18n keys (e.g. `@scope:key`) whose translated values are included in settings search. */
|
|
2536
|
-
searchTagKeys?: string[];
|
|
2537
|
-
widget: AXPWidgetNode;
|
|
2538
|
-
layout?: AXPSettingLayoutOptions;
|
|
2539
|
-
scope: AXPPlatformScopeKey;
|
|
2540
|
-
isRequired?: boolean;
|
|
2541
|
-
isInherited?: boolean;
|
|
2542
|
-
isEncrypted?: boolean;
|
|
2543
|
-
defaultValue?: unknown;
|
|
2544
|
-
value?: unknown;
|
|
2545
|
-
}
|
|
2546
|
-
interface AXPSettingDefinitionGroup {
|
|
2547
|
-
name: string;
|
|
2548
|
-
/** Short label (e.g. sidebar); i18n key when using the translation pipe. */
|
|
2549
|
-
title: string;
|
|
2550
|
-
/** Optional fuller page heading; i18n key. When omitted, `title` is used for the page header. */
|
|
2551
|
-
pageTitle?: string;
|
|
2552
|
-
icon?: string;
|
|
2553
|
-
description?: string;
|
|
2554
|
-
/** Sidebar order; lower numbers appear first. Defaults to 1000 when omitted. */
|
|
2555
|
-
priority?: number;
|
|
2556
|
-
groups: AXPSettingDefinitionGroup[];
|
|
2557
|
-
sections: AXPSettingDefinitionSection[];
|
|
2558
|
-
}
|
|
2559
|
-
interface AXPSettingDefinitionSection {
|
|
2560
|
-
name: string;
|
|
2561
|
-
title: string;
|
|
2562
|
-
description?: string;
|
|
2563
|
-
settings: AXPSettingDefinition[];
|
|
2564
|
-
}
|
|
2565
|
-
interface AXPGroupSearchResult {
|
|
2566
|
-
breadcrumb: {
|
|
2567
|
-
name: string;
|
|
2568
|
-
title: string;
|
|
2569
|
-
description?: string;
|
|
2570
|
-
}[];
|
|
2571
|
-
sections: AXPSettingDefinitionSection[] | null;
|
|
2572
|
-
groups: AXPSettingDefinitionGroup[] | null;
|
|
2573
|
-
}
|
|
2574
|
-
|
|
2575
2166
|
interface AXPSettingDefinitionProvider {
|
|
2576
2167
|
provide(context: AXPSettingDefinitionProviderContext): Promise<void>;
|
|
2577
2168
|
}
|
|
@@ -2585,6 +2176,7 @@ declare class AXPSettingDefinitionProviderService {
|
|
|
2585
2176
|
getList(scope: AXPPlatformScopeKey): AXPSettingDefinitionGroup[];
|
|
2586
2177
|
defaultValues(): Promise<Record<string, unknown>>;
|
|
2587
2178
|
settingScopeByKey(): Promise<Record<string, AXPPlatformScope>>;
|
|
2179
|
+
requiresPageRefreshByKey(): Promise<Record<string, boolean>>;
|
|
2588
2180
|
findGroup(scope: AXPPlatformScopeKey, groupName: string): AXPGroupSearchResult;
|
|
2589
2181
|
private searchRecursive;
|
|
2590
2182
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXPSettingDefinitionProviderService, never>;
|
|
@@ -2626,53 +2218,6 @@ declare function coerceAXPSettingRawValue(raw: unknown, kind: 'boolean'): boolea
|
|
|
2626
2218
|
declare function coerceAXPSettingRawValue(raw: unknown, kind: 'number'): number;
|
|
2627
2219
|
declare function coerceAXPSettingRawValue(raw: unknown, kind: 'date'): Date;
|
|
2628
2220
|
|
|
2629
|
-
interface AXPSettingsServiceInterface {
|
|
2630
|
-
load(): Promise<AXPSettingValue[]>;
|
|
2631
|
-
get<T = any>(key: string): Promise<T>;
|
|
2632
|
-
defaultValues(scope: AXPPlatformScope): Promise<Record<string, unknown>>;
|
|
2633
|
-
scope(scope: AXPPlatformScope): ScopedSettingService;
|
|
2634
|
-
}
|
|
2635
|
-
declare class AXPSettingsService implements AXPSettingsServiceInterface {
|
|
2636
|
-
private readonly providers;
|
|
2637
|
-
private readonly injector;
|
|
2638
|
-
private readonly eventService;
|
|
2639
|
-
private readonly sessionService;
|
|
2640
|
-
private readonly scopedSettingsCache;
|
|
2641
|
-
readonly onChanged: Subject<AXPSettingChangedEvent>;
|
|
2642
|
-
readonly onLoaded: Subject<void>;
|
|
2643
|
-
constructor();
|
|
2644
|
-
reload(): Promise<void>;
|
|
2645
|
-
load(): Promise<AXPSettingValue[]>;
|
|
2646
|
-
/**
|
|
2647
|
-
* Returns the effective setting value. Primitive coercion (string, boolean, number, date) is inferred from the
|
|
2648
|
-
* definition default and/or the stored shape (including `{ value: ... }`). Type argument `T` is compile-time only;
|
|
2649
|
-
* it is not read at runtime—use it to document the expected result (e.g. `get<boolean>(key)`).
|
|
2650
|
-
*/
|
|
2651
|
-
get<T = any>(key: string): Promise<T>;
|
|
2652
|
-
/**
|
|
2653
|
-
* Effective value (user → tenant → platform) when set; otherwise the definition default. Used for reads and coercion hints.
|
|
2654
|
-
*/
|
|
2655
|
-
private resolveEffectiveAndDefault;
|
|
2656
|
-
defaultValues(scope: AXPPlatformScope): Promise<Record<string, unknown>>;
|
|
2657
|
-
scope(scope: AXPPlatformScope): ScopedSettingService;
|
|
2658
|
-
invokeChangeEvent(event: AXPSettingChangedEvent): void;
|
|
2659
|
-
private seedMissingDefaults;
|
|
2660
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AXPSettingsService, never>;
|
|
2661
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<AXPSettingsService>;
|
|
2662
|
-
}
|
|
2663
|
-
declare class ScopedSettingService {
|
|
2664
|
-
private parent;
|
|
2665
|
-
private provider;
|
|
2666
|
-
private scopeCache;
|
|
2667
|
-
constructor(parent: AXPSettingsService, provider: AXPSettingValueProvider, scopeCache: Map<string, any>);
|
|
2668
|
-
get<T = any>(key: string): Promise<T>;
|
|
2669
|
-
all(): Promise<any>;
|
|
2670
|
-
defaultValues(): Promise<Record<string, unknown>>;
|
|
2671
|
-
set<T = any>(key: string, value: T): Promise<void>;
|
|
2672
|
-
set<T = any>(values: Record<string, T>): Promise<void>;
|
|
2673
|
-
update<T = any>(key: string, updateFn: (currentValue: T) => T): Promise<void>;
|
|
2674
|
-
}
|
|
2675
|
-
|
|
2676
2221
|
/**
|
|
2677
2222
|
* Exposes platform settings in expression strings, e.g.
|
|
2678
2223
|
* `{{ settings.get('Common:Setting:Entity.ShowPageBadge') }}`.
|
|
@@ -2693,37 +2238,6 @@ declare class AXPRegionalCalendarService extends AXCalendarService {
|
|
|
2693
2238
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPRegionalCalendarService>;
|
|
2694
2239
|
}
|
|
2695
2240
|
|
|
2696
|
-
/**
|
|
2697
|
-
* Regional and locale-related setting keys used by platform widgets and components.
|
|
2698
|
-
* Most values use the `LocaleManagement:Setting:Regional.*` prefix; definitions live in the locale-management module where applicable.
|
|
2699
|
-
*/
|
|
2700
|
-
declare enum AXPRegionalSetting {
|
|
2701
|
-
LocaleProfile = "LocaleManagement:Setting:Regional.LocaleProfile",
|
|
2702
|
-
TimeZone = "LocaleManagement:Setting:Regional.TimeZone",
|
|
2703
|
-
Language = "LocaleManagement:Setting:Regional.Language",
|
|
2704
|
-
Country = "LocaleManagement:Setting:Regional.Country",
|
|
2705
|
-
Calendar = "LocaleManagement:Setting:Regional.Calendar",
|
|
2706
|
-
/** User-selected holiday calendars shown on the task board and other calendar views. */
|
|
2707
|
-
CalendarEvents = "LocaleManagement:Setting:Regional.CalendarEvents",
|
|
2708
|
-
FirstDayOfWeek = "LocaleManagement:Setting:Regional.FirstDayOfWeek",
|
|
2709
|
-
WeekendDays = "LocaleManagement:Setting:Regional.WeekendDays",
|
|
2710
|
-
ShortDate = "LocaleManagement:Setting:Regional.ShortDate",
|
|
2711
|
-
MediumDate = "LocaleManagement:Setting:Regional.MediumDate",
|
|
2712
|
-
LongDate = "LocaleManagement:Setting:Regional.LongDate",
|
|
2713
|
-
ShortTime = "LocaleManagement:Setting:Regional.ShortTime",
|
|
2714
|
-
MediumTime = "LocaleManagement:Setting:Regional.MediumTime",
|
|
2715
|
-
LongTime = "LocaleManagement:Setting:Regional.LongTime",
|
|
2716
|
-
MeasurementUnits = "LocaleManagement:Setting:Regional.MeasurementUnits",
|
|
2717
|
-
TemperatureUnits = "LocaleManagement:Setting:Regional.TemperatureUnits",
|
|
2718
|
-
DistanceUnits = "LocaleManagement:Setting:Regional.DistanceUnits",
|
|
2719
|
-
WeightUnits = "LocaleManagement:Setting:Regional.WeightUnits",
|
|
2720
|
-
VolumeUnits = "LocaleManagement:Setting:Regional.VolumeUnits",
|
|
2721
|
-
SpeedUnits = "LocaleManagement:Setting:Regional.SpeedUnits",
|
|
2722
|
-
AreaUnits = "LocaleManagement:Setting:Regional.AreaUnits",
|
|
2723
|
-
/** Default multi-language behavior for standard text field names; defined in locale-management `AXMRegionalSettingProvider`. */
|
|
2724
|
-
MultiLanguageSupport = "LocaleManagement:Setting:Regional.MultiLanguageSupport"
|
|
2725
|
-
}
|
|
2726
|
-
|
|
2727
2241
|
interface AXPUnsavedChangesConfirmOptions {
|
|
2728
2242
|
/** When false, skips confirm even if the global setting is enabled (e.g. dialog `confirmCloseWhenDirty`). */
|
|
2729
2243
|
enabled?: boolean;
|
|
@@ -2802,116 +2316,6 @@ declare class AXPUnsavedChangesPopstateService {
|
|
|
2802
2316
|
|
|
2803
2317
|
declare function createUnsavedChangesCanDeactivateGuard<T extends AXPUnsavedChangesCanDeactivate>(): CanDeactivateFn<T>;
|
|
2804
2318
|
|
|
2805
|
-
/**
|
|
2806
|
-
* Status Definition Types
|
|
2807
|
-
* Defines the structure for status definitions and their transitions
|
|
2808
|
-
*/
|
|
2809
|
-
/**
|
|
2810
|
-
* Status definition with metadata
|
|
2811
|
-
*/
|
|
2812
|
-
interface AXPStatusDefinition {
|
|
2813
|
-
/**
|
|
2814
|
-
* Unique identifier for the status
|
|
2815
|
-
*/
|
|
2816
|
-
name: string;
|
|
2817
|
-
/**
|
|
2818
|
-
* Display title for the status
|
|
2819
|
-
*/
|
|
2820
|
-
title: string;
|
|
2821
|
-
/**
|
|
2822
|
-
* Color code or semantic color name for the status
|
|
2823
|
-
*/
|
|
2824
|
-
color: string;
|
|
2825
|
-
/**
|
|
2826
|
-
* Optional icon class (e.g., 'fa-light fa-check')
|
|
2827
|
-
*/
|
|
2828
|
-
icon?: string;
|
|
2829
|
-
/**
|
|
2830
|
-
* Optional description
|
|
2831
|
-
*/
|
|
2832
|
-
description?: string;
|
|
2833
|
-
/**
|
|
2834
|
-
* Optional order for sorting
|
|
2835
|
-
*/
|
|
2836
|
-
order?: number;
|
|
2837
|
-
/**
|
|
2838
|
-
* Whether this is a final status (end state)
|
|
2839
|
-
*/
|
|
2840
|
-
isFinal?: boolean;
|
|
2841
|
-
/**
|
|
2842
|
-
* Whether this is an initial status (starting state)
|
|
2843
|
-
*/
|
|
2844
|
-
isInitial?: boolean;
|
|
2845
|
-
/**
|
|
2846
|
-
* Whether list views should be automatically generated for this status
|
|
2847
|
-
*/
|
|
2848
|
-
generateView?: boolean;
|
|
2849
|
-
}
|
|
2850
|
-
/**
|
|
2851
|
-
* Status transition definition
|
|
2852
|
-
*/
|
|
2853
|
-
interface AXPStatusTransition {
|
|
2854
|
-
/**
|
|
2855
|
-
* Source status name
|
|
2856
|
-
*/
|
|
2857
|
-
from: string;
|
|
2858
|
-
/**
|
|
2859
|
-
* Target status name
|
|
2860
|
-
*/
|
|
2861
|
-
to: string;
|
|
2862
|
-
/**
|
|
2863
|
-
* Optional condition expression to evaluate before allowing transition
|
|
2864
|
-
* Uses expression evaluator syntax (e.g., "{{user.isAdmin}}", "{{item.priority > 5}}")
|
|
2865
|
-
*/
|
|
2866
|
-
condition?: string;
|
|
2867
|
-
/**
|
|
2868
|
-
* Optional display title for the transition
|
|
2869
|
-
*/
|
|
2870
|
-
title?: string;
|
|
2871
|
-
/**
|
|
2872
|
-
* Optional description
|
|
2873
|
-
*/
|
|
2874
|
-
description?: string;
|
|
2875
|
-
/**
|
|
2876
|
-
* Optional command descriptor to execute for this transition
|
|
2877
|
-
* If not provided, defaults to Entity:UpdateStatus with entity, id, and status
|
|
2878
|
-
*/
|
|
2879
|
-
command?: {
|
|
2880
|
-
name: string;
|
|
2881
|
-
options?: Record<string, unknown>;
|
|
2882
|
-
};
|
|
2883
|
-
/**
|
|
2884
|
-
* Whether this transition is automatic (no user action required)
|
|
2885
|
-
*/
|
|
2886
|
-
isAutomatic?: boolean;
|
|
2887
|
-
/**
|
|
2888
|
-
* Whether this transition requires approval
|
|
2889
|
-
*/
|
|
2890
|
-
requiresApproval?: boolean;
|
|
2891
|
-
}
|
|
2892
|
-
/**
|
|
2893
|
-
* Abstract class for status providers
|
|
2894
|
-
* Similar to AXPTaskBadgeProvider pattern
|
|
2895
|
-
*/
|
|
2896
|
-
declare abstract class AXPStatusProvider {
|
|
2897
|
-
/**
|
|
2898
|
-
* Unique key for the status (e.g., 'task-management.status')
|
|
2899
|
-
*/
|
|
2900
|
-
abstract readonly key: string;
|
|
2901
|
-
/**
|
|
2902
|
-
* List of available status definitions
|
|
2903
|
-
*/
|
|
2904
|
-
abstract readonly statuses: AXPStatusDefinition[];
|
|
2905
|
-
/**
|
|
2906
|
-
* List of allowed transitions between statuses
|
|
2907
|
-
*/
|
|
2908
|
-
abstract readonly transitions: AXPStatusTransition[];
|
|
2909
|
-
/**
|
|
2910
|
-
* Optional default status name
|
|
2911
|
-
*/
|
|
2912
|
-
abstract readonly defaultStatus?: string;
|
|
2913
|
-
}
|
|
2914
|
-
|
|
2915
2319
|
/**
|
|
2916
2320
|
* Injection token for status providers
|
|
2917
2321
|
* Use with multi: true to register multiple providers
|
|
@@ -3016,310 +2420,299 @@ declare class AXPStatusDefinitionProviderService {
|
|
|
3016
2420
|
}
|
|
3017
2421
|
|
|
3018
2422
|
/**
|
|
3019
|
-
*
|
|
3020
|
-
*
|
|
3021
|
-
|
|
3022
|
-
|
|
3023
|
-
|
|
3024
|
-
|
|
3025
|
-
|
|
3026
|
-
|
|
3027
|
-
|
|
3028
|
-
|
|
3029
|
-
|
|
3030
|
-
|
|
3031
|
-
|
|
3032
|
-
|
|
3033
|
-
WaitingSignOff = "waiting-sign-off",
|
|
3034
|
-
WaitingApproval = "waiting-approval",
|
|
3035
|
-
Approved = "approved",
|
|
3036
|
-
Published = "published",
|
|
3037
|
-
Archived = "archived",
|
|
3038
|
-
Rejected = "rejected",
|
|
3039
|
-
Active = "active",
|
|
3040
|
-
Inactive = "inactive",
|
|
3041
|
-
Pending = "pending",
|
|
3042
|
-
Completed = "completed",
|
|
3043
|
-
Suspended = "suspended",
|
|
3044
|
-
Failed = "failed",
|
|
3045
|
-
Review = "review",
|
|
3046
|
-
Expired = "expired"
|
|
3047
|
-
}
|
|
3048
|
-
/**
|
|
3049
|
-
* Standard system status definitions
|
|
3050
|
-
* Provides consistent status definitions across the platform
|
|
3051
|
-
* Uses AXPStatusDefinition interface from status-definition.types.ts
|
|
3052
|
-
*/
|
|
3053
|
-
declare const AXPSystemStatuses: Readonly<{
|
|
3054
|
-
readonly Open: {
|
|
3055
|
-
readonly name: AXPSystemStatusType.Open;
|
|
3056
|
-
readonly title: string;
|
|
3057
|
-
readonly icon: "fa-light fa-circle";
|
|
3058
|
-
readonly color: "secondary";
|
|
3059
|
-
readonly description: string;
|
|
3060
|
-
readonly order: 1;
|
|
3061
|
-
readonly isInitial: true;
|
|
3062
|
-
readonly isFinal: false;
|
|
3063
|
-
};
|
|
3064
|
-
readonly Closed: {
|
|
3065
|
-
readonly name: AXPSystemStatusType.Closed;
|
|
3066
|
-
readonly title: string;
|
|
3067
|
-
readonly icon: "fa-light fa-circle";
|
|
3068
|
-
readonly color: "danger";
|
|
3069
|
-
readonly description: string;
|
|
3070
|
-
readonly order: 2;
|
|
3071
|
-
readonly isInitial: false;
|
|
3072
|
-
readonly isFinal: true;
|
|
3073
|
-
};
|
|
3074
|
-
readonly Todo: {
|
|
3075
|
-
readonly name: AXPSystemStatusType.Todo;
|
|
3076
|
-
readonly title: string;
|
|
3077
|
-
readonly icon: "fa-light fa-circle";
|
|
3078
|
-
readonly color: "secondary";
|
|
3079
|
-
readonly description: string;
|
|
3080
|
-
readonly order: 1;
|
|
3081
|
-
readonly isInitial: true;
|
|
3082
|
-
readonly isFinal: false;
|
|
3083
|
-
};
|
|
3084
|
-
readonly InProgress: {
|
|
3085
|
-
readonly name: AXPSystemStatusType.InProgress;
|
|
3086
|
-
readonly title: string;
|
|
3087
|
-
readonly icon: "fa-light fa-play";
|
|
3088
|
-
readonly color: "info";
|
|
3089
|
-
readonly description: string;
|
|
3090
|
-
readonly order: 2;
|
|
3091
|
-
readonly isInitial: false;
|
|
3092
|
-
readonly isFinal: false;
|
|
3093
|
-
};
|
|
3094
|
-
readonly InReview: {
|
|
3095
|
-
readonly name: AXPSystemStatusType.InReview;
|
|
3096
|
-
readonly title: string;
|
|
3097
|
-
readonly icon: "fa-light fa-eye";
|
|
3098
|
-
readonly color: "info";
|
|
3099
|
-
readonly description: string;
|
|
3100
|
-
readonly order: 3;
|
|
3101
|
-
readonly isInitial: false;
|
|
3102
|
-
readonly isFinal: false;
|
|
3103
|
-
};
|
|
3104
|
-
readonly Blocked: {
|
|
3105
|
-
readonly name: AXPSystemStatusType.Blocked;
|
|
3106
|
-
readonly title: string;
|
|
3107
|
-
readonly icon: "fa-light fa-ban";
|
|
3108
|
-
readonly color: "danger";
|
|
3109
|
-
readonly description: string;
|
|
3110
|
-
readonly order: 4;
|
|
3111
|
-
readonly isInitial: false;
|
|
3112
|
-
readonly isFinal: false;
|
|
3113
|
-
};
|
|
3114
|
-
readonly Done: {
|
|
3115
|
-
readonly name: AXPSystemStatusType.Done;
|
|
3116
|
-
readonly title: string;
|
|
3117
|
-
readonly icon: "fa-light fa-check-circle";
|
|
3118
|
-
readonly color: "success";
|
|
3119
|
-
readonly description: string;
|
|
3120
|
-
readonly order: 5;
|
|
3121
|
-
readonly isInitial: false;
|
|
3122
|
-
readonly isFinal: true;
|
|
3123
|
-
};
|
|
3124
|
-
readonly Cancelled: {
|
|
3125
|
-
readonly name: AXPSystemStatusType.Cancelled;
|
|
3126
|
-
readonly title: string;
|
|
3127
|
-
readonly icon: "fa-light fa-times-circle";
|
|
3128
|
-
readonly color: "neutral";
|
|
3129
|
-
readonly description: string;
|
|
3130
|
-
readonly order: 6;
|
|
3131
|
-
readonly isInitial: false;
|
|
3132
|
-
readonly isFinal: true;
|
|
3133
|
-
};
|
|
3134
|
-
readonly Draft: {
|
|
3135
|
-
readonly name: AXPSystemStatusType.Draft;
|
|
3136
|
-
readonly title: string;
|
|
3137
|
-
readonly icon: "fa-light fa-file-pen";
|
|
3138
|
-
readonly color: "neutral";
|
|
3139
|
-
readonly description: string;
|
|
3140
|
-
readonly order: 1;
|
|
3141
|
-
readonly isInitial: true;
|
|
3142
|
-
readonly isFinal: false;
|
|
3143
|
-
};
|
|
3144
|
-
readonly PendingReview: {
|
|
3145
|
-
readonly name: AXPSystemStatusType.PendingReview;
|
|
3146
|
-
readonly title: string;
|
|
3147
|
-
readonly icon: "fa-light fa-clock";
|
|
3148
|
-
readonly color: "warning";
|
|
3149
|
-
readonly description: string;
|
|
3150
|
-
readonly order: 2;
|
|
3151
|
-
readonly isInitial: false;
|
|
3152
|
-
readonly isFinal: false;
|
|
3153
|
-
};
|
|
3154
|
-
readonly WaitingSignOff: {
|
|
3155
|
-
readonly name: AXPSystemStatusType.WaitingSignOff;
|
|
3156
|
-
readonly title: string;
|
|
3157
|
-
readonly icon: "fa-light fa-clock";
|
|
3158
|
-
readonly color: "warning";
|
|
3159
|
-
readonly description: string;
|
|
3160
|
-
readonly order: 3;
|
|
3161
|
-
readonly isInitial: false;
|
|
3162
|
-
readonly isFinal: false;
|
|
3163
|
-
};
|
|
3164
|
-
readonly WaitingApproval: {
|
|
3165
|
-
readonly name: AXPSystemStatusType.WaitingApproval;
|
|
3166
|
-
readonly title: string;
|
|
3167
|
-
readonly icon: "fa-light fa-clock";
|
|
3168
|
-
readonly color: "warning";
|
|
3169
|
-
readonly description: string;
|
|
3170
|
-
readonly order: 1;
|
|
3171
|
-
readonly isInitial: true;
|
|
3172
|
-
readonly isFinal: false;
|
|
3173
|
-
};
|
|
3174
|
-
readonly Approved: {
|
|
3175
|
-
readonly name: AXPSystemStatusType.Approved;
|
|
3176
|
-
readonly title: string;
|
|
3177
|
-
readonly icon: "fa-light fa-check-circle";
|
|
3178
|
-
readonly color: "success";
|
|
3179
|
-
readonly description: string;
|
|
3180
|
-
readonly order: 3;
|
|
3181
|
-
readonly isInitial: false;
|
|
3182
|
-
readonly isFinal: false;
|
|
3183
|
-
};
|
|
3184
|
-
readonly Published: {
|
|
3185
|
-
readonly name: AXPSystemStatusType.Published;
|
|
3186
|
-
readonly title: string;
|
|
3187
|
-
readonly icon: "fa-light fa-globe";
|
|
3188
|
-
readonly color: "primary";
|
|
3189
|
-
readonly description: string;
|
|
3190
|
-
readonly order: 4;
|
|
3191
|
-
readonly isInitial: false;
|
|
3192
|
-
readonly isFinal: false;
|
|
3193
|
-
};
|
|
3194
|
-
readonly Archived: {
|
|
3195
|
-
readonly name: AXPSystemStatusType.Archived;
|
|
3196
|
-
readonly title: string;
|
|
3197
|
-
readonly icon: "fa-light fa-archive";
|
|
3198
|
-
readonly color: "danger";
|
|
3199
|
-
readonly description: string;
|
|
3200
|
-
readonly order: 5;
|
|
3201
|
-
readonly isInitial: false;
|
|
3202
|
-
readonly isFinal: true;
|
|
3203
|
-
};
|
|
3204
|
-
readonly Rejected: {
|
|
3205
|
-
readonly name: AXPSystemStatusType.Rejected;
|
|
3206
|
-
readonly title: string;
|
|
3207
|
-
readonly icon: "fa-light fa-times-circle";
|
|
3208
|
-
readonly color: "danger";
|
|
3209
|
-
readonly description: string;
|
|
3210
|
-
readonly order: 6;
|
|
3211
|
-
readonly isInitial: false;
|
|
3212
|
-
readonly isFinal: true;
|
|
3213
|
-
};
|
|
3214
|
-
readonly Active: {
|
|
3215
|
-
readonly name: AXPSystemStatusType.Active;
|
|
3216
|
-
readonly title: string;
|
|
3217
|
-
readonly icon: "fa-light fa-check-circle";
|
|
3218
|
-
readonly color: "success";
|
|
3219
|
-
readonly description: string;
|
|
3220
|
-
readonly order: 1;
|
|
3221
|
-
readonly isInitial: false;
|
|
3222
|
-
readonly isFinal: false;
|
|
3223
|
-
};
|
|
3224
|
-
readonly Inactive: {
|
|
3225
|
-
readonly name: AXPSystemStatusType.Inactive;
|
|
3226
|
-
readonly title: string;
|
|
3227
|
-
readonly icon: "fa-light fa-circle";
|
|
3228
|
-
readonly color: "secondary";
|
|
3229
|
-
readonly description: string;
|
|
3230
|
-
readonly order: 2;
|
|
3231
|
-
readonly isInitial: false;
|
|
3232
|
-
readonly isFinal: false;
|
|
3233
|
-
};
|
|
3234
|
-
readonly Pending: {
|
|
3235
|
-
readonly name: AXPSystemStatusType.Pending;
|
|
3236
|
-
readonly title: string;
|
|
3237
|
-
readonly icon: "fa-light fa-clock";
|
|
3238
|
-
readonly color: "warning";
|
|
3239
|
-
readonly description: string;
|
|
3240
|
-
readonly order: 1;
|
|
3241
|
-
readonly isInitial: true;
|
|
3242
|
-
readonly isFinal: false;
|
|
3243
|
-
};
|
|
3244
|
-
readonly Completed: {
|
|
3245
|
-
readonly name: AXPSystemStatusType.Completed;
|
|
3246
|
-
readonly title: string;
|
|
3247
|
-
readonly icon: "fa-light fa-check-circle";
|
|
3248
|
-
readonly color: "success";
|
|
3249
|
-
readonly description: string;
|
|
3250
|
-
readonly order: 10;
|
|
3251
|
-
readonly isInitial: false;
|
|
3252
|
-
readonly isFinal: true;
|
|
3253
|
-
};
|
|
3254
|
-
readonly Suspended: {
|
|
3255
|
-
readonly name: AXPSystemStatusType.Suspended;
|
|
3256
|
-
readonly title: string;
|
|
3257
|
-
readonly icon: "fa-light fa-pause-circle";
|
|
3258
|
-
readonly color: "neutral";
|
|
3259
|
-
readonly description: string;
|
|
3260
|
-
readonly order: 5;
|
|
3261
|
-
readonly isInitial: false;
|
|
3262
|
-
readonly isFinal: false;
|
|
3263
|
-
};
|
|
3264
|
-
readonly Failed: {
|
|
3265
|
-
readonly name: AXPSystemStatusType.Failed;
|
|
3266
|
-
readonly title: string;
|
|
3267
|
-
readonly icon: "fa-light fa-xmark-circle";
|
|
3268
|
-
readonly color: "danger";
|
|
3269
|
-
readonly description: string;
|
|
3270
|
-
readonly order: 10;
|
|
3271
|
-
readonly isInitial: false;
|
|
3272
|
-
readonly isFinal: true;
|
|
3273
|
-
};
|
|
3274
|
-
readonly Review: {
|
|
3275
|
-
readonly name: AXPSystemStatusType.Review;
|
|
3276
|
-
readonly title: string;
|
|
3277
|
-
readonly icon: "fa-light fa-eye";
|
|
3278
|
-
readonly color: "info";
|
|
3279
|
-
readonly description: string;
|
|
3280
|
-
readonly order: 3;
|
|
3281
|
-
};
|
|
3282
|
-
readonly Expired: {
|
|
3283
|
-
readonly name: AXPSystemStatusType.Expired;
|
|
3284
|
-
readonly title: string;
|
|
3285
|
-
readonly icon: "fa-light fa-clock";
|
|
3286
|
-
readonly color: "danger";
|
|
3287
|
-
readonly description: string;
|
|
3288
|
-
readonly order: 10;
|
|
3289
|
-
readonly isInitial: false;
|
|
3290
|
-
readonly isFinal: true;
|
|
3291
|
-
};
|
|
3292
|
-
}>;
|
|
2423
|
+
* Builds a stable tab key from a router URL.
|
|
2424
|
+
* Path segments define identity; query params are excluded so the same entity record
|
|
2425
|
+
* or list reuses one tab even when filters or refresh tokens change.
|
|
2426
|
+
*/
|
|
2427
|
+
declare function axpBuildTabKey(url: string): string;
|
|
2428
|
+
/** Normalizes a router URL for storage and navigation. */
|
|
2429
|
+
declare function normalizeRouterUrl(url: string): string;
|
|
2430
|
+
/** Human-readable fallback title from the URL path. */
|
|
2431
|
+
declare function axpFallbackTabTitle(url: string): string;
|
|
2432
|
+
|
|
2433
|
+
type AXPNavigationMode = 'simple' | 'tabular';
|
|
2434
|
+
declare const AXP_HOME_TAB_KEY = "axp:home";
|
|
2435
|
+
/** Route `data` key for tab-navigation behavior (`data.tab`). */
|
|
2436
|
+
declare const AXP_TAB_ROUTE_DATA_KEY = "tab";
|
|
3293
2437
|
/**
|
|
3294
|
-
*
|
|
3295
|
-
*
|
|
3296
|
-
* @returns System status definition or undefined
|
|
2438
|
+
* Set `data.tab = true` on the route that should act as the tab boundary.
|
|
2439
|
+
* Child navigations under this route update the same tab rather than opening a new one.
|
|
3297
2440
|
*/
|
|
3298
|
-
|
|
2441
|
+
type AXPTabRouteData = true;
|
|
2442
|
+
interface AXPTabDescriptor {
|
|
2443
|
+
/** Stable dedupe key derived from the route (path-based, query excluded). */
|
|
2444
|
+
key: string;
|
|
2445
|
+
/** Full router URL including query string and fragment. */
|
|
2446
|
+
url: string;
|
|
2447
|
+
title: string;
|
|
2448
|
+
/** Resolved breadcrumb segments used for tab chrome (leaf/prefix); avoids parsing joined titles. */
|
|
2449
|
+
titleSegments?: string[];
|
|
2450
|
+
icon?: string;
|
|
2451
|
+
pinned: boolean;
|
|
2452
|
+
closable: boolean;
|
|
2453
|
+
/** Timestamp used for LRU eviction when max tabs is reached. */
|
|
2454
|
+
openedAt: number;
|
|
2455
|
+
/** Updated whenever the tab becomes active. */
|
|
2456
|
+
lastActivatedAt: number;
|
|
2457
|
+
}
|
|
2458
|
+
interface AXPTabSessionState {
|
|
2459
|
+
tabs: AXPTabDescriptor[];
|
|
2460
|
+
activeTabKey: string | null;
|
|
2461
|
+
}
|
|
2462
|
+
/** Optional hook for confirming closure of a cached background tab (no router navigation). */
|
|
2463
|
+
interface AXPTabCloseConfirm {
|
|
2464
|
+
onBeforeTabClose(): boolean | Promise<boolean>;
|
|
2465
|
+
}
|
|
2466
|
+
|
|
2467
|
+
declare class AXPTabNavigationService {
|
|
2468
|
+
private readonly router;
|
|
2469
|
+
private readonly settingsService;
|
|
2470
|
+
private readonly deviceService;
|
|
2471
|
+
private readonly menuService;
|
|
2472
|
+
private readonly homePageService;
|
|
2473
|
+
private readonly sessionService;
|
|
2474
|
+
private readonly routeCacheRegistry;
|
|
2475
|
+
private readonly tabPreviewService;
|
|
2476
|
+
private readonly unsavedChangesConfirm;
|
|
2477
|
+
private readonly destroyRef;
|
|
2478
|
+
private readonly navigationMode;
|
|
2479
|
+
private readonly maxOpenTabs;
|
|
2480
|
+
private readonly tabs;
|
|
2481
|
+
private readonly activeTabKey;
|
|
2482
|
+
private suppressNavigationSync;
|
|
2483
|
+
/** Effective mode: mobile always uses simple navigation. */
|
|
2484
|
+
readonly effectiveMode: i0.Signal<AXPNavigationMode>;
|
|
2485
|
+
readonly isTabBarVisible: i0.Signal<boolean>;
|
|
2486
|
+
readonly tabList: i0.Signal<AXPTabDescriptor[]>;
|
|
2487
|
+
readonly activeKey: i0.Signal<string | null>;
|
|
2488
|
+
constructor();
|
|
2489
|
+
/** Navigates to a path, opening or activating a tab when tabular mode is active. */
|
|
2490
|
+
navigate(path: string, extras?: NavigationExtras): Promise<boolean>;
|
|
2491
|
+
/** Opens a tab or activates an existing tab with the same key. */
|
|
2492
|
+
openOrActivateTab(url: string, title?: string): Promise<void>;
|
|
2493
|
+
/**
|
|
2494
|
+
* Activates a tab and navigates to its URL. The previously active page is detached and cached by
|
|
2495
|
+
* the reuse strategy, so its state is preserved; this tab's cached instance is reattached when
|
|
2496
|
+
* available instead of being re-rendered.
|
|
2497
|
+
*
|
|
2498
|
+
* @param suspendDeactivateGuard When true (default for tab switches), unsaved-changes prompts are
|
|
2499
|
+
* skipped so switching tabs keeps a dirty page alive. Closing a tab passes false to keep the prompt.
|
|
2500
|
+
*/
|
|
2501
|
+
activateTabKey(key: string, urlOverride?: string, suspendDeactivateGuard?: boolean): Promise<void>;
|
|
2502
|
+
/** Closes a tab and navigates to a neighbor when the active tab is closed. */
|
|
2503
|
+
closeTab(key: string): Promise<void>;
|
|
2504
|
+
/** Closes every closable tab except the given key (pinned tabs are kept). */
|
|
2505
|
+
closeOtherTabs(keepKey: string): Promise<void>;
|
|
2506
|
+
/** Closes all closable tabs (pinned tabs are kept). */
|
|
2507
|
+
closeAllTabs(): Promise<void>;
|
|
2508
|
+
/** Toggles whether a tab stays pinned in the strip (home tab is always pinned). */
|
|
2509
|
+
toggleTabPinned(key: string): void;
|
|
2510
|
+
/**
|
|
2511
|
+
* Reorders tabs after drag-and-drop. Home stays first; pinned and unpinned tabs cannot cross groups.
|
|
2512
|
+
*/
|
|
2513
|
+
reorderTabs(previousIndex: number, currentIndex: number): void;
|
|
2514
|
+
/** Updates a tab title from the current page chrome (e.g. breadcrumb trail). */
|
|
2515
|
+
syncTabTitle(key: string, titleOrSegments: string | string[]): void;
|
|
2516
|
+
/** Updates a tab icon from the current page chrome or menu metadata. */
|
|
2517
|
+
syncTabIcon(key: string, icon: string): void;
|
|
2518
|
+
/** Closes multiple tabs in one update; navigates once when the active tab is closed. */
|
|
2519
|
+
private closeTabs;
|
|
2520
|
+
/**
|
|
2521
|
+
* Prompts before closing a cached background tab. Uses the page's {@link AXPTabCloseConfirm}
|
|
2522
|
+
* hook when available, otherwise falls back to the tab preview dirty flag.
|
|
2523
|
+
*/
|
|
2524
|
+
private confirmBackgroundTabClose;
|
|
2525
|
+
/**
|
|
2526
|
+
* Navigates away from the active tab before it is removed so canDeactivate runs while the tab is still visible.
|
|
2527
|
+
* Returns false when navigation was cancelled (e.g. unsaved-changes confirmation declined).
|
|
2528
|
+
*/
|
|
2529
|
+
private navigateAwayBeforeClosingActiveTab;
|
|
2530
|
+
/** Prefers the tab to the right after removal, then the tab to the left (browser-like). */
|
|
2531
|
+
private resolveFallbackTabIndex;
|
|
2532
|
+
/**
|
|
2533
|
+
* Keeps the route cache registry aligned with the current navigation mode and the set of open
|
|
2534
|
+
* tabs. Cached page instances for closed/evicted tabs are destroyed by the registry.
|
|
2535
|
+
*/
|
|
2536
|
+
private bindRouteCacheSync;
|
|
2537
|
+
private bindRouterEvents;
|
|
2538
|
+
private handleNavigationEnd;
|
|
2539
|
+
private loadSettings;
|
|
2540
|
+
private bindSettingsChanges;
|
|
2541
|
+
private bindSessionChanges;
|
|
2542
|
+
private ensureHomeTab;
|
|
2543
|
+
private insertTab;
|
|
2544
|
+
/** Home first; preserves session order for the remaining tabs. */
|
|
2545
|
+
private ensureHomeTabFirst;
|
|
2546
|
+
private getLastPinnedTabIndex;
|
|
2547
|
+
/** Home first, then other pinned tabs, then unpinned tabs (stable by openedAt within each group). */
|
|
2548
|
+
private normalizeTabOrder;
|
|
2549
|
+
private enforceMaxTabs;
|
|
2550
|
+
private createTabDescriptor;
|
|
2551
|
+
/** Finds a tab by scoped key or legacy full-path key for the same URL. */
|
|
2552
|
+
private findTabForUrl;
|
|
2553
|
+
/** True when the URL is the configured application home page (e.g. dashboard). */
|
|
2554
|
+
private isHomePageUrl;
|
|
2555
|
+
private resolveHomeUrl;
|
|
2556
|
+
/** Activates the pinned home tab for a home-page URL instead of opening a duplicate tab. */
|
|
2557
|
+
private activateHomeTabForUrl;
|
|
2558
|
+
/** Drops non-home tabs that duplicate the home page URL after session restore. */
|
|
2559
|
+
private removeDuplicateHomeUrlTabs;
|
|
2560
|
+
/** Rewrites a tab key when route-scope resolution changes (e.g. profile sub-routes). */
|
|
2561
|
+
private migrateTabKey;
|
|
2562
|
+
/** Collapses restored tabs that share the same scoped route key. */
|
|
2563
|
+
private normalizeRestoredTabKeys;
|
|
2564
|
+
private updateTabUrl;
|
|
2565
|
+
private updateTabTitle;
|
|
2566
|
+
private updateTabIcon;
|
|
2567
|
+
private touchTab;
|
|
2568
|
+
private resolveTabTitle;
|
|
2569
|
+
private resolveTabIcon;
|
|
2570
|
+
private resolveHomePath;
|
|
2571
|
+
private resolveHomeTitle;
|
|
2572
|
+
private isGenericHomeTitle;
|
|
2573
|
+
private syncCurrentRouteAsTab;
|
|
2574
|
+
private normalizeMaxTabs;
|
|
2575
|
+
private sessionStorageKey;
|
|
2576
|
+
private persistSession;
|
|
2577
|
+
private clearSession;
|
|
2578
|
+
private restoreSessionIfNeeded;
|
|
2579
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPTabNavigationService, never>;
|
|
2580
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPTabNavigationService>;
|
|
2581
|
+
}
|
|
2582
|
+
|
|
2583
|
+
/** Structured hover-card payload for a tab (kept in memory; not session-persisted). */
|
|
2584
|
+
interface AXPTabStructuredPreview {
|
|
2585
|
+
/** Primary label (usually page title or breadcrumb trail). */
|
|
2586
|
+
title: string;
|
|
2587
|
+
/** Optional page description or secondary line. */
|
|
2588
|
+
subtitle?: string;
|
|
2589
|
+
/** Full router URL for the tab. */
|
|
2590
|
+
url: string;
|
|
2591
|
+
icon?: string;
|
|
2592
|
+
/** Whether the cached page reports unsaved user edits. */
|
|
2593
|
+
isDirty: boolean;
|
|
2594
|
+
/** Breadcrumb segments excluding home (for the hover card). */
|
|
2595
|
+
breadcrumbTrail: string[];
|
|
2596
|
+
}
|
|
2597
|
+
|
|
3299
2598
|
/**
|
|
3300
|
-
*
|
|
3301
|
-
*
|
|
3302
|
-
* @param statusType - Status type string
|
|
3303
|
-
* @returns Color and icon for the status
|
|
2599
|
+
* In-memory structured previews for tab hover cards and dirty indicators.
|
|
2600
|
+
* Populated by active/cached pages via {@link AXPPageLayoutBaseComponent}.
|
|
3304
2601
|
*/
|
|
3305
|
-
declare
|
|
3306
|
-
|
|
3307
|
-
|
|
3308
|
-
|
|
2602
|
+
declare class AXPTabPreviewService {
|
|
2603
|
+
private readonly previewMap;
|
|
2604
|
+
readonly previews: i0.Signal<Readonly<Record<string, AXPTabStructuredPreview>>>;
|
|
2605
|
+
setPreview(key: string, preview: AXPTabStructuredPreview): void;
|
|
2606
|
+
patchPreview(key: string, patch: Partial<AXPTabStructuredPreview>): void;
|
|
2607
|
+
getPreview(key: string): AXPTabStructuredPreview | undefined;
|
|
2608
|
+
isTabDirty(key: string): boolean;
|
|
2609
|
+
clearPreview(key: string): void;
|
|
2610
|
+
clearPreviews(keys: Iterable<string>): void;
|
|
2611
|
+
clearAll(): void;
|
|
2612
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPTabPreviewService, never>;
|
|
2613
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPTabPreviewService>;
|
|
2614
|
+
}
|
|
2615
|
+
|
|
2616
|
+
/**
|
|
2617
|
+
* Holds detached Angular route component instances keyed by tab key so tabular navigation can
|
|
2618
|
+
* preserve a page's full state (data-table selection, scroll, unsaved form values, etc.) while it
|
|
2619
|
+
* is in the background, then reattach it without re-rendering.
|
|
2620
|
+
*
|
|
2621
|
+
* The registry has no `Router` dependency on purpose: it is consumed by the {@link RouteReuseStrategy}
|
|
2622
|
+
* implementation, so depending on `Router` here would create a construction-time cycle.
|
|
2623
|
+
*/
|
|
2624
|
+
declare class AXPTabRouteCacheRegistry {
|
|
2625
|
+
private readonly handles;
|
|
2626
|
+
private openKeys;
|
|
2627
|
+
private enabled;
|
|
2628
|
+
private deactivateGuardSuspended;
|
|
2629
|
+
/**
|
|
2630
|
+
* Runs `action` while unsaved-changes `canDeactivate` guards are suspended, so switching between
|
|
2631
|
+
* tabs preserves a dirty page without prompting. Closing a tab does not use this path, so the
|
|
2632
|
+
* prompt still appears there.
|
|
2633
|
+
*/
|
|
2634
|
+
runWithSuspendedDeactivateGuards<T>(action: () => Promise<T>): Promise<T>;
|
|
2635
|
+
isDeactivateGuardSuspended(): boolean;
|
|
2636
|
+
/** Enables caching (tabular mode). Disabling clears and destroys every cached component. */
|
|
2637
|
+
setEnabled(enabled: boolean): void;
|
|
2638
|
+
isEnabled(): boolean;
|
|
2639
|
+
/**
|
|
2640
|
+
* Reconciles open scoped tab keys and active tab URLs. Cached handles whose key is not an open
|
|
2641
|
+
* scoped tab key, an active tab URL, or a child path under an open scoped tab are destroyed.
|
|
2642
|
+
*/
|
|
2643
|
+
syncOpenKeys(scopedKeys: string[], activeTabUrls?: string[]): void;
|
|
2644
|
+
isOpen(key: string): boolean;
|
|
2645
|
+
/**
|
|
2646
|
+
* Returns the live component instance for a cached background tab, when available.
|
|
2647
|
+
* Matches the tab key directly or any cached handle under a scoped tab prefix.
|
|
2648
|
+
*/
|
|
2649
|
+
getComponentInstance<T>(key: string): T | null;
|
|
2650
|
+
/**
|
|
2651
|
+
* Caches a detached background handle. Overwrites without destroying the previous handle: on a
|
|
2652
|
+
* repeat visit Angular hands back a new handle object wrapping the same live `componentRef`, so
|
|
2653
|
+
* destroying the old one would destroy the live component and corrupt the view (NG0922).
|
|
2654
|
+
*/
|
|
2655
|
+
store(key: string, handle: DetachedRouteHandle): void;
|
|
2656
|
+
/**
|
|
2657
|
+
* Returns the cached handle without mutating the map. Angular reads a handle twice per
|
|
2658
|
+
* navigation (once while building the future state, once while attaching), so `retrieve` must be
|
|
2659
|
+
* idempotent; the handle is released afterwards via {@link release} when Angular calls
|
|
2660
|
+
* `store(snapshot, null)`.
|
|
2661
|
+
*/
|
|
2662
|
+
retrieve(key: string): DetachedRouteHandle | null;
|
|
2663
|
+
/**
|
|
2664
|
+
* Drops a handle that the router has just reattached (it is now a live foreground view, so it
|
|
2665
|
+
* must not be destroyed). The map keeps only truly backgrounded handles.
|
|
2666
|
+
*/
|
|
2667
|
+
release(key: string): void;
|
|
2668
|
+
has(key: string): boolean;
|
|
2669
|
+
/** Destroys and removes a single cached handle (used when a tab closes). */
|
|
2670
|
+
evict(key: string): void;
|
|
2671
|
+
/** Destroys and removes every cached handle. */
|
|
2672
|
+
clear(): void;
|
|
2673
|
+
private readComponentInstance;
|
|
2674
|
+
private destroyHandle;
|
|
2675
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPTabRouteCacheRegistry, never>;
|
|
2676
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPTabRouteCacheRegistry>;
|
|
2677
|
+
}
|
|
2678
|
+
|
|
3309
2679
|
/**
|
|
3310
|
-
*
|
|
3311
|
-
* using the system statuses from the core module.
|
|
3312
|
-
* @param statusType - Status type string
|
|
3313
|
-
* @returns Complete status information as AXPStatusDefinition
|
|
2680
|
+
* Returns true when the URL represents an in-app page that may appear in the tab bar.
|
|
3314
2681
|
*/
|
|
3315
|
-
declare function
|
|
2682
|
+
declare function axpIsTabEligibleUrl(url: string): boolean;
|
|
2683
|
+
|
|
2684
|
+
/** True when the route declares itself as a scoped tab root (`data.tab = true`). */
|
|
2685
|
+
declare function axpHasTabScope(data: Record<string, unknown> | undefined): boolean;
|
|
2686
|
+
/** Resolved URL path for a snapshot (no query or fragment). */
|
|
2687
|
+
declare function axpPathFromSnapshot(snapshot: ActivatedRouteSnapshot): string;
|
|
2688
|
+
/** Returns the leaf snapshot under the router state root. */
|
|
2689
|
+
declare function axpGetLeafRouteSnapshot(root: ActivatedRouteSnapshot): ActivatedRouteSnapshot;
|
|
3316
2690
|
/**
|
|
3317
|
-
*
|
|
3318
|
-
*
|
|
3319
|
-
* @param overrides - Optional overrides for the status definition
|
|
3320
|
-
* @returns AXPStatusDefinition
|
|
2691
|
+
* Resolves the tab dedupe key from an activated route tree.
|
|
2692
|
+
* Uses the nearest ancestor with `data.tab = true`; otherwise the leaf path.
|
|
3321
2693
|
*/
|
|
3322
|
-
declare function
|
|
2694
|
+
declare function axpResolveTabKeyFromSnapshot(leaf: ActivatedRouteSnapshot): string;
|
|
2695
|
+
/**
|
|
2696
|
+
* Resolves a tab key for the given URL (or the current router URL).
|
|
2697
|
+
* Prefers the live route snapshot when it matches the target URL; otherwise matches route config.
|
|
2698
|
+
*/
|
|
2699
|
+
declare function axpResolveTabKey(router: Router, url?: string): string;
|
|
2700
|
+
/**
|
|
2701
|
+
* Matches a URL path against registered routes and resolves the tab key from `data.tab`.
|
|
2702
|
+
*/
|
|
2703
|
+
declare function axpResolveTabKeyFromRouteConfig(routes: Routes, pathOnly: string): string | null;
|
|
2704
|
+
|
|
2705
|
+
declare const AXP_TAB_BREADCRUMB_JOIN_SEPARATOR = " - ";
|
|
2706
|
+
interface AXPTabTitleParts {
|
|
2707
|
+
prefix: string | null;
|
|
2708
|
+
leaf: string;
|
|
2709
|
+
}
|
|
2710
|
+
/** Joins breadcrumb segments for the stored tab title and tooltip full label. */
|
|
2711
|
+
declare function axpJoinTabTitleSegments(segments: string[]): string;
|
|
2712
|
+
/** Derives compact tab label parts from structured breadcrumb segments. */
|
|
2713
|
+
declare function axpResolveTabTitleParts(tab: {
|
|
2714
|
+
titleSegments?: string[];
|
|
2715
|
+
}, fallbackTitle: string): AXPTabTitleParts;
|
|
3323
2716
|
|
|
3324
2717
|
interface AXPTokenDefinition {
|
|
3325
2718
|
name: string;
|
|
@@ -3397,21 +2790,6 @@ declare class AXPClipBoardService {
|
|
|
3397
2790
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPClipBoardService>;
|
|
3398
2791
|
}
|
|
3399
2792
|
|
|
3400
|
-
/**
|
|
3401
|
-
* Service for debugging user access information.
|
|
3402
|
-
* Displays loaded modules, features, and permissions for the current user.
|
|
3403
|
-
*/
|
|
3404
|
-
declare class AXPDebugService {
|
|
3405
|
-
private readonly sessionService;
|
|
3406
|
-
private readonly manifestRegistry;
|
|
3407
|
-
/**
|
|
3408
|
-
* Display all loaded modules, features, and permissions for the current user.
|
|
3409
|
-
*/
|
|
3410
|
-
displayUserAccessInfo(): Promise<void>;
|
|
3411
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AXPDebugService, never>;
|
|
3412
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<AXPDebugService>;
|
|
3413
|
-
}
|
|
3414
|
-
|
|
3415
2793
|
type AXPGraphicDownloadFormat = 'svg' | 'png' | 'jpeg';
|
|
3416
2794
|
interface AXPGraphicPrintContent {
|
|
3417
2795
|
bodyMarkup: string;
|
|
@@ -3622,6 +3000,7 @@ declare const AXPReloadEvent: {
|
|
|
3622
3000
|
};
|
|
3623
3001
|
declare class AXPWorkflowNavigateAction extends AXPWorkflowAction {
|
|
3624
3002
|
private router;
|
|
3003
|
+
private tabNavigation;
|
|
3625
3004
|
execute(context: AXPWorkflowContext): Promise<void>;
|
|
3626
3005
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXPWorkflowNavigateAction, never>;
|
|
3627
3006
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPWorkflowNavigateAction>;
|
|
@@ -3654,8 +3033,16 @@ declare class AXPReloadAction extends AXPWorkflowAction {
|
|
|
3654
3033
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPReloadAction>;
|
|
3655
3034
|
}
|
|
3656
3035
|
|
|
3036
|
+
/** Workflow event type dispatched after a successful entity delete. */
|
|
3037
|
+
declare const AXP_ENTITY_DELETED_WORKFLOW_EVENT_TYPE = "[Entity] Deleted";
|
|
3038
|
+
interface AXPEntityDeletedEventPayload {
|
|
3039
|
+
entity: string;
|
|
3040
|
+
ids: string[];
|
|
3041
|
+
meta?: unknown;
|
|
3042
|
+
}
|
|
3043
|
+
|
|
3657
3044
|
declare class AXPWorkflowRouterNavigateAction extends AXPWorkflowAction {
|
|
3658
|
-
private
|
|
3045
|
+
private readonly tabNavigation;
|
|
3659
3046
|
execute(context: AXPWorkflowContext): Promise<void>;
|
|
3660
3047
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXPWorkflowRouterNavigateAction, never>;
|
|
3661
3048
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPWorkflowRouterNavigateAction>;
|
|
@@ -3669,5 +3056,5 @@ declare class AXMWorkflowErrorHandler implements AXPErrorHandler {
|
|
|
3669
3056
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXMWorkflowErrorHandler>;
|
|
3670
3057
|
}
|
|
3671
3058
|
|
|
3672
|
-
export { ALL_DEFAULT_OPERATORS, AXMWorkflowErrorHandler, AXPAppVersionService, AXPBackgroundOperationCompletionService, AXPBackgroundOperationEntityStoreService, AXPBackgroundOperationHandler, AXPBackgroundOperationNotificationService, AXPBackgroundOperationProvider, AXPBackgroundOperationRootConfig, AXPBackgroundOperationService, AXPBackgroundOperationSlotComponent, AXPCleanNestedFilters, AXPClipBoardService, AXPCommonModule, AXPCommonSettings, AXPCustomOperatorService, AXPCustomOperatorServiceImpl, AXPDataProvider,
|
|
3673
|
-
export type { AXCFileUploaderAction, AXCFileUploaderActionsPayload, AXCFileUploaderCapabilities,
|
|
3059
|
+
export { ALL_DEFAULT_OPERATORS, AXMWorkflowErrorHandler, AXPAppVersionService, AXPBackgroundOperationCompletionService, AXPBackgroundOperationEntityStoreService, AXPBackgroundOperationHandler, AXPBackgroundOperationNotificationService, AXPBackgroundOperationProvider, AXPBackgroundOperationRootConfig, AXPBackgroundOperationService, AXPBackgroundOperationSlotComponent, AXPBrowserTitleService, AXPCleanNestedFilters, AXPClipBoardService, AXPCommonModule, AXPCommonSettings, AXPCustomOperatorService, AXPCustomOperatorServiceImpl, AXPDataProvider, AXPDefaultMultiLanguageConfigService, AXPDialogConfirmAction, AXPErrorHandlerRegistryService, AXPExportService, AXPFileActionsService, AXPFileStorageEvaluatorScopeProvider, AXPFileStorageService, AXPFileTypeProviderService, AXPFilterOperatorMiddlewareService, AXPFilterOperatorMiddlewareServiceImpl, AXPFooterTextSlotComponent, AXPGlobalErrorHandler, AXPHomePageModule, AXPHomePageService, AXPIntegrationOAuthService, AXPIntegrationProviderContext, AXPIntegrationProviderRegistryService, AXPIntegrationRuntimeService, AXPKeyboardShortcutsHelpComponent, AXPKeyboardShortcutsHelpService, AXPLockService, AXPMenuItemsDataSourceDefinition, AXPMenuKeyboardShortcutService, AXPMenuMiddlewareRegistry, AXPMenuProviderService, AXPMenuRouteAccessService, AXPMenuRouteGuard, AXPMenuSearchDefinitionProvider, AXPMenuSearchProvider, AXPMenuService, AXPMenuVisibilityService, AXPNavBarSlotComponent, AXPNavigateWorkflow, AXPNotFoundCatchAllRoute, AXPNotFoundError, AXPOutputContractTranscriptSegmentService, AXPPlatformCommonDataSourceKeys, AXPPlatformDefaultConfigs, AXPRedirectEvent, AXPRefreshEvent, AXPRegionalCalendarService, AXPReloadAction, AXPReloadEvent, AXPSearchCommandProvider, AXPSearchDefinitionActionBuilder, AXPSearchDefinitionBuilder, AXPSearchDefinitionProviderContext, AXPSearchDefinitionProviderService, AXPSearchService, AXPSettingDefaultValuesAggregatorService, AXPSettingDefinitionGroupBuilder, AXPSettingDefinitionProviderContext, AXPSettingDefinitionProviderService, AXPSettingDefinitionSectionBuilder, AXPSettingsEvaluatorScopeProvider, AXPSettingsService, AXPStatusDefinitionProviderService, AXPStickyDirective, AXPTabNavigationService, AXPTabPreviewService, AXPTabRouteCacheRegistry, AXPToastAction, AXPTokenDefinitionService, AXPTokenEvaluatorScopeProvider, AXPTranslateFormatter, AXPUnsavedChangesConfirmService, AXPUnsavedChangesPopstateService, AXPVersioningService, AXPWorkflowNavigateAction, AXPWorkflowRouterNavigateAction, AXP_AGENT_OUTPUT_CONTRACT_DEFAULT_STRUCTURED_RETRIES, AXP_APP_VERSION_PROVIDER, AXP_BACKGROUND_OPERATION_ENTITY_STORAGE, AXP_BACKGROUND_OPERATION_HANDLERS, AXP_BACKGROUND_OPERATION_PROVIDERS, AXP_ENTITY_DELETED_WORKFLOW_EVENT_TYPE, AXP_FILE_ACTION_PROVIDER, AXP_FILE_TYPE_INFO_PROVIDER, AXP_HOME_PAGES, AXP_HOME_PAGE_DEFAULT_KEY, AXP_HOME_TAB_KEY, AXP_INTEGRATION_OAUTH_SERVICE, AXP_INTEGRATION_PROVIDER, AXP_INTEGRATION_RUNTIME_PROVIDER, AXP_INTEGRATION_SECRET_STORE, AXP_IN_APP_NOTIFICATION_SERVICE, AXP_LOCALE_MANAGEMENT_PORT, AXP_MENU_MIDDLEWARE, AXP_MENU_PROVIDER, AXP_NOT_FOUND_CATCH_ALL_ROUTE, AXP_NOT_FOUND_ROUTE, AXP_OUTPUT_CONTRACT_TRANSCRIPT_SEGMENT_PROVIDER, AXP_PLATFORM_CONFIG_TOKEN, AXP_PROTECTED_ROUTE_GUARDS, AXP_ROOT_CONFIG_TOKEN, AXP_SEARCH_DEFINITION_LAZY_RESOLVER, AXP_SEARCH_DEFINITION_PROVIDER, AXP_SEARCH_PROVIDER, AXP_SETTING_DEFAULT_VALUES_PROVIDERS, AXP_SETTING_DEFINITION_PROVIDER, AXP_SETTING_VALUE_PROVIDER, AXP_STATUS_PROVIDERS, AXP_TAB_BREADCRUMB_JOIN_SEPARATOR, AXP_TAB_ROUTE_DATA_KEY, AXP_TOKEN_DEFINITION_PROVIDER, AXP_UNAUTHORIZED_ROUTE, AXVChangeType, BETWEEN_OPER, BOOLEAN_OPERATORS, CONTAINS_OPER, DATE_OPERATORS, DEFAULT_DATE_FILTER_PRESETS, DEFAULT_MULTILANGUAGE_FIELD_NAMES, ENDS_WITH_OPER, ENVIRONMENT, EQ_OPER, GTE_OPER, GT_OPER, IN_OPER, IS_EMPTY_OPER, IS_NOT_EMPTY_OPER, LTE_OPER, LT_OPER, MULTILANGUAGE_CAPABLE_WIDGET_TYPES, NOT_CONTAINS_OPER, NOT_EQ_OPER, NUMBER_OPERATORS, STARTS_WITH_OPER, STRING_OPERATORS, UploadFromComputerActionProvider, applyDateFilterPreset, axpBackgroundOperationCapabilities, axpBackgroundOperationDisplayTime, axpBackgroundOperationEntityName, axpBackgroundOperationEstimateEndDate, axpBackgroundOperationFailurePolicy, axpBackgroundOperationFromEntityModel, axpBackgroundOperationRemainingMs, axpBackgroundOperationToEntityModel, axpBuildBackgroundOperation, axpBuildTabKey, axpCoerceBackgroundOperationDate, axpCreateBackgroundOperationId, axpFallbackTabTitle, axpFindMenuItemByRoute, axpGetLeafRouteSnapshot, axpHasTabScope, axpIsActiveBackgroundOperationStatus, axpIsCompletedBackgroundOperationStatus, axpIsEntityDetailsPath, axpIsEntityDetailsViewRoute, axpIsEntityListPath, axpIsEntityListRoute, axpIsEntityRecordNotFound, axpIsTabEligibleUrl, axpJoinTabTitleSegments, axpMenuPathsMatch, axpNavigateAppPath, axpParseAppPath, axpPathFromSnapshot, axpRedirectToNotFound, axpRedirectToUnauthorized, axpReplaceEntityListRouteQueryParams, axpResolveTabKey, axpResolveTabKeyFromRouteConfig, axpResolveTabKeyFromSnapshot, axpResolveTabTitleParts, backgroundOperationEntityFactory, coerceAXPSettingRawValue, coerceAXPSettingRawValueByKind, configPlatform, createBackgroundOperationStore, createEntityCommandOptions, createEntityRowExpressionScope, createEntitySearchCommand, createMenuContext, createMenuMiddleware, createUnsavedChangesCanDeactivateGuard, downloadGraphicFromElement, evaluateEntityDisplayTemplate, findManualPresetIdByOperation, formatEntityRowDisplayTitle, inferSettingCoercionKind, normalizePositiveNumberOption, normalizeRouterUrl, peelSettingValueKey, printGraphicFromElement, provideDynamicHomePage, provideMenuMiddleware, resolveDateFilterPresets, resolveEntityCreateListBehavior, resolveEntityModifyPopupTitle, resolveEntityRowDisplayText, resolveEntityRowDisplayTitle, resolveEntityRowDisplayTitleFromColumnContext, resolveEntitySearchTitleFallback, resolveGraphicElementSize, resolveGraphicPrintContent, resolveQueryMatchingDisplayText, resolveSearchDisplayTemplate, resolveSearchableText, searchInRecordValues, searchInSearchableValue, serializeSvgElement, shouldApplyDefaultMultiLanguageToEntityProperty, shouldApplyDefaultMultiLanguageToWidgetNode, shouldApplyDefaultMultiLanguageToWidgetProperty, triggerBrowserDownload, withDefaultMultiLanguageOnWidgetNodeTree, withDefaultMultiLanguageOnWidgetProperty };
|
|
3060
|
+
export type { AXCFileUploaderAction, AXCFileUploaderActionsPayload, AXCFileUploaderCapabilities, AXPAgentOutputContract, AXPAgentResponseFormat, AXPAppPathParts, AXPAppVersion, AXPAppVersionProvider, AXPBackgroundOperation, AXPBackgroundOperationActionKey, AXPBackgroundOperationCapabilities, AXPBackgroundOperationCreateRequest, AXPBackgroundOperationEntityModel, AXPBackgroundOperationEntityStorageAdapter, AXPBackgroundOperationError, AXPBackgroundOperationFailureMode, AXPBackgroundOperationFailurePolicy, AXPBackgroundOperationProviderStore, AXPBackgroundOperationStatus, AXPCommonModuleConfigs, AXPCurrency, AXPDateTimeFilterPreset, AXPDateTimeFilterPresetKind, AXPDateTimeFilterValue, AXPDomToImageOptions, AXPEntityCreateListBehavior, AXPEntityCreateListBehaviorOptions, AXPEntityDeletedEventPayload, AXPErrorHandler, AXPFileActionProvider, AXPFileActionProviderToken, AXPFileExtension, AXPFileType, AXPFileTypeInfoProvider, AXPFilterOperator, AXPGeoLocation, AXPGraphicDownloadFormat, AXPGraphicDownloadOptions, AXPGraphicPrintContent, AXPGroupSearchResult, AXPHomePageDefinition, AXPInAppNotificationCreateRequest, AXPInAppNotificationPriority, AXPInAppNotificationService, AXPIntegrationOAuthCompleteInput, AXPIntegrationOAuthStartInput, AXPIntegrationProvider, AXPIntegrationRuntimeProvider, AXPIntegrationSecretRefInput, AXPIntegrationSecretStore, AXPIntegrationWithClientOptions, AXPJsonSchemaLike, AXPLanguage, AXPLocaleManagementPort, AXPLocaleProfile, AXPLockGetInfoRequest, AXPLockInfo, AXPLockRequest, AXPLockType, AXPMenuFinderResult, AXPMenuInsertion, AXPMenuItem, AXPMenuItemCommand, AXPMenuItemFinder, AXPMenuItemWithParent, AXPMenuMiddleware, AXPMenuMiddlewareContext, AXPMenuMiddlewareProvider, AXPMenuProvider, AXPMenuProviderContext, AXPMenuRouteMatchResult, AXPMenuType, AXPNavigationMode, AXPOutputContractTranscriptSegmentDefinition, AXPOutputContractTranscriptSegmentProvider, AXPOutputContractTranscriptSegmentProviderToken, AXPPlatformConfigs, AXPPrintGraphicOptions, AXPResolveEntityRowDisplayTitleOptions, AXPRootConfigs, AXPSearchAction, AXPSearchDefinition, AXPSearchDefinitionDisplayFormat, AXPSearchDefinitionLazyResolver, AXPSearchDefinitionProvider, AXPSearchDisplayGroupResult, AXPSearchDisplayResult, AXPSearchDisplayResultForSave, AXPSearchParentResult, AXPSearchProvider, AXPSearchResult, AXPSettingChangedEvent, AXPSettingCoercionKind, AXPSettingDefaultValuesProvider, AXPSettingDefinition, AXPSettingDefinitionGroup, AXPSettingDefinitionProvider, AXPSettingDefinitionSection, AXPSettingLayoutOptions, AXPSettingMergedDefaults, AXPSettingValue, AXPSettingValueProvider, AXPSettingsServiceInterface, AXPTabCloseConfirm, AXPTabDescriptor, AXPTabRouteData, AXPTabSessionState, AXPTabStructuredPreview, AXPTabTitleParts, AXPTimeZone, AXPTokenDefinition, AXPTokenDefinitionProvider, AXPTokenDefinitionProviderToken, AXPTranslateFormatterOptions, AXPUnLockRequest, AXPUnsavedChangesCanDeactivate, AXPUnsavedChangesConfirmOptions, AXPUnsavedChangesPopstateSource, AXPVersionChange, AXPVersionEntry, AXPVersionStream, CanonicalChange, CanonicalChangeOp, VersionedFileInfo };
|