@acorex-platform/framework-client 2.0.0-next.13 → 2.0.0-next.15

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.
Files changed (47) hide show
  1. package/fesm2022/{acorex-platform-framework-client-common-common-settings.provider-Cyr1DaiD.mjs → acorex-platform-framework-client-common-common-settings.provider-ChU2tvyt.mjs} +2 -19
  2. 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
  3. package/fesm2022/acorex-platform-framework-client-common.mjs +26 -126
  4. package/fesm2022/acorex-platform-framework-client-common.mjs.map +1 -1
  5. package/fesm2022/acorex-platform-framework-client-layout-components.mjs +98 -221
  6. package/fesm2022/acorex-platform-framework-client-layout-components.mjs.map +1 -1
  7. 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-RG1FLjoP.mjs} +17 -18
  8. 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-RG1FLjoP.mjs.map} +1 -1
  9. package/fesm2022/{acorex-platform-framework-client-layout-entity-attachments-page.component-BManmr01.mjs → acorex-platform-framework-client-layout-entity-attachments-page.component-Bh8YRyxV.mjs} +2 -2
  10. package/fesm2022/{acorex-platform-framework-client-layout-entity-attachments-page.component-BManmr01.mjs.map → acorex-platform-framework-client-layout-entity-attachments-page.component-Bh8YRyxV.mjs.map} +1 -1
  11. package/fesm2022/{acorex-platform-framework-client-layout-entity-bulk-entity.command-B8XsnrnO.mjs → acorex-platform-framework-client-layout-entity-bulk-entity.command-CSfoFx99.mjs} +2 -2
  12. package/fesm2022/{acorex-platform-framework-client-layout-entity-bulk-entity.command-B8XsnrnO.mjs.map → acorex-platform-framework-client-layout-entity-bulk-entity.command-CSfoFx99.mjs.map} +1 -1
  13. package/fesm2022/{acorex-platform-framework-client-layout-entity-file-list-popup.component-DGZVS11E.mjs → acorex-platform-framework-client-layout-entity-file-list-popup.component-Z2N8JZ3_.mjs} +2 -2
  14. 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-Z2N8JZ3_.mjs.map} +1 -1
  15. package/fesm2022/{acorex-platform-framework-client-layout-entity-gallery-page.component-Be348QCj.mjs → acorex-platform-framework-client-layout-entity-gallery-page.component-ZEGLkwzi.mjs} +2 -2
  16. package/fesm2022/{acorex-platform-framework-client-layout-entity-gallery-page.component-Be348QCj.mjs.map → acorex-platform-framework-client-layout-entity-gallery-page.component-ZEGLkwzi.mjs.map} +1 -1
  17. package/fesm2022/acorex-platform-framework-client-layout-entity.mjs +1 -1
  18. package/fesm2022/acorex-platform-framework-client-layout-views.mjs +10 -59
  19. package/fesm2022/acorex-platform-framework-client-layout-views.mjs.map +1 -1
  20. package/fesm2022/acorex-platform-framework-client-layout-widget-core.mjs +158 -42
  21. package/fesm2022/acorex-platform-framework-client-layout-widget-core.mjs.map +1 -1
  22. 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
  23. package/fesm2022/acorex-platform-framework-client-layout-widgets-acorex-platform-framework-client-layout-widgets-CzhP4_OE.mjs.map +1 -0
  24. 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
  25. 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
  26. 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
  27. 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
  28. package/fesm2022/acorex-platform-framework-client-layout-widgets.mjs +1 -1
  29. package/fesm2022/acorex-platform-framework-client-realtime.mjs +7 -49
  30. package/fesm2022/acorex-platform-framework-client-realtime.mjs.map +1 -1
  31. package/fesm2022/acorex-platform-framework-client-themes-default.mjs +7 -14
  32. package/fesm2022/acorex-platform-framework-client-themes-default.mjs.map +1 -1
  33. package/i18n/en-AU/general.json +4 -16
  34. package/i18n/en-AU/layout.json +1 -2
  35. package/i18n/en-US/general.json +4 -16
  36. package/i18n/en-US/layout.json +1 -2
  37. package/i18n/fa-IR/general.json +4 -16
  38. package/i18n/fa-IR/layout.json +1 -2
  39. package/package.json +2 -2
  40. package/types/acorex-platform-framework-client-common.d.ts +5 -40
  41. package/types/acorex-platform-framework-client-layout-components.d.ts +3 -9
  42. package/types/acorex-platform-framework-client-layout-entity.d.ts +0 -2
  43. package/types/acorex-platform-framework-client-layout-views.d.ts +0 -15
  44. package/types/acorex-platform-framework-client-layout-widget-core.d.ts +11 -11
  45. package/types/acorex-platform-framework-client-layout-widgets.d.ts +0 -12
  46. package/types/acorex-platform-framework-client-realtime.d.ts +0 -5
  47. 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, axpGetLeafRouteSnapshot, 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';
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, ActivatedRoute, NavigationEnd } from '@angular/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' && this.canPublishActiveTabChrome()) {
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' && this.canPublishActiveTabChrome()) {
413
+ if (this.tabNavigation.effectiveMode() === 'tabular') {
415
414
  const tabKey = this.pageTabKey();
416
- const routeTabTitle = await Promise.resolve(this.getRouteTabTitle());
417
- if (!tabKey || this.pageTabKey() !== tabKey || this.tabNavigation.activeKey() !== tabKey) {
418
- return;
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 (typeof routeTabTitle === 'string' && routeTabTitle.trim()) {
421
- this.tabNavigation.syncTabTitle(tabKey, routeTabTitle.trim());
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 = [];