@acorex/platform 21.0.0-next.85 → 21.0.0-next.88
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 +1 -1
- 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-VfmZct9H.mjs} +43 -3
- package/fesm2022/acorex-platform-common-common-settings.provider-VfmZct9H.mjs.map +1 -0
- package/fesm2022/acorex-platform-common.mjs +1709 -870
- 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 +210 -131
- 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.map +1 -1
- package/fesm2022/acorex-platform-layout-components.mjs +59 -23
- package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-designer.mjs +3 -2
- 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 +1114 -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 +661 -742
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-views.mjs +333 -119
- package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-widget-core.mjs +11 -105
- 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-D4MOHEpI.mjs} +4 -4
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-D4MOHEpI.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-widgets.mjs +868 -57
- 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 +740 -96
- 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-BUwPqwUS.mjs} +3 -3
- package/fesm2022/acorex-platform-themes-shared-settings.provider-BUwPqwUS.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared.mjs +4 -3
- 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 +2 -1
- package/types/acorex-platform-common.d.ts +419 -1083
- package/types/acorex-platform-contracts.d.ts +1791 -260
- package/types/acorex-platform-core.d.ts +2153 -2806
- 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 +2 -1
- package/types/acorex-platform-layout-components.d.ts +15 -4
- package/types/acorex-platform-layout-designer.d.ts +2 -1
- package/types/acorex-platform-layout-entity-contracts.d.ts +864 -0
- package/types/acorex-platform-layout-entity.d.ts +88 -269
- package/types/acorex-platform-layout-views.d.ts +48 -14
- package/types/acorex-platform-layout-widget-core.d.ts +9 -5
- package/types/acorex-platform-layout-widgets.d.ts +89 -13
- package/types/acorex-platform-runtime.d.ts +1 -1
- package/types/acorex-platform-themes-default.d.ts +173 -70
- 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-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,28 @@
|
|
|
1
|
+
import * as _acorex_platform_contracts from '@acorex/platform/contracts';
|
|
2
|
+
import { AXPAgentOutputKind, AXPOutputTranscriptSegmentId, AXPUserReference, AXPExecuteCommand, AXPLogoConfig, AXPFileListItem, AXPFileStorageCreateRequest, AXPFileStorageInfo, AXPFileStorageUpdateRequest, AXPFileStorageFindRequest, AXPFileManyStorageInfo, AXPMetaDataDefinition, AXPIntegrationProviderDefinition, AXPIntegrationRuntimeContext, AXPIntegrationSecretPayload, AXPIntegrationAuthContext, AXPIntegrationResolvedCredentials, AXPMetaData, AXPSystemActionType, AXPMultiLanguageString, AXPApplicationUserReference, AXPEntityReference, AXPPlatformScopeKey, AXPOptionsData, AXPWidgetTriggers, AXPValueTransformerFunctions, AXPValidationRules, AXPGridLayoutOptions, AXPPlatformScope, 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';
|
|
13
15
|
import * as i2 from '@acorex/platform/workflow';
|
|
14
16
|
import { AXPWorkflowAction, AXPWorkflowContext, AXPWorkflow } from '@acorex/platform/workflow';
|
|
17
|
+
import * as i3 from '@acorex/components/popup';
|
|
18
|
+
import { AXPopupService } from '@acorex/components/popup';
|
|
15
19
|
import * as i5 from '@acorex/components/toast';
|
|
16
|
-
import {
|
|
20
|
+
import { AXDataSourceFilterOption, AXDataSourceOperator, AXStyleColorType } from '@acorex/cdk/common';
|
|
17
21
|
import * as rxjs from 'rxjs';
|
|
18
22
|
import { Subject } from 'rxjs';
|
|
19
23
|
import * as _ngrx_signals from '@ngrx/signals';
|
|
20
24
|
import { AXTranslationService } from '@acorex/core/translation';
|
|
21
|
-
import {
|
|
25
|
+
import { AXPWidgetNode, AXPWidgetProperty, AXPWidgetTypesMap } from '@acorex/platform/layout/widget-core';
|
|
22
26
|
import { AXLocaleProfile } from '@acorex/core/locale';
|
|
23
27
|
|
|
24
28
|
/** Platform common datasource registry names. */
|
|
@@ -26,10 +30,6 @@ declare const AXPPlatformCommonDataSourceKeys: {
|
|
|
26
30
|
readonly MenuItems: "platform-menu-items";
|
|
27
31
|
};
|
|
28
32
|
|
|
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
33
|
/**
|
|
34
34
|
* Minimal JSON-Schema-like object for native provider hints and local validation.
|
|
35
35
|
*/
|
|
@@ -136,597 +136,6 @@ declare class AXPAppVersionService {
|
|
|
136
136
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPAppVersionService>;
|
|
137
137
|
}
|
|
138
138
|
|
|
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
139
|
interface AXPFilterOperator {
|
|
731
140
|
name: string;
|
|
732
141
|
title: string;
|
|
@@ -1214,7 +623,7 @@ declare class AXPCommonModule {
|
|
|
1214
623
|
/**
|
|
1215
624
|
* @ignore
|
|
1216
625
|
*/
|
|
1217
|
-
constructor(instances: any[], _keyboardShortcutsHelp: AXPKeyboardShortcutsHelpService);
|
|
626
|
+
constructor(instances: any[], _keyboardShortcutsHelp: AXPKeyboardShortcutsHelpService, formatterRegistry: AXFormatterRegistryService);
|
|
1218
627
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXPCommonModule, never>;
|
|
1219
628
|
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
629
|
static ɵinj: i0.ɵɵInjectorDeclaration<AXPCommonModule>;
|
|
@@ -1256,7 +665,9 @@ declare enum AXPCommonSettings {
|
|
|
1256
665
|
ConfirmUnsavedChanges = "Common:Setting:Entity.ConfirmUnsavedChanges",
|
|
1257
666
|
DebugMode = "PlatformDevTools:Setting:Developer.DebugMode",
|
|
1258
667
|
ShowRowIndexColumn = "Common:Setting:Entity.ShowRowIndexColumn",
|
|
1259
|
-
EntityListPersistenceMode = "Common:Setting:Entity.ListPersistenceMode"
|
|
668
|
+
EntityListPersistenceMode = "Common:Setting:Entity.ListPersistenceMode",
|
|
669
|
+
NavigationMode = "Common:Setting:Navigation.Mode",
|
|
670
|
+
MaxOpenTabs = "Common:Setting:Navigation.MaxOpenTabs"
|
|
1260
671
|
}
|
|
1261
672
|
|
|
1262
673
|
declare const AXP_ROOT_CONFIG_TOKEN: InjectionToken<AXPRootConfigs>;
|
|
@@ -1490,6 +901,23 @@ declare class AXPFileActionsService {
|
|
|
1490
901
|
|
|
1491
902
|
declare const UploadFromComputerActionProvider: AXPFileActionProvider;
|
|
1492
903
|
|
|
904
|
+
interface AXPTranslateFormatterOptions extends AXFormatOptions {
|
|
905
|
+
scope?: string;
|
|
906
|
+
lang?: string;
|
|
907
|
+
params?: Record<string, unknown>;
|
|
908
|
+
}
|
|
909
|
+
/**
|
|
910
|
+
* Platform formatter for display text: resolves ML objects, i18n keys (`@scope:key`), and primitives.
|
|
911
|
+
* Register via {@link AXPCommonModule} (auto) or `AXFormatModule.forRoot({ formatters: [AXPTranslateFormatter] })`.
|
|
912
|
+
*/
|
|
913
|
+
declare class AXPTranslateFormatter implements AXFormatter {
|
|
914
|
+
private readonly translationService;
|
|
915
|
+
get name(): string;
|
|
916
|
+
format(value: unknown, options?: AXPTranslateFormatterOptions | string): string;
|
|
917
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPTranslateFormatter, never>;
|
|
918
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPTranslateFormatter>;
|
|
919
|
+
}
|
|
920
|
+
|
|
1493
921
|
declare abstract class AXPFileStorageService {
|
|
1494
922
|
abstract save(request: AXPFileStorageCreateRequest): Promise<AXPFileStorageInfo>;
|
|
1495
923
|
abstract update(request: AXPFileStorageUpdateRequest): Promise<AXPFileStorageInfo>;
|
|
@@ -1576,6 +1004,94 @@ declare class AXPFileTypeProviderService implements AXPFileTypeInfoProvider {
|
|
|
1576
1004
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPFileTypeProviderService>;
|
|
1577
1005
|
}
|
|
1578
1006
|
|
|
1007
|
+
declare class AXPIntegrationProviderContext {
|
|
1008
|
+
private readonly definitions;
|
|
1009
|
+
/**
|
|
1010
|
+
* Registers a provider definition. Throws when duplicate ids are registered.
|
|
1011
|
+
*/
|
|
1012
|
+
register(definition: AXPIntegrationProviderDefinition): void;
|
|
1013
|
+
getDefinitions(): ReadonlyMap<string, AXPIntegrationProviderDefinition>;
|
|
1014
|
+
}
|
|
1015
|
+
|
|
1016
|
+
interface AXPIntegrationProvider {
|
|
1017
|
+
provide(context: AXPIntegrationProviderContext): Promise<void>;
|
|
1018
|
+
}
|
|
1019
|
+
declare const AXP_INTEGRATION_PROVIDER: InjectionToken<AXPIntegrationProvider[]>;
|
|
1020
|
+
interface AXPIntegrationRuntimeProvider {
|
|
1021
|
+
readonly providerId: string;
|
|
1022
|
+
getHooks(): Promise<_acorex_platform_contracts.AXPIntegrationProviderRuntimeHooks>;
|
|
1023
|
+
}
|
|
1024
|
+
declare const AXP_INTEGRATION_RUNTIME_PROVIDER: InjectionToken<AXPIntegrationRuntimeProvider[]>;
|
|
1025
|
+
|
|
1026
|
+
declare class AXPIntegrationProviderRegistryService {
|
|
1027
|
+
private readonly providers;
|
|
1028
|
+
private cache;
|
|
1029
|
+
list(): Promise<AXPIntegrationProviderDefinition[]>;
|
|
1030
|
+
get(id: string): Promise<AXPIntegrationProviderDefinition | null>;
|
|
1031
|
+
getOrThrow(id: string): Promise<AXPIntegrationProviderDefinition>;
|
|
1032
|
+
clearCache(): void;
|
|
1033
|
+
private load;
|
|
1034
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPIntegrationProviderRegistryService, never>;
|
|
1035
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPIntegrationProviderRegistryService>;
|
|
1036
|
+
}
|
|
1037
|
+
|
|
1038
|
+
interface AXPIntegrationSecretRefInput {
|
|
1039
|
+
providerId: string;
|
|
1040
|
+
connectionId: string;
|
|
1041
|
+
tenantId: string;
|
|
1042
|
+
userId: string;
|
|
1043
|
+
authMethodType: string;
|
|
1044
|
+
}
|
|
1045
|
+
interface AXPIntegrationSecretStore {
|
|
1046
|
+
store(ref: AXPIntegrationSecretRefInput, payload: AXPIntegrationSecretPayload): Promise<string>;
|
|
1047
|
+
rotate(secretRef: string, context: AXPIntegrationAuthContext, payload: Partial<AXPIntegrationSecretPayload>): Promise<void>;
|
|
1048
|
+
resolve(secretRef: string, context: AXPIntegrationAuthContext): Promise<AXPIntegrationResolvedCredentials>;
|
|
1049
|
+
revoke(secretRef: string, context: AXPIntegrationAuthContext): Promise<void>;
|
|
1050
|
+
delete(secretRef: string, context: AXPIntegrationAuthContext): Promise<void>;
|
|
1051
|
+
}
|
|
1052
|
+
declare const AXP_INTEGRATION_SECRET_STORE: InjectionToken<AXPIntegrationSecretStore>;
|
|
1053
|
+
interface AXPIntegrationWithClientOptions {
|
|
1054
|
+
providerId: string;
|
|
1055
|
+
connectionScope?: 'user' | 'tenant';
|
|
1056
|
+
connectionKey?: string;
|
|
1057
|
+
requiredCapabilities?: string[];
|
|
1058
|
+
requiredScopes?: string[];
|
|
1059
|
+
}
|
|
1060
|
+
declare abstract class AXPIntegrationRuntimeService {
|
|
1061
|
+
abstract getProvider(id: string): Promise<AXPIntegrationProviderDefinition>;
|
|
1062
|
+
abstract listProviders(): Promise<AXPIntegrationProviderDefinition[]>;
|
|
1063
|
+
abstract getConnection(options: AXPIntegrationWithClientOptions): Promise<_acorex_platform_contracts.AXPSafeIntegrationConnectionDto>;
|
|
1064
|
+
abstract withClient<T>(options: AXPIntegrationWithClientOptions, fn: (client: unknown, ctx: AXPIntegrationRuntimeContext) => Promise<T>): Promise<T>;
|
|
1065
|
+
abstract buildRuntimeContext(connection: _acorex_platform_contracts.AXPSafeIntegrationConnectionDto & {
|
|
1066
|
+
secretRef: string;
|
|
1067
|
+
}): Promise<AXPIntegrationRuntimeContext>;
|
|
1068
|
+
}
|
|
1069
|
+
interface AXPIntegrationOAuthStartInput {
|
|
1070
|
+
providerId: string;
|
|
1071
|
+
connectionScope: 'user' | 'tenant';
|
|
1072
|
+
connectionKey: string;
|
|
1073
|
+
displayName: string;
|
|
1074
|
+
redirectUri: string;
|
|
1075
|
+
tenantId: string;
|
|
1076
|
+
userId: string;
|
|
1077
|
+
scopes?: string[];
|
|
1078
|
+
}
|
|
1079
|
+
interface AXPIntegrationOAuthCompleteInput {
|
|
1080
|
+
providerId: string;
|
|
1081
|
+
state: string;
|
|
1082
|
+
code: string;
|
|
1083
|
+
}
|
|
1084
|
+
declare abstract class AXPIntegrationOAuthService {
|
|
1085
|
+
abstract startAuthorization(input: AXPIntegrationOAuthStartInput): Promise<{
|
|
1086
|
+
redirectUrl: string;
|
|
1087
|
+
state: string;
|
|
1088
|
+
}>;
|
|
1089
|
+
abstract completeCallback(input: AXPIntegrationOAuthCompleteInput): Promise<{
|
|
1090
|
+
connectionId: string;
|
|
1091
|
+
}>;
|
|
1092
|
+
}
|
|
1093
|
+
declare const AXP_INTEGRATION_OAUTH_SERVICE: InjectionToken<AXPIntegrationOAuthService>;
|
|
1094
|
+
|
|
1579
1095
|
declare class AXPStickyDirective {
|
|
1580
1096
|
private element;
|
|
1581
1097
|
private renderer;
|
|
@@ -2140,6 +1656,14 @@ interface AXPSearchAction extends Partial<AXPCommandActionLook> {
|
|
|
2140
1656
|
separated?: boolean;
|
|
2141
1657
|
}
|
|
2142
1658
|
|
|
1659
|
+
/**
|
|
1660
|
+
* Optional hook to resolve entity search definitions on demand (e.g. Module.X.Entity).
|
|
1661
|
+
*/
|
|
1662
|
+
interface AXPSearchDefinitionLazyResolver {
|
|
1663
|
+
resolve(definitionName: string): Promise<AXPSearchDefinition | null>;
|
|
1664
|
+
}
|
|
1665
|
+
declare const AXP_SEARCH_DEFINITION_LAZY_RESOLVER: InjectionToken<AXPSearchDefinitionLazyResolver>;
|
|
1666
|
+
|
|
2143
1667
|
declare class AXPSearchDefinitionProviderContext {
|
|
2144
1668
|
private definitions;
|
|
2145
1669
|
private definitionMap;
|
|
@@ -2171,11 +1695,13 @@ interface AXPSearchDefinitionProvider {
|
|
|
2171
1695
|
declare const AXP_SEARCH_DEFINITION_PROVIDER: InjectionToken<AXPSearchDefinitionProvider[]>;
|
|
2172
1696
|
declare class AXPSearchDefinitionProviderService {
|
|
2173
1697
|
private providers;
|
|
1698
|
+
private lazyResolver;
|
|
2174
1699
|
private cache;
|
|
2175
1700
|
private load;
|
|
2176
1701
|
getListAsync(): Promise<AXPSearchDefinition[]>;
|
|
2177
1702
|
getList(): AXPSearchDefinition[];
|
|
2178
1703
|
findDefinition(definitionName: string): AXPSearchDefinition;
|
|
1704
|
+
findDefinitionAsync(definitionName: string): Promise<AXPSearchDefinition | null>;
|
|
2179
1705
|
findDefinitionByGroup(definitionGroup: string): AXPSearchDefinition;
|
|
2180
1706
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXPSearchDefinitionProviderService, never>;
|
|
2181
1707
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPSearchDefinitionProviderService>;
|
|
@@ -2197,6 +1723,7 @@ declare class AXPSearchService {
|
|
|
2197
1723
|
private formatService;
|
|
2198
1724
|
private translationService;
|
|
2199
1725
|
private expressionEvaluator;
|
|
1726
|
+
private contextEvalFactory;
|
|
2200
1727
|
search(text: string): Promise<AXPSearchDisplayGroupResult[]>;
|
|
2201
1728
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXPSearchService, never>;
|
|
2202
1729
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPSearchService>;
|
|
@@ -2214,12 +1741,12 @@ declare function searchInSearchableValue(value: unknown, query: string, locale:
|
|
|
2214
1741
|
* Shallow + nested search over entity/command payloads (skips id / entityName keys).
|
|
2215
1742
|
*/
|
|
2216
1743
|
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;
|
|
1744
|
+
/** Standard display-tier row scope for entity title/search templates. */
|
|
1745
|
+
declare function createEntityRowExpressionScope(data: unknown, contextEvalFactory: AXPContextEvalFactory): AXPExpressionEvaluatorScope;
|
|
2219
1746
|
/**
|
|
2220
1747
|
* Evaluates a normalized entity display template via {@link AXPExpressionEvaluatorService}.
|
|
2221
1748
|
*/
|
|
2222
|
-
declare function evaluateEntityDisplayTemplate(template: string, data: unknown, expressionEvaluator: AXPExpressionEvaluatorService, locale: string, translationService: AXTranslationService): Promise<unknown>;
|
|
1749
|
+
declare function evaluateEntityDisplayTemplate(template: string, data: unknown, expressionEvaluator: AXPExpressionEvaluatorService, locale: string, translationService: AXTranslationService, contextEvalFactory: AXPContextEvalFactory): Promise<unknown>;
|
|
2223
1750
|
/**
|
|
2224
1751
|
* Best display string from row values that contain the active search query (deep-match fallback).
|
|
2225
1752
|
*/
|
|
@@ -2227,40 +1754,16 @@ declare function resolveQueryMatchingDisplayText(value: unknown, query: string,
|
|
|
2227
1754
|
/**
|
|
2228
1755
|
* Resolves entity search display templates; coerces multi-language field values to readable text.
|
|
2229
1756
|
*/
|
|
2230
|
-
declare function resolveSearchDisplayTemplate(template: string | undefined, data: unknown, locale: string, translationService: AXTranslationService, formatService: AXFormatService, expressionEvaluator: AXPExpressionEvaluatorService): Promise<AXPMultiLanguageString>;
|
|
1757
|
+
declare function resolveSearchDisplayTemplate(template: string | undefined, data: unknown, locale: string, translationService: AXTranslationService, formatService: AXFormatService, expressionEvaluator: AXPExpressionEvaluatorService, contextEvalFactory: AXPContextEvalFactory): Promise<AXPMultiLanguageString>;
|
|
2231
1758
|
|
|
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
1759
|
/**
|
|
2246
|
-
*
|
|
1760
|
+
* Modify/edit popup chrome: `{action} {individual} ({update.title ?? single.title})` when a record template exists.
|
|
2247
1761
|
*/
|
|
2248
|
-
declare function
|
|
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
|
-
/**
|
|
2256
|
-
* Row title template chain aligned with entity layouts.
|
|
2257
|
-
* Priority: `interfaces.master.single.title` → `formats.searchResult.title` → `formats.individual`.
|
|
2258
|
-
*/
|
|
2259
|
-
declare function resolveEntityRowTitleTemplate(entity: AXPEntity | null | undefined): string | undefined;
|
|
1762
|
+
declare function resolveEntityModifyPopupTitle(entity: AXPEntity, recordData: unknown, translationService: AXTranslationService, formatService: AXFormatService, expressionEvaluator: AXPExpressionEvaluatorService, contextEvalFactory: AXPContextEvalFactory, actionTitleKey?: string): Promise<string>;
|
|
2260
1763
|
/**
|
|
2261
1764
|
* Resolves an entity row title using entity-driven fallback templates and property paths.
|
|
2262
1765
|
*/
|
|
2263
|
-
declare function resolveEntitySearchTitleFallback(format: Pick<AXPSearchDefinitionDisplayFormat, 'titleFallbackTemplates' | 'titleFallbackFields'>, data: unknown, locale: string, translationService: AXTranslationService, formatService: AXFormatService, expressionEvaluator: AXPExpressionEvaluatorService): Promise<string>;
|
|
1766
|
+
declare function resolveEntitySearchTitleFallback(format: Pick<AXPSearchDefinitionDisplayFormat, 'titleFallbackTemplates' | 'titleFallbackFields'>, data: unknown, locale: string, translationService: AXTranslationService, formatService: AXFormatService, expressionEvaluator: AXPExpressionEvaluatorService, contextEvalFactory: AXPContextEvalFactory): Promise<string>;
|
|
2264
1767
|
|
|
2265
1768
|
interface AXPResolveEntityRowDisplayTitleOptions {
|
|
2266
1769
|
/** Row or form context data used to evaluate title templates. */
|
|
@@ -2272,12 +1775,6 @@ interface AXPResolveEntityRowDisplayTitleOptions {
|
|
|
2272
1775
|
/** Widget/interface options — may contain `popupTitle` or `titleTemplate`. */
|
|
2273
1776
|
widgetOptions?: Record<string, unknown> | undefined;
|
|
2274
1777
|
}
|
|
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
1778
|
/** Resolves a row field or format result to a plain display string for the active locale. */
|
|
2282
1779
|
declare function resolveEntityRowDisplayText(value: unknown, activeLang: string): string;
|
|
2283
1780
|
/**
|
|
@@ -2485,6 +1982,7 @@ declare class AXPSettingDefinitionSectionBuilder {
|
|
|
2485
1982
|
isRequired?: boolean;
|
|
2486
1983
|
isInherited?: boolean;
|
|
2487
1984
|
isEncrypted?: boolean;
|
|
1985
|
+
requiresPageRefresh?: boolean;
|
|
2488
1986
|
defaultValue?: unknown;
|
|
2489
1987
|
valueTransforms?: AXPValueTransformerFunctions;
|
|
2490
1988
|
validationRules?: AXPValidationRules;
|
|
@@ -2540,6 +2038,8 @@ interface AXPSettingDefinition {
|
|
|
2540
2038
|
isRequired?: boolean;
|
|
2541
2039
|
isInherited?: boolean;
|
|
2542
2040
|
isEncrypted?: boolean;
|
|
2041
|
+
/** When true, saving this setting from the settings page reloads the browser. */
|
|
2042
|
+
requiresPageRefresh?: boolean;
|
|
2543
2043
|
defaultValue?: unknown;
|
|
2544
2044
|
value?: unknown;
|
|
2545
2045
|
}
|
|
@@ -2585,6 +2085,7 @@ declare class AXPSettingDefinitionProviderService {
|
|
|
2585
2085
|
getList(scope: AXPPlatformScopeKey): AXPSettingDefinitionGroup[];
|
|
2586
2086
|
defaultValues(): Promise<Record<string, unknown>>;
|
|
2587
2087
|
settingScopeByKey(): Promise<Record<string, AXPPlatformScope>>;
|
|
2088
|
+
requiresPageRefreshByKey(): Promise<Record<string, boolean>>;
|
|
2588
2089
|
findGroup(scope: AXPPlatformScopeKey, groupName: string): AXPGroupSearchResult;
|
|
2589
2090
|
private searchRecursive;
|
|
2590
2091
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXPSettingDefinitionProviderService, never>;
|
|
@@ -2693,37 +2194,6 @@ declare class AXPRegionalCalendarService extends AXCalendarService {
|
|
|
2693
2194
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPRegionalCalendarService>;
|
|
2694
2195
|
}
|
|
2695
2196
|
|
|
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
2197
|
interface AXPUnsavedChangesConfirmOptions {
|
|
2728
2198
|
/** When false, skips confirm even if the global setting is enabled (e.g. dialog `confirmCloseWhenDirty`). */
|
|
2729
2199
|
enabled?: boolean;
|
|
@@ -2802,116 +2272,6 @@ declare class AXPUnsavedChangesPopstateService {
|
|
|
2802
2272
|
|
|
2803
2273
|
declare function createUnsavedChangesCanDeactivateGuard<T extends AXPUnsavedChangesCanDeactivate>(): CanDeactivateFn<T>;
|
|
2804
2274
|
|
|
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
2275
|
/**
|
|
2916
2276
|
* Injection token for status providers
|
|
2917
2277
|
* Use with multi: true to register multiple providers
|
|
@@ -3016,310 +2376,285 @@ declare class AXPStatusDefinitionProviderService {
|
|
|
3016
2376
|
}
|
|
3017
2377
|
|
|
3018
2378
|
/**
|
|
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
|
-
}>;
|
|
2379
|
+
* Builds a stable tab key from a router URL.
|
|
2380
|
+
* Path segments define identity; query params are excluded so the same entity record
|
|
2381
|
+
* or list reuses one tab even when filters or refresh tokens change.
|
|
2382
|
+
*/
|
|
2383
|
+
declare function axpBuildTabKey(url: string): string;
|
|
2384
|
+
/** Normalizes a router URL for storage and navigation. */
|
|
2385
|
+
declare function normalizeRouterUrl(url: string): string;
|
|
2386
|
+
/** Human-readable fallback title from the URL path. */
|
|
2387
|
+
declare function axpFallbackTabTitle(url: string): string;
|
|
2388
|
+
|
|
2389
|
+
type AXPNavigationMode = 'simple' | 'tabular';
|
|
2390
|
+
declare const AXP_HOME_TAB_KEY = "axp:home";
|
|
2391
|
+
/** Route `data` key for tab-navigation behavior (`data.tab`). */
|
|
2392
|
+
declare const AXP_TAB_ROUTE_DATA_KEY = "tab";
|
|
3293
2393
|
/**
|
|
3294
|
-
*
|
|
3295
|
-
*
|
|
3296
|
-
* @returns System status definition or undefined
|
|
2394
|
+
* Set `data.tab = true` on the route that should act as the tab boundary.
|
|
2395
|
+
* Child navigations under this route update the same tab rather than opening a new one.
|
|
3297
2396
|
*/
|
|
3298
|
-
|
|
2397
|
+
type AXPTabRouteData = true;
|
|
2398
|
+
interface AXPTabDescriptor {
|
|
2399
|
+
/** Stable dedupe key derived from the route (path-based, query excluded). */
|
|
2400
|
+
key: string;
|
|
2401
|
+
/** Full router URL including query string and fragment. */
|
|
2402
|
+
url: string;
|
|
2403
|
+
title: string;
|
|
2404
|
+
icon?: string;
|
|
2405
|
+
pinned: boolean;
|
|
2406
|
+
closable: boolean;
|
|
2407
|
+
/** Timestamp used for LRU eviction when max tabs is reached. */
|
|
2408
|
+
openedAt: number;
|
|
2409
|
+
/** Updated whenever the tab becomes active. */
|
|
2410
|
+
lastActivatedAt: number;
|
|
2411
|
+
}
|
|
2412
|
+
interface AXPTabSessionState {
|
|
2413
|
+
tabs: AXPTabDescriptor[];
|
|
2414
|
+
activeTabKey: string | null;
|
|
2415
|
+
}
|
|
2416
|
+
/** Optional hook for confirming closure of a cached background tab (no router navigation). */
|
|
2417
|
+
interface AXPTabCloseConfirm {
|
|
2418
|
+
onBeforeTabClose(): boolean | Promise<boolean>;
|
|
2419
|
+
}
|
|
2420
|
+
|
|
2421
|
+
declare class AXPTabNavigationService {
|
|
2422
|
+
private readonly router;
|
|
2423
|
+
private readonly settingsService;
|
|
2424
|
+
private readonly deviceService;
|
|
2425
|
+
private readonly menuService;
|
|
2426
|
+
private readonly homePageService;
|
|
2427
|
+
private readonly sessionService;
|
|
2428
|
+
private readonly routeCacheRegistry;
|
|
2429
|
+
private readonly tabPreviewService;
|
|
2430
|
+
private readonly unsavedChangesConfirm;
|
|
2431
|
+
private readonly destroyRef;
|
|
2432
|
+
private readonly navigationMode;
|
|
2433
|
+
private readonly maxOpenTabs;
|
|
2434
|
+
private readonly tabs;
|
|
2435
|
+
private readonly activeTabKey;
|
|
2436
|
+
private suppressNavigationSync;
|
|
2437
|
+
/** Effective mode: mobile always uses simple navigation. */
|
|
2438
|
+
readonly effectiveMode: i0.Signal<AXPNavigationMode>;
|
|
2439
|
+
readonly isTabBarVisible: i0.Signal<boolean>;
|
|
2440
|
+
readonly tabList: i0.Signal<AXPTabDescriptor[]>;
|
|
2441
|
+
readonly activeKey: i0.Signal<string | null>;
|
|
2442
|
+
constructor();
|
|
2443
|
+
/** Navigates to a path, opening or activating a tab when tabular mode is active. */
|
|
2444
|
+
navigate(path: string, extras?: NavigationExtras): Promise<boolean>;
|
|
2445
|
+
/** Opens a tab or activates an existing tab with the same key. */
|
|
2446
|
+
openOrActivateTab(url: string, title?: string): Promise<void>;
|
|
2447
|
+
/**
|
|
2448
|
+
* Activates a tab and navigates to its URL. The previously active page is detached and cached by
|
|
2449
|
+
* the reuse strategy, so its state is preserved; this tab's cached instance is reattached when
|
|
2450
|
+
* available instead of being re-rendered.
|
|
2451
|
+
*
|
|
2452
|
+
* @param suspendDeactivateGuard When true (default for tab switches), unsaved-changes prompts are
|
|
2453
|
+
* skipped so switching tabs keeps a dirty page alive. Closing a tab passes false to keep the prompt.
|
|
2454
|
+
*/
|
|
2455
|
+
activateTabKey(key: string, urlOverride?: string, suspendDeactivateGuard?: boolean): Promise<void>;
|
|
2456
|
+
/** Closes a tab and navigates to a neighbor when the active tab is closed. */
|
|
2457
|
+
closeTab(key: string): Promise<void>;
|
|
2458
|
+
/** Closes every closable tab except the given key (pinned tabs are kept). */
|
|
2459
|
+
closeOtherTabs(keepKey: string): Promise<void>;
|
|
2460
|
+
/** Closes all closable tabs (pinned tabs are kept). */
|
|
2461
|
+
closeAllTabs(): Promise<void>;
|
|
2462
|
+
/** Toggles whether a tab stays pinned in the strip (home tab is always pinned). */
|
|
2463
|
+
toggleTabPinned(key: string): void;
|
|
2464
|
+
/**
|
|
2465
|
+
* Reorders tabs after drag-and-drop. Home stays first; pinned and unpinned tabs cannot cross groups.
|
|
2466
|
+
*/
|
|
2467
|
+
reorderTabs(previousIndex: number, currentIndex: number): void;
|
|
2468
|
+
/** Updates a tab title from the current page chrome (e.g. breadcrumb trail). */
|
|
2469
|
+
syncTabTitle(key: string, title: string): void;
|
|
2470
|
+
/** Updates a tab icon from the current page chrome or menu metadata. */
|
|
2471
|
+
syncTabIcon(key: string, icon: string): void;
|
|
2472
|
+
/** Closes multiple tabs in one update; navigates once when the active tab is closed. */
|
|
2473
|
+
private closeTabs;
|
|
2474
|
+
/**
|
|
2475
|
+
* Prompts before closing a cached background tab. Uses the page's {@link AXPTabCloseConfirm}
|
|
2476
|
+
* hook when available, otherwise falls back to the tab preview dirty flag.
|
|
2477
|
+
*/
|
|
2478
|
+
private confirmBackgroundTabClose;
|
|
2479
|
+
/**
|
|
2480
|
+
* Navigates away from the active tab before it is removed so canDeactivate runs while the tab is still visible.
|
|
2481
|
+
* Returns false when navigation was cancelled (e.g. unsaved-changes confirmation declined).
|
|
2482
|
+
*/
|
|
2483
|
+
private navigateAwayBeforeClosingActiveTab;
|
|
2484
|
+
/** Prefers the tab to the right after removal, then the tab to the left (browser-like). */
|
|
2485
|
+
private resolveFallbackTabIndex;
|
|
2486
|
+
/**
|
|
2487
|
+
* Keeps the route cache registry aligned with the current navigation mode and the set of open
|
|
2488
|
+
* tabs. Cached page instances for closed/evicted tabs are destroyed by the registry.
|
|
2489
|
+
*/
|
|
2490
|
+
private bindRouteCacheSync;
|
|
2491
|
+
private bindRouterEvents;
|
|
2492
|
+
private handleNavigationEnd;
|
|
2493
|
+
private loadSettings;
|
|
2494
|
+
private bindSettingsChanges;
|
|
2495
|
+
private bindSessionChanges;
|
|
2496
|
+
private ensureHomeTab;
|
|
2497
|
+
private insertTab;
|
|
2498
|
+
/** Home first; preserves session order for the remaining tabs. */
|
|
2499
|
+
private ensureHomeTabFirst;
|
|
2500
|
+
private getLastPinnedTabIndex;
|
|
2501
|
+
/** Home first, then other pinned tabs, then unpinned tabs (stable by openedAt within each group). */
|
|
2502
|
+
private normalizeTabOrder;
|
|
2503
|
+
private enforceMaxTabs;
|
|
2504
|
+
private createTabDescriptor;
|
|
2505
|
+
/** Finds a tab by scoped key or legacy full-path key for the same URL. */
|
|
2506
|
+
private findTabForUrl;
|
|
2507
|
+
/** True when the URL is the configured application home page (e.g. dashboard). */
|
|
2508
|
+
private isHomePageUrl;
|
|
2509
|
+
private resolveHomeUrl;
|
|
2510
|
+
/** Activates the pinned home tab for a home-page URL instead of opening a duplicate tab. */
|
|
2511
|
+
private activateHomeTabForUrl;
|
|
2512
|
+
/** Drops non-home tabs that duplicate the home page URL after session restore. */
|
|
2513
|
+
private removeDuplicateHomeUrlTabs;
|
|
2514
|
+
/** Rewrites a tab key when route-scope resolution changes (e.g. profile sub-routes). */
|
|
2515
|
+
private migrateTabKey;
|
|
2516
|
+
/** Collapses restored tabs that share the same scoped route key. */
|
|
2517
|
+
private normalizeRestoredTabKeys;
|
|
2518
|
+
private updateTabUrl;
|
|
2519
|
+
private updateTabTitle;
|
|
2520
|
+
private updateTabIcon;
|
|
2521
|
+
private touchTab;
|
|
2522
|
+
private resolveTabTitle;
|
|
2523
|
+
private resolveTabIcon;
|
|
2524
|
+
private resolveHomePath;
|
|
2525
|
+
private resolveHomeTitle;
|
|
2526
|
+
private isGenericHomeTitle;
|
|
2527
|
+
private syncCurrentRouteAsTab;
|
|
2528
|
+
private normalizeMaxTabs;
|
|
2529
|
+
private sessionStorageKey;
|
|
2530
|
+
private persistSession;
|
|
2531
|
+
private clearSession;
|
|
2532
|
+
private restoreSessionIfNeeded;
|
|
2533
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPTabNavigationService, never>;
|
|
2534
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPTabNavigationService>;
|
|
2535
|
+
}
|
|
2536
|
+
|
|
2537
|
+
/** Structured hover-card payload for a tab (kept in memory; not session-persisted). */
|
|
2538
|
+
interface AXPTabStructuredPreview {
|
|
2539
|
+
/** Primary label (usually page title or breadcrumb trail). */
|
|
2540
|
+
title: string;
|
|
2541
|
+
/** Optional page description or secondary line. */
|
|
2542
|
+
subtitle?: string;
|
|
2543
|
+
/** Full router URL for the tab. */
|
|
2544
|
+
url: string;
|
|
2545
|
+
icon?: string;
|
|
2546
|
+
/** Whether the cached page reports unsaved user edits. */
|
|
2547
|
+
isDirty: boolean;
|
|
2548
|
+
/** Breadcrumb segments excluding home (for the hover card). */
|
|
2549
|
+
breadcrumbTrail: string[];
|
|
2550
|
+
}
|
|
2551
|
+
|
|
3299
2552
|
/**
|
|
3300
|
-
*
|
|
3301
|
-
*
|
|
3302
|
-
* @param statusType - Status type string
|
|
3303
|
-
* @returns Color and icon for the status
|
|
2553
|
+
* In-memory structured previews for tab hover cards and dirty indicators.
|
|
2554
|
+
* Populated by active/cached pages via {@link AXPPageLayoutBaseComponent}.
|
|
3304
2555
|
*/
|
|
3305
|
-
declare
|
|
3306
|
-
|
|
3307
|
-
|
|
3308
|
-
|
|
2556
|
+
declare class AXPTabPreviewService {
|
|
2557
|
+
private readonly previewMap;
|
|
2558
|
+
readonly previews: i0.Signal<Readonly<Record<string, AXPTabStructuredPreview>>>;
|
|
2559
|
+
setPreview(key: string, preview: AXPTabStructuredPreview): void;
|
|
2560
|
+
patchPreview(key: string, patch: Partial<AXPTabStructuredPreview>): void;
|
|
2561
|
+
getPreview(key: string): AXPTabStructuredPreview | undefined;
|
|
2562
|
+
isTabDirty(key: string): boolean;
|
|
2563
|
+
clearPreview(key: string): void;
|
|
2564
|
+
clearPreviews(keys: Iterable<string>): void;
|
|
2565
|
+
clearAll(): void;
|
|
2566
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPTabPreviewService, never>;
|
|
2567
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPTabPreviewService>;
|
|
2568
|
+
}
|
|
2569
|
+
|
|
2570
|
+
/**
|
|
2571
|
+
* Holds detached Angular route component instances keyed by tab key so tabular navigation can
|
|
2572
|
+
* preserve a page's full state (data-table selection, scroll, unsaved form values, etc.) while it
|
|
2573
|
+
* is in the background, then reattach it without re-rendering.
|
|
2574
|
+
*
|
|
2575
|
+
* The registry has no `Router` dependency on purpose: it is consumed by the {@link RouteReuseStrategy}
|
|
2576
|
+
* implementation, so depending on `Router` here would create a construction-time cycle.
|
|
2577
|
+
*/
|
|
2578
|
+
declare class AXPTabRouteCacheRegistry {
|
|
2579
|
+
private readonly handles;
|
|
2580
|
+
private openKeys;
|
|
2581
|
+
private enabled;
|
|
2582
|
+
private deactivateGuardSuspended;
|
|
2583
|
+
/**
|
|
2584
|
+
* Runs `action` while unsaved-changes `canDeactivate` guards are suspended, so switching between
|
|
2585
|
+
* tabs preserves a dirty page without prompting. Closing a tab does not use this path, so the
|
|
2586
|
+
* prompt still appears there.
|
|
2587
|
+
*/
|
|
2588
|
+
runWithSuspendedDeactivateGuards<T>(action: () => Promise<T>): Promise<T>;
|
|
2589
|
+
isDeactivateGuardSuspended(): boolean;
|
|
2590
|
+
/** Enables caching (tabular mode). Disabling clears and destroys every cached component. */
|
|
2591
|
+
setEnabled(enabled: boolean): void;
|
|
2592
|
+
isEnabled(): boolean;
|
|
2593
|
+
/**
|
|
2594
|
+
* Reconciles open scoped tab keys and active tab URLs. Cached handles whose key is not an open
|
|
2595
|
+
* scoped tab key, an active tab URL, or a child path under an open scoped tab are destroyed.
|
|
2596
|
+
*/
|
|
2597
|
+
syncOpenKeys(scopedKeys: string[], activeTabUrls?: string[]): void;
|
|
2598
|
+
isOpen(key: string): boolean;
|
|
2599
|
+
/**
|
|
2600
|
+
* Returns the live component instance for a cached background tab, when available.
|
|
2601
|
+
* Matches the tab key directly or any cached handle under a scoped tab prefix.
|
|
2602
|
+
*/
|
|
2603
|
+
getComponentInstance<T>(key: string): T | null;
|
|
2604
|
+
/**
|
|
2605
|
+
* Caches a detached background handle. Overwrites without destroying the previous handle: on a
|
|
2606
|
+
* repeat visit Angular hands back a new handle object wrapping the same live `componentRef`, so
|
|
2607
|
+
* destroying the old one would destroy the live component and corrupt the view (NG0922).
|
|
2608
|
+
*/
|
|
2609
|
+
store(key: string, handle: DetachedRouteHandle): void;
|
|
2610
|
+
/**
|
|
2611
|
+
* Returns the cached handle without mutating the map. Angular reads a handle twice per
|
|
2612
|
+
* navigation (once while building the future state, once while attaching), so `retrieve` must be
|
|
2613
|
+
* idempotent; the handle is released afterwards via {@link release} when Angular calls
|
|
2614
|
+
* `store(snapshot, null)`.
|
|
2615
|
+
*/
|
|
2616
|
+
retrieve(key: string): DetachedRouteHandle | null;
|
|
2617
|
+
/**
|
|
2618
|
+
* Drops a handle that the router has just reattached (it is now a live foreground view, so it
|
|
2619
|
+
* must not be destroyed). The map keeps only truly backgrounded handles.
|
|
2620
|
+
*/
|
|
2621
|
+
release(key: string): void;
|
|
2622
|
+
has(key: string): boolean;
|
|
2623
|
+
/** Destroys and removes a single cached handle (used when a tab closes). */
|
|
2624
|
+
evict(key: string): void;
|
|
2625
|
+
/** Destroys and removes every cached handle. */
|
|
2626
|
+
clear(): void;
|
|
2627
|
+
private readComponentInstance;
|
|
2628
|
+
private destroyHandle;
|
|
2629
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPTabRouteCacheRegistry, never>;
|
|
2630
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPTabRouteCacheRegistry>;
|
|
2631
|
+
}
|
|
2632
|
+
|
|
3309
2633
|
/**
|
|
3310
|
-
*
|
|
3311
|
-
* using the system statuses from the core module.
|
|
3312
|
-
* @param statusType - Status type string
|
|
3313
|
-
* @returns Complete status information as AXPStatusDefinition
|
|
2634
|
+
* Returns true when the URL represents an in-app page that may appear in the tab bar.
|
|
3314
2635
|
*/
|
|
3315
|
-
declare function
|
|
2636
|
+
declare function axpIsTabEligibleUrl(url: string): boolean;
|
|
2637
|
+
|
|
2638
|
+
/** True when the route declares itself as a scoped tab root (`data.tab = true`). */
|
|
2639
|
+
declare function axpHasTabScope(data: Record<string, unknown> | undefined): boolean;
|
|
2640
|
+
/** Resolved URL path for a snapshot (no query or fragment). */
|
|
2641
|
+
declare function axpPathFromSnapshot(snapshot: ActivatedRouteSnapshot): string;
|
|
2642
|
+
/** Returns the leaf snapshot under the router state root. */
|
|
2643
|
+
declare function axpGetLeafRouteSnapshot(root: ActivatedRouteSnapshot): ActivatedRouteSnapshot;
|
|
3316
2644
|
/**
|
|
3317
|
-
*
|
|
3318
|
-
*
|
|
3319
|
-
* @param overrides - Optional overrides for the status definition
|
|
3320
|
-
* @returns AXPStatusDefinition
|
|
2645
|
+
* Resolves the tab dedupe key from an activated route tree.
|
|
2646
|
+
* Uses the nearest ancestor with `data.tab = true`; otherwise the leaf path.
|
|
3321
2647
|
*/
|
|
3322
|
-
declare function
|
|
2648
|
+
declare function axpResolveTabKeyFromSnapshot(leaf: ActivatedRouteSnapshot): string;
|
|
2649
|
+
/**
|
|
2650
|
+
* Resolves a tab key for the given URL (or the current router URL).
|
|
2651
|
+
* Prefers the live route snapshot when it matches the target URL; otherwise matches route config.
|
|
2652
|
+
*/
|
|
2653
|
+
declare function axpResolveTabKey(router: Router, url?: string): string;
|
|
2654
|
+
/**
|
|
2655
|
+
* Matches a URL path against registered routes and resolves the tab key from `data.tab`.
|
|
2656
|
+
*/
|
|
2657
|
+
declare function axpResolveTabKeyFromRouteConfig(routes: Routes, pathOnly: string): string | null;
|
|
3323
2658
|
|
|
3324
2659
|
interface AXPTokenDefinition {
|
|
3325
2660
|
name: string;
|
|
@@ -3622,6 +2957,7 @@ declare const AXPReloadEvent: {
|
|
|
3622
2957
|
};
|
|
3623
2958
|
declare class AXPWorkflowNavigateAction extends AXPWorkflowAction {
|
|
3624
2959
|
private router;
|
|
2960
|
+
private tabNavigation;
|
|
3625
2961
|
execute(context: AXPWorkflowContext): Promise<void>;
|
|
3626
2962
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXPWorkflowNavigateAction, never>;
|
|
3627
2963
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPWorkflowNavigateAction>;
|
|
@@ -3655,7 +2991,7 @@ declare class AXPReloadAction extends AXPWorkflowAction {
|
|
|
3655
2991
|
}
|
|
3656
2992
|
|
|
3657
2993
|
declare class AXPWorkflowRouterNavigateAction extends AXPWorkflowAction {
|
|
3658
|
-
private
|
|
2994
|
+
private readonly tabNavigation;
|
|
3659
2995
|
execute(context: AXPWorkflowContext): Promise<void>;
|
|
3660
2996
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXPWorkflowRouterNavigateAction, never>;
|
|
3661
2997
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPWorkflowRouterNavigateAction>;
|
|
@@ -3669,5 +3005,5 @@ declare class AXMWorkflowErrorHandler implements AXPErrorHandler {
|
|
|
3669
3005
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXMWorkflowErrorHandler>;
|
|
3670
3006
|
}
|
|
3671
3007
|
|
|
3672
|
-
export { ALL_DEFAULT_OPERATORS, AXMWorkflowErrorHandler, AXPAppVersionService, AXPBackgroundOperationCompletionService, AXPBackgroundOperationEntityStoreService, AXPBackgroundOperationHandler, AXPBackgroundOperationNotificationService, AXPBackgroundOperationProvider, AXPBackgroundOperationRootConfig, AXPBackgroundOperationService, AXPBackgroundOperationSlotComponent, AXPCleanNestedFilters, AXPClipBoardService, AXPCommonModule, AXPCommonSettings, AXPCustomOperatorService, AXPCustomOperatorServiceImpl, AXPDataProvider, AXPDebugService, AXPDefaultMultiLanguageConfigService, AXPDialogConfirmAction,
|
|
3673
|
-
export type { AXCFileUploaderAction, AXCFileUploaderActionsPayload, AXCFileUploaderCapabilities,
|
|
3008
|
+
export { ALL_DEFAULT_OPERATORS, AXMWorkflowErrorHandler, AXPAppVersionService, AXPBackgroundOperationCompletionService, AXPBackgroundOperationEntityStoreService, AXPBackgroundOperationHandler, AXPBackgroundOperationNotificationService, AXPBackgroundOperationProvider, AXPBackgroundOperationRootConfig, AXPBackgroundOperationService, AXPBackgroundOperationSlotComponent, AXPCleanNestedFilters, AXPClipBoardService, AXPCommonModule, AXPCommonSettings, AXPCustomOperatorService, AXPCustomOperatorServiceImpl, AXPDataProvider, AXPDebugService, 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_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_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, axpMenuPathsMatch, axpNavigateAppPath, axpParseAppPath, axpPathFromSnapshot, axpRedirectToNotFound, axpRedirectToUnauthorized, axpReplaceEntityListRouteQueryParams, axpResolveTabKey, axpResolveTabKeyFromRouteConfig, axpResolveTabKeyFromSnapshot, backgroundOperationEntityFactory, coerceAXPSettingRawValue, coerceAXPSettingRawValueByKind, configPlatform, createBackgroundOperationStore, createEntityCommandOptions, createEntityRowExpressionScope, createEntitySearchCommand, createMenuContext, createMenuMiddleware, createUnsavedChangesCanDeactivateGuard, downloadGraphicFromElement, evaluateEntityDisplayTemplate, findManualPresetIdByOperation, formatEntityRowDisplayTitle, inferSettingCoercionKind, normalizePositiveNumberOption, normalizeRouterUrl, peelSettingValueKey, printGraphicFromElement, provideDynamicHomePage, provideMenuMiddleware, resolveDateFilterPresets, resolveEntityModifyPopupTitle, resolveEntityRowDisplayText, resolveEntityRowDisplayTitle, resolveEntityRowDisplayTitleFromColumnContext, resolveEntitySearchTitleFallback, resolveGraphicElementSize, resolveGraphicPrintContent, resolveQueryMatchingDisplayText, resolveSearchDisplayTemplate, resolveSearchableText, searchInRecordValues, searchInSearchableValue, serializeSvgElement, shouldApplyDefaultMultiLanguageToEntityProperty, shouldApplyDefaultMultiLanguageToWidgetNode, shouldApplyDefaultMultiLanguageToWidgetProperty, triggerBrowserDownload, withDefaultMultiLanguageOnWidgetNodeTree, withDefaultMultiLanguageOnWidgetProperty };
|
|
3009
|
+
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, 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, AXPTimeZone, AXPTokenDefinition, AXPTokenDefinitionProvider, AXPTokenDefinitionProviderToken, AXPTranslateFormatterOptions, AXPUnLockRequest, AXPUnsavedChangesCanDeactivate, AXPUnsavedChangesConfirmOptions, AXPUnsavedChangesPopstateSource, AXPVersionChange, AXPVersionEntry, AXPVersionStream, CanonicalChange, CanonicalChangeOp, VersionedFileInfo };
|