@indice/ng-components 0.3.12 → 0.4.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/indice-ng-components.mjs +314 -279
- package/fesm2022/indice-ng-components.mjs.map +1 -1
- package/index.d.ts +1894 -3
- package/package.json +7 -9
- package/esm2022/indice-ng-components.mjs +0 -5
- package/esm2022/lib/controls/advanced-search/advanced-search.component.mjs +0 -161
- package/esm2022/lib/controls/advanced-search/models.mjs +0 -109
- package/esm2022/lib/controls/avatar-initials/avatar-initials.component.mjs +0 -48
- package/esm2022/lib/controls/breadcrumb/breadcrumb-item.mjs +0 -14
- package/esm2022/lib/controls/breadcrumb/breadcrumb.component.mjs +0 -26
- package/esm2022/lib/controls/collapsible-panel/collapsible-panel.component.mjs +0 -20
- package/esm2022/lib/controls/combobox/combobox.component.mjs +0 -118
- package/esm2022/lib/controls/content-tile/content-tile.component.mjs +0 -91
- package/esm2022/lib/controls/date-picker/date-picker.component.mjs +0 -300
- package/esm2022/lib/controls/drop-down-menu/drop-down-menu.component.mjs +0 -72
- package/esm2022/lib/controls/enhanced-combobox/enhanced-combobox.component.mjs +0 -115
- package/esm2022/lib/controls/kpi-tile/kpi-tile.component.mjs +0 -43
- package/esm2022/lib/controls/language-selection/language-selection.component.mjs +0 -31
- package/esm2022/lib/controls/list-view/list-column.component.mjs +0 -25
- package/esm2022/lib/controls/list-view/list-details-section.component.mjs +0 -17
- package/esm2022/lib/controls/list-view/list-tile.component.mjs +0 -17
- package/esm2022/lib/controls/list-view/list-view-empty-state.component.mjs +0 -29
- package/esm2022/lib/controls/list-view/list-view.component.mjs +0 -211
- package/esm2022/lib/controls/nav-links-list/nav-links-list.component.mjs +0 -54
- package/esm2022/lib/controls/notifications-indicator/notifications-indicator.component.mjs +0 -79
- package/esm2022/lib/controls/pager/pager.component.mjs +0 -130
- package/esm2022/lib/controls/progress-bar/progress-bar.component.mjs +0 -46
- package/esm2022/lib/controls/side-pane/side-pane.component.mjs +0 -106
- package/esm2022/lib/controls/skeleton-loader/skeleton-loader.component.mjs +0 -29
- package/esm2022/lib/controls/stats-grid/stats-grid.component.mjs +0 -49
- package/esm2022/lib/controls/stepper/lib-step-info.directive.mjs +0 -16
- package/esm2022/lib/controls/stepper/lib-step-label.directive.mjs +0 -16
- package/esm2022/lib/controls/stepper/lib-step.component.mjs +0 -81
- package/esm2022/lib/controls/stepper/lib-stepper.component.mjs +0 -108
- package/esm2022/lib/controls/stepper/types/step-selected-event.mjs +0 -4
- package/esm2022/lib/controls/stepper/types/stepper-type.mjs +0 -12
- package/esm2022/lib/controls/tabs/lib-tab-group.component.mjs +0 -66
- package/esm2022/lib/controls/tabs/lib-tab-label.directive.mjs +0 -16
- package/esm2022/lib/controls/tabs/lib-tab.component.mjs +0 -64
- package/esm2022/lib/controls/toaster/toaster-container.component.mjs +0 -28
- package/esm2022/lib/controls/toaster/toaster.component.mjs +0 -31
- package/esm2022/lib/controls/toggle/toggle.component.mjs +0 -64
- package/esm2022/lib/controls/toggle-button/toggle-button.component.mjs +0 -87
- package/esm2022/lib/controls/toggle-buttons-list/toggle-buttons-list.component.mjs +0 -34
- package/esm2022/lib/controls/user-profile-menu/user-profile-menu.component.mjs +0 -75
- package/esm2022/lib/directives/click-outside.directive.mjs +0 -189
- package/esm2022/lib/directives/dynamic-component-host.directive.mjs +0 -17
- package/esm2022/lib/helpers/base-list.component.mjs +0 -235
- package/esm2022/lib/icons.mjs +0 -36
- package/esm2022/lib/layouts/shell/shell-footer/shell-footer.component.mjs +0 -19
- package/esm2022/lib/layouts/shell/shell-header/shell-header.component.mjs +0 -138
- package/esm2022/lib/layouts/shell/shell-layout/shell-layout.component.mjs +0 -92
- package/esm2022/lib/layouts/shell/shell-sidebar/shell-sidebar.component.mjs +0 -54
- package/esm2022/lib/layouts/shell/shell-sidebar-header/shell-sidebar-header.component.mjs +0 -45
- package/esm2022/lib/layouts/shell/shell-sidebar-layout/shell-sidebar-layout.component.mjs +0 -33
- package/esm2022/lib/layouts/shell/shell-stacked-layout/shell-stacked-layout.component.mjs +0 -24
- package/esm2022/lib/layouts/views/form-layout/form-layout.component.mjs +0 -86
- package/esm2022/lib/layouts/views/model-view-layout/model-view-layout.component.mjs +0 -103
- package/esm2022/lib/layouts/views/side-view-layout/side-view-layout.component.mjs +0 -106
- package/esm2022/lib/layouts/views/view-layout/view-layout.component.mjs +0 -104
- package/esm2022/lib/ng-components.module.mjs +0 -324
- package/esm2022/lib/pages/auth/auth-callback/auth-callback.component.mjs +0 -30
- package/esm2022/lib/pages/auth/auth-renew/auth-renew.component.mjs +0 -31
- package/esm2022/lib/pages/auth/logged-out/logged-out.component.mjs +0 -28
- package/esm2022/lib/pages/http-status/error/error.component.mjs +0 -17
- package/esm2022/lib/pages/http-status/page-not-found/page-not-found.component.mjs +0 -15
- package/esm2022/lib/pages/http-status/unauthorized/unauthorized.component.mjs +0 -14
- package/esm2022/lib/pipes/address.pipe.mjs +0 -21
- package/esm2022/lib/pipes/duration-format.pipe.mjs +0 -64
- package/esm2022/lib/pipes/short-number.pipe.mjs +0 -43
- package/esm2022/lib/services/breadcrumb.service.mjs +0 -181
- package/esm2022/lib/services/component-loader/component-loader-options.class.mjs +0 -8
- package/esm2022/lib/services/component-loader/component-loader.class.mjs +0 -188
- package/esm2022/lib/services/component-loader/component-loader.factory.mjs +0 -32
- package/esm2022/lib/services/component-loader/content-ref.class.mjs +0 -13
- package/esm2022/lib/services/modal-service/modal-backdrop-component.mjs +0 -44
- package/esm2022/lib/services/modal-service/modal-container-component.mjs +0 -126
- package/esm2022/lib/services/modal-service/modal-options.class.mjs +0 -35
- package/esm2022/lib/services/modal-service/modal-service.mjs +0 -220
- package/esm2022/lib/services/modal-service/modal-styles.class.mjs +0 -11
- package/esm2022/lib/services/modal-service/modal.class.mjs +0 -27
- package/esm2022/lib/services/toaster.service.mjs +0 -26
- package/esm2022/lib/services/user-settings.service.mjs +0 -35
- package/esm2022/lib/services/utilities.service.mjs +0 -47
- package/esm2022/lib/tokens.mjs +0 -8
- package/esm2022/lib/types.mjs +0 -143
- package/esm2022/public-api.mjs +0 -77
- package/lib/controls/advanced-search/advanced-search.component.d.ts +0 -42
- package/lib/controls/advanced-search/models.d.ts +0 -92
- package/lib/controls/avatar-initials/avatar-initials.component.d.ts +0 -14
- package/lib/controls/breadcrumb/breadcrumb-item.d.ts +0 -7
- package/lib/controls/breadcrumb/breadcrumb.component.d.ts +0 -12
- package/lib/controls/collapsible-panel/collapsible-panel.component.d.ts +0 -10
- package/lib/controls/combobox/combobox.component.d.ts +0 -34
- package/lib/controls/content-tile/content-tile.component.d.ts +0 -34
- package/lib/controls/date-picker/date-picker.component.d.ts +0 -53
- package/lib/controls/drop-down-menu/drop-down-menu.component.d.ts +0 -26
- package/lib/controls/enhanced-combobox/enhanced-combobox.component.d.ts +0 -37
- package/lib/controls/kpi-tile/kpi-tile.component.d.ts +0 -15
- package/lib/controls/language-selection/language-selection.component.d.ts +0 -14
- package/lib/controls/list-view/list-column.component.d.ts +0 -9
- package/lib/controls/list-view/list-details-section.component.d.ts +0 -7
- package/lib/controls/list-view/list-tile.component.d.ts +0 -7
- package/lib/controls/list-view/list-view-empty-state.component.d.ts +0 -11
- package/lib/controls/list-view/list-view.component.d.ts +0 -62
- package/lib/controls/nav-links-list/nav-links-list.component.d.ts +0 -21
- package/lib/controls/notifications-indicator/notifications-indicator.component.d.ts +0 -22
- package/lib/controls/pager/pager.component.d.ts +0 -36
- package/lib/controls/progress-bar/progress-bar.component.d.ts +0 -16
- package/lib/controls/side-pane/side-pane.component.d.ts +0 -28
- package/lib/controls/skeleton-loader/skeleton-loader.component.d.ts +0 -12
- package/lib/controls/stats-grid/stats-grid.component.d.ts +0 -16
- package/lib/controls/stepper/lib-step-info.directive.d.ts +0 -8
- package/lib/controls/stepper/lib-step-label.directive.d.ts +0 -8
- package/lib/controls/stepper/lib-step.component.d.ts +0 -34
- package/lib/controls/stepper/lib-stepper.component.d.ts +0 -43
- package/lib/controls/stepper/types/step-selected-event.d.ts +0 -12
- package/lib/controls/stepper/types/stepper-type.d.ts +0 -10
- package/lib/controls/tabs/lib-tab-group.component.d.ts +0 -21
- package/lib/controls/tabs/lib-tab-label.directive.d.ts +0 -8
- package/lib/controls/tabs/lib-tab.component.d.ts +0 -24
- package/lib/controls/toaster/toaster-container.component.d.ts +0 -13
- package/lib/controls/toaster/toaster.component.d.ts +0 -15
- package/lib/controls/toggle/toggle.component.d.ts +0 -19
- package/lib/controls/toggle-button/toggle-button.component.d.ts +0 -25
- package/lib/controls/toggle-buttons-list/toggle-buttons-list.component.d.ts +0 -15
- package/lib/controls/user-profile-menu/user-profile-menu.component.d.ts +0 -25
- package/lib/directives/click-outside.directive.d.ts +0 -40
- package/lib/directives/dynamic-component-host.directive.d.ts +0 -9
- package/lib/helpers/base-list.component.d.ts +0 -55
- package/lib/icons.d.ts +0 -34
- package/lib/layouts/shell/shell-footer/shell-footer.component.d.ts +0 -8
- package/lib/layouts/shell/shell-header/shell-header.component.d.ts +0 -40
- package/lib/layouts/shell/shell-layout/shell-layout.component.d.ts +0 -27
- package/lib/layouts/shell/shell-sidebar/shell-sidebar.component.d.ts +0 -20
- package/lib/layouts/shell/shell-sidebar-header/shell-sidebar-header.component.d.ts +0 -14
- package/lib/layouts/shell/shell-sidebar-layout/shell-sidebar-layout.component.d.ts +0 -16
- package/lib/layouts/shell/shell-stacked-layout/shell-stacked-layout.component.d.ts +0 -11
- package/lib/layouts/views/form-layout/form-layout.component.d.ts +0 -26
- package/lib/layouts/views/model-view-layout/model-view-layout.component.d.ts +0 -44
- package/lib/layouts/views/side-view-layout/side-view-layout.component.d.ts +0 -29
- package/lib/layouts/views/view-layout/view-layout.component.d.ts +0 -31
- package/lib/ng-components.module.d.ts +0 -70
- package/lib/pages/auth/auth-callback/auth-callback.component.d.ts +0 -13
- package/lib/pages/auth/auth-renew/auth-renew.component.d.ts +0 -12
- package/lib/pages/auth/logged-out/logged-out.component.d.ts +0 -12
- package/lib/pages/http-status/error/error.component.d.ts +0 -8
- package/lib/pages/http-status/page-not-found/page-not-found.component.d.ts +0 -8
- package/lib/pages/http-status/unauthorized/unauthorized.component.d.ts +0 -8
- package/lib/pipes/address.pipe.d.ts +0 -8
- package/lib/pipes/duration-format.pipe.d.ts +0 -8
- package/lib/pipes/short-number.pipe.d.ts +0 -7
- package/lib/services/breadcrumb.service.d.ts +0 -29
- package/lib/services/component-loader/component-loader-options.class.d.ts +0 -30
- package/lib/services/component-loader/component-loader.class.d.ts +0 -92
- package/lib/services/component-loader/component-loader.factory.d.ts +0 -24
- package/lib/services/component-loader/content-ref.class.d.ts +0 -12
- package/lib/services/modal-service/modal-backdrop-component.d.ts +0 -20
- package/lib/services/modal-service/modal-container-component.d.ts +0 -33
- package/lib/services/modal-service/modal-options.class.d.ts +0 -81
- package/lib/services/modal-service/modal-service.d.ts +0 -58
- package/lib/services/modal-service/modal-styles.class.d.ts +0 -10
- package/lib/services/modal-service/modal.class.d.ts +0 -43
- package/lib/services/toaster.service.d.ts +0 -11
- package/lib/services/user-settings.service.d.ts +0 -13
- package/lib/services/utilities.service.d.ts +0 -11
- package/lib/tokens.d.ts +0 -10
- package/lib/types.d.ts +0 -188
- package/public-api.d.ts +0 -67
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
import { AuthService } from '@indice/ng-auth';
|
|
2
|
-
import { Component, Inject, Input } from '@angular/core';
|
|
3
|
-
import { ActivatedRoute, NavigationStart, Router } from '@angular/router';
|
|
4
|
-
import { filter, share } from 'rxjs/operators';
|
|
5
|
-
import { APP_LINKS, SHELL_CONFIG } from '../../../tokens';
|
|
6
|
-
import { of } from 'rxjs';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@angular/common";
|
|
9
|
-
import * as i2 from "@angular/router";
|
|
10
|
-
import * as i3 from "../../../directives/click-outside.directive";
|
|
11
|
-
import * as i4 from "../../../controls/language-selection/language-selection.component";
|
|
12
|
-
import * as i5 from "../../../controls/nav-links-list/nav-links-list.component";
|
|
13
|
-
import * as i6 from "../../../controls/notifications-indicator/notifications-indicator.component";
|
|
14
|
-
import * as i7 from "../../../controls/user-profile-menu/user-profile-menu.component";
|
|
15
|
-
import * as i8 from "@indice/ng-auth";
|
|
16
|
-
export class ShellHeaderComponent {
|
|
17
|
-
constructor(authService, router, route, config, links) {
|
|
18
|
-
this.authService = authService;
|
|
19
|
-
this.router = router;
|
|
20
|
-
this.route = route;
|
|
21
|
-
this.config = config;
|
|
22
|
-
this.links = links;
|
|
23
|
-
// tslint:disable-next-line:no-input-rename
|
|
24
|
-
this.sectionLinksPath = 'main';
|
|
25
|
-
// tslint:disable-next-line:no-input-rename
|
|
26
|
-
this.profileMenuVisible = true;
|
|
27
|
-
// tslint:disable-next-line:no-input-rename
|
|
28
|
-
this.showUserNameOnHeader = false;
|
|
29
|
-
// tslint:disable-next-line:no-input-rename
|
|
30
|
-
this.showPictureOnHeader = true;
|
|
31
|
-
// tslint:disable-next-line:no-input-rename
|
|
32
|
-
this.showAlerts = false;
|
|
33
|
-
// tslint:disable-next-line:no-input-rename
|
|
34
|
-
this.showLangs = false;
|
|
35
|
-
this.border = true;
|
|
36
|
-
this.busy = false;
|
|
37
|
-
this.sectionLinks = of([]);
|
|
38
|
-
this.mobileMenuExpanded = false;
|
|
39
|
-
this.userMenuExpanded = false;
|
|
40
|
-
this.routerSub$ = null;
|
|
41
|
-
this.userSub$ = null;
|
|
42
|
-
this.statusSub$ = null;
|
|
43
|
-
this.user = null;
|
|
44
|
-
this.avatarName = null;
|
|
45
|
-
this.activeFragment = null;
|
|
46
|
-
this.routeSubject = this.router.events.pipe(filter((event) => event instanceof NavigationStart));
|
|
47
|
-
}
|
|
48
|
-
ngOnInit() {
|
|
49
|
-
this.activeFragment = this.route.fragment.pipe(share());
|
|
50
|
-
this.sectionLinks = this.links[this.sectionLinksPath];
|
|
51
|
-
this.routerSub$ = this.routeSubject.subscribe((event) => {
|
|
52
|
-
this.mobileMenuExpanded = false;
|
|
53
|
-
this.userMenuExpanded = false;
|
|
54
|
-
});
|
|
55
|
-
this.authService.loadUser().subscribe((user) => {
|
|
56
|
-
this.setCurrentUser(user);
|
|
57
|
-
}, error => {
|
|
58
|
-
console.error(error);
|
|
59
|
-
});
|
|
60
|
-
// Detect user changes and display / or not user info accordingly...
|
|
61
|
-
this.userSub$ = this.authService.user$.subscribe((user) => {
|
|
62
|
-
// console.log('ShellHeaderComponent user subscription');
|
|
63
|
-
this.setCurrentUser(user);
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
ngOnDestroy() {
|
|
67
|
-
if (this.routerSub$) {
|
|
68
|
-
this.routerSub$.unsubscribe();
|
|
69
|
-
}
|
|
70
|
-
// TODO: check authenticated user here before we start polling server status
|
|
71
|
-
if (this.statusSub$) {
|
|
72
|
-
this.statusSub$.unsubscribe();
|
|
73
|
-
}
|
|
74
|
-
if (this.userSub$) {
|
|
75
|
-
this.userSub$.unsubscribe();
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
// tslint:disable-next-line:typedef
|
|
79
|
-
onClickOutside($event) {
|
|
80
|
-
this.userMenuExpanded = false;
|
|
81
|
-
}
|
|
82
|
-
signin(event) {
|
|
83
|
-
if (event) {
|
|
84
|
-
event.preventDefault();
|
|
85
|
-
}
|
|
86
|
-
this.authService.signinRedirect();
|
|
87
|
-
}
|
|
88
|
-
setCurrentUser(user) {
|
|
89
|
-
this.user = user;
|
|
90
|
-
if (user && user.profile && user.profile.given_name && user.profile.given_name !== undefined && user.profile.family_name && user.profile.family_name !== undefined) {
|
|
91
|
-
this.avatarName = `${user.profile.given_name.charAt(0)}${user.profile.family_name.charAt(0)}`.toUpperCase();
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ShellHeaderComponent, deps: [{ token: AuthService }, { token: Router }, { token: ActivatedRoute }, { token: SHELL_CONFIG }, { token: APP_LINKS }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
95
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.6", type: ShellHeaderComponent, selector: "lib-shell-header", inputs: { sectionLinksPath: ["section-links", "sectionLinksPath"], profileMenuVisible: ["profile-menu", "profileMenuVisible"], showUserNameOnHeader: ["show-userName", "showUserNameOnHeader"], showPictureOnHeader: ["show-picture", "showPictureOnHeader"], showAlerts: ["show-alerts", "showAlerts"], showLangs: ["show-langs", "showLangs"], border: "border", busy: "busy" }, ngImport: i0, template: "<nav>\r\n <div class=\"shell-header-paddings\">\r\n <div class=\"shell-header-border\">\r\n <div class=\"shell-header-menu-container\" [class.busy]=\"busy\">\r\n <div class=\"shell-header-logo-container\">\r\n <div>\r\n <a href=\"#\" [routerLink]=\"['/']\"><img alt=\"app logo\" class=\"app-logo\" [src]=\"config.appLogo\" [alt]=\"config.appLogoAlt\" /></a>\r\n </div>\r\n </div>\r\n\r\n <div class=\"shell-header-link-container\">\r\n <div class=\"shell-header-link-container-inner\">\r\n <lib-nav-links-list\r\n [links]=\"sectionLinks\"\r\n [active-fragment]=\"activeFragment\"\r\n [link-class]=\"'nav-link'\"\r\n [link-active-class]=\"'nav-link-active'\">\r\n </lib-nav-links-list>\r\n </div>\r\n </div>\r\n\r\n <div class=\"shell-header-md-visible\">\r\n\r\n <div class=\"shell-header-links-far-container\" (clickOutside)=\"onClickOutside($event)\">\r\n\r\n <lib-nav-links-list\r\n [links]=\"links.profileActions\"\r\n [active-fragment]=\"activeFragment\"\r\n [link-class]=\"'shell-header-menu-rounded-button'\"\r\n [link-active-class]=\"'shell-header-menu-rounded-button-active'\">\r\n </lib-nav-links-list>\r\n\r\n\r\n <!-- Profile dropdown -->\r\n <div *ngIf=\"profileMenuVisible\" class=\"ml-4\">\r\n <lib-user-profile-menu [show-user-name]=\"showUserNameOnHeader\" [show-picture]=\"showPictureOnHeader\"></lib-user-profile-menu>\r\n </div>\r\n\r\n <!-- Notifications dropdown -->\r\n <div *ngIf=\"showAlerts && user\" class=\"ml-4\">\r\n <lib-notifications-indicator></lib-notifications-indicator>\r\n </div>\r\n\r\n <!-- languages dropdown -->\r\n <div *ngIf=\"showLangs\" class=\"ml-4\">\r\n <lib-language-selection></lib-language-selection>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mobile-menu-button-container\">\r\n <!-- Mobile menu button -->\r\n <button type=\"button\"\r\n (click)=\"mobileMenuExpanded = !mobileMenuExpanded\"\r\n class=\"mobile-menu-button\"\r\n aria-controls=\"mobile-menu\"\r\n [attr.aria-expanded]=\"mobileMenuExpanded\">\r\n <span class=\"sr-only\">Open main menu</span>\r\n <!--Heroicon name: outline/menu Menu open: \"hidden\", Menu closed: \"block\"-->\r\n <svg xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\"\r\n [class]=\"mobileMenuExpanded ? 'hidden':'block h-6 w-6'\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M4 6h16M4 12h16M4 18h16\" />\r\n </svg>\r\n <!--Heroicon name: outline/x Menu open: \"block\", Menu closed: \"hidden\"-->\r\n <svg xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\"\r\n [class]=\"mobileMenuExpanded ? 'block h-6 w-6':'hidden'\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M6 18L18 6M6 6l12 12\" />\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Mobile menu, show/hide based on menu state. -->\r\n <div class=\"mobile-menu-container\" *ngIf=\"mobileMenuExpanded\" id=\"mobile-menu\">\r\n <lib-nav-links-list\r\n [links]=\"sectionLinks\"\r\n [active-fragment]=\"activeFragment\"\r\n [link-class]=\"'nav-link-mobile'\"\r\n [link-active-class]=\"'nav-link-mobile-active'\"\r\n [container-class]=\"'mobile-menu-link-container'\">\r\n </lib-nav-links-list>\r\n\r\n <div *ngIf=\"!user\">\r\n <a href=\"#\" (click)=\"signin($event)\" class=\"nav-link-mobile\">\r\n <i class=\"ms-Icon ms-Icon--Signin mr-2\"></i>\u03A3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7\r\n </a>\r\n </div>\r\n\r\n <div class=\"mobile-menu-user-info-container\" *ngIf=\"user\">\r\n <div class=\"mobile-menu-user-info-container-inner\">\r\n <div class=\"flex-shrink-0\">\r\n <span class=\"mobile-menu-avatar-container\">\r\n <span class=\"mobile-menu-avatar-name\">{{ this.avatarName }}</span>\r\n </span>\r\n </div>\r\n <div class=\"ml-3\">\r\n <div class=\"mobile-menu-user-name\">{{ user.profile.name }}</div>\r\n <div class=\"mobile-menu-user-email\">{{ user.profile.email }}</div>\r\n </div>\r\n <!--\r\n <button class=\"mobile-menu-rounded-button\">\r\n <span class=\"sr-only\">View notifications</span>\r\n <svg class=\"mobile-menu-rounded-button-icon-style\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9\" />\r\n </svg>\r\n </button>\r\n -->\r\n </div>\r\n </div>\r\n\r\n <lib-nav-links-list\r\n [links]=\"links.profile\"\r\n [active-fragment]=\"activeFragment\"\r\n [link-class]=\"'nav-link-mobile'\"\r\n [link-active-class]=\"'nav-link-mobile-active'\"\r\n [container-class]=\"'mobile-menu-link-container'\">\r\n </lib-nav-links-list>\r\n </div>\r\n</nav>\r\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.ClickOutsideDirective, selector: "[clickOutside]", inputs: ["clickOutsideEnabled", "attachOutsideOnClick", "delayClickOutsideInit", "emitOnBlur", "exclude", "excludeBeforeClick", "clickOutsideEvents"], outputs: ["clickOutside"] }, { kind: "component", type: i4.LanguageSelectionComponent, selector: "lib-language-selection" }, { kind: "component", type: i5.NavLinksListComponent, selector: "lib-nav-links-list", inputs: ["links", "active-fragment", "link-class", "link-active-class", "container-class", "show-icons", "show-text", "large-icons"] }, { kind: "component", type: i6.NotificationsIndicatorComponent, selector: "lib-notifications-indicator" }, { kind: "component", type: i7.UserProfileMenuComponent, selector: "lib-user-profile-menu", inputs: ["show-user-name", "show-picture"] }] }); }
|
|
96
|
-
}
|
|
97
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ShellHeaderComponent, decorators: [{
|
|
98
|
-
type: Component,
|
|
99
|
-
args: [{ selector: 'lib-shell-header', template: "<nav>\r\n <div class=\"shell-header-paddings\">\r\n <div class=\"shell-header-border\">\r\n <div class=\"shell-header-menu-container\" [class.busy]=\"busy\">\r\n <div class=\"shell-header-logo-container\">\r\n <div>\r\n <a href=\"#\" [routerLink]=\"['/']\"><img alt=\"app logo\" class=\"app-logo\" [src]=\"config.appLogo\" [alt]=\"config.appLogoAlt\" /></a>\r\n </div>\r\n </div>\r\n\r\n <div class=\"shell-header-link-container\">\r\n <div class=\"shell-header-link-container-inner\">\r\n <lib-nav-links-list\r\n [links]=\"sectionLinks\"\r\n [active-fragment]=\"activeFragment\"\r\n [link-class]=\"'nav-link'\"\r\n [link-active-class]=\"'nav-link-active'\">\r\n </lib-nav-links-list>\r\n </div>\r\n </div>\r\n\r\n <div class=\"shell-header-md-visible\">\r\n\r\n <div class=\"shell-header-links-far-container\" (clickOutside)=\"onClickOutside($event)\">\r\n\r\n <lib-nav-links-list\r\n [links]=\"links.profileActions\"\r\n [active-fragment]=\"activeFragment\"\r\n [link-class]=\"'shell-header-menu-rounded-button'\"\r\n [link-active-class]=\"'shell-header-menu-rounded-button-active'\">\r\n </lib-nav-links-list>\r\n\r\n\r\n <!-- Profile dropdown -->\r\n <div *ngIf=\"profileMenuVisible\" class=\"ml-4\">\r\n <lib-user-profile-menu [show-user-name]=\"showUserNameOnHeader\" [show-picture]=\"showPictureOnHeader\"></lib-user-profile-menu>\r\n </div>\r\n\r\n <!-- Notifications dropdown -->\r\n <div *ngIf=\"showAlerts && user\" class=\"ml-4\">\r\n <lib-notifications-indicator></lib-notifications-indicator>\r\n </div>\r\n\r\n <!-- languages dropdown -->\r\n <div *ngIf=\"showLangs\" class=\"ml-4\">\r\n <lib-language-selection></lib-language-selection>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mobile-menu-button-container\">\r\n <!-- Mobile menu button -->\r\n <button type=\"button\"\r\n (click)=\"mobileMenuExpanded = !mobileMenuExpanded\"\r\n class=\"mobile-menu-button\"\r\n aria-controls=\"mobile-menu\"\r\n [attr.aria-expanded]=\"mobileMenuExpanded\">\r\n <span class=\"sr-only\">Open main menu</span>\r\n <!--Heroicon name: outline/menu Menu open: \"hidden\", Menu closed: \"block\"-->\r\n <svg xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\"\r\n [class]=\"mobileMenuExpanded ? 'hidden':'block h-6 w-6'\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M4 6h16M4 12h16M4 18h16\" />\r\n </svg>\r\n <!--Heroicon name: outline/x Menu open: \"block\", Menu closed: \"hidden\"-->\r\n <svg xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\"\r\n [class]=\"mobileMenuExpanded ? 'block h-6 w-6':'hidden'\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M6 18L18 6M6 6l12 12\" />\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Mobile menu, show/hide based on menu state. -->\r\n <div class=\"mobile-menu-container\" *ngIf=\"mobileMenuExpanded\" id=\"mobile-menu\">\r\n <lib-nav-links-list\r\n [links]=\"sectionLinks\"\r\n [active-fragment]=\"activeFragment\"\r\n [link-class]=\"'nav-link-mobile'\"\r\n [link-active-class]=\"'nav-link-mobile-active'\"\r\n [container-class]=\"'mobile-menu-link-container'\">\r\n </lib-nav-links-list>\r\n\r\n <div *ngIf=\"!user\">\r\n <a href=\"#\" (click)=\"signin($event)\" class=\"nav-link-mobile\">\r\n <i class=\"ms-Icon ms-Icon--Signin mr-2\"></i>\u03A3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7\r\n </a>\r\n </div>\r\n\r\n <div class=\"mobile-menu-user-info-container\" *ngIf=\"user\">\r\n <div class=\"mobile-menu-user-info-container-inner\">\r\n <div class=\"flex-shrink-0\">\r\n <span class=\"mobile-menu-avatar-container\">\r\n <span class=\"mobile-menu-avatar-name\">{{ this.avatarName }}</span>\r\n </span>\r\n </div>\r\n <div class=\"ml-3\">\r\n <div class=\"mobile-menu-user-name\">{{ user.profile.name }}</div>\r\n <div class=\"mobile-menu-user-email\">{{ user.profile.email }}</div>\r\n </div>\r\n <!--\r\n <button class=\"mobile-menu-rounded-button\">\r\n <span class=\"sr-only\">View notifications</span>\r\n <svg class=\"mobile-menu-rounded-button-icon-style\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9\" />\r\n </svg>\r\n </button>\r\n -->\r\n </div>\r\n </div>\r\n\r\n <lib-nav-links-list\r\n [links]=\"links.profile\"\r\n [active-fragment]=\"activeFragment\"\r\n [link-class]=\"'nav-link-mobile'\"\r\n [link-active-class]=\"'nav-link-mobile-active'\"\r\n [container-class]=\"'mobile-menu-link-container'\">\r\n </lib-nav-links-list>\r\n </div>\r\n</nav>\r\n" }]
|
|
100
|
-
}], ctorParameters: () => [{ type: i8.AuthService, decorators: [{
|
|
101
|
-
type: Inject,
|
|
102
|
-
args: [AuthService]
|
|
103
|
-
}] }, { type: i2.Router, decorators: [{
|
|
104
|
-
type: Inject,
|
|
105
|
-
args: [Router]
|
|
106
|
-
}] }, { type: i2.ActivatedRoute, decorators: [{
|
|
107
|
-
type: Inject,
|
|
108
|
-
args: [ActivatedRoute]
|
|
109
|
-
}] }, { type: undefined, decorators: [{
|
|
110
|
-
type: Inject,
|
|
111
|
-
args: [SHELL_CONFIG]
|
|
112
|
-
}] }, { type: undefined, decorators: [{
|
|
113
|
-
type: Inject,
|
|
114
|
-
args: [APP_LINKS]
|
|
115
|
-
}] }], propDecorators: { sectionLinksPath: [{
|
|
116
|
-
type: Input,
|
|
117
|
-
args: ['section-links']
|
|
118
|
-
}], profileMenuVisible: [{
|
|
119
|
-
type: Input,
|
|
120
|
-
args: ['profile-menu']
|
|
121
|
-
}], showUserNameOnHeader: [{
|
|
122
|
-
type: Input,
|
|
123
|
-
args: ['show-userName']
|
|
124
|
-
}], showPictureOnHeader: [{
|
|
125
|
-
type: Input,
|
|
126
|
-
args: ['show-picture']
|
|
127
|
-
}], showAlerts: [{
|
|
128
|
-
type: Input,
|
|
129
|
-
args: ['show-alerts']
|
|
130
|
-
}], showLangs: [{
|
|
131
|
-
type: Input,
|
|
132
|
-
args: ['show-langs']
|
|
133
|
-
}], border: [{
|
|
134
|
-
type: Input
|
|
135
|
-
}], busy: [{
|
|
136
|
-
type: Input
|
|
137
|
-
}] } });
|
|
138
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9sYXlvdXRzL3NoZWxsL3NoZWxsLWhlYWRlci9zaGVsbC1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2xheW91dHMvc2hlbGwvc2hlbGwtaGVhZGVyL3NoZWxsLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFTLGVBQWUsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRixPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUE0QixFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7QUFRcEQsTUFBTSxPQUFPLG9CQUFvQjtJQTBCL0IsWUFDaUMsV0FBd0IsRUFDN0IsTUFBYyxFQUNOLEtBQXFCLEVBQzFCLE1BQVcsRUFDZCxLQUFVO1FBSkwsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDN0IsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNOLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQzFCLFdBQU0sR0FBTixNQUFNLENBQUs7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFLO1FBOUJ0QywyQ0FBMkM7UUFDbkIscUJBQWdCLEdBQUcsTUFBTSxDQUFDO1FBQ2xE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QkFBekMsS0FBSzt1QkFBQyxjQUFjO2dCQUVDLFVBQVU7c0JBQS9CLEtBQUs7dUJBQUMsYUFBYTtnQkFFQyxTQUFTO3NCQUE3QixLQUFLO3VCQUFDLFlBQVk7Z0JBQ1YsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnQGluZGljZS9uZy1hdXRoJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveSwgSW5qZWN0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgRXZlbnQsIE5hdmlnYXRpb25TdGFydCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgZmlsdGVyLCBzaGFyZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgTmF2TGluayB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcclxuaW1wb3J0IHsgQVBQX0xJTktTLCBTSEVMTF9DT05GSUcgfSBmcm9tICcuLi8uLi8uLi90b2tlbnMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24sIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFVzZXIgfSBmcm9tICdvaWRjLWNsaWVudC10cyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y29tcG9uZW50LXNlbGVjdG9yXHJcbiAgc2VsZWN0b3I6ICdsaWItc2hlbGwtaGVhZGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2hlbGwtaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNoZWxsSGVhZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcclxuICBASW5wdXQoJ3NlY3Rpb24tbGlua3MnKSBzZWN0aW9uTGlua3NQYXRoID0gJ21haW4nO1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcclxuICBASW5wdXQoJ3Byb2ZpbGUtbWVudScpIHByb2ZpbGVNZW51VmlzaWJsZSA9IHRydWU7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxyXG4gIEBJbnB1dCgnc2hvdy11c2VyTmFtZScpIHNob3dVc2VyTmFtZU9uSGVhZGVyOiBib29sZWFuIHwgdW5kZWZpbmVkID0gZmFsc2U7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxyXG4gIEBJbnB1dCgnc2hvdy1waWN0dXJlJykgc2hvd1BpY3R1cmVPbkhlYWRlcjogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IHRydWU7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxyXG4gIEBJbnB1dCgnc2hvdy1hbGVydHMnKSBzaG93QWxlcnRzOiBib29sZWFuIHwgdW5kZWZpbmVkID0gZmFsc2U7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxyXG4gIEBJbnB1dCgnc2hvdy1sYW5ncycpIHNob3dMYW5nczogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGJvcmRlciA9IHRydWU7XHJcbiAgQElucHV0KCkgYnVzeTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzZWN0aW9uTGlua3M6IE9ic2VydmFibGU8TmF2TGlua1tdPiA9IG9mKFtdKTtcclxuICBwdWJsaWMgbW9iaWxlTWVudUV4cGFuZGVkID0gZmFsc2U7XHJcbiAgcHVibGljIHVzZXJNZW51RXhwYW5kZWQgPSBmYWxzZTtcclxuICBwcm90ZWN0ZWQgcm91dGVTdWJqZWN0OiBPYnNlcnZhYmxlPEV2ZW50PjtcclxuICBwcm90ZWN0ZWQgcm91dGVyU3ViJDogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XHJcbiAgcHJvdGVjdGVkIHVzZXJTdWIkOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbDtcclxuICBwcm90ZWN0ZWQgc3RhdHVzU3ViJDogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XHJcbiAgcHVibGljIHVzZXI6IFVzZXIgfCBudWxsID0gbnVsbDtcclxuICBwdWJsaWMgYXZhdGFyTmFtZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgcHVibGljIGFjdGl2ZUZyYWdtZW50OiBhbnkgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KEF1dGhTZXJ2aWNlKSBwcm90ZWN0ZWQgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgQEluamVjdChSb3V0ZXIpIHByb3RlY3RlZCByb3V0ZXI6IFJvdXRlcixcclxuICAgIEBJbmplY3QoQWN0aXZhdGVkUm91dGUpIHByb3RlY3RlZCByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBASW5qZWN0KFNIRUxMX0NPTkZJRykgcHVibGljIGNvbmZpZzogYW55LFxyXG4gICAgQEluamVjdChBUFBfTElOS1MpIHB1YmxpYyBsaW5rczogYW55KSB7XHJcbiAgICB0aGlzLnJvdXRlU3ViamVjdCA9IHRoaXMucm91dGVyLmV2ZW50cy5waXBlKGZpbHRlcigoZXZlbnQpID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuYWN0aXZlRnJhZ21lbnQgPSB0aGlzLnJvdXRlLmZyYWdtZW50LnBpcGUoc2hhcmUoKSk7XHJcbiAgICB0aGlzLnNlY3Rpb25MaW5rcyA9IHRoaXMubGlua3NbdGhpcy5zZWN0aW9uTGlua3NQYXRoXSBhcyBPYnNlcnZhYmxlPE5hdkxpbmtbXT47XHJcbiAgICB0aGlzLnJvdXRlclN1YiQgPSB0aGlzLnJvdXRlU3ViamVjdC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XHJcbiAgICAgIHRoaXMubW9iaWxlTWVudUV4cGFuZGVkID0gZmFsc2U7XHJcbiAgICAgIHRoaXMudXNlck1lbnVFeHBhbmRlZCA9IGZhbHNlO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLmxvYWRVc2VyKCkuc3Vic2NyaWJlKCh1c2VyKSA9PiB7XHJcbiAgICAgIHRoaXMuc2V0Q3VycmVudFVzZXIodXNlcik7XHJcbiAgICB9LCBlcnJvciA9PiB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xyXG4gICAgfSk7XHJcbiAgICAvLyBEZXRlY3QgdXNlciBjaGFuZ2VzIGFuZCBkaXNwbGF5IC8gb3Igbm90IHVzZXIgaW5mbyBhY2NvcmRpbmdseS4uLlxyXG4gICAgdGhpcy51c2VyU3ViJCA9IHRoaXMuYXV0aFNlcnZpY2UudXNlciQuc3Vic2NyaWJlKCh1c2VyOiBhbnkpID0+IHtcclxuICAgICAgLy8gY29uc29sZS5sb2coJ1NoZWxsSGVhZGVyQ29tcG9uZW50IHVzZXIgc3Vic2NyaXB0aW9uJyk7XHJcbiAgICAgIHRoaXMuc2V0Q3VycmVudFVzZXIodXNlcik7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG5cclxuICAgIGlmICh0aGlzLnJvdXRlclN1YiQpIHtcclxuICAgICAgdGhpcy5yb3V0ZXJTdWIkLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgICAvLyBUT0RPOiBjaGVjayBhdXRoZW50aWNhdGVkIHVzZXIgaGVyZSBiZWZvcmUgd2Ugc3RhcnQgcG9sbGluZyBzZXJ2ZXIgc3RhdHVzXHJcbiAgICBpZiAodGhpcy5zdGF0dXNTdWIkKSB7XHJcbiAgICAgIHRoaXMuc3RhdHVzU3ViJC51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMudXNlclN1YiQpIHtcclxuICAgICAgdGhpcy51c2VyU3ViJC51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnR5cGVkZWZcclxuICBwdWJsaWMgb25DbGlja091dHNpZGUoJGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMudXNlck1lbnVFeHBhbmRlZCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNpZ25pbihldmVudDogYW55IHwgbnVsbCB8IHVuZGVmaW5lZCk6IHZvaWQge1xyXG4gICAgaWYgKGV2ZW50KSB7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLnNpZ25pblJlZGlyZWN0KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldEN1cnJlbnRVc2VyKHVzZXI6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy51c2VyID0gdXNlcjtcclxuICAgIGlmICh1c2VyICYmIHVzZXIucHJvZmlsZSAmJiB1c2VyLnByb2ZpbGUuZ2l2ZW5fbmFtZSAmJiB1c2VyLnByb2ZpbGUuZ2l2ZW5fbmFtZSAhPT0gdW5kZWZpbmVkICYmIHVzZXIucHJvZmlsZS5mYW1pbHlfbmFtZSAmJiB1c2VyLnByb2ZpbGUuZmFtaWx5X25hbWUgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLmF2YXRhck5hbWUgPSBgJHt1c2VyLnByb2ZpbGUuZ2l2ZW5fbmFtZS5jaGFyQXQoMCl9JHt1c2VyLnByb2ZpbGUuZmFtaWx5X25hbWUuY2hhckF0KDApfWAudG9VcHBlckNhc2UoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcblxyXG4iLCI8bmF2PlxyXG4gIDxkaXYgY2xhc3M9XCJzaGVsbC1oZWFkZXItcGFkZGluZ3NcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJzaGVsbC1oZWFkZXItYm9yZGVyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzaGVsbC1oZWFkZXItbWVudS1jb250YWluZXJcIiBbY2xhc3MuYnVzeV09XCJidXN5XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNoZWxsLWhlYWRlci1sb2dvLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBbcm91dGVyTGlua109XCJbJy8nXVwiPjxpbWcgYWx0PVwiYXBwIGxvZ29cIiBjbGFzcz1cImFwcC1sb2dvXCIgW3NyY109XCJjb25maWcuYXBwTG9nb1wiIFthbHRdPVwiY29uZmlnLmFwcExvZ29BbHRcIiAvPjwvYT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2hlbGwtaGVhZGVyLWxpbmstY29udGFpbmVyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hlbGwtaGVhZGVyLWxpbmstY29udGFpbmVyLWlubmVyXCI+XHJcbiAgICAgICAgICAgIDxsaWItbmF2LWxpbmtzLWxpc3RcclxuICAgICAgICAgICAgICBbbGlua3NdPVwic2VjdGlvbkxpbmtzXCJcclxuICAgICAgICAgICAgICBbYWN0aXZlLWZyYWdtZW50XT1cImFjdGl2ZUZyYWdtZW50XCJcclxuICAgICAgICAgICAgICBbbGluay1jbGFzc109XCInbmF2LWxpbmsnXCJcclxuICAgICAgICAgICAgICBbbGluay1hY3RpdmUtY2xhc3NdPVwiJ25hdi1saW5rLWFjdGl2ZSdcIj5cclxuICAgICAgICAgICAgPC9saWItbmF2LWxpbmtzLWxpc3Q+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNoZWxsLWhlYWRlci1tZC12aXNpYmxlXCI+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNoZWxsLWhlYWRlci1saW5rcy1mYXItY29udGFpbmVyXCIgKGNsaWNrT3V0c2lkZSk9XCJvbkNsaWNrT3V0c2lkZSgkZXZlbnQpXCI+XHJcblxyXG4gICAgICAgICAgICA8bGliLW5hdi1saW5rcy1saXN0XHJcbiAgICAgICAgICAgICAgW2xpbmtzXT1cImxpbmtzLnByb2ZpbGVBY3Rpb25zXCJcclxuICAgICAgICAgICAgICBbYWN0aXZlLWZyYWdtZW50XT1cImFjdGl2ZUZyYWdtZW50XCJcclxuICAgICAgICAgICAgICBbbGluay1jbGFzc109XCInc2hlbGwtaGVhZGVyLW1lbnUtcm91bmRlZC1idXR0b24nXCJcclxuICAgICAgICAgICAgICBbbGluay1hY3RpdmUtY2xhc3NdPVwiJ3NoZWxsLWhlYWRlci1tZW51LXJvdW5kZWQtYnV0dG9uLWFjdGl2ZSdcIj5cclxuICAgICAgICAgICAgPC9saWItbmF2LWxpbmtzLWxpc3Q+XHJcblxyXG5cclxuICAgICAgICAgICAgPCEtLSBQcm9maWxlIGRyb3Bkb3duIC0tPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicHJvZmlsZU1lbnVWaXNpYmxlXCIgY2xhc3M9XCJtbC00XCI+XHJcbiAgICAgICAgICAgICAgPGxpYi11c2VyLXByb2ZpbGUtbWVudSBbc2hvdy11c2VyLW5hbWVdPVwic2hvd1VzZXJOYW1lT25IZWFkZXJcIiBbc2hvdy1waWN0dXJlXT1cInNob3dQaWN0dXJlT25IZWFkZXJcIj48L2xpYi11c2VyLXByb2ZpbGUtbWVudT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8IS0tIE5vdGlmaWNhdGlvbnMgZHJvcGRvd24gLS0+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzaG93QWxlcnRzICYmIHVzZXJcIiBjbGFzcz1cIm1sLTRcIj5cclxuICAgICAgICAgICAgICA8bGliLW5vdGlmaWNhdGlvbnMtaW5kaWNhdG9yPjwvbGliLW5vdGlmaWNhdGlvbnMtaW5kaWNhdG9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gbGFuZ3VhZ2VzIGRyb3Bkb3duIC0tPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd0xhbmdzXCIgY2xhc3M9XCJtbC00XCI+XHJcbiAgICAgICAgICAgICAgPGxpYi1sYW5ndWFnZS1zZWxlY3Rpb24+PC9saWItbGFuZ3VhZ2Utc2VsZWN0aW9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9iaWxlLW1lbnUtYnV0dG9uLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgPCEtLSBNb2JpbGUgbWVudSBidXR0b24gLS0+XHJcbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwibW9iaWxlTWVudUV4cGFuZGVkID0gIW1vYmlsZU1lbnVFeHBhbmRlZFwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwibW9iaWxlLW1lbnUtYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgYXJpYS1jb250cm9scz1cIm1vYmlsZS1tZW51XCJcclxuICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJtb2JpbGVNZW51RXhwYW5kZWRcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+T3BlbiBtYWluIG1lbnU8L3NwYW4+XHJcbiAgICAgICAgICAgIDwhLS1IZXJvaWNvbiBuYW1lOiBvdXRsaW5lL21lbnUgIE1lbnUgb3BlbjogXCJoaWRkZW5cIiwgTWVudSBjbG9zZWQ6IFwiYmxvY2tcIi0tPlxyXG4gICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcclxuICAgICAgICAgICAgICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxyXG4gICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgW2NsYXNzXT1cIm1vYmlsZU1lbnVFeHBhbmRlZCA/ICdoaWRkZW4nOidibG9jayBoLTYgdy02J1wiPlxyXG4gICAgICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIyXCJcclxuICAgICAgICAgICAgICAgICAgICBkPVwiTTQgNmgxNk00IDEyaDE2TTQgMThoMTZcIiAvPlxyXG4gICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgPCEtLUhlcm9pY29uIG5hbWU6IG91dGxpbmUveCBNZW51IG9wZW46IFwiYmxvY2tcIiwgTWVudSBjbG9zZWQ6IFwiaGlkZGVuXCItLT5cclxuICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcclxuICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXHJcbiAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCJcclxuICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgIFtjbGFzc109XCJtb2JpbGVNZW51RXhwYW5kZWQgPyAnYmxvY2sgaC02IHctNic6J2hpZGRlbidcIj5cclxuICAgICAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgZD1cIk02IDE4TDE4IDZNNiA2bDEyIDEyXCIgLz5cclxuICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8IS0tIE1vYmlsZSBtZW51LCBzaG93L2hpZGUgYmFzZWQgb24gbWVudSBzdGF0ZS4gLS0+XHJcbiAgPGRpdiBjbGFzcz1cIm1vYmlsZS1tZW51LWNvbnRhaW5lclwiICpuZ0lmPVwibW9iaWxlTWVudUV4cGFuZGVkXCIgaWQ9XCJtb2JpbGUtbWVudVwiPlxyXG4gICAgPGxpYi1uYXYtbGlua3MtbGlzdFxyXG4gICAgICBbbGlua3NdPVwic2VjdGlvbkxpbmtzXCJcclxuICAgICAgW2FjdGl2ZS1mcmFnbWVudF09XCJhY3RpdmVGcmFnbWVudFwiXHJcbiAgICAgIFtsaW5rLWNsYXNzXT1cIiduYXYtbGluay1tb2JpbGUnXCJcclxuICAgICAgW2xpbmstYWN0aXZlLWNsYXNzXT1cIiduYXYtbGluay1tb2JpbGUtYWN0aXZlJ1wiXHJcbiAgICAgIFtjb250YWluZXItY2xhc3NdPVwiJ21vYmlsZS1tZW51LWxpbmstY29udGFpbmVyJ1wiPlxyXG4gICAgPC9saWItbmF2LWxpbmtzLWxpc3Q+XHJcblxyXG4gICAgPGRpdiAqbmdJZj1cIiF1c2VyXCI+XHJcbiAgICAgIDxhIGhyZWY9XCIjXCIgKGNsaWNrKT1cInNpZ25pbigkZXZlbnQpXCIgY2xhc3M9XCJuYXYtbGluay1tb2JpbGVcIj5cclxuICAgICAgICA8aSBjbGFzcz1cIm1zLUljb24gbXMtSWNvbi0tU2lnbmluIG1yLTJcIj48L2k+zqPPjc69zrTOtc+DzrdcclxuICAgICAgPC9hPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cIm1vYmlsZS1tZW51LXVzZXItaW5mby1jb250YWluZXJcIiAqbmdJZj1cInVzZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1vYmlsZS1tZW51LXVzZXItaW5mby1jb250YWluZXItaW5uZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMFwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtb2JpbGUtbWVudS1hdmF0YXItY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibW9iaWxlLW1lbnUtYXZhdGFyLW5hbWVcIj57eyB0aGlzLmF2YXRhck5hbWUgfX08L3NwYW4+XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1sLTNcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2JpbGUtbWVudS11c2VyLW5hbWVcIj57eyB1c2VyLnByb2ZpbGUubmFtZSB9fTwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1vYmlsZS1tZW51LXVzZXItZW1haWxcIj57eyB1c2VyLnByb2ZpbGUuZW1haWwgfX08L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8IS0tXHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm1vYmlsZS1tZW51LXJvdW5kZWQtYnV0dG9uXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5WaWV3IG5vdGlmaWNhdGlvbnM8L3NwYW4+XHJcbiAgICAgICAgICA8c3ZnIGNsYXNzPVwibW9iaWxlLW1lbnUtcm91bmRlZC1idXR0b24taWNvbi1zdHlsZVwiXHJcbiAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxyXG4gICAgICAgICAgICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxyXG4gICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIj5cclxuICAgICAgICAgICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMlwiXHJcbiAgICAgICAgICAgICAgICAgIGQ9XCJNMTUgMTdoNWwtMS40MDUtMS40MDVBMi4wMzIgMi4wMzIgMCAwMTE4IDE0LjE1OFYxMWE2LjAwMiA2LjAwMiAwIDAwLTQtNS42NTlWNWEyIDIgMCAxMC00IDB2LjM0MUM3LjY3IDYuMTY1IDYgOC4zODggNiAxMXYzLjE1OWMwIC41MzgtLjIxNCAxLjA1NS0uNTk1IDEuNDM2TDQgMTdoNW02IDB2MWEzIDMgMCAxMS02IDB2LTFtNiAwSDlcIiAvPlxyXG4gICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgLS0+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGxpYi1uYXYtbGlua3MtbGlzdFxyXG4gICAgICAgICAgW2xpbmtzXT1cImxpbmtzLnByb2ZpbGVcIlxyXG4gICAgICAgICAgW2FjdGl2ZS1mcmFnbWVudF09XCJhY3RpdmVGcmFnbWVudFwiXHJcbiAgICAgICAgICBbbGluay1jbGFzc109XCInbmF2LWxpbmstbW9iaWxlJ1wiXHJcbiAgICAgICAgICBbbGluay1hY3RpdmUtY2xhc3NdPVwiJ25hdi1saW5rLW1vYmlsZS1hY3RpdmUnXCJcclxuICAgICAgICAgIFtjb250YWluZXItY2xhc3NdPVwiJ21vYmlsZS1tZW51LWxpbmstY29udGFpbmVyJ1wiPlxyXG4gICAgICA8L2xpYi1uYXYtbGlua3MtbGlzdD5cclxuICA8L2Rpdj5cclxuPC9uYXY+XHJcbiJdfQ==
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import { Component, Inject, ViewChildren, Input } from '@angular/core';
|
|
2
|
-
import { ActivationStart } from '@angular/router';
|
|
3
|
-
import { filter } from 'rxjs/operators';
|
|
4
|
-
import { SHELL_CONFIG } from './../../../tokens';
|
|
5
|
-
import { DefaultShellConfig } from './../../../types';
|
|
6
|
-
import { DynamicComponentHostDirective } from '../../../directives/dynamic-component-host.directive';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@angular/router";
|
|
9
|
-
import * as i2 from "../../../services/component-loader/component-loader.factory";
|
|
10
|
-
import * as i3 from "@angular/common";
|
|
11
|
-
import * as i4 from "../shell-sidebar-layout/shell-sidebar-layout.component";
|
|
12
|
-
import * as i5 from "../shell-stacked-layout/shell-stacked-layout.component";
|
|
13
|
-
import * as i6 from "../../../controls/side-pane/side-pane.component";
|
|
14
|
-
import * as i7 from "../../../controls/toaster/toaster-container.component";
|
|
15
|
-
export class ShellLayoutComponent {
|
|
16
|
-
constructor(_router, _componentLoaderFactory, _config) {
|
|
17
|
-
this._router = _router;
|
|
18
|
-
this._componentLoaderFactory = _componentLoaderFactory;
|
|
19
|
-
this._config = _config;
|
|
20
|
-
this._dynamicComponentHosts = null;
|
|
21
|
-
this.busy = false;
|
|
22
|
-
this._routerSub$ = null;
|
|
23
|
-
this.showRightPaneSM = false;
|
|
24
|
-
this.activeConfig = new DefaultShellConfig();
|
|
25
|
-
this.loaded = false;
|
|
26
|
-
this.hideSidebar = false;
|
|
27
|
-
if (!_config) {
|
|
28
|
-
_config = new DefaultShellConfig();
|
|
29
|
-
}
|
|
30
|
-
this.activeConfig = _config;
|
|
31
|
-
}
|
|
32
|
-
ngAfterViewChecked() {
|
|
33
|
-
setTimeout(() => { this.loaded = true; }, 200);
|
|
34
|
-
}
|
|
35
|
-
ngOnInit() {
|
|
36
|
-
this._routerSub$ = this._router.events.pipe(filter((event) => event instanceof ActivationStart))
|
|
37
|
-
.subscribe((event) => {
|
|
38
|
-
if (event?.snapshot) {
|
|
39
|
-
if (event?.snapshot?.data) {
|
|
40
|
-
if (event?.snapshot?.data.shell) {
|
|
41
|
-
this.activeConfig = event?.snapshot.data.shell;
|
|
42
|
-
if (this.activeConfig.customHeaderComponent) {
|
|
43
|
-
this.initCustomComponents();
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
this.activeConfig = this._config ? this._config : new DefaultShellConfig();
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
ngAfterViewInit() {
|
|
54
|
-
this.initCustomComponents();
|
|
55
|
-
}
|
|
56
|
-
initCustomComponents() {
|
|
57
|
-
if (this._dynamicComponentHosts && this._dynamicComponentHosts.length > 0) {
|
|
58
|
-
this.loadCustomComponent(this._dynamicComponentHosts.find((_) => _.hostName === 'Header'));
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
ngOnDestroy() {
|
|
62
|
-
if (this._routerSub$) {
|
|
63
|
-
this._routerSub$.unsubscribe();
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
loadCustomComponent(host) {
|
|
67
|
-
if (host) {
|
|
68
|
-
const viewContainerRef = host.viewContainerRef;
|
|
69
|
-
if (viewContainerRef && this.activeConfig.customHeaderComponent) {
|
|
70
|
-
const clf = this._componentLoaderFactory.createLoader(viewContainerRef);
|
|
71
|
-
clf.attach(this.activeConfig.customHeaderComponent).to(viewContainerRef.element).show();
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ShellLayoutComponent, deps: [{ token: i1.Router }, { token: i2.ComponentLoaderFactory }, { token: SHELL_CONFIG }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
76
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.6", type: ShellLayoutComponent, selector: "lib-shell-layout", inputs: { busy: "busy", sidebarFooterTemplate: "sidebarFooterTemplate" }, viewQueries: [{ propertyName: "_dynamicComponentHosts", predicate: DynamicComponentHostDirective, descendants: true }], ngImport: i0, template: "<div [class.hidden]=\"!loaded\" [class.block]=\"loaded\">\r\n <!-- STACKED LAYOUT -->\r\n <div *ngIf=\"(activeConfig.layout === 'Stacked' || !activeConfig.layout)\" class=\"shell-container active-side-pane\">\r\n <lib-shell-stacked-layout [config]=\"activeConfig\" [busy]=\"busy\"></lib-shell-stacked-layout>\r\n </div>\r\n <!-- SIDEBAR LAYOUT -->\r\n <div *ngIf=\"activeConfig.layout === 'Sidebar'\" class=\"sidebar shell-container active-side-pane\">\r\n <lib-shell-sidebar-layout [config]=\"activeConfig\" [busy]=\"busy\"\r\n [sidebarFooterTemplate]=\"sidebarFooterTemplate\">\r\n </lib-shell-sidebar-layout>\r\n </div>\r\n <lib-side-pane #rightPane>\r\n <router-outlet name=\"rightpane\"\r\n (activate)=\"rightPane.onSidePaneActivated($event)\"\r\n (deactivate)=\"rightPane.onSidePaneDeactivated($event)\">\r\n </router-outlet>\r\n </lib-side-pane>\r\n <lib-toaster-container></lib-toaster-container>\r\n</div>", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: i4.ShellSidebarLayoutComponent, selector: "lib-shell-sidebar-layout", inputs: ["config", "sidebarFooterTemplate", "busy"] }, { kind: "component", type: i5.ShellStackedLayoutComponent, selector: "lib-shell-stacked-layout", inputs: ["config", "busy"] }, { kind: "component", type: i6.SidePaneComponent, selector: "lib-side-pane", inputs: ["visible", "pane-size"], outputs: ["onComplete", "onOpen", "onClose"] }, { kind: "component", type: i7.ToasterContainerComponent, selector: "lib-toaster-container" }] }); }
|
|
77
|
-
}
|
|
78
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ShellLayoutComponent, decorators: [{
|
|
79
|
-
type: Component,
|
|
80
|
-
args: [{ selector: 'lib-shell-layout', template: "<div [class.hidden]=\"!loaded\" [class.block]=\"loaded\">\r\n <!-- STACKED LAYOUT -->\r\n <div *ngIf=\"(activeConfig.layout === 'Stacked' || !activeConfig.layout)\" class=\"shell-container active-side-pane\">\r\n <lib-shell-stacked-layout [config]=\"activeConfig\" [busy]=\"busy\"></lib-shell-stacked-layout>\r\n </div>\r\n <!-- SIDEBAR LAYOUT -->\r\n <div *ngIf=\"activeConfig.layout === 'Sidebar'\" class=\"sidebar shell-container active-side-pane\">\r\n <lib-shell-sidebar-layout [config]=\"activeConfig\" [busy]=\"busy\"\r\n [sidebarFooterTemplate]=\"sidebarFooterTemplate\">\r\n </lib-shell-sidebar-layout>\r\n </div>\r\n <lib-side-pane #rightPane>\r\n <router-outlet name=\"rightpane\"\r\n (activate)=\"rightPane.onSidePaneActivated($event)\"\r\n (deactivate)=\"rightPane.onSidePaneDeactivated($event)\">\r\n </router-outlet>\r\n </lib-side-pane>\r\n <lib-toaster-container></lib-toaster-container>\r\n</div>" }]
|
|
81
|
-
}], ctorParameters: () => [{ type: i1.Router }, { type: i2.ComponentLoaderFactory }, { type: undefined, decorators: [{
|
|
82
|
-
type: Inject,
|
|
83
|
-
args: [SHELL_CONFIG]
|
|
84
|
-
}] }], propDecorators: { _dynamicComponentHosts: [{
|
|
85
|
-
type: ViewChildren,
|
|
86
|
-
args: [DynamicComponentHostDirective]
|
|
87
|
-
}], busy: [{
|
|
88
|
-
type: Input
|
|
89
|
-
}], sidebarFooterTemplate: [{
|
|
90
|
-
type: Input
|
|
91
|
-
}] } });
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtbGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9sYXlvdXRzL3NoZWxsL3NoZWxsLWxheW91dC9zaGVsbC1sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2xheW91dHMvc2hlbGwvc2hlbGwtbGF5b3V0L3NoZWxsLWxheW91dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBcUIsTUFBTSxFQUFFLFlBQVksRUFBNEMsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzlKLE9BQU8sRUFBRSxlQUFlLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUcxRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBZ0Isa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7Ozs7Ozs7O0FBSXJHLE1BQU0sT0FBTyxvQkFBb0I7SUFNL0IsWUFBb0IsT0FBZSxFQUFVLHVCQUErQyxFQUFnQyxPQUFpQztRQUF6SSxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQVUsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF3QjtRQUFnQyxZQUFPLEdBQVAsT0FBTyxDQUEwQjtRQUx4RywyQkFBc0IsR0FBb0QsSUFBSSxDQUFDO1FBQzNILFNBQUksR0FBWSxLQUFLLENBQUM7UUFFdkIsZ0JBQVcsR0FBd0IsSUFBSSxDQUFDO1FBU3pDLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLGlCQUFZLEdBQWlCLElBQUksa0JBQWtCLEVBQUUsQ0FBQztRQUN0RCxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ2YsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFUekIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2IsT0FBTyxHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztRQUNyQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUM7SUFDOUIsQ0FBQztJQU9NLGtCQUFrQjtRQUN2QixVQUFVLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssWUFBWSxlQUFlLENBQUMsQ0FBQzthQUMvRixTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNuQixJQUFLLEtBQXlCLEVBQUUsUUFBUSxFQUFFLENBQUM7Z0JBQ3pDLElBQUssS0FBeUIsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7b0JBQy9DLElBQUssS0FBeUIsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO3dCQUNyRCxJQUFJLENBQUMsWUFBWSxHQUFJLEtBQXlCLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFxQixDQUFDO3dCQUNwRixJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMscUJBQXFCLEVBQUUsQ0FBQzs0QkFDNUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7d0JBQzlCLENBQUM7b0JBQ0gsQ0FBQzt5QkFBTSxDQUFDO3dCQUNOLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO29CQUM3RSxDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sZUFBZTtRQUNwQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRU8sb0JBQW9CO1FBQzFCLElBQUksSUFBSSxDQUFDLHNCQUFzQixJQUFJLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDMUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQztRQUM3RixDQUFDO0lBQ0gsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNqQyxDQUFDO0lBQ0gsQ0FBQztJQUVPLG1CQUFtQixDQUFDLElBQStDO1FBQ3pFLElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztZQUMvQyxJQUFJLGdCQUFnQixJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMscUJBQXFCLEVBQUUsQ0FBQztnQkFDaEUsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2dCQUN4RSxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMscUJBQXFCLENBQUMsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDMUYsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDOzhHQWhFVSxvQkFBb0IsOEVBTXVFLFlBQVk7a0dBTnZHLG9CQUFvQiw2S0FDakIsNkJBQTZCLGdEQ1o3Qyw2K0JBa0JNOzsyRkRQTyxvQkFBb0I7a0JBRGhDLFNBQVM7K0JBQWEsa0JBQWtCOzswQkFPd0QsTUFBTTsyQkFBQyxZQUFZO3lDQUw3RCxzQkFBc0I7c0JBQTFFLFlBQVk7dUJBQUMsNkJBQTZCO2dCQUNsQyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ1UscUJBQXFCO3NCQUFwQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveSwgSW5qZWN0LCBWaWV3Q2hpbGRyZW4sIFF1ZXJ5TGlzdCwgQWZ0ZXJWaWV3Q2hlY2tlZCwgVGVtcGxhdGVSZWYsIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZhdGlvblN0YXJ0LCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgU0hFTExfQ09ORklHIH0gZnJvbSAnLi8uLi8uLi8uLi90b2tlbnMnO1xyXG5pbXBvcnQgeyBJU2hlbGxDb25maWcsIERlZmF1bHRTaGVsbENvbmZpZyB9IGZyb20gJy4vLi4vLi4vLi4vdHlwZXMnO1xyXG5pbXBvcnQgeyBEeW5hbWljQ29tcG9uZW50SG9zdERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZXMvZHluYW1pYy1jb21wb25lbnQtaG9zdC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRMb2FkZXJGYWN0b3J5IH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvY29tcG9uZW50LWxvYWRlci9jb21wb25lbnQtbG9hZGVyLmZhY3RvcnknO1xyXG5cclxuQENvbXBvbmVudCh7IHNlbGVjdG9yOiAnbGliLXNoZWxsLWxheW91dCcsIHRlbXBsYXRlVXJsOiAnLi9zaGVsbC1sYXlvdXQuY29tcG9uZW50Lmh0bWwnIH0pXHJcbmV4cG9ydCBjbGFzcyBTaGVsbExheW91dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0LCBBZnRlclZpZXdDaGVja2VkIHtcclxuICBAVmlld0NoaWxkcmVuKER5bmFtaWNDb21wb25lbnRIb3N0RGlyZWN0aXZlKSBwcml2YXRlIF9keW5hbWljQ29tcG9uZW50SG9zdHM6IFF1ZXJ5TGlzdDxEeW5hbWljQ29tcG9uZW50SG9zdERpcmVjdGl2ZT4gfCBudWxsID0gbnVsbDtcclxuICBASW5wdXQoKSBidXN5OiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIHNpZGViYXJGb290ZXJUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgcHJpdmF0ZSBfcm91dGVyU3ViJDogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3JvdXRlcjogUm91dGVyLCBwcml2YXRlIF9jb21wb25lbnRMb2FkZXJGYWN0b3J5OiBDb21wb25lbnRMb2FkZXJGYWN0b3J5LCBASW5qZWN0KFNIRUxMX0NPTkZJRykgcHJpdmF0ZSBfY29uZmlnOiBJU2hlbGxDb25maWcgfCB1bmRlZmluZWQpIHtcclxuICAgIGlmICghX2NvbmZpZykge1xyXG4gICAgICBfY29uZmlnID0gbmV3IERlZmF1bHRTaGVsbENvbmZpZygpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5hY3RpdmVDb25maWcgPSBfY29uZmlnO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dSaWdodFBhbmVTTSA9IGZhbHNlO1xyXG4gIHB1YmxpYyBhY3RpdmVDb25maWc6IElTaGVsbENvbmZpZyA9IG5ldyBEZWZhdWx0U2hlbGxDb25maWcoKTtcclxuICBwdWJsaWMgbG9hZGVkID0gZmFsc2U7XHJcbiAgcHVibGljIGhpZGVTaWRlYmFyID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHsgdGhpcy5sb2FkZWQgPSB0cnVlOyB9LCAyMDApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fcm91dGVyU3ViJCA9IHRoaXMuX3JvdXRlci5ldmVudHMucGlwZShmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIEFjdGl2YXRpb25TdGFydCkpXHJcbiAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xyXG4gICAgICBpZiAoKGV2ZW50IGFzIEFjdGl2YXRpb25TdGFydCk/LnNuYXBzaG90KSB7XHJcbiAgICAgICAgaWYgKChldmVudCBhcyBBY3RpdmF0aW9uU3RhcnQpPy5zbmFwc2hvdD8uZGF0YSkge1xyXG4gICAgICAgICAgaWYgKChldmVudCBhcyBBY3RpdmF0aW9uU3RhcnQpPy5zbmFwc2hvdD8uZGF0YS5zaGVsbCkge1xyXG4gICAgICAgICAgICB0aGlzLmFjdGl2ZUNvbmZpZyA9IChldmVudCBhcyBBY3RpdmF0aW9uU3RhcnQpPy5zbmFwc2hvdC5kYXRhLnNoZWxsIGFzIElTaGVsbENvbmZpZztcclxuICAgICAgICAgICAgaWYgKHRoaXMuYWN0aXZlQ29uZmlnLmN1c3RvbUhlYWRlckNvbXBvbmVudCkge1xyXG4gICAgICAgICAgICAgIHRoaXMuaW5pdEN1c3RvbUNvbXBvbmVudHMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5hY3RpdmVDb25maWcgPSB0aGlzLl9jb25maWcgPyB0aGlzLl9jb25maWcgOiBuZXcgRGVmYXVsdFNoZWxsQ29uZmlnKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmluaXRDdXN0b21Db21wb25lbnRzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXRDdXN0b21Db21wb25lbnRzKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX2R5bmFtaWNDb21wb25lbnRIb3N0cyAmJiB0aGlzLl9keW5hbWljQ29tcG9uZW50SG9zdHMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLmxvYWRDdXN0b21Db21wb25lbnQodGhpcy5fZHluYW1pY0NvbXBvbmVudEhvc3RzLmZpbmQoKF8pID0+IF8uaG9zdE5hbWUgPT09ICdIZWFkZXInKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fcm91dGVyU3ViJCkge1xyXG4gICAgICB0aGlzLl9yb3V0ZXJTdWIkLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvYWRDdXN0b21Db21wb25lbnQoaG9zdDogRHluYW1pY0NvbXBvbmVudEhvc3REaXJlY3RpdmUgfCB1bmRlZmluZWQpOiB2b2lkIHtcclxuICAgIGlmIChob3N0KSB7XHJcbiAgICAgIGNvbnN0IHZpZXdDb250YWluZXJSZWYgPSBob3N0LnZpZXdDb250YWluZXJSZWY7XHJcbiAgICAgIGlmICh2aWV3Q29udGFpbmVyUmVmICYmIHRoaXMuYWN0aXZlQ29uZmlnLmN1c3RvbUhlYWRlckNvbXBvbmVudCkge1xyXG4gICAgICAgIGNvbnN0IGNsZiA9IHRoaXMuX2NvbXBvbmVudExvYWRlckZhY3RvcnkuY3JlYXRlTG9hZGVyKHZpZXdDb250YWluZXJSZWYpO1xyXG4gICAgICAgIGNsZi5hdHRhY2godGhpcy5hY3RpdmVDb25maWcuY3VzdG9tSGVhZGVyQ29tcG9uZW50KS50byh2aWV3Q29udGFpbmVyUmVmLmVsZW1lbnQpLnNob3coKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IFtjbGFzcy5oaWRkZW5dPVwiIWxvYWRlZFwiIFtjbGFzcy5ibG9ja109XCJsb2FkZWRcIj5cclxuICA8IS0tIFNUQUNLRUQgTEFZT1VUIC0tPlxyXG4gIDxkaXYgKm5nSWY9XCIoYWN0aXZlQ29uZmlnLmxheW91dCA9PT0gJ1N0YWNrZWQnIHx8ICFhY3RpdmVDb25maWcubGF5b3V0KVwiIGNsYXNzPVwic2hlbGwtY29udGFpbmVyIGFjdGl2ZS1zaWRlLXBhbmVcIj5cclxuICAgIDxsaWItc2hlbGwtc3RhY2tlZC1sYXlvdXQgW2NvbmZpZ109XCJhY3RpdmVDb25maWdcIiBbYnVzeV09XCJidXN5XCI+PC9saWItc2hlbGwtc3RhY2tlZC1sYXlvdXQ+XHJcbiAgPC9kaXY+XHJcbiAgPCEtLSBTSURFQkFSIExBWU9VVCAtLT5cclxuICA8ZGl2ICpuZ0lmPVwiYWN0aXZlQ29uZmlnLmxheW91dCA9PT0gJ1NpZGViYXInXCIgY2xhc3M9XCJzaWRlYmFyIHNoZWxsLWNvbnRhaW5lciBhY3RpdmUtc2lkZS1wYW5lXCI+XHJcbiAgICA8bGliLXNoZWxsLXNpZGViYXItbGF5b3V0IFtjb25maWddPVwiYWN0aXZlQ29uZmlnXCIgW2J1c3ldPVwiYnVzeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaWRlYmFyRm9vdGVyVGVtcGxhdGVdPVwic2lkZWJhckZvb3RlclRlbXBsYXRlXCI+XHJcbiAgICA8L2xpYi1zaGVsbC1zaWRlYmFyLWxheW91dD5cclxuICA8L2Rpdj5cclxuICA8bGliLXNpZGUtcGFuZSAjcmlnaHRQYW5lPlxyXG4gICAgPHJvdXRlci1vdXRsZXQgbmFtZT1cInJpZ2h0cGFuZVwiXHJcbiAgICAgICAgICAgICAgICAgICAoYWN0aXZhdGUpPVwicmlnaHRQYW5lLm9uU2lkZVBhbmVBY3RpdmF0ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAoZGVhY3RpdmF0ZSk9XCJyaWdodFBhbmUub25TaWRlUGFuZURlYWN0aXZhdGVkKCRldmVudClcIj5cclxuICAgIDwvcm91dGVyLW91dGxldD5cclxuICA8L2xpYi1zaWRlLXBhbmU+XHJcbiAgPGxpYi10b2FzdGVyLWNvbnRhaW5lcj48L2xpYi10b2FzdGVyLWNvbnRhaW5lcj5cclxuPC9kaXY+Il19
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { Component, Inject, Input } from '@angular/core';
|
|
2
|
-
import { of } from 'rxjs';
|
|
3
|
-
import { APP_LINKS } from '../../../tokens';
|
|
4
|
-
import { ActivatedRoute, Router } from '@angular/router';
|
|
5
|
-
import { share } from 'rxjs/operators';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "../../../controls/nav-links-list/nav-links-list.component";
|
|
8
|
-
import * as i2 from "@angular/router";
|
|
9
|
-
export class ShellSidebarComponent {
|
|
10
|
-
constructor(router, route, links) {
|
|
11
|
-
this.router = router;
|
|
12
|
-
this.route = route;
|
|
13
|
-
this.links = links;
|
|
14
|
-
this.sectionLinksPath = 'main';
|
|
15
|
-
this.shellConfig = undefined;
|
|
16
|
-
this.sticky = false;
|
|
17
|
-
this.sectionLinks = of([]);
|
|
18
|
-
this.activeFragment = null;
|
|
19
|
-
}
|
|
20
|
-
get activeNavLinkClass() {
|
|
21
|
-
const linkClasses = 'sidebar ' + (this.sticky ? 'nav-link-active-b' : 'nav-link-active-l') + ' group';
|
|
22
|
-
console.log('activeNavLinkClass getter ', linkClasses);
|
|
23
|
-
return linkClasses;
|
|
24
|
-
}
|
|
25
|
-
ngOnInit() {
|
|
26
|
-
this.activeFragment = this.route.fragment.pipe(share());
|
|
27
|
-
this.sectionLinks = this.links[this.sectionLinksPath];
|
|
28
|
-
}
|
|
29
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ShellSidebarComponent, deps: [{ token: Router }, { token: ActivatedRoute }, { token: APP_LINKS }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.6", type: ShellSidebarComponent, selector: "lib-shell-sidebar", inputs: { sectionLinksPath: ["section-links", "sectionLinksPath"], shellConfig: ["config", "shellConfig"], sticky: "sticky" }, ngImport: i0, template: "<!-- Sidebar component, swap this element with another sidebar if you like -->\r\n<div class=\"shell-sidebar-component-container\">\r\n <div class=\"shell-sidebar-component-links-container sidebar\">\r\n <lib-nav-links-list [show-icons]=\"true\"\r\n [show-text]=\"!sticky\"\r\n [large-icons]=\"sticky\"\r\n [links]=\"sectionLinks\"\r\n [active-fragment]=\"activeFragment\"\r\n [link-class]=\"'sidebar nav-link group'\"\r\n [link-active-class]=\"'sidebar nav-link-active-b group'\">\r\n </lib-nav-links-list>\r\n </div>\r\n</div>", dependencies: [{ kind: "component", type: i1.NavLinksListComponent, selector: "lib-nav-links-list", inputs: ["links", "active-fragment", "link-class", "link-active-class", "container-class", "show-icons", "show-text", "large-icons"] }] }); }
|
|
31
|
-
}
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ShellSidebarComponent, decorators: [{
|
|
33
|
-
type: Component,
|
|
34
|
-
args: [{ selector: 'lib-shell-sidebar', template: "<!-- Sidebar component, swap this element with another sidebar if you like -->\r\n<div class=\"shell-sidebar-component-container\">\r\n <div class=\"shell-sidebar-component-links-container sidebar\">\r\n <lib-nav-links-list [show-icons]=\"true\"\r\n [show-text]=\"!sticky\"\r\n [large-icons]=\"sticky\"\r\n [links]=\"sectionLinks\"\r\n [active-fragment]=\"activeFragment\"\r\n [link-class]=\"'sidebar nav-link group'\"\r\n [link-active-class]=\"'sidebar nav-link-active-b group'\">\r\n </lib-nav-links-list>\r\n </div>\r\n</div>" }]
|
|
35
|
-
}], ctorParameters: () => [{ type: i2.Router, decorators: [{
|
|
36
|
-
type: Inject,
|
|
37
|
-
args: [Router]
|
|
38
|
-
}] }, { type: i2.ActivatedRoute, decorators: [{
|
|
39
|
-
type: Inject,
|
|
40
|
-
args: [ActivatedRoute]
|
|
41
|
-
}] }, { type: undefined, decorators: [{
|
|
42
|
-
type: Inject,
|
|
43
|
-
args: [APP_LINKS]
|
|
44
|
-
}] }], propDecorators: { sectionLinksPath: [{
|
|
45
|
-
type: Input,
|
|
46
|
-
args: ['section-links']
|
|
47
|
-
}], shellConfig: [{
|
|
48
|
-
type: Input,
|
|
49
|
-
args: ['config']
|
|
50
|
-
}], sticky: [{
|
|
51
|
-
type: Input,
|
|
52
|
-
args: ['sticky']
|
|
53
|
-
}] } });
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtc2lkZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb21wb25lbnRzL3NyYy9saWIvbGF5b3V0cy9zaGVsbC9zaGVsbC1zaWRlYmFyL3NoZWxsLXNpZGViYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2xheW91dHMvc2hlbGwvc2hlbGwtc2lkZWJhci9zaGVsbC1zaWRlYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVqRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQU12QyxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLFlBQzRCLE1BQWMsRUFDTixLQUFxQixFQUM3QixLQUFVO1FBRlYsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNOLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQzdCLFVBQUssR0FBTCxLQUFLLENBQUs7UUFHZCxxQkFBZ0IsR0FBRyxNQUFNLENBQUM7UUFDakMsZ0JBQVcsR0FBNkIsU0FBUyxDQUFDO1FBQ2xELFdBQU0sR0FBWSxLQUFLLENBQUM7UUFDbEMsaUJBQVksR0FBMEIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLG1CQUFjLEdBQWUsSUFBSSxDQUFDO0lBTnJDLENBQUM7SUFRTCxJQUFXLGtCQUFrQjtRQUMzQixNQUFNLFdBQVcsR0FBRyxVQUFVLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsR0FBRyxRQUFRLENBQUM7UUFDdEcsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUN2RCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBMEIsQ0FBQztJQUNqRixDQUFDOzhHQXRCVSxxQkFBcUIsa0JBRXRCLE1BQU0sYUFDTixjQUFjLGFBQ2QsU0FBUztrR0FKUixxQkFBcUIsd0xDWmxDLG9xQkFZTTs7MkZEQU8scUJBQXFCO2tCQUpqQyxTQUFTOytCQUNFLG1CQUFtQjs7MEJBSzFCLE1BQU07MkJBQUMsTUFBTTs7MEJBQ2IsTUFBTTsyQkFBQyxjQUFjOzswQkFDckIsTUFBTTsyQkFBQyxTQUFTO3lDQUdLLGdCQUFnQjtzQkFBdkMsS0FBSzt1QkFBQyxlQUFlO2dCQUNMLFdBQVc7c0JBQTNCLEtBQUs7dUJBQUMsUUFBUTtnQkFDRSxNQUFNO3NCQUF0QixLQUFLO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJU2hlbGxDb25maWcsIE5hdkxpbmsgfSBmcm9tICcuLy4uLy4uLy4uL3R5cGVzJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMvaW50ZXJuYWwvT2JzZXJ2YWJsZSc7XHJcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFQUF9MSU5LUyB9IGZyb20gJy4uLy4uLy4uL3Rva2Vucyc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBzaGFyZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXNoZWxsLXNpZGViYXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zaGVsbC1zaWRlYmFyLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2hlbGxTaWRlYmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoUm91dGVyKSBwcm90ZWN0ZWQgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBASW5qZWN0KEFjdGl2YXRlZFJvdXRlKSBwcm90ZWN0ZWQgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgQEluamVjdChBUFBfTElOS1MpIHB1YmxpYyBsaW5rczogYW55XHJcbiAgKSB7IH1cclxuXHJcbiAgQElucHV0KCdzZWN0aW9uLWxpbmtzJykgc2VjdGlvbkxpbmtzUGF0aCA9ICdtYWluJztcclxuICBASW5wdXQoJ2NvbmZpZycpIHNoZWxsQ29uZmlnOiBJU2hlbGxDb25maWcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCdzdGlja3knKSBzdGlja3k6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2VjdGlvbkxpbmtzOiBPYnNlcnZhYmxlPE5hdkxpbmtbXT4gPSBvZihbXSk7XHJcbiAgcHVibGljIGFjdGl2ZUZyYWdtZW50OiBhbnkgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgcHVibGljIGdldCBhY3RpdmVOYXZMaW5rQ2xhc3MoKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGxpbmtDbGFzc2VzID0gJ3NpZGViYXIgJyArICh0aGlzLnN0aWNreSA/ICduYXYtbGluay1hY3RpdmUtYicgOiAnbmF2LWxpbmstYWN0aXZlLWwnKSArICcgZ3JvdXAnO1xyXG4gICAgY29uc29sZS5sb2coJ2FjdGl2ZU5hdkxpbmtDbGFzcyBnZXR0ZXIgJywgbGlua0NsYXNzZXMpO1xyXG4gICAgcmV0dXJuIGxpbmtDbGFzc2VzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5hY3RpdmVGcmFnbWVudCA9IHRoaXMucm91dGUuZnJhZ21lbnQucGlwZShzaGFyZSgpKTtcclxuICAgIHRoaXMuc2VjdGlvbkxpbmtzID0gdGhpcy5saW5rc1t0aGlzLnNlY3Rpb25MaW5rc1BhdGhdIGFzIE9ic2VydmFibGU8TmF2TGlua1tdPjtcclxuICB9XHJcbn1cclxuIiwiPCEtLSBTaWRlYmFyIGNvbXBvbmVudCwgc3dhcCB0aGlzIGVsZW1lbnQgd2l0aCBhbm90aGVyIHNpZGViYXIgaWYgeW91IGxpa2UgLS0+XHJcbjxkaXYgY2xhc3M9XCJzaGVsbC1zaWRlYmFyLWNvbXBvbmVudC1jb250YWluZXJcIj5cclxuICA8ZGl2IGNsYXNzPVwic2hlbGwtc2lkZWJhci1jb21wb25lbnQtbGlua3MtY29udGFpbmVyIHNpZGViYXJcIj5cclxuICAgIDxsaWItbmF2LWxpbmtzLWxpc3QgW3Nob3ctaWNvbnNdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93LXRleHRdPVwiIXN0aWNreVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsYXJnZS1pY29uc109XCJzdGlja3lcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbGlua3NdPVwic2VjdGlvbkxpbmtzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2FjdGl2ZS1mcmFnbWVudF09XCJhY3RpdmVGcmFnbWVudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5rLWNsYXNzXT1cIidzaWRlYmFyIG5hdi1saW5rIGdyb3VwJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5rLWFjdGl2ZS1jbGFzc109XCInc2lkZWJhciBuYXYtbGluay1hY3RpdmUtYiBncm91cCdcIj5cclxuICAgIDwvbGliLW5hdi1saW5rcy1saXN0PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { AuthService } from '@indice/ng-auth';
|
|
2
|
-
import { Component, Inject } from '@angular/core';
|
|
3
|
-
import { ActivatedRoute, Router } from '@angular/router';
|
|
4
|
-
import { APP_LINKS, SHELL_CONFIG } from '../../../tokens';
|
|
5
|
-
import { ShellHeaderComponent } from '../shell-header/shell-header.component';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/common";
|
|
8
|
-
import * as i2 from "../../../directives/click-outside.directive";
|
|
9
|
-
import * as i3 from "../../../controls/language-selection/language-selection.component";
|
|
10
|
-
import * as i4 from "../../../controls/notifications-indicator/notifications-indicator.component";
|
|
11
|
-
import * as i5 from "../../../controls/user-profile-menu/user-profile-menu.component";
|
|
12
|
-
import * as i6 from "@indice/ng-auth";
|
|
13
|
-
import * as i7 from "@angular/router";
|
|
14
|
-
export class ShellSidebarHeaderComponent extends ShellHeaderComponent {
|
|
15
|
-
constructor(authService, router, route, config, links) {
|
|
16
|
-
super(authService, router, route, config, links);
|
|
17
|
-
this.authService = authService;
|
|
18
|
-
this.router = router;
|
|
19
|
-
this.route = route;
|
|
20
|
-
this.config = config;
|
|
21
|
-
this.links = links;
|
|
22
|
-
}
|
|
23
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ShellSidebarHeaderComponent, deps: [{ token: AuthService }, { token: Router }, { token: ActivatedRoute }, { token: SHELL_CONFIG }, { token: APP_LINKS }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.6", type: ShellSidebarHeaderComponent, selector: "lib-shell-sidebar-header", usesInheritance: true, ngImport: i0, template: "<div class=\"shell-header-paddings\">\r\n <div class=\"shell-header-border\">\r\n <div class=\"shell-header-menu-container\">\r\n <div class=\"shell-header-md-visible\">\r\n <div class=\"shell-header-links-far-container\" (clickOutside)=\"onClickOutside($event)\">\r\n <!-- Profile dropdown -->\r\n <div *ngIf=\"profileMenuVisible\" class=\"ml-4\">\r\n <lib-user-profile-menu [show-user-name]=\"showUserNameOnHeader\" [show-picture]=\"showPictureOnHeader\"></lib-user-profile-menu>\r\n </div>\r\n <!-- Notifications dropdown -->\r\n <div *ngIf=\"showAlerts && user\" class=\"ml-4\">\r\n <lib-notifications-indicator></lib-notifications-indicator>\r\n </div>\r\n <!-- languages dropdown -->\r\n <div *ngIf=\"showLangs\" class=\"ml-4\">\r\n <lib-language-selection></lib-language-selection>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n \r\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ClickOutsideDirective, selector: "[clickOutside]", inputs: ["clickOutsideEnabled", "attachOutsideOnClick", "delayClickOutsideInit", "emitOnBlur", "exclude", "excludeBeforeClick", "clickOutsideEvents"], outputs: ["clickOutside"] }, { kind: "component", type: i3.LanguageSelectionComponent, selector: "lib-language-selection" }, { kind: "component", type: i4.NotificationsIndicatorComponent, selector: "lib-notifications-indicator" }, { kind: "component", type: i5.UserProfileMenuComponent, selector: "lib-user-profile-menu", inputs: ["show-user-name", "show-picture"] }] }); }
|
|
25
|
-
}
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ShellSidebarHeaderComponent, decorators: [{
|
|
27
|
-
type: Component,
|
|
28
|
-
args: [{ selector: 'lib-shell-sidebar-header', template: "<div class=\"shell-header-paddings\">\r\n <div class=\"shell-header-border\">\r\n <div class=\"shell-header-menu-container\">\r\n <div class=\"shell-header-md-visible\">\r\n <div class=\"shell-header-links-far-container\" (clickOutside)=\"onClickOutside($event)\">\r\n <!-- Profile dropdown -->\r\n <div *ngIf=\"profileMenuVisible\" class=\"ml-4\">\r\n <lib-user-profile-menu [show-user-name]=\"showUserNameOnHeader\" [show-picture]=\"showPictureOnHeader\"></lib-user-profile-menu>\r\n </div>\r\n <!-- Notifications dropdown -->\r\n <div *ngIf=\"showAlerts && user\" class=\"ml-4\">\r\n <lib-notifications-indicator></lib-notifications-indicator>\r\n </div>\r\n <!-- languages dropdown -->\r\n <div *ngIf=\"showLangs\" class=\"ml-4\">\r\n <lib-language-selection></lib-language-selection>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n \r\n" }]
|
|
29
|
-
}], ctorParameters: () => [{ type: i6.AuthService, decorators: [{
|
|
30
|
-
type: Inject,
|
|
31
|
-
args: [AuthService]
|
|
32
|
-
}] }, { type: i7.Router, decorators: [{
|
|
33
|
-
type: Inject,
|
|
34
|
-
args: [Router]
|
|
35
|
-
}] }, { type: i7.ActivatedRoute, decorators: [{
|
|
36
|
-
type: Inject,
|
|
37
|
-
args: [ActivatedRoute]
|
|
38
|
-
}] }, { type: undefined, decorators: [{
|
|
39
|
-
type: Inject,
|
|
40
|
-
args: [SHELL_CONFIG]
|
|
41
|
-
}] }, { type: undefined, decorators: [{
|
|
42
|
-
type: Inject,
|
|
43
|
-
args: [APP_LINKS]
|
|
44
|
-
}] }] });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtc2lkZWJhci1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2xheW91dHMvc2hlbGwvc2hlbGwtc2lkZWJhci1oZWFkZXIvc2hlbGwtc2lkZWJhci1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2xheW91dHMvc2hlbGwvc2hlbGwtc2lkZWJhci1oZWFkZXIvc2hlbGwtc2lkZWJhci1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQTBCLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7Ozs7OztBQU85RSxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsb0JBQW9CO0lBQ25FLFlBQTJDLFdBQXdCLEVBQ3pDLE1BQWMsRUFDTixLQUFxQixFQUMxQixNQUFXLEVBQ2QsS0FBVTtRQUNsQyxLQUFLLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBTFIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDekMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNOLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQzFCLFdBQU0sR0FBTixNQUFNLENBQUs7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFLO0lBRXBDLENBQUM7OEdBUFUsMkJBQTJCLGtCQUNsQixXQUFXLGFBQ3ZCLE1BQU0sYUFDTixjQUFjLGFBQ2QsWUFBWSxhQUNaLFNBQVM7a0dBTE4sMkJBQTJCLHVGQ1p4Qyx3bUNBdUJBOzsyRkRYYSwyQkFBMkI7a0JBSnZDLFNBQVM7K0JBQ0UsMEJBQTBCOzswQkFJdkIsTUFBTTsyQkFBQyxXQUFXOzswQkFDOUIsTUFBTTsyQkFBQyxNQUFNOzswQkFDYixNQUFNOzJCQUFDLGNBQWM7OzBCQUNyQixNQUFNOzJCQUFDLFlBQVk7OzBCQUNuQixNQUFNOzJCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICdAaW5kaWNlL25nLWF1dGgnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIEV2ZW50LCBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEFQUF9MSU5LUywgU0hFTExfQ09ORklHIH0gZnJvbSAnLi4vLi4vLi4vdG9rZW5zJztcclxuaW1wb3J0IHsgU2hlbGxIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuLi9zaGVsbC1oZWFkZXIvc2hlbGwtaGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNoZWxsTGF5b3V0VHlwZSB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXNoZWxsLXNpZGViYXItaGVhZGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2hlbGwtc2lkZWJhci1oZWFkZXIuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaGVsbFNpZGViYXJIZWFkZXJDb21wb25lbnQgZXh0ZW5kcyBTaGVsbEhlYWRlckNvbXBvbmVudCB7XHJcbiAgY29uc3RydWN0b3IoQEluamVjdChBdXRoU2VydmljZSkgcHJvdGVjdGVkIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICBASW5qZWN0KFJvdXRlcikgcHJvdGVjdGVkIHJvdXRlcjogUm91dGVyLFxyXG4gIEBJbmplY3QoQWN0aXZhdGVkUm91dGUpIHByb3RlY3RlZCByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgQEluamVjdChTSEVMTF9DT05GSUcpIHB1YmxpYyBjb25maWc6IGFueSxcclxuICBASW5qZWN0KEFQUF9MSU5LUykgcHVibGljIGxpbmtzOiBhbnkpIHtcclxuICAgIHN1cGVyKGF1dGhTZXJ2aWNlLCByb3V0ZXIsIHJvdXRlLCBjb25maWcsIGxpbmtzKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJzaGVsbC1oZWFkZXItcGFkZGluZ3NcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJzaGVsbC1oZWFkZXItYm9yZGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNoZWxsLWhlYWRlci1tZW51LWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hlbGwtaGVhZGVyLW1kLXZpc2libGVcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGVsbC1oZWFkZXItbGlua3MtZmFyLWNvbnRhaW5lclwiIChjbGlja091dHNpZGUpPVwib25DbGlja091dHNpZGUoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgPCEtLSBQcm9maWxlIGRyb3Bkb3duIC0tPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInByb2ZpbGVNZW51VmlzaWJsZVwiIGNsYXNzPVwibWwtNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaWItdXNlci1wcm9maWxlLW1lbnUgW3Nob3ctdXNlci1uYW1lXT1cInNob3dVc2VyTmFtZU9uSGVhZGVyXCIgW3Nob3ctcGljdHVyZV09XCJzaG93UGljdHVyZU9uSGVhZGVyXCI+PC9saWItdXNlci1wcm9maWxlLW1lbnU+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwhLS0gTm90aWZpY2F0aW9ucyBkcm9wZG93biAtLT5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzaG93QWxlcnRzICYmIHVzZXJcIiBjbGFzcz1cIm1sLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGliLW5vdGlmaWNhdGlvbnMtaW5kaWNhdG9yPjwvbGliLW5vdGlmaWNhdGlvbnMtaW5kaWNhdG9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8IS0tIGxhbmd1YWdlcyBkcm9wZG93biAtLT5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzaG93TGFuZ3NcIiBjbGFzcz1cIm1sLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGliLWxhbmd1YWdlLXNlbGVjdGlvbj48L2xpYi1sYW5ndWFnZS1zZWxlY3Rpb24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuIFxyXG4iXX0=
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "../../../services/user-settings.service";
|
|
4
|
-
import * as i2 from "@angular/common";
|
|
5
|
-
import * as i3 from "@angular/router";
|
|
6
|
-
import * as i4 from "../../../controls/breadcrumb/breadcrumb.component";
|
|
7
|
-
import * as i5 from "../shell-sidebar/shell-sidebar.component";
|
|
8
|
-
import * as i6 from "../shell-sidebar-header/shell-sidebar-header.component";
|
|
9
|
-
export class ShellSidebarLayoutComponent {
|
|
10
|
-
constructor(_userSettings) {
|
|
11
|
-
this._userSettings = _userSettings;
|
|
12
|
-
this.busy = false;
|
|
13
|
-
this.showMobileSidebar = this._userSettings.get('MobileSideBar');
|
|
14
|
-
}
|
|
15
|
-
ngOnInit() { }
|
|
16
|
-
toggleMobileSidebar() {
|
|
17
|
-
this.showMobileSidebar = !this.showMobileSidebar;
|
|
18
|
-
this._userSettings.set('MobileSideBar', this.showMobileSidebar);
|
|
19
|
-
}
|
|
20
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ShellSidebarLayoutComponent, deps: [{ token: i1.UserSettingsService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
21
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.6", type: ShellSidebarLayoutComponent, selector: "lib-shell-sidebar-layout", inputs: { config: "config", sidebarFooterTemplate: "sidebarFooterTemplate", busy: "busy" }, ngImport: i0, template: "<div>\r\n <div class=\"sidebar-off-canvas-menu-container\" role=\"dialog\" aria-modal=\"true\">\r\n <div class=\"sidebar-off-canvas-menu-backdrop\"\r\n [class.sidebar-off-canvas-menu-backdrop-opacity-100]=\"!showMobileSidebar\">\r\n </div>\r\n <div class=\"sidebar-off-canvas-menu-container-inner\"\r\n [class.sidebar-off-canvas-menu-container-inner-active]=\"!showMobileSidebar\"\r\n [class.sidebar-off-canvas-menu-container-inner-not-active]=\"showMobileSidebar\">\r\n <div class=\"sidebar-off-canvas-layout-container\">\r\n <div class=\"sidebar-off-canvas-toggle-button-container\">\r\n <button type=\"button\" class=\"sidebar-off-canvas-toggle-button\" (click)=\"toggleMobileSidebar()\">\r\n <span class=\"sr-only\">Close sidebar</span>\r\n <svg class=\"h-6 w-6 text-white\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"2\" stroke=\"currentColor\" aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M6 18L18 6M6 6l12 12\" />\r\n </svg>\r\n </button>\r\n </div>\r\n <div class=\"sidebar-off-canvas-app-logo-container\">\r\n <img alt=\"image\" class=\"shell-sidebar-logo\"\r\n [src]=\"config?.appLogo\"\r\n [alt]=\"config?.appLogoAlt\">\r\n </div>\r\n <lib-shell-sidebar></lib-shell-sidebar>\r\n </div>\r\n <div class=\"sidebar-dummy-element\" aria-hidden=\"true\"></div>\r\n </div>\r\n </div>\r\n <div class=\"sidebar-static-menu-outer-container\">\r\n <div class=\"sidebar-static-menu-container\"\r\n [class.sidebar-static-menu-container-active]=\"!showMobileSidebar\"\r\n [class.sidebar-static-menu-container-not-active]=\"showMobileSidebar\">\r\n <div class=\"sidebar-static-menu-container-inner\">\r\n <div class=\"sidebar-static-menu-app-logo-container\">\r\n <img alt=\"image\" *ngIf=\"!showMobileSidebar\" class=\"shell-sidebar-logo\" [src]=\"config?.appLogo\" [alt]=\"config?.appLogoAlt\">\r\n <button *ngIf=\"showMobileSidebar\" type=\"button\" class=\"sidebar-static-menu-toggle-button\" (click)=\"toggleMobileSidebar()\">\r\n <span class=\"sr-only\">Toggle sidebar</span>\r\n <svg class=\"h-6 w-6\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"2\" stroke=\"currentColor\" aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4 6h16M4 12h16M4 18h7\" />\r\n </svg>\r\n </button>\r\n </div>\r\n <lib-shell-sidebar [sticky]=\"showMobileSidebar\"></lib-shell-sidebar>\r\n </div>\r\n <div class=\"flex flex-shrink-0 bg-gray-700 p-4\" *ngIf=\"!showMobileSidebar && sidebarFooterTemplate\">\r\n <div class=\"group block flex-shrink-0\">\r\n <div class=\"flex items-center\">\r\n <div>\r\n <p class=\"text-sm font-medium text-gray-400\">\r\n <ng-container [ngTemplateOutlet]=\"sidebarFooterTemplate\"></ng-container>\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"sidebar-static-menu-wrapper\" [class.sidebar-static-menu-wrapper-expanded]=\"!showMobileSidebar\">\r\n <div class=\"sidebar-static-menu-sticky-header-container\" [class.busy]=\"busy\" *ngIf=\"config?.showHeader\">\r\n <button *ngIf=\"showMobileSidebar\" type=\"button\" class=\"sidebar-static-menu-toggle-button-md\" (click)=\"toggleMobileSidebar()\">\r\n <span class=\"sr-only\">Toggle sidebar</span>\r\n <svg class=\"h-6 w-6\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"2\" stroke=\"currentColor\" aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4 6h16M4 12h16M4 18h7\" />\r\n </svg>\r\n </button>\r\n <button *ngIf=\"!showMobileSidebar\" type=\"button\" class=\"sidebar-static-menu-toggle-button\" (click)=\"toggleMobileSidebar()\">\r\n <span class=\"sr-only\">Toggle sidebar</span>\r\n <svg class=\"h-6 w-6\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"2\" stroke=\"currentColor\" aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4 6h16M4 12h16M4 18h7\" />\r\n </svg>\r\n </button>\r\n <div class=\"sidebar-static-menu-header-container\" [class.busy]=\"busy\">\r\n <div class=\"sidebar-static-menu-header-near-container\" [class.busy]=\"busy\">\r\n <div class=\"sidebar-static-menu-header-app-logo-container\" *ngIf=\"showMobileSidebar\">\r\n <img alt=\"image\" class=\"shell-sidebar-logo\" [src]=\"config?.appLogo\" [alt]=\"config?.appLogoAlt\">\r\n </div>\r\n </div>\r\n <div class=\"sidebar-static-menu-header-between-container\" [class.busy]=\"busy\"></div>\r\n <div class=\"sidebar-static-menu-header-far-container\" [class.busy]=\"busy\">\r\n <lib-shell-sidebar-header [show-userName]=\"config?.showUserNameOnHeader\"\r\n [show-alerts]=\"config?.showAlertsOnHeader\"\r\n [show-langs]=\"config?.showLangsOnHeader\"\r\n [busy]=\"busy\"\r\n [show-picture]=\"config?.showPictureOnHeader\">\r\n </lib-shell-sidebar-header>\r\n </div>\r\n </div>\r\n </div>\r\n <div flex-1>\r\n <main class=\"shell-content-container-fluid\" [class.busy]=\"busy\">\r\n <lib-breadcrumb *ngIf=\"config?.breadcrumb || false\"></lib-breadcrumb>\r\n <div class=\"shell-content-container-inner\" [class.busy]=\"busy\">\r\n <router-outlet *ngIf=\"(config && config.layout === 'Sidebar')\"></router-outlet>\r\n </div>\r\n </main>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: i4.BreadcrumbComponent, selector: "lib-breadcrumb" }, { kind: "component", type: i5.ShellSidebarComponent, selector: "lib-shell-sidebar", inputs: ["section-links", "config", "sticky"] }, { kind: "component", type: i6.ShellSidebarHeaderComponent, selector: "lib-shell-sidebar-header" }] }); }
|
|
22
|
-
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ShellSidebarLayoutComponent, decorators: [{
|
|
24
|
-
type: Component,
|
|
25
|
-
args: [{ selector: 'lib-shell-sidebar-layout', template: "<div>\r\n <div class=\"sidebar-off-canvas-menu-container\" role=\"dialog\" aria-modal=\"true\">\r\n <div class=\"sidebar-off-canvas-menu-backdrop\"\r\n [class.sidebar-off-canvas-menu-backdrop-opacity-100]=\"!showMobileSidebar\">\r\n </div>\r\n <div class=\"sidebar-off-canvas-menu-container-inner\"\r\n [class.sidebar-off-canvas-menu-container-inner-active]=\"!showMobileSidebar\"\r\n [class.sidebar-off-canvas-menu-container-inner-not-active]=\"showMobileSidebar\">\r\n <div class=\"sidebar-off-canvas-layout-container\">\r\n <div class=\"sidebar-off-canvas-toggle-button-container\">\r\n <button type=\"button\" class=\"sidebar-off-canvas-toggle-button\" (click)=\"toggleMobileSidebar()\">\r\n <span class=\"sr-only\">Close sidebar</span>\r\n <svg class=\"h-6 w-6 text-white\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"2\" stroke=\"currentColor\" aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M6 18L18 6M6 6l12 12\" />\r\n </svg>\r\n </button>\r\n </div>\r\n <div class=\"sidebar-off-canvas-app-logo-container\">\r\n <img alt=\"image\" class=\"shell-sidebar-logo\"\r\n [src]=\"config?.appLogo\"\r\n [alt]=\"config?.appLogoAlt\">\r\n </div>\r\n <lib-shell-sidebar></lib-shell-sidebar>\r\n </div>\r\n <div class=\"sidebar-dummy-element\" aria-hidden=\"true\"></div>\r\n </div>\r\n </div>\r\n <div class=\"sidebar-static-menu-outer-container\">\r\n <div class=\"sidebar-static-menu-container\"\r\n [class.sidebar-static-menu-container-active]=\"!showMobileSidebar\"\r\n [class.sidebar-static-menu-container-not-active]=\"showMobileSidebar\">\r\n <div class=\"sidebar-static-menu-container-inner\">\r\n <div class=\"sidebar-static-menu-app-logo-container\">\r\n <img alt=\"image\" *ngIf=\"!showMobileSidebar\" class=\"shell-sidebar-logo\" [src]=\"config?.appLogo\" [alt]=\"config?.appLogoAlt\">\r\n <button *ngIf=\"showMobileSidebar\" type=\"button\" class=\"sidebar-static-menu-toggle-button\" (click)=\"toggleMobileSidebar()\">\r\n <span class=\"sr-only\">Toggle sidebar</span>\r\n <svg class=\"h-6 w-6\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"2\" stroke=\"currentColor\" aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4 6h16M4 12h16M4 18h7\" />\r\n </svg>\r\n </button>\r\n </div>\r\n <lib-shell-sidebar [sticky]=\"showMobileSidebar\"></lib-shell-sidebar>\r\n </div>\r\n <div class=\"flex flex-shrink-0 bg-gray-700 p-4\" *ngIf=\"!showMobileSidebar && sidebarFooterTemplate\">\r\n <div class=\"group block flex-shrink-0\">\r\n <div class=\"flex items-center\">\r\n <div>\r\n <p class=\"text-sm font-medium text-gray-400\">\r\n <ng-container [ngTemplateOutlet]=\"sidebarFooterTemplate\"></ng-container>\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"sidebar-static-menu-wrapper\" [class.sidebar-static-menu-wrapper-expanded]=\"!showMobileSidebar\">\r\n <div class=\"sidebar-static-menu-sticky-header-container\" [class.busy]=\"busy\" *ngIf=\"config?.showHeader\">\r\n <button *ngIf=\"showMobileSidebar\" type=\"button\" class=\"sidebar-static-menu-toggle-button-md\" (click)=\"toggleMobileSidebar()\">\r\n <span class=\"sr-only\">Toggle sidebar</span>\r\n <svg class=\"h-6 w-6\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"2\" stroke=\"currentColor\" aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4 6h16M4 12h16M4 18h7\" />\r\n </svg>\r\n </button>\r\n <button *ngIf=\"!showMobileSidebar\" type=\"button\" class=\"sidebar-static-menu-toggle-button\" (click)=\"toggleMobileSidebar()\">\r\n <span class=\"sr-only\">Toggle sidebar</span>\r\n <svg class=\"h-6 w-6\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"2\" stroke=\"currentColor\" aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4 6h16M4 12h16M4 18h7\" />\r\n </svg>\r\n </button>\r\n <div class=\"sidebar-static-menu-header-container\" [class.busy]=\"busy\">\r\n <div class=\"sidebar-static-menu-header-near-container\" [class.busy]=\"busy\">\r\n <div class=\"sidebar-static-menu-header-app-logo-container\" *ngIf=\"showMobileSidebar\">\r\n <img alt=\"image\" class=\"shell-sidebar-logo\" [src]=\"config?.appLogo\" [alt]=\"config?.appLogoAlt\">\r\n </div>\r\n </div>\r\n <div class=\"sidebar-static-menu-header-between-container\" [class.busy]=\"busy\"></div>\r\n <div class=\"sidebar-static-menu-header-far-container\" [class.busy]=\"busy\">\r\n <lib-shell-sidebar-header [show-userName]=\"config?.showUserNameOnHeader\"\r\n [show-alerts]=\"config?.showAlertsOnHeader\"\r\n [show-langs]=\"config?.showLangsOnHeader\"\r\n [busy]=\"busy\"\r\n [show-picture]=\"config?.showPictureOnHeader\">\r\n </lib-shell-sidebar-header>\r\n </div>\r\n </div>\r\n </div>\r\n <div flex-1>\r\n <main class=\"shell-content-container-fluid\" [class.busy]=\"busy\">\r\n <lib-breadcrumb *ngIf=\"config?.breadcrumb || false\"></lib-breadcrumb>\r\n <div class=\"shell-content-container-inner\" [class.busy]=\"busy\">\r\n <router-outlet *ngIf=\"(config && config.layout === 'Sidebar')\"></router-outlet>\r\n </div>\r\n </main>\r\n </div>\r\n </div>\r\n</div>" }]
|
|
26
|
-
}], ctorParameters: () => [{ type: i1.UserSettingsService }], propDecorators: { config: [{
|
|
27
|
-
type: Input
|
|
28
|
-
}], sidebarFooterTemplate: [{
|
|
29
|
-
type: Input
|
|
30
|
-
}], busy: [{
|
|
31
|
-
type: Input
|
|
32
|
-
}] } });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtc2lkZWJhci1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2xheW91dHMvc2hlbGwvc2hlbGwtc2lkZWJhci1sYXlvdXQvc2hlbGwtc2lkZWJhci1sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2xheW91dHMvc2hlbGwvc2hlbGwtc2lkZWJhci1sYXlvdXQvc2hlbGwtc2lkZWJhci1sYXlvdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQWlDLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztBQVN4RixNQUFNLE9BQU8sMkJBQTJCO0lBS3RDLFlBQW9CLGFBQWtDO1FBQWxDLGtCQUFhLEdBQWIsYUFBYSxDQUFxQjtRQUY3QyxTQUFJLEdBQVksS0FBSyxDQUFDO1FBRzdCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBSU0sUUFBUSxLQUFXLENBQUM7SUFFcEIsbUJBQW1CO1FBQ3hCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztRQUNqRCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDbEUsQ0FBQzs4R0FoQlUsMkJBQTJCO2tHQUEzQiwyQkFBMkIsNEpDVHhDLHE3TEFnR007OzJGRHZGTywyQkFBMkI7a0JBSnZDLFNBQVM7K0JBQ0UsMEJBQTBCO3dGQUkzQixNQUFNO3NCQUFkLEtBQUs7Z0JBQ1UscUJBQXFCO3NCQUFwQyxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPcHRpb25hbCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IElTaGVsbENvbmZpZyB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcclxuaW1wb3J0IHsgVXNlclNldHRpbmdzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3VzZXItc2V0dGluZ3Muc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1zaGVsbC1zaWRlYmFyLWxheW91dCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NoZWxsLXNpZGViYXItbGF5b3V0LmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2hlbGxTaWRlYmFyTGF5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBjb25maWc6IElTaGVsbENvbmZpZyB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBwdWJsaWMgc2lkZWJhckZvb3RlclRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcclxuICBASW5wdXQoKSBidXN5OiBib29sZWFuID0gZmFsc2U7XHJcbiAgXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfdXNlclNldHRpbmdzOiBVc2VyU2V0dGluZ3NTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLnNob3dNb2JpbGVTaWRlYmFyID0gdGhpcy5fdXNlclNldHRpbmdzLmdldCgnTW9iaWxlU2lkZUJhcicpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dNb2JpbGVTaWRlYmFyOiBib29sZWFuO1xyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7IH1cclxuXHJcbiAgcHVibGljIHRvZ2dsZU1vYmlsZVNpZGViYXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dNb2JpbGVTaWRlYmFyID0gIXRoaXMuc2hvd01vYmlsZVNpZGViYXI7XHJcbiAgICB0aGlzLl91c2VyU2V0dGluZ3Muc2V0KCdNb2JpbGVTaWRlQmFyJywgdGhpcy5zaG93TW9iaWxlU2lkZWJhcik7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXY+XHJcbiAgPGRpdiBjbGFzcz1cInNpZGViYXItb2ZmLWNhbnZhcy1tZW51LWNvbnRhaW5lclwiIHJvbGU9XCJkaWFsb2dcIiBhcmlhLW1vZGFsPVwidHJ1ZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInNpZGViYXItb2ZmLWNhbnZhcy1tZW51LWJhY2tkcm9wXCJcclxuICAgICAgICAgW2NsYXNzLnNpZGViYXItb2ZmLWNhbnZhcy1tZW51LWJhY2tkcm9wLW9wYWNpdHktMTAwXT1cIiFzaG93TW9iaWxlU2lkZWJhclwiPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwic2lkZWJhci1vZmYtY2FudmFzLW1lbnUtY29udGFpbmVyLWlubmVyXCJcclxuICAgICAgICAgW2NsYXNzLnNpZGViYXItb2ZmLWNhbnZhcy1tZW51LWNvbnRhaW5lci1pbm5lci1hY3RpdmVdPVwiIXNob3dNb2JpbGVTaWRlYmFyXCJcclxuICAgICAgICAgW2NsYXNzLnNpZGViYXItb2ZmLWNhbnZhcy1tZW51LWNvbnRhaW5lci1pbm5lci1ub3QtYWN0aXZlXT1cInNob3dNb2JpbGVTaWRlYmFyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzaWRlYmFyLW9mZi1jYW52YXMtbGF5b3V0LWNvbnRhaW5lclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzaWRlYmFyLW9mZi1jYW52YXMtdG9nZ2xlLWJ1dHRvbi1jb250YWluZXJcIj5cclxuICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwic2lkZWJhci1vZmYtY2FudmFzLXRvZ2dsZS1idXR0b25cIiAoY2xpY2spPVwidG9nZ2xlTW9iaWxlU2lkZWJhcigpXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPkNsb3NlIHNpZGViYXI8L3NwYW4+XHJcbiAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJoLTYgdy02IHRleHQtd2hpdGVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNNiAxOEwxOCA2TTYgNmwxMiAxMlwiIC8+XHJcbiAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNpZGViYXItb2ZmLWNhbnZhcy1hcHAtbG9nby1jb250YWluZXJcIj5cclxuICAgICAgICAgIDxpbWcgYWx0PVwiaW1hZ2VcIiBjbGFzcz1cInNoZWxsLXNpZGViYXItbG9nb1wiXHJcbiAgICAgICAgICAgICAgIFtzcmNdPVwiY29uZmlnPy5hcHBMb2dvXCJcclxuICAgICAgICAgICAgICAgW2FsdF09XCJjb25maWc/LmFwcExvZ29BbHRcIj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8bGliLXNoZWxsLXNpZGViYXI+PC9saWItc2hlbGwtc2lkZWJhcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzaWRlYmFyLWR1bW15LWVsZW1lbnRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJzaWRlYmFyLXN0YXRpYy1tZW51LW91dGVyLWNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInNpZGViYXItc3RhdGljLW1lbnUtY29udGFpbmVyXCJcclxuICAgICAgICAgW2NsYXNzLnNpZGViYXItc3RhdGljLW1lbnUtY29udGFpbmVyLWFjdGl2ZV09XCIhc2hvd01vYmlsZVNpZGViYXJcIlxyXG4gICAgICAgICBbY2xhc3Muc2lkZWJhci1zdGF0aWMtbWVudS1jb250YWluZXItbm90LWFjdGl2ZV09XCJzaG93TW9iaWxlU2lkZWJhclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwic2lkZWJhci1zdGF0aWMtbWVudS1jb250YWluZXItaW5uZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2lkZWJhci1zdGF0aWMtbWVudS1hcHAtbG9nby1jb250YWluZXJcIj5cclxuICAgICAgICAgIDxpbWcgYWx0PVwiaW1hZ2VcIiAqbmdJZj1cIiFzaG93TW9iaWxlU2lkZWJhclwiIGNsYXNzPVwic2hlbGwtc2lkZWJhci1sb2dvXCIgW3NyY109XCJjb25maWc/LmFwcExvZ29cIiBbYWx0XT1cImNvbmZpZz8uYXBwTG9nb0FsdFwiPlxyXG4gICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cInNob3dNb2JpbGVTaWRlYmFyXCIgIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInNpZGViYXItc3RhdGljLW1lbnUtdG9nZ2xlLWJ1dHRvblwiIChjbGljayk9XCJ0b2dnbGVNb2JpbGVTaWRlYmFyKClcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+VG9nZ2xlIHNpZGViYXI8L3NwYW4+XHJcbiAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJoLTYgdy02XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cclxuICAgICAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTQgNmgxNk00IDEyaDE2TTQgMThoN1wiIC8+XHJcbiAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGxpYi1zaGVsbC1zaWRlYmFyIFtzdGlja3ldPVwic2hvd01vYmlsZVNpZGViYXJcIj48L2xpYi1zaGVsbC1zaWRlYmFyPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1zaHJpbmstMCBiZy1ncmF5LTcwMCBwLTRcIiAqbmdJZj1cIiFzaG93TW9iaWxlU2lkZWJhciAmJiBzaWRlYmFyRm9vdGVyVGVtcGxhdGVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JvdXAgYmxvY2sgZmxleC1zaHJpbmstMFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtZ3JheS00MDBcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwic2lkZWJhckZvb3RlclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJzaWRlYmFyLXN0YXRpYy1tZW51LXdyYXBwZXJcIiBbY2xhc3Muc2lkZWJhci1zdGF0aWMtbWVudS13cmFwcGVyLWV4cGFuZGVkXT1cIiFzaG93TW9iaWxlU2lkZWJhclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInNpZGViYXItc3RhdGljLW1lbnUtc3RpY2t5LWhlYWRlci1jb250YWluZXJcIiBbY2xhc3MuYnVzeV09XCJidXN5XCIgKm5nSWY9XCJjb25maWc/LnNob3dIZWFkZXJcIj5cclxuICAgICAgPGJ1dHRvbiAqbmdJZj1cInNob3dNb2JpbGVTaWRlYmFyXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwic2lkZWJhci1zdGF0aWMtbWVudS10b2dnbGUtYnV0dG9uLW1kXCIgKGNsaWNrKT1cInRvZ2dsZU1vYmlsZVNpZGViYXIoKVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPlRvZ2dsZSBzaWRlYmFyPC9zcGFuPlxyXG4gICAgICAgIDxzdmcgY2xhc3M9XCJoLTYgdy02XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cclxuICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNNCA2aDE2TTQgMTJoMTZNNCAxOGg3XCIgLz5cclxuICAgICAgICA8L3N2Zz5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gKm5nSWY9XCIhc2hvd01vYmlsZVNpZGViYXJcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJzaWRlYmFyLXN0YXRpYy1tZW51LXRvZ2dsZS1idXR0b25cIiAoY2xpY2spPVwidG9nZ2xlTW9iaWxlU2lkZWJhcigpXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+VG9nZ2xlIHNpZGViYXI8L3NwYW4+XHJcbiAgICAgICAgPHN2ZyBjbGFzcz1cImgtNiB3LTZcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk00IDZoMTZNNCAxMmgxNk00IDE4aDdcIiAvPlxyXG4gICAgICAgIDwvc3ZnPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgPGRpdiBjbGFzcz1cInNpZGViYXItc3RhdGljLW1lbnUtaGVhZGVyLWNvbnRhaW5lclwiIFtjbGFzcy5idXN5XT1cImJ1c3lcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2lkZWJhci1zdGF0aWMtbWVudS1oZWFkZXItbmVhci1jb250YWluZXJcIiBbY2xhc3MuYnVzeV09XCJidXN5XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2lkZWJhci1zdGF0aWMtbWVudS1oZWFkZXItYXBwLWxvZ28tY29udGFpbmVyXCIgKm5nSWY9XCJzaG93TW9iaWxlU2lkZWJhclwiPlxyXG4gICAgICAgICAgICA8aW1nIGFsdD1cImltYWdlXCIgY2xhc3M9XCJzaGVsbC1zaWRlYmFyLWxvZ29cIiBbc3JjXT1cImNvbmZpZz8uYXBwTG9nb1wiIFthbHRdPVwiY29uZmlnPy5hcHBMb2dvQWx0XCI+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2lkZWJhci1zdGF0aWMtbWVudS1oZWFkZXItYmV0d2Vlbi1jb250YWluZXJcIiBbY2xhc3MuYnVzeV09XCJidXN5XCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNpZGViYXItc3RhdGljLW1lbnUtaGVhZGVyLWZhci1jb250YWluZXJcIiBbY2xhc3MuYnVzeV09XCJidXN5XCI+XHJcbiAgICAgICAgICA8bGliLXNoZWxsLXNpZGViYXItaGVhZGVyIFtzaG93LXVzZXJOYW1lXT1cImNvbmZpZz8uc2hvd1VzZXJOYW1lT25IZWFkZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvdy1hbGVydHNdPVwiY29uZmlnPy5zaG93QWxlcnRzT25IZWFkZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvdy1sYW5nc109XCJjb25maWc/LnNob3dMYW5nc09uSGVhZGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2J1c3ldPVwiYnVzeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93LXBpY3R1cmVdPVwiY29uZmlnPy5zaG93UGljdHVyZU9uSGVhZGVyXCI+XHJcbiAgICAgICAgICA8L2xpYi1zaGVsbC1zaWRlYmFyLWhlYWRlcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgZmxleC0xPlxyXG4gICAgICA8bWFpbiBjbGFzcz1cInNoZWxsLWNvbnRlbnQtY29udGFpbmVyLWZsdWlkXCIgW2NsYXNzLmJ1c3ldPVwiYnVzeVwiPlxyXG4gICAgICAgIDxsaWItYnJlYWRjcnVtYiAqbmdJZj1cImNvbmZpZz8uYnJlYWRjcnVtYiB8fCBmYWxzZVwiPjwvbGliLWJyZWFkY3J1bWI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNoZWxsLWNvbnRlbnQtY29udGFpbmVyLWlubmVyXCIgW2NsYXNzLmJ1c3ldPVwiYnVzeVwiPlxyXG4gICAgICAgICAgPHJvdXRlci1vdXRsZXQgKm5nSWY9XCIoY29uZmlnICYmIGNvbmZpZy5sYXlvdXQgPT09ICdTaWRlYmFyJylcIj48L3JvdXRlci1vdXRsZXQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbWFpbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/common";
|
|
4
|
-
import * as i2 from "@angular/router";
|
|
5
|
-
import * as i3 from "../../../directives/dynamic-component-host.directive";
|
|
6
|
-
import * as i4 from "../shell-footer/shell-footer.component";
|
|
7
|
-
import * as i5 from "../shell-header/shell-header.component";
|
|
8
|
-
export class ShellStackedLayoutComponent {
|
|
9
|
-
constructor() {
|
|
10
|
-
this.busy = false;
|
|
11
|
-
}
|
|
12
|
-
ngOnInit() { }
|
|
13
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ShellStackedLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.6", type: ShellStackedLayoutComponent, selector: "lib-shell-stacked-layout", inputs: { config: "config", busy: "busy" }, ngImport: i0, template: "<div class=\"shell-header-container\"\r\n *ngIf=\"config?.showHeader\">\r\n <div [class]=\"config?.fluid ? 'shell-header-container-inner-fluid' : 'shell-header-container-inner'\">\r\n <ng-container *ngIf=\"config?.customHeaderComponent\">\r\n <div appDynamicComponentHost=\"Header\"></div>\r\n </ng-container>\r\n <lib-shell-header *ngIf=\"!config?.customHeaderComponent\"\r\n [busy]=\"busy\"\r\n [show-userName]=\"config?.showUserNameOnHeader\"\r\n [show-alerts]=\"config?.showAlertsOnHeader\"\r\n [show-langs]=\"config?.showLangsOnHeader\">\r\n </lib-shell-header>\r\n </div>\r\n</div>\r\n<main [class]=\"config?.showHeader ? 'shell-content-container' : 'shell-content-container-no-header'\">\r\n <div [class]=\"config?.fluid ? 'shell-content-container-inner-fluid' : 'shell-content-container-inner'\">\r\n <router-outlet *ngIf=\"(!config || config.layout === 'Stacked' || !config.layout)\"></router-outlet>\r\n </div>\r\n</main>\r\n<div class=\"shell-footer-container\"\r\n *ngIf=\"config?.showFooter\">\r\n <div [class]=\"config?.fluid ? 'shell-footer-container-inner-fluid' : 'shell-footer-container-inner'\">\r\n <ng-container *ngIf=\"config?.customFooterComponent\">\r\n <div appDynamicComponentHost\r\n hostName=\"Footer\"></div>\r\n </ng-container>\r\n <lib-shell-footer *ngIf=\"!config?.customFooterComponent\"></lib-shell-footer>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i3.DynamicComponentHostDirective, selector: "[appDynamicComponentHost]", inputs: ["hostName"] }, { kind: "component", type: i4.ShellFooterComponent, selector: "lib-shell-footer" }, { kind: "component", type: i5.ShellHeaderComponent, selector: "lib-shell-header", inputs: ["section-links", "profile-menu", "show-userName", "show-picture", "show-alerts", "show-langs", "border", "busy"] }] }); }
|
|
15
|
-
}
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ShellStackedLayoutComponent, decorators: [{
|
|
17
|
-
type: Component,
|
|
18
|
-
args: [{ selector: 'lib-shell-stacked-layout', template: "<div class=\"shell-header-container\"\r\n *ngIf=\"config?.showHeader\">\r\n <div [class]=\"config?.fluid ? 'shell-header-container-inner-fluid' : 'shell-header-container-inner'\">\r\n <ng-container *ngIf=\"config?.customHeaderComponent\">\r\n <div appDynamicComponentHost=\"Header\"></div>\r\n </ng-container>\r\n <lib-shell-header *ngIf=\"!config?.customHeaderComponent\"\r\n [busy]=\"busy\"\r\n [show-userName]=\"config?.showUserNameOnHeader\"\r\n [show-alerts]=\"config?.showAlertsOnHeader\"\r\n [show-langs]=\"config?.showLangsOnHeader\">\r\n </lib-shell-header>\r\n </div>\r\n</div>\r\n<main [class]=\"config?.showHeader ? 'shell-content-container' : 'shell-content-container-no-header'\">\r\n <div [class]=\"config?.fluid ? 'shell-content-container-inner-fluid' : 'shell-content-container-inner'\">\r\n <router-outlet *ngIf=\"(!config || config.layout === 'Stacked' || !config.layout)\"></router-outlet>\r\n </div>\r\n</main>\r\n<div class=\"shell-footer-container\"\r\n *ngIf=\"config?.showFooter\">\r\n <div [class]=\"config?.fluid ? 'shell-footer-container-inner-fluid' : 'shell-footer-container-inner'\">\r\n <ng-container *ngIf=\"config?.customFooterComponent\">\r\n <div appDynamicComponentHost\r\n hostName=\"Footer\"></div>\r\n </ng-container>\r\n <lib-shell-footer *ngIf=\"!config?.customFooterComponent\"></lib-shell-footer>\r\n </div>\r\n</div>" }]
|
|
19
|
-
}], ctorParameters: () => [], propDecorators: { config: [{
|
|
20
|
-
type: Input
|
|
21
|
-
}], busy: [{
|
|
22
|
-
type: Input
|
|
23
|
-
}] } });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtc3RhY2tlZC1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2xheW91dHMvc2hlbGwvc2hlbGwtc3RhY2tlZC1sYXlvdXQvc2hlbGwtc3RhY2tlZC1sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2xheW91dHMvc2hlbGwvc2hlbGwtc3RhY2tlZC1sYXlvdXQvc2hlbGwtc3RhY2tlZC1sYXlvdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFRekQsTUFBTSxPQUFPLDJCQUEyQjtJQUN0QztRQUdTLFNBQUksR0FBWSxLQUFLLENBQUM7SUFIZixDQUFDO0lBS1YsUUFBUSxLQUFXLENBQUM7OEdBTmhCLDJCQUEyQjtrR0FBM0IsMkJBQTJCLDRHQ1J4QywraURBNEJNOzsyRkRwQk8sMkJBQTJCO2tCQUp2QyxTQUFTOytCQUNFLDBCQUEwQjt3REFNM0IsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgSVNoZWxsQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItc2hlbGwtc3RhY2tlZC1sYXlvdXQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zaGVsbC1zdGFja2VkLWxheW91dC5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNoZWxsU3RhY2tlZExheW91dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgQElucHV0KCkgY29uZmlnOiBJU2hlbGxDb25maWcgfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgYnVzeTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7IH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwic2hlbGwtaGVhZGVyLWNvbnRhaW5lclwiXHJcbiAgICAgKm5nSWY9XCJjb25maWc/LnNob3dIZWFkZXJcIj5cclxuICAgIDxkaXYgW2NsYXNzXT1cImNvbmZpZz8uZmx1aWQgPyAnc2hlbGwtaGVhZGVyLWNvbnRhaW5lci1pbm5lci1mbHVpZCcgOiAnc2hlbGwtaGVhZGVyLWNvbnRhaW5lci1pbm5lcidcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnPy5jdXN0b21IZWFkZXJDb21wb25lbnRcIj5cclxuICAgICAgICAgICAgPGRpdiBhcHBEeW5hbWljQ29tcG9uZW50SG9zdD1cIkhlYWRlclwiPjwvZGl2PlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxsaWItc2hlbGwtaGVhZGVyICpuZ0lmPVwiIWNvbmZpZz8uY3VzdG9tSGVhZGVyQ29tcG9uZW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbYnVzeV09XCJidXN5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvdy11c2VyTmFtZV09XCJjb25maWc/LnNob3dVc2VyTmFtZU9uSGVhZGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvdy1hbGVydHNdPVwiY29uZmlnPy5zaG93QWxlcnRzT25IZWFkZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93LWxhbmdzXT1cImNvbmZpZz8uc2hvd0xhbmdzT25IZWFkZXJcIj5cclxuICAgICAgICA8L2xpYi1zaGVsbC1oZWFkZXI+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxtYWluIFtjbGFzc109XCJjb25maWc/LnNob3dIZWFkZXIgPyAnc2hlbGwtY29udGVudC1jb250YWluZXInIDogJ3NoZWxsLWNvbnRlbnQtY29udGFpbmVyLW5vLWhlYWRlcidcIj5cclxuICAgIDxkaXYgW2NsYXNzXT1cImNvbmZpZz8uZmx1aWQgPyAnc2hlbGwtY29udGVudC1jb250YWluZXItaW5uZXItZmx1aWQnIDogJ3NoZWxsLWNvbnRlbnQtY29udGFpbmVyLWlubmVyJ1wiPlxyXG4gICAgICAgIDxyb3V0ZXItb3V0bGV0ICpuZ0lmPVwiKCFjb25maWcgfHwgY29uZmlnLmxheW91dCA9PT0gJ1N0YWNrZWQnIHx8ICFjb25maWcubGF5b3V0KVwiPjwvcm91dGVyLW91dGxldD5cclxuICAgIDwvZGl2PlxyXG48L21haW4+XHJcbjxkaXYgY2xhc3M9XCJzaGVsbC1mb290ZXItY29udGFpbmVyXCJcclxuICAgICAqbmdJZj1cImNvbmZpZz8uc2hvd0Zvb3RlclwiPlxyXG4gICAgPGRpdiBbY2xhc3NdPVwiY29uZmlnPy5mbHVpZCA/ICdzaGVsbC1mb290ZXItY29udGFpbmVyLWlubmVyLWZsdWlkJyA6ICdzaGVsbC1mb290ZXItY29udGFpbmVyLWlubmVyJ1wiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb25maWc/LmN1c3RvbUZvb3RlckNvbXBvbmVudFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGFwcER5bmFtaWNDb21wb25lbnRIb3N0XHJcbiAgICAgICAgICAgICAgICAgaG9zdE5hbWU9XCJGb290ZXJcIj48L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bGliLXNoZWxsLWZvb3RlciAqbmdJZj1cIiFjb25maWc/LmN1c3RvbUZvb3RlckNvbXBvbmVudFwiPjwvbGliLXNoZWxsLWZvb3Rlcj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|