aril 1.2.18 → 2.0.1-dev.0

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 (122) hide show
  1. package/boot/bridge/src/mfe-bridge.d.ts +42 -2
  2. package/boot/config/apps/index.d.ts +7 -1
  3. package/boot/config/apps/src/custom-reuse-outlet.component.d.ts +37 -0
  4. package/boot/config/apps/src/custom-route-reuse-strategy.class.d.ts +156 -0
  5. package/boot/config/apps/src/nav-link-context-menu.service.d.ts +33 -0
  6. package/boot/config/apps/src/nav-link.directive.d.ts +29 -0
  7. package/boot/config/apps/src/nav.service.d.ts +198 -0
  8. package/boot/config/apps/src/route-close.service.d.ts +9 -0
  9. package/boot/config/apps/src/safe-navigate.d.ts +17 -0
  10. package/boot/config/apps/src/tab-aware-url-serializer.d.ts +22 -0
  11. package/boot/config/plugins/src/getNgZone.d.ts +9 -1
  12. package/boot/mfe/src/app.component.d.ts +15 -4
  13. package/boot/mfe/src/isolated-location-strategy.d.ts +57 -0
  14. package/esm2022/boot/bridge/src/mfe-bridge.mjs +36 -5
  15. package/esm2022/boot/config/api/src/api.service.mjs +12 -3
  16. package/esm2022/boot/config/apps/index.mjs +8 -2
  17. package/esm2022/boot/config/apps/src/apps.service.mjs +14 -6
  18. package/esm2022/boot/config/apps/src/custom-reuse-outlet.component.mjs +207 -0
  19. package/esm2022/boot/config/apps/src/custom-route-reuse-strategy.class.mjs +540 -0
  20. package/esm2022/boot/config/apps/src/nav-link-context-menu.service.mjs +105 -0
  21. package/esm2022/boot/config/apps/src/nav-link.directive.mjs +45 -0
  22. package/esm2022/boot/config/apps/src/nav.service.mjs +675 -0
  23. package/esm2022/boot/config/apps/src/route-close.service.mjs +19 -0
  24. package/esm2022/boot/config/apps/src/safe-navigate.mjs +50 -0
  25. package/esm2022/boot/config/apps/src/tab-aware-url-serializer.mjs +50 -0
  26. package/esm2022/boot/config/plugins/src/getNgZone.mjs +13 -5
  27. package/esm2022/boot/host/src/app.component.mjs +1 -2
  28. package/esm2022/boot/host/src/bootstrap.mjs +22 -7
  29. package/esm2022/boot/mfe/src/app.component.mjs +143 -39
  30. package/esm2022/boot/mfe/src/bootstrap.mjs +197 -20
  31. package/esm2022/boot/mfe/src/isolated-location-strategy.mjs +142 -0
  32. package/esm2022/keycloak/src/auth.interceptor.mjs +17 -2
  33. package/esm2022/provider/src/prodiveHost.mjs +3 -5
  34. package/esm2022/provider/src/prodiveHostRouter.mjs +88 -9
  35. package/esm2022/theme/layout/app/expandableMenu/expandable-menu.component.mjs +81 -19
  36. package/esm2022/theme/layout/app/favorite-pages/favorite-pages-sidebar.component.mjs +6 -4
  37. package/esm2022/theme/layout/app/general-search/general-search.component.mjs +4 -4
  38. package/esm2022/theme/layout/app/history/history-sidebar.component.mjs +6 -4
  39. package/esm2022/theme/layout/app/layout/app.layout.component.mjs +422 -20
  40. package/esm2022/theme/layout/app/layout/mfe.layout.component.mjs +24 -35
  41. package/esm2022/theme/layout/app/site-map/site-map-sidebar.component.mjs +6 -4
  42. package/esm2022/theme/layout/app/static-sidebar/static-sidebar.component.mjs +85 -27
  43. package/esm2022/theme/layout/app/topbar/app.topbar.component.mjs +3 -3
  44. package/esm2022/theme/layout/service/breadcrumb-publisher.service.mjs +86 -0
  45. package/esm2022/theme/layout/service/tab-session.service.mjs +126 -0
  46. package/esm2022/ui-business/ref-value/src/ref-value.component.mjs +15 -7
  47. package/esm2022/util/sync-active-tab-route/src/sync-active-tab-route.directive.mjs +29 -9
  48. package/fesm2022/aril-app.component-s14ruALV.mjs +183 -0
  49. package/fesm2022/aril-app.component-s14ruALV.mjs.map +1 -0
  50. package/fesm2022/aril-boot-bridge.mjs +35 -4
  51. package/fesm2022/aril-boot-bridge.mjs.map +1 -1
  52. package/fesm2022/aril-boot-config-api.mjs +11 -2
  53. package/fesm2022/aril-boot-config-api.mjs.map +1 -1
  54. package/fesm2022/aril-boot-config-apps.mjs +1678 -10
  55. package/fesm2022/aril-boot-config-apps.mjs.map +1 -1
  56. package/fesm2022/aril-boot-config-plugins.mjs +12 -4
  57. package/fesm2022/aril-boot-config-plugins.mjs.map +1 -1
  58. package/fesm2022/aril-boot-host.mjs +21 -7
  59. package/fesm2022/aril-boot-host.mjs.map +1 -1
  60. package/fesm2022/aril-boot-mfe-app.component-a34GeuUv.mjs +183 -0
  61. package/fesm2022/aril-boot-mfe-app.component-a34GeuUv.mjs.map +1 -0
  62. package/fesm2022/aril-boot-mfe-aril-boot-mfe-KFO_X7yR.mjs +631 -0
  63. package/fesm2022/aril-boot-mfe-aril-boot-mfe-KFO_X7yR.mjs.map +1 -0
  64. package/fesm2022/aril-boot-mfe.mjs +5 -3
  65. package/fesm2022/aril-boot-mfe.mjs.map +1 -1
  66. package/fesm2022/aril-keycloak.mjs +16 -1
  67. package/fesm2022/aril-keycloak.mjs.map +1 -1
  68. package/fesm2022/aril-provider.mjs +90 -12
  69. package/fesm2022/aril-provider.mjs.map +1 -1
  70. package/fesm2022/aril-theme-layout.mjs +2630 -2017
  71. package/fesm2022/aril-theme-layout.mjs.map +1 -1
  72. package/fesm2022/aril-ui-business-ref-value.mjs +14 -6
  73. package/fesm2022/aril-ui-business-ref-value.mjs.map +1 -1
  74. package/fesm2022/aril-util-sync-active-tab-route.mjs +28 -8
  75. package/fesm2022/aril-util-sync-active-tab-route.mjs.map +1 -1
  76. package/fesm2022/aril.mjs +354 -25
  77. package/fesm2022/aril.mjs.map +1 -1
  78. package/keycloak/src/auth.interceptor.d.ts +7 -0
  79. package/package.json +216 -216
  80. package/provider/src/prodiveHost.d.ts +1 -0
  81. package/theme/layout/app/expandableMenu/expandable-menu.component.d.ts +21 -4
  82. package/theme/layout/app/expandableMenu/expandable-menu.component.html +19 -5
  83. package/theme/layout/app/expandableMenu/expandable-menu.component.ts +69 -9
  84. package/theme/layout/app/favorite-pages/favorite-pages-sidebar.component.html +1 -0
  85. package/theme/layout/app/favorite-pages/favorite-pages-sidebar.component.ts +3 -1
  86. package/theme/layout/app/general-search/general-search.component.html +2 -1
  87. package/theme/layout/app/general-search/general-search.component.ts +2 -2
  88. package/theme/layout/app/history/history-sidebar.component.html +3 -1
  89. package/theme/layout/app/history/history-sidebar.component.ts +3 -1
  90. package/theme/layout/app/layout/app.layout.component.d.ts +105 -5
  91. package/theme/layout/app/layout/app.layout.component.html +102 -1
  92. package/theme/layout/app/layout/app.layout.component.scss +372 -0
  93. package/theme/layout/app/layout/app.layout.component.ts +452 -13
  94. package/theme/layout/app/layout/mfe.layout.component.d.ts +7 -5
  95. package/theme/layout/app/layout/mfe.layout.component.ts +13 -39
  96. package/theme/layout/app/site-map/site-map-sidebar.component.html +1 -0
  97. package/theme/layout/app/site-map/site-map-sidebar.component.ts +3 -1
  98. package/theme/layout/app/static-sidebar/static-sidebar.component.d.ts +26 -5
  99. package/theme/layout/app/static-sidebar/static-sidebar.component.html +11 -5
  100. package/theme/layout/app/static-sidebar/static-sidebar.component.ts +68 -13
  101. package/theme/layout/app/topbar/app.topbar.component.html +0 -1
  102. package/theme/layout/app/topbar/app.topbar.component.scss +1 -1
  103. package/theme/layout/service/breadcrumb-publisher.service.d.ts +24 -0
  104. package/theme/layout/service/breadcrumb-publisher.service.ts +95 -0
  105. package/theme/layout/service/tab-session.service.d.ts +52 -0
  106. package/theme/layout/service/tab-session.service.ts +138 -0
  107. package/theme/styles/layout/_breadcrumb.scss +95 -0
  108. package/theme/styles/layout/_content.scss +2 -2
  109. package/ui-business/ref-value/src/ref-value.component.d.ts +4 -2
  110. package/util/sync-active-tab-route/src/sync-active-tab-route.directive.d.ts +15 -2
  111. package/boot/config/apps/src/reuse-strategy.d.ts +0 -4
  112. package/esm2022/boot/config/apps/src/reuse-strategy.mjs +0 -9
  113. package/esm2022/theme/layout/app/breadcrumb/app.breadcrumb.component.mjs +0 -107
  114. package/fesm2022/aril-app.component-wxP3y8dg.mjs +0 -81
  115. package/fesm2022/aril-app.component-wxP3y8dg.mjs.map +0 -1
  116. package/fesm2022/aril-boot-mfe-app.component-7IjAmjz0.mjs +0 -80
  117. package/fesm2022/aril-boot-mfe-app.component-7IjAmjz0.mjs.map +0 -1
  118. package/fesm2022/aril-boot-mfe-aril-boot-mfe-KXDpUyv7.mjs +0 -315
  119. package/fesm2022/aril-boot-mfe-aril-boot-mfe-KXDpUyv7.mjs.map +0 -1
  120. package/theme/layout/app/breadcrumb/app.breadcrumb.component.d.ts +0 -25
  121. package/theme/layout/app/breadcrumb/app.breadcrumb.component.html +0 -8
  122. package/theme/layout/app/breadcrumb/app.breadcrumb.component.ts +0 -127
