@netgrif/components 6.2.2 → 6.3.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/navigation/navigation-double-drawer/navigation-double-drawer.component.mjs +7 -7
- package/esm2020/lib/navigation/quick-panel/components/impersonate-quick-panel/impersonate-quick-panel.component.mjs +31 -0
- package/esm2020/lib/navigation/quick-panel/components/quick-panel.component.mjs +10 -9
- package/esm2020/lib/navigation/quick-panel/public-api.mjs +2 -1
- package/esm2020/lib/navigation/quick-panel/quick-panel.module.mjs +10 -5
- package/esm2020/lib/side-menu/content-components/admin-impersonate/admin-impersonate-list/admin-impersonate-item/admin-impersonate-item.component.mjs +22 -0
- package/esm2020/lib/side-menu/content-components/admin-impersonate/admin-impersonate-list/admin-impersonate-list.component.mjs +26 -0
- package/esm2020/lib/side-menu/content-components/admin-impersonate/admin-impersonate.component.mjs +39 -0
- package/esm2020/lib/side-menu/content-components/admin-impersonate/side-menu-admin-impersonate-component.module.mjs +60 -0
- package/esm2020/lib/side-menu/content-components/public-api.mjs +5 -1
- package/esm2020/lib/side-menu/content-components/side-menu-content-component.module.mjs +22 -2
- package/esm2020/lib/side-menu/content-components/user-impersonate/side-menu-user-impersonate-component.module.mjs +42 -0
- package/esm2020/lib/side-menu/content-components/user-impersonate/user-impersonate.component.mjs +72 -0
- package/esm2020/lib/side-menu/side-menu-container/side-menu-container.component.mjs +2 -2
- package/esm2020/lib/user/user-card/user-card.component.mjs +3 -3
- package/fesm2015/netgrif-components.mjs +407 -159
- package/fesm2015/netgrif-components.mjs.map +1 -1
- package/fesm2020/netgrif-components.mjs +403 -159
- package/fesm2020/netgrif-components.mjs.map +1 -1
- package/lib/navigation/navigation-double-drawer/navigation-double-drawer.component.d.ts +2 -2
- package/lib/navigation/quick-panel/components/impersonate-quick-panel/impersonate-quick-panel.component.d.ts +13 -0
- package/lib/navigation/quick-panel/public-api.d.ts +1 -0
- package/lib/navigation/quick-panel/quick-panel.module.d.ts +5 -4
- package/lib/side-menu/content-components/admin-impersonate/admin-impersonate-list/admin-impersonate-item/admin-impersonate-item.component.d.ts +10 -0
- package/lib/side-menu/content-components/admin-impersonate/admin-impersonate-list/admin-impersonate-list.component.d.ts +10 -0
- package/lib/side-menu/content-components/admin-impersonate/admin-impersonate.component.d.ts +13 -0
- package/lib/side-menu/content-components/admin-impersonate/side-menu-admin-impersonate-component.module.d.ts +14 -0
- package/lib/side-menu/content-components/public-api.d.ts +4 -0
- package/lib/side-menu/content-components/side-menu-content-component.module.d.ts +9 -7
- package/lib/side-menu/content-components/user-impersonate/side-menu-user-impersonate-component.module.d.ts +11 -0
- package/lib/side-menu/content-components/user-impersonate/user-impersonate.component.d.ts +11 -0
- package/nae-theme.scss +2 -0
- package/package.json +2 -2
- package/src/lib/side-menu/content-components/admin-impersonate/admin-impersonate-list/admin-impersonate-item/theme/admin-impersonate-item.component.theme.scss +15 -0
package/esm2020/lib/navigation/navigation-double-drawer/navigation-double-drawer.component.mjs
CHANGED
|
@@ -20,8 +20,8 @@ import * as i15 from "@angular/material/tooltip";
|
|
|
20
20
|
import * as i16 from "angular-resizable-element";
|
|
21
21
|
import * as i17 from "@ngx-translate/core";
|
|
22
22
|
export class NavigationDoubleDrawerComponent extends AbstractNavigationDoubleDrawerComponent {
|
|
23
|
-
constructor(_router, _activatedRoute, _breakpoint, _languageService, _userService, _accessService, _log, _config, _uriService, _dynamicRouteProviderService) {
|
|
24
|
-
super(_router, _activatedRoute, _breakpoint, _languageService, _userService, _accessService, _log, _config, _uriService, _dynamicRouteProviderService);
|
|
23
|
+
constructor(_router, _activatedRoute, _breakpoint, _languageService, _userService, _accessService, _log, _config, _uriService, _impersonationUserSelect, _impersonation, _dynamicRouteProviderService) {
|
|
24
|
+
super(_router, _activatedRoute, _breakpoint, _languageService, _userService, _accessService, _log, _config, _uriService, _impersonationUserSelect, _impersonation, _dynamicRouteProviderService);
|
|
25
25
|
this.isSectionOpen = {
|
|
26
26
|
folders: true,
|
|
27
27
|
views: true
|
|
@@ -31,8 +31,8 @@ export class NavigationDoubleDrawerComponent extends AbstractNavigationDoubleDra
|
|
|
31
31
|
this.isSectionOpen[section] = !this.isSectionOpen[section];
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
|
-
NavigationDoubleDrawerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NavigationDoubleDrawerComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.BreakpointObserver }, { token: i3.LanguageService }, { token: i3.UserService }, { token: i3.AccessService }, { token: i3.LoggerService }, { token: i3.ConfigurationService }, { token: i3.UriService }, { token: i3.DynamicNavigationRouteProviderService }], target: i0.ɵɵFactoryTarget.Component });
|
|
35
|
-
NavigationDoubleDrawerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NavigationDoubleDrawerComponent, selector: "nc-navigation-double-drawer", usesInheritance: true, ngImport: i0, template: "<div class=\"drawer-control rail-color\" fxLayoutAlign=\"start center\" fxHide.lt-md>\n <button mat-icon-button (click)=\"toggleMenu()\" class=\"mat-button mat-typography menu-font-color\">\n <mat-icon>menu</mat-icon>\n </button>\n</div>\n<mat-toolbar fxHide.gt-sm class=\"toolbar\">\n <mat-toolbar-row fxLayout=\"row\" fxLayoutAlign=\"space-between stretch\">\n <div fxFlex fxLayoutAlign=\"start center\">\n <button mat-icon-button (click)=\"toggleMenu()\">\n <mat-icon>menu</mat-icon>\n </button>\n </div>\n <div class=\"logo-tool\" fxLayoutAlign=\"center center\" fxFlex>\n <img #logo [alt]=\"imageAlt\" [src]=\"image\" class=\"logoimg-tool\"\n [routerLink]=\"imageRouterLink !== undefined ? imageRouterLink : []\">\n </div>\n <div fxFlex></div>\n </mat-toolbar-row>\n</mat-toolbar>\n<mat-spinner *ngIf=\"!logo\"></mat-spinner>\n<mat-sidenav-container class=\"rail-container\">\n <mat-sidenav mode=\"side\" [(opened)]=\"configLeftMenu.opened\" position=\"start\"\n [disableClose]=\"configLeftMenu.disableClose\"\n class=\"rail-content\">\n\n <div fxLayout=\"column\" class=\"rail-color\" fxFlex>\n\n <div *ngTemplateOutlet=\"portalLeftMenu || defaultLeftSide\"></div>\n\n <div fxFlex></div>\n\n <mat-menu #userRailMenu=\"matMenu\">\n <div mat-menu-item role=\"menuitem\" class=\"large-menu-item\" fxLayout=\"row\" fxFlexAlign=\"center center\"\n [routerLink]=\"profileRouterLink\" routerLinkActive=\"active\">\n <mat-icon class=\"margin-auto\" fxFlex>face</mat-icon>\n <div class=\"large-menu-item\" fxLayout=\"column\" fxFlexAlign=\"start center\" fxFlex>\n <span class=\"large-menu-item-text\" fxFlex=\"50\">{{user.fullName}}</span>\n <span class=\"large-menu-item-text\" style=\"font-size: 12px;\" fxFlex=\"50\">{{user.email}}</span>\n </div>\n </div>\n <button mat-menu-item (click)=\"logout()\">\n <mat-icon>exit_to_app</mat-icon>\n <span>{{ 'toolbar.menu.logout' | translate }}</span>\n </button>\n </mat-menu>\n <button *ngIf=\"includeUser\" mat-icon-button [matMenuTriggerFor]=\"userRailMenu\" class=\"mat-button mat-typography menu-font-color\"\n [matTooltip]=\"user.fullName\"\n [matTooltipPosition]=\"'right'\">\n <mat-icon>account_circle</mat-icon>\n </button>\n\n <div *ngIf=\"includeLanguage\" fxLayout=\"row\" class=\"icon-container\" fxLayoutAlign=\"center center\">\n <nc-language-selector fxLayout=\"row\" [language]=\"getLang()\"></nc-language-selector>\n </div>\n\n <mat-menu #railMenu=\"matMenu\">\n <button *ngFor='let item of moreMenuItems; trackBy: viewsTrackBy' mat-menu-item\n [routerLink]='item.routing.path' routerLinkActive=\"active\">\n <mat-icon>{{item.navigation.icon}}</mat-icon>\n <span>{{item.navigation.title}}</span>\n </button>\n </mat-menu>\n <!-- <div fxLayout=\"row\" class=\"margin-bottom-x2 icon-container\" matTooltip=\"Otvori\u0165 menu\"-->\n <!-- matTooltipPosition=\"right\"-->\n <!-- fxLayoutAlign=\"center center\">-->\n <!-- <button mat-icon-button [matMenuTriggerFor]=\"railMenu\">-->\n <!-- <mat-icon class=\"icon-large sidemenu-icon\">more_vert</mat-icon>-->\n <!-- </button>-->\n <!-- </div>-->\n <button *ngIf=\"includeMoreMenu\" mat-icon-button [matMenuTriggerFor]=\"railMenu\"\n class=\"mat-button mat-typography menu-font-color margin-bottom-x2\"\n [matTooltip]=\"'toolbar.menu.open' | translate\"\n matTooltipPosition=\"right\">\n <mat-icon>more_vert</mat-icon>\n </button>\n\n </div>\n\n </mat-sidenav>\n\n <mat-sidenav-content>\n <mat-sidenav-container class=\"drawer-container\">\n <mat-sidenav [mode]=\"configRightMenu.mode\" [(opened)]=\"configRightMenu.opened\" position=\"start\"\n [disableClose]=\"configRightMenu.disableClose\"\n class=\"drawer-content mat-elevation-z8\"\n mwlResizable\n [style.width.px]=\"configRightMenu.width\"\n [resizeCursorPrecision]=\"20\"\n [resizeEdges]=\"{right: true}\"\n (resizing)=\"onResizeEvent($event)\">\n\n <div *ngTemplateOutlet=\"portalRightMenu || defaultRightSide\"></div>\n\n </mat-sidenav>\n\n <mat-sidenav-content>\n <ng-content></ng-content>\n </mat-sidenav-content>\n </mat-sidenav-container>\n </mat-sidenav-content>\n</mat-sidenav-container>\n\n<ng-template #defaultLeftSide>\n <!-- <div fxLayout=\"row\" class=\"icon-container\" fxLayoutAlign=\"center center\"-->\n <!-- (click)='onHomeClick()'>-->\n <!-- <mat-icon class=\"icon-large\" [matTooltip]=\"'Home'\" [matTooltipPosition]=\"'right'\">home</mat-icon>-->\n <!-- </div>-->\n <button mat-icon-button (click)=\"onHomeClick()\" class=\"mat-button mat-typography menu-font-color\"\n [matTooltip]=\"'toolbar.menu.home' | translate\"\n matTooltipPosition=\"right\">\n <mat-icon>home</mat-icon>\n </button>\n\n <!-- <div *ngIf='!isOnZeroLevel()' fxLayout=\"row\" class=\"icon-container\" fxLayoutAlign=\"center center\"-->\n <!-- (click)='onBackClick()'>-->\n <!-- <mat-icon class=\"icon-large\" [matTooltip]=\"'Back'\" [matTooltipPosition]=\"'right'\">arrow_back</mat-icon>-->\n <!-- </div>-->\n <button *ngIf='!isOnZeroLevel() && (canGoBackLoading$ | async) === false' mat-icon-button (click)=\"onBackClick()\"\n class=\"mat-button mat-typography menu-font-color\" [matTooltip]=\"'toolbar.menu.back' | translate\"\n matTooltipPosition=\"right\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n <div *ngIf=\"(canGoBackLoading$ | async)\" fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"margin-top-default\">\n <mat-spinner color=\"primary\" diameter=\"30\" mode=\"indeterminate\"></mat-spinner>\n </div>\n\n <div class=\"margin-top-x2\"></div>\n <!-- <div *ngFor='let node of leftNodes; trackBy: uriNodeTrackBy' fxLayout=\"row\" class=\"icon-container\"-->\n <!-- fxLayoutAlign=\"center center\"-->\n <!-- (click)='onLeftSideClick(node)'>-->\n <!-- <mat-icon class=\"icon-large\" [matTooltip]=\"node.name\"-->\n <!-- [matTooltipPosition]=\"'right'\">{{node.id === currentNode.id ? 'folder_open' : 'folder'}}</mat-icon>-->\n <!-- </div>-->\n <button *ngFor='let node of leftNodes; trackBy: uriNodeTrackBy' mat-icon-button (click)=\"onNodeClick(node)\"\n class=\"mat-button mat-typography menu-font-color\" [matTooltip]=\"node.name\" [matTooltipPosition]=\"'right'\"\n [ngClass]=\"node.id === currentNode.id ? 'rail-selected-color' : ''\">\n <mat-icon>{{node.id === currentNode.id ? openedFolderIcon : folderIcon}}</mat-icon>\n </button>\n\n <div *ngIf=\"(leftLoading$ | async)\" fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"margin-top-default\">\n <mat-spinner color=\"primary\" diameter=\"30\" mode=\"indeterminate\"></mat-spinner>\n </div>\n</ng-template>\n\n<ng-template #defaultRightSide>\n <div class=\"logo\" fxLayoutAlign=\"center center\" fxHide.lt-md>\n <img *ngIf=\"image !== undefined\" [alt]=\"imageAlt\" [src]=\"image\" class=\"logoimg\"\n [routerLink]=\"imageRouterLink !== undefined ? imageRouterLink : []\">\n </div>\n <div *ngIf=\"(rightLoading$ | async) === false\" ngClass.gt-sm=\"padding-top-8\">\n <div class=\"margin-auto cursor-pointer\" *ngIf='!isRightNodesEmpty()' (click)=\"toggleSection('folders')\"\n fxLayout=\"row\" fxFlexAlign=\"start center\">\n <span class=\"headline-text mat-typography\">{{foldersCategoryName | translate}}</span>\n <div fxFlex></div>\n <span *ngIf=\"isSectionOpen\" [@indicatorRotate]=\"isSectionOpen.folders ? 'expanded' : 'collapsed'\"\n class=\"expansion-indicator mat-typography\"></span>\n </div>\n <div [@sectionExpansion]=\"isSectionOpen.folders ? 'expanded' : 'collapsed'\" class=\"box-container\">\n <div *ngFor='let node of rightNodes; trackBy: uriNodeTrackBy' (click)=\"onNodeClick(node)\"\n class=\"tree-node mat-typography mat-body-2\" fxLayoutAlign=\"start center\" routerLinkActive=\"active\">\n <mat-icon class=\"tree-node-icon\">folder</mat-icon>\n <span>{{node.name}}</span>\n <span class=\"menu-item-focus-overlay\"></span>\n </div>\n </div>\n\n <div class=\"margin-auto\" *ngIf='!isViewsEmpty()' fxLayout=\"column\" fxFlexAlign=\"center start\">\n <div *ngIf=\"!isRightNodesEmpty()\" class=\"line margin-bottom-x2\">\n <mat-divider></mat-divider>\n </div>\n <div class=\"cursor-pointer\" (click)=\"toggleSection('views')\" fxLayout=\"row\" fxFlexAlign=\"start center\"\n fxFlex>\n <span class=\"headline-text mat-typography\">{{viewsCategoryName | translate}}</span>\n <div fxFlex></div>\n <span *ngIf=\"isSectionOpen\" [@indicatorRotate]=\"isSectionOpen.views ? 'expanded' : 'collapsed'\"\n class=\"expansion-indicator mat-typography\"></span>\n </div>\n </div>\n <div [@sectionExpansion]=\"isSectionOpen.views ? 'expanded' : 'collapsed'\" class=\"box-container\">\n <div *ngFor='let view of views; trackBy: viewsTrackBy' class=\"tree-node mat-typography\"\n fxLayoutAlign=\"start center\" [routerLink]='view.routing.path' routerLinkActive=\"active\">\n <mat-icon class=\"tree-node-icon\">{{view.navigation.icon}}</mat-icon>\n <span>{{view.navigation.title}}</span>\n <span class=\"menu-item-focus-overlay\"></span>\n </div>\n </div>\n </div>\n <div *ngIf=\"(rightLoading$ | async)\" fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"margin-top-default\">\n <mat-spinner color=\"primary\" diameter=\"40\" mode=\"indeterminate\"></mat-spinner>\n </div>\n</ng-template>\n", styles: [".rail-container{height:100%}.rail-content{width:60px;min-width:60px;top:48px;border-right:none!important}.drawer-container{height:100%}.mat-button{margin-left:10px;margin-right:10px}.drawer-content{width:300px;min-width:300px}.drawer-control{width:60px!important;height:48px;position:absolute;z-index:2}.logo{height:48px}.logo-closed{width:60px!important}.logoimg{margin-left:auto;margin-right:auto;height:46px;outline:none!important;cursor:pointer}.icon-large{height:40px;width:40px;font-size:40px;color:#000000b3}.icon-container{outline:none!important;height:40px}.icon-large:hover{cursor:pointer}.menu-font-color{color:#000000b3!important}.margin-top-65{margin-top:49px}.margin-auto{margin:auto}.padding-top-65{padding-top:49px}.padding-top-8{padding-top:8px}.margin-bottom-x2{margin-bottom:16px}.tree-node{outline:none!important;cursor:pointer;padding:8px;color:#000000b3;line-height:24px;position:relative;border-radius:18px}.tree-node mat-icon.tree-node-icon{height:24px;width:24px;font-size:24px;margin-right:4px}.tree-node .tree-node-label{height:24px;font-size:16px}.tree-node .margin-component{width:8px;margin-right:4px}.tree-node .menu-item-focus-overlay{opacity:0;position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:black;transition:opacity .2s cubic-bezier(.35,0,.25,1),background-color .2s cubic-bezier(.35,0,.25,1)}.tree-node:hover .menu-item-focus-overlay{opacity:.04}.margin-top-default{margin-top:8px}.margin-top-x2{margin-top:16px}.logo-tool{height:48px}.logoimg-tool{height:46px;outline:none!important;cursor:pointer;background:#fafafa}.toolbar{min-height:48px!important;height:48px;border-bottom:1px solid #ddd}@media screen and (max-width: 959.99px){.rail-container{height:calc(100% - 49px)}.rail-content{width:60px;min-width:60px;top:0;border-right:none!important}.margin-top-65{margin-top:16px}.padding-top-65{padding-top:16px}}.profile-tooltip{font-size:20px}.sidemenu-icon{line-height:unset!important}.line{width:calc(100% - 16px);padding-left:8px;padding-right:8px;flex:1}.headline-text{color:#000000b3;padding-left:8px;padding-right:10px;margin-bottom:8px}.large-menu-item{height:64px;line-height:64px}.large-menu-item-text{line-height:32px}.cursor-pointer{cursor:pointer}.box-container{box-sizing:content-box;display:block;overflow:hidden}.expansion-indicator{color:#00000080;margin-right:10px}.expansion-indicator:after{border-style:solid;border-width:0 2px 2px 0;content:\"\";display:inline-block;padding:3px;vertical-align:middle;transform:rotate(45deg)}\n"], components: [{ type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i6.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i7.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { type: i8.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { type: i8.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { type: i9.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i9.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i10.LanguageSelectorComponent, selector: "nc-language-selector" }, { type: i8.MatSidenavContent, selector: "mat-sidenav-content" }, { type: i11.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }], directives: [{ type: i12.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i13.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { type: i6.MatToolbarRow, selector: "mat-toolbar-row", exportAs: ["matToolbarRow"] }, { type: i12.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i12.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i1.RouterLink, selector: ":not(a):not(area)[routerLink]", inputs: ["queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i14.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i14.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i12.DefaultFlexAlignDirective, selector: " [fxFlexAlign], [fxFlexAlign.xs], [fxFlexAlign.sm], [fxFlexAlign.md], [fxFlexAlign.lg], [fxFlexAlign.xl], [fxFlexAlign.lt-sm], [fxFlexAlign.lt-md], [fxFlexAlign.lt-lg], [fxFlexAlign.lt-xl], [fxFlexAlign.gt-xs], [fxFlexAlign.gt-sm], [fxFlexAlign.gt-md], [fxFlexAlign.gt-lg]", inputs: ["fxFlexAlign", "fxFlexAlign.xs", "fxFlexAlign.sm", "fxFlexAlign.md", "fxFlexAlign.lg", "fxFlexAlign.xl", "fxFlexAlign.lt-sm", "fxFlexAlign.lt-md", "fxFlexAlign.lt-lg", "fxFlexAlign.lt-xl", "fxFlexAlign.gt-xs", "fxFlexAlign.gt-sm", "fxFlexAlign.gt-md", "fxFlexAlign.gt-lg"] }, { type: i1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { type: i9.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i15.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i14.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i16.ResizableDirective, selector: "[mwlResizable]", inputs: ["resizeEdges", "enableGhostResize", "resizeSnapGrid", "resizeCursors", "resizeCursorPrecision", "ghostElementPositioning", "allowNegativeResizes", "mouseMoveThrottleMS", "validateResize"], outputs: ["resizeStart", "resizing", "resizeEnd"] }, { type: i14.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i13.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }], pipes: { "translate": i17.TranslatePipe, "async": i14.AsyncPipe }, animations: [
|
|
34
|
+
NavigationDoubleDrawerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NavigationDoubleDrawerComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.BreakpointObserver }, { token: i3.LanguageService }, { token: i3.UserService }, { token: i3.AccessService }, { token: i3.LoggerService }, { token: i3.ConfigurationService }, { token: i3.UriService }, { token: i3.ImpersonationUserSelectService }, { token: i3.ImpersonationService }, { token: i3.DynamicNavigationRouteProviderService }], target: i0.ɵɵFactoryTarget.Component });
|
|
35
|
+
NavigationDoubleDrawerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NavigationDoubleDrawerComponent, selector: "nc-navigation-double-drawer", usesInheritance: true, ngImport: i0, template: "<div class=\"drawer-control rail-color\" fxLayoutAlign=\"start center\" fxHide.lt-md>\n <button mat-icon-button (click)=\"toggleMenu()\" class=\"mat-button mat-typography menu-font-color\">\n <mat-icon>menu</mat-icon>\n </button>\n</div>\n<mat-toolbar fxHide.gt-sm class=\"toolbar\">\n <mat-toolbar-row fxLayout=\"row\" fxLayoutAlign=\"space-between stretch\">\n <div fxFlex fxLayoutAlign=\"start center\">\n <button mat-icon-button (click)=\"toggleMenu()\">\n <mat-icon>menu</mat-icon>\n </button>\n </div>\n <div class=\"logo-tool\" fxLayoutAlign=\"center center\" fxFlex>\n <img #logo [alt]=\"imageAlt\" [src]=\"image\" class=\"logoimg-tool\"\n [routerLink]=\"imageRouterLink !== undefined ? imageRouterLink : []\">\n </div>\n <div fxFlex></div>\n </mat-toolbar-row>\n</mat-toolbar>\n<mat-spinner *ngIf=\"!logo\"></mat-spinner>\n<mat-sidenav-container class=\"rail-container\">\n <mat-sidenav mode=\"side\" [(opened)]=\"configLeftMenu.opened\" position=\"start\"\n [disableClose]=\"configLeftMenu.disableClose\"\n class=\"rail-content\">\n\n <div fxLayout=\"column\" class=\"rail-color\" fxFlex>\n\n <div *ngTemplateOutlet=\"portalLeftMenu || defaultLeftSide\"></div>\n\n <div fxFlex></div>\n\n <mat-menu #userRailMenu=\"matMenu\">\n <div mat-menu-item role=\"menuitem\" class=\"large-menu-item\" fxLayout=\"row\" fxFlexAlign=\"center center\"\n [routerLink]=\"profileRouterLink\" routerLinkActive=\"active\">\n <mat-icon class=\"margin-auto\" fxFlex>face</mat-icon>\n <div class=\"large-menu-item\" fxLayout=\"column\" fxFlexAlign=\"start center\" fxFlex>\n <span *ngIf=\"!user.isImpersonating()\" class=\"large-menu-item-text\" fxFlex=\"50\">{{user.fullName}}</span>\n <span *ngIf=\"user.isImpersonating()\" class=\"large-menu-item-text\" fxFlex=\"50\">{{user.fullName}} ({{user.getSelfOrImpersonated().fullName}})</span>\n <span class=\"large-menu-item-text\" style=\"font-size: 12px;\" fxFlex=\"50\">{{user.email}}</span>\n </div>\n </div>\n <button *ngIf=\"includeImpersonation && !user.isImpersonating()\" mat-menu-item (click)=\"impersonate()\">\n <mat-icon>supervisor_account</mat-icon>\n <span>{{'side-menu.impersonation.submit' | translate}}</span>\n </button>\n <button *ngIf=\"includeImpersonation && user.isImpersonating()\" mat-menu-item (click)=\"stopImpersonating()\">\n <mat-icon>clear</mat-icon>\n <span>{{'side-menu.impersonation.cease' | translate }}</span>\n </button>\n <button mat-menu-item (click)=\"logout()\">\n <mat-icon>exit_to_app</mat-icon>\n <span>{{ 'toolbar.menu.logout' | translate }}</span>\n </button>\n </mat-menu>\n <button *ngIf=\"includeUser\" mat-icon-button [matMenuTriggerFor]=\"userRailMenu\" class=\"mat-button mat-typography menu-font-color\"\n [matTooltip]=\"user.fullName\"\n [matTooltipPosition]=\"'right'\">\n <mat-icon>account_circle</mat-icon>\n </button>\n\n <div *ngIf=\"includeLanguage\" fxLayout=\"row\" class=\"icon-container\" fxLayoutAlign=\"center center\">\n <nc-language-selector fxLayout=\"row\" [language]=\"getLang()\"></nc-language-selector>\n </div>\n\n <mat-menu #railMenu=\"matMenu\">\n <button *ngFor='let item of moreMenuItems; trackBy: viewsTrackBy' mat-menu-item\n [routerLink]='item.routing.path' routerLinkActive=\"active\">\n <mat-icon>{{item.navigation.icon}}</mat-icon>\n <span>{{item.navigation.title}}</span>\n </button>\n </mat-menu>\n <!-- <div fxLayout=\"row\" class=\"margin-bottom-x2 icon-container\" matTooltip=\"Otvori\u0165 menu\"-->\n <!-- matTooltipPosition=\"right\"-->\n <!-- fxLayoutAlign=\"center center\">-->\n <!-- <button mat-icon-button [matMenuTriggerFor]=\"railMenu\">-->\n <!-- <mat-icon class=\"icon-large sidemenu-icon\">more_vert</mat-icon>-->\n <!-- </button>-->\n <!-- </div>-->\n <button *ngIf=\"includeMoreMenu\" mat-icon-button [matMenuTriggerFor]=\"railMenu\"\n class=\"mat-button mat-typography menu-font-color margin-bottom-x2\"\n [matTooltip]=\"'toolbar.menu.open' | translate\"\n matTooltipPosition=\"right\">\n <mat-icon>more_vert</mat-icon>\n </button>\n\n </div>\n\n </mat-sidenav>\n\n <mat-sidenav-content>\n <mat-sidenav-container class=\"drawer-container\">\n <mat-sidenav [mode]=\"configRightMenu.mode\" [(opened)]=\"configRightMenu.opened\" position=\"start\"\n [disableClose]=\"configRightMenu.disableClose\"\n class=\"drawer-content mat-elevation-z8\"\n mwlResizable\n [style.width.px]=\"configRightMenu.width\"\n [resizeCursorPrecision]=\"20\"\n [resizeEdges]=\"{right: true}\"\n (resizing)=\"onResizeEvent($event)\">\n\n <div *ngTemplateOutlet=\"portalRightMenu || defaultRightSide\"></div>\n\n </mat-sidenav>\n\n <mat-sidenav-content>\n <ng-content></ng-content>\n </mat-sidenav-content>\n </mat-sidenav-container>\n </mat-sidenav-content>\n</mat-sidenav-container>\n\n<ng-template #defaultLeftSide>\n <!-- <div fxLayout=\"row\" class=\"icon-container\" fxLayoutAlign=\"center center\"-->\n <!-- (click)='onHomeClick()'>-->\n <!-- <mat-icon class=\"icon-large\" [matTooltip]=\"'Home'\" [matTooltipPosition]=\"'right'\">home</mat-icon>-->\n <!-- </div>-->\n <button mat-icon-button (click)=\"onHomeClick()\" class=\"mat-button mat-typography menu-font-color\"\n [matTooltip]=\"'toolbar.menu.home' | translate\"\n matTooltipPosition=\"right\">\n <mat-icon>home</mat-icon>\n </button>\n\n <!-- <div *ngIf='!isOnZeroLevel()' fxLayout=\"row\" class=\"icon-container\" fxLayoutAlign=\"center center\"-->\n <!-- (click)='onBackClick()'>-->\n <!-- <mat-icon class=\"icon-large\" [matTooltip]=\"'Back'\" [matTooltipPosition]=\"'right'\">arrow_back</mat-icon>-->\n <!-- </div>-->\n <button *ngIf='!isOnZeroLevel() && (canGoBackLoading$ | async) === false' mat-icon-button (click)=\"onBackClick()\"\n class=\"mat-button mat-typography menu-font-color\" [matTooltip]=\"'toolbar.menu.back' | translate\"\n matTooltipPosition=\"right\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n <div *ngIf=\"(canGoBackLoading$ | async)\" fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"margin-top-default\">\n <mat-spinner color=\"primary\" diameter=\"30\" mode=\"indeterminate\"></mat-spinner>\n </div>\n\n <div class=\"margin-top-x2\"></div>\n <!-- <div *ngFor='let node of leftNodes; trackBy: uriNodeTrackBy' fxLayout=\"row\" class=\"icon-container\"-->\n <!-- fxLayoutAlign=\"center center\"-->\n <!-- (click)='onLeftSideClick(node)'>-->\n <!-- <mat-icon class=\"icon-large\" [matTooltip]=\"node.name\"-->\n <!-- [matTooltipPosition]=\"'right'\">{{node.id === currentNode.id ? 'folder_open' : 'folder'}}</mat-icon>-->\n <!-- </div>-->\n <button *ngFor='let node of leftNodes; trackBy: uriNodeTrackBy' mat-icon-button (click)=\"onNodeClick(node)\"\n class=\"mat-button mat-typography menu-font-color\" [matTooltip]=\"node.name\" [matTooltipPosition]=\"'right'\"\n [ngClass]=\"node.id === currentNode.id ? 'rail-selected-color' : ''\">\n <mat-icon>{{node.id === currentNode.id ? openedFolderIcon : folderIcon}}</mat-icon>\n </button>\n\n <div *ngIf=\"(leftLoading$ | async)\" fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"margin-top-default\">\n <mat-spinner color=\"primary\" diameter=\"30\" mode=\"indeterminate\"></mat-spinner>\n </div>\n</ng-template>\n\n<ng-template #defaultRightSide>\n <div class=\"logo\" fxLayoutAlign=\"center center\" fxHide.lt-md>\n <img *ngIf=\"image !== undefined\" [alt]=\"imageAlt\" [src]=\"image\" class=\"logoimg\"\n [routerLink]=\"imageRouterLink !== undefined ? imageRouterLink : []\">\n </div>\n <div *ngIf=\"(rightLoading$ | async) === false\" ngClass.gt-sm=\"padding-top-8\">\n <div class=\"margin-auto cursor-pointer\" *ngIf='!isRightNodesEmpty()' (click)=\"toggleSection('folders')\"\n fxLayout=\"row\" fxFlexAlign=\"start center\">\n <span class=\"headline-text mat-typography\">{{foldersCategoryName | translate}}</span>\n <div fxFlex></div>\n <span *ngIf=\"isSectionOpen\" [@indicatorRotate]=\"isSectionOpen.folders ? 'expanded' : 'collapsed'\"\n class=\"expansion-indicator mat-typography\"></span>\n </div>\n <div [@sectionExpansion]=\"isSectionOpen.folders ? 'expanded' : 'collapsed'\" class=\"box-container\">\n <div *ngFor='let node of rightNodes; trackBy: uriNodeTrackBy' (click)=\"onNodeClick(node)\"\n class=\"tree-node mat-typography mat-body-2\" fxLayoutAlign=\"start center\" routerLinkActive=\"active\">\n <mat-icon class=\"tree-node-icon\">folder</mat-icon>\n <span>{{node.name}}</span>\n <span class=\"menu-item-focus-overlay\"></span>\n </div>\n </div>\n\n <div class=\"margin-auto\" *ngIf='!isViewsEmpty()' fxLayout=\"column\" fxFlexAlign=\"center start\">\n <div *ngIf=\"!isRightNodesEmpty()\" class=\"line margin-bottom-x2\">\n <mat-divider></mat-divider>\n </div>\n <div class=\"cursor-pointer\" (click)=\"toggleSection('views')\" fxLayout=\"row\" fxFlexAlign=\"start center\"\n fxFlex>\n <span class=\"headline-text mat-typography\">{{viewsCategoryName | translate}}</span>\n <div fxFlex></div>\n <span *ngIf=\"isSectionOpen\" [@indicatorRotate]=\"isSectionOpen.views ? 'expanded' : 'collapsed'\"\n class=\"expansion-indicator mat-typography\"></span>\n </div>\n </div>\n <div [@sectionExpansion]=\"isSectionOpen.views ? 'expanded' : 'collapsed'\" class=\"box-container\">\n <div *ngFor='let view of views; trackBy: viewsTrackBy' class=\"tree-node mat-typography\"\n fxLayoutAlign=\"start center\" [routerLink]='view.routing.path' routerLinkActive=\"active\">\n <mat-icon class=\"tree-node-icon\">{{view.navigation.icon}}</mat-icon>\n <span>{{view.navigation.title}}</span>\n <span class=\"menu-item-focus-overlay\"></span>\n </div>\n </div>\n </div>\n <div *ngIf=\"(rightLoading$ | async)\" fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"margin-top-default\">\n <mat-spinner color=\"primary\" diameter=\"40\" mode=\"indeterminate\"></mat-spinner>\n </div>\n</ng-template>\n", styles: [".rail-container{height:100%}.rail-content{width:60px;min-width:60px;top:48px;border-right:none!important}.drawer-container{height:100%}.mat-button{margin-left:10px;margin-right:10px}.drawer-content{width:300px;min-width:300px}.drawer-control{width:60px!important;height:48px;position:absolute;z-index:2}.logo{height:48px}.logo-closed{width:60px!important}.logoimg{margin-left:auto;margin-right:auto;height:46px;outline:none!important;cursor:pointer}.icon-large{height:40px;width:40px;font-size:40px;color:#000000b3}.icon-container{outline:none!important;height:40px}.icon-large:hover{cursor:pointer}.menu-font-color{color:#000000b3!important}.margin-top-65{margin-top:49px}.margin-auto{margin:auto}.padding-top-65{padding-top:49px}.padding-top-8{padding-top:8px}.margin-bottom-x2{margin-bottom:16px}.tree-node{outline:none!important;cursor:pointer;padding:8px;color:#000000b3;line-height:24px;position:relative;border-radius:18px}.tree-node mat-icon.tree-node-icon{height:24px;width:24px;font-size:24px;margin-right:4px}.tree-node .tree-node-label{height:24px;font-size:16px}.tree-node .margin-component{width:8px;margin-right:4px}.tree-node .menu-item-focus-overlay{opacity:0;position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:black;transition:opacity .2s cubic-bezier(.35,0,.25,1),background-color .2s cubic-bezier(.35,0,.25,1)}.tree-node:hover .menu-item-focus-overlay{opacity:.04}.margin-top-default{margin-top:8px}.margin-top-x2{margin-top:16px}.logo-tool{height:48px}.logoimg-tool{height:46px;outline:none!important;cursor:pointer;background:#fafafa}.toolbar{min-height:48px!important;height:48px;border-bottom:1px solid #ddd}@media screen and (max-width: 959.99px){.rail-container{height:calc(100% - 49px)}.rail-content{width:60px;min-width:60px;top:0;border-right:none!important}.margin-top-65{margin-top:16px}.padding-top-65{padding-top:16px}}.profile-tooltip{font-size:20px}.sidemenu-icon{line-height:unset!important}.line{width:calc(100% - 16px);padding-left:8px;padding-right:8px;flex:1}.headline-text{color:#000000b3;padding-left:8px;padding-right:10px;margin-bottom:8px}.large-menu-item{height:64px;line-height:64px}.large-menu-item-text{line-height:32px}.cursor-pointer{cursor:pointer}.box-container{box-sizing:content-box;display:block;overflow:hidden}.expansion-indicator{color:#00000080;margin-right:10px}.expansion-indicator:after{border-style:solid;border-width:0 2px 2px 0;content:\"\";display:inline-block;padding:3px;vertical-align:middle;transform:rotate(45deg)}\n"], components: [{ type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i6.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i7.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { type: i8.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { type: i8.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { type: i9.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i9.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i10.LanguageSelectorComponent, selector: "nc-language-selector" }, { type: i8.MatSidenavContent, selector: "mat-sidenav-content" }, { type: i11.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }], directives: [{ type: i12.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i13.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { type: i6.MatToolbarRow, selector: "mat-toolbar-row", exportAs: ["matToolbarRow"] }, { type: i12.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i12.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i1.RouterLink, selector: ":not(a):not(area)[routerLink]", inputs: ["queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i14.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i14.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i12.DefaultFlexAlignDirective, selector: " [fxFlexAlign], [fxFlexAlign.xs], [fxFlexAlign.sm], [fxFlexAlign.md], [fxFlexAlign.lg], [fxFlexAlign.xl], [fxFlexAlign.lt-sm], [fxFlexAlign.lt-md], [fxFlexAlign.lt-lg], [fxFlexAlign.lt-xl], [fxFlexAlign.gt-xs], [fxFlexAlign.gt-sm], [fxFlexAlign.gt-md], [fxFlexAlign.gt-lg]", inputs: ["fxFlexAlign", "fxFlexAlign.xs", "fxFlexAlign.sm", "fxFlexAlign.md", "fxFlexAlign.lg", "fxFlexAlign.xl", "fxFlexAlign.lt-sm", "fxFlexAlign.lt-md", "fxFlexAlign.lt-lg", "fxFlexAlign.lt-xl", "fxFlexAlign.gt-xs", "fxFlexAlign.gt-sm", "fxFlexAlign.gt-md", "fxFlexAlign.gt-lg"] }, { type: i1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { type: i9.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i15.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i14.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i16.ResizableDirective, selector: "[mwlResizable]", inputs: ["resizeEdges", "enableGhostResize", "resizeSnapGrid", "resizeCursors", "resizeCursorPrecision", "ghostElementPositioning", "allowNegativeResizes", "mouseMoveThrottleMS", "validateResize"], outputs: ["resizeStart", "resizing", "resizeEnd"] }, { type: i14.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i13.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }], pipes: { "translate": i17.TranslatePipe, "async": i14.AsyncPipe }, animations: [
|
|
36
36
|
trigger('sectionExpansion', [
|
|
37
37
|
state('expanded, void', style({
|
|
38
38
|
height: '*',
|
|
@@ -85,6 +85,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
85
85
|
animate('225ms cubic-bezier(0.4,0.0,0.2,1)')
|
|
86
86
|
])
|
|
87
87
|
])
|
|
88
|
-
], template: "<div class=\"drawer-control rail-color\" fxLayoutAlign=\"start center\" fxHide.lt-md>\n <button mat-icon-button (click)=\"toggleMenu()\" class=\"mat-button mat-typography menu-font-color\">\n <mat-icon>menu</mat-icon>\n </button>\n</div>\n<mat-toolbar fxHide.gt-sm class=\"toolbar\">\n <mat-toolbar-row fxLayout=\"row\" fxLayoutAlign=\"space-between stretch\">\n <div fxFlex fxLayoutAlign=\"start center\">\n <button mat-icon-button (click)=\"toggleMenu()\">\n <mat-icon>menu</mat-icon>\n </button>\n </div>\n <div class=\"logo-tool\" fxLayoutAlign=\"center center\" fxFlex>\n <img #logo [alt]=\"imageAlt\" [src]=\"image\" class=\"logoimg-tool\"\n [routerLink]=\"imageRouterLink !== undefined ? imageRouterLink : []\">\n </div>\n <div fxFlex></div>\n </mat-toolbar-row>\n</mat-toolbar>\n<mat-spinner *ngIf=\"!logo\"></mat-spinner>\n<mat-sidenav-container class=\"rail-container\">\n <mat-sidenav mode=\"side\" [(opened)]=\"configLeftMenu.opened\" position=\"start\"\n [disableClose]=\"configLeftMenu.disableClose\"\n class=\"rail-content\">\n\n <div fxLayout=\"column\" class=\"rail-color\" fxFlex>\n\n <div *ngTemplateOutlet=\"portalLeftMenu || defaultLeftSide\"></div>\n\n <div fxFlex></div>\n\n <mat-menu #userRailMenu=\"matMenu\">\n <div mat-menu-item role=\"menuitem\" class=\"large-menu-item\" fxLayout=\"row\" fxFlexAlign=\"center center\"\n [routerLink]=\"profileRouterLink\" routerLinkActive=\"active\">\n <mat-icon class=\"margin-auto\" fxFlex>face</mat-icon>\n <div class=\"large-menu-item\" fxLayout=\"column\" fxFlexAlign=\"start center\" fxFlex>\n <span class=\"large-menu-item-text\" fxFlex=\"50\">{{user.fullName}}</span>\n <span class=\"large-menu-item-text\" style=\"font-size: 12px;\" fxFlex=\"50\">{{user.email}}</span>\n </div>\n </div>\n <button mat-menu-item (click)=\"logout()\">\n <mat-icon>exit_to_app</mat-icon>\n <span>{{ 'toolbar.menu.logout' | translate }}</span>\n </button>\n </mat-menu>\n <button *ngIf=\"includeUser\" mat-icon-button [matMenuTriggerFor]=\"userRailMenu\" class=\"mat-button mat-typography menu-font-color\"\n [matTooltip]=\"user.fullName\"\n [matTooltipPosition]=\"'right'\">\n <mat-icon>account_circle</mat-icon>\n </button>\n\n <div *ngIf=\"includeLanguage\" fxLayout=\"row\" class=\"icon-container\" fxLayoutAlign=\"center center\">\n <nc-language-selector fxLayout=\"row\" [language]=\"getLang()\"></nc-language-selector>\n </div>\n\n <mat-menu #railMenu=\"matMenu\">\n <button *ngFor='let item of moreMenuItems; trackBy: viewsTrackBy' mat-menu-item\n [routerLink]='item.routing.path' routerLinkActive=\"active\">\n <mat-icon>{{item.navigation.icon}}</mat-icon>\n <span>{{item.navigation.title}}</span>\n </button>\n </mat-menu>\n <!-- <div fxLayout=\"row\" class=\"margin-bottom-x2 icon-container\" matTooltip=\"Otvori\u0165 menu\"-->\n <!-- matTooltipPosition=\"right\"-->\n <!-- fxLayoutAlign=\"center center\">-->\n <!-- <button mat-icon-button [matMenuTriggerFor]=\"railMenu\">-->\n <!-- <mat-icon class=\"icon-large sidemenu-icon\">more_vert</mat-icon>-->\n <!-- </button>-->\n <!-- </div>-->\n <button *ngIf=\"includeMoreMenu\" mat-icon-button [matMenuTriggerFor]=\"railMenu\"\n class=\"mat-button mat-typography menu-font-color margin-bottom-x2\"\n [matTooltip]=\"'toolbar.menu.open' | translate\"\n matTooltipPosition=\"right\">\n <mat-icon>more_vert</mat-icon>\n </button>\n\n </div>\n\n </mat-sidenav>\n\n <mat-sidenav-content>\n <mat-sidenav-container class=\"drawer-container\">\n <mat-sidenav [mode]=\"configRightMenu.mode\" [(opened)]=\"configRightMenu.opened\" position=\"start\"\n [disableClose]=\"configRightMenu.disableClose\"\n class=\"drawer-content mat-elevation-z8\"\n mwlResizable\n [style.width.px]=\"configRightMenu.width\"\n [resizeCursorPrecision]=\"20\"\n [resizeEdges]=\"{right: true}\"\n (resizing)=\"onResizeEvent($event)\">\n\n <div *ngTemplateOutlet=\"portalRightMenu || defaultRightSide\"></div>\n\n </mat-sidenav>\n\n <mat-sidenav-content>\n <ng-content></ng-content>\n </mat-sidenav-content>\n </mat-sidenav-container>\n </mat-sidenav-content>\n</mat-sidenav-container>\n\n<ng-template #defaultLeftSide>\n <!-- <div fxLayout=\"row\" class=\"icon-container\" fxLayoutAlign=\"center center\"-->\n <!-- (click)='onHomeClick()'>-->\n <!-- <mat-icon class=\"icon-large\" [matTooltip]=\"'Home'\" [matTooltipPosition]=\"'right'\">home</mat-icon>-->\n <!-- </div>-->\n <button mat-icon-button (click)=\"onHomeClick()\" class=\"mat-button mat-typography menu-font-color\"\n [matTooltip]=\"'toolbar.menu.home' | translate\"\n matTooltipPosition=\"right\">\n <mat-icon>home</mat-icon>\n </button>\n\n <!-- <div *ngIf='!isOnZeroLevel()' fxLayout=\"row\" class=\"icon-container\" fxLayoutAlign=\"center center\"-->\n <!-- (click)='onBackClick()'>-->\n <!-- <mat-icon class=\"icon-large\" [matTooltip]=\"'Back'\" [matTooltipPosition]=\"'right'\">arrow_back</mat-icon>-->\n <!-- </div>-->\n <button *ngIf='!isOnZeroLevel() && (canGoBackLoading$ | async) === false' mat-icon-button (click)=\"onBackClick()\"\n class=\"mat-button mat-typography menu-font-color\" [matTooltip]=\"'toolbar.menu.back' | translate\"\n matTooltipPosition=\"right\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n <div *ngIf=\"(canGoBackLoading$ | async)\" fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"margin-top-default\">\n <mat-spinner color=\"primary\" diameter=\"30\" mode=\"indeterminate\"></mat-spinner>\n </div>\n\n <div class=\"margin-top-x2\"></div>\n <!-- <div *ngFor='let node of leftNodes; trackBy: uriNodeTrackBy' fxLayout=\"row\" class=\"icon-container\"-->\n <!-- fxLayoutAlign=\"center center\"-->\n <!-- (click)='onLeftSideClick(node)'>-->\n <!-- <mat-icon class=\"icon-large\" [matTooltip]=\"node.name\"-->\n <!-- [matTooltipPosition]=\"'right'\">{{node.id === currentNode.id ? 'folder_open' : 'folder'}}</mat-icon>-->\n <!-- </div>-->\n <button *ngFor='let node of leftNodes; trackBy: uriNodeTrackBy' mat-icon-button (click)=\"onNodeClick(node)\"\n class=\"mat-button mat-typography menu-font-color\" [matTooltip]=\"node.name\" [matTooltipPosition]=\"'right'\"\n [ngClass]=\"node.id === currentNode.id ? 'rail-selected-color' : ''\">\n <mat-icon>{{node.id === currentNode.id ? openedFolderIcon : folderIcon}}</mat-icon>\n </button>\n\n <div *ngIf=\"(leftLoading$ | async)\" fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"margin-top-default\">\n <mat-spinner color=\"primary\" diameter=\"30\" mode=\"indeterminate\"></mat-spinner>\n </div>\n</ng-template>\n\n<ng-template #defaultRightSide>\n <div class=\"logo\" fxLayoutAlign=\"center center\" fxHide.lt-md>\n <img *ngIf=\"image !== undefined\" [alt]=\"imageAlt\" [src]=\"image\" class=\"logoimg\"\n [routerLink]=\"imageRouterLink !== undefined ? imageRouterLink : []\">\n </div>\n <div *ngIf=\"(rightLoading$ | async) === false\" ngClass.gt-sm=\"padding-top-8\">\n <div class=\"margin-auto cursor-pointer\" *ngIf='!isRightNodesEmpty()' (click)=\"toggleSection('folders')\"\n fxLayout=\"row\" fxFlexAlign=\"start center\">\n <span class=\"headline-text mat-typography\">{{foldersCategoryName | translate}}</span>\n <div fxFlex></div>\n <span *ngIf=\"isSectionOpen\" [@indicatorRotate]=\"isSectionOpen.folders ? 'expanded' : 'collapsed'\"\n class=\"expansion-indicator mat-typography\"></span>\n </div>\n <div [@sectionExpansion]=\"isSectionOpen.folders ? 'expanded' : 'collapsed'\" class=\"box-container\">\n <div *ngFor='let node of rightNodes; trackBy: uriNodeTrackBy' (click)=\"onNodeClick(node)\"\n class=\"tree-node mat-typography mat-body-2\" fxLayoutAlign=\"start center\" routerLinkActive=\"active\">\n <mat-icon class=\"tree-node-icon\">folder</mat-icon>\n <span>{{node.name}}</span>\n <span class=\"menu-item-focus-overlay\"></span>\n </div>\n </div>\n\n <div class=\"margin-auto\" *ngIf='!isViewsEmpty()' fxLayout=\"column\" fxFlexAlign=\"center start\">\n <div *ngIf=\"!isRightNodesEmpty()\" class=\"line margin-bottom-x2\">\n <mat-divider></mat-divider>\n </div>\n <div class=\"cursor-pointer\" (click)=\"toggleSection('views')\" fxLayout=\"row\" fxFlexAlign=\"start center\"\n fxFlex>\n <span class=\"headline-text mat-typography\">{{viewsCategoryName | translate}}</span>\n <div fxFlex></div>\n <span *ngIf=\"isSectionOpen\" [@indicatorRotate]=\"isSectionOpen.views ? 'expanded' : 'collapsed'\"\n class=\"expansion-indicator mat-typography\"></span>\n </div>\n </div>\n <div [@sectionExpansion]=\"isSectionOpen.views ? 'expanded' : 'collapsed'\" class=\"box-container\">\n <div *ngFor='let view of views; trackBy: viewsTrackBy' class=\"tree-node mat-typography\"\n fxLayoutAlign=\"start center\" [routerLink]='view.routing.path' routerLinkActive=\"active\">\n <mat-icon class=\"tree-node-icon\">{{view.navigation.icon}}</mat-icon>\n <span>{{view.navigation.title}}</span>\n <span class=\"menu-item-focus-overlay\"></span>\n </div>\n </div>\n </div>\n <div *ngIf=\"(rightLoading$ | async)\" fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"margin-top-default\">\n <mat-spinner color=\"primary\" diameter=\"40\" mode=\"indeterminate\"></mat-spinner>\n </div>\n</ng-template>\n", styles: [".rail-container{height:100%}.rail-content{width:60px;min-width:60px;top:48px;border-right:none!important}.drawer-container{height:100%}.mat-button{margin-left:10px;margin-right:10px}.drawer-content{width:300px;min-width:300px}.drawer-control{width:60px!important;height:48px;position:absolute;z-index:2}.logo{height:48px}.logo-closed{width:60px!important}.logoimg{margin-left:auto;margin-right:auto;height:46px;outline:none!important;cursor:pointer}.icon-large{height:40px;width:40px;font-size:40px;color:#000000b3}.icon-container{outline:none!important;height:40px}.icon-large:hover{cursor:pointer}.menu-font-color{color:#000000b3!important}.margin-top-65{margin-top:49px}.margin-auto{margin:auto}.padding-top-65{padding-top:49px}.padding-top-8{padding-top:8px}.margin-bottom-x2{margin-bottom:16px}.tree-node{outline:none!important;cursor:pointer;padding:8px;color:#000000b3;line-height:24px;position:relative;border-radius:18px}.tree-node mat-icon.tree-node-icon{height:24px;width:24px;font-size:24px;margin-right:4px}.tree-node .tree-node-label{height:24px;font-size:16px}.tree-node .margin-component{width:8px;margin-right:4px}.tree-node .menu-item-focus-overlay{opacity:0;position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:black;transition:opacity .2s cubic-bezier(.35,0,.25,1),background-color .2s cubic-bezier(.35,0,.25,1)}.tree-node:hover .menu-item-focus-overlay{opacity:.04}.margin-top-default{margin-top:8px}.margin-top-x2{margin-top:16px}.logo-tool{height:48px}.logoimg-tool{height:46px;outline:none!important;cursor:pointer;background:#fafafa}.toolbar{min-height:48px!important;height:48px;border-bottom:1px solid #ddd}@media screen and (max-width: 959.99px){.rail-container{height:calc(100% - 49px)}.rail-content{width:60px;min-width:60px;top:0;border-right:none!important}.margin-top-65{margin-top:16px}.padding-top-65{padding-top:16px}}.profile-tooltip{font-size:20px}.sidemenu-icon{line-height:unset!important}.line{width:calc(100% - 16px);padding-left:8px;padding-right:8px;flex:1}.headline-text{color:#000000b3;padding-left:8px;padding-right:10px;margin-bottom:8px}.large-menu-item{height:64px;line-height:64px}.large-menu-item-text{line-height:32px}.cursor-pointer{cursor:pointer}.box-container{box-sizing:content-box;display:block;overflow:hidden}.expansion-indicator{color:#00000080;margin-right:10px}.expansion-indicator:after{border-style:solid;border-width:0 2px 2px 0;content:\"\";display:inline-block;padding:3px;vertical-align:middle;transform:rotate(45deg)}\n"] }]
|
|
89
|
-
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.BreakpointObserver }, { type: i3.LanguageService }, { type: i3.UserService }, { type: i3.AccessService }, { type: i3.LoggerService }, { type: i3.ConfigurationService }, { type: i3.UriService }, { type: i3.DynamicNavigationRouteProviderService }]; } });
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1kb3VibGUtZHJhd2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL25hdmlnYXRpb24vbmF2aWdhdGlvbi1kb3VibGUtZHJhd2VyL25hdmlnYXRpb24tZG91YmxlLWRyYXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMvc3JjL2xpYi9uYXZpZ2F0aW9uL25hdmlnYXRpb24tZG91YmxlLWRyYXdlci9uYXZpZ2F0aW9uLWRvdWJsZS1kcmF3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUd4QyxPQUFPLEVBTUgsdUNBQXVDLEVBRTFDLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWlDL0UsTUFBTSxPQUFPLCtCQUFnQyxTQUFRLHVDQUF1QztJQU94RixZQUFZLE9BQWUsRUFDZixlQUErQixFQUMvQixXQUErQixFQUMvQixnQkFBaUMsRUFDakMsWUFBeUIsRUFDekIsY0FBNkIsRUFDN0IsSUFBbUIsRUFDbkIsT0FBNkIsRUFDN0IsV0FBdUIsRUFDdkIsNEJBQW1FO1FBQzNFLEtBQUssQ0FBQyxPQUFPLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUNuSCw0QkFBNEIsQ0FBQyxDQUFBO1FBaEI5QixrQkFBYSxHQUFHO1lBQ25CLE9BQU8sRUFBRSxJQUFJO1lBQ2IsS0FBSyxFQUFFLElBQUk7U0FDZCxDQUFDO0lBY0YsQ0FBQztJQUVNLGFBQWEsQ0FBQyxPQUFlO1FBQ2hDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQy9ELENBQUM7OzZIQXZCUSwrQkFBK0I7aUhBQS9CLCtCQUErQiwwRkM3QzVDLG91VkErTEEsKzRSRDdLZ0I7UUFDUixPQUFPLENBQUMsa0JBQWtCLEVBQUU7WUFDeEIsS0FBSyxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQztnQkFDMUIsTUFBTSxFQUFFLEdBQUc7Z0JBQ1gsVUFBVSxFQUFFLFNBQVM7YUFDeEIsQ0FBQyxDQUFDO1lBQ0gsS0FBSyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUM7Z0JBQ3JCLE1BQU0sRUFBRSxLQUFLO2dCQUNiLFVBQVUsRUFBRSxRQUFRO2FBQ3ZCLENBQUMsQ0FBQztZQUNILFVBQVUsQ0FBQywwQ0FBMEMsRUFBRTtnQkFDbkQsT0FBTyxDQUFDLG1DQUFtQyxDQUFDO2FBQy9DLENBQUM7U0FDTCxDQUFDO1FBQ0YsT0FBTyxDQUFDLGlCQUFpQixFQUFFO1lBQ3ZCLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUM7Z0JBQzFCLFNBQVMsRUFBRSxnQkFBZ0I7YUFDOUIsQ0FBQyxDQUFDO1lBQ0gsS0FBSyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUM7Z0JBQ3JCLFNBQVMsRUFBRSxjQUFjO2FBQzVCLENBQUMsQ0FBQztZQUNILFVBQVUsQ0FBQywwQ0FBMEMsRUFBRTtnQkFDbkQsT0FBTyxDQUFDLG1DQUFtQyxDQUFDO2FBQy9DLENBQUM7U0FDTCxDQUFDO0tBQ0w7NEZBRVEsK0JBQStCO2tCQS9CM0MsU0FBUzsrQkFDSSw2QkFBNkIsY0FHM0I7d0JBQ1IsT0FBTyxDQUFDLGtCQUFrQixFQUFFOzRCQUN4QixLQUFLLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDO2dDQUMxQixNQUFNLEVBQUUsR0FBRztnQ0FDWCxVQUFVLEVBQUUsU0FBUzs2QkFDeEIsQ0FBQyxDQUFDOzRCQUNILEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDO2dDQUNyQixNQUFNLEVBQUUsS0FBSztnQ0FDYixVQUFVLEVBQUUsUUFBUTs2QkFDdkIsQ0FBQyxDQUFDOzRCQUNILFVBQVUsQ0FBQywwQ0FBMEMsRUFBRTtnQ0FDbkQsT0FBTyxDQUFDLG1DQUFtQyxDQUFDOzZCQUMvQyxDQUFDO3lCQUNMLENBQUM7d0JBQ0YsT0FBTyxDQUFDLGlCQUFpQixFQUFFOzRCQUN2QixLQUFLLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDO2dDQUMxQixTQUFTLEVBQUUsZ0JBQWdCOzZCQUM5QixDQUFDLENBQUM7NEJBQ0gsS0FBSyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUM7Z0NBQ3JCLFNBQVMsRUFBRSxjQUFjOzZCQUM1QixDQUFDLENBQUM7NEJBQ0gsVUFBVSxDQUFDLDBDQUEwQyxFQUFFO2dDQUNuRCxPQUFPLENBQUMsbUNBQW1DLENBQUM7NkJBQy9DLENBQUM7eUJBQ0wsQ0FBQztxQkFDTCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7QnJlYWtwb2ludE9ic2VydmVyfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcbmltcG9ydCB7XG4gICAgQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICAgTGFuZ3VhZ2VTZXJ2aWNlLFxuICAgIFVyaVNlcnZpY2UsXG4gICAgTG9nZ2VyU2VydmljZSxcbiAgICBVc2VyU2VydmljZSxcbiAgICBBYnN0cmFjdE5hdmlnYXRpb25Eb3VibGVEcmF3ZXJDb21wb25lbnQsXG4gICAgRHluYW1pY05hdmlnYXRpb25Sb3V0ZVByb3ZpZGVyU2VydmljZSwgQWNjZXNzU2VydmljZVxufSBmcm9tICdAbmV0Z3JpZi9jb21wb25lbnRzLWNvcmUnO1xuaW1wb3J0IHthbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXJ9IGZyb20gXCJAYW5ndWxhci9hbmltYXRpb25zXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmMtbmF2aWdhdGlvbi1kb3VibGUtZHJhd2VyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmF2aWdhdGlvbi1kb3VibGUtZHJhd2VyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9uYXZpZ2F0aW9uLWRvdWJsZS1kcmF3ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBhbmltYXRpb25zOiBbXG4gICAgICAgIHRyaWdnZXIoJ3NlY3Rpb25FeHBhbnNpb24nLCBbXG4gICAgICAgICAgICBzdGF0ZSgnZXhwYW5kZWQsIHZvaWQnLCBzdHlsZSh7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAnKicsXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogJ3Zpc2libGUnXG4gICAgICAgICAgICB9KSksXG4gICAgICAgICAgICBzdGF0ZSgnY29sbGFwc2VkJywgc3R5bGUoe1xuICAgICAgICAgICAgICAgIGhlaWdodDogJzBweCcsXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogJ2hpZGRlbidcbiAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ2V4cGFuZGVkIDw9PiBjb2xsYXBzZWQsIHZvaWQgPT4gZXhwYW5kZWQnLCBbXG4gICAgICAgICAgICAgICAgYW5pbWF0ZSgnMjI1bXMgY3ViaWMtYmV6aWVyKDAuNCwwLjAsMC4yLDEpJylcbiAgICAgICAgICAgIF0pXG4gICAgICAgIF0pLFxuICAgICAgICB0cmlnZ2VyKCdpbmRpY2F0b3JSb3RhdGUnLCBbXG4gICAgICAgICAgICBzdGF0ZSgnZXhwYW5kZWQsIHZvaWQnLCBzdHlsZSh7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAncm90YXRlKDE4MGRlZyknXG4gICAgICAgICAgICB9KSksXG4gICAgICAgICAgICBzdGF0ZSgnY29sbGFwc2VkJywgc3R5bGUoe1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogJ3JvdGF0ZSgwZGVnKSdcbiAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ2V4cGFuZGVkIDw9PiBjb2xsYXBzZWQsIHZvaWQgPT4gZXhwYW5kZWQnLCBbXG4gICAgICAgICAgICAgICAgYW5pbWF0ZSgnMjI1bXMgY3ViaWMtYmV6aWVyKDAuNCwwLjAsMC4yLDEpJylcbiAgICAgICAgICAgIF0pXG4gICAgICAgIF0pXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBOYXZpZ2F0aW9uRG91YmxlRHJhd2VyQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3ROYXZpZ2F0aW9uRG91YmxlRHJhd2VyQ29tcG9uZW50IHtcblxuICAgIHB1YmxpYyBpc1NlY3Rpb25PcGVuID0ge1xuICAgICAgICBmb2xkZXJzOiB0cnVlLFxuICAgICAgICB2aWV3czogdHJ1ZVxuICAgIH07XG5cbiAgICBjb25zdHJ1Y3Rvcihfcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgICAgICAgICAgX2FjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgICAgICAgICBfYnJlYWtwb2ludDogQnJlYWtwb2ludE9ic2VydmVyLFxuICAgICAgICAgICAgICAgIF9sYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcbiAgICAgICAgICAgICAgICBfdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIF9hY2Nlc3NTZXJ2aWNlOiBBY2Nlc3NTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIF9sb2c6IExvZ2dlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgX2NvbmZpZzogQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICAgICAgICAgICAgICAgX3VyaVNlcnZpY2U6IFVyaVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgX2R5bmFtaWNSb3V0ZVByb3ZpZGVyU2VydmljZTogRHluYW1pY05hdmlnYXRpb25Sb3V0ZVByb3ZpZGVyU2VydmljZSkge1xuICAgICAgICBzdXBlcihfcm91dGVyLCBfYWN0aXZhdGVkUm91dGUsIF9icmVha3BvaW50LCBfbGFuZ3VhZ2VTZXJ2aWNlLCBfdXNlclNlcnZpY2UsIF9hY2Nlc3NTZXJ2aWNlLCBfbG9nLCBfY29uZmlnLCBfdXJpU2VydmljZSxcbiAgICAgICAgICAgIF9keW5hbWljUm91dGVQcm92aWRlclNlcnZpY2UpXG4gICAgfVxuXG4gICAgcHVibGljIHRvZ2dsZVNlY3Rpb24oc2VjdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNTZWN0aW9uT3BlbltzZWN0aW9uXSA9ICF0aGlzLmlzU2VjdGlvbk9wZW5bc2VjdGlvbl07XG4gICAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiZHJhd2VyLWNvbnRyb2wgcmFpbC1jb2xvclwiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIiBmeEhpZGUubHQtbWQ+XG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInRvZ2dsZU1lbnUoKVwiIGNsYXNzPVwibWF0LWJ1dHRvbiBtYXQtdHlwb2dyYXBoeSBtZW51LWZvbnQtY29sb3JcIj5cbiAgICAgICAgPG1hdC1pY29uPm1lbnU8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuPC9kaXY+XG48bWF0LXRvb2xiYXIgZnhIaWRlLmd0LXNtIGNsYXNzPVwidG9vbGJhclwiPlxuICAgIDxtYXQtdG9vbGJhci1yb3cgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3BhY2UtYmV0d2VlbiBzdHJldGNoXCI+XG4gICAgICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJ0b2dnbGVNZW51KClcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+bWVudTwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJsb2dvLXRvb2xcIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiIGZ4RmxleD5cbiAgICAgICAgICAgIDxpbWcgI2xvZ28gW2FsdF09XCJpbWFnZUFsdFwiIFtzcmNdPVwiaW1hZ2VcIiBjbGFzcz1cImxvZ29pbWctdG9vbFwiXG4gICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cImltYWdlUm91dGVyTGluayAhPT0gdW5kZWZpbmVkID8gaW1hZ2VSb3V0ZXJMaW5rIDogW11cIj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgZnhGbGV4PjwvZGl2PlxuICAgIDwvbWF0LXRvb2xiYXItcm93PlxuPC9tYXQtdG9vbGJhcj5cbjxtYXQtc3Bpbm5lciAqbmdJZj1cIiFsb2dvXCI+PC9tYXQtc3Bpbm5lcj5cbjxtYXQtc2lkZW5hdi1jb250YWluZXIgY2xhc3M9XCJyYWlsLWNvbnRhaW5lclwiPlxuICAgIDxtYXQtc2lkZW5hdiBtb2RlPVwic2lkZVwiIFsob3BlbmVkKV09XCJjb25maWdMZWZ0TWVudS5vcGVuZWRcIiBwb3NpdGlvbj1cInN0YXJ0XCJcbiAgICAgICAgICAgICAgICAgW2Rpc2FibGVDbG9zZV09XCJjb25maWdMZWZ0TWVudS5kaXNhYmxlQ2xvc2VcIlxuICAgICAgICAgICAgICAgICBjbGFzcz1cInJhaWwtY29udGVudFwiPlxuXG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIiBjbGFzcz1cInJhaWwtY29sb3JcIiBmeEZsZXg+XG5cbiAgICAgICAgICAgIDxkaXYgKm5nVGVtcGxhdGVPdXRsZXQ9XCJwb3J0YWxMZWZ0TWVudSB8fCBkZWZhdWx0TGVmdFNpZGVcIj48L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBmeEZsZXg+PC9kaXY+XG5cbiAgICAgICAgICAgIDxtYXQtbWVudSAjdXNlclJhaWxNZW51PVwibWF0TWVudVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgbWF0LW1lbnUtaXRlbSByb2xlPVwibWVudWl0ZW1cIiBjbGFzcz1cImxhcmdlLW1lbnUtaXRlbVwiIGZ4TGF5b3V0PVwicm93XCIgZnhGbGV4QWxpZ249XCJjZW50ZXIgY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwicHJvZmlsZVJvdXRlckxpbmtcIiByb3V0ZXJMaW5rQWN0aXZlPVwiYWN0aXZlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hcmdpbi1hdXRvXCIgZnhGbGV4PmZhY2U8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFyZ2UtbWVudS1pdGVtXCIgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeEZsZXhBbGlnbj1cInN0YXJ0IGNlbnRlclwiIGZ4RmxleD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFyZ2UtbWVudS1pdGVtLXRleHRcIiBmeEZsZXg9XCI1MFwiPnt7dXNlci5mdWxsTmFtZX19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsYXJnZS1tZW51LWl0ZW0tdGV4dFwiIHN0eWxlPVwiZm9udC1zaXplOiAxMnB4O1wiIGZ4RmxleD1cIjUwXCI+e3t1c2VyLmVtYWlsfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwibG9nb3V0KClcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmV4aXRfdG9fYXBwPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgJ3Rvb2xiYXIubWVudS5sb2dvdXQnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9tYXQtbWVudT5cbiAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJpbmNsdWRlVXNlclwiIG1hdC1pY29uLWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwidXNlclJhaWxNZW51XCIgY2xhc3M9XCJtYXQtYnV0dG9uIG1hdC10eXBvZ3JhcGh5IG1lbnUtZm9udC1jb2xvclwiXG4gICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cInVzZXIuZnVsbE5hbWVcIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcFBvc2l0aW9uXT1cIidyaWdodCdcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+YWNjb3VudF9jaXJjbGU8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpbmNsdWRlTGFuZ3VhZ2VcIiBmeExheW91dD1cInJvd1wiIGNsYXNzPVwiaWNvbi1jb250YWluZXJcIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxuYy1sYW5ndWFnZS1zZWxlY3RvciBmeExheW91dD1cInJvd1wiIFtsYW5ndWFnZV09XCJnZXRMYW5nKClcIj48L25jLWxhbmd1YWdlLXNlbGVjdG9yPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxtYXQtbWVudSAjcmFpbE1lbnU9XCJtYXRNZW51XCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdGb3I9J2xldCBpdGVtIG9mIG1vcmVNZW51SXRlbXM7IHRyYWNrQnk6IHZpZXdzVHJhY2tCeScgbWF0LW1lbnUtaXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPSdpdGVtLnJvdXRpbmcucGF0aCcgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+e3tpdGVtLm5hdmlnYXRpb24uaWNvbn19PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3tpdGVtLm5hdmlnYXRpb24udGl0bGV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbWF0LW1lbnU+XG4gICAgICAgICAgICA8IS0tICAgICAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiIGNsYXNzPVwibWFyZ2luLWJvdHRvbS14MiBpY29uLWNvbnRhaW5lclwiIG1hdFRvb2x0aXA9XCJPdHZvcmnFpSBtZW51XCItLT5cbiAgICAgICAgICAgIDwhLS0gICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cInJpZ2h0XCItLT5cbiAgICAgICAgICAgIDwhLS0gICAgICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+LS0+XG4gICAgICAgICAgICA8IS0tICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJyYWlsTWVudVwiPi0tPlxuICAgICAgICAgICAgPCEtLSAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiaWNvbi1sYXJnZSBzaWRlbWVudS1pY29uXCI+bW9yZV92ZXJ0PC9tYXQtaWNvbj4tLT5cbiAgICAgICAgICAgIDwhLS0gICAgICAgICAgICAgICAgPC9idXR0b24+LS0+XG4gICAgICAgICAgICA8IS0tICAgICAgICAgICAgPC9kaXY+LS0+XG4gICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiaW5jbHVkZU1vcmVNZW51XCIgbWF0LWljb24tYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJyYWlsTWVudVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWF0LWJ1dHRvbiBtYXQtdHlwb2dyYXBoeSBtZW51LWZvbnQtY29sb3IgbWFyZ2luLWJvdHRvbS14MlwiXG4gICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cIid0b29sYmFyLm1lbnUub3BlbicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249XCJyaWdodFwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5tb3JlX3ZlcnQ8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgPC9kaXY+XG5cbiAgICA8L21hdC1zaWRlbmF2PlxuXG4gICAgPG1hdC1zaWRlbmF2LWNvbnRlbnQ+XG4gICAgICAgIDxtYXQtc2lkZW5hdi1jb250YWluZXIgY2xhc3M9XCJkcmF3ZXItY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8bWF0LXNpZGVuYXYgW21vZGVdPVwiY29uZmlnUmlnaHRNZW51Lm1vZGVcIiBbKG9wZW5lZCldPVwiY29uZmlnUmlnaHRNZW51Lm9wZW5lZFwiIHBvc2l0aW9uPVwic3RhcnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlQ2xvc2VdPVwiY29uZmlnUmlnaHRNZW51LmRpc2FibGVDbG9zZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkcmF3ZXItY29udGVudCBtYXQtZWxldmF0aW9uLXo4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBtd2xSZXNpemFibGVcbiAgICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUud2lkdGgucHhdPVwiY29uZmlnUmlnaHRNZW51LndpZHRoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbcmVzaXplQ3Vyc29yUHJlY2lzaW9uXT1cIjIwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbcmVzaXplRWRnZXNdPVwie3JpZ2h0OiB0cnVlfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgKHJlc2l6aW5nKT1cIm9uUmVzaXplRXZlbnQoJGV2ZW50KVwiPlxuXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdUZW1wbGF0ZU91dGxldD1cInBvcnRhbFJpZ2h0TWVudSB8fCBkZWZhdWx0UmlnaHRTaWRlXCI+PC9kaXY+XG5cbiAgICAgICAgICAgIDwvbWF0LXNpZGVuYXY+XG5cbiAgICAgICAgICAgIDxtYXQtc2lkZW5hdi1jb250ZW50PlxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgICAgIDwvbWF0LXNpZGVuYXYtY29udGVudD5cbiAgICAgICAgPC9tYXQtc2lkZW5hdi1jb250YWluZXI+XG4gICAgPC9tYXQtc2lkZW5hdi1jb250ZW50PlxuPC9tYXQtc2lkZW5hdi1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdExlZnRTaWRlPlxuICAgIDwhLS0gICAgPGRpdiBmeExheW91dD1cInJvd1wiIGNsYXNzPVwiaWNvbi1jb250YWluZXJcIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiLS0+XG4gICAgPCEtLSAgICAgICAgIChjbGljayk9J29uSG9tZUNsaWNrKCknPi0tPlxuICAgIDwhLS0gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImljb24tbGFyZ2VcIiBbbWF0VG9vbHRpcF09XCInSG9tZSdcIiBbbWF0VG9vbHRpcFBvc2l0aW9uXT1cIidyaWdodCdcIj5ob21lPC9tYXQtaWNvbj4tLT5cbiAgICA8IS0tICAgIDwvZGl2Pi0tPlxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJvbkhvbWVDbGljaygpXCIgY2xhc3M9XCJtYXQtYnV0dG9uIG1hdC10eXBvZ3JhcGh5IG1lbnUtZm9udC1jb2xvclwiXG4gICAgICAgICAgICBbbWF0VG9vbHRpcF09XCIndG9vbGJhci5tZW51LmhvbWUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cInJpZ2h0XCI+XG4gICAgICAgIDxtYXQtaWNvbj5ob21lPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cblxuICAgIDwhLS0gICAgPGRpdiAqbmdJZj0nIWlzT25aZXJvTGV2ZWwoKScgZnhMYXlvdXQ9XCJyb3dcIiBjbGFzcz1cImljb24tY29udGFpbmVyXCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIi0tPlxuICAgIDwhLS0gICAgICAgICAoY2xpY2spPSdvbkJhY2tDbGljaygpJz4tLT5cbiAgICA8IS0tICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJpY29uLWxhcmdlXCIgW21hdFRvb2x0aXBdPVwiJ0JhY2snXCIgW21hdFRvb2x0aXBQb3NpdGlvbl09XCIncmlnaHQnXCI+YXJyb3dfYmFjazwvbWF0LWljb24+LS0+XG4gICAgPCEtLSAgICA8L2Rpdj4tLT5cbiAgICA8YnV0dG9uICpuZ0lmPSchaXNPblplcm9MZXZlbCgpICYmIChjYW5Hb0JhY2tMb2FkaW5nJCB8IGFzeW5jKSA9PT0gZmFsc2UnIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwib25CYWNrQ2xpY2soKVwiXG4gICAgICAgICAgICBjbGFzcz1cIm1hdC1idXR0b24gbWF0LXR5cG9ncmFwaHkgbWVudS1mb250LWNvbG9yXCIgW21hdFRvb2x0aXBdPVwiJ3Rvb2xiYXIubWVudS5iYWNrJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249XCJyaWdodFwiPlxuICAgICAgICA8bWF0LWljb24+YXJyb3dfYmFjazwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gICAgPGRpdiAqbmdJZj1cIihjYW5Hb0JhY2tMb2FkaW5nJCB8IGFzeW5jKVwiIGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIiBjbGFzcz1cIm1hcmdpbi10b3AtZGVmYXVsdFwiPlxuICAgICAgICA8bWF0LXNwaW5uZXIgY29sb3I9XCJwcmltYXJ5XCIgZGlhbWV0ZXI9XCIzMFwiIG1vZGU9XCJpbmRldGVybWluYXRlXCI+PC9tYXQtc3Bpbm5lcj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJtYXJnaW4tdG9wLXgyXCI+PC9kaXY+XG4gICAgPCEtLSAgICA8ZGl2ICpuZ0Zvcj0nbGV0IG5vZGUgb2YgbGVmdE5vZGVzOyB0cmFja0J5OiB1cmlOb2RlVHJhY2tCeScgZnhMYXlvdXQ9XCJyb3dcIiBjbGFzcz1cImljb24tY29udGFpbmVyXCItLT5cbiAgICA8IS0tICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIi0tPlxuICAgIDwhLS0gICAgICAgICAoY2xpY2spPSdvbkxlZnRTaWRlQ2xpY2sobm9kZSknPi0tPlxuICAgIDwhLS0gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImljb24tbGFyZ2VcIiBbbWF0VG9vbHRpcF09XCJub2RlLm5hbWVcIi0tPlxuICAgIDwhLS0gICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcFBvc2l0aW9uXT1cIidyaWdodCdcIj57e25vZGUuaWQgPT09IGN1cnJlbnROb2RlLmlkID8gJ2ZvbGRlcl9vcGVuJyA6ICdmb2xkZXInfX08L21hdC1pY29uPi0tPlxuICAgIDwhLS0gICAgPC9kaXY+LS0+XG4gICAgPGJ1dHRvbiAqbmdGb3I9J2xldCBub2RlIG9mIGxlZnROb2RlczsgdHJhY2tCeTogdXJpTm9kZVRyYWNrQnknIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwib25Ob2RlQ2xpY2sobm9kZSlcIlxuICAgICAgICAgICAgY2xhc3M9XCJtYXQtYnV0dG9uIG1hdC10eXBvZ3JhcGh5IG1lbnUtZm9udC1jb2xvclwiIFttYXRUb29sdGlwXT1cIm5vZGUubmFtZVwiIFttYXRUb29sdGlwUG9zaXRpb25dPVwiJ3JpZ2h0J1wiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJub2RlLmlkID09PSBjdXJyZW50Tm9kZS5pZCA/ICdyYWlsLXNlbGVjdGVkLWNvbG9yJyA6ICcnXCI+XG4gICAgICAgIDxtYXQtaWNvbj57e25vZGUuaWQgPT09IGN1cnJlbnROb2RlLmlkID8gb3BlbmVkRm9sZGVySWNvbiA6IGZvbGRlckljb259fTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiKGxlZnRMb2FkaW5nJCB8IGFzeW5jKVwiIGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIiBjbGFzcz1cIm1hcmdpbi10b3AtZGVmYXVsdFwiPlxuICAgICAgICA8bWF0LXNwaW5uZXIgY29sb3I9XCJwcmltYXJ5XCIgZGlhbWV0ZXI9XCIzMFwiIG1vZGU9XCJpbmRldGVybWluYXRlXCI+PC9tYXQtc3Bpbm5lcj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdFJpZ2h0U2lkZT5cbiAgICA8ZGl2IGNsYXNzPVwibG9nb1wiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCIgZnhIaWRlLmx0LW1kPlxuICAgICAgICA8aW1nICpuZ0lmPVwiaW1hZ2UgIT09IHVuZGVmaW5lZFwiIFthbHRdPVwiaW1hZ2VBbHRcIiBbc3JjXT1cImltYWdlXCIgY2xhc3M9XCJsb2dvaW1nXCJcbiAgICAgICAgICAgICBbcm91dGVyTGlua109XCJpbWFnZVJvdXRlckxpbmsgIT09IHVuZGVmaW5lZCA/IGltYWdlUm91dGVyTGluayA6IFtdXCI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cIihyaWdodExvYWRpbmckIHwgYXN5bmMpID09PSBmYWxzZVwiIG5nQ2xhc3MuZ3Qtc209XCJwYWRkaW5nLXRvcC04XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYXJnaW4tYXV0byBjdXJzb3ItcG9pbnRlclwiICpuZ0lmPSchaXNSaWdodE5vZGVzRW1wdHkoKScgKGNsaWNrKT1cInRvZ2dsZVNlY3Rpb24oJ2ZvbGRlcnMnKVwiXG4gICAgICAgICAgICAgZnhMYXlvdXQ9XCJyb3dcIiBmeEZsZXhBbGlnbj1cInN0YXJ0IGNlbnRlclwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJoZWFkbGluZS10ZXh0IG1hdC10eXBvZ3JhcGh5XCI+e3tmb2xkZXJzQ2F0ZWdvcnlOYW1lIHwgdHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgICAgICA8ZGl2IGZ4RmxleD48L2Rpdj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXNTZWN0aW9uT3BlblwiIFtAaW5kaWNhdG9yUm90YXRlXT1cImlzU2VjdGlvbk9wZW4uZm9sZGVycyA/ICdleHBhbmRlZCcgOiAnY29sbGFwc2VkJ1wiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImV4cGFuc2lvbi1pbmRpY2F0b3IgbWF0LXR5cG9ncmFwaHlcIj48L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IFtAc2VjdGlvbkV4cGFuc2lvbl09XCJpc1NlY3Rpb25PcGVuLmZvbGRlcnMgPyAnZXhwYW5kZWQnIDogJ2NvbGxhcHNlZCdcIiBjbGFzcz1cImJveC1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxkaXYgKm5nRm9yPSdsZXQgbm9kZSBvZiByaWdodE5vZGVzOyB0cmFja0J5OiB1cmlOb2RlVHJhY2tCeScgKGNsaWNrKT1cIm9uTm9kZUNsaWNrKG5vZGUpXCJcbiAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0cmVlLW5vZGUgbWF0LXR5cG9ncmFwaHkgbWF0LWJvZHktMlwiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIiByb3V0ZXJMaW5rQWN0aXZlPVwiYWN0aXZlXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwidHJlZS1ub2RlLWljb25cIj5mb2xkZXI8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxzcGFuPnt7bm9kZS5uYW1lfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZW51LWl0ZW0tZm9jdXMtb3ZlcmxheVwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwibWFyZ2luLWF1dG9cIiAqbmdJZj0nIWlzVmlld3NFbXB0eSgpJyBmeExheW91dD1cImNvbHVtblwiIGZ4RmxleEFsaWduPVwiY2VudGVyIHN0YXJ0XCI+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIWlzUmlnaHROb2Rlc0VtcHR5KClcIiBjbGFzcz1cImxpbmUgbWFyZ2luLWJvdHRvbS14MlwiPlxuICAgICAgICAgICAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwidG9nZ2xlU2VjdGlvbigndmlld3MnKVwiIGZ4TGF5b3V0PVwicm93XCIgZnhGbGV4QWxpZ249XCJzdGFydCBjZW50ZXJcIlxuICAgICAgICAgICAgICAgICBmeEZsZXg+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJoZWFkbGluZS10ZXh0IG1hdC10eXBvZ3JhcGh5XCI+e3t2aWV3c0NhdGVnb3J5TmFtZSB8IHRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxkaXYgZnhGbGV4PjwvZGl2PlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXNTZWN0aW9uT3BlblwiIFtAaW5kaWNhdG9yUm90YXRlXT1cImlzU2VjdGlvbk9wZW4udmlld3MgPyAnZXhwYW5kZWQnIDogJ2NvbGxhcHNlZCdcIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXhwYW5zaW9uLWluZGljYXRvciBtYXQtdHlwb2dyYXBoeVwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBbQHNlY3Rpb25FeHBhbnNpb25dPVwiaXNTZWN0aW9uT3Blbi52aWV3cyA/ICdleHBhbmRlZCcgOiAnY29sbGFwc2VkJ1wiIGNsYXNzPVwiYm94LWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGRpdiAqbmdGb3I9J2xldCB2aWV3IG9mIHZpZXdzOyB0cmFja0J5OiB2aWV3c1RyYWNrQnknIGNsYXNzPVwidHJlZS1ub2RlIG1hdC10eXBvZ3JhcGh5XCJcbiAgICAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiIFtyb3V0ZXJMaW5rXT0ndmlldy5yb3V0aW5nLnBhdGgnIHJvdXRlckxpbmtBY3RpdmU9XCJhY3RpdmVcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJ0cmVlLW5vZGUtaWNvblwiPnt7dmlldy5uYXZpZ2F0aW9uLmljb259fTwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPHNwYW4+e3t2aWV3Lm5hdmlnYXRpb24udGl0bGV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1lbnUtaXRlbS1mb2N1cy1vdmVybGF5XCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCIocmlnaHRMb2FkaW5nJCB8IGFzeW5jKVwiIGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIiBjbGFzcz1cIm1hcmdpbi10b3AtZGVmYXVsdFwiPlxuICAgICAgICA8bWF0LXNwaW5uZXIgY29sb3I9XCJwcmltYXJ5XCIgZGlhbWV0ZXI9XCI0MFwiIG1vZGU9XCJpbmRldGVybWluYXRlXCI+PC9tYXQtc3Bpbm5lcj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
88
|
+
], template: "<div class=\"drawer-control rail-color\" fxLayoutAlign=\"start center\" fxHide.lt-md>\n <button mat-icon-button (click)=\"toggleMenu()\" class=\"mat-button mat-typography menu-font-color\">\n <mat-icon>menu</mat-icon>\n </button>\n</div>\n<mat-toolbar fxHide.gt-sm class=\"toolbar\">\n <mat-toolbar-row fxLayout=\"row\" fxLayoutAlign=\"space-between stretch\">\n <div fxFlex fxLayoutAlign=\"start center\">\n <button mat-icon-button (click)=\"toggleMenu()\">\n <mat-icon>menu</mat-icon>\n </button>\n </div>\n <div class=\"logo-tool\" fxLayoutAlign=\"center center\" fxFlex>\n <img #logo [alt]=\"imageAlt\" [src]=\"image\" class=\"logoimg-tool\"\n [routerLink]=\"imageRouterLink !== undefined ? imageRouterLink : []\">\n </div>\n <div fxFlex></div>\n </mat-toolbar-row>\n</mat-toolbar>\n<mat-spinner *ngIf=\"!logo\"></mat-spinner>\n<mat-sidenav-container class=\"rail-container\">\n <mat-sidenav mode=\"side\" [(opened)]=\"configLeftMenu.opened\" position=\"start\"\n [disableClose]=\"configLeftMenu.disableClose\"\n class=\"rail-content\">\n\n <div fxLayout=\"column\" class=\"rail-color\" fxFlex>\n\n <div *ngTemplateOutlet=\"portalLeftMenu || defaultLeftSide\"></div>\n\n <div fxFlex></div>\n\n <mat-menu #userRailMenu=\"matMenu\">\n <div mat-menu-item role=\"menuitem\" class=\"large-menu-item\" fxLayout=\"row\" fxFlexAlign=\"center center\"\n [routerLink]=\"profileRouterLink\" routerLinkActive=\"active\">\n <mat-icon class=\"margin-auto\" fxFlex>face</mat-icon>\n <div class=\"large-menu-item\" fxLayout=\"column\" fxFlexAlign=\"start center\" fxFlex>\n <span *ngIf=\"!user.isImpersonating()\" class=\"large-menu-item-text\" fxFlex=\"50\">{{user.fullName}}</span>\n <span *ngIf=\"user.isImpersonating()\" class=\"large-menu-item-text\" fxFlex=\"50\">{{user.fullName}} ({{user.getSelfOrImpersonated().fullName}})</span>\n <span class=\"large-menu-item-text\" style=\"font-size: 12px;\" fxFlex=\"50\">{{user.email}}</span>\n </div>\n </div>\n <button *ngIf=\"includeImpersonation && !user.isImpersonating()\" mat-menu-item (click)=\"impersonate()\">\n <mat-icon>supervisor_account</mat-icon>\n <span>{{'side-menu.impersonation.submit' | translate}}</span>\n </button>\n <button *ngIf=\"includeImpersonation && user.isImpersonating()\" mat-menu-item (click)=\"stopImpersonating()\">\n <mat-icon>clear</mat-icon>\n <span>{{'side-menu.impersonation.cease' | translate }}</span>\n </button>\n <button mat-menu-item (click)=\"logout()\">\n <mat-icon>exit_to_app</mat-icon>\n <span>{{ 'toolbar.menu.logout' | translate }}</span>\n </button>\n </mat-menu>\n <button *ngIf=\"includeUser\" mat-icon-button [matMenuTriggerFor]=\"userRailMenu\" class=\"mat-button mat-typography menu-font-color\"\n [matTooltip]=\"user.fullName\"\n [matTooltipPosition]=\"'right'\">\n <mat-icon>account_circle</mat-icon>\n </button>\n\n <div *ngIf=\"includeLanguage\" fxLayout=\"row\" class=\"icon-container\" fxLayoutAlign=\"center center\">\n <nc-language-selector fxLayout=\"row\" [language]=\"getLang()\"></nc-language-selector>\n </div>\n\n <mat-menu #railMenu=\"matMenu\">\n <button *ngFor='let item of moreMenuItems; trackBy: viewsTrackBy' mat-menu-item\n [routerLink]='item.routing.path' routerLinkActive=\"active\">\n <mat-icon>{{item.navigation.icon}}</mat-icon>\n <span>{{item.navigation.title}}</span>\n </button>\n </mat-menu>\n <!-- <div fxLayout=\"row\" class=\"margin-bottom-x2 icon-container\" matTooltip=\"Otvori\u0165 menu\"-->\n <!-- matTooltipPosition=\"right\"-->\n <!-- fxLayoutAlign=\"center center\">-->\n <!-- <button mat-icon-button [matMenuTriggerFor]=\"railMenu\">-->\n <!-- <mat-icon class=\"icon-large sidemenu-icon\">more_vert</mat-icon>-->\n <!-- </button>-->\n <!-- </div>-->\n <button *ngIf=\"includeMoreMenu\" mat-icon-button [matMenuTriggerFor]=\"railMenu\"\n class=\"mat-button mat-typography menu-font-color margin-bottom-x2\"\n [matTooltip]=\"'toolbar.menu.open' | translate\"\n matTooltipPosition=\"right\">\n <mat-icon>more_vert</mat-icon>\n </button>\n\n </div>\n\n </mat-sidenav>\n\n <mat-sidenav-content>\n <mat-sidenav-container class=\"drawer-container\">\n <mat-sidenav [mode]=\"configRightMenu.mode\" [(opened)]=\"configRightMenu.opened\" position=\"start\"\n [disableClose]=\"configRightMenu.disableClose\"\n class=\"drawer-content mat-elevation-z8\"\n mwlResizable\n [style.width.px]=\"configRightMenu.width\"\n [resizeCursorPrecision]=\"20\"\n [resizeEdges]=\"{right: true}\"\n (resizing)=\"onResizeEvent($event)\">\n\n <div *ngTemplateOutlet=\"portalRightMenu || defaultRightSide\"></div>\n\n </mat-sidenav>\n\n <mat-sidenav-content>\n <ng-content></ng-content>\n </mat-sidenav-content>\n </mat-sidenav-container>\n </mat-sidenav-content>\n</mat-sidenav-container>\n\n<ng-template #defaultLeftSide>\n <!-- <div fxLayout=\"row\" class=\"icon-container\" fxLayoutAlign=\"center center\"-->\n <!-- (click)='onHomeClick()'>-->\n <!-- <mat-icon class=\"icon-large\" [matTooltip]=\"'Home'\" [matTooltipPosition]=\"'right'\">home</mat-icon>-->\n <!-- </div>-->\n <button mat-icon-button (click)=\"onHomeClick()\" class=\"mat-button mat-typography menu-font-color\"\n [matTooltip]=\"'toolbar.menu.home' | translate\"\n matTooltipPosition=\"right\">\n <mat-icon>home</mat-icon>\n </button>\n\n <!-- <div *ngIf='!isOnZeroLevel()' fxLayout=\"row\" class=\"icon-container\" fxLayoutAlign=\"center center\"-->\n <!-- (click)='onBackClick()'>-->\n <!-- <mat-icon class=\"icon-large\" [matTooltip]=\"'Back'\" [matTooltipPosition]=\"'right'\">arrow_back</mat-icon>-->\n <!-- </div>-->\n <button *ngIf='!isOnZeroLevel() && (canGoBackLoading$ | async) === false' mat-icon-button (click)=\"onBackClick()\"\n class=\"mat-button mat-typography menu-font-color\" [matTooltip]=\"'toolbar.menu.back' | translate\"\n matTooltipPosition=\"right\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n <div *ngIf=\"(canGoBackLoading$ | async)\" fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"margin-top-default\">\n <mat-spinner color=\"primary\" diameter=\"30\" mode=\"indeterminate\"></mat-spinner>\n </div>\n\n <div class=\"margin-top-x2\"></div>\n <!-- <div *ngFor='let node of leftNodes; trackBy: uriNodeTrackBy' fxLayout=\"row\" class=\"icon-container\"-->\n <!-- fxLayoutAlign=\"center center\"-->\n <!-- (click)='onLeftSideClick(node)'>-->\n <!-- <mat-icon class=\"icon-large\" [matTooltip]=\"node.name\"-->\n <!-- [matTooltipPosition]=\"'right'\">{{node.id === currentNode.id ? 'folder_open' : 'folder'}}</mat-icon>-->\n <!-- </div>-->\n <button *ngFor='let node of leftNodes; trackBy: uriNodeTrackBy' mat-icon-button (click)=\"onNodeClick(node)\"\n class=\"mat-button mat-typography menu-font-color\" [matTooltip]=\"node.name\" [matTooltipPosition]=\"'right'\"\n [ngClass]=\"node.id === currentNode.id ? 'rail-selected-color' : ''\">\n <mat-icon>{{node.id === currentNode.id ? openedFolderIcon : folderIcon}}</mat-icon>\n </button>\n\n <div *ngIf=\"(leftLoading$ | async)\" fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"margin-top-default\">\n <mat-spinner color=\"primary\" diameter=\"30\" mode=\"indeterminate\"></mat-spinner>\n </div>\n</ng-template>\n\n<ng-template #defaultRightSide>\n <div class=\"logo\" fxLayoutAlign=\"center center\" fxHide.lt-md>\n <img *ngIf=\"image !== undefined\" [alt]=\"imageAlt\" [src]=\"image\" class=\"logoimg\"\n [routerLink]=\"imageRouterLink !== undefined ? imageRouterLink : []\">\n </div>\n <div *ngIf=\"(rightLoading$ | async) === false\" ngClass.gt-sm=\"padding-top-8\">\n <div class=\"margin-auto cursor-pointer\" *ngIf='!isRightNodesEmpty()' (click)=\"toggleSection('folders')\"\n fxLayout=\"row\" fxFlexAlign=\"start center\">\n <span class=\"headline-text mat-typography\">{{foldersCategoryName | translate}}</span>\n <div fxFlex></div>\n <span *ngIf=\"isSectionOpen\" [@indicatorRotate]=\"isSectionOpen.folders ? 'expanded' : 'collapsed'\"\n class=\"expansion-indicator mat-typography\"></span>\n </div>\n <div [@sectionExpansion]=\"isSectionOpen.folders ? 'expanded' : 'collapsed'\" class=\"box-container\">\n <div *ngFor='let node of rightNodes; trackBy: uriNodeTrackBy' (click)=\"onNodeClick(node)\"\n class=\"tree-node mat-typography mat-body-2\" fxLayoutAlign=\"start center\" routerLinkActive=\"active\">\n <mat-icon class=\"tree-node-icon\">folder</mat-icon>\n <span>{{node.name}}</span>\n <span class=\"menu-item-focus-overlay\"></span>\n </div>\n </div>\n\n <div class=\"margin-auto\" *ngIf='!isViewsEmpty()' fxLayout=\"column\" fxFlexAlign=\"center start\">\n <div *ngIf=\"!isRightNodesEmpty()\" class=\"line margin-bottom-x2\">\n <mat-divider></mat-divider>\n </div>\n <div class=\"cursor-pointer\" (click)=\"toggleSection('views')\" fxLayout=\"row\" fxFlexAlign=\"start center\"\n fxFlex>\n <span class=\"headline-text mat-typography\">{{viewsCategoryName | translate}}</span>\n <div fxFlex></div>\n <span *ngIf=\"isSectionOpen\" [@indicatorRotate]=\"isSectionOpen.views ? 'expanded' : 'collapsed'\"\n class=\"expansion-indicator mat-typography\"></span>\n </div>\n </div>\n <div [@sectionExpansion]=\"isSectionOpen.views ? 'expanded' : 'collapsed'\" class=\"box-container\">\n <div *ngFor='let view of views; trackBy: viewsTrackBy' class=\"tree-node mat-typography\"\n fxLayoutAlign=\"start center\" [routerLink]='view.routing.path' routerLinkActive=\"active\">\n <mat-icon class=\"tree-node-icon\">{{view.navigation.icon}}</mat-icon>\n <span>{{view.navigation.title}}</span>\n <span class=\"menu-item-focus-overlay\"></span>\n </div>\n </div>\n </div>\n <div *ngIf=\"(rightLoading$ | async)\" fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"margin-top-default\">\n <mat-spinner color=\"primary\" diameter=\"40\" mode=\"indeterminate\"></mat-spinner>\n </div>\n</ng-template>\n", styles: [".rail-container{height:100%}.rail-content{width:60px;min-width:60px;top:48px;border-right:none!important}.drawer-container{height:100%}.mat-button{margin-left:10px;margin-right:10px}.drawer-content{width:300px;min-width:300px}.drawer-control{width:60px!important;height:48px;position:absolute;z-index:2}.logo{height:48px}.logo-closed{width:60px!important}.logoimg{margin-left:auto;margin-right:auto;height:46px;outline:none!important;cursor:pointer}.icon-large{height:40px;width:40px;font-size:40px;color:#000000b3}.icon-container{outline:none!important;height:40px}.icon-large:hover{cursor:pointer}.menu-font-color{color:#000000b3!important}.margin-top-65{margin-top:49px}.margin-auto{margin:auto}.padding-top-65{padding-top:49px}.padding-top-8{padding-top:8px}.margin-bottom-x2{margin-bottom:16px}.tree-node{outline:none!important;cursor:pointer;padding:8px;color:#000000b3;line-height:24px;position:relative;border-radius:18px}.tree-node mat-icon.tree-node-icon{height:24px;width:24px;font-size:24px;margin-right:4px}.tree-node .tree-node-label{height:24px;font-size:16px}.tree-node .margin-component{width:8px;margin-right:4px}.tree-node .menu-item-focus-overlay{opacity:0;position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:black;transition:opacity .2s cubic-bezier(.35,0,.25,1),background-color .2s cubic-bezier(.35,0,.25,1)}.tree-node:hover .menu-item-focus-overlay{opacity:.04}.margin-top-default{margin-top:8px}.margin-top-x2{margin-top:16px}.logo-tool{height:48px}.logoimg-tool{height:46px;outline:none!important;cursor:pointer;background:#fafafa}.toolbar{min-height:48px!important;height:48px;border-bottom:1px solid #ddd}@media screen and (max-width: 959.99px){.rail-container{height:calc(100% - 49px)}.rail-content{width:60px;min-width:60px;top:0;border-right:none!important}.margin-top-65{margin-top:16px}.padding-top-65{padding-top:16px}}.profile-tooltip{font-size:20px}.sidemenu-icon{line-height:unset!important}.line{width:calc(100% - 16px);padding-left:8px;padding-right:8px;flex:1}.headline-text{color:#000000b3;padding-left:8px;padding-right:10px;margin-bottom:8px}.large-menu-item{height:64px;line-height:64px}.large-menu-item-text{line-height:32px}.cursor-pointer{cursor:pointer}.box-container{box-sizing:content-box;display:block;overflow:hidden}.expansion-indicator{color:#00000080;margin-right:10px}.expansion-indicator:after{border-style:solid;border-width:0 2px 2px 0;content:\"\";display:inline-block;padding:3px;vertical-align:middle;transform:rotate(45deg)}\n"] }]
|
|
89
|
+
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.BreakpointObserver }, { type: i3.LanguageService }, { type: i3.UserService }, { type: i3.AccessService }, { type: i3.LoggerService }, { type: i3.ConfigurationService }, { type: i3.UriService }, { type: i3.ImpersonationUserSelectService }, { type: i3.ImpersonationService }, { type: i3.DynamicNavigationRouteProviderService }]; } });
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1kb3VibGUtZHJhd2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL25hdmlnYXRpb24vbmF2aWdhdGlvbi1kb3VibGUtZHJhd2VyL25hdmlnYXRpb24tZG91YmxlLWRyYXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMvc3JjL2xpYi9uYXZpZ2F0aW9uL25hdmlnYXRpb24tZG91YmxlLWRyYXdlci9uYXZpZ2F0aW9uLWRvdWJsZS1kcmF3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUd4QyxPQUFPLEVBTUgsdUNBQXVDLEVBRTFDLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWlDL0UsTUFBTSxPQUFPLCtCQUFnQyxTQUFRLHVDQUF1QztJQU94RixZQUFZLE9BQWUsRUFDZixlQUErQixFQUMvQixXQUErQixFQUMvQixnQkFBaUMsRUFDakMsWUFBeUIsRUFDekIsY0FBNkIsRUFDN0IsSUFBbUIsRUFDbkIsT0FBNkIsRUFDN0IsV0FBdUIsRUFDdkIsd0JBQXdELEVBQ3hELGNBQW9DLEVBQ3BDLDRCQUFtRTtRQUMzRSxLQUFLLENBQUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFDbkgsd0JBQXdCLEVBQUUsY0FBYyxFQUFFLDRCQUE0QixDQUFDLENBQUE7UUFsQnhFLGtCQUFhLEdBQUc7WUFDbkIsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUUsSUFBSTtTQUNkLENBQUM7SUFnQkYsQ0FBQztJQUVNLGFBQWEsQ0FBQyxPQUFlO1FBQ2hDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQy9ELENBQUM7OzZIQXpCUSwrQkFBK0I7aUhBQS9CLCtCQUErQiwwRkM3QzVDLCsvV0F3TUEsKzRSRHRMZ0I7UUFDUixPQUFPLENBQUMsa0JBQWtCLEVBQUU7WUFDeEIsS0FBSyxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQztnQkFDMUIsTUFBTSxFQUFFLEdBQUc7Z0JBQ1gsVUFBVSxFQUFFLFNBQVM7YUFDeEIsQ0FBQyxDQUFDO1lBQ0gsS0FBSyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUM7Z0JBQ3JCLE1BQU0sRUFBRSxLQUFLO2dCQUNiLFVBQVUsRUFBRSxRQUFRO2FBQ3ZCLENBQUMsQ0FBQztZQUNILFVBQVUsQ0FBQywwQ0FBMEMsRUFBRTtnQkFDbkQsT0FBTyxDQUFDLG1DQUFtQyxDQUFDO2FBQy9DLENBQUM7U0FDTCxDQUFDO1FBQ0YsT0FBTyxDQUFDLGlCQUFpQixFQUFFO1lBQ3ZCLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUM7Z0JBQzFCLFNBQVMsRUFBRSxnQkFBZ0I7YUFDOUIsQ0FBQyxDQUFDO1lBQ0gsS0FBSyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUM7Z0JBQ3JCLFNBQVMsRUFBRSxjQUFjO2FBQzVCLENBQUMsQ0FBQztZQUNILFVBQVUsQ0FBQywwQ0FBMEMsRUFBRTtnQkFDbkQsT0FBTyxDQUFDLG1DQUFtQyxDQUFDO2FBQy9DLENBQUM7U0FDTCxDQUFDO0tBQ0w7NEZBRVEsK0JBQStCO2tCQS9CM0MsU0FBUzsrQkFDSSw2QkFBNkIsY0FHM0I7d0JBQ1IsT0FBTyxDQUFDLGtCQUFrQixFQUFFOzRCQUN4QixLQUFLLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDO2dDQUMxQixNQUFNLEVBQUUsR0FBRztnQ0FDWCxVQUFVLEVBQUUsU0FBUzs2QkFDeEIsQ0FBQyxDQUFDOzRCQUNILEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDO2dDQUNyQixNQUFNLEVBQUUsS0FBSztnQ0FDYixVQUFVLEVBQUUsUUFBUTs2QkFDdkIsQ0FBQyxDQUFDOzRCQUNILFVBQVUsQ0FBQywwQ0FBMEMsRUFBRTtnQ0FDbkQsT0FBTyxDQUFDLG1DQUFtQyxDQUFDOzZCQUMvQyxDQUFDO3lCQUNMLENBQUM7d0JBQ0YsT0FBTyxDQUFDLGlCQUFpQixFQUFFOzRCQUN2QixLQUFLLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDO2dDQUMxQixTQUFTLEVBQUUsZ0JBQWdCOzZCQUM5QixDQUFDLENBQUM7NEJBQ0gsS0FBSyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUM7Z0NBQ3JCLFNBQVMsRUFBRSxjQUFjOzZCQUM1QixDQUFDLENBQUM7NEJBQ0gsVUFBVSxDQUFDLDBDQUEwQyxFQUFFO2dDQUNuRCxPQUFPLENBQUMsbUNBQW1DLENBQUM7NkJBQy9DLENBQUM7eUJBQ0wsQ0FBQztxQkFDTCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7QnJlYWtwb2ludE9ic2VydmVyfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcbmltcG9ydCB7XG4gICAgQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICAgTGFuZ3VhZ2VTZXJ2aWNlLFxuICAgIFVyaVNlcnZpY2UsXG4gICAgTG9nZ2VyU2VydmljZSxcbiAgICBVc2VyU2VydmljZSxcbiAgICBBYnN0cmFjdE5hdmlnYXRpb25Eb3VibGVEcmF3ZXJDb21wb25lbnQsXG4gICAgRHluYW1pY05hdmlnYXRpb25Sb3V0ZVByb3ZpZGVyU2VydmljZSwgQWNjZXNzU2VydmljZSwgSW1wZXJzb25hdGlvblVzZXJTZWxlY3RTZXJ2aWNlLCBJbXBlcnNvbmF0aW9uU2VydmljZVxufSBmcm9tICdAbmV0Z3JpZi9jb21wb25lbnRzLWNvcmUnO1xuaW1wb3J0IHthbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXJ9IGZyb20gXCJAYW5ndWxhci9hbmltYXRpb25zXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmMtbmF2aWdhdGlvbi1kb3VibGUtZHJhd2VyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmF2aWdhdGlvbi1kb3VibGUtZHJhd2VyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9uYXZpZ2F0aW9uLWRvdWJsZS1kcmF3ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBhbmltYXRpb25zOiBbXG4gICAgICAgIHRyaWdnZXIoJ3NlY3Rpb25FeHBhbnNpb24nLCBbXG4gICAgICAgICAgICBzdGF0ZSgnZXhwYW5kZWQsIHZvaWQnLCBzdHlsZSh7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAnKicsXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogJ3Zpc2libGUnXG4gICAgICAgICAgICB9KSksXG4gICAgICAgICAgICBzdGF0ZSgnY29sbGFwc2VkJywgc3R5bGUoe1xuICAgICAgICAgICAgICAgIGhlaWdodDogJzBweCcsXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogJ2hpZGRlbidcbiAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ2V4cGFuZGVkIDw9PiBjb2xsYXBzZWQsIHZvaWQgPT4gZXhwYW5kZWQnLCBbXG4gICAgICAgICAgICAgICAgYW5pbWF0ZSgnMjI1bXMgY3ViaWMtYmV6aWVyKDAuNCwwLjAsMC4yLDEpJylcbiAgICAgICAgICAgIF0pXG4gICAgICAgIF0pLFxuICAgICAgICB0cmlnZ2VyKCdpbmRpY2F0b3JSb3RhdGUnLCBbXG4gICAgICAgICAgICBzdGF0ZSgnZXhwYW5kZWQsIHZvaWQnLCBzdHlsZSh7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAncm90YXRlKDE4MGRlZyknXG4gICAgICAgICAgICB9KSksXG4gICAgICAgICAgICBzdGF0ZSgnY29sbGFwc2VkJywgc3R5bGUoe1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogJ3JvdGF0ZSgwZGVnKSdcbiAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ2V4cGFuZGVkIDw9PiBjb2xsYXBzZWQsIHZvaWQgPT4gZXhwYW5kZWQnLCBbXG4gICAgICAgICAgICAgICAgYW5pbWF0ZSgnMjI1bXMgY3ViaWMtYmV6aWVyKDAuNCwwLjAsMC4yLDEpJylcbiAgICAgICAgICAgIF0pXG4gICAgICAgIF0pXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBOYXZpZ2F0aW9uRG91YmxlRHJhd2VyQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3ROYXZpZ2F0aW9uRG91YmxlRHJhd2VyQ29tcG9uZW50IHtcblxuICAgIHB1YmxpYyBpc1NlY3Rpb25PcGVuID0ge1xuICAgICAgICBmb2xkZXJzOiB0cnVlLFxuICAgICAgICB2aWV3czogdHJ1ZVxuICAgIH07XG5cbiAgICBjb25zdHJ1Y3Rvcihfcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgICAgICAgICAgX2FjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgICAgICAgICBfYnJlYWtwb2ludDogQnJlYWtwb2ludE9ic2VydmVyLFxuICAgICAgICAgICAgICAgIF9sYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcbiAgICAgICAgICAgICAgICBfdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIF9hY2Nlc3NTZXJ2aWNlOiBBY2Nlc3NTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIF9sb2c6IExvZ2dlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgX2NvbmZpZzogQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICAgICAgICAgICAgICAgX3VyaVNlcnZpY2U6IFVyaVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgX2ltcGVyc29uYXRpb25Vc2VyU2VsZWN0OiBJbXBlcnNvbmF0aW9uVXNlclNlbGVjdFNlcnZpY2UsXG4gICAgICAgICAgICAgICAgX2ltcGVyc29uYXRpb246IEltcGVyc29uYXRpb25TZXJ2aWNlLFxuICAgICAgICAgICAgICAgIF9keW5hbWljUm91dGVQcm92aWRlclNlcnZpY2U6IER5bmFtaWNOYXZpZ2F0aW9uUm91dGVQcm92aWRlclNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoX3JvdXRlciwgX2FjdGl2YXRlZFJvdXRlLCBfYnJlYWtwb2ludCwgX2xhbmd1YWdlU2VydmljZSwgX3VzZXJTZXJ2aWNlLCBfYWNjZXNzU2VydmljZSwgX2xvZywgX2NvbmZpZywgX3VyaVNlcnZpY2UsXG4gICAgICAgICAgICBfaW1wZXJzb25hdGlvblVzZXJTZWxlY3QsIF9pbXBlcnNvbmF0aW9uLCBfZHluYW1pY1JvdXRlUHJvdmlkZXJTZXJ2aWNlKVxuICAgIH1cblxuICAgIHB1YmxpYyB0b2dnbGVTZWN0aW9uKHNlY3Rpb246IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzU2VjdGlvbk9wZW5bc2VjdGlvbl0gPSAhdGhpcy5pc1NlY3Rpb25PcGVuW3NlY3Rpb25dO1xuICAgIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImRyYXdlci1jb250cm9sIHJhaWwtY29sb3JcIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCIgZnhIaWRlLmx0LW1kPlxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJ0b2dnbGVNZW51KClcIiBjbGFzcz1cIm1hdC1idXR0b24gbWF0LXR5cG9ncmFwaHkgbWVudS1mb250LWNvbG9yXCI+XG4gICAgICAgIDxtYXQtaWNvbj5tZW51PC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbjwvZGl2PlxuPG1hdC10b29sYmFyIGZ4SGlkZS5ndC1zbSBjbGFzcz1cInRvb2xiYXJcIj5cbiAgICA8bWF0LXRvb2xiYXItcm93IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cInNwYWNlLWJldHdlZW4gc3RyZXRjaFwiPlxuICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCI+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwidG9nZ2xlTWVudSgpXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPm1lbnU8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibG9nby10b29sXCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIiBmeEZsZXg+XG4gICAgICAgICAgICA8aW1nICNsb2dvIFthbHRdPVwiaW1hZ2VBbHRcIiBbc3JjXT1cImltYWdlXCIgY2xhc3M9XCJsb2dvaW1nLXRvb2xcIlxuICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJpbWFnZVJvdXRlckxpbmsgIT09IHVuZGVmaW5lZCA/IGltYWdlUm91dGVyTGluayA6IFtdXCI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGZ4RmxleD48L2Rpdj5cbiAgICA8L21hdC10b29sYmFyLXJvdz5cbjwvbWF0LXRvb2xiYXI+XG48bWF0LXNwaW5uZXIgKm5nSWY9XCIhbG9nb1wiPjwvbWF0LXNwaW5uZXI+XG48bWF0LXNpZGVuYXYtY29udGFpbmVyIGNsYXNzPVwicmFpbC1jb250YWluZXJcIj5cbiAgICA8bWF0LXNpZGVuYXYgbW9kZT1cInNpZGVcIiBbKG9wZW5lZCldPVwiY29uZmlnTGVmdE1lbnUub3BlbmVkXCIgcG9zaXRpb249XCJzdGFydFwiXG4gICAgICAgICAgICAgICAgIFtkaXNhYmxlQ2xvc2VdPVwiY29uZmlnTGVmdE1lbnUuZGlzYWJsZUNsb3NlXCJcbiAgICAgICAgICAgICAgICAgY2xhc3M9XCJyYWlsLWNvbnRlbnRcIj5cblxuICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCIgY2xhc3M9XCJyYWlsLWNvbG9yXCIgZnhGbGV4PlxuXG4gICAgICAgICAgICA8ZGl2ICpuZ1RlbXBsYXRlT3V0bGV0PVwicG9ydGFsTGVmdE1lbnUgfHwgZGVmYXVsdExlZnRTaWRlXCI+PC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgZnhGbGV4PjwvZGl2PlxuXG4gICAgICAgICAgICA8bWF0LW1lbnUgI3VzZXJSYWlsTWVudT1cIm1hdE1lbnVcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IG1hdC1tZW51LWl0ZW0gcm9sZT1cIm1lbnVpdGVtXCIgY2xhc3M9XCJsYXJnZS1tZW51LWl0ZW1cIiBmeExheW91dD1cInJvd1wiIGZ4RmxleEFsaWduPVwiY2VudGVyIGNlbnRlclwiXG4gICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cInByb2ZpbGVSb3V0ZXJMaW5rXCIgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXJnaW4tYXV0b1wiIGZ4RmxleD5mYWNlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhcmdlLW1lbnUtaXRlbVwiIGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhGbGV4QWxpZ249XCJzdGFydCBjZW50ZXJcIiBmeEZsZXg+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiF1c2VyLmlzSW1wZXJzb25hdGluZygpXCIgIGNsYXNzPVwibGFyZ2UtbWVudS1pdGVtLXRleHRcIiBmeEZsZXg9XCI1MFwiPnt7dXNlci5mdWxsTmFtZX19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJ1c2VyLmlzSW1wZXJzb25hdGluZygpXCIgY2xhc3M9XCJsYXJnZS1tZW51LWl0ZW0tdGV4dFwiIGZ4RmxleD1cIjUwXCI+e3t1c2VyLmZ1bGxOYW1lfX0gKHt7dXNlci5nZXRTZWxmT3JJbXBlcnNvbmF0ZWQoKS5mdWxsTmFtZX19KTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFyZ2UtbWVudS1pdGVtLXRleHRcIiBzdHlsZT1cImZvbnQtc2l6ZTogMTJweDtcIiBmeEZsZXg9XCI1MFwiPnt7dXNlci5lbWFpbH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiaW5jbHVkZUltcGVyc29uYXRpb24gJiYgIXVzZXIuaXNJbXBlcnNvbmF0aW5nKClcIiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJpbXBlcnNvbmF0ZSgpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5zdXBlcnZpc29yX2FjY291bnQ8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eydzaWRlLW1lbnUuaW1wZXJzb25hdGlvbi5zdWJtaXQnIHwgdHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImluY2x1ZGVJbXBlcnNvbmF0aW9uICYmIHVzZXIuaXNJbXBlcnNvbmF0aW5nKClcIiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJzdG9wSW1wZXJzb25hdGluZygpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5jbGVhcjwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7J3NpZGUtbWVudS5pbXBlcnNvbmF0aW9uLmNlYXNlJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImxvZ291dCgpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5leGl0X3RvX2FwcDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7ICd0b29sYmFyLm1lbnUubG9nb3V0JyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbWF0LW1lbnU+XG4gICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiaW5jbHVkZVVzZXJcIiBtYXQtaWNvbi1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cInVzZXJSYWlsTWVudVwiIGNsYXNzPVwibWF0LWJ1dHRvbiBtYXQtdHlwb2dyYXBoeSBtZW51LWZvbnQtY29sb3JcIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJ1c2VyLmZ1bGxOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBQb3NpdGlvbl09XCIncmlnaHQnXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPmFjY291bnRfY2lyY2xlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaW5jbHVkZUxhbmd1YWdlXCIgZnhMYXlvdXQ9XCJyb3dcIiBjbGFzcz1cImljb24tY29udGFpbmVyXCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8bmMtbGFuZ3VhZ2Utc2VsZWN0b3IgZnhMYXlvdXQ9XCJyb3dcIiBbbGFuZ3VhZ2VdPVwiZ2V0TGFuZygpXCI+PC9uYy1sYW5ndWFnZS1zZWxlY3Rvcj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8bWF0LW1lbnUgI3JhaWxNZW51PVwibWF0TWVudVwiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gKm5nRm9yPSdsZXQgaXRlbSBvZiBtb3JlTWVudUl0ZW1zOyB0cmFja0J5OiB2aWV3c1RyYWNrQnknIG1hdC1tZW51LWl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT0naXRlbS5yb3V0aW5nLnBhdGgnIHJvdXRlckxpbmtBY3RpdmU9XCJhY3RpdmVcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPnt7aXRlbS5uYXZpZ2F0aW9uLmljb259fTwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7aXRlbS5uYXZpZ2F0aW9uLnRpdGxlfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L21hdC1tZW51PlxuICAgICAgICAgICAgPCEtLSAgICAgICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBjbGFzcz1cIm1hcmdpbi1ib3R0b20teDIgaWNvbi1jb250YWluZXJcIiBtYXRUb29sdGlwPVwiT3R2b3JpxaUgbWVudVwiLS0+XG4gICAgICAgICAgICA8IS0tICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249XCJyaWdodFwiLS0+XG4gICAgICAgICAgICA8IS0tICAgICAgICAgICAgICAgICBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPi0tPlxuICAgICAgICAgICAgPCEtLSAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwicmFpbE1lbnVcIj4tLT5cbiAgICAgICAgICAgIDwhLS0gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImljb24tbGFyZ2Ugc2lkZW1lbnUtaWNvblwiPm1vcmVfdmVydDwvbWF0LWljb24+LS0+XG4gICAgICAgICAgICA8IS0tICAgICAgICAgICAgICAgIDwvYnV0dG9uPi0tPlxuICAgICAgICAgICAgPCEtLSAgICAgICAgICAgIDwvZGl2Pi0tPlxuICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImluY2x1ZGVNb3JlTWVudVwiIG1hdC1pY29uLWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwicmFpbE1lbnVcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1hdC1idXR0b24gbWF0LXR5cG9ncmFwaHkgbWVudS1mb250LWNvbG9yIG1hcmdpbi1ib3R0b20teDJcIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCIndG9vbGJhci5tZW51Lm9wZW4nIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPVwicmlnaHRcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+bW9yZV92ZXJ0PC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgIDwvZGl2PlxuXG4gICAgPC9tYXQtc2lkZW5hdj5cblxuICAgIDxtYXQtc2lkZW5hdi1jb250ZW50PlxuICAgICAgICA8bWF0LXNpZGVuYXYtY29udGFpbmVyIGNsYXNzPVwiZHJhd2VyLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPG1hdC1zaWRlbmF2IFttb2RlXT1cImNvbmZpZ1JpZ2h0TWVudS5tb2RlXCIgWyhvcGVuZWQpXT1cImNvbmZpZ1JpZ2h0TWVudS5vcGVuZWRcIiBwb3NpdGlvbj1cInN0YXJ0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZUNsb3NlXT1cImNvbmZpZ1JpZ2h0TWVudS5kaXNhYmxlQ2xvc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZHJhd2VyLWNvbnRlbnQgbWF0LWVsZXZhdGlvbi16OFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgbXdsUmVzaXphYmxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLndpZHRoLnB4XT1cImNvbmZpZ1JpZ2h0TWVudS53aWR0aFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3Jlc2l6ZUN1cnNvclByZWNpc2lvbl09XCIyMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3Jlc2l6ZUVkZ2VzXT1cIntyaWdodDogdHJ1ZX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgIChyZXNpemluZyk9XCJvblJlc2l6ZUV2ZW50KCRldmVudClcIj5cblxuICAgICAgICAgICAgICAgIDxkaXYgKm5nVGVtcGxhdGVPdXRsZXQ9XCJwb3J0YWxSaWdodE1lbnUgfHwgZGVmYXVsdFJpZ2h0U2lkZVwiPjwvZGl2PlxuXG4gICAgICAgICAgICA8L21hdC1zaWRlbmF2PlxuXG4gICAgICAgICAgICA8bWF0LXNpZGVuYXYtY29udGVudD5cbiAgICAgICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICA8L21hdC1zaWRlbmF2LWNvbnRlbnQ+XG4gICAgICAgIDwvbWF0LXNpZGVuYXYtY29udGFpbmVyPlxuICAgIDwvbWF0LXNpZGVuYXYtY29udGVudD5cbjwvbWF0LXNpZGVuYXYtY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2RlZmF1bHRMZWZ0U2lkZT5cbiAgICA8IS0tICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBjbGFzcz1cImljb24tY29udGFpbmVyXCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIi0tPlxuICAgIDwhLS0gICAgICAgICAoY2xpY2spPSdvbkhvbWVDbGljaygpJz4tLT5cbiAgICA8IS0tICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJpY29uLWxhcmdlXCIgW21hdFRvb2x0aXBdPVwiJ0hvbWUnXCIgW21hdFRvb2x0aXBQb3NpdGlvbl09XCIncmlnaHQnXCI+aG9tZTwvbWF0LWljb24+LS0+XG4gICAgPCEtLSAgICA8L2Rpdj4tLT5cbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwib25Ib21lQ2xpY2soKVwiIGNsYXNzPVwibWF0LWJ1dHRvbiBtYXQtdHlwb2dyYXBoeSBtZW51LWZvbnQtY29sb3JcIlxuICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiJ3Rvb2xiYXIubWVudS5ob21lJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249XCJyaWdodFwiPlxuICAgICAgICA8bWF0LWljb24+aG9tZTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG5cbiAgICA8IS0tICAgIDxkaXYgKm5nSWY9JyFpc09uWmVyb0xldmVsKCknIGZ4TGF5b3V0PVwicm93XCIgY2xhc3M9XCJpY29uLWNvbnRhaW5lclwiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCItLT5cbiAgICA8IS0tICAgICAgICAgKGNsaWNrKT0nb25CYWNrQ2xpY2soKSc+LS0+XG4gICAgPCEtLSAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiaWNvbi1sYXJnZVwiIFttYXRUb29sdGlwXT1cIidCYWNrJ1wiIFttYXRUb29sdGlwUG9zaXRpb25dPVwiJ3JpZ2h0J1wiPmFycm93X2JhY2s8L21hdC1pY29uPi0tPlxuICAgIDwhLS0gICAgPC9kaXY+LS0+XG4gICAgPGJ1dHRvbiAqbmdJZj0nIWlzT25aZXJvTGV2ZWwoKSAmJiAoY2FuR29CYWNrTG9hZGluZyQgfCBhc3luYykgPT09IGZhbHNlJyBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm9uQmFja0NsaWNrKClcIlxuICAgICAgICAgICAgY2xhc3M9XCJtYXQtYnV0dG9uIG1hdC10eXBvZ3JhcGh5IG1lbnUtZm9udC1jb2xvclwiIFttYXRUb29sdGlwXT1cIid0b29sYmFyLm1lbnUuYmFjaycgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPVwicmlnaHRcIj5cbiAgICAgICAgPG1hdC1pY29uPmFycm93X2JhY2s8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICAgIDxkaXYgKm5nSWY9XCIoY2FuR29CYWNrTG9hZGluZyQgfCBhc3luYylcIiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCIgY2xhc3M9XCJtYXJnaW4tdG9wLWRlZmF1bHRcIj5cbiAgICAgICAgPG1hdC1zcGlubmVyIGNvbG9yPVwicHJpbWFyeVwiIGRpYW1ldGVyPVwiMzBcIiBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiPjwvbWF0LXNwaW5uZXI+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwibWFyZ2luLXRvcC14MlwiPjwvZGl2PlxuICAgIDwhLS0gICAgPGRpdiAqbmdGb3I9J2xldCBub2RlIG9mIGxlZnROb2RlczsgdHJhY2tCeTogdXJpTm9kZVRyYWNrQnknIGZ4TGF5b3V0PVwicm93XCIgY2xhc3M9XCJpY29uLWNvbnRhaW5lclwiLS0+XG4gICAgPCEtLSAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCItLT5cbiAgICA8IS0tICAgICAgICAgKGNsaWNrKT0nb25MZWZ0U2lkZUNsaWNrKG5vZGUpJz4tLT5cbiAgICA8IS0tICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJpY29uLWxhcmdlXCIgW21hdFRvb2x0aXBdPVwibm9kZS5uYW1lXCItLT5cbiAgICA8IS0tICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBQb3NpdGlvbl09XCIncmlnaHQnXCI+e3tub2RlLmlkID09PSBjdXJyZW50Tm9kZS5pZCA/ICdmb2xkZXJfb3BlbicgOiAnZm9sZGVyJ319PC9tYXQtaWNvbj4tLT5cbiAgICA8IS0tICAgIDwvZGl2Pi0tPlxuICAgIDxidXR0b24gKm5nRm9yPSdsZXQgbm9kZSBvZiBsZWZ0Tm9kZXM7IHRyYWNrQnk6IHVyaU5vZGVUcmFja0J5JyBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm9uTm9kZUNsaWNrKG5vZGUpXCJcbiAgICAgICAgICAgIGNsYXNzPVwibWF0LWJ1dHRvbiBtYXQtdHlwb2dyYXBoeSBtZW51LWZvbnQtY29sb3JcIiBbbWF0VG9vbHRpcF09XCJub2RlLm5hbWVcIiBbbWF0VG9vbHRpcFBvc2l0aW9uXT1cIidyaWdodCdcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwibm9kZS5pZCA9PT0gY3VycmVudE5vZGUuaWQgPyAncmFpbC1zZWxlY3RlZC1jb2xvcicgOiAnJ1wiPlxuICAgICAgICA8bWF0LWljb24+e3tub2RlLmlkID09PSBjdXJyZW50Tm9kZS5pZCA/IG9wZW5lZEZvbGRlckljb24gOiBmb2xkZXJJY29ufX08L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGRpdiAqbmdJZj1cIihsZWZ0TG9hZGluZyQgfCBhc3luYylcIiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCIgY2xhc3M9XCJtYXJnaW4tdG9wLWRlZmF1bHRcIj5cbiAgICAgICAgPG1hdC1zcGlubmVyIGNvbG9yPVwicHJpbWFyeVwiIGRpYW1ldGVyPVwiMzBcIiBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiPjwvbWF0LXNwaW5uZXI+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2RlZmF1bHRSaWdodFNpZGU+XG4gICAgPGRpdiBjbGFzcz1cImxvZ29cIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiIGZ4SGlkZS5sdC1tZD5cbiAgICAgICAgPGltZyAqbmdJZj1cImltYWdlICE9PSB1bmRlZmluZWRcIiBbYWx0XT1cImltYWdlQWx0XCIgW3NyY109XCJpbWFnZVwiIGNsYXNzPVwibG9nb2ltZ1wiXG4gICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiaW1hZ2VSb3V0ZXJMaW5rICE9PSB1bmRlZmluZWQgPyBpbWFnZVJvdXRlckxpbmsgOiBbXVwiPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCIocmlnaHRMb2FkaW5nJCB8IGFzeW5jKSA9PT0gZmFsc2VcIiBuZ0NsYXNzLmd0LXNtPVwicGFkZGluZy10b3AtOFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWFyZ2luLWF1dG8gY3Vyc29yLXBvaW50ZXJcIiAqbmdJZj0nIWlzUmlnaHROb2Rlc0VtcHR5KCknIChjbGljayk9XCJ0b2dnbGVTZWN0aW9uKCdmb2xkZXJzJylcIlxuICAgICAgICAgICAgIGZ4TGF5b3V0PVwicm93XCIgZnhGbGV4QWxpZ249XCJzdGFydCBjZW50ZXJcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaGVhZGxpbmUtdGV4dCBtYXQtdHlwb2dyYXBoeVwiPnt7Zm9sZGVyc0NhdGVnb3J5TmFtZSB8IHRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgICAgICAgPGRpdiBmeEZsZXg+PC9kaXY+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImlzU2VjdGlvbk9wZW5cIiBbQGluZGljYXRvclJvdGF0ZV09XCJpc1NlY3Rpb25PcGVuLmZvbGRlcnMgPyAnZXhwYW5kZWQnIDogJ2NvbGxhcHNlZCdcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJleHBhbnNpb24taW5kaWNhdG9yIG1hdC10eXBvZ3JhcGh5XCI+PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBbQHNlY3Rpb25FeHBhbnNpb25dPVwiaXNTZWN0aW9uT3Blbi5mb2xkZXJzID8gJ2V4cGFuZGVkJyA6ICdjb2xsYXBzZWQnXCIgY2xhc3M9XCJib3gtY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8ZGl2ICpuZ0Zvcj0nbGV0IG5vZGUgb2YgcmlnaHROb2RlczsgdHJhY2tCeTogdXJpTm9kZVRyYWNrQnknIChjbGljayk9XCJvbk5vZGVDbGljayhub2RlKVwiXG4gICAgICAgICAgICAgICAgIGNsYXNzPVwidHJlZS1ub2RlIG1hdC10eXBvZ3JhcGh5IG1hdC1ib2R5LTJcIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCIgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInRyZWUtbm9kZS1pY29uXCI+Zm9sZGVyPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8c3Bhbj57e25vZGUubmFtZX19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWVudS1pdGVtLWZvY3VzLW92ZXJsYXlcIj48L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1hcmdpbi1hdXRvXCIgKm5nSWY9JyFpc1ZpZXdzRW1wdHkoKScgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeEZsZXhBbGlnbj1cImNlbnRlciBzdGFydFwiPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFpc1JpZ2h0Tm9kZXNFbXB0eSgpXCIgY2xhc3M9XCJsaW5lIG1hcmdpbi1ib3R0b20teDJcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cInRvZ2dsZVNlY3Rpb24oJ3ZpZXdzJylcIiBmeExheW91dD1cInJvd1wiIGZ4RmxleEFsaWduPVwic3RhcnQgY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgZnhGbGV4PlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaGVhZGxpbmUtdGV4dCBtYXQtdHlwb2dyYXBoeVwiPnt7dmlld3NDYXRlZ29yeU5hbWUgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8ZGl2IGZ4RmxleD48L2Rpdj5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImlzU2VjdGlvbk9wZW5cIiBbQGluZGljYXRvclJvdGF0ZV09XCJpc1NlY3Rpb25PcGVuLnZpZXdzID8gJ2V4cGFuZGVkJyA6ICdjb2xsYXBzZWQnXCJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV4cGFuc2lvbi1pbmRpY2F0b3IgbWF0LXR5cG9ncmFwaHlcIj48L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgW0BzZWN0aW9uRXhwYW5zaW9uXT1cImlzU2VjdGlvbk9wZW4udmlld3MgPyAnZXhwYW5kZWQnIDogJ2NvbGxhcHNlZCdcIiBjbGFzcz1cImJveC1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxkaXYgKm5nRm9yPSdsZXQgdmlldyBvZiB2aWV3czsgdHJhY2tCeTogdmlld3NUcmFja0J5JyBjbGFzcz1cInRyZWUtbm9kZSBtYXQtdHlwb2dyYXBoeVwiXG4gICAgICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIiBbcm91dGVyTGlua109J3ZpZXcucm91dGluZy5wYXRoJyByb3V0ZXJMaW5rQWN0aXZlPVwiYWN0aXZlXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwidHJlZS1ub2RlLWljb25cIj57e3ZpZXcubmF2aWdhdGlvbi5pY29ufX08L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxzcGFuPnt7dmlldy5uYXZpZ2F0aW9uLnRpdGxlfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZW51LWl0ZW0tZm9jdXMtb3ZlcmxheVwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiKHJpZ2h0TG9hZGluZyQgfCBhc3luYylcIiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCIgY2xhc3M9XCJtYXJnaW4tdG9wLWRlZmF1bHRcIj5cbiAgICAgICAgPG1hdC1zcGlubmVyIGNvbG9yPVwicHJpbWFyeVwiIGRpYW1ldGVyPVwiNDBcIiBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiPjwvbWF0LXNwaW5uZXI+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@netgrif/components-core";
|
|
4
|
+
import * as i2 from "@angular/material/button";
|
|
5
|
+
import * as i3 from "@angular/material/icon";
|
|
6
|
+
import * as i4 from "@angular/common";
|
|
7
|
+
import * as i5 from "@angular/material/tooltip";
|
|
8
|
+
import * as i6 from "@ngx-translate/core";
|
|
9
|
+
export class ImpersonateQuickPanelComponent {
|
|
10
|
+
constructor(impersonateUserSelect, impersonationService, user) {
|
|
11
|
+
this.impersonateUserSelect = impersonateUserSelect;
|
|
12
|
+
this.impersonationService = impersonationService;
|
|
13
|
+
this.user = user;
|
|
14
|
+
}
|
|
15
|
+
impersonate() {
|
|
16
|
+
this.impersonateUserSelect.selectImpersonate();
|
|
17
|
+
}
|
|
18
|
+
stopImpersonating() {
|
|
19
|
+
this.impersonationService.cease();
|
|
20
|
+
}
|
|
21
|
+
isImpersonating() {
|
|
22
|
+
return this.user.user.isImpersonating();
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
ImpersonateQuickPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ImpersonateQuickPanelComponent, deps: [{ token: i1.ImpersonationUserSelectService }, { token: i1.ImpersonationService }, { token: i1.UserService }], target: i0.ɵɵFactoryTarget.Component });
|
|
26
|
+
ImpersonateQuickPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ImpersonateQuickPanelComponent, selector: "nc-impersonate-quick-panel", ngImport: i0, template: "<button *ngIf=\"!isImpersonating()\" [matTooltip]=\"'side-menu.impersonation.submit' | translate\" (click)=\"impersonate()\" mat-icon-button>\n <mat-icon>supervisor_account</mat-icon>\n</button>\n<button *ngIf=\"isImpersonating()\" [matTooltip]=\"'side-menu.impersonation.cease' | translate\" (click)=\"stopImpersonating()\" mat-icon-button>\n <mat-icon>clear</mat-icon>\n</button>\n", components: [{ type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }], pipes: { "translate": i6.TranslatePipe } });
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ImpersonateQuickPanelComponent, decorators: [{
|
|
28
|
+
type: Component,
|
|
29
|
+
args: [{ selector: 'nc-impersonate-quick-panel', template: "<button *ngIf=\"!isImpersonating()\" [matTooltip]=\"'side-menu.impersonation.submit' | translate\" (click)=\"impersonate()\" mat-icon-button>\n <mat-icon>supervisor_account</mat-icon>\n</button>\n<button *ngIf=\"isImpersonating()\" [matTooltip]=\"'side-menu.impersonation.cease' | translate\" (click)=\"stopImpersonating()\" mat-icon-button>\n <mat-icon>clear</mat-icon>\n</button>\n", styles: [] }]
|
|
30
|
+
}], ctorParameters: function () { return [{ type: i1.ImpersonationUserSelectService }, { type: i1.ImpersonationService }, { type: i1.UserService }]; } });
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wZXJzb25hdGUtcXVpY2stcGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvbmF2aWdhdGlvbi9xdWljay1wYW5lbC9jb21wb25lbnRzL2ltcGVyc29uYXRlLXF1aWNrLXBhbmVsL2ltcGVyc29uYXRlLXF1aWNrLXBhbmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL25hdmlnYXRpb24vcXVpY2stcGFuZWwvY29tcG9uZW50cy9pbXBlcnNvbmF0ZS1xdWljay1wYW5lbC9pbXBlcnNvbmF0ZS1xdWljay1wYW5lbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztBQVF4QyxNQUFNLE9BQU8sOEJBQThCO0lBRXZDLFlBQ1kscUJBQXFELEVBQ3JELG9CQUEwQyxFQUMxQyxJQUFpQjtRQUZqQiwwQkFBcUIsR0FBckIscUJBQXFCLENBQWdDO1FBQ3JELHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsU0FBSSxHQUFKLElBQUksQ0FBYTtJQUMxQixDQUFDO0lBRUcsV0FBVztRQUNkLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFFTSxpQkFBaUI7UUFDcEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFTSxlQUFlO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDNUMsQ0FBQzs7NEhBbEJRLDhCQUE4QjtnSEFBOUIsOEJBQThCLGtFQ1IzQyx1WUFNQTs0RkRFYSw4QkFBOEI7a0JBTDFDLFNBQVM7K0JBQ0ksNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtJbXBlcnNvbmF0aW9uU2VydmljZSwgSW1wZXJzb25hdGlvblVzZXJTZWxlY3RTZXJ2aWNlLCBVc2VyU2VydmljZX0gZnJvbSAnQG5ldGdyaWYvY29tcG9uZW50cy1jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduYy1pbXBlcnNvbmF0ZS1xdWljay1wYW5lbCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ltcGVyc29uYXRlLXF1aWNrLXBhbmVsLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIEltcGVyc29uYXRlUXVpY2tQYW5lbENvbXBvbmVudCB7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBpbXBlcnNvbmF0ZVVzZXJTZWxlY3Q6IEltcGVyc29uYXRpb25Vc2VyU2VsZWN0U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBpbXBlcnNvbmF0aW9uU2VydmljZTogSW1wZXJzb25hdGlvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdXNlcjogVXNlclNlcnZpY2UsXG4gICAgKSB7fVxuXG4gICAgcHVibGljIGltcGVyc29uYXRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmltcGVyc29uYXRlVXNlclNlbGVjdC5zZWxlY3RJbXBlcnNvbmF0ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdG9wSW1wZXJzb25hdGluZygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbXBlcnNvbmF0aW9uU2VydmljZS5jZWFzZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0ltcGVyc29uYXRpbmcoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnVzZXIudXNlci5pc0ltcGVyc29uYXRpbmcoKTtcbiAgICB9XG5cbn1cbiIsIjxidXR0b24gKm5nSWY9XCIhaXNJbXBlcnNvbmF0aW5nKClcIiBbbWF0VG9vbHRpcF09XCInc2lkZS1tZW51LmltcGVyc29uYXRpb24uc3VibWl0JyB8IHRyYW5zbGF0ZVwiIChjbGljayk9XCJpbXBlcnNvbmF0ZSgpXCIgbWF0LWljb24tYnV0dG9uPlxuICAgIDxtYXQtaWNvbj5zdXBlcnZpc29yX2FjY291bnQ8L21hdC1pY29uPlxuPC9idXR0b24+XG48YnV0dG9uICpuZ0lmPVwiaXNJbXBlcnNvbmF0aW5nKClcIiBbbWF0VG9vbHRpcF09XCInc2lkZS1tZW51LmltcGVyc29uYXRpb24uY2Vhc2UnIHwgdHJhbnNsYXRlXCIgKGNsaWNrKT1cInN0b3BJbXBlcnNvbmF0aW5nKClcIiBtYXQtaWNvbi1idXR0b24+XG4gICAgPG1hdC1pY29uPmNsZWFyPC9tYXQtaWNvbj5cbjwvYnV0dG9uPlxuIl19
|
|
@@ -4,12 +4,13 @@ import * as i0 from "@angular/core";
|
|
|
4
4
|
import * as i1 from "@netgrif/components-core";
|
|
5
5
|
import * as i2 from "./language-selector/language-selector.component";
|
|
6
6
|
import * as i3 from "./internal-link/internal-link.component";
|
|
7
|
-
import * as i4 from "./
|
|
8
|
-
import * as i5 from "
|
|
9
|
-
import * as i6 from "@angular/material/
|
|
10
|
-
import * as i7 from "@angular/material/
|
|
11
|
-
import * as i8 from "@angular/
|
|
12
|
-
import * as i9 from "@angular/
|
|
7
|
+
import * as i4 from "./impersonate-quick-panel/impersonate-quick-panel.component";
|
|
8
|
+
import * as i5 from "./logout-shortcut/logout-shortcut.component";
|
|
9
|
+
import * as i6 from "@angular/material/button";
|
|
10
|
+
import * as i7 from "@angular/material/icon";
|
|
11
|
+
import * as i8 from "@angular/material/menu";
|
|
12
|
+
import * as i9 from "@angular/flex-layout/flex";
|
|
13
|
+
import * as i10 from "@angular/common";
|
|
13
14
|
export class QuickPanelComponent extends AbstractQuickPanelComponent {
|
|
14
15
|
constructor(_select, _paperView) {
|
|
15
16
|
super(_select, _paperView);
|
|
@@ -18,9 +19,9 @@ export class QuickPanelComponent extends AbstractQuickPanelComponent {
|
|
|
18
19
|
}
|
|
19
20
|
}
|
|
20
21
|
QuickPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: QuickPanelComponent, deps: [{ token: i1.LanguageService }, { token: i1.PaperViewService }], target: i0.ɵɵFactoryTarget.Component });
|
|
21
|
-
QuickPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: QuickPanelComponent, selector: "nc-quick-panel", usesInheritance: true, ngImport: i0, template: "<div fxLayout=\"row\" fxLayoutAlign=\"space-between center\" class=\"quick-panel\" [style.width.px]=\"width\">\n <nc-language-selector *ngIf=\"items.includes('language')\" [language]=\"getLang()\"></nc-language-selector>\n <nc-internal-link *ngIf=\"items.includes('settings')\" icon=\"settings\" link=\"/settings\"></nc-internal-link>\n <nc-logout-shortcut *ngIf=\"items.includes('logout')\"></nc-logout-shortcut>\n\n <button mat-icon-button [matMenuTriggerFor]=\"quickPanelMoreMenu\">\n <mat-icon class=\"quick-panel-more-icon\">more_vert</mat-icon>\n </button>\n</div>\n<mat-menu #quickPanelMoreMenu=\"matMenu\">\n <button mat-menu-item (click)=\"setPaperView()\" fxLayout=\"row\" fxLayoutAlign=\"start center\">\n <mat-icon *ngIf=\"isPaperView()\">cancel</mat-icon>\n <mat-icon *ngIf=\"!isPaperView()\">check</mat-icon>\n <span>{{isPaperView() ? 'Disable' : 'Enable'}} Paper View</span>\n </button>\n</mat-menu>\n", styles: [".quick-panel{height:62px;padding:8px}.quick-panel-more-icon{text-align:center;font-size:24px}\n"], components: [{ type: i2.LanguageSelectorComponent, selector: "nc-language-selector" }, { type: i3.InternalLinkComponent, selector: "nc-internal-link" }, { type: i4.LogoutShortcutComponent, selector: "nc-logout-shortcut" }, { type:
|
|
22
|
+
QuickPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: QuickPanelComponent, selector: "nc-quick-panel", usesInheritance: true, ngImport: i0, template: "<div fxLayout=\"row\" fxLayoutAlign=\"space-between center\" class=\"quick-panel\" [style.width.px]=\"width\">\n <nc-language-selector *ngIf=\"items.includes('language')\" [language]=\"getLang()\"></nc-language-selector>\n <nc-internal-link *ngIf=\"items.includes('settings')\" icon=\"settings\" link=\"/settings\"></nc-internal-link>\n <nc-impersonate-quick-panel *ngIf=\"items.includes('impersonation')\"></nc-impersonate-quick-panel>\n <nc-logout-shortcut *ngIf=\"items.includes('logout')\"></nc-logout-shortcut>\n\n <button mat-icon-button [matMenuTriggerFor]=\"quickPanelMoreMenu\">\n <mat-icon class=\"quick-panel-more-icon\">more_vert</mat-icon>\n </button>\n</div>\n<mat-menu #quickPanelMoreMenu=\"matMenu\">\n <button mat-menu-item (click)=\"setPaperView()\" fxLayout=\"row\" fxLayoutAlign=\"start center\">\n <mat-icon *ngIf=\"isPaperView()\">cancel</mat-icon>\n <mat-icon *ngIf=\"!isPaperView()\">check</mat-icon>\n <span>{{isPaperView() ? 'Disable' : 'Enable'}} Paper View</span>\n </button>\n</mat-menu>\n", styles: [".quick-panel{height:62px;padding:8px}.quick-panel-more-icon{text-align:center;font-size:24px}\n"], components: [{ type: i2.LanguageSelectorComponent, selector: "nc-language-selector" }, { type: i3.InternalLinkComponent, selector: "nc-internal-link" }, { type: i4.ImpersonateQuickPanelComponent, selector: "nc-impersonate-quick-panel" }, { type: i5.LogoutShortcutComponent, selector: "nc-logout-shortcut" }, { type: i6.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i8.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i8.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }], directives: [{ type: i9.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i9.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }] });
|
|
22
23
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: QuickPanelComponent, decorators: [{
|
|
23
24
|
type: Component,
|
|
24
|
-
args: [{ selector: 'nc-quick-panel', template: "<div fxLayout=\"row\" fxLayoutAlign=\"space-between center\" class=\"quick-panel\" [style.width.px]=\"width\">\n <nc-language-selector *ngIf=\"items.includes('language')\" [language]=\"getLang()\"></nc-language-selector>\n <nc-internal-link *ngIf=\"items.includes('settings')\" icon=\"settings\" link=\"/settings\"></nc-internal-link>\n <nc-logout-shortcut *ngIf=\"items.includes('logout')\"></nc-logout-shortcut>\n\n <button mat-icon-button [matMenuTriggerFor]=\"quickPanelMoreMenu\">\n <mat-icon class=\"quick-panel-more-icon\">more_vert</mat-icon>\n </button>\n</div>\n<mat-menu #quickPanelMoreMenu=\"matMenu\">\n <button mat-menu-item (click)=\"setPaperView()\" fxLayout=\"row\" fxLayoutAlign=\"start center\">\n <mat-icon *ngIf=\"isPaperView()\">cancel</mat-icon>\n <mat-icon *ngIf=\"!isPaperView()\">check</mat-icon>\n <span>{{isPaperView() ? 'Disable' : 'Enable'}} Paper View</span>\n </button>\n</mat-menu>\n", styles: [".quick-panel{height:62px;padding:8px}.quick-panel-more-icon{text-align:center;font-size:24px}\n"] }]
|
|
25
|
+
args: [{ selector: 'nc-quick-panel', template: "<div fxLayout=\"row\" fxLayoutAlign=\"space-between center\" class=\"quick-panel\" [style.width.px]=\"width\">\n <nc-language-selector *ngIf=\"items.includes('language')\" [language]=\"getLang()\"></nc-language-selector>\n <nc-internal-link *ngIf=\"items.includes('settings')\" icon=\"settings\" link=\"/settings\"></nc-internal-link>\n <nc-impersonate-quick-panel *ngIf=\"items.includes('impersonation')\"></nc-impersonate-quick-panel>\n <nc-logout-shortcut *ngIf=\"items.includes('logout')\"></nc-logout-shortcut>\n\n <button mat-icon-button [matMenuTriggerFor]=\"quickPanelMoreMenu\">\n <mat-icon class=\"quick-panel-more-icon\">more_vert</mat-icon>\n </button>\n</div>\n<mat-menu #quickPanelMoreMenu=\"matMenu\">\n <button mat-menu-item (click)=\"setPaperView()\" fxLayout=\"row\" fxLayoutAlign=\"start center\">\n <mat-icon *ngIf=\"isPaperView()\">cancel</mat-icon>\n <mat-icon *ngIf=\"!isPaperView()\">check</mat-icon>\n <span>{{isPaperView() ? 'Disable' : 'Enable'}} Paper View</span>\n </button>\n</mat-menu>\n", styles: [".quick-panel{height:62px;padding:8px}.quick-panel-more-icon{text-align:center;font-size:24px}\n"] }]
|
|
25
26
|
}], ctorParameters: function () { return [{ type: i1.LanguageService }, { type: i1.PaperViewService }]; } });
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpY2stcGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvbmF2aWdhdGlvbi9xdWljay1wYW5lbC9jb21wb25lbnRzL3F1aWNrLXBhbmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL25hdmlnYXRpb24vcXVpY2stcGFuZWwvY29tcG9uZW50cy9xdWljay1wYW5lbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sRUFBQywyQkFBMkIsRUFBb0MsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7Ozs7O0FBT3hHLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSwyQkFBMkI7SUFDaEUsWUFBc0IsT0FBd0IsRUFBWSxVQUE0QjtRQUNsRixLQUFLLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRFQsWUFBTyxHQUFQLE9BQU8sQ0FBaUI7UUFBWSxlQUFVLEdBQVYsVUFBVSxDQUFrQjtJQUV0RixDQUFDOztpSEFIUSxtQkFBbUI7cUdBQW5CLG1CQUFtQiw2RUNSaEMsZ2pDQWlCQTs0RkRUYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0ksZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBYnN0cmFjdFF1aWNrUGFuZWxDb21wb25lbnQsIExhbmd1YWdlU2VydmljZSwgUGFwZXJWaWV3U2VydmljZX0gZnJvbSAnQG5ldGdyaWYvY29tcG9uZW50cy1jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduYy1xdWljay1wYW5lbCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3F1aWNrLXBhbmVsLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9xdWljay1wYW5lbC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFF1aWNrUGFuZWxDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdFF1aWNrUGFuZWxDb21wb25lbnQge1xuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfc2VsZWN0OiBMYW5ndWFnZVNlcnZpY2UsIHByb3RlY3RlZCBfcGFwZXJWaWV3OiBQYXBlclZpZXdTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKF9zZWxlY3QsIF9wYXBlclZpZXcpO1xuICAgIH1cbn1cbiIsIjxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3BhY2UtYmV0d2VlbiBjZW50ZXJcIiBjbGFzcz1cInF1aWNrLXBhbmVsXCIgW3N0eWxlLndpZHRoLnB4XT1cIndpZHRoXCI+XG4gICAgPG5jLWxhbmd1YWdlLXNlbGVjdG9yICpuZ0lmPVwiaXRlbXMuaW5jbHVkZXMoJ2xhbmd1YWdlJylcIiBbbGFuZ3VhZ2VdPVwiZ2V0TGFuZygpXCI+PC9uYy1sYW5ndWFnZS1zZWxlY3Rvcj5cbiAgICA8bmMtaW50ZXJuYWwtbGluayAqbmdJZj1cIml0ZW1zLmluY2x1ZGVzKCdzZXR0aW5ncycpXCIgaWNvbj1cInNldHRpbmdzXCIgbGluaz1cIi9zZXR0aW5nc1wiPjwvbmMtaW50ZXJuYWwtbGluaz5cbiAgICA8bmMtaW1wZXJzb25hdGUtcXVpY2stcGFuZWwgKm5nSWY9XCJpdGVtcy5pbmNsdWRlcygnaW1wZXJzb25hdGlvbicpXCI+PC9uYy1pbXBlcnNvbmF0ZS1xdWljay1wYW5lbD5cbiAgICA8bmMtbG9nb3V0LXNob3J0Y3V0ICpuZ0lmPVwiaXRlbXMuaW5jbHVkZXMoJ2xvZ291dCcpXCI+PC9uYy1sb2dvdXQtc2hvcnRjdXQ+XG5cbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwicXVpY2tQYW5lbE1vcmVNZW51XCI+XG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInF1aWNrLXBhbmVsLW1vcmUtaWNvblwiPm1vcmVfdmVydDwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG48L2Rpdj5cbjxtYXQtbWVudSAjcXVpY2tQYW5lbE1vcmVNZW51PVwibWF0TWVudVwiPlxuICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwic2V0UGFwZXJWaWV3KClcIiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIj5cbiAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwiaXNQYXBlclZpZXcoKVwiPmNhbmNlbDwvbWF0LWljb24+XG4gICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cIiFpc1BhcGVyVmlldygpXCI+Y2hlY2s8L21hdC1pY29uPlxuICAgICAgICA8c3Bhbj57e2lzUGFwZXJWaWV3KCkgPyAnRGlzYWJsZScgOiAnRW5hYmxlJ319IFBhcGVyIFZpZXc8L3NwYW4+XG4gICAgPC9idXR0b24+XG48L21hdC1tZW51PlxuIl19
|
|
@@ -5,5 +5,6 @@ export * from './components/quick-panel.component';
|
|
|
5
5
|
export * from './components/internal-link/internal-link.component';
|
|
6
6
|
export * from './components/logout-shortcut/logout-shortcut.component';
|
|
7
7
|
export * from './components/language-selector/language-selector.component';
|
|
8
|
+
export * from './components/impersonate-quick-panel/impersonate-quick-panel.component';
|
|
8
9
|
/* SERVICES */
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL25hdmlnYXRpb24vcXVpY2stcGFuZWwvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxhQUFhO0FBQ2IsY0FBYyxzQkFBc0IsQ0FBQztBQUVyQyxnQkFBZ0I7QUFDaEIsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsd0RBQXdELENBQUM7QUFDdkUsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLHdFQUF3RSxDQUFDO0FBRXZGLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBNT0RVTEVTICovXG5leHBvcnQgKiBmcm9tICcuL3F1aWNrLXBhbmVsLm1vZHVsZSc7XG5cbi8qIENPTVBPTkVOVFMgKi9cbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9xdWljay1wYW5lbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2ludGVybmFsLWxpbmsvaW50ZXJuYWwtbGluay5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2xvZ291dC1zaG9ydGN1dC9sb2dvdXQtc2hvcnRjdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9sYW5ndWFnZS1zZWxlY3Rvci9sYW5ndWFnZS1zZWxlY3Rvci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2ltcGVyc29uYXRlLXF1aWNrLXBhbmVsL2ltcGVyc29uYXRlLXF1aWNrLXBhbmVsLmNvbXBvbmVudCc7XG5cbi8qIFNFUlZJQ0VTICovXG4iXX0=
|
|
@@ -6,6 +6,7 @@ import { LanguageSelectorComponent } from './components/language-selector/langua
|
|
|
6
6
|
import { InternalLinkComponent } from './components/internal-link/internal-link.component';
|
|
7
7
|
import { RouterModule } from '@angular/router';
|
|
8
8
|
import { MaterialModule, TranslateLibModule } from '@netgrif/components-core';
|
|
9
|
+
import { ImpersonateQuickPanelComponent } from './components/impersonate-quick-panel/impersonate-quick-panel.component';
|
|
9
10
|
import * as i0 from "@angular/core";
|
|
10
11
|
export class QuickPanelComponentModule {
|
|
11
12
|
}
|
|
@@ -13,13 +14,15 @@ QuickPanelComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0"
|
|
|
13
14
|
QuickPanelComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: QuickPanelComponentModule, declarations: [QuickPanelComponent,
|
|
14
15
|
LogoutShortcutComponent,
|
|
15
16
|
LanguageSelectorComponent,
|
|
16
|
-
InternalLinkComponent
|
|
17
|
+
InternalLinkComponent,
|
|
18
|
+
ImpersonateQuickPanelComponent], imports: [CommonModule,
|
|
17
19
|
RouterModule,
|
|
18
20
|
MaterialModule,
|
|
19
21
|
TranslateLibModule], exports: [QuickPanelComponent,
|
|
20
22
|
LogoutShortcutComponent,
|
|
21
23
|
LanguageSelectorComponent,
|
|
22
|
-
InternalLinkComponent
|
|
24
|
+
InternalLinkComponent,
|
|
25
|
+
ImpersonateQuickPanelComponent] });
|
|
23
26
|
QuickPanelComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: QuickPanelComponentModule, imports: [[
|
|
24
27
|
CommonModule,
|
|
25
28
|
RouterModule,
|
|
@@ -33,13 +36,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
33
36
|
QuickPanelComponent,
|
|
34
37
|
LogoutShortcutComponent,
|
|
35
38
|
LanguageSelectorComponent,
|
|
36
|
-
InternalLinkComponent
|
|
39
|
+
InternalLinkComponent,
|
|
40
|
+
ImpersonateQuickPanelComponent
|
|
37
41
|
],
|
|
38
42
|
exports: [
|
|
39
43
|
QuickPanelComponent,
|
|
40
44
|
LogoutShortcutComponent,
|
|
41
45
|
LanguageSelectorComponent,
|
|
42
|
-
InternalLinkComponent
|
|
46
|
+
InternalLinkComponent,
|
|
47
|
+
ImpersonateQuickPanelComponent
|
|
43
48
|
],
|
|
44
49
|
imports: [
|
|
45
50
|
CommonModule,
|
|
@@ -49,4 +54,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
49
54
|
]
|
|
50
55
|
}]
|
|
51
56
|
}] });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpY2stcGFuZWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvbmF2aWdhdGlvbi9xdWljay1wYW5lbC9xdWljay1wYW5lbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sd0RBQXdELENBQUM7QUFDL0YsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sNERBQTRELENBQUM7QUFDckcsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFDekYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxjQUFjLEVBQUUsa0JBQWtCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx3RUFBd0UsQ0FBQzs7QUF5QnhILE1BQU0sT0FBTyx5QkFBeUI7O3VIQUF6Qix5QkFBeUI7d0hBQXpCLHlCQUF5QixpQkFwQjlCLG1CQUFtQjtRQUNuQix1QkFBdUI7UUFDdkIseUJBQXlCO1FBQ3pCLHFCQUFxQjtRQUNyQiw4QkFBOEIsYUFVOUIsWUFBWTtRQUNaLFlBQVk7UUFDWixjQUFjO1FBQ2Qsa0JBQWtCLGFBVmxCLG1CQUFtQjtRQUNuQix1QkFBdUI7UUFDdkIseUJBQXlCO1FBQ3pCLHFCQUFxQjtRQUNyQiw4QkFBOEI7d0hBU3pCLHlCQUF5QixZQVB6QjtZQUNMLFlBQVk7WUFDWixZQUFZO1lBQ1osY0FBYztZQUNkLGtCQUFrQjtTQUNyQjs0RkFFUSx5QkFBeUI7a0JBdEJyQyxRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRTt3QkFDVixtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIseUJBQXlCO3dCQUN6QixxQkFBcUI7d0JBQ3JCLDhCQUE4QjtxQkFDakM7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLG1CQUFtQjt3QkFDbkIsdUJBQXVCO3dCQUN2Qix5QkFBeUI7d0JBQ3pCLHFCQUFxQjt3QkFDckIsOEJBQThCO3FCQUNqQztvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixZQUFZO3dCQUNaLGNBQWM7d0JBQ2Qsa0JBQWtCO3FCQUNyQjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1F1aWNrUGFuZWxDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9xdWljay1wYW5lbC5jb21wb25lbnQnO1xuaW1wb3J0IHtMb2dvdXRTaG9ydGN1dENvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2xvZ291dC1zaG9ydGN1dC9sb2dvdXQtc2hvcnRjdXQuY29tcG9uZW50JztcbmltcG9ydCB7TGFuZ3VhZ2VTZWxlY3RvckNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2xhbmd1YWdlLXNlbGVjdG9yL2xhbmd1YWdlLXNlbGVjdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQge0ludGVybmFsTGlua0NvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2ludGVybmFsLWxpbmsvaW50ZXJuYWwtbGluay5jb21wb25lbnQnO1xuaW1wb3J0IHtSb3V0ZXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge01hdGVyaWFsTW9kdWxlLCBUcmFuc2xhdGVMaWJNb2R1bGV9IGZyb20gJ0BuZXRncmlmL2NvbXBvbmVudHMtY29yZSc7XG5pbXBvcnQgeyBJbXBlcnNvbmF0ZVF1aWNrUGFuZWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaW1wZXJzb25hdGUtcXVpY2stcGFuZWwvaW1wZXJzb25hdGUtcXVpY2stcGFuZWwuY29tcG9uZW50JztcblxuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBRdWlja1BhbmVsQ29tcG9uZW50LFxuICAgICAgICBMb2dvdXRTaG9ydGN1dENvbXBvbmVudCxcbiAgICAgICAgTGFuZ3VhZ2VTZWxlY3RvckNvbXBvbmVudCxcbiAgICAgICAgSW50ZXJuYWxMaW5rQ29tcG9uZW50LFxuICAgICAgICBJbXBlcnNvbmF0ZVF1aWNrUGFuZWxDb21wb25lbnRcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgUXVpY2tQYW5lbENvbXBvbmVudCxcbiAgICAgICAgTG9nb3V0U2hvcnRjdXRDb21wb25lbnQsXG4gICAgICAgIExhbmd1YWdlU2VsZWN0b3JDb21wb25lbnQsXG4gICAgICAgIEludGVybmFsTGlua0NvbXBvbmVudCxcbiAgICAgICAgSW1wZXJzb25hdGVRdWlja1BhbmVsQ29tcG9uZW50XG4gICAgXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgUm91dGVyTW9kdWxlLFxuICAgICAgICBNYXRlcmlhbE1vZHVsZSxcbiAgICAgICAgVHJhbnNsYXRlTGliTW9kdWxlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBRdWlja1BhbmVsQ29tcG9uZW50TW9kdWxlIHtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { AbstractUserAssignItemComponent } from '@netgrif/components-core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/material/icon";
|
|
5
|
+
import * as i2 from "@angular/flex-layout/flex";
|
|
6
|
+
import * as i3 from "@angular/common";
|
|
7
|
+
import * as i4 from "@angular/flex-layout/extended";
|
|
8
|
+
/**
|
|
9
|
+
* Includes avatar user icon and full username in the side menu.
|
|
10
|
+
*/
|
|
11
|
+
export class AdminImpersonateItemComponent extends AbstractUserAssignItemComponent {
|
|
12
|
+
constructor() {
|
|
13
|
+
super();
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
AdminImpersonateItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AdminImpersonateItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
17
|
+
AdminImpersonateItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AdminImpersonateItemComponent, selector: "nc-admin-impersonate-item", usesInheritance: true, ngImport: i0, template: "<div fxLayout=\"row\" fxLayoutAlign=\"start center\" class=\"user-item\" [ngClass]=\"{\n 'admin-impersonate-item-selected': (selectedId$ | async) === user.id\n }\">\n <mat-icon class=\"icon\">account_circle</mat-icon>\n <div fxLayout=\"column\">\n <span>{{user.fullName}}</span>\n <span>{{user.email}}</span>\n </div>\n</div>\n", styles: [".user-item{padding:10px 15px;cursor:pointer}.user-item:hover{background-color:#00000024;border-radius:2.5px}.icon{margin-right:16px;height:40px;width:40px;font-size:40px}.email-selected,.email-unselected{font-size:.9em}\n"], components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i2.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }], pipes: { "async": i3.AsyncPipe } });
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AdminImpersonateItemComponent, decorators: [{
|
|
19
|
+
type: Component,
|
|
20
|
+
args: [{ selector: 'nc-admin-impersonate-item', template: "<div fxLayout=\"row\" fxLayoutAlign=\"start center\" class=\"user-item\" [ngClass]=\"{\n 'admin-impersonate-item-selected': (selectedId$ | async) === user.id\n }\">\n <mat-icon class=\"icon\">account_circle</mat-icon>\n <div fxLayout=\"column\">\n <span>{{user.fullName}}</span>\n <span>{{user.email}}</span>\n </div>\n</div>\n", styles: [".user-item{padding:10px 15px;cursor:pointer}.user-item:hover{background-color:#00000024;border-radius:2.5px}.icon{margin-right:16px;height:40px;width:40px;font-size:40px}.email-selected,.email-unselected{font-size:.9em}\n"] }]
|
|
21
|
+
}], ctorParameters: function () { return []; } });
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4taW1wZXJzb25hdGUtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMvc3JjL2xpYi9zaWRlLW1lbnUvY29udGVudC1jb21wb25lbnRzL2FkbWluLWltcGVyc29uYXRlL2FkbWluLWltcGVyc29uYXRlLWxpc3QvYWRtaW4taW1wZXJzb25hdGUtaXRlbS9hZG1pbi1pbXBlcnNvbmF0ZS1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL3NpZGUtbWVudS9jb250ZW50LWNvbXBvbmVudHMvYWRtaW4taW1wZXJzb25hdGUvYWRtaW4taW1wZXJzb25hdGUtbGlzdC9hZG1pbi1pbXBlcnNvbmF0ZS1pdGVtL2FkbWluLWltcGVyc29uYXRlLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEVBQUMsK0JBQStCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7O0FBRXpFOztHQUVHO0FBTUgsTUFBTSxPQUFPLDZCQUE4QixTQUFRLCtCQUErQjtJQUU5RTtRQUNJLEtBQUssRUFBRSxDQUFDO0lBQ1osQ0FBQzs7MkhBSlEsNkJBQTZCOytHQUE3Qiw2QkFBNkIsd0ZDWDFDLGtYQVNBOzRGREVhLDZCQUE2QjtrQkFMekMsU0FBUzsrQkFDSSwyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Fic3RyYWN0VXNlckFzc2lnbkl0ZW1Db21wb25lbnR9IGZyb20gJ0BuZXRncmlmL2NvbXBvbmVudHMtY29yZSc7XG5cbi8qKlxuICogSW5jbHVkZXMgYXZhdGFyIHVzZXIgaWNvbiBhbmQgZnVsbCB1c2VybmFtZSBpbiB0aGUgc2lkZSBtZW51LlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25jLWFkbWluLWltcGVyc29uYXRlLWl0ZW0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9hZG1pbi1pbXBlcnNvbmF0ZS1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9hZG1pbi1pbXBlcnNvbmF0ZS1pdGVtLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQWRtaW5JbXBlcnNvbmF0ZUl0ZW1Db21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdFVzZXJBc3NpZ25JdGVtQ29tcG9uZW50IHtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cbn1cbiIsIjxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCIgY2xhc3M9XCJ1c2VyLWl0ZW1cIiBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAnYWRtaW4taW1wZXJzb25hdGUtaXRlbS1zZWxlY3RlZCc6IChzZWxlY3RlZElkJCB8IGFzeW5jKSA9PT0gdXNlci5pZFxuICAgICAgICB9XCI+XG4gICAgPG1hdC1pY29uIGNsYXNzPVwiaWNvblwiPmFjY291bnRfY2lyY2xlPC9tYXQtaWNvbj5cbiAgICA8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCI+XG4gICAgICAgIDxzcGFuPnt7dXNlci5mdWxsTmFtZX19PC9zcGFuPlxuICAgICAgICA8c3Bhbj57e3VzZXIuZW1haWx9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
|