aril 1.2.18 → 2.0.1-dev.1
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/boot/bridge/src/mfe-bridge.d.ts +42 -2
- package/boot/config/apps/index.d.ts +7 -1
- package/boot/config/apps/src/custom-reuse-outlet.component.d.ts +37 -0
- package/boot/config/apps/src/custom-route-reuse-strategy.class.d.ts +156 -0
- package/boot/config/apps/src/nav-link-context-menu.service.d.ts +33 -0
- package/boot/config/apps/src/nav-link.directive.d.ts +29 -0
- package/boot/config/apps/src/nav.service.d.ts +198 -0
- package/boot/config/apps/src/route-close.service.d.ts +9 -0
- package/boot/config/apps/src/safe-navigate.d.ts +17 -0
- package/boot/config/apps/src/tab-aware-url-serializer.d.ts +22 -0
- package/boot/config/plugins/src/getNgZone.d.ts +9 -1
- package/boot/mfe/src/app.component.d.ts +15 -4
- package/boot/mfe/src/isolated-location-strategy.d.ts +57 -0
- package/esm2022/boot/bridge/src/mfe-bridge.mjs +36 -5
- package/esm2022/boot/config/api/src/api.service.mjs +12 -3
- package/esm2022/boot/config/apps/index.mjs +8 -2
- package/esm2022/boot/config/apps/src/apps.service.mjs +14 -6
- package/esm2022/boot/config/apps/src/custom-reuse-outlet.component.mjs +207 -0
- package/esm2022/boot/config/apps/src/custom-route-reuse-strategy.class.mjs +540 -0
- package/esm2022/boot/config/apps/src/nav-link-context-menu.service.mjs +105 -0
- package/esm2022/boot/config/apps/src/nav-link.directive.mjs +45 -0
- package/esm2022/boot/config/apps/src/nav.service.mjs +675 -0
- package/esm2022/boot/config/apps/src/route-close.service.mjs +19 -0
- package/esm2022/boot/config/apps/src/safe-navigate.mjs +50 -0
- package/esm2022/boot/config/apps/src/tab-aware-url-serializer.mjs +50 -0
- package/esm2022/boot/config/plugins/src/getNgZone.mjs +13 -5
- package/esm2022/boot/host/src/app.component.mjs +1 -2
- package/esm2022/boot/host/src/bootstrap.mjs +22 -7
- package/esm2022/boot/mfe/src/app.component.mjs +143 -39
- package/esm2022/boot/mfe/src/bootstrap.mjs +197 -20
- package/esm2022/boot/mfe/src/isolated-location-strategy.mjs +142 -0
- package/esm2022/keycloak/src/auth.interceptor.mjs +17 -2
- package/esm2022/provider/src/prodiveHost.mjs +3 -5
- package/esm2022/provider/src/prodiveHostRouter.mjs +88 -9
- package/esm2022/theme/layout/app/expandableMenu/expandable-menu.component.mjs +81 -19
- package/esm2022/theme/layout/app/favorite-pages/favorite-pages-sidebar.component.mjs +6 -4
- package/esm2022/theme/layout/app/general-search/general-search.component.mjs +4 -4
- package/esm2022/theme/layout/app/history/history-sidebar.component.mjs +6 -4
- package/esm2022/theme/layout/app/layout/app.layout.component.mjs +422 -20
- package/esm2022/theme/layout/app/layout/mfe.layout.component.mjs +22 -35
- package/esm2022/theme/layout/app/site-map/site-map-sidebar.component.mjs +6 -4
- package/esm2022/theme/layout/app/static-sidebar/static-sidebar.component.mjs +85 -27
- package/esm2022/theme/layout/app/topbar/app.topbar.component.mjs +3 -3
- package/esm2022/theme/layout/service/breadcrumb-publisher.service.mjs +86 -0
- package/esm2022/theme/layout/service/tab-session.service.mjs +126 -0
- package/esm2022/ui-business/ref-value/src/ref-value.component.mjs +15 -7
- package/esm2022/util/sync-active-tab-route/src/sync-active-tab-route.directive.mjs +29 -9
- package/fesm2022/aril-app.component-s14ruALV.mjs +183 -0
- package/fesm2022/aril-app.component-s14ruALV.mjs.map +1 -0
- package/fesm2022/aril-boot-bridge.mjs +35 -4
- package/fesm2022/aril-boot-bridge.mjs.map +1 -1
- package/fesm2022/aril-boot-config-api.mjs +11 -2
- package/fesm2022/aril-boot-config-api.mjs.map +1 -1
- package/fesm2022/aril-boot-config-apps.mjs +1678 -10
- package/fesm2022/aril-boot-config-apps.mjs.map +1 -1
- package/fesm2022/aril-boot-config-plugins.mjs +12 -4
- package/fesm2022/aril-boot-config-plugins.mjs.map +1 -1
- package/fesm2022/aril-boot-host.mjs +21 -7
- package/fesm2022/aril-boot-host.mjs.map +1 -1
- package/fesm2022/aril-boot-mfe-app.component-a34GeuUv.mjs +183 -0
- package/fesm2022/aril-boot-mfe-app.component-a34GeuUv.mjs.map +1 -0
- package/fesm2022/aril-boot-mfe-aril-boot-mfe-KFO_X7yR.mjs +631 -0
- package/fesm2022/aril-boot-mfe-aril-boot-mfe-KFO_X7yR.mjs.map +1 -0
- package/fesm2022/aril-boot-mfe.mjs +5 -3
- package/fesm2022/aril-boot-mfe.mjs.map +1 -1
- package/fesm2022/aril-keycloak.mjs +16 -1
- package/fesm2022/aril-keycloak.mjs.map +1 -1
- package/fesm2022/aril-provider.mjs +90 -12
- package/fesm2022/aril-provider.mjs.map +1 -1
- package/fesm2022/aril-theme-layout.mjs +2628 -2017
- package/fesm2022/aril-theme-layout.mjs.map +1 -1
- package/fesm2022/aril-ui-business-ref-value.mjs +14 -6
- package/fesm2022/aril-ui-business-ref-value.mjs.map +1 -1
- package/fesm2022/aril-util-sync-active-tab-route.mjs +28 -8
- package/fesm2022/aril-util-sync-active-tab-route.mjs.map +1 -1
- package/fesm2022/aril.mjs +354 -25
- package/fesm2022/aril.mjs.map +1 -1
- package/keycloak/src/auth.interceptor.d.ts +7 -0
- package/package.json +222 -222
- package/provider/src/prodiveHost.d.ts +1 -0
- package/theme/layout/app/expandableMenu/expandable-menu.component.d.ts +21 -4
- package/theme/layout/app/expandableMenu/expandable-menu.component.html +19 -5
- package/theme/layout/app/expandableMenu/expandable-menu.component.ts +69 -9
- package/theme/layout/app/favorite-pages/favorite-pages-sidebar.component.html +1 -0
- package/theme/layout/app/favorite-pages/favorite-pages-sidebar.component.ts +3 -1
- package/theme/layout/app/general-search/general-search.component.html +2 -1
- package/theme/layout/app/general-search/general-search.component.ts +2 -2
- package/theme/layout/app/history/history-sidebar.component.html +3 -1
- package/theme/layout/app/history/history-sidebar.component.ts +3 -1
- package/theme/layout/app/layout/app.layout.component.d.ts +105 -5
- package/theme/layout/app/layout/app.layout.component.html +102 -1
- package/theme/layout/app/layout/app.layout.component.scss +372 -0
- package/theme/layout/app/layout/app.layout.component.ts +452 -13
- package/theme/layout/app/layout/mfe.layout.component.d.ts +1 -5
- package/theme/layout/app/layout/mfe.layout.component.ts +12 -38
- package/theme/layout/app/site-map/site-map-sidebar.component.html +1 -0
- package/theme/layout/app/site-map/site-map-sidebar.component.ts +3 -1
- package/theme/layout/app/static-sidebar/static-sidebar.component.d.ts +26 -5
- package/theme/layout/app/static-sidebar/static-sidebar.component.html +11 -5
- package/theme/layout/app/static-sidebar/static-sidebar.component.ts +68 -13
- package/theme/layout/app/topbar/app.topbar.component.html +0 -1
- package/theme/layout/app/topbar/app.topbar.component.scss +1 -1
- package/theme/layout/service/breadcrumb-publisher.service.d.ts +24 -0
- package/theme/layout/service/breadcrumb-publisher.service.ts +95 -0
- package/theme/layout/service/tab-session.service.d.ts +52 -0
- package/theme/layout/service/tab-session.service.ts +138 -0
- package/theme/styles/layout/_breadcrumb.scss +95 -0
- package/theme/styles/layout/_content.scss +2 -2
- package/ui-business/ref-value/src/ref-value.component.d.ts +4 -2
- package/util/sync-active-tab-route/src/sync-active-tab-route.directive.d.ts +15 -2
- package/boot/config/apps/src/reuse-strategy.d.ts +0 -4
- package/esm2022/boot/config/apps/src/reuse-strategy.mjs +0 -9
- package/esm2022/theme/layout/app/breadcrumb/app.breadcrumb.component.mjs +0 -107
- package/fesm2022/aril-app.component-wxP3y8dg.mjs +0 -81
- package/fesm2022/aril-app.component-wxP3y8dg.mjs.map +0 -1
- package/fesm2022/aril-boot-mfe-app.component-7IjAmjz0.mjs +0 -80
- package/fesm2022/aril-boot-mfe-app.component-7IjAmjz0.mjs.map +0 -1
- package/fesm2022/aril-boot-mfe-aril-boot-mfe-KXDpUyv7.mjs +0 -315
- package/fesm2022/aril-boot-mfe-aril-boot-mfe-KXDpUyv7.mjs.map +0 -1
- package/theme/layout/app/breadcrumb/app.breadcrumb.component.d.ts +0 -25
- package/theme/layout/app/breadcrumb/app.breadcrumb.component.html +0 -8
- 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:
|
|
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:
|
|
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
|
-
|
|
18
|
-
|
|
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
|
-
|
|
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,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":"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"}
|
|
@@ -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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"}
|