@@ -28,4 +28,99 @@
28
28
  font-size: 13px;
29
29
  }
30
30
  }
31
+
32
+ .p-breadcrumb.breadcrumb-strip {
33
+ flex-shrink: 0;
34
+ background: var(--surface-card);
35
+ border-bottom: 1px solid var(--surface-border);
36
+ border-radius: 0;
37
+ padding: 0 20px;
38
+ margin: 0;
39
+ min-height: 38px;
40
+ color: var(--text-color-secondary);
41
+
42
+ .p-breadcrumb-list {
43
+ min-height: 38px;
44
+ }
45
+
46
+ .p-menuitem-link {
47
+ padding: 0;
48
+ color: inherit;
49
+
50
+ &:focus {
51
+ box-shadow: none;
52
+ outline: none;
53
+ }
54
+
55
+ // PrimeNG her item'ı dış anchor ile sarıyor. Aktif item içindeki span'a
56
+ // `.breadcrumb-item.active` class'ı veriyoruz; outer anchor'ı `:has()` ile
57
+ // hedefleyip pasifleştiriyoruz. Home/parent item'lar etkilenmez.
58
+ &:has(.breadcrumb-item.active) {
59
+ cursor: default;
60
+ pointer-events: none;
61
+ }
62
+ }
63
+
64
+ .breadcrumb-home {
65
+ display: inline-flex;
66
+ align-items: center;
67
+ justify-content: center;
68
+ width: 24px;
69
+ height: 24px;
70
+ border-radius: 6px;
71
+ color: var(--text-color-secondary);
72
+ cursor: pointer;
73
+ transition:
74
+ background-color 140ms ease,
75
+ color 140ms ease;
76
+
77
+ &:hover,
78
+ &:focus-visible {
79
+ background: var(--surface-hover);
80
+ color: var(--text-color);
81
+ outline: none;
82
+ }
83
+
84
+ i {
85
+ font-size: 0.875rem;
86
+ }
87
+ }
88
+
89
+ .breadcrumb-sep {
90
+ font-size: 0.625rem;
91
+ opacity: 0.6;
92
+ color: inherit;
93
+ }
94
+
95
+ .breadcrumb-item {
96
+ font-weight: 500;
97
+ white-space: nowrap;
98
+ font-size: 0.8125rem;
99
+
100
+ &.active {
101
+ color: var(--text-color);
102
+ font-weight: 600;
103
+ }
104
+ }
105
+
106
+ .breadcrumb-link {
107
+ cursor: pointer;
108
+ color: inherit;
109
+ text-decoration: none;
110
+ padding: 2px 4px;
111
+ margin: 0 -4px;
112
+ border-radius: 4px;
113
+ font-size: 0.8125rem;
114
+ transition:
115
+ background-color 140ms ease,
116
+ color 140ms ease;
117
+
118
+ &:hover,
119
+ &:focus-visible {
120
+ background: var(--surface-hover);
121
+ color: var(--text-color);
122
+ outline: none;
123
+ }
124
+ }
125
+ }
31
126
  }
@@ -1,7 +1,7 @@
1
1
 
2
2
 
3
3
  .layout-content {
4
- padding: 70px 20px 0 20px !important;
4
+ padding: 55px 0px 0 0px !important;
5
5
  border-radius: 5px 5px 0px 0px !important;
6
6
  min-height: calc(100vh - 127px);
7
7
  }
@@ -26,7 +26,7 @@
26
26
 
