@acorex/platform 21.0.0-next.75 → 21.0.0-next.76
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-common-common-settings.provider-Ytey9uhY.mjs → acorex-platform-common-common-settings.provider-ChoT4m4k.mjs} +42 -1
- package/fesm2022/acorex-platform-common-common-settings.provider-ChoT4m4k.mjs.map +1 -0
- package/fesm2022/acorex-platform-common.mjs +1471 -606
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-contracts.mjs +1330 -1
- package/fesm2022/acorex-platform-contracts.mjs.map +1 -1
- package/fesm2022/acorex-platform-core.mjs +208 -5
- package/fesm2022/acorex-platform-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity.mjs +595 -439
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-views.mjs +372 -171
- package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-widget-core.mjs +3 -103
- 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.mjs +11 -6
- package/fesm2022/acorex-platform-layout-widgets.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 +643 -52
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/acorex-platform-workflow.mjs +5 -8
- package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
- package/package.json +1 -1
- package/types/acorex-platform-common.d.ts +337 -1056
- package/types/acorex-platform-contracts.d.ts +1679 -4
- package/types/acorex-platform-core.d.ts +92 -181
- package/types/acorex-platform-layout-components.d.ts +2 -1
- package/types/acorex-platform-layout-entity.d.ts +68 -176
- package/types/acorex-platform-layout-views.d.ts +39 -5
- package/types/acorex-platform-layout-widget-core.d.ts +2 -3
- package/types/acorex-platform-layout-widgets.d.ts +11 -4
- package/types/acorex-platform-themes-default.d.ts +120 -57
- 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-themes-default-entity-master-single-view.component-Br9p5aXT.mjs.map +0 -1
|
@@ -1,24 +1,26 @@
|
|
|
1
|
+
import { AXPAgentOutputKind, AXPOutputTranscriptSegmentId, AXPEntity, AXPFileStorageCreateRequest, AXPFileStorageInfo, AXPFileStorageUpdateRequest, AXPFileStorageFindRequest, AXPFileManyStorageInfo, AXPMetaDataDefinition, AXPCommandActionLook, AXPCommandActionPriority, AXPEntityProperty, AXPStatusProvider, AXPStatusTransition } from '@acorex/platform/contracts';
|
|
2
|
+
export * from '@acorex/platform/contracts';
|
|
3
|
+
export { AXPAgentOutputKind, AXPOutputTranscriptSegmentId } from '@acorex/platform/contracts';
|
|
1
4
|
import * as i0 from '@angular/core';
|
|
2
5
|
import { InjectionToken, EnvironmentProviders, Signal, Injector, ErrorHandler, ModuleWithProviders, EventEmitter, ElementRef, Renderer2, NgZone, ChangeDetectorRef } from '@angular/core';
|
|
3
|
-
import { AXDataSourceOperator, AXStyleColorType, AXDataSourceFilterOption } from '@acorex/cdk/common';
|
|
4
|
-
import * as i3 from '@acorex/components/popup';
|
|
5
|
-
import { AXPopupSizeType, AXPopupService } from '@acorex/components/popup';
|
|
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';
|
|
9
6
|
import * as i4 from '@acorex/core/date-time';
|
|
10
7
|
import { AXCalendarService } from '@acorex/core/date-time';
|
|
11
8
|
import * as _angular_router from '@angular/router';
|
|
12
|
-
import { Route, Routes, UrlTree, Router, RedirectCommand, ActivatedRouteSnapshot, CanActivateFn, CanDeactivateFn, NavigationExtras } from '@angular/router';
|
|
9
|
+
import { Route, Routes, UrlTree, Router, RedirectCommand, ActivatedRouteSnapshot, CanActivateFn, CanDeactivateFn, NavigationExtras, DetachedRouteHandle } from '@angular/router';
|
|
10
|
+
import * as i1 from '@acorex/platform/core';
|
|
11
|
+
import { AXPUserReference, AXPExecuteCommand, AXPKeyboardShortcutHelpEntry, AXPLogoConfig, AXPFileListItem, AXPExpressionEvaluatorScopeProvider, AXPExpressionEvaluatorScopeProviderContext, AXPDataSourceDefinitionProvider, AXPDataSourceDefinition, AXPNavigateActionCommand, AXPMetaData, AXPKeyboardShortcut, AXPSystemActionType, AXPMultiLanguageString, AXPContextEvalFactory, AXPExpressionEvaluatorScope, AXPExpressionEvaluatorService, normalizeExpressionTemplate, AXPApplicationUserReference, AXPEntityReference, AXPPlatformScopeKey, AXPOptionsData, AXPWidgetTriggers, AXPValueTransformerFunctions, AXPValidationRules, AXPGridLayoutOptions, AXPPlatformScope } from '@acorex/platform/core';
|
|
12
|
+
import { AXFormatterRegistryService, AXFormatter, AXFormatOptions, AXFormatService } from '@acorex/core/format';
|
|
13
13
|
import * as i2 from '@acorex/platform/workflow';
|
|
14
14
|
import { AXPWorkflowAction, AXPWorkflowContext, AXPWorkflow } from '@acorex/platform/workflow';
|
|
15
|
+
import * as i3 from '@acorex/components/popup';
|
|
16
|
+
import { AXPopupService } from '@acorex/components/popup';
|
|
15
17
|
import * as i5 from '@acorex/components/toast';
|
|
16
|
-
import {
|
|
18
|
+
import { AXDataSourceFilterOption, AXDataSourceOperator, AXStyleColorType } from '@acorex/cdk/common';
|
|
17
19
|
import * as rxjs from 'rxjs';
|
|
18
20
|
import { Subject } from 'rxjs';
|
|
19
21
|
import * as _ngrx_signals from '@ngrx/signals';
|
|
20
22
|
import { AXTranslationService } from '@acorex/core/translation';
|
|
21
|
-
import {
|
|
23
|
+
import { AXPWidgetNode, AXPWidgetProperty, AXPWidgetTypesMap } from '@acorex/platform/layout/widget-core';
|
|
22
24
|
import { AXLocaleProfile } from '@acorex/core/locale';
|
|
23
25
|
|
|
24
26
|
/** Platform common datasource registry names. */
|
|
@@ -26,10 +28,6 @@ declare const AXPPlatformCommonDataSourceKeys: {
|
|
|
26
28
|
readonly MenuItems: "platform-menu-items";
|
|
27
29
|
};
|
|
28
30
|
|
|
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
31
|
/**
|
|
34
32
|
* Minimal JSON-Schema-like object for native provider hints and local validation.
|
|
35
33
|
*/
|
|
@@ -136,597 +134,6 @@ declare class AXPAppVersionService {
|
|
|
136
134
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPAppVersionService>;
|
|
137
135
|
}
|
|
138
136
|
|
|
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
137
|
interface AXPFilterOperator {
|
|
731
138
|
name: string;
|
|
732
139
|
title: string;
|
|
@@ -1214,7 +621,7 @@ declare class AXPCommonModule {
|
|
|
1214
621
|
/**
|
|
1215
622
|
* @ignore
|
|
1216
623
|
*/
|
|
1217
|
-
constructor(instances: any[], _keyboardShortcutsHelp: AXPKeyboardShortcutsHelpService);
|
|
624
|
+
constructor(instances: any[], _keyboardShortcutsHelp: AXPKeyboardShortcutsHelpService, formatterRegistry: AXFormatterRegistryService);
|
|
1218
625
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXPCommonModule, never>;
|
|
1219
626
|
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
627
|
static ɵinj: i0.ɵɵInjectorDeclaration<AXPCommonModule>;
|
|
@@ -1256,7 +663,9 @@ declare enum AXPCommonSettings {
|
|
|
1256
663
|
ConfirmUnsavedChanges = "Common:Setting:Entity.ConfirmUnsavedChanges",
|
|
1257
664
|
DebugMode = "PlatformDevTools:Setting:Developer.DebugMode",
|
|
1258
665
|
ShowRowIndexColumn = "Common:Setting:Entity.ShowRowIndexColumn",
|
|
1259
|
-
EntityListPersistenceMode = "Common:Setting:Entity.ListPersistenceMode"
|
|
666
|
+
EntityListPersistenceMode = "Common:Setting:Entity.ListPersistenceMode",
|
|
667
|
+
NavigationMode = "Common:Setting:Navigation.Mode",
|
|
668
|
+
MaxOpenTabs = "Common:Setting:Navigation.MaxOpenTabs"
|
|
1260
669
|
}
|
|
1261
670
|
|
|
1262
671
|
declare const AXP_ROOT_CONFIG_TOKEN: InjectionToken<AXPRootConfigs>;
|
|
@@ -1490,6 +899,23 @@ declare class AXPFileActionsService {
|
|
|
1490
899
|
|
|
1491
900
|
declare const UploadFromComputerActionProvider: AXPFileActionProvider;
|
|
1492
901
|
|
|
902
|
+
interface AXPTranslateFormatterOptions extends AXFormatOptions {
|
|
903
|
+
scope?: string;
|
|
904
|
+
lang?: string;
|
|
905
|
+
params?: Record<string, unknown>;
|
|
906
|
+
}
|
|
907
|
+
/**
|
|
908
|
+
* Platform formatter for display text: resolves ML objects, i18n keys (`@scope:key`), and primitives.
|
|
909
|
+
* Register via {@link AXPCommonModule} (auto) or `AXFormatModule.forRoot({ formatters: [AXPTranslateFormatter] })`.
|
|
910
|
+
*/
|
|
911
|
+
declare class AXPTranslateFormatter implements AXFormatter {
|
|
912
|
+
private readonly translationService;
|
|
913
|
+
get name(): string;
|
|
914
|
+
format(value: unknown, options?: AXPTranslateFormatterOptions | string): string;
|
|
915
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPTranslateFormatter, never>;
|
|
916
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPTranslateFormatter>;
|
|
917
|
+
}
|
|
918
|
+
|
|
1493
919
|
declare abstract class AXPFileStorageService {
|
|
1494
920
|
abstract save(request: AXPFileStorageCreateRequest): Promise<AXPFileStorageInfo>;
|
|
1495
921
|
abstract update(request: AXPFileStorageUpdateRequest): Promise<AXPFileStorageInfo>;
|
|
@@ -2140,6 +1566,14 @@ interface AXPSearchAction extends Partial<AXPCommandActionLook> {
|
|
|
2140
1566
|
separated?: boolean;
|
|
2141
1567
|
}
|
|
2142
1568
|
|
|
1569
|
+
/**
|
|
1570
|
+
* Optional hook to resolve entity search definitions on demand (e.g. Module.X.Entity).
|
|
1571
|
+
*/
|
|
1572
|
+
interface AXPSearchDefinitionLazyResolver {
|
|
1573
|
+
resolve(definitionName: string): Promise<AXPSearchDefinition | null>;
|
|
1574
|
+
}
|
|
1575
|
+
declare const AXP_SEARCH_DEFINITION_LAZY_RESOLVER: InjectionToken<AXPSearchDefinitionLazyResolver>;
|
|
1576
|
+
|
|
2143
1577
|
declare class AXPSearchDefinitionProviderContext {
|
|
2144
1578
|
private definitions;
|
|
2145
1579
|
private definitionMap;
|
|
@@ -2171,11 +1605,13 @@ interface AXPSearchDefinitionProvider {
|
|
|
2171
1605
|
declare const AXP_SEARCH_DEFINITION_PROVIDER: InjectionToken<AXPSearchDefinitionProvider[]>;
|
|
2172
1606
|
declare class AXPSearchDefinitionProviderService {
|
|
2173
1607
|
private providers;
|
|
1608
|
+
private lazyResolver;
|
|
2174
1609
|
private cache;
|
|
2175
1610
|
private load;
|
|
2176
1611
|
getListAsync(): Promise<AXPSearchDefinition[]>;
|
|
2177
1612
|
getList(): AXPSearchDefinition[];
|
|
2178
1613
|
findDefinition(definitionName: string): AXPSearchDefinition;
|
|
1614
|
+
findDefinitionAsync(definitionName: string): Promise<AXPSearchDefinition | null>;
|
|
2179
1615
|
findDefinitionByGroup(definitionGroup: string): AXPSearchDefinition;
|
|
2180
1616
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXPSearchDefinitionProviderService, never>;
|
|
2181
1617
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPSearchDefinitionProviderService>;
|
|
@@ -2197,6 +1633,7 @@ declare class AXPSearchService {
|
|
|
2197
1633
|
private formatService;
|
|
2198
1634
|
private translationService;
|
|
2199
1635
|
private expressionEvaluator;
|
|
1636
|
+
private contextEvalFactory;
|
|
2200
1637
|
search(text: string): Promise<AXPSearchDisplayGroupResult[]>;
|
|
2201
1638
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXPSearchService, never>;
|
|
2202
1639
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPSearchService>;
|
|
@@ -2214,12 +1651,12 @@ declare function searchInSearchableValue(value: unknown, query: string, locale:
|
|
|
2214
1651
|
* Shallow + nested search over entity/command payloads (skips id / entityName keys).
|
|
2215
1652
|
*/
|
|
2216
1653
|
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;
|
|
1654
|
+
/** Standard display-tier row scope for entity title/search templates. */
|
|
1655
|
+
declare function createEntityRowExpressionScope(data: unknown, contextEvalFactory: AXPContextEvalFactory): AXPExpressionEvaluatorScope;
|
|
2219
1656
|
/**
|
|
2220
1657
|
* Evaluates a normalized entity display template via {@link AXPExpressionEvaluatorService}.
|
|
2221
1658
|
*/
|
|
2222
|
-
declare function evaluateEntityDisplayTemplate(template: string, data: unknown, expressionEvaluator: AXPExpressionEvaluatorService, locale: string, translationService: AXTranslationService): Promise<unknown>;
|
|
1659
|
+
declare function evaluateEntityDisplayTemplate(template: string, data: unknown, expressionEvaluator: AXPExpressionEvaluatorService, locale: string, translationService: AXTranslationService, contextEvalFactory: AXPContextEvalFactory): Promise<unknown>;
|
|
2223
1660
|
/**
|
|
2224
1661
|
* Best display string from row values that contain the active search query (deep-match fallback).
|
|
2225
1662
|
*/
|
|
@@ -2227,7 +1664,7 @@ declare function resolveQueryMatchingDisplayText(value: unknown, query: string,
|
|
|
2227
1664
|
/**
|
|
2228
1665
|
* Resolves entity search display templates; coerces multi-language field values to readable text.
|
|
2229
1666
|
*/
|
|
2230
|
-
declare function resolveSearchDisplayTemplate(template: string | undefined, data: unknown, locale: string, translationService: AXTranslationService, formatService: AXFormatService, expressionEvaluator: AXPExpressionEvaluatorService): Promise<AXPMultiLanguageString>;
|
|
1667
|
+
declare function resolveSearchDisplayTemplate(template: string | undefined, data: unknown, locale: string, translationService: AXTranslationService, formatService: AXFormatService, expressionEvaluator: AXPExpressionEvaluatorService, contextEvalFactory: AXPContextEvalFactory): Promise<AXPMultiLanguageString>;
|
|
2231
1668
|
|
|
2232
1669
|
interface AXPEntitySearchTitleContext {
|
|
2233
1670
|
/** Templates tried after the primary `searchResult.title` fails (`single.title`, lookup, individual). */
|
|
@@ -2235,11 +1672,8 @@ interface AXPEntitySearchTitleContext {
|
|
|
2235
1672
|
/** Entity property paths tried when templates do not resolve (`lookup`, identifier, common fields). */
|
|
2236
1673
|
fallbackFields: string[];
|
|
2237
1674
|
}
|
|
2238
|
-
/**
|
|
2239
|
-
|
|
2240
|
-
* Converts `context.eval('path')`, single braces, and simple dot paths to `context.eval` segments.
|
|
2241
|
-
*/
|
|
2242
|
-
declare function normalizeEntityDisplayTemplate(template: string): string;
|
|
1675
|
+
/** @see normalizeExpressionTemplate */
|
|
1676
|
+
declare const normalizeEntityDisplayTemplate: typeof normalizeExpressionTemplate;
|
|
2243
1677
|
/** True when formatted text still contains unresolved template markers. */
|
|
2244
1678
|
declare function isUnresolvedEntityDisplayTemplate(value: string): boolean;
|
|
2245
1679
|
/**
|
|
@@ -2257,10 +1691,18 @@ declare function buildEntitySearchTitleContext(entity: AXPEntity, primaryTemplat
|
|
|
2257
1691
|
* Priority: `interfaces.master.single.title` → `formats.searchResult.title` → `formats.individual`.
|
|
2258
1692
|
*/
|
|
2259
1693
|
declare function resolveEntityRowTitleTemplate(entity: AXPEntity | null | undefined): string | undefined;
|
|
1694
|
+
/**
|
|
1695
|
+
* Record title template for modify popups: `interfaces.master.update.title` → `single.title`.
|
|
1696
|
+
*/
|
|
1697
|
+
declare function resolveEntityModifyRecordTitleTemplate(entity: AXPEntity | null | undefined): string | undefined;
|
|
1698
|
+
/**
|
|
1699
|
+
* Modify/edit popup chrome: `{action} {individual} ({update.title ?? single.title})` when a record template exists.
|
|
1700
|
+
*/
|
|
1701
|
+
declare function resolveEntityModifyPopupTitle(entity: AXPEntity, recordData: unknown, translationService: AXTranslationService, formatService: AXFormatService, expressionEvaluator: AXPExpressionEvaluatorService, contextEvalFactory: AXPContextEvalFactory, actionTitleKey?: string): Promise<string>;
|
|
2260
1702
|
/**
|
|
2261
1703
|
* Resolves an entity row title using entity-driven fallback templates and property paths.
|
|
2262
1704
|
*/
|
|
2263
|
-
declare function resolveEntitySearchTitleFallback(format: Pick<AXPSearchDefinitionDisplayFormat, 'titleFallbackTemplates' | 'titleFallbackFields'>, data: unknown, locale: string, translationService: AXTranslationService, formatService: AXFormatService, expressionEvaluator: AXPExpressionEvaluatorService): Promise<string>;
|
|
1705
|
+
declare function resolveEntitySearchTitleFallback(format: Pick<AXPSearchDefinitionDisplayFormat, 'titleFallbackTemplates' | 'titleFallbackFields'>, data: unknown, locale: string, translationService: AXTranslationService, formatService: AXFormatService, expressionEvaluator: AXPExpressionEvaluatorService, contextEvalFactory: AXPContextEvalFactory): Promise<string>;
|
|
2264
1706
|
|
|
2265
1707
|
interface AXPResolveEntityRowDisplayTitleOptions {
|
|
2266
1708
|
/** Row or form context data used to evaluate title templates. */
|
|
@@ -2485,6 +1927,7 @@ declare class AXPSettingDefinitionSectionBuilder {
|
|
|
2485
1927
|
isRequired?: boolean;
|
|
2486
1928
|
isInherited?: boolean;
|
|
2487
1929
|
isEncrypted?: boolean;
|
|
1930
|
+
requiresPageRefresh?: boolean;
|
|
2488
1931
|
defaultValue?: unknown;
|
|
2489
1932
|
valueTransforms?: AXPValueTransformerFunctions;
|
|
2490
1933
|
validationRules?: AXPValidationRules;
|
|
@@ -2540,6 +1983,8 @@ interface AXPSettingDefinition {
|
|
|
2540
1983
|
isRequired?: boolean;
|
|
2541
1984
|
isInherited?: boolean;
|
|
2542
1985
|
isEncrypted?: boolean;
|
|
1986
|
+
/** When true, saving this setting from the settings page reloads the browser. */
|
|
1987
|
+
requiresPageRefresh?: boolean;
|
|
2543
1988
|
defaultValue?: unknown;
|
|
2544
1989
|
value?: unknown;
|
|
2545
1990
|
}
|
|
@@ -2585,6 +2030,7 @@ declare class AXPSettingDefinitionProviderService {
|
|
|
2585
2030
|
getList(scope: AXPPlatformScopeKey): AXPSettingDefinitionGroup[];
|
|
2586
2031
|
defaultValues(): Promise<Record<string, unknown>>;
|
|
2587
2032
|
settingScopeByKey(): Promise<Record<string, AXPPlatformScope>>;
|
|
2033
|
+
requiresPageRefreshByKey(): Promise<Record<string, boolean>>;
|
|
2588
2034
|
findGroup(scope: AXPPlatformScopeKey, groupName: string): AXPGroupSearchResult;
|
|
2589
2035
|
private searchRecursive;
|
|
2590
2036
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXPSettingDefinitionProviderService, never>;
|
|
@@ -2693,37 +2139,6 @@ declare class AXPRegionalCalendarService extends AXCalendarService {
|
|
|
2693
2139
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPRegionalCalendarService>;
|
|
2694
2140
|
}
|
|
2695
2141
|
|
|
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
2142
|
interface AXPUnsavedChangesConfirmOptions {
|
|
2728
2143
|
/** When false, skips confirm even if the global setting is enabled (e.g. dialog `confirmCloseWhenDirty`). */
|
|
2729
2144
|
enabled?: boolean;
|
|
@@ -2802,116 +2217,6 @@ declare class AXPUnsavedChangesPopstateService {
|
|
|
2802
2217
|
|
|
2803
2218
|
declare function createUnsavedChangesCanDeactivateGuard<T extends AXPUnsavedChangesCanDeactivate>(): CanDeactivateFn<T>;
|
|
2804
2219
|
|
|
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
2220
|
/**
|
|
2916
2221
|
* Injection token for status providers
|
|
2917
2222
|
* Use with multi: true to register multiple providers
|
|
@@ -3016,310 +2321,285 @@ declare class AXPStatusDefinitionProviderService {
|
|
|
3016
2321
|
}
|
|
3017
2322
|
|
|
3018
2323
|
/**
|
|
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
|
-
}>;
|
|
2324
|
+
* Builds a stable tab key from a router URL.
|
|
2325
|
+
* Path segments define identity; query params are excluded so the same entity record
|
|
2326
|
+
* or list reuses one tab even when filters or refresh tokens change.
|
|
2327
|
+
*/
|
|
2328
|
+
declare function axpBuildTabKey(url: string): string;
|
|
2329
|
+
/** Normalizes a router URL for storage and navigation. */
|
|
2330
|
+
declare function normalizeRouterUrl(url: string): string;
|
|
2331
|
+
/** Human-readable fallback title from the URL path. */
|
|
2332
|
+
declare function axpFallbackTabTitle(url: string): string;
|
|
2333
|
+
|
|
2334
|
+
type AXPNavigationMode = 'simple' | 'tabular';
|
|
2335
|
+
declare const AXP_HOME_TAB_KEY = "axp:home";
|
|
2336
|
+
/** Route `data` key for tab-navigation behavior (`data.tab`). */
|
|
2337
|
+
declare const AXP_TAB_ROUTE_DATA_KEY = "tab";
|
|
3293
2338
|
/**
|
|
3294
|
-
*
|
|
3295
|
-
*
|
|
3296
|
-
* @returns System status definition or undefined
|
|
2339
|
+
* Set `data.tab = true` on the route that should act as the tab boundary.
|
|
2340
|
+
* Child navigations under this route update the same tab rather than opening a new one.
|
|
3297
2341
|
*/
|
|
3298
|
-
|
|
2342
|
+
type AXPTabRouteData = true;
|
|
2343
|
+
interface AXPTabDescriptor {
|
|
2344
|
+
/** Stable dedupe key derived from the route (path-based, query excluded). */
|
|
2345
|
+
key: string;
|
|
2346
|
+
/** Full router URL including query string and fragment. */
|
|
2347
|
+
url: string;
|
|
2348
|
+
title: string;
|
|
2349
|
+
icon?: string;
|
|
2350
|
+
pinned: boolean;
|
|
2351
|
+
closable: boolean;
|
|
2352
|
+
/** Timestamp used for LRU eviction when max tabs is reached. */
|
|
2353
|
+
openedAt: number;
|
|
2354
|
+
/** Updated whenever the tab becomes active. */
|
|
2355
|
+
lastActivatedAt: number;
|
|
2356
|
+
}
|
|
2357
|
+
interface AXPTabSessionState {
|
|
2358
|
+
tabs: AXPTabDescriptor[];
|
|
2359
|
+
activeTabKey: string | null;
|
|
2360
|
+
}
|
|
2361
|
+
/** Optional hook for confirming closure of a cached background tab (no router navigation). */
|
|
2362
|
+
interface AXPTabCloseConfirm {
|
|
2363
|
+
onBeforeTabClose(): boolean | Promise<boolean>;
|
|
2364
|
+
}
|
|
2365
|
+
|
|
2366
|
+
declare class AXPTabNavigationService {
|
|
2367
|
+
private readonly router;
|
|
2368
|
+
private readonly settingsService;
|
|
2369
|
+
private readonly deviceService;
|
|
2370
|
+
private readonly menuService;
|
|
2371
|
+
private readonly homePageService;
|
|
2372
|
+
private readonly sessionService;
|
|
2373
|
+
private readonly routeCacheRegistry;
|
|
2374
|
+
private readonly tabPreviewService;
|
|
2375
|
+
private readonly unsavedChangesConfirm;
|
|
2376
|
+
private readonly destroyRef;
|
|
2377
|
+
private readonly navigationMode;
|
|
2378
|
+
private readonly maxOpenTabs;
|
|
2379
|
+
private readonly tabs;
|
|
2380
|
+
private readonly activeTabKey;
|
|
2381
|
+
private suppressNavigationSync;
|
|
2382
|
+
/** Effective mode: mobile always uses simple navigation. */
|
|
2383
|
+
readonly effectiveMode: i0.Signal<AXPNavigationMode>;
|
|
2384
|
+
readonly isTabBarVisible: i0.Signal<boolean>;
|
|
2385
|
+
readonly tabList: i0.Signal<AXPTabDescriptor[]>;
|
|
2386
|
+
readonly activeKey: i0.Signal<string | null>;
|
|
2387
|
+
constructor();
|
|
2388
|
+
/** Navigates to a path, opening or activating a tab when tabular mode is active. */
|
|
2389
|
+
navigate(path: string, extras?: NavigationExtras): Promise<boolean>;
|
|
2390
|
+
/** Opens a tab or activates an existing tab with the same key. */
|
|
2391
|
+
openOrActivateTab(url: string, title?: string): Promise<void>;
|
|
2392
|
+
/**
|
|
2393
|
+
* Activates a tab and navigates to its URL. The previously active page is detached and cached by
|
|
2394
|
+
* the reuse strategy, so its state is preserved; this tab's cached instance is reattached when
|
|
2395
|
+
* available instead of being re-rendered.
|
|
2396
|
+
*
|
|
2397
|
+
* @param suspendDeactivateGuard When true (default for tab switches), unsaved-changes prompts are
|
|
2398
|
+
* skipped so switching tabs keeps a dirty page alive. Closing a tab passes false to keep the prompt.
|
|
2399
|
+
*/
|
|
2400
|
+
activateTabKey(key: string, urlOverride?: string, suspendDeactivateGuard?: boolean): Promise<void>;
|
|
2401
|
+
/** Closes a tab and navigates to a neighbor when the active tab is closed. */
|
|
2402
|
+
closeTab(key: string): Promise<void>;
|
|
2403
|
+
/** Closes every closable tab except the given key (pinned tabs are kept). */
|
|
2404
|
+
closeOtherTabs(keepKey: string): Promise<void>;
|
|
2405
|
+
/** Closes all closable tabs (pinned tabs are kept). */
|
|
2406
|
+
closeAllTabs(): Promise<void>;
|
|
2407
|
+
/** Toggles whether a tab stays pinned in the strip (home tab is always pinned). */
|
|
2408
|
+
toggleTabPinned(key: string): void;
|
|
2409
|
+
/**
|
|
2410
|
+
* Reorders tabs after drag-and-drop. Home stays first; pinned and unpinned tabs cannot cross groups.
|
|
2411
|
+
*/
|
|
2412
|
+
reorderTabs(previousIndex: number, currentIndex: number): void;
|
|
2413
|
+
/** Updates a tab title from the current page chrome (e.g. breadcrumb trail). */
|
|
2414
|
+
syncTabTitle(key: string, title: string): void;
|
|
2415
|
+
/** Updates a tab icon from the current page chrome or menu metadata. */
|
|
2416
|
+
syncTabIcon(key: string, icon: string): void;
|
|
2417
|
+
/** Closes multiple tabs in one update; navigates once when the active tab is closed. */
|
|
2418
|
+
private closeTabs;
|
|
2419
|
+
/**
|
|
2420
|
+
* Prompts before closing a cached background tab. Uses the page's {@link AXPTabCloseConfirm}
|
|
2421
|
+
* hook when available, otherwise falls back to the tab preview dirty flag.
|
|
2422
|
+
*/
|
|
2423
|
+
private confirmBackgroundTabClose;
|
|
2424
|
+
/**
|
|
2425
|
+
* Navigates away from the active tab before it is removed so canDeactivate runs while the tab is still visible.
|
|
2426
|
+
* Returns false when navigation was cancelled (e.g. unsaved-changes confirmation declined).
|
|
2427
|
+
*/
|
|
2428
|
+
private navigateAwayBeforeClosingActiveTab;
|
|
2429
|
+
/** Prefers the tab to the right after removal, then the tab to the left (browser-like). */
|
|
2430
|
+
private resolveFallbackTabIndex;
|
|
2431
|
+
/**
|
|
2432
|
+
* Keeps the route cache registry aligned with the current navigation mode and the set of open
|
|
2433
|
+
* tabs. Cached page instances for closed/evicted tabs are destroyed by the registry.
|
|
2434
|
+
*/
|
|
2435
|
+
private bindRouteCacheSync;
|
|
2436
|
+
private bindRouterEvents;
|
|
2437
|
+
private handleNavigationEnd;
|
|
2438
|
+
private loadSettings;
|
|
2439
|
+
private bindSettingsChanges;
|
|
2440
|
+
private bindSessionChanges;
|
|
2441
|
+
private ensureHomeTab;
|
|
2442
|
+
private insertTab;
|
|
2443
|
+
/** Home first; preserves session order for the remaining tabs. */
|
|
2444
|
+
private ensureHomeTabFirst;
|
|
2445
|
+
private getLastPinnedTabIndex;
|
|
2446
|
+
/** Home first, then other pinned tabs, then unpinned tabs (stable by openedAt within each group). */
|
|
2447
|
+
private normalizeTabOrder;
|
|
2448
|
+
private enforceMaxTabs;
|
|
2449
|
+
private createTabDescriptor;
|
|
2450
|
+
/** Finds a tab by scoped key or legacy full-path key for the same URL. */
|
|
2451
|
+
private findTabForUrl;
|
|
2452
|
+
/** True when the URL is the configured application home page (e.g. dashboard). */
|
|
2453
|
+
private isHomePageUrl;
|
|
2454
|
+
private resolveHomeUrl;
|
|
2455
|
+
/** Activates the pinned home tab for a home-page URL instead of opening a duplicate tab. */
|
|
2456
|
+
private activateHomeTabForUrl;
|
|
2457
|
+
/** Drops non-home tabs that duplicate the home page URL after session restore. */
|
|
2458
|
+
private removeDuplicateHomeUrlTabs;
|
|
2459
|
+
/** Rewrites a tab key when route-scope resolution changes (e.g. profile sub-routes). */
|
|
2460
|
+
private migrateTabKey;
|
|
2461
|
+
/** Collapses restored tabs that share the same scoped route key. */
|
|
2462
|
+
private normalizeRestoredTabKeys;
|
|
2463
|
+
private updateTabUrl;
|
|
2464
|
+
private updateTabTitle;
|
|
2465
|
+
private updateTabIcon;
|
|
2466
|
+
private touchTab;
|
|
2467
|
+
private resolveTabTitle;
|
|
2468
|
+
private resolveTabIcon;
|
|
2469
|
+
private resolveHomePath;
|
|
2470
|
+
private resolveHomeTitle;
|
|
2471
|
+
private isGenericHomeTitle;
|
|
2472
|
+
private syncCurrentRouteAsTab;
|
|
2473
|
+
private normalizeMaxTabs;
|
|
2474
|
+
private sessionStorageKey;
|
|
2475
|
+
private persistSession;
|
|
2476
|
+
private clearSession;
|
|
2477
|
+
private restoreSessionIfNeeded;
|
|
2478
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPTabNavigationService, never>;
|
|
2479
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPTabNavigationService>;
|
|
2480
|
+
}
|
|
2481
|
+
|
|
2482
|
+
/** Structured hover-card payload for a tab (kept in memory; not session-persisted). */
|
|
2483
|
+
interface AXPTabStructuredPreview {
|
|
2484
|
+
/** Primary label (usually page title or breadcrumb trail). */
|
|
2485
|
+
title: string;
|
|
2486
|
+
/** Optional page description or secondary line. */
|
|
2487
|
+
subtitle?: string;
|
|
2488
|
+
/** Full router URL for the tab. */
|
|
2489
|
+
url: string;
|
|
2490
|
+
icon?: string;
|
|
2491
|
+
/** Whether the cached page reports unsaved user edits. */
|
|
2492
|
+
isDirty: boolean;
|
|
2493
|
+
/** Breadcrumb segments excluding home (for the hover card). */
|
|
2494
|
+
breadcrumbTrail: string[];
|
|
2495
|
+
}
|
|
2496
|
+
|
|
3299
2497
|
/**
|
|
3300
|
-
*
|
|
3301
|
-
*
|
|
3302
|
-
* @param statusType - Status type string
|
|
3303
|
-
* @returns Color and icon for the status
|
|
2498
|
+
* In-memory structured previews for tab hover cards and dirty indicators.
|
|
2499
|
+
* Populated by active/cached pages via {@link AXPPageLayoutBaseComponent}.
|
|
3304
2500
|
*/
|
|
3305
|
-
declare
|
|
3306
|
-
|
|
3307
|
-
|
|
3308
|
-
|
|
2501
|
+
declare class AXPTabPreviewService {
|
|
2502
|
+
private readonly previewMap;
|
|
2503
|
+
readonly previews: i0.Signal<Readonly<Record<string, AXPTabStructuredPreview>>>;
|
|
2504
|
+
setPreview(key: string, preview: AXPTabStructuredPreview): void;
|
|
2505
|
+
patchPreview(key: string, patch: Partial<AXPTabStructuredPreview>): void;
|
|
2506
|
+
getPreview(key: string): AXPTabStructuredPreview | undefined;
|
|
2507
|
+
isTabDirty(key: string): boolean;
|
|
2508
|
+
clearPreview(key: string): void;
|
|
2509
|
+
clearPreviews(keys: Iterable<string>): void;
|
|
2510
|
+
clearAll(): void;
|
|
2511
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPTabPreviewService, never>;
|
|
2512
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPTabPreviewService>;
|
|
2513
|
+
}
|
|
2514
|
+
|
|
2515
|
+
/**
|
|
2516
|
+
* Holds detached Angular route component instances keyed by tab key so tabular navigation can
|
|
2517
|
+
* preserve a page's full state (data-table selection, scroll, unsaved form values, etc.) while it
|
|
2518
|
+
* is in the background, then reattach it without re-rendering.
|
|
2519
|
+
*
|
|
2520
|
+
* The registry has no `Router` dependency on purpose: it is consumed by the {@link RouteReuseStrategy}
|
|
2521
|
+
* implementation, so depending on `Router` here would create a construction-time cycle.
|
|
2522
|
+
*/
|
|
2523
|
+
declare class AXPTabRouteCacheRegistry {
|
|
2524
|
+
private readonly handles;
|
|
2525
|
+
private openKeys;
|
|
2526
|
+
private enabled;
|
|
2527
|
+
private deactivateGuardSuspended;
|
|
2528
|
+
/**
|
|
2529
|
+
* Runs `action` while unsaved-changes `canDeactivate` guards are suspended, so switching between
|
|
2530
|
+
* tabs preserves a dirty page without prompting. Closing a tab does not use this path, so the
|
|
2531
|
+
* prompt still appears there.
|
|
2532
|
+
*/
|
|
2533
|
+
runWithSuspendedDeactivateGuards<T>(action: () => Promise<T>): Promise<T>;
|
|
2534
|
+
isDeactivateGuardSuspended(): boolean;
|
|
2535
|
+
/** Enables caching (tabular mode). Disabling clears and destroys every cached component. */
|
|
2536
|
+
setEnabled(enabled: boolean): void;
|
|
2537
|
+
isEnabled(): boolean;
|
|
2538
|
+
/**
|
|
2539
|
+
* Reconciles open scoped tab keys and active tab URLs. Cached handles whose key is not an open
|
|
2540
|
+
* scoped tab key, an active tab URL, or a child path under an open scoped tab are destroyed.
|
|
2541
|
+
*/
|
|
2542
|
+
syncOpenKeys(scopedKeys: string[], activeTabUrls?: string[]): void;
|
|
2543
|
+
isOpen(key: string): boolean;
|
|
2544
|
+
/**
|
|
2545
|
+
* Returns the live component instance for a cached background tab, when available.
|
|
2546
|
+
* Matches the tab key directly or any cached handle under a scoped tab prefix.
|
|
2547
|
+
*/
|
|
2548
|
+
getComponentInstance<T>(key: string): T | null;
|
|
2549
|
+
/**
|
|
2550
|
+
* Caches a detached background handle. Overwrites without destroying the previous handle: on a
|
|
2551
|
+
* repeat visit Angular hands back a new handle object wrapping the same live `componentRef`, so
|
|
2552
|
+
* destroying the old one would destroy the live component and corrupt the view (NG0922).
|
|
2553
|
+
*/
|
|
2554
|
+
store(key: string, handle: DetachedRouteHandle): void;
|
|
2555
|
+
/**
|
|
2556
|
+
* Returns the cached handle without mutating the map. Angular reads a handle twice per
|
|
2557
|
+
* navigation (once while building the future state, once while attaching), so `retrieve` must be
|
|
2558
|
+
* idempotent; the handle is released afterwards via {@link release} when Angular calls
|
|
2559
|
+
* `store(snapshot, null)`.
|
|
2560
|
+
*/
|
|
2561
|
+
retrieve(key: string): DetachedRouteHandle | null;
|
|
2562
|
+
/**
|
|
2563
|
+
* Drops a handle that the router has just reattached (it is now a live foreground view, so it
|
|
2564
|
+
* must not be destroyed). The map keeps only truly backgrounded handles.
|
|
2565
|
+
*/
|
|
2566
|
+
release(key: string): void;
|
|
2567
|
+
has(key: string): boolean;
|
|
2568
|
+
/** Destroys and removes a single cached handle (used when a tab closes). */
|
|
2569
|
+
evict(key: string): void;
|
|
2570
|
+
/** Destroys and removes every cached handle. */
|
|
2571
|
+
clear(): void;
|
|
2572
|
+
private readComponentInstance;
|
|
2573
|
+
private destroyHandle;
|
|
2574
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPTabRouteCacheRegistry, never>;
|
|
2575
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPTabRouteCacheRegistry>;
|
|
2576
|
+
}
|
|
2577
|
+
|
|
2578
|
+
/**
|
|
2579
|
+
* Returns true when the URL represents an in-app page that may appear in the tab bar.
|
|
2580
|
+
*/
|
|
2581
|
+
declare function axpIsTabEligibleUrl(url: string): boolean;
|
|
2582
|
+
|
|
2583
|
+
/** True when the route declares itself as a scoped tab root (`data.tab = true`). */
|
|
2584
|
+
declare function axpHasTabScope(data: Record<string, unknown> | undefined): boolean;
|
|
2585
|
+
/** Resolved URL path for a snapshot (no query or fragment). */
|
|
2586
|
+
declare function axpPathFromSnapshot(snapshot: ActivatedRouteSnapshot): string;
|
|
2587
|
+
/** Returns the leaf snapshot under the router state root. */
|
|
2588
|
+
declare function axpGetLeafRouteSnapshot(root: ActivatedRouteSnapshot): ActivatedRouteSnapshot;
|
|
3309
2589
|
/**
|
|
3310
|
-
* Resolves the
|
|
3311
|
-
*
|
|
3312
|
-
* @param statusType - Status type string
|
|
3313
|
-
* @returns Complete status information as AXPStatusDefinition
|
|
2590
|
+
* Resolves the tab dedupe key from an activated route tree.
|
|
2591
|
+
* Uses the nearest ancestor with `data.tab = true`; otherwise the leaf path.
|
|
3314
2592
|
*/
|
|
3315
|
-
declare function
|
|
2593
|
+
declare function axpResolveTabKeyFromSnapshot(leaf: ActivatedRouteSnapshot): string;
|
|
3316
2594
|
/**
|
|
3317
|
-
*
|
|
3318
|
-
*
|
|
3319
|
-
* @param overrides - Optional overrides for the status definition
|
|
3320
|
-
* @returns AXPStatusDefinition
|
|
2595
|
+
* Resolves a tab key for the given URL (or the current router URL).
|
|
2596
|
+
* Prefers the live route snapshot when it matches the target URL; otherwise matches route config.
|
|
3321
2597
|
*/
|
|
3322
|
-
declare function
|
|
2598
|
+
declare function axpResolveTabKey(router: Router, url?: string): string;
|
|
2599
|
+
/**
|
|
2600
|
+
* Matches a URL path against registered routes and resolves the tab key from `data.tab`.
|
|
2601
|
+
*/
|
|
2602
|
+
declare function axpResolveTabKeyFromRouteConfig(routes: Routes, pathOnly: string): string | null;
|
|
3323
2603
|
|
|
3324
2604
|
interface AXPTokenDefinition {
|
|
3325
2605
|
name: string;
|
|
@@ -3622,6 +2902,7 @@ declare const AXPReloadEvent: {
|
|
|
3622
2902
|
};
|
|
3623
2903
|
declare class AXPWorkflowNavigateAction extends AXPWorkflowAction {
|
|
3624
2904
|
private router;
|
|
2905
|
+
private tabNavigation;
|
|
3625
2906
|
execute(context: AXPWorkflowContext): Promise<void>;
|
|
3626
2907
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXPWorkflowNavigateAction, never>;
|
|
3627
2908
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPWorkflowNavigateAction>;
|
|
@@ -3655,7 +2936,7 @@ declare class AXPReloadAction extends AXPWorkflowAction {
|
|
|
3655
2936
|
}
|
|
3656
2937
|
|
|
3657
2938
|
declare class AXPWorkflowRouterNavigateAction extends AXPWorkflowAction {
|
|
3658
|
-
private
|
|
2939
|
+
private readonly tabNavigation;
|
|
3659
2940
|
execute(context: AXPWorkflowContext): Promise<void>;
|
|
3660
2941
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXPWorkflowRouterNavigateAction, never>;
|
|
3661
2942
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPWorkflowRouterNavigateAction>;
|
|
@@ -3669,5 +2950,5 @@ declare class AXMWorkflowErrorHandler implements AXPErrorHandler {
|
|
|
3669
2950
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXMWorkflowErrorHandler>;
|
|
3670
2951
|
}
|
|
3671
2952
|
|
|
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,
|
|
2953
|
+
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, 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_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, ENTITY_LAYOUT_SINGLE_TITLE_PATH, ENTITY_ROW_POPUP_TITLE_OPTION, ENTITY_ROW_TITLE_TEMPLATE_OPTION, 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, buildEntitySearchTitleContext, coerceAXPSettingRawValue, coerceAXPSettingRawValueByKind, configPlatform, createBackgroundOperationStore, createEntityCommandOptions, createEntityRowExpressionScope, createEntitySearchCommand, createMenuContext, createMenuMiddleware, createUnsavedChangesCanDeactivateGuard, downloadGraphicFromElement, evaluateEntityDisplayTemplate, findManualPresetIdByOperation, formatEntityRowDisplayTitle, inferSettingCoercionKind, isMeaningfulEntityDisplayTitle, isUnresolvedEntityDisplayTemplate, normalizeEntityDisplayTemplate, normalizePositiveNumberOption, normalizeRouterUrl, peelSettingValueKey, printGraphicFromElement, provideDynamicHomePage, provideMenuMiddleware, resolveDateFilterPresets, resolveEntityModifyPopupTitle, resolveEntityModifyRecordTitleTemplate, resolveEntityRowDisplayText, resolveEntityRowDisplayTitle, resolveEntityRowDisplayTitleFromColumnContext, resolveEntityRowTitleTemplate, resolveEntitySearchTitleFallback, resolveGraphicElementSize, resolveGraphicPrintContent, resolveQueryMatchingDisplayText, resolveSearchDisplayTemplate, resolveSearchableText, sanitizeResolvedEntityDisplayTitle, searchInRecordValues, searchInSearchableValue, serializeSvgElement, shouldApplyDefaultMultiLanguageToEntityProperty, shouldApplyDefaultMultiLanguageToWidgetNode, shouldApplyDefaultMultiLanguageToWidgetProperty, triggerBrowserDownload, withDefaultMultiLanguageOnWidgetNodeTree, withDefaultMultiLanguageOnWidgetProperty };
|
|
2954
|
+
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, AXPEntitySearchTitleContext, AXPErrorHandler, AXPFileActionProvider, AXPFileActionProviderToken, AXPFileExtension, AXPFileType, AXPFileTypeInfoProvider, AXPFilterOperator, AXPGeoLocation, AXPGraphicDownloadFormat, AXPGraphicDownloadOptions, AXPGraphicPrintContent, AXPGroupSearchResult, AXPHomePageDefinition, AXPInAppNotificationCreateRequest, AXPInAppNotificationPriority, AXPInAppNotificationService, 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 };
|