@volo/ngx-lepton-x.core 3.1.0 → 3.1.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/esm2022/lib/components/navbar/navbar-routes/navbar-routes.component.mjs +46 -10
- package/esm2022/lib/components/navbar/sub-navbar/sub-navbar.component.mjs +10 -11
- package/esm2022/lib/services/index.mjs +2 -1
- package/esm2022/lib/services/route/index.mjs +2 -0
- package/esm2022/lib/services/route/routes.service.mjs +22 -0
- package/fesm2022/volo-ngx-lepton-x.core.mjs +71 -19
- package/fesm2022/volo-ngx-lepton-x.core.mjs.map +1 -1
- package/lib/components/navbar/navbar-routes/navbar-routes.component.d.ts +9 -4
- package/lib/components/navbar/sub-navbar/sub-navbar.component.d.ts +3 -4
- package/lib/services/index.d.ts +1 -0
- package/lib/services/route/index.d.ts +1 -0
- package/lib/services/route/routes.service.d.ts +8 -0
- package/package.json +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { Component, EventEmitter, Injector, Input, Output, ViewEncapsulation, } from '@angular/core';
|
|
1
|
+
import { Component, effect, EventEmitter, inject, Injector, input, Input, Output, ViewEncapsulation, } from '@angular/core';
|
|
2
2
|
import { getItemsFromGroup } from '../../../utils';
|
|
3
|
+
import { RoutesService } from '../../../services/route/routes.service';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
import * as i1 from "@angular/common";
|
|
5
6
|
import * as i2 from "../../../directives/visible.directive";
|
|
@@ -12,10 +13,13 @@ export class NavbarRoutesComponent {
|
|
|
12
13
|
}
|
|
13
14
|
return getItemsFromGroup(this.groupedItems);
|
|
14
15
|
}
|
|
15
|
-
constructor(
|
|
16
|
-
this.injector =
|
|
16
|
+
constructor() {
|
|
17
|
+
this.injector = inject(Injector);
|
|
18
|
+
this.routesService = inject(RoutesService);
|
|
19
|
+
this.routerItem = input();
|
|
17
20
|
this.routeClick = new EventEmitter();
|
|
18
21
|
this.isExpandedOrSelected = (item) => !!(item.expanded || item.selected);
|
|
22
|
+
this.fixNavbarItemsByRouter();
|
|
19
23
|
}
|
|
20
24
|
onSubnavbarExpand(menuItem, menuItems) {
|
|
21
25
|
if (menuItem.expanded) {
|
|
@@ -57,19 +61,51 @@ export class NavbarRoutesComponent {
|
|
|
57
61
|
return [...acc, item, ...this.flatChildren(item.children || [])];
|
|
58
62
|
}, []) || []);
|
|
59
63
|
}
|
|
60
|
-
|
|
61
|
-
|
|
64
|
+
fixNavbarItemsByRouter() {
|
|
65
|
+
effect(() => {
|
|
66
|
+
const currentNavigation = this.routesService.currentNavigation();
|
|
67
|
+
if (!currentNavigation) {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
this.fixNavbarItems(currentNavigation, this.navbarItems);
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
fixNavbarItems(currentUrl, items) {
|
|
74
|
+
items.forEach((item) => {
|
|
75
|
+
if (item.children?.length) {
|
|
76
|
+
item.expanded = this.hasUrlInChildren(item, currentUrl);
|
|
77
|
+
this.fixNavbarItems(currentUrl, item.children);
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
item.selected = item.link === currentUrl;
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
hasUrlInChildren(item, url) {
|
|
85
|
+
if (item.link === url) {
|
|
86
|
+
return true;
|
|
87
|
+
}
|
|
88
|
+
if (item.children) {
|
|
89
|
+
for (const child of item.children) {
|
|
90
|
+
const found = this.hasUrlInChildren(child, url);
|
|
91
|
+
if (found) {
|
|
92
|
+
return true;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return false;
|
|
97
|
+
}
|
|
98
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: NavbarRoutesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
99
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: NavbarRoutesComponent, selector: "lpx-navbar-routes", inputs: { groupedItems: { classPropertyName: "groupedItems", publicName: "groupedItems", isSignal: false, isRequired: false, transformFunction: null }, navbarItems: { classPropertyName: "navbarItems", publicName: "navbarItems", isSignal: false, isRequired: false, transformFunction: null }, routerItem: { classPropertyName: "routerItem", publicName: "routerItem", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { routeClick: "routeClick" }, ngImport: i0, template: "<ul class=\"lpx-nav-menu\">\r\n @if (groupedItems) {\r\n @for (item of groupedItems; track item) {\r\n <ng-container\r\n *ngTemplateOutlet=\"groupText; context: { $implicit: item }\"\r\n ></ng-container>\r\n\r\n @for (navbarItem of item.items; track navbarItem) {\r\n <ng-container\r\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: navbarItem }\"\r\n ></ng-container>\r\n }\r\n }\r\n } @else {\r\n <ng-container *ngTemplateOutlet=\"defaultRoute\"></ng-container>\r\n }\r\n</ul>\r\n\r\n<ng-template #defaultRoute>\r\n @for (item of navbarItems; track item) {\r\n <ng-container\r\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"\r\n ></ng-container>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #groupText let-item>\r\n @if (item.items.length) {\r\n <li class=\"group-menu-item hidden-in-hover-trigger\">\r\n {{ item.group | lpxTranslate | async }}\r\n </li>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #itemTemplate let-item>\r\n <li\r\n class=\"outer-menu-item\"\r\n *lpxVisible=\"!item.visible || item.visible(item, injector)\"\r\n >\r\n <lpx-sub-navbar\r\n [item]=\"item\"\r\n (expand)=\"onSubnavbarExpand($event, navbarItems)\"\r\n (routeClick)=\"onRouteClick($event, navbarItems)\"\r\n [routerItem]=\"routerItem()\"\r\n ></lpx-sub-navbar>\r\n </li>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.LpxVisibleDirective, selector: "[lpxVisible]", inputs: ["lpxVisible"] }, { kind: "component", type: i3.SubNavbarComponent, selector: "lpx-sub-navbar", inputs: ["item", "routerItem"], outputs: ["routeClick", "expand"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "lpxTranslate" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
62
100
|
}
|
|
63
101
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: NavbarRoutesComponent, decorators: [{
|
|
64
102
|
type: Component,
|
|
65
|
-
args: [{ selector: 'lpx-navbar-routes', encapsulation: ViewEncapsulation.None, template: "<ul class=\"lpx-nav-menu\">\r\n
|
|
66
|
-
}], ctorParameters: () => [
|
|
103
|
+
args: [{ selector: 'lpx-navbar-routes', encapsulation: ViewEncapsulation.None, template: "<ul class=\"lpx-nav-menu\">\r\n @if (groupedItems) {\r\n @for (item of groupedItems; track item) {\r\n <ng-container\r\n *ngTemplateOutlet=\"groupText; context: { $implicit: item }\"\r\n ></ng-container>\r\n\r\n @for (navbarItem of item.items; track navbarItem) {\r\n <ng-container\r\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: navbarItem }\"\r\n ></ng-container>\r\n }\r\n }\r\n } @else {\r\n <ng-container *ngTemplateOutlet=\"defaultRoute\"></ng-container>\r\n }\r\n</ul>\r\n\r\n<ng-template #defaultRoute>\r\n @for (item of navbarItems; track item) {\r\n <ng-container\r\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"\r\n ></ng-container>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #groupText let-item>\r\n @if (item.items.length) {\r\n <li class=\"group-menu-item hidden-in-hover-trigger\">\r\n {{ item.group | lpxTranslate | async }}\r\n </li>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #itemTemplate let-item>\r\n <li\r\n class=\"outer-menu-item\"\r\n *lpxVisible=\"!item.visible || item.visible(item, injector)\"\r\n >\r\n <lpx-sub-navbar\r\n [item]=\"item\"\r\n (expand)=\"onSubnavbarExpand($event, navbarItems)\"\r\n (routeClick)=\"onRouteClick($event, navbarItems)\"\r\n [routerItem]=\"routerItem()\"\r\n ></lpx-sub-navbar>\r\n </li>\r\n</ng-template>\r\n" }]
|
|
104
|
+
}], ctorParameters: () => [], propDecorators: { groupedItems: [{
|
|
67
105
|
type: Input
|
|
68
106
|
}], navbarItems: [{
|
|
69
107
|
type: Input
|
|
70
|
-
}], routerItem: [{
|
|
71
|
-
type: Input
|
|
72
108
|
}], routeClick: [{
|
|
73
109
|
type: Output
|
|
74
110
|
}] } });
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLXJvdXRlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2xlcHRvbi14LWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL25hdmJhci9uYXZiYXItcm91dGVzL25hdmJhci1yb3V0ZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9sZXB0b24teC1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9uYXZiYXIvbmF2YmFyLXJvdXRlcy9uYXZiYXItcm91dGVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFFBQVEsRUFDUixLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBVW5ELE1BQU0sT0FBTyxxQkFBcUI7SUFhaEMsSUFBWSxjQUFjO1FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdkIsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUVELE9BQU8saUJBQWlCLENBQ3RCLElBQUksQ0FBQyxZQUFZLENBQ2xCLENBQUM7SUFDSixDQUFDO0lBS0QsWUFBbUIsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQWZyQyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7UUFZdkMseUJBQW9CLEdBQUcsQ0FBQyxJQUFtQixFQUFXLEVBQUUsQ0FDOUQsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFRyxDQUFDO0lBRXpDLGlCQUFpQixDQUFDLFFBQXVCLEVBQUUsU0FBMEI7UUFDbkUsSUFBSSxRQUFRLENBQUMsUUFBUSxFQUFF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dXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbmplY3RvcixcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEdyb3VwZWROYXZiYXJJdGVtcywgTHB4TmF2YmFySXRlbSB9IGZyb20gJy4uL21vZGVscyc7XHJcbmltcG9ydCB7IGdldEl0ZW1zRnJvbUdyb3VwIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnO1xyXG5cclxuZXhwb3J0IHR5cGUgTmF2YmFySXRlbXNUeXBlID0gTHB4TmF2YmFySXRlbVtdIHwgbnVsbCB8IHVuZGVmaW5lZDtcclxuZXhwb3J0IHR5cGUgTmF2YmFyR3JvdXBJdGVtc1R5cGUgPSBHcm91cGVkTmF2YmFySXRlbXNbXSB8IG51bGwgfCB1bmRlZmluZWQ7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xweC1uYXZiYXItcm91dGVzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbmF2YmFyLXJvdXRlcy5jb21wb25lbnQuaHRtbCcsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE5hdmJhclJvdXRlc0NvbXBvbmVudCB7XHJcbiAgQElucHV0KClcclxuICBncm91cGVkSXRlbXM6IE5hdmJhckdyb3VwSXRlbXNUeXBlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIG5hdmJhckl0ZW1zOiBOYXZiYXJJdGVtc1R5cGU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcm91dGVySXRlbSE6IGJvb2xlYW47XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHJvdXRlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPExweE5hdmJhckl0ZW0+KCk7XHJcblxyXG4gIHByaXZhdGUgZ2V0IGl0ZW1zRnJvbUdyb3VwKCk6IExweE5hdmJhckl0ZW1bXSB8IHVuZGVmaW5lZCB7XHJcbiAgICBpZiAoIXRoaXMuZ3JvdXBlZEl0ZW1zKSB7XHJcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGdldEl0ZW1zRnJvbUdyb3VwPEdyb3VwZWROYXZiYXJJdGVtcywgTHB4TmF2YmFySXRlbT4oXHJcbiAgICAgIHRoaXMuZ3JvdXBlZEl0ZW1zLFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNFeHBhbmRlZE9yU2VsZWN0ZWQgPSAoaXRlbTogTHB4TmF2YmFySXRlbSk6IGJvb2xlYW4gPT5cclxuICAgICEhKGl0ZW0uZXhwYW5kZWQgfHwgaXRlbS5zZWxlY3RlZCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBpbmplY3RvcjogSW5qZWN0b3IpIHt9XHJcblxyXG4gIG9uU3VibmF2YmFyRXhwYW5kKG1lbnVJdGVtOiBMcHhOYXZiYXJJdGVtLCBtZW51SXRlbXM6IE5hdmJhckl0ZW1zVHlwZSk6IHZvaWQge1xyXG4gICAgaWYgKG1lbnVJdGVtLmV4cGFuZGVkKSB7XHJcbiAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5pdGVtc0Zyb21Hcm91cCB8fCBtZW51SXRlbXM7XHJcbiAgICAgIGlmICghaXRlbXMpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGl0ZW1zXHJcbiAgICAgICAgLmZpbHRlcigoaXRlbSkgPT4gaXRlbSAhPT0gbWVudUl0ZW0pXHJcbiAgICAgICAgLmZvckVhY2goKGl0ZW0pID0+IChpdGVtLmV4cGFuZGVkID0gZmFsc2UpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uUm91dGVDbGljayhtZW51SXRlbTogTHB4TmF2YmFySXRlbSwgbWVudUl0ZW1zOiBOYXZiYXJJdGVtc1R5cGUpOiB2b2lkIHtcclxuICAgIGNvbnN0IGV4cGFuZGVkSXRlbXMgPSBtZW51SXRlbXM/LmZpbHRlcih0aGlzLmlzRXhwYW5kZWRPclNlbGVjdGVkKTtcclxuICAgIGNvbnN0IGV4cGFuZGVkR3JvdXBJdGVtcyA9IHRoaXMuaXRlbXNGcm9tR3JvdXA/LmZpbHRlcihcclxuICAgICAgdGhpcy5pc0V4cGFuZGVkT3JTZWxlY3RlZCxcclxuICAgICk7XHJcblxyXG4gICAgY29uc3QgaXRlbXMgPSBleHBhbmRlZEdyb3VwSXRlbXMgfHwgZXhwYW5kZWRJdGVtcztcclxuXHJcbiAgICBpZiAoaXRlbXMpIHtcclxuICAgICAgaXRlbXNcclxuICAgICAgICAuZmlsdGVyKChpdGVtKSA9PiBpdGVtICE9PSBtZW51SXRlbSlcclxuICAgICAgICAucmVkdWNlPExweE5hdmJhckl0ZW1bXT4oKGFjYywgaXRlbSkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIFsuLi5hY2MsIGl0ZW0sIC4uLnRoaXMuZmxhdENoaWxkcmVuKGl0ZW0uY2hpbGRyZW4gfHwgW10pXTtcclxuICAgICAgICB9LCBbXSlcclxuICAgICAgICA/LmZpbHRlcihcclxuICAgICAgICAgIChpdGVtKSA9PlxyXG4gICAgICAgICAgICAhdGhpcy5jaGVja0NoaWxkcmVuSW5jbHVkZXNJdGVtKGl0ZW0sIG1lbnVJdGVtKSAmJlxyXG4gICAgICAgICAgICBpdGVtICE9PSBtZW51SXRlbSxcclxuICAgICAgICApXHJcbiAgICAgICAgLmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgICAgIGl0ZW0uc2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgICAgICAgIGl0ZW0uZXhwYW5kZWQgPSBmYWxzZTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnJvdXRlQ2xpY2suZW1pdChtZW51SXRlbSk7XHJcbiAgfVxyXG5cclxuICBjaGVja0NoaWxkcmVuSW5jbHVkZXNJdGVtKFxyXG4gICAgaXRlbTogTHB4TmF2YmFySXRlbSxcclxuICAgIG1lbnVJdGVtOiBMcHhOYXZiYXJJdGVtLFxyXG4gICk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgaXRlbS5jaGlsZHJlbj8ucmVkdWNlKFxyXG4gICAgICAgIChhY2MsIGNoaWxkKSA9PlxyXG4gICAgICAgICAgYWNjIHx8XHJcbiAgICAgICAgICBjaGlsZCA9PT0gbWVudUl0ZW0gfHxcclxuICAgICAgICAgIHRoaXMuY2hlY2tDaGlsZHJlbkluY2x1ZGVzSXRlbShjaGlsZCwgbWVudUl0ZW0pLFxyXG4gICAgICAgIGZhbHNlLFxyXG4gICAgICApIHx8IGZhbHNlXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZmxhdENoaWxkcmVuKG1lbnVJdGVtczogTmF2YmFySXRlbXNUeXBlKTogTHB4TmF2YmFySXRlbVtdIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIG1lbnVJdGVtcz8ucmVkdWNlPExweE5hdmJhckl0ZW1bXT4oKGFjYywgaXRlbSkgPT4ge1xyXG4gICAgICAgIHJldHVybiBbLi4uYWNjLCBpdGVtLCAuLi50aGlzLmZsYXRDaGlsZHJlbihpdGVtLmNoaWxkcmVuIHx8IFtdKV07XHJcbiAgICAgIH0sIFtdKSB8fCBbXVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIiwiPHVsIGNsYXNzPVwibHB4LW5hdi1tZW51XCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImdyb3VwZWRJdGVtczsgZWxzZSBkZWZhdWx0Um91dGVcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZ3JvdXBlZEl0ZW1zXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cImdyb3VwVGV4dDsgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0gfVwiXHJcbiAgICAgID48L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG5hdmJhckl0ZW0gb2YgaXRlbS5pdGVtc1wiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXRlbVRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogbmF2YmFySXRlbSB9XCJcclxuICAgICAgICA+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvdWw+XHJcblxyXG48bmctdGVtcGxhdGUgI2RlZmF1bHRSb3V0ZT5cclxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIG5hdmJhckl0ZW1zXCI+XHJcbiAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXRlbVRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSB9XCJcclxuICAgID48L25nLWNvbnRhaW5lcj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlICNncm91cFRleHQgbGV0LWl0ZW0+XHJcbiAgPGxpXHJcbiAgICAqbmdJZj1cIml0ZW0uaXRlbXMubGVuZ3RoID4gMFwiXHJcbiAgICBjbGFzcz1cImdyb3VwLW1lbnUtaXRlbSBoaWRkZW4taW4taG92ZXItdHJpZ2dlclwiXHJcbiAgPlxyXG4gICAge3sgaXRlbS5ncm91cCB8IGxweFRyYW5zbGF0ZSB8IGFzeW5jIH19XHJcbiAgPC9saT5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlICNpdGVtVGVtcGxhdGUgbGV0LWl0ZW0+XHJcbiAgPGxpXHJcbiAgICBjbGFzcz1cIm91dGVyLW1lbnUtaXRlbVwiXHJcbiAgICAqbHB4VmlzaWJsZT1cIiFpdGVtLnZpc2libGUgfHwgaXRlbS52aXNpYmxlKGl0ZW0sIGluamVjdG9yKVwiXHJcbiAgPlxyXG4gICAgPGxweC1zdWItbmF2YmFyXHJcbiAgICAgIFtpdGVtXT1cIml0ZW1cIlxyXG4gICAgICAoZXhwYW5kKT1cIm9uU3VibmF2YmFyRXhwYW5kKCRldmVudCwgbmF2YmFySXRlbXMpXCJcclxuICAgICAgKHJvdXRlQ2xpY2spPVwib25Sb3V0ZUNsaWNrKCRldmVudCwgbmF2YmFySXRlbXMpXCJcclxuICAgICAgW3JvdXRlckl0ZW1dPVwicm91dGVySXRlbVwiXHJcbiAgICA+PC9scHgtc3ViLW5hdmJhcj5cclxuICA8L2xpPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLXJvdXRlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2xlcHRvbi14LWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL25hdmJhci9uYXZiYXItcm91dGVzL25hdmJhci1yb3V0ZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9sZXB0b24teC1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9uYXZiYXIvbmF2YmFyLXJvdXRlcy9uYXZiYXItcm91dGVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFlBQVksRUFDWixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFDTCxLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7OztBQVV2RSxNQUFNLE9BQU8scUJBQXFCO0lBZWhDLElBQVksY0FBYztRQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFFRCxPQUFPLGlCQUFpQixDQUN0QixJQUFJLENBQUMsWUFBWSxDQUNsQixDQUFDO0lBQ0osQ0FBQztJQUVEO1FBeEJtQixhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVCLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBUXpELGVBQVUsR0FBRyxLQUFLLEVBQVcsQ0FBQztRQUc5QixlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7UUFnQnZDLHlCQUFvQixHQUFHLENBQUMsSUFBbUIs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QUM7b0JBQ1YsT0FBTyxJQUFJLENBQUM7Z0JBQ2QsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzhHQXpJVSxxQkFBcUI7a0dBQXJCLHFCQUFxQiw0Z0JDdkJsQyxrNUNBK0NBOzsyRkR4QmEscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLG1CQUFtQixpQkFFZCxpQkFBaUIsQ0FBQyxJQUFJO3dEQU9yQyxZQUFZO3NCQURYLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQU1OLFVBQVU7c0JBRFQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIGVmZmVjdCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgaW5qZWN0LFxyXG4gIEluamVjdG9yLFxyXG4gIGlucHV0LFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgR3JvdXBlZE5hdmJhckl0ZW1zLCBMcHhOYXZiYXJJdGVtIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgZ2V0SXRlbXNGcm9tR3JvdXAgfSBmcm9tICcuLi8uLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IFJvdXRlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9yb3V0ZS9yb3V0ZXMuc2VydmljZSc7XHJcblxyXG5leHBvcnQgdHlwZSBOYXZiYXJJdGVtc1R5cGUgPSBMcHhOYXZiYXJJdGVtW10gfCBudWxsIHwgdW5kZWZpbmVkO1xyXG5leHBvcnQgdHlwZSBOYXZiYXJHcm91cEl0ZW1zVHlwZSA9IEdyb3VwZWROYXZiYXJJdGVtc1tdIHwgbnVsbCB8IHVuZGVmaW5lZDtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbHB4LW5hdmJhci1yb3V0ZXMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9uYXZiYXItcm91dGVzLmNvbXBvbmVudC5odG1sJyxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmF2YmFyUm91dGVzQ29tcG9uZW50IHtcclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xyXG4gIHByb3RlY3RlZCByZWFkb25seSByb3V0ZXNTZXJ2aWNlID0gaW5qZWN0KFJvdXRlc1NlcnZpY2UpO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdyb3VwZWRJdGVtczogTmF2YmFyR3JvdXBJdGVtc1R5cGU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgbmF2YmFySXRlbXM6IE5hdmJhckl0ZW1zVHlwZTtcclxuXHJcbiAgcm91dGVySXRlbSA9IGlucHV0PGJvb2xlYW4+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHJvdXRlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPExweE5hdmJhckl0ZW0+KCk7XHJcblxyXG4gIHByaXZhdGUgZ2V0IGl0ZW1zRnJvbUdyb3VwKCk6IExweE5hdmJhckl0ZW1bXSB8IHVuZGVmaW5lZCB7XHJcbiAgICBpZiAoIXRoaXMuZ3JvdXBlZEl0ZW1zKSB7XHJcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGdldEl0ZW1zRnJvbUdyb3VwPEdyb3VwZWROYXZiYXJJdGVtcywgTHB4TmF2YmFySXRlbT4oXHJcbiAgICAgIHRoaXMuZ3JvdXBlZEl0ZW1zLFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5maXhOYXZiYXJJdGVtc0J5Um91dGVyKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzRXhwYW5kZWRPclNlbGVjdGVkID0gKGl0ZW06IExweE5hdmJhckl0ZW0pOiBib29sZWFuID0+XHJcbiAgICAhIShpdGVtLmV4cGFuZGVkIHx8IGl0ZW0uc2VsZWN0ZWQpO1xyXG5cclxuICBvblN1Ym5hdmJhckV4cGFuZChtZW51SXRlbTogTHB4TmF2YmFySXRlbSwgbWVudUl0ZW1zOiBOYXZiYXJJdGVtc1R5cGUpOiB2b2lkIHtcclxuICAgIGlmIChtZW51SXRlbS5leHBhbmRlZCkge1xyXG4gICAgICBjb25zdCBpdGVtcyA9IHRoaXMuaXRlbXNGcm9tR3JvdXAgfHwgbWVudUl0ZW1zO1xyXG4gICAgICBpZiAoIWl0ZW1zKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpdGVtc1xyXG4gICAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0gIT09IG1lbnVJdGVtKVxyXG4gICAgICAgIC5mb3JFYWNoKChpdGVtKSA9PiAoaXRlbS5leHBhbmRlZCA9IGZhbHNlKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblJvdXRlQ2xpY2sobWVudUl0ZW06IExweE5hdmJhckl0ZW0sIG1lbnVJdGVtczogTmF2YmFySXRlbXNUeXBlKTogdm9pZCB7XHJcbiAgICBjb25zdCBleHBhbmRlZEl0ZW1zID0gbWVudUl0ZW1zPy5maWx0ZXIodGhpcy5pc0V4cGFuZGVkT3JTZWxlY3RlZCk7XHJcbiAgICBjb25zdCBleHBhbmRlZEdyb3VwSXRlbXMgPSB0aGlzLml0ZW1zRnJvbUdyb3VwPy5maWx0ZXIoXHJcbiAgICAgIHRoaXMuaXNFeHBhbmRlZE9yU2VsZWN0ZWQsXHJcbiAgICApO1xyXG5cclxuICAgIGNvbnN0IGl0ZW1zID0gZXhwYW5kZWRHcm91cEl0ZW1zIHx8IGV4cGFuZGVkSXRlbXM7XHJcblxyXG4gICAgaWYgKGl0ZW1zKSB7XHJcbiAgICAgIGl0ZW1zXHJcbiAgICAgICAgLmZpbHRlcigoaXRlbSkgPT4gaXRlbSAhPT0gbWVudUl0ZW0pXHJcbiAgICAgICAgLnJlZHVjZTxMcHhOYXZiYXJJdGVtW10+KChhY2MsIGl0ZW0pID0+IHtcclxuICAgICAgICAgIHJldHVybiBbLi4uYWNjLCBpdGVtLCAuLi50aGlzLmZsYXRDaGlsZHJlbihpdGVtLmNoaWxkcmVuIHx8IFtdKV07XHJcbiAgICAgICAgfSwgW10pXHJcbiAgICAgICAgPy5maWx0ZXIoXHJcbiAgICAgICAgICAoaXRlbSkgPT5cclxuICAgICAgICAgICAgIXRoaXMuY2hlY2tDaGlsZHJlbkluY2x1ZGVzSXRlbShpdGVtLCBtZW51SXRlbSkgJiZcclxuICAgICAgICAgICAgaXRlbSAhPT0gbWVudUl0ZW0sXHJcbiAgICAgICAgKVxyXG4gICAgICAgIC5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICBpdGVtLnNlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgICAgICBpdGVtLmV4cGFuZGVkID0gZmFsc2U7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5yb3V0ZUNsaWNrLmVtaXQobWVudUl0ZW0pO1xyXG4gIH1cclxuXHJcbiAgY2hlY2tDaGlsZHJlbkluY2x1ZGVzSXRlbShcclxuICAgIGl0ZW06IExweE5hdmJhckl0ZW0sXHJcbiAgICBtZW51SXRlbTogTHB4TmF2YmFySXRlbSxcclxuICApOiBib29sZWFuIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIGl0ZW0uY2hpbGRyZW4/LnJlZHVjZShcclxuICAgICAgICAoYWNjLCBjaGlsZCkgPT5cclxuICAgICAgICAgIGFjYyB8fFxyXG4gICAgICAgICAgY2hpbGQgPT09IG1lbnVJdGVtIHx8XHJcbiAgICAgICAgICB0aGlzLmNoZWNrQ2hpbGRyZW5JbmNsdWRlc0l0ZW0oY2hpbGQsIG1lbnVJdGVtKSxcclxuICAgICAgICBmYWxzZSxcclxuICAgICAgKSB8fCBmYWxzZVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGZsYXRDaGlsZHJlbihtZW51SXRlbXM6IE5hdmJhckl0ZW1zVHlwZSk6IExweE5hdmJhckl0ZW1bXSB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICBtZW51SXRlbXM/LnJlZHVjZTxMcHhOYXZiYXJJdGVtW10+KChhY2MsIGl0ZW0pID0+IHtcclxuICAgICAgICByZXR1cm4gWy4uLmFjYywgaXRlbSwgLi4udGhpcy5mbGF0Q2hpbGRyZW4oaXRlbS5jaGlsZHJlbiB8fCBbXSldO1xyXG4gICAgICB9LCBbXSkgfHwgW11cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBmaXhOYXZiYXJJdGVtc0J5Um91dGVyKCkge1xyXG4gICAgZWZmZWN0KCgpID0+IHtcclxuICAgICAgY29uc3QgY3VycmVudE5hdmlnYXRpb24gPSB0aGlzLnJvdXRlc1NlcnZpY2UuY3VycmVudE5hdmlnYXRpb24oKTtcclxuXHJcbiAgICAgIGlmICghY3VycmVudE5hdmlnYXRpb24pIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuZml4TmF2YmFySXRlbXMoXHJcbiAgICAgICAgY3VycmVudE5hdmlnYXRpb24sXHJcbiAgICAgICAgdGhpcy5uYXZiYXJJdGVtcyBhcyBMcHhOYXZiYXJJdGVtW10sXHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGZpeE5hdmJhckl0ZW1zKGN1cnJlbnRVcmw6IHN0cmluZywgaXRlbXM6IExweE5hdmJhckl0ZW1bXSk6IHZvaWQge1xyXG4gICAgaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICBpZiAoaXRlbS5jaGlsZHJlbj8ubGVuZ3RoKSB7XHJcbiAgICAgICAgaXRlbS5leHBhbmRlZCA9IHRoaXMuaGFzVXJsSW5DaGlsZHJlbihpdGVtLCBjdXJyZW50VXJsKTtcclxuICAgICAgICB0aGlzLmZpeE5hdmJhckl0ZW1zKGN1cnJlbnRVcmwsIGl0ZW0uY2hpbGRyZW4pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGl0ZW0uc2VsZWN0ZWQgPSBpdGVtLmxpbmsgPT09IGN1cnJlbnRVcmw7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgaGFzVXJsSW5DaGlsZHJlbihpdGVtOiBMcHhOYXZiYXJJdGVtLCB1cmw6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKGl0ZW0ubGluayA9PT0gdXJsKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChpdGVtLmNoaWxkcmVuKSB7XHJcbiAgICAgIGZvciAoY29uc3QgY2hpbGQgb2YgaXRlbS5jaGlsZHJlbikge1xyXG4gICAgICAgIGNvbnN0IGZvdW5kID0gdGhpcy5oYXNVcmxJbkNoaWxkcmVuKGNoaWxkLCB1cmwpO1xyXG4gICAgICAgIGlmIChmb3VuZCkge1xyXG4gICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxufVxyXG4iLCI8dWwgY2xhc3M9XCJscHgtbmF2LW1lbnVcIj5cclxuICBAaWYgKGdyb3VwZWRJdGVtcykge1xyXG4gICAgQGZvciAoaXRlbSBvZiBncm91cGVkSXRlbXM7IHRyYWNrIGl0ZW0pIHtcclxuICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiZ3JvdXBUZXh0OyBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSB9XCJcclxuICAgICAgPjwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgQGZvciAobmF2YmFySXRlbSBvZiBpdGVtLml0ZW1zOyB0cmFjayBuYXZiYXJJdGVtKSB7XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBuYXZiYXJJdGVtIH1cIlxyXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRlZmF1bHRSb3V0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gIH1cclxuPC91bD5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdFJvdXRlPlxyXG4gIEBmb3IgKGl0ZW0gb2YgbmF2YmFySXRlbXM7IHRyYWNrIGl0ZW0pIHtcclxuICAgIDxuZy1jb250YWluZXJcclxuICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtIH1cIlxyXG4gICAgPjwvbmctY29udGFpbmVyPlxyXG4gIH1cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZ3JvdXBUZXh0IGxldC1pdGVtPlxyXG4gIEBpZiAoaXRlbS5pdGVtcy5sZW5ndGgpIHtcclxuICAgIDxsaSBjbGFzcz1cImdyb3VwLW1lbnUtaXRlbSBoaWRkZW4taW4taG92ZXItdHJpZ2dlclwiPlxyXG4gICAgICB7eyBpdGVtLmdyb3VwIHwgbHB4VHJhbnNsYXRlIHwgYXN5bmMgfX1cclxuICAgIDwvbGk+XHJcbiAgfVxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNpdGVtVGVtcGxhdGUgbGV0LWl0ZW0+XHJcbiAgPGxpXHJcbiAgICBjbGFzcz1cIm91dGVyLW1lbnUtaXRlbVwiXHJcbiAgICAqbHB4VmlzaWJsZT1cIiFpdGVtLnZpc2libGUgfHwgaXRlbS52aXNpYmxlKGl0ZW0sIGluamVjdG9yKVwiXHJcbiAgPlxyXG4gICAgPGxweC1zdWItbmF2YmFyXHJcbiAgICAgIFtpdGVtXT1cIml0ZW1cIlxyXG4gICAgICAoZXhwYW5kKT1cIm9uU3VibmF2YmFyRXhwYW5kKCRldmVudCwgbmF2YmFySXRlbXMpXCJcclxuICAgICAgKHJvdXRlQ2xpY2spPVwib25Sb3V0ZUNsaWNrKCRldmVudCwgbmF2YmFySXRlbXMpXCJcclxuICAgICAgW3JvdXRlckl0ZW1dPVwicm91dGVySXRlbSgpXCJcclxuICAgID48L2xweC1zdWItbmF2YmFyPlxyXG4gIDwvbGk+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, EventEmitter, Injector, Input, Output, ViewEncapsulation, } from '@angular/core';
|
|
1
|
+
import { Component, EventEmitter, inject, Injector, input, Input, Output, ViewEncapsulation, } from '@angular/core';
|
|
2
2
|
import { of } from 'rxjs';
|
|
3
3
|
import { take } from 'rxjs/operators';
|
|
4
4
|
import { getStream$ } from '../../../utils/common';
|
|
@@ -9,8 +9,9 @@ import * as i3 from "../../icon/icon.component";
|
|
|
9
9
|
import * as i4 from "../../../directives/visible.directive";
|
|
10
10
|
import * as i5 from "../../../pipes/translate/translate.pipe";
|
|
11
11
|
export class SubNavbarComponent {
|
|
12
|
-
constructor(
|
|
13
|
-
this.injector =
|
|
12
|
+
constructor() {
|
|
13
|
+
this.injector = inject(Injector);
|
|
14
|
+
this.routerItem = input();
|
|
14
15
|
this.routeClick = new EventEmitter();
|
|
15
16
|
this.expand = new EventEmitter();
|
|
16
17
|
}
|
|
@@ -43,23 +44,21 @@ export class SubNavbarComponent {
|
|
|
43
44
|
return;
|
|
44
45
|
}
|
|
45
46
|
this.routeClick.emit(menuItem);
|
|
46
|
-
if (!this.routerItem) {
|
|
47
|
+
if (!this.routerItem()) {
|
|
47
48
|
menuItem.selected = true;
|
|
48
49
|
}
|
|
49
50
|
}
|
|
50
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SubNavbarComponent, deps: [
|
|
51
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
51
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SubNavbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
52
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: SubNavbarComponent, selector: "lpx-sub-navbar", inputs: { item: { classPropertyName: "item", publicName: "item", isSignal: false, isRequired: false, transformFunction: null }, routerItem: { classPropertyName: "routerItem", publicName: "routerItem", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { routeClick: "routeClick", expand: "expand" }, ngImport: i0, template: "@if (item.component) {\r\n <ng-container\r\n *ngComponentOutlet=\"item.component; injector: injector\"\r\n ></ng-container>\r\n} @else {\r\n <ng-container *ngTemplateOutlet=\"defaultTemplate\"></ng-container>\r\n}\r\n<ng-template #defaultTemplate>\r\n <a\r\n class=\"lpx-menu-item-link\"\r\n [routerLink]=\"item.link\"\r\n [class.selected]=\"item.selected\"\r\n [class.expanded]=\"item.children?.length && item.expanded\"\r\n (click)=\"onItemClick(item)\"\r\n >\r\n <lpx-icon\r\n class=\"lpx-menu-item-icon\"\r\n *ngIf=\"item.icon\"\r\n [iconClass]=\"item.icon\"\r\n ></lpx-icon>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n item.template || textTmpl;\r\n context: { $implicit: item }\r\n \"\r\n ></ng-container>\r\n <ng-template #textTmpl>\r\n @if (item.text) {\r\n <span class=\"lpx-menu-item-text hidden-in-hover-trigger\">{{\r\n item.text | lpxTranslate | async\r\n }}</span>\r\n }\r\n </ng-template>\r\n\r\n @if (item.children?.length) {\r\n <lpx-icon\r\n [iconClass]=\"item.expanded ? 'chevronUp' : 'chevronDown'\"\r\n class=\"dd-icon hidden-in-hover-trigger\"\r\n >\r\n </lpx-icon>\r\n }\r\n </a>\r\n\r\n @if (item.children?.length) {\r\n <ul\r\n class=\"lpx-inner-menu hidden-in-hover-trigger\"\r\n [class.collapsed]=\"!item.expanded\"\r\n >\r\n @for (child of item.children; track item.children) {\r\n <li\r\n class=\"lpx-inner-menu-item\"\r\n *lpxVisible=\"!child.visible || child.visible(child, injector)\"\r\n >\r\n <lpx-sub-navbar\r\n [item]=\"child\"\r\n (routeClick)=\"this.routeClick.emit($event)\"\r\n (expand)=\"onChildExpand($event)\"\r\n ></lpx-sub-navbar>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i3.IconComponent, selector: "lpx-icon", inputs: ["iconClass"] }, { kind: "directive", type: i4.LpxVisibleDirective, selector: "[lpxVisible]", inputs: ["lpxVisible"] }, { kind: "component", type: SubNavbarComponent, selector: "lpx-sub-navbar", inputs: ["item", "routerItem"], outputs: ["routeClick", "expand"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TranslatePipe, name: "lpxTranslate" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
52
53
|
}
|
|
53
54
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SubNavbarComponent, decorators: [{
|
|
54
55
|
type: Component,
|
|
55
|
-
args: [{ selector: 'lpx-sub-navbar', encapsulation: ViewEncapsulation.None, template: "
|
|
56
|
-
}],
|
|
57
|
-
type: Input
|
|
58
|
-
}], routerItem: [{
|
|
56
|
+
args: [{ selector: 'lpx-sub-navbar', encapsulation: ViewEncapsulation.None, template: "@if (item.component) {\r\n <ng-container\r\n *ngComponentOutlet=\"item.component; injector: injector\"\r\n ></ng-container>\r\n} @else {\r\n <ng-container *ngTemplateOutlet=\"defaultTemplate\"></ng-container>\r\n}\r\n<ng-template #defaultTemplate>\r\n <a\r\n class=\"lpx-menu-item-link\"\r\n [routerLink]=\"item.link\"\r\n [class.selected]=\"item.selected\"\r\n [class.expanded]=\"item.children?.length && item.expanded\"\r\n (click)=\"onItemClick(item)\"\r\n >\r\n <lpx-icon\r\n class=\"lpx-menu-item-icon\"\r\n *ngIf=\"item.icon\"\r\n [iconClass]=\"item.icon\"\r\n ></lpx-icon>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n item.template || textTmpl;\r\n context: { $implicit: item }\r\n \"\r\n ></ng-container>\r\n <ng-template #textTmpl>\r\n @if (item.text) {\r\n <span class=\"lpx-menu-item-text hidden-in-hover-trigger\">{{\r\n item.text | lpxTranslate | async\r\n }}</span>\r\n }\r\n </ng-template>\r\n\r\n @if (item.children?.length) {\r\n <lpx-icon\r\n [iconClass]=\"item.expanded ? 'chevronUp' : 'chevronDown'\"\r\n class=\"dd-icon hidden-in-hover-trigger\"\r\n >\r\n </lpx-icon>\r\n }\r\n </a>\r\n\r\n @if (item.children?.length) {\r\n <ul\r\n class=\"lpx-inner-menu hidden-in-hover-trigger\"\r\n [class.collapsed]=\"!item.expanded\"\r\n >\r\n @for (child of item.children; track item.children) {\r\n <li\r\n class=\"lpx-inner-menu-item\"\r\n *lpxVisible=\"!child.visible || child.visible(child, injector)\"\r\n >\r\n <lpx-sub-navbar\r\n [item]=\"child\"\r\n (routeClick)=\"this.routeClick.emit($event)\"\r\n (expand)=\"onChildExpand($event)\"\r\n ></lpx-sub-navbar>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n</ng-template>\r\n" }]
|
|
57
|
+
}], propDecorators: { item: [{
|
|
59
58
|
type: Input
|
|
60
59
|
}], routeClick: [{
|
|
61
60
|
type: Output
|
|
62
61
|
}], expand: [{
|
|
63
62
|
type: Output
|
|
64
63
|
}] } });
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViLW5hdmJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2xlcHRvbi14LWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL25hdmJhci9zdWItbmF2YmFyL3N1Yi1uYXZiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9sZXB0b24teC1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9uYXZiYXIvc3ViLW5hdmJhci9zdWItbmF2YmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixRQUFRLEVBQ1IsS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7OztBQVFuRCxNQUFNLE9BQU8sa0JBQWtCO0lBTC9CO1FBTXFCLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFJL0MsZUFBVSxHQUFHLEtBQUssRUFBVyxDQUFDO1FBRXBCLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUMvQyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7S0FxQ3REO0lBbkNDLFdBQVcsQ0FBQyxRQUF1QjtRQUNqQyxJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkIsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2pDLE9BQU8sR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0IsQ0FBQztRQUNELE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDekMsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDWCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDbEMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFvQjtRQUNoQyxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVE7Z0JBQ2pCLEVBQUUsTUFBTSxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxVQUFVLEtBQUssS0FBSyxDQUFDO2lCQUM3QyxPQUFPLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtnQkFDdEIsVUFBVSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQzVCLFVBQVUsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBQzlCLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztJQUNILENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxRQUF1QjtRQUM5QyxJQUFJLFFBQVEsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDOUIsUUFBUSxDQUFDLFFBQVEsR0FBRyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7WUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDM0IsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7WUFDdkIsUUFBUSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUM7OEdBNUNVLGtCQUFrQjtrR0FBbEIsa0JBQWtCLHdYQ3BCL0IsZzNEQStEQSxtL0JEM0NhLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDRSxnQkFBZ0IsaUJBRVgsaUJBQWlCLENBQUMsSUFBSTs4QkFLNUIsSUFBSTtzQkFBWixLQUFLO2dCQUlJLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIGluamVjdCxcclxuICBJbmplY3RvcixcclxuICBpbnB1dCxcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IGdldFN0cmVhbSQgfSBmcm9tICcuLi8uLi8uLi91dGlscy9jb21tb24nO1xyXG5pbXBvcnQgeyBMcHhOYXZiYXJJdGVtIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbHB4LXN1Yi1uYXZiYXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zdWItbmF2YmFyLmNvbXBvbmVudC5odG1sJyxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3ViTmF2YmFyQ29tcG9uZW50IHtcclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xyXG5cclxuICBASW5wdXQoKSBpdGVtITogTHB4TmF2YmFySXRlbTtcclxuXHJcbiAgcm91dGVySXRlbSA9IGlucHV0PGJvb2xlYW4+KCk7XHJcblxyXG4gIEBPdXRwdXQoKSByb3V0ZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxMcHhOYXZiYXJJdGVtPigpO1xyXG4gIEBPdXRwdXQoKSBleHBhbmQgPSBuZXcgRXZlbnRFbWl0dGVyPExweE5hdmJhckl0ZW0+KCk7XHJcblxyXG4gIG9uSXRlbUNsaWNrKG1lbnVJdGVtOiBMcHhOYXZiYXJJdGVtKTogdm9pZCB7XHJcbiAgICBsZXQgYWN0aW9uJCA9IG9mKHRydWUpO1xyXG4gICAgaWYgKG1lbnVJdGVtLmFjdGlvbikge1xyXG4gICAgICBjb25zdCByZXN1bHQgPSBtZW51SXRlbS5hY3Rpb24oKTtcclxuICAgICAgYWN0aW9uJCA9IGdldFN0cmVhbSQocmVzdWx0KTtcclxuICAgIH1cclxuICAgIGFjdGlvbiQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgdGhpcy5wcm9jZXNzSXRlbUNsaWNrKG1lbnVJdGVtKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvbkNoaWxkRXhwYW5kKGNoaWxkOiBMcHhOYXZiYXJJdGVtKTogdm9pZCB7XHJcbiAgICBpZiAoY2hpbGQuZXhwYW5kZWQpIHtcclxuICAgICAgdGhpcy5pdGVtPy5jaGlsZHJlblxyXG4gICAgICAgID8uZmlsdGVyKChvdGhlckNoaWxkKSA9PiBvdGhlckNoaWxkICE9PSBjaGlsZClcclxuICAgICAgICAuZm9yRWFjaCgob3RoZXJDaGlsZCkgPT4ge1xyXG4gICAgICAgICAgb3RoZXJDaGlsZC5leHBhbmRlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgb3RoZXJDaGlsZC5zZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwcm9jZXNzSXRlbUNsaWNrKG1lbnVJdGVtOiBMcHhOYXZiYXJJdGVtKTogdm9pZCB7XHJcbiAgICBpZiAobWVudUl0ZW0uY2hpbGRyZW4/Lmxlbmd0aCkge1xyXG4gICAgICBtZW51SXRlbS5leHBhbmRlZCA9ICFtZW51SXRlbS5leHBhbmRlZDtcclxuICAgICAgdGhpcy5leHBhbmQuZW1pdChtZW51SXRlbSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMucm91dGVDbGljay5lbWl0KG1lbnVJdGVtKTtcclxuICAgIGlmICghdGhpcy5yb3V0ZXJJdGVtKCkpIHtcclxuICAgICAgbWVudUl0ZW0uc2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJAaWYgKGl0ZW0uY29tcG9uZW50KSB7XHJcbiAgPG5nLWNvbnRhaW5lclxyXG4gICAgKm5nQ29tcG9uZW50T3V0bGV0PVwiaXRlbS5jb21wb25lbnQ7IGluamVjdG9yOiBpbmplY3RvclwiXHJcbiAgPjwvbmctY29udGFpbmVyPlxyXG59IEBlbHNlIHtcclxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGVmYXVsdFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbn1cclxuPG5nLXRlbXBsYXRlICNkZWZhdWx0VGVtcGxhdGU+XHJcbiAgPGFcclxuICAgIGNsYXNzPVwibHB4LW1lbnUtaXRlbS1saW5rXCJcclxuICAgIFtyb3V0ZXJMaW5rXT1cIml0ZW0ubGlua1wiXHJcbiAgICBbY2xhc3Muc2VsZWN0ZWRdPVwiaXRlbS5zZWxlY3RlZFwiXHJcbiAgICBbY2xhc3MuZXhwYW5kZWRdPVwiaXRlbS5jaGlsZHJlbj8ubGVuZ3RoICYmIGl0ZW0uZXhwYW5kZWRcIlxyXG4gICAgKGNsaWNrKT1cIm9uSXRlbUNsaWNrKGl0ZW0pXCJcclxuICA+XHJcbiAgICA8bHB4LWljb25cclxuICAgICAgY2xhc3M9XCJscHgtbWVudS1pdGVtLWljb25cIlxyXG4gICAgICAqbmdJZj1cIml0ZW0uaWNvblwiXHJcbiAgICAgIFtpY29uQ2xhc3NdPVwiaXRlbS5pY29uXCJcclxuICAgID48L2xweC1pY29uPlxyXG4gICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgIGl0ZW0udGVtcGxhdGUgfHwgdGV4dFRtcGw7XHJcbiAgICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0gfVxyXG4gICAgICBcIlxyXG4gICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLXRlbXBsYXRlICN0ZXh0VG1wbD5cclxuICAgICAgQGlmIChpdGVtLnRleHQpIHtcclxuICAgICAgICA8c3BhbiBjbGFzcz1cImxweC1tZW51LWl0ZW0tdGV4dCBoaWRkZW4taW4taG92ZXItdHJpZ2dlclwiPnt7XHJcbiAgICAgICAgICBpdGVtLnRleHQgfCBscHhUcmFuc2xhdGUgfCBhc3luY1xyXG4gICAgICAgIH19PC9zcGFuPlxyXG4gICAgICB9XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgIEBpZiAoaXRlbS5jaGlsZHJlbj8ubGVuZ3RoKSB7XHJcbiAgICAgIDxscHgtaWNvblxyXG4gICAgICAgIFtpY29uQ2xhc3NdPVwiaXRlbS5leHBhbmRlZCA/ICdjaGV2cm9uVXAnIDogJ2NoZXZyb25Eb3duJ1wiXHJcbiAgICAgICAgY2xhc3M9XCJkZC1pY29uIGhpZGRlbi1pbi1ob3Zlci10cmlnZ2VyXCJcclxuICAgICAgPlxyXG4gICAgICA8L2xweC1pY29uPlxyXG4gICAgfVxyXG4gIDwvYT5cclxuXHJcbiAgQGlmIChpdGVtLmNoaWxkcmVuPy5sZW5ndGgpIHtcclxuICAgIDx1bFxyXG4gICAgICBjbGFzcz1cImxweC1pbm5lci1tZW51IGhpZGRlbi1pbi1ob3Zlci10cmlnZ2VyXCJcclxuICAgICAgW2NsYXNzLmNvbGxhcHNlZF09XCIhaXRlbS5leHBhbmRlZFwiXHJcbiAgICA+XHJcbiAgICAgIEBmb3IgKGNoaWxkIG9mIGl0ZW0uY2hpbGRyZW47IHRyYWNrIGl0ZW0uY2hpbGRyZW4pIHtcclxuICAgICAgICA8bGlcclxuICAgICAgICAgIGNsYXNzPVwibHB4LWlubmVyLW1lbnUtaXRlbVwiXHJcbiAgICAgICAgICAqbHB4VmlzaWJsZT1cIiFjaGlsZC52aXNpYmxlIHx8IGNoaWxkLnZpc2libGUoY2hpbGQsIGluamVjdG9yKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGxweC1zdWItbmF2YmFyXHJcbiAgICAgICAgICAgIFtpdGVtXT1cImNoaWxkXCJcclxuICAgICAgICAgICAgKHJvdXRlQ2xpY2spPVwidGhpcy5yb3V0ZUNsaWNrLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIChleHBhbmQpPVwib25DaGlsZEV4cGFuZCgkZXZlbnQpXCJcclxuICAgICAgICAgID48L2xweC1zdWItbmF2YmFyPlxyXG4gICAgICAgIDwvbGk+XHJcbiAgICAgIH1cclxuICAgIDwvdWw+XHJcbiAgfVxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
|
|
@@ -6,4 +6,5 @@ export * from './translate/index';
|
|
|
6
6
|
export * from './auth/index';
|
|
7
7
|
export * from './local-storage/index';
|
|
8
8
|
export * from './perfect-scrollbar.service';
|
|
9
|
-
|
|
9
|
+
export * from './route';
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2xlcHRvbi14LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9sYW5ndWFnZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdXNlci1wcm9maWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9ib2R5JztcclxuZXhwb3J0ICogZnJvbSAnLi9sYXlvdXQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3RyYW5zbGF0ZS9pbmRleCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vYXV0aC9pbmRleCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbG9jYWwtc3RvcmFnZS9pbmRleCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGVyZmVjdC1zY3JvbGxiYXIuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcm91dGUnO1xyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './routes.service';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2xlcHRvbi14LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9yb3V0ZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9yb3V0ZXMuc2VydmljZSc7XHJcbiJdfQ==
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { toSignal } from '@angular/core/rxjs-interop';
|
|
2
|
+
import { Injectable, inject } from '@angular/core';
|
|
3
|
+
import { NavigationEnd, Router } from '@angular/router';
|
|
4
|
+
import { filter, map } from 'rxjs/operators';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class RoutesService {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.router = inject(Router);
|
|
9
|
+
this.currentNavigation = toSignal(this.router.events.pipe(filter((e) => e instanceof NavigationEnd),
|
|
10
|
+
//TODO: location object might be problem in the future for SSR
|
|
11
|
+
map(() => location.pathname)), { initialValue: location.pathname });
|
|
12
|
+
}
|
|
13
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: RoutesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
14
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: RoutesService, providedIn: 'root' }); }
|
|
15
|
+
}
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: RoutesService, decorators: [{
|
|
17
|
+
type: Injectable,
|
|
18
|
+
args: [{
|
|
19
|
+
providedIn: 'root',
|
|
20
|
+
}]
|
|
21
|
+
}] });
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2xlcHRvbi14LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9yb3V0ZS9yb3V0ZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUs3QyxNQUFNLE9BQU8sYUFBYTtJQUgxQjtRQUlxQixXQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRWxDLHNCQUFpQixHQUFHLFFBQVEsQ0FDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNyQixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsWUFBWSxhQUFhLENBQUM7UUFDekMsOERBQThEO1FBQzlELEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQzdCLEVBQ0QsRUFBRSxZQUFZLEVBQUUsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUNwQyxDQUFDO0tBQ0g7OEdBWFksYUFBYTtrSEFBYixhQUFhLGNBRlosTUFBTTs7MkZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IGZpbHRlciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJvdXRlc1NlcnZpY2Uge1xyXG4gIHByb3RlY3RlZCByZWFkb25seSByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcclxuXHJcbiAgcmVhZG9ubHkgY3VycmVudE5hdmlnYXRpb24gPSB0b1NpZ25hbChcclxuICAgIHRoaXMucm91dGVyLmV2ZW50cy5waXBlKFxyXG4gICAgICBmaWx0ZXIoKGUpID0+IGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSxcclxuICAgICAgLy9UT0RPOiBsb2NhdGlvbiBvYmplY3QgbWlnaHQgYmUgcHJvYmxlbSBpbiB0aGUgZnV0dXJlIGZvciBTU1JcclxuICAgICAgbWFwKCgpID0+IGxvY2F0aW9uLnBhdGhuYW1lKSxcclxuICAgICksXHJcbiAgICB7IGluaXRpYWxWYWx1ZTogbG9jYXRpb24ucGF0aG5hbWUgfSxcclxuICApO1xyXG59XHJcbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, InjectionToken, Injectable, Inject, NgModule, Component, ViewEncapsulation, Input, Directive, Optional, Pipe, EventEmitter, Output,
|
|
2
|
+
import { inject, InjectionToken, Injectable, Inject, NgModule, Component, ViewEncapsulation, Input, Directive, Optional, Pipe, Injector, input, EventEmitter, Output, effect, PLATFORM_ID, TemplateRef, ContentChild, SecurityContext, HostListener, APP_INITIALIZER, SkipSelf, ElementRef } from '@angular/core';
|
|
3
3
|
import * as i2 from '@angular/router';
|
|
4
4
|
import { Router, RouterModule, NavigationEnd, NavigationError, NavigationCancel } from '@angular/router';
|
|
5
5
|
import * as i1 from '@angular/common';
|
|
@@ -7,6 +7,7 @@ import { CommonModule, isPlatformBrowser, DOCUMENT } from '@angular/common';
|
|
|
7
7
|
import { map, distinctUntilChanged, filter, take, tap, switchMap, startWith, distinctUntilKeyChanged } from 'rxjs/operators';
|
|
8
8
|
import { BehaviorSubject, Subject, Observable, from, of, EMPTY, filter as filter$1, map as map$1, combineLatest, fromEvent, Subscription } from 'rxjs';
|
|
9
9
|
import { FormsModule } from '@angular/forms';
|
|
10
|
+
import { toSignal } from '@angular/core/rxjs-interop';
|
|
10
11
|
import PerfectScrollbar from 'perfect-scrollbar';
|
|
11
12
|
import { DomSanitizer } from '@angular/platform-browser';
|
|
12
13
|
|
|
@@ -521,6 +522,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
521
522
|
}]
|
|
522
523
|
}], ctorParameters: () => [{ type: i0.TemplateRef }] });
|
|
523
524
|
|
|
525
|
+
class RoutesService {
|
|
526
|
+
constructor() {
|
|
527
|
+
this.router = inject(Router);
|
|
528
|
+
this.currentNavigation = toSignal(this.router.events.pipe(filter((e) => e instanceof NavigationEnd),
|
|
529
|
+
//TODO: location object might be problem in the future for SSR
|
|
530
|
+
map(() => location.pathname)), { initialValue: location.pathname });
|
|
531
|
+
}
|
|
532
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: RoutesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
533
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: RoutesService, providedIn: 'root' }); }
|
|
534
|
+
}
|
|
535
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: RoutesService, decorators: [{
|
|
536
|
+
type: Injectable,
|
|
537
|
+
args: [{
|
|
538
|
+
providedIn: 'root',
|
|
539
|
+
}]
|
|
540
|
+
}] });
|
|
541
|
+
|
|
524
542
|
class LpxVisibleDirective {
|
|
525
543
|
set lpxVisible(value) {
|
|
526
544
|
this.condition$ = checkType(value);
|
|
@@ -779,8 +797,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
779
797
|
}], ctorParameters: () => [{ type: LpxThemeTranslateService }] });
|
|
780
798
|
|
|
781
799
|
class SubNavbarComponent {
|
|
782
|
-
constructor(
|
|
783
|
-
this.injector =
|
|
800
|
+
constructor() {
|
|
801
|
+
this.injector = inject(Injector);
|
|
802
|
+
this.routerItem = input();
|
|
784
803
|
this.routeClick = new EventEmitter();
|
|
785
804
|
this.expand = new EventEmitter();
|
|
786
805
|
}
|
|
@@ -813,19 +832,17 @@ class SubNavbarComponent {
|
|
|
813
832
|
return;
|
|
814
833
|
}
|
|
815
834
|
this.routeClick.emit(menuItem);
|
|
816
|
-
if (!this.routerItem) {
|
|
835
|
+
if (!this.routerItem()) {
|
|
817
836
|
menuItem.selected = true;
|
|
818
837
|
}
|
|
819
838
|
}
|
|
820
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SubNavbarComponent, deps: [
|
|
821
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
839
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SubNavbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
840
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: SubNavbarComponent, selector: "lpx-sub-navbar", inputs: { item: { classPropertyName: "item", publicName: "item", isSignal: false, isRequired: false, transformFunction: null }, routerItem: { classPropertyName: "routerItem", publicName: "routerItem", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { routeClick: "routeClick", expand: "expand" }, ngImport: i0, template: "@if (item.component) {\r\n <ng-container\r\n *ngComponentOutlet=\"item.component; injector: injector\"\r\n ></ng-container>\r\n} @else {\r\n <ng-container *ngTemplateOutlet=\"defaultTemplate\"></ng-container>\r\n}\r\n<ng-template #defaultTemplate>\r\n <a\r\n class=\"lpx-menu-item-link\"\r\n [routerLink]=\"item.link\"\r\n [class.selected]=\"item.selected\"\r\n [class.expanded]=\"item.children?.length && item.expanded\"\r\n (click)=\"onItemClick(item)\"\r\n >\r\n <lpx-icon\r\n class=\"lpx-menu-item-icon\"\r\n *ngIf=\"item.icon\"\r\n [iconClass]=\"item.icon\"\r\n ></lpx-icon>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n item.template || textTmpl;\r\n context: { $implicit: item }\r\n \"\r\n ></ng-container>\r\n <ng-template #textTmpl>\r\n @if (item.text) {\r\n <span class=\"lpx-menu-item-text hidden-in-hover-trigger\">{{\r\n item.text | lpxTranslate | async\r\n }}</span>\r\n }\r\n </ng-template>\r\n\r\n @if (item.children?.length) {\r\n <lpx-icon\r\n [iconClass]=\"item.expanded ? 'chevronUp' : 'chevronDown'\"\r\n class=\"dd-icon hidden-in-hover-trigger\"\r\n >\r\n </lpx-icon>\r\n }\r\n </a>\r\n\r\n @if (item.children?.length) {\r\n <ul\r\n class=\"lpx-inner-menu hidden-in-hover-trigger\"\r\n [class.collapsed]=\"!item.expanded\"\r\n >\r\n @for (child of item.children; track item.children) {\r\n <li\r\n class=\"lpx-inner-menu-item\"\r\n *lpxVisible=\"!child.visible || child.visible(child, injector)\"\r\n >\r\n <lpx-sub-navbar\r\n [item]=\"child\"\r\n (routeClick)=\"this.routeClick.emit($event)\"\r\n (expand)=\"onChildExpand($event)\"\r\n ></lpx-sub-navbar>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: IconComponent, selector: "lpx-icon", inputs: ["iconClass"] }, { kind: "directive", type: LpxVisibleDirective, selector: "[lpxVisible]", inputs: ["lpxVisible"] }, { kind: "component", type: SubNavbarComponent, selector: "lpx-sub-navbar", inputs: ["item", "routerItem"], outputs: ["routeClick", "expand"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "lpxTranslate" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
822
841
|
}
|
|
823
842
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SubNavbarComponent, decorators: [{
|
|
824
843
|
type: Component,
|
|
825
|
-
args: [{ selector: 'lpx-sub-navbar', encapsulation: ViewEncapsulation.None, template: "
|
|
826
|
-
}],
|
|
827
|
-
type: Input
|
|
828
|
-
}], routerItem: [{
|
|
844
|
+
args: [{ selector: 'lpx-sub-navbar', encapsulation: ViewEncapsulation.None, template: "@if (item.component) {\r\n <ng-container\r\n *ngComponentOutlet=\"item.component; injector: injector\"\r\n ></ng-container>\r\n} @else {\r\n <ng-container *ngTemplateOutlet=\"defaultTemplate\"></ng-container>\r\n}\r\n<ng-template #defaultTemplate>\r\n <a\r\n class=\"lpx-menu-item-link\"\r\n [routerLink]=\"item.link\"\r\n [class.selected]=\"item.selected\"\r\n [class.expanded]=\"item.children?.length && item.expanded\"\r\n (click)=\"onItemClick(item)\"\r\n >\r\n <lpx-icon\r\n class=\"lpx-menu-item-icon\"\r\n *ngIf=\"item.icon\"\r\n [iconClass]=\"item.icon\"\r\n ></lpx-icon>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n item.template || textTmpl;\r\n context: { $implicit: item }\r\n \"\r\n ></ng-container>\r\n <ng-template #textTmpl>\r\n @if (item.text) {\r\n <span class=\"lpx-menu-item-text hidden-in-hover-trigger\">{{\r\n item.text | lpxTranslate | async\r\n }}</span>\r\n }\r\n </ng-template>\r\n\r\n @if (item.children?.length) {\r\n <lpx-icon\r\n [iconClass]=\"item.expanded ? 'chevronUp' : 'chevronDown'\"\r\n class=\"dd-icon hidden-in-hover-trigger\"\r\n >\r\n </lpx-icon>\r\n }\r\n </a>\r\n\r\n @if (item.children?.length) {\r\n <ul\r\n class=\"lpx-inner-menu hidden-in-hover-trigger\"\r\n [class.collapsed]=\"!item.expanded\"\r\n >\r\n @for (child of item.children; track item.children) {\r\n <li\r\n class=\"lpx-inner-menu-item\"\r\n *lpxVisible=\"!child.visible || child.visible(child, injector)\"\r\n >\r\n <lpx-sub-navbar\r\n [item]=\"child\"\r\n (routeClick)=\"this.routeClick.emit($event)\"\r\n (expand)=\"onChildExpand($event)\"\r\n ></lpx-sub-navbar>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n</ng-template>\r\n" }]
|
|
845
|
+
}], propDecorators: { item: [{
|
|
829
846
|
type: Input
|
|
830
847
|
}], routeClick: [{
|
|
831
848
|
type: Output
|
|
@@ -840,10 +857,13 @@ class NavbarRoutesComponent {
|
|
|
840
857
|
}
|
|
841
858
|
return getItemsFromGroup(this.groupedItems);
|
|
842
859
|
}
|
|
843
|
-
constructor(
|
|
844
|
-
this.injector =
|
|
860
|
+
constructor() {
|
|
861
|
+
this.injector = inject(Injector);
|
|
862
|
+
this.routesService = inject(RoutesService);
|
|
863
|
+
this.routerItem = input();
|
|
845
864
|
this.routeClick = new EventEmitter();
|
|
846
865
|
this.isExpandedOrSelected = (item) => !!(item.expanded || item.selected);
|
|
866
|
+
this.fixNavbarItemsByRouter();
|
|
847
867
|
}
|
|
848
868
|
onSubnavbarExpand(menuItem, menuItems) {
|
|
849
869
|
if (menuItem.expanded) {
|
|
@@ -885,18 +905,50 @@ class NavbarRoutesComponent {
|
|
|
885
905
|
return [...acc, item, ...this.flatChildren(item.children || [])];
|
|
886
906
|
}, []) || []);
|
|
887
907
|
}
|
|
888
|
-
|
|
889
|
-
|
|
908
|
+
fixNavbarItemsByRouter() {
|
|
909
|
+
effect(() => {
|
|
910
|
+
const currentNavigation = this.routesService.currentNavigation();
|
|
911
|
+
if (!currentNavigation) {
|
|
912
|
+
return;
|
|
913
|
+
}
|
|
914
|
+
this.fixNavbarItems(currentNavigation, this.navbarItems);
|
|
915
|
+
});
|
|
916
|
+
}
|
|
917
|
+
fixNavbarItems(currentUrl, items) {
|
|
918
|
+
items.forEach((item) => {
|
|
919
|
+
if (item.children?.length) {
|
|
920
|
+
item.expanded = this.hasUrlInChildren(item, currentUrl);
|
|
921
|
+
this.fixNavbarItems(currentUrl, item.children);
|
|
922
|
+
}
|
|
923
|
+
else {
|
|
924
|
+
item.selected = item.link === currentUrl;
|
|
925
|
+
}
|
|
926
|
+
});
|
|
927
|
+
}
|
|
928
|
+
hasUrlInChildren(item, url) {
|
|
929
|
+
if (item.link === url) {
|
|
930
|
+
return true;
|
|
931
|
+
}
|
|
932
|
+
if (item.children) {
|
|
933
|
+
for (const child of item.children) {
|
|
934
|
+
const found = this.hasUrlInChildren(child, url);
|
|
935
|
+
if (found) {
|
|
936
|
+
return true;
|
|
937
|
+
}
|
|
938
|
+
}
|
|
939
|
+
}
|
|
940
|
+
return false;
|
|
941
|
+
}
|
|
942
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: NavbarRoutesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
943
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: NavbarRoutesComponent, selector: "lpx-navbar-routes", inputs: { groupedItems: { classPropertyName: "groupedItems", publicName: "groupedItems", isSignal: false, isRequired: false, transformFunction: null }, navbarItems: { classPropertyName: "navbarItems", publicName: "navbarItems", isSignal: false, isRequired: false, transformFunction: null }, routerItem: { classPropertyName: "routerItem", publicName: "routerItem", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { routeClick: "routeClick" }, ngImport: i0, template: "<ul class=\"lpx-nav-menu\">\r\n @if (groupedItems) {\r\n @for (item of groupedItems; track item) {\r\n <ng-container\r\n *ngTemplateOutlet=\"groupText; context: { $implicit: item }\"\r\n ></ng-container>\r\n\r\n @for (navbarItem of item.items; track navbarItem) {\r\n <ng-container\r\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: navbarItem }\"\r\n ></ng-container>\r\n }\r\n }\r\n } @else {\r\n <ng-container *ngTemplateOutlet=\"defaultRoute\"></ng-container>\r\n }\r\n</ul>\r\n\r\n<ng-template #defaultRoute>\r\n @for (item of navbarItems; track item) {\r\n <ng-container\r\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"\r\n ></ng-container>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #groupText let-item>\r\n @if (item.items.length) {\r\n <li class=\"group-menu-item hidden-in-hover-trigger\">\r\n {{ item.group | lpxTranslate | async }}\r\n </li>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #itemTemplate let-item>\r\n <li\r\n class=\"outer-menu-item\"\r\n *lpxVisible=\"!item.visible || item.visible(item, injector)\"\r\n >\r\n <lpx-sub-navbar\r\n [item]=\"item\"\r\n (expand)=\"onSubnavbarExpand($event, navbarItems)\"\r\n (routeClick)=\"onRouteClick($event, navbarItems)\"\r\n [routerItem]=\"routerItem()\"\r\n ></lpx-sub-navbar>\r\n </li>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: LpxVisibleDirective, selector: "[lpxVisible]", inputs: ["lpxVisible"] }, { kind: "component", type: SubNavbarComponent, selector: "lpx-sub-navbar", inputs: ["item", "routerItem"], outputs: ["routeClick", "expand"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "lpxTranslate" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
890
944
|
}
|
|
891
945
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: NavbarRoutesComponent, decorators: [{
|
|
892
946
|
type: Component,
|
|
893
|
-
args: [{ selector: 'lpx-navbar-routes', encapsulation: ViewEncapsulation.None, template: "<ul class=\"lpx-nav-menu\">\r\n
|
|
894
|
-
}], ctorParameters: () => [
|
|
947
|
+
args: [{ selector: 'lpx-navbar-routes', encapsulation: ViewEncapsulation.None, template: "<ul class=\"lpx-nav-menu\">\r\n @if (groupedItems) {\r\n @for (item of groupedItems; track item) {\r\n <ng-container\r\n *ngTemplateOutlet=\"groupText; context: { $implicit: item }\"\r\n ></ng-container>\r\n\r\n @for (navbarItem of item.items; track navbarItem) {\r\n <ng-container\r\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: navbarItem }\"\r\n ></ng-container>\r\n }\r\n }\r\n } @else {\r\n <ng-container *ngTemplateOutlet=\"defaultRoute\"></ng-container>\r\n }\r\n</ul>\r\n\r\n<ng-template #defaultRoute>\r\n @for (item of navbarItems; track item) {\r\n <ng-container\r\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"\r\n ></ng-container>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #groupText let-item>\r\n @if (item.items.length) {\r\n <li class=\"group-menu-item hidden-in-hover-trigger\">\r\n {{ item.group | lpxTranslate | async }}\r\n </li>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #itemTemplate let-item>\r\n <li\r\n class=\"outer-menu-item\"\r\n *lpxVisible=\"!item.visible || item.visible(item, injector)\"\r\n >\r\n <lpx-sub-navbar\r\n [item]=\"item\"\r\n (expand)=\"onSubnavbarExpand($event, navbarItems)\"\r\n (routeClick)=\"onRouteClick($event, navbarItems)\"\r\n [routerItem]=\"routerItem()\"\r\n ></lpx-sub-navbar>\r\n </li>\r\n</ng-template>\r\n" }]
|
|
948
|
+
}], ctorParameters: () => [], propDecorators: { groupedItems: [{
|
|
895
949
|
type: Input
|
|
896
950
|
}], navbarItems: [{
|
|
897
951
|
type: Input
|
|
898
|
-
}], routerItem: [{
|
|
899
|
-
type: Input
|
|
900
952
|
}], routeClick: [{
|
|
901
953
|
type: Output
|
|
902
954
|
}] } });
|
|
@@ -1971,5 +2023,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
1971
2023
|
* Generated bundle index. Do not edit.
|
|
1972
2024
|
*/
|
|
1973
2025
|
|
|
1974
|
-
export { AvatarComponent, BodyService, BrandLogoComponent, BreadcrumbComponent, BreadcrumbPanelDirective, BreadcrumbRouteListenerService, BreadcrumbService, CONTENT_AFTER_ROUTES, CONTENT_BEFORE_ROUTES, ClickOutsideDirective, ContentPanelDirective, CurrentUserImagePanelDirective, CurrentUserPanelDirective, DataStore, DefaultAuthService, DefaultTranslateService, FooterComponent, FooterLinksService, FooterPanelDirective, ICON_MAP, IconComponent, LEPTON_X_ICON_SET, LPX_AUTH_SERVICE_PROVIDER, LPX_AUTH_SERVICE_TOKEN, LPX_INITIAL_STYLES, LPX_LANGUAGE, LPX_LAYOUT_STYLE_FINAL, LPX_MENU_ITEMS, LPX_PERFECT_SCROLLBAR, LPX_RESPONSIVE_BREAKPOINTS_DEFAULTS, LPX_STYLE_FINAL, LPX_STYLE_PROVIDERS, LPX_TRANSLATE_SERVICE_TOKEN, LPX_TRANSLATE_TOKEN, LanguagePanelDirective, LanguageService, LanguageTranslateDefaults, LanguageTranslateKeys, LayoutService, LogoPanelDirective, LpxAvatarModule, LpxBrandLogoModule, LpxBreadcrumbModule, LpxClickOutsideModule, LpxCoreModule, LpxFooterModule, LpxIconModule, LpxLanguageModule, LpxLocalStorageService, LpxNavbarModule, LpxPerfectScrollbar, LpxPerfectScrollbarService, LpxResponsiveModule, LpxThemeTranslateService, LpxTranslateModule, LpxVisibleDirective, MobileNavbarPanelDirective, NavbarComponent, NavbarPanelDirective, NavbarRoutesComponent, NavbarRoutesDirective, NavbarService, NavitemPanelDirective, OTHERS_GROUP_KEY, PanelsModule, PerfectScrollbarDirective, RESPONSIVE_BREAKPOINTS, ResponsiveDirective, ResponsiveService, SafeHtmlPipe, SettingsPanelDirective, StyleService, SubNavbarComponent, ToObservableModule, ToObservablePipe, ToolbarPanelDirective, ToolbarService, TopNavbarPanelDirective, TranslatePipe, UserProfileService, WINDOW, breadCrumbInit, createDirectionProvider, createGroupMap, createResponsiveProvider, createStyleFactory, createWindowProvider, exportedDeclarations, flatArrayDeepToObject, getItemsFromGroup, getStream$, isArray, isNullOrUndefined, listenDirectionChange, loadInitialStyles, sortItems, styleLoadFactory };
|
|
2026
|
+
export { AvatarComponent, BodyService, BrandLogoComponent, BreadcrumbComponent, BreadcrumbPanelDirective, BreadcrumbRouteListenerService, BreadcrumbService, CONTENT_AFTER_ROUTES, CONTENT_BEFORE_ROUTES, ClickOutsideDirective, ContentPanelDirective, CurrentUserImagePanelDirective, CurrentUserPanelDirective, DataStore, DefaultAuthService, DefaultTranslateService, FooterComponent, FooterLinksService, FooterPanelDirective, ICON_MAP, IconComponent, LEPTON_X_ICON_SET, LPX_AUTH_SERVICE_PROVIDER, LPX_AUTH_SERVICE_TOKEN, LPX_INITIAL_STYLES, LPX_LANGUAGE, LPX_LAYOUT_STYLE_FINAL, LPX_MENU_ITEMS, LPX_PERFECT_SCROLLBAR, LPX_RESPONSIVE_BREAKPOINTS_DEFAULTS, LPX_STYLE_FINAL, LPX_STYLE_PROVIDERS, LPX_TRANSLATE_SERVICE_TOKEN, LPX_TRANSLATE_TOKEN, LanguagePanelDirective, LanguageService, LanguageTranslateDefaults, LanguageTranslateKeys, LayoutService, LogoPanelDirective, LpxAvatarModule, LpxBrandLogoModule, LpxBreadcrumbModule, LpxClickOutsideModule, LpxCoreModule, LpxFooterModule, LpxIconModule, LpxLanguageModule, LpxLocalStorageService, LpxNavbarModule, LpxPerfectScrollbar, LpxPerfectScrollbarService, LpxResponsiveModule, LpxThemeTranslateService, LpxTranslateModule, LpxVisibleDirective, MobileNavbarPanelDirective, NavbarComponent, NavbarPanelDirective, NavbarRoutesComponent, NavbarRoutesDirective, NavbarService, NavitemPanelDirective, OTHERS_GROUP_KEY, PanelsModule, PerfectScrollbarDirective, RESPONSIVE_BREAKPOINTS, ResponsiveDirective, ResponsiveService, RoutesService, SafeHtmlPipe, SettingsPanelDirective, StyleService, SubNavbarComponent, ToObservableModule, ToObservablePipe, ToolbarPanelDirective, ToolbarService, TopNavbarPanelDirective, TranslatePipe, UserProfileService, WINDOW, breadCrumbInit, createDirectionProvider, createGroupMap, createResponsiveProvider, createStyleFactory, createWindowProvider, exportedDeclarations, flatArrayDeepToObject, getItemsFromGroup, getStream$, isArray, isNullOrUndefined, listenDirectionChange, loadInitialStyles, sortItems, styleLoadFactory };
|
|
1975
2027
|
//# sourceMappingURL=volo-ngx-lepton-x.core.mjs.map
|