27
27
  &.layout-static {
28
28
  .layout-content-wrapper {
29
- margin-left: 270px; // match static sidebar width
29
+ margin-left: 260px; // match static sidebar width
30
30
  transition: margin-left 0.3s ease;
31
31
  }
32
32
 
@@ -1,4 +1,5 @@
1
1
  import { EventEmitter } from '@angular/core';
2
+ import { NavItem } from 'aril/boot/config/apps';
2
3
  import * as i0 from "@angular/core";
3
4
  export declare class RefValueComponent {
4
5
  overlayPanelShow: import("@angular/core").InputSignal<boolean, boolean>;
@@ -14,8 +15,9 @@ export declare class RefValueComponent {
14
15
  'text-decoration': string;
15
16
  };
16
17
  protected getDisplayValue(): string;
17
- get url(): string;
18
- protected getFullUrl(): string;
18
+ protected getRouterLink(): string;
19
+ /** `[arilNavLink]` directive'i için NavItem — sağ-tık tab context menüsü açılır. */
20
+ protected getNavItem(): NavItem;
19
21
  static ɵfac: i0.ɵɵFactoryDeclaration<RefValueComponent, never>;
20
22
  static ɵcmp: i0.ɵɵComponentDeclaration<RefValueComponent, "aril-ref-value", never, { "overlayPanelShow": { "alias": "overlayPanelShow"; "required": false; "isSignal": true; }; "assetId": { "alias": "assetId"; "required": true; "isSignal": true; }; "valueDesc": { "alias": "valueDesc"; "required": true; "isSignal": true; }; "detailPageUrl": { "alias": "detailPageUrl"; "required": true; "isSignal": true; }; "target": { "alias": "target"; "required": false; "isSignal": true; }; }, { "clickEvent": "clickEvent"; }, never, never, true, never>;
21
23
  }
@@ -1,14 +1,27 @@
1
1
  import { Location } from '@angular/common';
2
2
  import { OnDestroy, OnInit } from '@angular/core';
3
- import { Router } from '@angular/router';
3
+ import { Router, UrlSerializer } from '@angular/router';
4
4
  import { TabView } from 'primeng/tabview';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare class SyncActiveTabRouteDirective implements OnInit, OnDestroy {
7
7
  private readonly router;
8
8
  private readonly tabView;
9
9
  private readonly location;
10
+ private readonly urlSerializer;
10
11
  private readonly subscription;
11
- constructor(router: Router, tabView: TabView, location: Location);
12
+ /**
13
+ * Host (shell) modunda MFE Router `IsolatedLocationStrategy` kullanır — browser hash'ına
14
+ * YAZMAZ (tab izolasyonu, bkz. `isolated-location-strategy.ts`). Bu yüzden `?activeTab`
15
+ * adres çubuğunda görünsün/okunsun diye HOST Router + HOST Location'a köprüleriz.
16
+ * Standalone MFE modunda (`bridge.hostRouter` null) eski davranış korunur: enjekte edilen
17
+ * child Router + child Location (gerçek `LocationStrategy` adres çubuğuna yazar).
18
+ *
19
+ * `replaceState` (navigate DEĞİL) kullanılır: NavigationEnd fire ETMEZ → app.component'in
20
+ * host-NavigationEnd handler'ı tetiklenmez → MFE yeniden navigate olmaz (döngü yok).
21
+ */
22
+ private readonly hostRouter;
23
+ private readonly effectiveRouter;
24
+ constructor(router: Router, tabView: TabView, location: Location, urlSerializer: UrlSerializer);
12
25
  ngOnInit(): void;
13
26
  onTabChange(e: number): void;
14
27
  ngOnDestroy(): void;
@@ -1,4 +0,0 @@
1
- import { ActivatedRouteSnapshot, BaseRouteReuseStrategy } from '@angular/router';
2
- export declare class ArilReuseStrategy extends BaseRouteReuseStrategy {
3
- shouldReuseRoute(future: ActivatedRouteSnapshot, curr: ActivatedRouteSnapshot): boolean;
4
- }
@@ -1,9 +0,0 @@
1
- import { BaseRouteReuseStrategy } from '@angular/router';
2
- export class ArilReuseStrategy extends BaseRouteReuseStrategy {
3
- shouldReuseRoute(future, curr) {
4
- if (curr.firstChild?.routeConfig?.data?.['remoteEntry'] === future.firstChild?.routeConfig?.data?.['remoteEntry'])
5
- return false;
6
- return future?.routeConfig === curr?.routeConfig && JSON.stringify(future?.params) === JSON.stringify(curr?.params);
7
- }
8
- }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV1c2Utc3RyYXRlZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL2Jvb3QvY29uZmlnL2FwcHMvc3JjL3JldXNlLXN0cmF0ZWd5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBMEIsc0JBQXNCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVqRixNQUFNLE9BQU8saUJBQWtCLFNBQVEsc0JBQXNCO0lBQ25ELGdCQUFnQixDQUFDLE1BQThCLEVBQUUsSUFBNEI7UUFDckYsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxNQUFNLENBQUMsVUFBVSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxhQUFhLENBQUM7WUFDaEgsT0FBTyxLQUFLLENBQUM7UUFFZCxPQUFPLE1BQU0sRUFBRSxXQUFXLEtBQUssSUFBSSxFQUFFLFdBQVcsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNySCxDQUFDO0NBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBCYXNlUm91dGVSZXVzZVN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbmV4cG9ydCBjbGFzcyBBcmlsUmV1c2VTdHJhdGVneSBleHRlbmRzIEJhc2VSb3V0ZVJldXNlU3RyYXRlZ3kge1xyXG5cdG92ZXJyaWRlIHNob3VsZFJldXNlUm91dGUoZnV0dXJlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBjdXJyOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogYm9vbGVhbiB7XHJcblx0XHRpZiAoY3Vyci5maXJzdENoaWxkPy5yb3V0ZUNvbmZpZz8uZGF0YT8uWydyZW1vdGVFbnRyeSddID09PSBmdXR1cmUuZmlyc3RDaGlsZD8ucm91dGVDb25maWc/LmRhdGE/LlsncmVtb3RlRW50cnknXSlcclxuXHRcdFx0cmV0dXJuIGZhbHNlO1xyXG5cclxuXHRcdHJldHVybiBmdXR1cmU/LnJvdXRlQ29uZmlnID09PSBjdXJyPy5yb3V0ZUNvbmZpZyAmJiBKU09OLnN0cmluZ2lmeShmdXR1cmU/LnBhcmFtcykgPT09IEpTT04uc3RyaW5naWZ5KGN1cnI/LnBhcmFtcyk7XHJcblx0fVxyXG59XHJcbiJdfQ==
@@ -1,107 +0,0 @@
1
- import { NgClass } from '@angular/common';
2
- import { Component, effect } from '@angular/core';
3
- import { NavigationEnd, RouterLink } from '@angular/router';
4
- import { BreadcrumbModule } from 'primeng/breadcrumb';
5
- import { BehaviorSubject } from 'rxjs';
6
- import { filter } from 'rxjs/operators';
7
- import { bridge } from 'aril/boot/bridge';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@angular/router";
10
- import * as i2 from "../../service/breadcrumb.service";
11
- import * as i3 from "aril/util/pub-sub";
12
- import * as i4 from "primeng/breadcrumb";
13
- import * as i5 from "primeng/api";
14
- export class AppBreadcrumbComponent {
15
- constructor(router, breadcrumbService, pubSubService) {
16
- this.router = router;
17
- this.breadcrumbService = breadcrumbService;
18
- this.pubSubService = pubSubService;
19
- this._breadcrumbs$ = new BehaviorSubject([]);
20
- this.breadcrumbs$ = this._breadcrumbs$.asObservable();
21
- this.breadcrumbs = [];
22
- this.router.events.pipe(filter((event) => event instanceof NavigationEnd)).subscribe((event) => {
23
- const root = this.router.routerState.snapshot.root;
24
- const breadcrumbs = [];
25
- this.addBreadcrumb(root, [], breadcrumbs);
26
- this._breadcrumbs$.next(breadcrumbs);
27
- });
28
- effect(() => {
29
- if (this.breadcrumbService.keyValues()) {
30
- const root = this.router.routerState.snapshot.root;
31
- const breadcrumbs = [];
32
- this.addBreadcrumb(root, [], breadcrumbs);
33
- this._breadcrumbs$.next(breadcrumbs);
34
- }
35
- });
36
- }
37
- ngOnInit() {
38
- this.breadcrumbsSubscription = this.breadcrumbs$.subscribe((breadcrumbs) => {
39
- this.breadcrumbs = breadcrumbs.map((breadcrumb) => ({
40
- label: breadcrumb.label,
41
- url: breadcrumb.url
42
- }));
43
- this.breadcrumbs.unshift({ icon: 'pi pi-home', url: '/' });
44
- // Update global page title signal with the last breadcrumb label
45
- const pageTitle = bridge.pageTitle();
46
- if (pageTitle) {
47
- const lastBreadcrumb = breadcrumbs[breadcrumbs.length - 1];
48
- bridge.pageTitle.set(lastBreadcrumb?.label || '');
49
- }
50
- const currentUrl = this.router.url;
51
- this.pubSubService.publish({
52
- name: 'breadcrumbUpdated',
53
- data: {
54
- path: currentUrl,
55
- custom: {
56
- breadcrumbs: breadcrumbs,
57
- pageTitle: breadcrumbs.length > 0 ? breadcrumbs[breadcrumbs.length - 1].label : ''
58
- }
59
- }
60
- });
61
- });
62
- }
63
- ngOnDestroy() {
64
- if (this.breadcrumbsSubscription) {
65
- this.breadcrumbsSubscription.unsubscribe();
66
- }
67
- }
68
- addBreadcrumb(route, parentUrl, breadcrumbs) {
69
- const routeUrl = parentUrl.concat(route.url.map((url) => url.path));
70
- const breadcrumb = route.data['breadcrumb'];
71
- const parentBreadcrumb = route.parent && route.parent.data ? route.parent.data['breadcrumb'] : null;
72
- if (breadcrumb && breadcrumb !== parentBreadcrumb) {
73
- const keyRegex = new RegExp('(?<=\\{)([^}]+)(?=\\})');
74
- const key = (keyRegex.exec(route.data['breadcrumb']) || [])[0];
75
- const value = this.breadcrumbService.getValue(key);
76
- if (key && value) {
77
- breadcrumbs.push({
78
- label: route.data['breadcrumb'].replace(`{${key}}`, value),
79
- url: '/' + routeUrl.join('/')
80
- });
81
- }
82
- else if (key && !value) {
83
- // Key exists but value not loaded yet - show loading placeholder
84
- breadcrumbs.push({
85
- label: '...',
86
- url: '/' + routeUrl.join('/')
87
- });
88
- }
89
- else {
90
- breadcrumbs.push({
91
- label: route.data['breadcrumb'],
92
- url: '/' + routeUrl.join('/')
93
- });
94
- }
95
- }
96
- if (route.firstChild) {
97
- this.addBreadcrumb(route.firstChild, routeUrl, breadcrumbs);
98
- }
99
- }
100
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppBreadcrumbComponent, deps: [{ token: i1.Router }, { token: i2.BreadcrumbService }, { token: i3.PubSubService }], target: i0.ɵɵFactoryTarget.Component }); }
101
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: AppBreadcrumbComponent, isStandalone: true, selector: "app-breadcrumb", ngImport: i0, template: "<p-breadcrumb class=\"max-w-full\" [model]=\"breadcrumbs\">\r\n\t<ng-template pTemplate=\"item\" let-item>\r\n\t\t<a [routerLink]=\"item.url\">\r\n\t\t\t<span [ngClass]=\"[item.icon ? item.icon : '', 'text-500']\"></span>\r\n\t\t\t<span class='text-500'>{{ item.label }}</span>\r\n\t\t</a>\r\n\t</ng-template>\r\n</p-breadcrumb>\r\n", dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: BreadcrumbModule }, { kind: "component", type: i4.Breadcrumb, selector: "p-breadcrumb", inputs: ["model", "style", "styleClass", "home", "homeAriaLabel"], outputs: ["onItemClick"] }, { kind: "directive", type: i5.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
102
- }
103
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppBreadcrumbComponent, decorators: [{
104
- type: Component,
105
- args: [{ standalone: true, selector: 'app-breadcrumb', imports: [RouterLink, BreadcrumbModule, NgClass], template: "<p-breadcrumb class=\"max-w-full\" [model]=\"breadcrumbs\">\r\n\t<ng-template pTemplate=\"item\" let-item>\r\n\t\t<a [routerLink]=\"item.url\">\r\n\t\t\t<span [ngClass]=\"[item.icon ? item.icon : '', 'text-500']\"></span>\r\n\t\t\t<span class='text-500'>{{ item.label }}</span>\r\n\t\t</a>\r\n\t</ng-template>\r\n</p-breadcrumb>\r\n" }]
106
- }], ctorParameters: () => [{ type: i1.Router }, { type: i2.BreadcrumbService }, { type: i3.PubSubService }] });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmJyZWFkY3J1bWIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC90aGVtZS9sYXlvdXQvYXBwL2JyZWFkY3J1bWIvYXBwLmJyZWFkY3J1bWIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC90aGVtZS9sYXlvdXQvYXBwL2JyZWFkY3J1bWIvYXBwLmJyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBMEIsYUFBYSxFQUFVLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRzVGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXRELE9BQU8sRUFBRSxlQUFlLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7QUFlMUMsTUFBTSxPQUFPLHNCQUFzQjtJQU9sQyxZQUNTLE1BQWMsRUFDZCxpQkFBb0MsRUFDcEMsYUFBNEI7UUFGNUIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFUcEIsa0JBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBZSxFQUFFLENBQUMsQ0FBQztRQUc5RCxpQkFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDMUQsZ0JBQVcsR0FBZSxFQUFFLENBQUM7UUFPNUIsSUFBSSxDQUFDLE1B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RTtnQkFDakUsV0FBVyxDQUFDLElBQUksQ0FBQztvQkFDaEIsS0FBSyxFQUFFLEtBQUs7b0JBQ1osR0FBRyxFQUFFLEdBQUcsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztpQkFDN0IsQ0FBQyxDQUFDO1lBQ0osQ0FBQztpQkFBTSxDQUFDO2dCQUNQLFdBQVcsQ0FBQyxJQUFJLENBQUM7b0JBQ2hCLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztvQkFDL0IsR0FBRyxFQUFFLEdBQUcsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztpQkFDN0IsQ0FBQyxDQUFDO1lBQ0osQ0FBQztRQUNGLENBQUM7UUFFRCxJQUFJLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsUUFBUSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQzdELENBQUM7SUFDRixDQUFDOzhHQXBHVyxzQkFBc0I7a0dBQXRCLHNCQUFzQiwwRUN6Qm5DLDhVQVFBLDRDRGNXLFVBQVUsbU9BQUUsZ0JBQWdCLHlTQUFFLE9BQU87OzJGQUduQyxzQkFBc0I7a0JBTmxDLFNBQVM7aUNBQ0csSUFBSSxZQUNOLGdCQUFnQixXQUNqQixDQUFDLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBlZmZlY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgTmF2aWdhdGlvbkVuZCwgUm91dGVyLCBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbmltcG9ydCB7IE1lbnVJdGVtIH0gZnJvbSAncHJpbWVuZy9hcGknO1xyXG5pbXBvcnQgeyBCcmVhZGNydW1iTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9icmVhZGNydW1iJztcclxuXHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IGJyaWRnZSB9IGZyb20gJ2FyaWwvYm9vdC9icmlkZ2UnO1xyXG5pbXBvcnQgeyBQdWJTdWJTZXJ2aWNlIH0gZnJvbSAnYXJpbC91dGlsL3B1Yi1zdWInO1xyXG5pbXBvcnQgeyBCcmVhZGNydW1iU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2UvYnJlYWRjcnVtYi5zZXJ2aWNlJztcclxuXHJcbmludGVyZmFjZSBCcmVhZGNydW1iIHtcclxuXHRsYWJlbDogc3RyaW5nO1xyXG5cdHVybD86IHN0cmluZztcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c3RhbmRhbG9uZTogdHJ1ZSxcclxuXHRzZWxlY3RvcjogJ2FwcC1icmVhZGNydW1iJyxcclxuXHRpbXBvcnRzOiBbUm91dGVyTGluaywgQnJlYWRjcnVtYk1vZHVsZSwgTmdDbGFzc10sXHJcblx0dGVtcGxhdGVVcmw6ICcuL2FwcC5icmVhZGNydW1iLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBwQnJlYWRjcnVtYkNvbXBvbmVudCB7XHJcblx0cHJpdmF0ZSByZWFkb25seSBfYnJlYWRjcnVtYnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxCcmVhZGNydW1iW10+KFtdKTtcclxuXHRwcml2YXRlIGJyZWFkY3J1bWJzU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xyXG5cclxuXHRyZWFkb25seSBicmVhZGNydW1icyQgPSB0aGlzLl9icmVhZGNydW1icyQuYXNPYnNlcnZhYmxlKCk7XHJcblx0YnJlYWRjcnVtYnM6IE1lbnVJdGVtW10gPSBbXTtcclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG5cdFx0cHJpdmF0ZSBicmVhZGNydW1iU2VydmljZTogQnJlYWRjcnVtYlNlcnZpY2UsXHJcblx0XHRwcml2YXRlIHB1YlN1YlNlcnZpY2U6IFB1YlN1YlNlcnZpY2VcclxuXHQpIHtcclxuXHRcdHRoaXMucm91dGVyLmV2ZW50cy5waXBlKGZpbHRlcigoZXZlbnQpID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkpLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcclxuXHRcdFx0Y29uc3Qgcm9vdCA9IHRoaXMucm91dGVyLnJvdXRlclN0YXRlLnNuYXBzaG90LnJvb3Q7XHJcblx0XHRcdGNvbnN0IGJyZWFkY3J1bWJzOiBCcmVhZGNydW1iW10gPSBbXTtcclxuXHJcblx0XHRcdHRoaXMuYWRkQnJlYWRjcnVtYihyb290LCBbXSwgYnJlYWRjcnVtYnMpO1xyXG5cclxuXHRcdFx0dGhpcy5fYnJlYWRjcnVtYnMkLm5leHQoYnJlYWRjcnVtYnMpO1xyXG5cdFx0fSk7XHJcblxyXG5cdFx0ZWZmZWN0KCgpID0+IHtcclxuXHRcdFx0aWYgKHRoaXMuYnJlYWRjcnVtYlNlcnZpY2Uua2V5VmFsdWVzKCkpIHtcclxuXHRcdFx0XHRjb25zdCByb290ID0gdGhpcy5yb3V0ZXIucm91dGVyU3RhdGUuc25hcHNob3Qucm9vdDtcclxuXHRcdFx0XHRjb25zdCBicmVhZGNydW1iczogQnJlYWRjcnVtYltdID0gW107XHJcblxyXG5cdFx0XHRcdHRoaXMuYWRkQnJlYWRjcnVtYihyb290LCBbXSwgYnJlYWRjcnVtYnMpO1xyXG5cclxuXHRcdFx0XHR0aGlzLl9icmVhZGNydW1icyQubmV4dChicmVhZGNydW1icyk7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0bmdPbkluaXQoKSB7XHJcblx0XHR0aGlzLmJyZWFkY3J1bWJzU3Vic2NyaXB0aW9uID0gdGhpcy5icmVhZGNydW1icyQuc3Vic2NyaWJlKChicmVhZGNydW1icykgPT4ge1xyXG5cdFx0XHR0aGlzLmJyZWFkY3J1bWJzID0gYnJlYWRjcnVtYnMubWFwKChicmVhZGNydW1iKSA9PiAoe1xyXG5cdFx0XHRcdGxhYmVsOiBicmVhZGNydW1iLmxhYmVsLFxyXG5cdFx0XHRcdHVybDogYnJlYWRjcnVtYi51cmxcclxuXHRcdFx0fSkpO1xyXG5cdFx0XHR0aGlzLmJyZWFkY3J1bWJzLnVuc2hpZnQoeyBpY29uOiAncGkgcGktaG9tZScsIHVybDogJy8nIH0pO1xyXG5cdFx0XHRcclxuXHRcdFx0Ly8gVXBkYXRlIGdsb2JhbCBwYWdlIHRpdGxlIHNpZ25hbCB3aXRoIHRoZSBsYXN0IGJyZWFkY3J1bWIgbGFiZWxcclxuXHRcdFx0Y29uc3QgcGFnZVRpdGxlID0gYnJpZGdlLnBhZ2VUaXRsZSgpO1xyXG5cdFx0XHRpZiAocGFnZVRpdGxlKSB7XHJcblx0XHRcdFx0XHRjb25zdCBsYXN0QnJlYWRjcnVtYiA9IGJyZWFkY3J1bWJzW2JyZWFkY3J1bWJzLmxlbmd0aCAtIDFdO1xyXG5cdFx0XHRcdFx0YnJpZGdlLnBhZ2VUaXRsZS5zZXQobGFzdEJyZWFkY3J1bWI/LmxhYmVsIHx8ICcnKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Y29uc3QgY3VycmVudFVybCA9IHRoaXMucm91dGVyLnVybDtcclxuXHRcdFx0dGhpcy5wdWJTdWJTZXJ2aWNlLnB1Ymxpc2goe1xyXG5cdFx0XHRcdG5hbWU6ICdicmVhZGNydW1iVXBkYXRlZCcsXHJcblx0XHRcdFx0ZGF0YTogeyBcclxuXHRcdFx0XHRcdHBhdGg6IGN1cnJlbnRVcmwsXHJcblx0XHRcdFx0XHRjdXN0b206IHtcclxuXHRcdFx0XHRcdFx0YnJlYWRjcnVtYnM6IGJyZWFkY3J1bWJzLFxyXG5cdFx0XHRcdFx0XHRwYWdlVGl0bGU6IGJyZWFkY3J1bWJzLmxlbmd0aCA+IDAgPyBicmVhZGNydW1ic1ticmVhZGNydW1icy5sZW5ndGggLSAxXS5sYWJlbCA6ICcnXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9KTtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0bmdPbkRlc3Ryb3koKSB7XHJcblx0XHRpZiAodGhpcy5icmVhZGNydW1ic1N1YnNjcmlwdGlvbikge1xyXG5cdFx0XHR0aGlzLmJyZWFkY3J1bWJzU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGFkZEJyZWFkY3J1bWIocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHBhcmVudFVybDogc3RyaW5nW10sIGJyZWFkY3J1bWJzOiBCcmVhZGNydW1iW10pIHtcclxuXHRcdGNvbnN0IHJvdXRlVXJsID0gcGFyZW50VXJsLmNvbmNhdChyb3V0ZS51cmwubWFwKCh1cmwpID0+IHVybC5wYXRoKSk7XHJcblx0XHRjb25zdCBicmVhZGNydW1iID0gcm91dGUuZGF0YVsnYnJlYWRjcnVtYiddO1xyXG5cdFx0Y29uc3QgcGFyZW50QnJlYWRjcnVtYiA9IHJvdXRlLnBhcmVudCAmJiByb3V0ZS5wYXJlbnQuZGF0YSA/IHJvdXRlLnBhcmVudC5kYXRhWydicmVhZGNydW1iJ10gOiBudWxsO1xyXG5cclxuXHRcdGlmIChicmVhZGNydW1iICYmIGJyZWFkY3J1bWIgIT09IHBhcmVudEJyZWFkY3J1bWIpIHtcclxuXHRcdFx0Y29uc3Qga2V5UmVnZXggPSBuZXcgUmVnRXhwKCcoPzw9XFxcXHspKFtefV0rKSg/PVxcXFx9KScpO1xyXG5cdFx0XHRjb25zdCBrZXkgPSAoa2V5UmVnZXguZXhlYyhyb3V0ZS5kYXRhWydicmVhZGNydW1iJ10pIHx8IFtdKVswXSE7XHJcblx0XHRcdGNvbnN0IHZhbHVlID0gdGhpcy5icmVhZGNydW1iU2VydmljZS5nZXRWYWx1ZShrZXkpO1xyXG5cclxuXHRcdFx0aWYgKGtleSAmJiB2YWx1ZSkge1xyXG5cdFx0XHRcdGJyZWFkY3J1bWJzLnB1c2goe1xyXG5cdFx0XHRcdFx0bGFiZWw6IChyb3V0ZS5kYXRhWydicmVhZGNydW1iJ10gYXMgc3RyaW5nKS5yZXBsYWNlKGB7JHtrZXl9fWAsIHZhbHVlKSxcclxuXHRcdFx0XHRcdHVybDogJy8nICsgcm91dGVVcmwuam9pbignLycpXHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH0gZWxzZSBpZiAoa2V5ICYmICF2YWx1ZSkge1xyXG5cdFx0XHRcdC8vIEtleSBleGlzdHMgYnV0IHZhbHVlIG5vdCBsb2FkZWQgeWV0IC0gc2hvdyBsb2FkaW5nIHBsYWNlaG9sZGVyXHJcblx0XHRcdFx0YnJlYWRjcnVtYnMucHVzaCh7XHJcblx0XHRcdFx0XHRsYWJlbDogJy4uLicsXHJcblx0XHRcdFx0XHR1cmw6ICcvJyArIHJvdXRlVXJsLmpvaW4oJy8nKVxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdGJyZWFkY3J1bWJzLnB1c2goe1xyXG5cdFx0XHRcdFx0bGFiZWw6IHJvdXRlLmRhdGFbJ2JyZWFkY3J1bWInXSxcclxuXHRcdFx0XHRcdHVybDogJy8nICsgcm91dGVVcmwuam9pbignLycpXHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRpZiAocm91dGUuZmlyc3RDaGlsZCkge1xyXG5cdFx0XHR0aGlzLmFkZEJyZWFkY3J1bWIocm91dGUuZmlyc3RDaGlsZCwgcm91dGVVcmwsIGJyZWFkY3J1bWJzKTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIiwiPHAtYnJlYWRjcnVtYiBjbGFzcz1cIm1heC13LWZ1bGxcIiBbbW9kZWxdPVwiYnJlYWRjcnVtYnNcIj5cclxuXHQ8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaXRlbVwiIGxldC1pdGVtPlxyXG5cdFx0PGEgW3JvdXRlckxpbmtdPVwiaXRlbS51cmxcIj5cclxuXHRcdFx0PHNwYW4gW25nQ2xhc3NdPVwiW2l0ZW0uaWNvbiA/IGl0ZW0uaWNvbiA6ICcnLCAndGV4dC01MDAnXVwiPjwvc3Bhbj5cclxuXHRcdFx0PHNwYW4gY2xhc3M9J3RleHQtNTAwJz57eyBpdGVtLmxhYmVsIH19PC9zcGFuPlxyXG5cdFx0PC9hPlxyXG5cdDwvbmctdGVtcGxhdGU+XHJcbjwvcC1icmVhZGNydW1iPlxyXG4iXX0=
@@ -1,81 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { inject, NgZone, Component } from '@angular/core';
3
- import { connectRouter, ModuleFederationToolsModule } from '@angular-architects/module-federation-tools';
4
- import { LanguageCode, TR_TRANSLATIONS } from 'aril/boot/config/translate';
5
- import * as i1$1 from 'aril/theme/layout';
6
- import { MFELayoutComponent } from 'aril/theme/layout';
7
- import { a as appName, m as menuItems } from './aril.mjs';
8
- import * as i1 from '@angular/router';
9
- import * as i2 from '@ngneat/transloco';
10
- import * as i4 from 'primeng/api';
11
- import * as i3 from 'aril/boot/bridge';
12
- import '@angular/common/http';
13
- import '@angular/platform-browser';
14
- import 'keycloak-angular';
15
- import 'aril/boot/base';
16
- import 'aril/boot/config/api';
17
- import 'aril/boot/config/apps';
18
- import 'aril/boot/config/plugins';
19
- import 'aril/i18n';
20
- import 'aril/util/pub-sub';
21
- import '@angular/elements';
22
- import 'ngx-monaco-editor-v2';
23
- import 'aril/provider';
24
-
25
- class AppComponent {
26
- constructor(router, translocoService, appMenuService, primeNgConfig, bridgeSvc) {
27
- this.router = router;
28
- this.translocoService = translocoService;
29
- this.appMenuService = appMenuService;
30
- this.primeNgConfig = primeNgConfig;
31
- this.bridgeSvc = bridgeSvc;
32
- if (!this.bridgeSvc.isHostMode() && !this.bridgeSvc.hostNgZone) {
33
- this.bridgeSvc.hostNgZone = inject(NgZone);
34
- }
35
- connectRouter(this.router, true);
36
- this.bridgeSvc.activeMF.set(appName);
37
- const lang = localStorage.getItem('lang') ?? LanguageCode.TR;
38
- this.translocoService.setActiveLang(lang);
39
- this.setLocale(lang);
40
- if (!this.bridgeSvc.isHostMode()) {
41
- this.appMenuService.menuConfig.set({ items: structuredClone(menuItems), prefix: appName });
42
- }
43
- }
44
- get isHostMode() {
45
- return this.bridgeSvc.isHostMode;
46
- }
47
- setLocale(lang) {
48
- if (!lang?.length) {
49
- console.warn('No language selected');
50
- return;
51
- }
52
- if (lang === LanguageCode.TR) {
53
- this.primeNgConfig.setTranslation(TR_TRANSLATIONS);
54
- }
55
- }
56
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppComponent, deps: [{ token: i1.Router }, { token: i2.TranslocoService }, { token: i1$1.AppMenuService }, { token: i4.PrimeNGConfig }, { token: i3.MfeBridge }], target: i0.ɵɵFactoryTarget.Component }); }
57
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: AppComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: `
58
- @if (isHostMode()) {
59
- <mfe-layout></mfe-layout>
60
- } @else {
61
- Bu uygulama yalnızca host app içinden açılabilir
62
- }
63
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: ModuleFederationToolsModule }, { kind: "component", type: MFELayoutComponent, selector: "mfe-layout" }] }); }
64
- }
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppComponent, decorators: [{
66
- type: Component,
67
- args: [{
68
- standalone: true,
69
- template: `
70
- @if (isHostMode()) {
71
- <mfe-layout></mfe-layout>
72
- } @else {
73
- Bu uygulama yalnızca host app içinden açılabilir
74
- }
75
- `,
76
- imports: [ModuleFederationToolsModule, MFELayoutComponent]
77
- }]
78
- }], ctorParameters: () => [{ type: i1.Router }, { type: i2.TranslocoService }, { type: i1$1.AppMenuService }, { type: i4.PrimeNGConfig }, { type: i3.MfeBridge }] });
79
-
80
- export { AppComponent };
81
- //# sourceMappingURL=aril-app.component-wxP3y8dg.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"aril-app.component-wxP3y8dg.mjs","sources":["../../projects/aril/boot/mfe/src/app.component.ts"],"sourcesContent":["import { Component, NgZone, inject } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { PrimeNGConfig } from 'primeng/api';\r\n\r\nimport { ModuleFederationToolsModule, connectRouter } from '@angular-architects/module-federation-tools';\r\nimport { TranslocoService } from '@ngneat/transloco';\r\n\r\nimport { MfeBridge } from 'aril/boot/bridge';\r\nimport { LanguageCode, TR_TRANSLATIONS } from 'aril/boot/config/translate';\r\nimport { AppMenuService, MFELayoutComponent } from 'aril/theme/layout';\r\n\r\nimport { appName, menuItems } from './bootstrap';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\ttemplate: `\r\n\t\t@if (isHostMode()) {\r\n\t\t\t<mfe-layout></mfe-layout>\r\n\t\t} @else {\r\n\t\t\tBu uygulama yalnızca host app içinden açılabilir\r\n\t\t}\r\n\t`,\r\n\timports: [ModuleFederationToolsModule, MFELayoutComponent]\r\n})\r\nexport class AppComponent {\r\n\tconstructor(\r\n\t\tprivate readonly router: Router,\r\n\t\tprivate readonly translocoService: TranslocoService,\r\n\t\tprivate readonly appMenuService: AppMenuService,\r\n\t\tprivate readonly primeNgConfig: PrimeNGConfig,\r\n\t\tprivate readonly bridgeSvc: MfeBridge\r\n\t) {\r\n\t\tif (!this.bridgeSvc.isHostMode() && !this.bridgeSvc.hostNgZone) {\r\n\t\t\tthis.bridgeSvc.hostNgZone = inject(NgZone);\r\n\t\t}\r\n\r\n\t\tconnectRouter(this.router, true);\r\n\r\n\t\tthis.bridgeSvc.activeMF.set(appName);\r\n\t\tconst lang: LanguageCode = (localStorage.getItem('lang') as LanguageCode) ?? LanguageCode.TR;\r\n\r\n\t\tthis.translocoService.setActiveLang(lang);\r\n\r\n\t\tthis.setLocale(lang);\r\n\r\n\t\tif (!this.bridgeSvc.isHostMode()) {\r\n\t\t\tthis.appMenuService.menuConfig.set({ items: structuredClone(menuItems), prefix: appName });\r\n\t\t}\r\n\t}\r\n\r\n\tget isHostMode() {\r\n\t\treturn this.bridgeSvc.isHostMode;\r\n\t}\r\n\r\n\tsetLocale(lang: LanguageCode) {\r\n\t\tif (!lang?.length) {\r\n\t\t\tconsole.warn('No language selected');\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (lang === LanguageCode.TR) {\r\n\t\t\tthis.primeNgConfig.setTranslation(TR_TRANSLATIONS);\r\n\t\t}\r\n\t}\r\n}\r\n"],"names":["i3","i5"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;MAyBa,YAAY,CAAA;IACxB,WACkB,CAAA,MAAc,EACd,gBAAkC,EAClC,cAA8B,EAC9B,aAA4B,EAC5B,SAAoB,EAAA;QAJpB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACd,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QAClC,IAAc,CAAA,cAAA,GAAd,cAAc,CAAgB;QAC9B,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;QAC5B,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;AAErC,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;YAC/D,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;SAC3C;AAED,QAAA,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAEjC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACrC,QAAA,MAAM,IAAI,GAAkB,YAAY,CAAC,OAAO,CAAC,MAAM,CAAkB,IAAI,YAAY,CAAC,EAAE,CAAC;AAE7F,QAAA,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AAE1C,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAErB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE;YACjC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;SAC3F;KACD;AAED,IAAA,IAAI,UAAU,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;KACjC;AAED,IAAA,SAAS,CAAC,IAAkB,EAAA;AAC3B,QAAA,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE;AAClB,YAAA,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACrC,OAAO;SACP;AAED,QAAA,IAAI,IAAI,KAAK,YAAY,CAAC,EAAE,EAAE;AAC7B,YAAA,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;SACnD;KACD;8GAvCW,YAAY,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,aAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAY,EATd,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;EAMT,EACS,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,2BAA2B,+BAAE,kBAAkB,EAAA,QAAA,EAAA,YAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAE7C,YAAY,EAAA,UAAA,EAAA,CAAA;kBAXxB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA;;;;;;AAMT,CAAA,CAAA;AACD,oBAAA,OAAO,EAAE,CAAC,2BAA2B,EAAE,kBAAkB,CAAC;AAC1D,iBAAA,CAAA;;;;;"}
@@ -1,80 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { inject, NgZone, Component } from '@angular/core';
3
- import { connectRouter, ModuleFederationToolsModule } from '@angular-architects/module-federation-tools';
4
- import { LanguageCode, TR_TRANSLATIONS } from 'aril/boot/config/translate';
5
- import * as i3 from 'aril/theme/layout';
6
- import { MFELayoutComponent } from 'aril/theme/layout';
7
- import { a as appName, m as menuItems } from './aril-boot-mfe-aril-boot-mfe-KXDpUyv7.mjs';
8
- import * as i1 from '@angular/router';
9
- import * as i2 from '@ngneat/transloco';
10
- import * as i4 from 'primeng/api';
11
- import * as i5 from 'aril/boot/bridge';
12
- import '@angular/common/http';
13
- import '@angular/elements';
14
- import '@angular/platform-browser';
15
- import 'keycloak-angular';
16
- import 'ngx-monaco-editor-v2';
17
- import 'aril/boot/base';
18
- import 'aril/boot/config/api';
19
- import 'aril/boot/config/apps';
20
- import 'aril/boot/config/plugins';
21
- import 'aril/i18n';
22
- import 'aril/provider';
23
-
24
- class AppComponent {
25
- constructor(router, translocoService, appMenuService, primeNgConfig, bridgeSvc) {
26
- this.router = router;
27
- this.translocoService = translocoService;
28
- this.appMenuService = appMenuService;
29
- this.primeNgConfig = primeNgConfig;
30
- this.bridgeSvc = bridgeSvc;
31
- if (!this.bridgeSvc.isHostMode() && !this.bridgeSvc.hostNgZone) {
32
- this.bridgeSvc.hostNgZone = inject(NgZone);
33
- }
34
- connectRouter(this.router, true);
35
- this.bridgeSvc.activeMF.set(appName);
36
- const lang = localStorage.getItem('lang') ?? LanguageCode.TR;
37
- this.translocoService.setActiveLang(lang);
38
- this.setLocale(lang);
39
- if (!this.bridgeSvc.isHostMode()) {
40
- this.appMenuService.menuConfig.set({ items: structuredClone(menuItems), prefix: appName });
41
- }
42
- }
43
- get isHostMode() {
44
- return this.bridgeSvc.isHostMode;
45
- }
46
- setLocale(lang) {
47
- if (!lang?.length) {
48
- console.warn('No language selected');
49
- return;
50
- }
51
- if (lang === LanguageCode.TR) {
52
- this.primeNgConfig.setTranslation(TR_TRANSLATIONS);
53
- }
54
- }
55
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppComponent, deps: [{ token: i1.Router }, { token: i2.TranslocoService }, { token: i3.AppMenuService }, { token: i4.PrimeNGConfig }, { token: i5.MfeBridge }], target: i0.ɵɵFactoryTarget.Component }); }
56
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: AppComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: `
57
- @if (isHostMode()) {
58
- <mfe-layout></mfe-layout>
59
- } @else {
60
- Bu uygulama yalnızca host app içinden açılabilir
61
- }
62
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: ModuleFederationToolsModule }, { kind: "component", type: MFELayoutComponent, selector: "mfe-layout" }] }); }
63
- }
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppComponent, decorators: [{
65
- type: Component,
66
- args: [{
67
- standalone: true,
68
- template: `
69
- @if (isHostMode()) {
70
- <mfe-layout></mfe-layout>
71
- } @else {
72
- Bu uygulama yalnızca host app içinden açılabilir
73
- }
74
- `,
75
- imports: [ModuleFederationToolsModule, MFELayoutComponent]
76
- }]
77
- }], ctorParameters: () => [{ type: i1.Router }, { type: i2.TranslocoService }, { type: i3.AppMenuService }, { type: i4.PrimeNGConfig }, { type: i5.MfeBridge }] });
78
-
79
- export { AppComponent };
80
- //# sourceMappingURL=aril-boot-mfe-app.component-7IjAmjz0.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"aril-boot-mfe-app.component-7IjAmjz0.mjs","sources":["../../projects/aril/boot/mfe/src/app.component.ts"],"sourcesContent":["import { Component, NgZone, inject } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { PrimeNGConfig } from 'primeng/api';\r\n\r\nimport { ModuleFederationToolsModule, connectRouter } from '@angular-architects/module-federation-tools';\r\nimport { TranslocoService } from '@ngneat/transloco';\r\n\r\nimport { MfeBridge } from 'aril/boot/bridge';\r\nimport { LanguageCode, TR_TRANSLATIONS } from 'aril/boot/config/translate';\r\nimport { AppMenuService, MFELayoutComponent } from 'aril/theme/layout';\r\n\r\nimport { appName, menuItems } from './bootstrap';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\ttemplate: `\r\n\t\t@if (isHostMode()) {\r\n\t\t\t<mfe-layout></mfe-layout>\r\n\t\t} @else {\r\n\t\t\tBu uygulama yalnızca host app içinden açılabilir\r\n\t\t}\r\n\t`,\r\n\timports: [ModuleFederationToolsModule, MFELayoutComponent]\r\n})\r\nexport class AppComponent {\r\n\tconstructor(\r\n\t\tprivate readonly router: Router,\r\n\t\tprivate readonly translocoService: TranslocoService,\r\n\t\tprivate readonly appMenuService: AppMenuService,\r\n\t\tprivate readonly primeNgConfig: PrimeNGConfig,\r\n\t\tprivate readonly bridgeSvc: MfeBridge\r\n\t) {\r\n\t\tif (!this.bridgeSvc.isHostMode() && !this.bridgeSvc.hostNgZone) {\r\n\t\t\tthis.bridgeSvc.hostNgZone = inject(NgZone);\r\n\t\t}\r\n\r\n\t\tconnectRouter(this.router, true);\r\n\r\n\t\tthis.bridgeSvc.activeMF.set(appName);\r\n\t\tconst lang: LanguageCode = (localStorage.getItem('lang') as LanguageCode) ?? LanguageCode.TR;\r\n\r\n\t\tthis.translocoService.setActiveLang(lang);\r\n\r\n\t\tthis.setLocale(lang);\r\n\r\n\t\tif (!this.bridgeSvc.isHostMode()) {\r\n\t\t\tthis.appMenuService.menuConfig.set({ items: structuredClone(menuItems), prefix: appName });\r\n\t\t}\r\n\t}\r\n\r\n\tget isHostMode() {\r\n\t\treturn this.bridgeSvc.isHostMode;\r\n\t}\r\n\r\n\tsetLocale(lang: LanguageCode) {\r\n\t\tif (!lang?.length) {\r\n\t\t\tconsole.warn('No language selected');\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (lang === LanguageCode.TR) {\r\n\t\t\tthis.primeNgConfig.setTranslation(TR_TRANSLATIONS);\r\n\t\t}\r\n\t}\r\n}\r\n"],"names":[],"mappings":"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"}