@acorex-platform/framework-client 2.0.0-next.5 → 2.0.0-next.7
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-framework-client-common.mjs +233 -154
- package/fesm2022/acorex-platform-framework-client-common.mjs.map +1 -1
- package/fesm2022/{acorex-platform-framework-client-layout-widgets-acorex-platform-framework-client-layout-widgets-CdgUavZa.mjs → acorex-platform-framework-client-layout-widgets-acorex-platform-framework-client-layout-widgets-C7KwK4o1.mjs} +6 -4
- package/fesm2022/acorex-platform-framework-client-layout-widgets-acorex-platform-framework-client-layout-widgets-C7KwK4o1.mjs.map +1 -0
- package/fesm2022/{acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-DTcy5swp.mjs → acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-CZOhXdsC.mjs} +2 -2
- package/fesm2022/{acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-DTcy5swp.mjs.map → acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-CZOhXdsC.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-C2C3nB61.mjs → acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-CXivatRL.mjs} +2 -2
- package/fesm2022/{acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-C2C3nB61.mjs.map → acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-CXivatRL.mjs.map} +1 -1
- package/fesm2022/acorex-platform-framework-client-layout-widgets.mjs +1 -1
- package/fesm2022/acorex-platform-framework-client-themes-default.mjs +23 -5
- package/fesm2022/acorex-platform-framework-client-themes-default.mjs.map +1 -1
- package/package.json +2 -2
- package/types/acorex-platform-framework-client-common.d.ts +19 -4
- package/fesm2022/acorex-platform-framework-client-layout-widgets-acorex-platform-framework-client-layout-widgets-CdgUavZa.mjs.map +0 -1
|
@@ -3442,6 +3442,213 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
3442
3442
|
}]
|
|
3443
3443
|
}], ctorParameters: () => [] });
|
|
3444
3444
|
|
|
3445
|
+
//#endregion
|
|
3446
|
+
//#region ---- App Path Navigation ----
|
|
3447
|
+
/**
|
|
3448
|
+
* Splits an absolute app path (`/app/m/module/e/Entity/id/view`) into router command segments.
|
|
3449
|
+
* Prefer this over `navigate([fullPath])` or ambiguous single-segment navigation so browser history stays correct.
|
|
3450
|
+
*/
|
|
3451
|
+
function axpParseAppPath(path) {
|
|
3452
|
+
const trimmed = path.trim();
|
|
3453
|
+
const withoutLeadingSlash = trimmed.startsWith('/') ? trimmed.slice(1) : trimmed;
|
|
3454
|
+
const [pathAndFragment, queryString] = withoutLeadingSlash.split('?');
|
|
3455
|
+
const [pathPart, fragment] = pathAndFragment.split('#');
|
|
3456
|
+
const segments = pathPart.split('/').filter(Boolean);
|
|
3457
|
+
const queryParams = queryString
|
|
3458
|
+
? queryString.split('&').reduce((params, pair) => {
|
|
3459
|
+
const [key, value = ''] = pair.split('=');
|
|
3460
|
+
if (key) {
|
|
3461
|
+
params[decodeURIComponent(key)] = decodeURIComponent(value);
|
|
3462
|
+
}
|
|
3463
|
+
return params;
|
|
3464
|
+
}, {})
|
|
3465
|
+
: undefined;
|
|
3466
|
+
return {
|
|
3467
|
+
segments,
|
|
3468
|
+
queryParams,
|
|
3469
|
+
fragment: fragment || undefined,
|
|
3470
|
+
};
|
|
3471
|
+
}
|
|
3472
|
+
/** Navigates using explicit path segments (same pattern as entity preload filters). */
|
|
3473
|
+
function axpNavigateAppPath(router, path, extras) {
|
|
3474
|
+
const { segments, queryParams, fragment } = axpParseAppPath(path);
|
|
3475
|
+
return router.navigate(segments, {
|
|
3476
|
+
...extras,
|
|
3477
|
+
queryParams,
|
|
3478
|
+
fragment,
|
|
3479
|
+
});
|
|
3480
|
+
}
|
|
3481
|
+
/** True when a URL path is an entity master list route (`.../e/{Entity}/list`). */
|
|
3482
|
+
function axpIsEntityListPath(url) {
|
|
3483
|
+
const path = url.split('?')[0].split('#')[0];
|
|
3484
|
+
return /\/e\/[^/]+\/list$/.test(path);
|
|
3485
|
+
}
|
|
3486
|
+
/** True when the current browser URL is an entity master list route (`.../e/{Entity}/list`). */
|
|
3487
|
+
function axpIsEntityListRoute(router) {
|
|
3488
|
+
return axpIsEntityListPath(router.url);
|
|
3489
|
+
}
|
|
3490
|
+
/** True when a URL path is an entity details view route (`.../e/{Entity}/{id}/view`). */
|
|
3491
|
+
function axpIsEntityDetailsPath(url) {
|
|
3492
|
+
const path = url.split('?')[0].split('#')[0];
|
|
3493
|
+
return /\/e\/[^/]+\/[^/]+\/view$/.test(path);
|
|
3494
|
+
}
|
|
3495
|
+
/**
|
|
3496
|
+
* Entity key (`module.entity`) for `/{app}/m/{module}/e/{entity}/{id}/view`.
|
|
3497
|
+
* Query and hash are ignored. Returns null for every other path.
|
|
3498
|
+
*/
|
|
3499
|
+
function axpEntityKeyFromDetailsPath(url) {
|
|
3500
|
+
const path = url.split('?')[0]?.split('#')[0] ?? '';
|
|
3501
|
+
const match = /\/m\/([^/]+)\/e\/([^/]+)\/[^/]+\/view$/.exec(path);
|
|
3502
|
+
const moduleName = match?.[1];
|
|
3503
|
+
const entityName = match?.[2];
|
|
3504
|
+
if (!moduleName || !entityName) {
|
|
3505
|
+
return null;
|
|
3506
|
+
}
|
|
3507
|
+
return `${moduleName}.${entityName}`;
|
|
3508
|
+
}
|
|
3509
|
+
/** True when the current browser URL is an entity details view route (`.../e/{Entity}/{id}/view`). */
|
|
3510
|
+
function axpIsEntityDetailsViewRoute(router) {
|
|
3511
|
+
return axpIsEntityDetailsPath(router.url);
|
|
3512
|
+
}
|
|
3513
|
+
/**
|
|
3514
|
+
* Merges query params on the current entity list route without pushing history.
|
|
3515
|
+
* Uses absolute path segments so a stale `relativeTo` cannot rewrite the active URL after navigating away.
|
|
3516
|
+
*/
|
|
3517
|
+
function axpReplaceEntityListRouteQueryParams(router, queryParams) {
|
|
3518
|
+
const url = router.url;
|
|
3519
|
+
if (!axpIsEntityListPath(url)) {
|
|
3520
|
+
return;
|
|
3521
|
+
}
|
|
3522
|
+
const parsed = router.parseUrl(url);
|
|
3523
|
+
const pathOnly = url.split('?')[0].split('#')[0];
|
|
3524
|
+
const { segments } = axpParseAppPath(pathOnly);
|
|
3525
|
+
const mergedQueryParams = { ...parsed.queryParams, ...queryParams };
|
|
3526
|
+
void router.navigate(segments, {
|
|
3527
|
+
queryParams: mergedQueryParams,
|
|
3528
|
+
replaceUrl: true,
|
|
3529
|
+
});
|
|
3530
|
+
}
|
|
3531
|
+
//#endregion
|
|
3532
|
+
|
|
3533
|
+
//#region ----- Constants -----
|
|
3534
|
+
/** Query param that distinguishes two menus pointing at the same entity list. */
|
|
3535
|
+
const ENTITY_LIST_INSTANCE_QUERY_PARAM = 'list';
|
|
3536
|
+
/** Used when the list is opened without a menu (command, deep link). */
|
|
3537
|
+
const ENTITY_LIST_DEFAULT_INSTANCE_ID = 'default';
|
|
3538
|
+
//#endregion
|
|
3539
|
+
//#region ----- Instance id -----
|
|
3540
|
+
function axpNormalizeEntityListInstanceId(value) {
|
|
3541
|
+
if (typeof value !== 'string') {
|
|
3542
|
+
return ENTITY_LIST_DEFAULT_INSTANCE_ID;
|
|
3543
|
+
}
|
|
3544
|
+
const trimmed = value.trim();
|
|
3545
|
+
return trimmed.length > 0 ? trimmed : ENTITY_LIST_DEFAULT_INSTANCE_ID;
|
|
3546
|
+
}
|
|
3547
|
+
function axpGetEntityListInstanceIdFromQueryString(queryString) {
|
|
3548
|
+
const params = new URLSearchParams(queryString.startsWith('?') ? queryString.slice(1) : queryString);
|
|
3549
|
+
return axpNormalizeEntityListInstanceId(params.get(ENTITY_LIST_INSTANCE_QUERY_PARAM));
|
|
3550
|
+
}
|
|
3551
|
+
function axpGetEntityListInstanceIdFromParamMap(queryParamMap) {
|
|
3552
|
+
return axpNormalizeEntityListInstanceId(queryParamMap.get(ENTITY_LIST_INSTANCE_QUERY_PARAM));
|
|
3553
|
+
}
|
|
3554
|
+
function axpGetEntityListInstanceIdFromPath(path) {
|
|
3555
|
+
const queryString = path.split('#')[0].split('?')[1] ?? '';
|
|
3556
|
+
return axpGetEntityListInstanceIdFromQueryString(queryString);
|
|
3557
|
+
}
|
|
3558
|
+
//#endregion
|
|
3559
|
+
//#region ----- Menu / URL stamping -----
|
|
3560
|
+
/**
|
|
3561
|
+
* Appends `list={instanceId}` to an entity-list path when missing.
|
|
3562
|
+
* Named menu entries get a stable identity so Angular reuses the list route
|
|
3563
|
+
* while filter persistence can still isolate each menu.
|
|
3564
|
+
*/
|
|
3565
|
+
function axpEnsureEntityListInstanceQueryParam(path, instanceId) {
|
|
3566
|
+
if (!path || !instanceId || !axpIsEntityListPath(path)) {
|
|
3567
|
+
return path;
|
|
3568
|
+
}
|
|
3569
|
+
const normalized = axpNormalizeEntityListInstanceId(instanceId);
|
|
3570
|
+
if (normalized === ENTITY_LIST_DEFAULT_INSTANCE_ID) {
|
|
3571
|
+
return path;
|
|
3572
|
+
}
|
|
3573
|
+
const { segments, queryParams, fragment } = axpParseAppPath(path);
|
|
3574
|
+
if (queryParams?.[ENTITY_LIST_INSTANCE_QUERY_PARAM]) {
|
|
3575
|
+
return path;
|
|
3576
|
+
}
|
|
3577
|
+
const nextQuery = new URLSearchParams({
|
|
3578
|
+
...(queryParams ?? {}),
|
|
3579
|
+
[ENTITY_LIST_INSTANCE_QUERY_PARAM]: normalized,
|
|
3580
|
+
});
|
|
3581
|
+
const base = `/${segments.join('/')}`;
|
|
3582
|
+
const withQuery = `${base}?${nextQuery.toString()}`;
|
|
3583
|
+
return fragment ? `${withQuery}#${fragment}` : withQuery;
|
|
3584
|
+
}
|
|
3585
|
+
/**
|
|
3586
|
+
* Query keys the list page rewrites while the user stays on the same menu
|
|
3587
|
+
* (`view`, `filters`, layout, refresh). They must not open another tab.
|
|
3588
|
+
*/
|
|
3589
|
+
const ENTITY_LIST_PAGE_STATE_QUERY_KEYS = new Set(['view', 'layout', 'filters', '_ts']);
|
|
3590
|
+
function pushEntityListNavigationPair(pairs, key, raw) {
|
|
3591
|
+
if (!key || ENTITY_LIST_PAGE_STATE_QUERY_KEYS.has(key)) {
|
|
3592
|
+
return;
|
|
3593
|
+
}
|
|
3594
|
+
const value = Array.isArray(raw) ? raw[0] : raw;
|
|
3595
|
+
if (typeof value !== 'string') {
|
|
3596
|
+
return;
|
|
3597
|
+
}
|
|
3598
|
+
if (key === ENTITY_LIST_INSTANCE_QUERY_PARAM) {
|
|
3599
|
+
const normalized = axpNormalizeEntityListInstanceId(value);
|
|
3600
|
+
if (normalized === ENTITY_LIST_DEFAULT_INSTANCE_ID) {
|
|
3601
|
+
return;
|
|
3602
|
+
}
|
|
3603
|
+
pairs.push([key, normalized]);
|
|
3604
|
+
return;
|
|
3605
|
+
}
|
|
3606
|
+
pairs.push([key, value]);
|
|
3607
|
+
}
|
|
3608
|
+
function readEntityListNavigationPairs(query) {
|
|
3609
|
+
const pairs = [];
|
|
3610
|
+
if (!query) {
|
|
3611
|
+
return pairs;
|
|
3612
|
+
}
|
|
3613
|
+
if (typeof query === 'string') {
|
|
3614
|
+
const queryString = query.includes('?')
|
|
3615
|
+
? (query.split('#')[0].split('?')[1] ?? '')
|
|
3616
|
+
: query.replace(/^\?/, '');
|
|
3617
|
+
const params = new URLSearchParams(queryString);
|
|
3618
|
+
params.forEach((value, key) => pushEntityListNavigationPair(pairs, key, value));
|
|
3619
|
+
return pairs;
|
|
3620
|
+
}
|
|
3621
|
+
if (typeof URLSearchParams !== 'undefined' && query instanceof URLSearchParams) {
|
|
3622
|
+
query.forEach((value, key) => pushEntityListNavigationPair(pairs, key, value));
|
|
3623
|
+
return pairs;
|
|
3624
|
+
}
|
|
3625
|
+
for (const [key, value] of Object.entries(query)) {
|
|
3626
|
+
pushEntityListNavigationPair(pairs, key, value);
|
|
3627
|
+
}
|
|
3628
|
+
return pairs;
|
|
3629
|
+
}
|
|
3630
|
+
/**
|
|
3631
|
+
* Tab and route-cache identity for an entity list.
|
|
3632
|
+
* Navigation query params (`mode=cm`, `mode=pm`, non-default `list`, …) keep each menu distinct,
|
|
3633
|
+
* the same way simple navigation does. Page-state params stay on the URL and do not split the tab.
|
|
3634
|
+
*/
|
|
3635
|
+
function axpEntityListNavigationTabKey(path, query) {
|
|
3636
|
+
const base = path.split('?')[0].split('#')[0].replace(/\/+$/, '') || '/';
|
|
3637
|
+
if (!axpIsEntityListPath(base)) {
|
|
3638
|
+
return base;
|
|
3639
|
+
}
|
|
3640
|
+
const pairs = readEntityListNavigationPairs(query);
|
|
3641
|
+
if (!pairs.length) {
|
|
3642
|
+
return base;
|
|
3643
|
+
}
|
|
3644
|
+
pairs.sort((left, right) => left[0].localeCompare(right[0]) || left[1].localeCompare(right[1]));
|
|
3645
|
+
const queryString = pairs
|
|
3646
|
+
.map(([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(value)}`)
|
|
3647
|
+
.join('&');
|
|
3648
|
+
return `${base}?${queryString}`;
|
|
3649
|
+
}
|
|
3650
|
+
//#endregion
|
|
3651
|
+
|
|
3445
3652
|
//#endregion
|
|
3446
3653
|
/**
|
|
3447
3654
|
* Holds detached Angular route component instances keyed by tab key so tabular navigation can
|
|
@@ -3502,7 +3709,11 @@ class AXPTabRouteCacheRegistry {
|
|
|
3502
3709
|
*/
|
|
3503
3710
|
syncOpenKeys(scopedKeys, activeTabUrls = []) {
|
|
3504
3711
|
const scopedSet = new Set(scopedKeys);
|
|
3505
|
-
const activePathSet = new Set(activeTabUrls.
|
|
3712
|
+
const activePathSet = new Set(activeTabUrls.flatMap((url) => {
|
|
3713
|
+
const pathOnly = url.split('?')[0].split('#')[0].replace(/\/+$/, '') || '/';
|
|
3714
|
+
const withNavigation = axpEntityListNavigationTabKey(pathOnly, url);
|
|
3715
|
+
return withNavigation === pathOnly ? [pathOnly] : [pathOnly, withNavigation];
|
|
3716
|
+
}));
|
|
3506
3717
|
for (const cacheKey of [...this.handles.keys()]) {
|
|
3507
3718
|
const normalizedCacheKey = cacheKey.replace(/\/+$/, '') || '/';
|
|
3508
3719
|
const keepsScopedKey = scopedSet.has(normalizedCacheKey);
|
|
@@ -5600,148 +5811,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
5600
5811
|
args: [{ providedIn: 'root' }]
|
|
5601
5812
|
}] });
|
|
5602
5813
|
|
|
5603
|
-
//#endregion
|
|
5604
|
-
//#region ---- App Path Navigation ----
|
|
5605
|
-
/**
|
|
5606
|
-
* Splits an absolute app path (`/app/m/module/e/Entity/id/view`) into router command segments.
|
|
5607
|
-
* Prefer this over `navigate([fullPath])` or ambiguous single-segment navigation so browser history stays correct.
|
|
5608
|
-
*/
|
|
5609
|
-
function axpParseAppPath(path) {
|
|
5610
|
-
const trimmed = path.trim();
|
|
5611
|
-
const withoutLeadingSlash = trimmed.startsWith('/') ? trimmed.slice(1) : trimmed;
|
|
5612
|
-
const [pathAndFragment, queryString] = withoutLeadingSlash.split('?');
|
|
5613
|
-
const [pathPart, fragment] = pathAndFragment.split('#');
|
|
5614
|
-
const segments = pathPart.split('/').filter(Boolean);
|
|
5615
|
-
const queryParams = queryString
|
|
5616
|
-
? queryString.split('&').reduce((params, pair) => {
|
|
5617
|
-
const [key, value = ''] = pair.split('=');
|
|
5618
|
-
if (key) {
|
|
5619
|
-
params[decodeURIComponent(key)] = decodeURIComponent(value);
|
|
5620
|
-
}
|
|
5621
|
-
return params;
|
|
5622
|
-
}, {})
|
|
5623
|
-
: undefined;
|
|
5624
|
-
return {
|
|
5625
|
-
segments,
|
|
5626
|
-
queryParams,
|
|
5627
|
-
fragment: fragment || undefined,
|
|
5628
|
-
};
|
|
5629
|
-
}
|
|
5630
|
-
/** Navigates using explicit path segments (same pattern as entity preload filters). */
|
|
5631
|
-
function axpNavigateAppPath(router, path, extras) {
|
|
5632
|
-
const { segments, queryParams, fragment } = axpParseAppPath(path);
|
|
5633
|
-
return router.navigate(segments, {
|
|
5634
|
-
...extras,
|
|
5635
|
-
queryParams,
|
|
5636
|
-
fragment,
|
|
5637
|
-
});
|
|
5638
|
-
}
|
|
5639
|
-
/** True when a URL path is an entity master list route (`.../e/{Entity}/list`). */
|
|
5640
|
-
function axpIsEntityListPath(url) {
|
|
5641
|
-
const path = url.split('?')[0].split('#')[0];
|
|
5642
|
-
return /\/e\/[^/]+\/list$/.test(path);
|
|
5643
|
-
}
|
|
5644
|
-
/** True when the current browser URL is an entity master list route (`.../e/{Entity}/list`). */
|
|
5645
|
-
function axpIsEntityListRoute(router) {
|
|
5646
|
-
return axpIsEntityListPath(router.url);
|
|
5647
|
-
}
|
|
5648
|
-
/** True when a URL path is an entity details view route (`.../e/{Entity}/{id}/view`). */
|
|
5649
|
-
function axpIsEntityDetailsPath(url) {
|
|
5650
|
-
const path = url.split('?')[0].split('#')[0];
|
|
5651
|
-
return /\/e\/[^/]+\/[^/]+\/view$/.test(path);
|
|
5652
|
-
}
|
|
5653
|
-
/**
|
|
5654
|
-
* Entity key (`module.entity`) for `/{app}/m/{module}/e/{entity}/{id}/view`.
|
|
5655
|
-
* Query and hash are ignored. Returns null for every other path.
|
|
5656
|
-
*/
|
|
5657
|
-
function axpEntityKeyFromDetailsPath(url) {
|
|
5658
|
-
const path = url.split('?')[0]?.split('#')[0] ?? '';
|
|
5659
|
-
const match = /\/m\/([^/]+)\/e\/([^/]+)\/[^/]+\/view$/.exec(path);
|
|
5660
|
-
const moduleName = match?.[1];
|
|
5661
|
-
const entityName = match?.[2];
|
|
5662
|
-
if (!moduleName || !entityName) {
|
|
5663
|
-
return null;
|
|
5664
|
-
}
|
|
5665
|
-
return `${moduleName}.${entityName}`;
|
|
5666
|
-
}
|
|
5667
|
-
/** True when the current browser URL is an entity details view route (`.../e/{Entity}/{id}/view`). */
|
|
5668
|
-
function axpIsEntityDetailsViewRoute(router) {
|
|
5669
|
-
return axpIsEntityDetailsPath(router.url);
|
|
5670
|
-
}
|
|
5671
|
-
/**
|
|
5672
|
-
* Merges query params on the current entity list route without pushing history.
|
|
5673
|
-
* Uses absolute path segments so a stale `relativeTo` cannot rewrite the active URL after navigating away.
|
|
5674
|
-
*/
|
|
5675
|
-
function axpReplaceEntityListRouteQueryParams(router, queryParams) {
|
|
5676
|
-
const url = router.url;
|
|
5677
|
-
if (!axpIsEntityListPath(url)) {
|
|
5678
|
-
return;
|
|
5679
|
-
}
|
|
5680
|
-
const parsed = router.parseUrl(url);
|
|
5681
|
-
const pathOnly = url.split('?')[0].split('#')[0];
|
|
5682
|
-
const { segments } = axpParseAppPath(pathOnly);
|
|
5683
|
-
const mergedQueryParams = { ...parsed.queryParams, ...queryParams };
|
|
5684
|
-
void router.navigate(segments, {
|
|
5685
|
-
queryParams: mergedQueryParams,
|
|
5686
|
-
replaceUrl: true,
|
|
5687
|
-
});
|
|
5688
|
-
}
|
|
5689
|
-
//#endregion
|
|
5690
|
-
|
|
5691
|
-
//#region ----- Constants -----
|
|
5692
|
-
/** Query param that distinguishes two menus pointing at the same entity list. */
|
|
5693
|
-
const ENTITY_LIST_INSTANCE_QUERY_PARAM = 'list';
|
|
5694
|
-
/** Used when the list is opened without a menu (command, deep link). */
|
|
5695
|
-
const ENTITY_LIST_DEFAULT_INSTANCE_ID = 'default';
|
|
5696
|
-
//#endregion
|
|
5697
|
-
//#region ----- Instance id -----
|
|
5698
|
-
function axpNormalizeEntityListInstanceId(value) {
|
|
5699
|
-
if (typeof value !== 'string') {
|
|
5700
|
-
return ENTITY_LIST_DEFAULT_INSTANCE_ID;
|
|
5701
|
-
}
|
|
5702
|
-
const trimmed = value.trim();
|
|
5703
|
-
return trimmed.length > 0 ? trimmed : ENTITY_LIST_DEFAULT_INSTANCE_ID;
|
|
5704
|
-
}
|
|
5705
|
-
function axpGetEntityListInstanceIdFromQueryString(queryString) {
|
|
5706
|
-
const params = new URLSearchParams(queryString.startsWith('?') ? queryString.slice(1) : queryString);
|
|
5707
|
-
return axpNormalizeEntityListInstanceId(params.get(ENTITY_LIST_INSTANCE_QUERY_PARAM));
|
|
5708
|
-
}
|
|
5709
|
-
function axpGetEntityListInstanceIdFromParamMap(queryParamMap) {
|
|
5710
|
-
return axpNormalizeEntityListInstanceId(queryParamMap.get(ENTITY_LIST_INSTANCE_QUERY_PARAM));
|
|
5711
|
-
}
|
|
5712
|
-
function axpGetEntityListInstanceIdFromPath(path) {
|
|
5713
|
-
const queryString = path.split('#')[0].split('?')[1] ?? '';
|
|
5714
|
-
return axpGetEntityListInstanceIdFromQueryString(queryString);
|
|
5715
|
-
}
|
|
5716
|
-
//#endregion
|
|
5717
|
-
//#region ----- Menu / URL stamping -----
|
|
5718
|
-
/**
|
|
5719
|
-
* Appends `list={instanceId}` to an entity-list path when missing.
|
|
5720
|
-
* Named menu entries get a stable identity so Angular reuses the list route
|
|
5721
|
-
* while filter persistence can still isolate each menu.
|
|
5722
|
-
*/
|
|
5723
|
-
function axpEnsureEntityListInstanceQueryParam(path, instanceId) {
|
|
5724
|
-
if (!path || !instanceId || !axpIsEntityListPath(path)) {
|
|
5725
|
-
return path;
|
|
5726
|
-
}
|
|
5727
|
-
const normalized = axpNormalizeEntityListInstanceId(instanceId);
|
|
5728
|
-
if (normalized === ENTITY_LIST_DEFAULT_INSTANCE_ID) {
|
|
5729
|
-
return path;
|
|
5730
|
-
}
|
|
5731
|
-
const { segments, queryParams, fragment } = axpParseAppPath(path);
|
|
5732
|
-
if (queryParams?.[ENTITY_LIST_INSTANCE_QUERY_PARAM]) {
|
|
5733
|
-
return path;
|
|
5734
|
-
}
|
|
5735
|
-
const nextQuery = new URLSearchParams({
|
|
5736
|
-
...(queryParams ?? {}),
|
|
5737
|
-
[ENTITY_LIST_INSTANCE_QUERY_PARAM]: normalized,
|
|
5738
|
-
});
|
|
5739
|
-
const base = `/${segments.join('/')}`;
|
|
5740
|
-
const withQuery = `${base}?${nextQuery.toString()}`;
|
|
5741
|
-
return fragment ? `${withQuery}#${fragment}` : withQuery;
|
|
5742
|
-
}
|
|
5743
|
-
//#endregion
|
|
5744
|
-
|
|
5745
5814
|
//#region ----- Menu instance identity -----
|
|
5746
5815
|
/** Prefers the stamped `list` query param, then the menu item name. */
|
|
5747
5816
|
function axpMenuItemListInstanceId(item) {
|
|
@@ -7248,13 +7317,14 @@ withMethods((store, router = inject(Router), commandService = inject(AXPCommandS
|
|
|
7248
7317
|
const IGNORED_QUERY_KEYS = new Set(['_ts']);
|
|
7249
7318
|
/**
|
|
7250
7319
|
* Builds a stable tab key from a router URL.
|
|
7251
|
-
* Path segments define
|
|
7252
|
-
*
|
|
7320
|
+
* Path segments define the page. Entity-list navigation query params (`mode`, `list`, …)
|
|
7321
|
+
* stay in the key so two menus of the same entity stay distinct, matching simple navigation.
|
|
7322
|
+
* Page-state params (`view`, `filters`, `_ts`) stay on the URL and do not open another tab.
|
|
7253
7323
|
*/
|
|
7254
7324
|
function axpBuildTabKey(url) {
|
|
7255
7325
|
const normalized = normalizeRouterUrl(url);
|
|
7256
7326
|
const pathOnly = normalized.split('?')[0].split('#')[0];
|
|
7257
|
-
return pathOnly;
|
|
7327
|
+
return axpEntityListNavigationTabKey(pathOnly, normalized);
|
|
7258
7328
|
}
|
|
7259
7329
|
/** Normalizes a router URL for storage and navigation. */
|
|
7260
7330
|
function normalizeRouterUrl(url) {
|
|
@@ -7328,10 +7398,10 @@ function axpGetLeafRouteSnapshot(root) {
|
|
|
7328
7398
|
return route;
|
|
7329
7399
|
}
|
|
7330
7400
|
/**
|
|
7331
|
-
*
|
|
7401
|
+
* Path identity from an activated route tree, without query params.
|
|
7332
7402
|
* Uses the nearest ancestor with `data.tab = true`; otherwise the leaf path.
|
|
7333
7403
|
*/
|
|
7334
|
-
function
|
|
7404
|
+
function axpTabScopePathFromSnapshot(leaf) {
|
|
7335
7405
|
const chain = leaf.pathFromRoot;
|
|
7336
7406
|
for (let index = chain.length - 1; index >= 0; index--) {
|
|
7337
7407
|
const snapshot = chain[index];
|
|
@@ -7341,6 +7411,13 @@ function axpResolveTabKeyFromSnapshot(leaf) {
|
|
|
7341
7411
|
}
|
|
7342
7412
|
return axpPathFromSnapshot(leaf);
|
|
7343
7413
|
}
|
|
7414
|
+
/**
|
|
7415
|
+
* Resolves the tab dedupe key from an activated route tree.
|
|
7416
|
+
* Entity list routes also include navigation query params (`mode`, `list`, …), same as simple navigation.
|
|
7417
|
+
*/
|
|
7418
|
+
function axpResolveTabKeyFromSnapshot(leaf) {
|
|
7419
|
+
return axpEntityListNavigationTabKey(axpTabScopePathFromSnapshot(leaf), leaf.queryParams);
|
|
7420
|
+
}
|
|
7344
7421
|
//#endregion
|
|
7345
7422
|
//#region ---- Router / URL Resolution ----
|
|
7346
7423
|
/**
|
|
@@ -7351,15 +7428,17 @@ function axpResolveTabKey(router, url) {
|
|
|
7351
7428
|
const normalized = normalizeRouterUrl(url ?? router.url);
|
|
7352
7429
|
const pathOnly = normalized.split('?')[0].split('#')[0];
|
|
7353
7430
|
const currentPath = normalizeRouterUrl(router.url).split('?')[0].split('#')[0];
|
|
7431
|
+
let basePath;
|
|
7354
7432
|
if (!url || pathOnly === currentPath) {
|
|
7355
7433
|
const leaf = axpGetLeafRouteSnapshot(router.routerState.snapshot.root);
|
|
7356
|
-
|
|
7434
|
+
basePath = axpTabScopePathFromSnapshot(leaf);
|
|
7357
7435
|
}
|
|
7358
|
-
|
|
7359
|
-
|
|
7360
|
-
|
|
7436
|
+
else {
|
|
7437
|
+
basePath =
|
|
7438
|
+
axpResolveTabKeyFromRouteConfig(router.config, pathOnly) ??
|
|
7439
|
+
(pathOnly.startsWith('/') ? pathOnly : `/${pathOnly}`);
|
|
7361
7440
|
}
|
|
7362
|
-
return
|
|
7441
|
+
return axpEntityListNavigationTabKey(basePath, normalized);
|
|
7363
7442
|
}
|
|
7364
7443
|
/**
|
|
7365
7444
|
* Matches a URL path against registered routes and resolves the tab key from `data.tab`.
|
|
@@ -14054,5 +14133,5 @@ const axpPageGetContextQueryDefinition = defineQuery({
|
|
|
14054
14133
|
* Generated bundle index. Do not edit.
|
|
14055
14134
|
*/
|
|
14056
14135
|
|
|
14057
|
-
export { ALL_DEFAULT_OPERATORS, AXPAcorexFileTypeBridgeProvider, AXPAcorexFileTypeModule, AXPAppVersionService, AXPBackgroundOperationCompletionService, AXPBackgroundOperationEntityStoreService, AXPBackgroundOperationHandler, AXPBackgroundOperationNotificationService, AXPBackgroundOperationProvider, AXPBackgroundOperationRootConfig, AXPBackgroundOperationService, AXPBackgroundOperationSlotComponent, AXPBrowserTitleService, AXPCleanNestedFilters, AXPClipBoardService, AXPCommonModule, AXPCommonSettings, AXPCustomOperatorService, AXPCustomOperatorServiceImpl, AXPDataProvider, AXPDefaultMultiLanguageConfigService, AXPEntityDetailsNavTrailService, AXPErrorHandlerRegistryService, AXPExportService, AXPFileActionsService, AXPFileChooserSettings, AXPFileStorageEvaluatorScopeProvider, AXPFileStorageService, AXPFileTypeProviderService, AXPFilterOperatorMiddlewareService, AXPFilterOperatorMiddlewareServiceImpl, AXPFooterTextSlotComponent, AXPGlobalErrorHandler, AXPHomePageModule, AXPHomePageService, AXPIndexedDbSettingValueProvider, AXPIntegrationDomainProviderContext, AXPIntegrationDomainRegistryFacade, AXPIntegrationDomainRegistryService, AXPIntegrationOAuthService, AXPIntegrationProviderContext, AXPIntegrationProviderRegistryService, AXPIntegrationRuntimeService, AXPKeyboardShortcutsHelpComponent, AXPKeyboardShortcutsHelpService, AXPLocalEntityEngine, AXPLocalEntityIndexedDb, AXPLocalEntityOfflineRuntime, AXPLocalEntityOutboxService, AXPLocalEntityRealtimeBridge, AXPLockService, AXPLogoImageSrcResolverService, AXPMenuKeyboardShortcutService, AXPMenuMiddlewareRegistry, AXPMenuProviderService, AXPMenuRouteAccessService, AXPMenuRouteGuard, AXPMenuSearchDefinitionProvider, AXPMenuSearchProvider, AXPMenuService, AXPMenuVisibilityService, AXPNavBarSlotComponent, AXPNavigateCommand, AXPNetworkConnectivityService, AXPNotFoundCatchAllRoute, AXPNotFoundError, AXPOutputContractTranscriptSegmentService, AXPPageGetContextQuery, AXPPageRunActionCommand, AXPPlatformBrandingService, AXPPlatformDefaultConfigs, AXPPlatformSettingsLoadState, AXPPlatformSettingsOfflineBootstrapService, AXPQueryEvaluatorScopeProvider, AXPQueryParamsEvaluatorScopeProvider, AXPRegionalCalendarService, AXPSearchCommandProvider, AXPSearchDefinitionActionBuilder, AXPSearchDefinitionBuilder, AXPSearchDefinitionProviderContext, AXPSearchDefinitionProviderService, AXPSearchService, AXPSettingDefaultValuesAggregatorService, AXPSettingDefinitionGroupBuilder, AXPSettingDefinitionProviderContext, AXPSettingDefinitionProviderService, AXPSettingDefinitionSectionBuilder, AXPSettingsBulkSyncService, AXPSettingsEvaluatorScopeProvider, AXPSettingsIndexedDb, AXPSettingsService, AXPStateMessageComponent, AXPStatusDefinitionProviderService, AXPStickyDirective, AXPTabNavigationService, AXPTabPreviewService, AXPTabRouteCacheRegistry, AXPTokenDefinitionService, AXPTokenEvaluatorScopeProvider, AXPTranslateFormatter, AXPUnsavedChangesConfirmService, AXPUnsavedChangesPopstateService, AXPUserNotificationService, AXPVersioningService, 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_BREADCRUMB_COLLAPSE_HEAD_COUNT, AXP_BREADCRUMB_COLLAPSE_TAIL_COUNT, AXP_DOCUMENT_FILE_TYPE_PURPOSES, AXP_ENTITY_LIST_DISPLAY_MODE_DEFAULT, AXP_ENTITY_VIEW_ACCESS, AXP_EXPERIENCE_SETTINGS_GROUP, AXP_EXPERIENCE_SETTINGS_SECTIONS, AXP_FILE_ACTION_PROVIDER, AXP_FILE_TYPE_INFO_PROVIDER, AXP_HOME_PAGES, AXP_HOME_PAGE_DEFAULT_KEY, AXP_HOME_TAB_KEY, AXP_INTEGRATION_CONNECTION_ESTABLISHED, AXP_INTEGRATION_CONNECTION_LIFECYCLE, AXP_INTEGRATION_DOMAIN_PROVIDER, 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_LOCAL_ENTITY_BROADCAST_CHANNEL, AXP_LOCAL_ENTITY_DEFAULT_MAX_ITEMS, AXP_LOCAL_ENTITY_OUTBOX_LOCK, AXP_MENU_MIDDLEWARE, AXP_MENU_PROVIDER, AXP_NOT_FOUND_CATCH_ALL_ROUTE, AXP_NOT_FOUND_ROUTE, AXP_OUTPUT_CONTRACT_TRANSCRIPT_SEGMENT_PROVIDER, AXP_PLATFORM_BRANDING_SETTING_KEYS, AXP_PLATFORM_CONFIG_TOKEN, AXP_PROTECTED_ROUTE_GUARDS, AXP_ROOT_CONFIG_TOKEN, AXP_RUNTIME_QUERY_CACHE_DEFAULTS, AXP_SEARCH_DEFINITION_LAZY_RESOLVER, AXP_SEARCH_DEFINITION_PROVIDER, AXP_SEARCH_PROVIDER, AXP_SETTINGS_CACHE_SYNC, AXP_SETTINGS_SYNC_DEBOUNCE_MS, AXP_SETTINGS_SYNC_KEYS, AXP_SETTINGS_SYNC_RETRY_BACKOFF_MS, AXP_SETTINGS_SYNC_TTL_MS, AXP_SETTING_DEFAULT_VALUES_PROVIDERS, AXP_SETTING_DEFINITION_PROVIDER, AXP_SETTING_SCOPE_DESCENDANTS, AXP_SETTING_VALUE_PROVIDER, AXP_STATUS_PROVIDERS, AXP_TAB_BREADCRUMB_JOIN_SEPARATOR, AXP_TAB_ROUTE_DATA_KEY, AXP_TOKEN_DEFINITION_PROVIDER, AXP_UNAUTHORIZED_ROUTE, AXP_USER_NOTIFICATION_SERVICE, AXVChangeType, AX_FILE_TYPE_METADATA_SUPPORT_BY_FILE_VIEWER, BETWEEN_OPER, BOOLEAN_OPERATORS, CONTAINS_OPER, DATE_OPERATORS, DEFAULT_DATE_FILTER_PRESETS, DEFAULT_MULTILANGUAGE_FIELD_NAMES, ENDS_WITH_OPER, ENTITY_LIST_DEFAULT_INSTANCE_ID, ENTITY_LIST_INSTANCE_QUERY_PARAM, ENVIRONMENT, EQ_OPER, FILE_VIEWER_PREVIEW_EXTENSIONS, 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, SETTINGS_TRACE_NS, SETTINGS_TRACE_TITLE, STARTS_WITH_OPER, STRING_OPERATORS, UploadFromComputerActionProvider, applyDateFilterPreset, axpBackgroundOperationCapabilities, axpBackgroundOperationDisplayTime, axpBackgroundOperationDurationMs, axpBackgroundOperationEntityName, axpBackgroundOperationEstimateEndDate, axpBackgroundOperationFailurePolicy, axpBackgroundOperationFromEntityModel, axpBackgroundOperationRemainingMs, axpBackgroundOperationStatusTextParams, axpBackgroundOperationToEntityModel, axpBeginCommandSubFlowNavigation, axpBuildBackgroundOperation, axpBuildTabKey, axpClearEntityDetailsNavTrail, axpCloneBreadcrumbItems, axpCoerceBackgroundOperationDate, axpComposeEntityDetailsNavTrail, axpCreateBackgroundOperationId, axpEndCommandSubFlowNavigation, axpEnsureEntityListInstanceQueryParam, axpEntityKeyFromDetailsPath, axpFallbackTabTitle, axpFindMenuItemByRoute, axpFormatBackgroundOperationDurationMs, axpGetBreadcrumbNavigatePath, axpGetEntityDetailsNavTrail, axpGetEntityListInstanceIdFromParamMap, axpGetEntityListInstanceIdFromPath, axpGetEntityListInstanceIdFromQueryString, axpGetEntityListReturnUrl, axpGetLeafRouteSnapshot, axpHasTabScope, axpInterpolateNavigatePath, axpIsActiveBackgroundOperationStatus, axpIsBackgroundOperationI18nText, axpIsCommandSubFlowNavigationSuspended, axpIsCompletedBackgroundOperationStatus, axpIsCompletedPanelBackgroundOperation, axpIsEntityDetailsPath, axpIsEntityDetailsViewRoute, axpIsEntityListPath, axpIsEntityListRoute, axpIsEntityRecordNotFound, axpIsInProgressPanelBackgroundOperation, axpIsLikelyNetworkFailure, axpIsSameEntityDetailsRecord, axpIsTabEligibleUrl, axpIsTrayVisibleBackgroundOperation, axpJoinTabTitleSegments, axpLocalEntityCanServeListLocally, axpLocalEntityHotListRequest, axpLocalEntityIndexedDb, axpLocalEntityRecordId, axpLocalEntitySortAt, axpLocalEntitySupportsOfflineWrite, axpLocalEntityToPayload, axpMenuItemListInstanceId, axpMenuPathsMatch, axpNavigateAppPath, axpNavigateCommandDefinition, axpNormalizeEntityListInstanceId, axpPageGetContextQueryDefinition, axpPageRunActionCommandDefinition, axpParseAppPath, axpParseEntityDetailsRoute, axpParseEntityListRoute, axpPathFromSnapshot, axpPeekCommandSubFlowReturnUrl, axpPlatformSettingsAvailableGuard, axpPrepareOriginNavTrail, axpRedirectToNotFound, axpRedirectToUnauthorized, axpReplaceEntityListRouteQueryParams, axpResolveNavigatePath, axpResolveTabKey, axpResolveTabKeyFromRouteConfig, axpResolveTabKeyFromSnapshot, axpResolveTabTitleParts, axpSaveEntityDetailsNavTrail, axpSaveEntityListReturnUrl, axpSetEntityDetailsPageQuery, axpSettingsIndexedDb, axpSplitCollapsedBreadcrumbs, axpStampEntityListMenuInstancePaths, axpStripHomeBreadcrumb, axpStripTrailingCommandlessCrumbs, axpTrimNavTrailBeforeTarget, backgroundOperationEntityFactory, buildFileStorageDownloadUrl, buildLocalEntityMetaId, buildLocalEntityStorageId, buildScopedSettingsSnapshotId, chooseSystemFiles, coerceAXPSettingRawValue, coerceAXPSettingRawValueByKind, configPlatform, createBackgroundOperationStore, createDefaultSettingValueProviders, createEmptyScopedSettingsSnapshot, createEntityCommandOptions, createEntityRowExpressionScope, createEntitySearchCommand, createFileTypeOpenContext, createIndexedDbSettingValueProviders, createMenuContext, createMenuMiddleware, createUnsavedChangesCanDeactivateGuard, downloadGraphicFromElement, evaluateEntityDisplayTemplate, extractFileExtension, extractHttpRequestErrorInfo, extractRequestErrorInfo, findManualPresetIdByOperation, formatEntityRowDisplayTitle, formatRequestError, hasFileTypeOpenHandler, hydrateSettingsValuesFromIndexedDb, inferSettingCoercionKind, isFileNameShownInViewer, isFileTypeShownInViewer, isFileViewerPreviewExtension, isOneWaySettingsIndexedDbCache, isPendingCascadeFilter, isSettingKeyCacheable, isSettingVisibleOnScope, isStoredImageFileId, normalizeAvailableLanguageCodes, normalizeDocumentFileTypePurposes, normalizeDocumentToFileListItem, normalizeOverridableAt, normalizePositiveNumberOption, normalizeRouterUrl, normalizeStoredImageRef, peelSettingValueKey, platformErrorI18nKey, primaryLanguageSubtag, printGraphicFromElement, projectSettingsValuesForIndexedDb, provideAXPUserNotificationService, provideDynamicHomePage, provideLocalEntityOfflineRuntime, provideMenuMiddleware, purgeLegacyTenantScopedSettingsSnapshots, resolveDateFilterPresets, resolveEffectiveAvailableLanguageCodes, resolveEntityCreateListBehavior, resolveEntityDetailsRouteAccess, resolveEntityModifyPopupTitle, resolveEntityRowDisplayText, resolveEntityRowDisplayTitle, resolveEntityRowDisplayTitleFromColumnContext, resolveEntitySearchTitleFallback, resolveExplorerFileDisplayName, resolveFileTypeDisplay, resolveFileViewerType, resolveGraphicElementSize, resolveGraphicPrintContent, resolveQueryMatchingDisplayText, resolveSearchDisplayTemplate, resolveSearchableText, resolveStoredImageDisplayUrl, searchInRecordValues, searchInSearchableValue, serializeSvgElement, shouldApplyDefaultMultiLanguageToEntityProperty, shouldApplyDefaultMultiLanguageToWidgetNode, shouldApplyDefaultMultiLanguageToWidgetProperty, shouldPersistSettingsInIndexedDb, stripAccidentalNestedSettingParents, throwIfCommandFailed, toAXPRequestError, toExecuteCommandFailureResult, traceSettingsAppStartupLoadComplete, traceSettingsAppStartupLoadStarted, traceSettingsClientTool, traceSettingsFlush, traceSettingsLocalPersist, traceSettingsPageLoadComplete, traceSettingsPageLoadStarted, traceSettingsPageRouteLoad, traceSettingsRetryScheduled, traceSettingsRevalidateFailed, traceSettingsServerApiCall, traceSettingsServiceLoadComplete, traceSettingsServiceLoadFailed, traceSettingsServiceLoadStarted, traceSettingsServiceReload, traceSettingsSyncFailed, triggerBrowserDownload, tryOpenFileByCatalogType, withDefaultMultiLanguageOnWidgetNodeTree, withDefaultMultiLanguageOnWidgetProperty };
|
|
14136
|
+
export { ALL_DEFAULT_OPERATORS, AXPAcorexFileTypeBridgeProvider, AXPAcorexFileTypeModule, AXPAppVersionService, AXPBackgroundOperationCompletionService, AXPBackgroundOperationEntityStoreService, AXPBackgroundOperationHandler, AXPBackgroundOperationNotificationService, AXPBackgroundOperationProvider, AXPBackgroundOperationRootConfig, AXPBackgroundOperationService, AXPBackgroundOperationSlotComponent, AXPBrowserTitleService, AXPCleanNestedFilters, AXPClipBoardService, AXPCommonModule, AXPCommonSettings, AXPCustomOperatorService, AXPCustomOperatorServiceImpl, AXPDataProvider, AXPDefaultMultiLanguageConfigService, AXPEntityDetailsNavTrailService, AXPErrorHandlerRegistryService, AXPExportService, AXPFileActionsService, AXPFileChooserSettings, AXPFileStorageEvaluatorScopeProvider, AXPFileStorageService, AXPFileTypeProviderService, AXPFilterOperatorMiddlewareService, AXPFilterOperatorMiddlewareServiceImpl, AXPFooterTextSlotComponent, AXPGlobalErrorHandler, AXPHomePageModule, AXPHomePageService, AXPIndexedDbSettingValueProvider, AXPIntegrationDomainProviderContext, AXPIntegrationDomainRegistryFacade, AXPIntegrationDomainRegistryService, AXPIntegrationOAuthService, AXPIntegrationProviderContext, AXPIntegrationProviderRegistryService, AXPIntegrationRuntimeService, AXPKeyboardShortcutsHelpComponent, AXPKeyboardShortcutsHelpService, AXPLocalEntityEngine, AXPLocalEntityIndexedDb, AXPLocalEntityOfflineRuntime, AXPLocalEntityOutboxService, AXPLocalEntityRealtimeBridge, AXPLockService, AXPLogoImageSrcResolverService, AXPMenuKeyboardShortcutService, AXPMenuMiddlewareRegistry, AXPMenuProviderService, AXPMenuRouteAccessService, AXPMenuRouteGuard, AXPMenuSearchDefinitionProvider, AXPMenuSearchProvider, AXPMenuService, AXPMenuVisibilityService, AXPNavBarSlotComponent, AXPNavigateCommand, AXPNetworkConnectivityService, AXPNotFoundCatchAllRoute, AXPNotFoundError, AXPOutputContractTranscriptSegmentService, AXPPageGetContextQuery, AXPPageRunActionCommand, AXPPlatformBrandingService, AXPPlatformDefaultConfigs, AXPPlatformSettingsLoadState, AXPPlatformSettingsOfflineBootstrapService, AXPQueryEvaluatorScopeProvider, AXPQueryParamsEvaluatorScopeProvider, AXPRegionalCalendarService, AXPSearchCommandProvider, AXPSearchDefinitionActionBuilder, AXPSearchDefinitionBuilder, AXPSearchDefinitionProviderContext, AXPSearchDefinitionProviderService, AXPSearchService, AXPSettingDefaultValuesAggregatorService, AXPSettingDefinitionGroupBuilder, AXPSettingDefinitionProviderContext, AXPSettingDefinitionProviderService, AXPSettingDefinitionSectionBuilder, AXPSettingsBulkSyncService, AXPSettingsEvaluatorScopeProvider, AXPSettingsIndexedDb, AXPSettingsService, AXPStateMessageComponent, AXPStatusDefinitionProviderService, AXPStickyDirective, AXPTabNavigationService, AXPTabPreviewService, AXPTabRouteCacheRegistry, AXPTokenDefinitionService, AXPTokenEvaluatorScopeProvider, AXPTranslateFormatter, AXPUnsavedChangesConfirmService, AXPUnsavedChangesPopstateService, AXPUserNotificationService, AXPVersioningService, 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_BREADCRUMB_COLLAPSE_HEAD_COUNT, AXP_BREADCRUMB_COLLAPSE_TAIL_COUNT, AXP_DOCUMENT_FILE_TYPE_PURPOSES, AXP_ENTITY_LIST_DISPLAY_MODE_DEFAULT, AXP_ENTITY_VIEW_ACCESS, AXP_EXPERIENCE_SETTINGS_GROUP, AXP_EXPERIENCE_SETTINGS_SECTIONS, AXP_FILE_ACTION_PROVIDER, AXP_FILE_TYPE_INFO_PROVIDER, AXP_HOME_PAGES, AXP_HOME_PAGE_DEFAULT_KEY, AXP_HOME_TAB_KEY, AXP_INTEGRATION_CONNECTION_ESTABLISHED, AXP_INTEGRATION_CONNECTION_LIFECYCLE, AXP_INTEGRATION_DOMAIN_PROVIDER, 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_LOCAL_ENTITY_BROADCAST_CHANNEL, AXP_LOCAL_ENTITY_DEFAULT_MAX_ITEMS, AXP_LOCAL_ENTITY_OUTBOX_LOCK, AXP_MENU_MIDDLEWARE, AXP_MENU_PROVIDER, AXP_NOT_FOUND_CATCH_ALL_ROUTE, AXP_NOT_FOUND_ROUTE, AXP_OUTPUT_CONTRACT_TRANSCRIPT_SEGMENT_PROVIDER, AXP_PLATFORM_BRANDING_SETTING_KEYS, AXP_PLATFORM_CONFIG_TOKEN, AXP_PROTECTED_ROUTE_GUARDS, AXP_ROOT_CONFIG_TOKEN, AXP_RUNTIME_QUERY_CACHE_DEFAULTS, AXP_SEARCH_DEFINITION_LAZY_RESOLVER, AXP_SEARCH_DEFINITION_PROVIDER, AXP_SEARCH_PROVIDER, AXP_SETTINGS_CACHE_SYNC, AXP_SETTINGS_SYNC_DEBOUNCE_MS, AXP_SETTINGS_SYNC_KEYS, AXP_SETTINGS_SYNC_RETRY_BACKOFF_MS, AXP_SETTINGS_SYNC_TTL_MS, AXP_SETTING_DEFAULT_VALUES_PROVIDERS, AXP_SETTING_DEFINITION_PROVIDER, AXP_SETTING_SCOPE_DESCENDANTS, AXP_SETTING_VALUE_PROVIDER, AXP_STATUS_PROVIDERS, AXP_TAB_BREADCRUMB_JOIN_SEPARATOR, AXP_TAB_ROUTE_DATA_KEY, AXP_TOKEN_DEFINITION_PROVIDER, AXP_UNAUTHORIZED_ROUTE, AXP_USER_NOTIFICATION_SERVICE, AXVChangeType, AX_FILE_TYPE_METADATA_SUPPORT_BY_FILE_VIEWER, BETWEEN_OPER, BOOLEAN_OPERATORS, CONTAINS_OPER, DATE_OPERATORS, DEFAULT_DATE_FILTER_PRESETS, DEFAULT_MULTILANGUAGE_FIELD_NAMES, ENDS_WITH_OPER, ENTITY_LIST_DEFAULT_INSTANCE_ID, ENTITY_LIST_INSTANCE_QUERY_PARAM, ENVIRONMENT, EQ_OPER, FILE_VIEWER_PREVIEW_EXTENSIONS, 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, SETTINGS_TRACE_NS, SETTINGS_TRACE_TITLE, STARTS_WITH_OPER, STRING_OPERATORS, UploadFromComputerActionProvider, applyDateFilterPreset, axpBackgroundOperationCapabilities, axpBackgroundOperationDisplayTime, axpBackgroundOperationDurationMs, axpBackgroundOperationEntityName, axpBackgroundOperationEstimateEndDate, axpBackgroundOperationFailurePolicy, axpBackgroundOperationFromEntityModel, axpBackgroundOperationRemainingMs, axpBackgroundOperationStatusTextParams, axpBackgroundOperationToEntityModel, axpBeginCommandSubFlowNavigation, axpBuildBackgroundOperation, axpBuildTabKey, axpClearEntityDetailsNavTrail, axpCloneBreadcrumbItems, axpCoerceBackgroundOperationDate, axpComposeEntityDetailsNavTrail, axpCreateBackgroundOperationId, axpEndCommandSubFlowNavigation, axpEnsureEntityListInstanceQueryParam, axpEntityKeyFromDetailsPath, axpEntityListNavigationTabKey, axpFallbackTabTitle, axpFindMenuItemByRoute, axpFormatBackgroundOperationDurationMs, axpGetBreadcrumbNavigatePath, axpGetEntityDetailsNavTrail, axpGetEntityListInstanceIdFromParamMap, axpGetEntityListInstanceIdFromPath, axpGetEntityListInstanceIdFromQueryString, axpGetEntityListReturnUrl, axpGetLeafRouteSnapshot, axpHasTabScope, axpInterpolateNavigatePath, axpIsActiveBackgroundOperationStatus, axpIsBackgroundOperationI18nText, axpIsCommandSubFlowNavigationSuspended, axpIsCompletedBackgroundOperationStatus, axpIsCompletedPanelBackgroundOperation, axpIsEntityDetailsPath, axpIsEntityDetailsViewRoute, axpIsEntityListPath, axpIsEntityListRoute, axpIsEntityRecordNotFound, axpIsInProgressPanelBackgroundOperation, axpIsLikelyNetworkFailure, axpIsSameEntityDetailsRecord, axpIsTabEligibleUrl, axpIsTrayVisibleBackgroundOperation, axpJoinTabTitleSegments, axpLocalEntityCanServeListLocally, axpLocalEntityHotListRequest, axpLocalEntityIndexedDb, axpLocalEntityRecordId, axpLocalEntitySortAt, axpLocalEntitySupportsOfflineWrite, axpLocalEntityToPayload, axpMenuItemListInstanceId, axpMenuPathsMatch, axpNavigateAppPath, axpNavigateCommandDefinition, axpNormalizeEntityListInstanceId, axpPageGetContextQueryDefinition, axpPageRunActionCommandDefinition, axpParseAppPath, axpParseEntityDetailsRoute, axpParseEntityListRoute, axpPathFromSnapshot, axpPeekCommandSubFlowReturnUrl, axpPlatformSettingsAvailableGuard, axpPrepareOriginNavTrail, axpRedirectToNotFound, axpRedirectToUnauthorized, axpReplaceEntityListRouteQueryParams, axpResolveNavigatePath, axpResolveTabKey, axpResolveTabKeyFromRouteConfig, axpResolveTabKeyFromSnapshot, axpResolveTabTitleParts, axpSaveEntityDetailsNavTrail, axpSaveEntityListReturnUrl, axpSetEntityDetailsPageQuery, axpSettingsIndexedDb, axpSplitCollapsedBreadcrumbs, axpStampEntityListMenuInstancePaths, axpStripHomeBreadcrumb, axpStripTrailingCommandlessCrumbs, axpTabScopePathFromSnapshot, axpTrimNavTrailBeforeTarget, backgroundOperationEntityFactory, buildFileStorageDownloadUrl, buildLocalEntityMetaId, buildLocalEntityStorageId, buildScopedSettingsSnapshotId, chooseSystemFiles, coerceAXPSettingRawValue, coerceAXPSettingRawValueByKind, configPlatform, createBackgroundOperationStore, createDefaultSettingValueProviders, createEmptyScopedSettingsSnapshot, createEntityCommandOptions, createEntityRowExpressionScope, createEntitySearchCommand, createFileTypeOpenContext, createIndexedDbSettingValueProviders, createMenuContext, createMenuMiddleware, createUnsavedChangesCanDeactivateGuard, downloadGraphicFromElement, evaluateEntityDisplayTemplate, extractFileExtension, extractHttpRequestErrorInfo, extractRequestErrorInfo, findManualPresetIdByOperation, formatEntityRowDisplayTitle, formatRequestError, hasFileTypeOpenHandler, hydrateSettingsValuesFromIndexedDb, inferSettingCoercionKind, isFileNameShownInViewer, isFileTypeShownInViewer, isFileViewerPreviewExtension, isOneWaySettingsIndexedDbCache, isPendingCascadeFilter, isSettingKeyCacheable, isSettingVisibleOnScope, isStoredImageFileId, normalizeAvailableLanguageCodes, normalizeDocumentFileTypePurposes, normalizeDocumentToFileListItem, normalizeOverridableAt, normalizePositiveNumberOption, normalizeRouterUrl, normalizeStoredImageRef, peelSettingValueKey, platformErrorI18nKey, primaryLanguageSubtag, printGraphicFromElement, projectSettingsValuesForIndexedDb, provideAXPUserNotificationService, provideDynamicHomePage, provideLocalEntityOfflineRuntime, provideMenuMiddleware, purgeLegacyTenantScopedSettingsSnapshots, resolveDateFilterPresets, resolveEffectiveAvailableLanguageCodes, resolveEntityCreateListBehavior, resolveEntityDetailsRouteAccess, resolveEntityModifyPopupTitle, resolveEntityRowDisplayText, resolveEntityRowDisplayTitle, resolveEntityRowDisplayTitleFromColumnContext, resolveEntitySearchTitleFallback, resolveExplorerFileDisplayName, resolveFileTypeDisplay, resolveFileViewerType, resolveGraphicElementSize, resolveGraphicPrintContent, resolveQueryMatchingDisplayText, resolveSearchDisplayTemplate, resolveSearchableText, resolveStoredImageDisplayUrl, searchInRecordValues, searchInSearchableValue, serializeSvgElement, shouldApplyDefaultMultiLanguageToEntityProperty, shouldApplyDefaultMultiLanguageToWidgetNode, shouldApplyDefaultMultiLanguageToWidgetProperty, shouldPersistSettingsInIndexedDb, stripAccidentalNestedSettingParents, throwIfCommandFailed, toAXPRequestError, toExecuteCommandFailureResult, traceSettingsAppStartupLoadComplete, traceSettingsAppStartupLoadStarted, traceSettingsClientTool, traceSettingsFlush, traceSettingsLocalPersist, traceSettingsPageLoadComplete, traceSettingsPageLoadStarted, traceSettingsPageRouteLoad, traceSettingsRetryScheduled, traceSettingsRevalidateFailed, traceSettingsServerApiCall, traceSettingsServiceLoadComplete, traceSettingsServiceLoadFailed, traceSettingsServiceLoadStarted, traceSettingsServiceReload, traceSettingsSyncFailed, triggerBrowserDownload, tryOpenFileByCatalogType, withDefaultMultiLanguageOnWidgetNodeTree, withDefaultMultiLanguageOnWidgetProperty };
|
|
14058
14137
|
//# sourceMappingURL=acorex-platform-framework-client-common.mjs.map
|