@acorex-platform/framework-client 2.0.0-next.13 → 2.0.0-next.14
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-common-settings.provider-Cyr1DaiD.mjs → acorex-platform-framework-client-common-common-settings.provider-ChU2tvyt.mjs} +2 -19
- package/fesm2022/{acorex-platform-framework-client-common-common-settings.provider-Cyr1DaiD.mjs.map → acorex-platform-framework-client-common-common-settings.provider-ChU2tvyt.mjs.map} +1 -1
- package/fesm2022/acorex-platform-framework-client-common.mjs +26 -126
- package/fesm2022/acorex-platform-framework-client-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-framework-client-layout-components.mjs +98 -221
- package/fesm2022/acorex-platform-framework-client-layout-components.mjs.map +1 -1
- package/fesm2022/{acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-D2kZxLOh.mjs → acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-BukN_67G.mjs} +83 -35
- package/fesm2022/{acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-D2kZxLOh.mjs.map → acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-BukN_67G.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-framework-client-layout-entity-attachments-page.component-BManmr01.mjs → acorex-platform-framework-client-layout-entity-attachments-page.component-BbUuuGOT.mjs} +2 -2
- package/fesm2022/{acorex-platform-framework-client-layout-entity-attachments-page.component-BManmr01.mjs.map → acorex-platform-framework-client-layout-entity-attachments-page.component-BbUuuGOT.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-framework-client-layout-entity-bulk-entity.command-B8XsnrnO.mjs → acorex-platform-framework-client-layout-entity-bulk-entity.command-B2flk4OK.mjs} +2 -2
- package/fesm2022/{acorex-platform-framework-client-layout-entity-bulk-entity.command-B8XsnrnO.mjs.map → acorex-platform-framework-client-layout-entity-bulk-entity.command-B2flk4OK.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-framework-client-layout-entity-file-list-popup.component-DGZVS11E.mjs → acorex-platform-framework-client-layout-entity-file-list-popup.component-og7hv1xh.mjs} +2 -2
- package/fesm2022/{acorex-platform-framework-client-layout-entity-file-list-popup.component-DGZVS11E.mjs.map → acorex-platform-framework-client-layout-entity-file-list-popup.component-og7hv1xh.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-framework-client-layout-entity-gallery-page.component-Be348QCj.mjs → acorex-platform-framework-client-layout-entity-gallery-page.component-BorqAr7O.mjs} +2 -2
- package/fesm2022/{acorex-platform-framework-client-layout-entity-gallery-page.component-Be348QCj.mjs.map → acorex-platform-framework-client-layout-entity-gallery-page.component-BorqAr7O.mjs.map} +1 -1
- package/fesm2022/acorex-platform-framework-client-layout-entity.mjs +1 -1
- package/fesm2022/acorex-platform-framework-client-layout-views.mjs +10 -59
- package/fesm2022/acorex-platform-framework-client-layout-views.mjs.map +1 -1
- package/fesm2022/acorex-platform-framework-client-layout-widget-core.mjs +158 -42
- package/fesm2022/acorex-platform-framework-client-layout-widget-core.mjs.map +1 -1
- package/fesm2022/{acorex-platform-framework-client-layout-widgets-acorex-platform-framework-client-layout-widgets-M8SZFPQx.mjs → acorex-platform-framework-client-layout-widgets-acorex-platform-framework-client-layout-widgets-CzhP4_OE.mjs} +5 -13
- package/fesm2022/acorex-platform-framework-client-layout-widgets-acorex-platform-framework-client-layout-widgets-CzhP4_OE.mjs.map +1 -0
- package/fesm2022/{acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-DsLgZbZA.mjs → acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-BIl416zF.mjs} +2 -2
- package/fesm2022/{acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-DsLgZbZA.mjs.map → acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-BIl416zF.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-Vpz3itLZ.mjs → acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-DK8XXQuT.mjs} +2 -2
- package/fesm2022/{acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-Vpz3itLZ.mjs.map → acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-DK8XXQuT.mjs.map} +1 -1
- package/fesm2022/acorex-platform-framework-client-layout-widgets.mjs +1 -1
- package/fesm2022/acorex-platform-framework-client-realtime.mjs +7 -49
- package/fesm2022/acorex-platform-framework-client-realtime.mjs.map +1 -1
- package/fesm2022/acorex-platform-framework-client-themes-default.mjs +7 -14
- package/fesm2022/acorex-platform-framework-client-themes-default.mjs.map +1 -1
- package/i18n/en-AU/general.json +4 -16
- package/i18n/en-AU/layout.json +1 -2
- package/i18n/en-US/general.json +4 -16
- package/i18n/en-US/layout.json +1 -2
- package/i18n/fa-IR/general.json +4 -16
- package/i18n/fa-IR/layout.json +1 -2
- package/package.json +2 -2
- package/types/acorex-platform-framework-client-common.d.ts +5 -40
- package/types/acorex-platform-framework-client-layout-components.d.ts +3 -9
- package/types/acorex-platform-framework-client-layout-entity.d.ts +50 -2
- package/types/acorex-platform-framework-client-layout-views.d.ts +0 -15
- package/types/acorex-platform-framework-client-layout-widget-core.d.ts +11 -11
- package/types/acorex-platform-framework-client-layout-widgets.d.ts +0 -12
- package/types/acorex-platform-framework-client-realtime.d.ts +0 -5
- package/fesm2022/acorex-platform-framework-client-layout-widgets-acorex-platform-framework-client-layout-widgets-M8SZFPQx.mjs.map +0 -1
|
@@ -14,7 +14,7 @@ import { AXDecoratorModule } from '@acorex/components/decorators';
|
|
|
14
14
|
import * as i6 from '@acorex/components/dropdown';
|
|
15
15
|
import { AXDropdownModule } from '@acorex/components/dropdown';
|
|
16
16
|
import { AXDropdownButtonModule } from '@acorex/components/dropdown-button';
|
|
17
|
-
import { AXPTabNavigationService, axpSplitCollapsedBreadcrumbs, AXPStickyDirective, AXPCommonSettings, AXPHomePageService, AXPSettingsService, AXPTabPreviewService, AXPUnsavedChangesConfirmService, AXPBrowserTitleService, AXPEntityDetailsNavTrailService, axpJoinTabTitleSegments,
|
|
17
|
+
import { AXPTabNavigationService, axpSplitCollapsedBreadcrumbs, AXPStickyDirective, AXPCommonSettings, AXPHomePageService, AXPSettingsService, AXPTabPreviewService, AXPUnsavedChangesConfirmService, AXPBrowserTitleService, AXPEntityDetailsNavTrailService, axpJoinTabTitleSegments, normalizeRouterUrl, AXP_HOME_TAB_KEY, axpResolveTabKey, axpIsEntityListPath, axpParseEntityListRoute, axpGetEntityListReturnUrl, axpIsEntityDetailsPath, axpParseEntityDetailsRoute, axpSetEntityDetailsPageQuery, axpIsEntityDetailsViewRoute, AXPNotFoundError, AXP_NOT_FOUND_ROUTE, AXPUnsavedChangesPopstateService, createUnsavedChangesCanDeactivateGuard } from '@acorex-platform/framework-client/common';
|
|
18
18
|
import * as i9 from '@acorex-platform/framework-client/core';
|
|
19
19
|
import { AXPDeviceService, AXPComponentSlotModule, AXPDebugService, OVERLAY_DETAILS_VIEW_TRACE_NS, AXPExpressionEvaluatorService, AXPContextEvalFactory, normalizeKeyboardShortcuts, AXPContextStore, AXPEntityBroadcastService, AXPKeyboardShortcutRegistry } from '@acorex-platform/framework-client/core';
|
|
20
20
|
import * as i1 from '@acorex/cdk/drawer';
|
|
@@ -30,7 +30,7 @@ import { AXToastService } from '@acorex/components/toast';
|
|
|
30
30
|
import { AXFormatService, AXFormatModule } from '@acorex/core/format';
|
|
31
31
|
import { AXPSessionService } from '@acorex-platform/framework-client/auth';
|
|
32
32
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
33
|
-
import { Router,
|
|
33
|
+
import { Router, NavigationEnd, ActivatedRoute } from '@angular/router';
|
|
34
34
|
import { isEmpty, cloneDeep, get } from 'lodash-es';
|
|
35
35
|
import { filter } from 'rxjs/operators';
|
|
36
36
|
import { AXBasePageComponent } from '@acorex/components/page';
|
|
@@ -263,7 +263,6 @@ class AXPPageLayoutBaseComponent {
|
|
|
263
263
|
this.unsavedChangesConfirm = inject(AXPUnsavedChangesConfirmService);
|
|
264
264
|
this.browserTitleService = inject(AXPBrowserTitleService);
|
|
265
265
|
this.router = inject(Router);
|
|
266
|
-
this.pageLayoutRoute = inject(ActivatedRoute);
|
|
267
266
|
this.navTrailService = inject(AXPEntityDetailsNavTrailService);
|
|
268
267
|
this.pageLayoutDestroyRef = inject(DestroyRef);
|
|
269
268
|
//#endregion
|
|
@@ -325,7 +324,7 @@ class AXPPageLayoutBaseComponent {
|
|
|
325
324
|
this.title.set(await this.getPageTitle());
|
|
326
325
|
const icon = await this.getPageIcon();
|
|
327
326
|
this.titleIcon.set(icon);
|
|
328
|
-
if (this.tabNavigation.effectiveMode() === 'tabular'
|
|
327
|
+
if (this.tabNavigation.effectiveMode() === 'tabular') {
|
|
329
328
|
const tabKey = this.pageTabKey();
|
|
330
329
|
if (tabKey && icon) {
|
|
331
330
|
this.tabNavigation.syncTabIcon(tabKey, icon);
|
|
@@ -411,30 +410,15 @@ class AXPPageLayoutBaseComponent {
|
|
|
411
410
|
if (isActiveForNavTrail && this.isActivePageForNavTrail()) {
|
|
412
411
|
this.navTrailService.setActiveTrail(breadCrumbs);
|
|
413
412
|
}
|
|
414
|
-
if (this.tabNavigation.effectiveMode() === 'tabular'
|
|
413
|
+
if (this.tabNavigation.effectiveMode() === 'tabular') {
|
|
415
414
|
const tabKey = this.pageTabKey();
|
|
416
|
-
const
|
|
417
|
-
|
|
418
|
-
|
|
415
|
+
const tabTitleSegments = await this.resolveBreadcrumbTabTitleSegments(breadCrumbs);
|
|
416
|
+
let tabTitle = tabTitleSegments.length ? axpJoinTabTitleSegments(tabTitleSegments) : null;
|
|
417
|
+
if (!tabTitle) {
|
|
418
|
+
tabTitle = await this.resolvePageTitleForTab();
|
|
419
419
|
}
|
|
420
|
-
if (
|
|
421
|
-
this.tabNavigation.syncTabTitle(tabKey,
|
|
422
|
-
}
|
|
423
|
-
else if (Array.isArray(routeTabTitle) && routeTabTitle.length) {
|
|
424
|
-
this.tabNavigation.syncTabTitle(tabKey, routeTabTitle);
|
|
425
|
-
}
|
|
426
|
-
else {
|
|
427
|
-
const tabTitleSegments = await this.resolveBreadcrumbTabTitleSegments(breadCrumbs);
|
|
428
|
-
let tabTitle = tabTitleSegments.length ? axpJoinTabTitleSegments(tabTitleSegments) : null;
|
|
429
|
-
if (!tabTitle) {
|
|
430
|
-
tabTitle = await this.resolvePageTitleForTab();
|
|
431
|
-
}
|
|
432
|
-
if (this.pageTabKey() !== tabKey || this.tabNavigation.activeKey() !== tabKey) {
|
|
433
|
-
return;
|
|
434
|
-
}
|
|
435
|
-
if (tabTitle) {
|
|
436
|
-
this.tabNavigation.syncTabTitle(tabKey, tabTitleSegments.length ? tabTitleSegments : tabTitle);
|
|
437
|
-
}
|
|
420
|
+
if (tabKey && tabTitle) {
|
|
421
|
+
this.tabNavigation.syncTabTitle(tabKey, tabTitleSegments.length ? tabTitleSegments : tabTitle);
|
|
438
422
|
}
|
|
439
423
|
}
|
|
440
424
|
}, /* @ts-ignore */
|
|
@@ -523,35 +507,9 @@ class AXPPageLayoutBaseComponent {
|
|
|
523
507
|
this.router.events
|
|
524
508
|
.pipe(filter((event) => event instanceof NavigationEnd), takeUntilDestroyed(this.pageLayoutDestroyRef))
|
|
525
509
|
.subscribe(() => {
|
|
526
|
-
this.syncOwnedPageTabKey();
|
|
527
510
|
void this.publishBrowserTitleIfActive();
|
|
528
511
|
});
|
|
529
512
|
}
|
|
530
|
-
/**
|
|
531
|
-
* Follows the scoped tab when this instance is the active route (settings scope changes).
|
|
532
|
-
* Cached background pages keep the key captured at init.
|
|
533
|
-
*/
|
|
534
|
-
syncOwnedPageTabKey() {
|
|
535
|
-
if (this.tabNavigation.effectiveMode() !== 'tabular' || !this.isOwningActiveRoute()) {
|
|
536
|
-
return;
|
|
537
|
-
}
|
|
538
|
-
const nextKey = this.resolvePageTabKey();
|
|
539
|
-
if (nextKey !== this.pageTabKey()) {
|
|
540
|
-
this.pageTabKey.set(nextKey);
|
|
541
|
-
}
|
|
542
|
-
}
|
|
543
|
-
/** True when this page's route snapshot is in the active router tree. */
|
|
544
|
-
isOwningActiveRoute() {
|
|
545
|
-
const own = this.pageLayoutRoute.snapshot;
|
|
546
|
-
const leaf = axpGetLeafRouteSnapshot(this.router.routerState.snapshot.root);
|
|
547
|
-
return leaf.pathFromRoot.includes(own);
|
|
548
|
-
}
|
|
549
|
-
/** True when this page may publish chrome onto its route tab. */
|
|
550
|
-
canPublishActiveTabChrome() {
|
|
551
|
-
const pageKey = this.pageTabKey();
|
|
552
|
-
const activeKey = this.tabNavigation.activeKey();
|
|
553
|
-
return !!pageKey && !!activeKey && pageKey === activeKey;
|
|
554
|
-
}
|
|
555
513
|
/** Maps the home-page route to the pinned home tab key instead of a path-based key. */
|
|
556
514
|
resolvePageTabKey() {
|
|
557
515
|
const homePath = this.homePageService.getCurrent().path;
|
|
@@ -674,13 +632,6 @@ class AXPPageLayoutBaseComponent {
|
|
|
674
632
|
getPageBreadcrumbs() {
|
|
675
633
|
return [];
|
|
676
634
|
}
|
|
677
|
-
/**
|
|
678
|
-
* Route-tab label for this page. Return a scope title when child routes are internal
|
|
679
|
-
* (settings groups). Null keeps the breadcrumb / page-title fallback.
|
|
680
|
-
*/
|
|
681
|
-
getRouteTabTitle() {
|
|
682
|
-
return null;
|
|
683
|
-
}
|
|
684
635
|
/** Collects resolved breadcrumb labels (Home excluded upstream) for tab chrome. */
|
|
685
636
|
async resolveBreadcrumbTabTitleSegments(pageBreadcrumbs) {
|
|
686
637
|
const segments = [];
|