@onemrvapublic/design-system 17.2.85 → 17.2.86
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/layout/src/components/layout/layout.component.mjs +2 -2
- package/esm2022/layout/src/directives/drawer-host.directive.mjs +29 -5
- package/esm2022/layout/src/services/drawer.service.mjs +7 -2
- package/esm2022/mat-message-box/src/onemrva-mat-message-box.component.mjs +2 -8
- package/fesm2022/onemrvapublic-design-system-layout.mjs +41 -14
- package/fesm2022/onemrvapublic-design-system-layout.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-message-box.mjs +1 -7
- package/fesm2022/onemrvapublic-design-system-mat-message-box.mjs.map +1 -1
- package/layout/src/components/layout/_layout-mixin.component.scss +20 -3
- package/layout/src/components/layout/layout.component.scss +1 -1
- package/layout/src/components/layout-drawer-actions/layout-drawer-actions.component.scss +6 -0
- package/layout/src/components/layout-drawer-content/layout-drawer-content.component.scss +0 -0
- package/layout/src/components/layout-drawer-title/layout-drawer-title.component.scss +10 -0
- package/layout/src/directives/drawer-host.directive.d.ts +9 -3
- package/layout/src/index.scss +0 -1
- package/layout/src/services/drawer.service.d.ts +4 -1
- package/mat-message-box/src/onemrva-mat-message-box.component.d.ts +0 -1
- package/mat-panel/src/onemrva-mat-panel.component.scss +1 -0
- package/package.json +1 -1
|
@@ -128,14 +128,14 @@ export class LayoutComponent {
|
|
|
128
128
|
this.drawer.open();
|
|
129
129
|
}
|
|
130
130
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LayoutComponent, deps: [{ token: i1.TranslateService }, { token: i0.ChangeDetectorRef }, { token: i2.BreakpointObserver }, { token: DOCUMENT }, { token: i3.OnemrvaDrawerService }], target: i0.ɵɵFactoryTarget.Component });
|
|
131
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: LayoutComponent, selector: "onemrva-layout", inputs: { fluid: "fluid", logo: "logo", languages: "languages", environment: "environment", logoRedictionUrl: "logoRedictionUrl", profile: "profile", id: "id", role: "role" }, outputs: { login: "login", logout: "logout" }, queries: [{ propertyName: "title", first: true, predicate: LayoutTitleComponent, descendants: true }, { propertyName: "loginMenu", first: true, predicate: LayoutLoginMenuComponent, descendants: true }, { propertyName: "content", first: true, predicate: LayoutContentComponent, descendants: true }, { propertyName: "afterNav", first: true, predicate: LayoutAfterNavComponent, descendants: true }, { propertyName: "footer", first: true, predicate: LayoutFooterComponent, descendants: true }, { propertyName: "routes", predicate: LayoutRouteComponent }], viewQueries: [{ propertyName: "drawer", first: true, predicate: MatDrawer, descendants: true, static: true }, { propertyName: "drawerHost", first: true, predicate: DrawerHostDirective, descendants: true, static: true }], ngImport: i0, template: "<mat-drawer-container\n class=\"example-container\"\n [hasBackdrop]=\"drawerService.hasBackdrop\"\n autosize\n>\n <div class=\"app-content\">\n <header>\n <mat-toolbar class=\"mat-elevation-z4\">\n <div class=\"environment\" [class]=\"environment\">\n {{ environment }}\n </div>\n <div\n [class.container]=\"!fluid\"\n [class.container-fluid]=\"fluid\"\n class=\"nav-container flex-center\"\n >\n {{ logoRedictionUrl }}\n <img\n class=\"logo\"\n [src]=\"logo\"\n [attr.data-cy]=\"'onemrva_logo_' + translateService.currentLang\"\n alt=\"Logo ONEM/RVA\"\n [routerLink]=\"\n logoRedictionUrl !== null ? logoRedictionUrl : undefined\n \"\n [ngStyle]=\"{\n cursor: logoRedictionUrl !== null ? 'pointer' : 'default'\n }\"\n />\n <div class=\"application-title\" [ngClass]=\"{ 'small-screen': isSmall }\">\n <ng-container *ngIf=\"title?.template as titleTpl\">\n <ng-container *ngTemplateOutlet=\"titleTpl\"></ng-container>\n </ng-container>\n </div>\n\n <div style=\"flex: 1\"></div>\n <div class=\"flex-center\"\n mat-tab-nav-bar\n [tabPanel]=\"tabPanel\"\n *ngIf=\"!isSmall\"\n >\n <ng-container *ngFor=\"let e of routes?.toArray(); let i = index\">\n <a\n mat-tab-link\n [routerLink]=\"e.routerLink\"\n [routerLinkActiveOptions]=\"{ exact: !e.hasSubroutes() }\"\n #rla=\"routerLinkActive\"\n routerLinkActive=\"mdc-tab--active\"\n [active]=\"rla.isActive || e.isRouteActive()\"\n >\n <ng-container *ngIf=\"e.template as routeTemplate\">\n <ng-container *ngTemplateOutlet=\"routeTemplate\"> </ng-container>\n </ng-container>\n </a>\n </ng-container>\n </div>\n\n <mat-tab-nav-panel #tabPanel></mat-tab-nav-panel>\n\n <ng-container *ngIf=\"afterNav?.template as tpl\">\n <ng-container *ngTemplateOutlet=\"tpl\"></ng-container>\n </ng-container>\n\n <mat-divider\n vertical\n style=\"height: 1em; align-self: center\"\n *ngIf=\"!isSmall && routes?.toArray()?.length\"\n ></mat-divider>\n\n <mat-tab-group\n class=\"language-tabs\"\n [selectedIndex]=\"selectedIndex\"\n (selectedIndexChange)=\"changeLanguage($event)\"\n *ngIf=\"!isSmall\"\n >\n <mat-tab *ngFor=\"let lang of languages\">\n <div *matTabLabel [attr.data-cy]=\"'language_' + lang.code\">\n {{ lang.label }}\n </div>\n </mat-tab>\n </mat-tab-group>\n\n <ng-container *ngIf=\"profile !== null\">\n <mat-divider\n vertical\n style=\"height: 1em; align-self: center\"\n *ngIf=\"!isSmall\"\n ></mat-divider>\n <button\n disableRipple\n data-cy=\"accountMenu\"\n class=\"account-button\"\n [matMenuTriggerFor]=\"menu\"\n mat-icon-button\n attr.aria-label=\"{{ 'layout.profile' | translate }}\"\n >\n <mat-icon *ngIf=\"!profile.isLoggedIn\" class=\"large\"\n >account_circle</mat-icon\n >\n\n <onemrva-mat-avatar\n *ngIf=\"profile.isLoggedIn\"\n initials=\"{{ profile.initials() }}\"\n color=\"accent\"\n size=\"extrasmall\"\n ></onemrva-mat-avatar>\n </button>\n <mat-menu #menu=\"matMenu\">\n <ng-container *ngIf=\"profile.isLoggedIn; else notConnected\">\n <p class=\"accountName\">\n {{ profile.firstName }} {{ profile.lastName }}\n </p>\n <mat-divider style=\"align-self: stretch\"></mat-divider>\n\n <ng-container *ngIf=\"loginMenu?.template as menuLoginTpl\">\n <ng-container *ngTemplateOutlet=\"menuLoginTpl\"></ng-container>\n </ng-container>\n\n <button\n type=\"button\"\n class=\"mat-mdc-menu-item\"\n mat-menu-itemMrzapoie\n data-cy=\"logoutButton\"\n (click)=\"doLogout()\"\n attr.aria-label=\"{{ 'layout.logout' | translate }}\"\n >\n <mat-icon>logout</mat-icon>{{ \"layout.logout\" | translate }}\n </button>\n </ng-container>\n <ng-template #notConnected>\n <button\n type=\"button\"\n mat-menu-item\n data-cy=\"loginButton\"\n (click)=\"doLogin()\"\n attr.aria-label=\"{{ 'layout.login' | translate }}\"\n >\n <mat-icon>login</mat-icon>{{ \"layout.login\" | translate }}\n </button>\n </ng-template>\n </mat-menu>\n </ng-container>\n <ng-container\n *ngIf=\"\n isSmall &&\n (routes?.toArray()?.length || (languages && languages.length > 1))\n \"\n >\n <button\n type=\"button\"\n mat-icon-button\n class=\"menu-button\"\n data-cy=\"smallDeviceMenu\"\n (click)=\"toggleSideNav()\"\n attr.aria-label=\"{{ 'layout.menu' | translate }}\"\n >\n <mat-icon>menu</mat-icon>\n </button>\n </ng-container>\n </div>\n </mat-toolbar>\n\n </header>\n <ng-container>\n <div [id]=\"id\" [attr.role]=\"role\"\n [class.container]=\"!fluid\"\n [class.container-fluid]=\"fluid\"\n class=\"onemrva-layout-content\"\n *ngIf=\"content?.template as tpl\">\n <ng-container *ngTemplateOutlet=\"tpl\"></ng-container>\n\n\n <ng-container\n *ngIf=\"environment && (environment === env.LOCAL || environment === env.TEST)\"\n >\n <button\n id=\"accessibility_fab\"\n mat-fab\n color=\"accent\"\n aria-label=\"Accessibility check\"\n matTooltip=\"Accessibility check\"\n onclick=\"javascript:(function() {var _p='//openfed.github.io/AccessibilityCheck/build/';var _i=function(s,cb) {var sc=document.createElement('script');sc.onload = function() {sc.onload = null;sc.onreadystatechange = null;cb.call(this);};sc.onreadystatechange = function(){if(/^(complete|loaded)$/.test(this.readyState) === true){sc.onreadystatechange = null;sc.onload();}};sc.src=s;if (document.head) {document.head.appendChild(sc);} else {document.getElementsByTagName('head')[0].appendChild(sc);}}; var options={path:_p};_i(_p+'HTMLCS.js',function(){HTMLCSAuditor.run('WCAG2AA',null,options);});})();\"\n >\n <mat-icon>accessibility</mat-icon>\n </button>\n </ng-container>\n\n </div>\n\n <footer\n class=\"onemrva-footer\" *ngIf=\"footer?.template as footer\">\n <div\n [class.container]=\"!fluid\"\n [class.container-fluid]=\"fluid\">\n <ng-container *ngTemplateOutlet=\"footer\"></ng-container>\n </div>\n\n </footer>\n </ng-container>\n </div>\n\n <mat-drawer\n class=\"onemrva-drawer mobile-menu-sidebar\"\n mode=\"over\"\n position=\"end\"\n >\n <ng-template drawerhost></ng-template>\n </mat-drawer>\n</mat-drawer-container>\n", styles: [".mat-mdc-tab-nav-bar .mat-mdc-tab-header{height:42px!important}.logo{align-self:center;cursor:pointer}.application-title{font-size:1rem;font-weight:700;font-size:20px;height:42px}:host .mat-toolbar{background:#fff;position:fixed;top:0;height:90px;z-index:400}.accountName{margin:16px;line-height:16px;font-weight:700}:host{position:relative}:host router-outlet{display:block;margin-bottom:90px}:host .environment{position:fixed;top:0;left:0;z-index:24000;width:60px;height:50px;padding:15px 20px;font-weight:700;font-size:16px;border-radius:0 0 100%;color:#fff;display:none}:host .environment.LOCAL{background:transparent linear-gradient(90deg,#de2174,#eb142a) 0% 0% no-repeat padding-box;display:block}:host .environment.TEST{background-color:#36c;display:block}:host .environment.VAL{background-color:#093;display:block}:host a:active{outline:none}.s-menu .s-menu-languages{display:flex}.s-menu .s-menu-item.active{font-weight:700!important}.s-menu .s-menu-item:hover{cursor:pointer;font-weight:700}.onemrva-layout-content{padding-top:90px;min-height:calc(100vh - 90px)}.onemrva-footer{text-align:center;padding:9.5px}onemrva-mat-avatar.clickable{cursor:pointer}.mat-mdc-menu-content button.active>*{font-weight:700!important}.mat-mdc-menu-content button mat-icon{font-size:18px!important;height:18px;width:18px}.mat-mdc-menu-content button span{font-size:14px!important}#accessibility_fab{position:fixed;bottom:16px;left:16px}nav a.disabled{pointer-events:none}.menu-close-button{float:right}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i5.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: i6.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i7.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i8.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i8.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "directive", type: i9.MatTabLabel, selector: "[mat-tab-label], [matTabLabel]" }, { kind: "component", type: i9.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i9.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "component", type: i9.MatTabNav, selector: "[mat-tab-nav-bar]", inputs: ["fitInkBarToContent", "mat-stretch-tabs", "animationDuration", "backgroundColor", "disableRipple", "color", "tabPanel"], exportAs: ["matTabNavBar", "matTabNav"] }, { kind: "component", type: i9.MatTabNavPanel, selector: "mat-tab-nav-panel", inputs: ["id"], exportAs: ["matTabNavPanel"] }, { kind: "component", type: i9.MatTabLink, selector: "[mat-tab-link], [matTabLink]", inputs: ["active", "disabled", "disableRipple", "tabIndex", "id"], exportAs: ["matTabLink"] }, { kind: "component", type: i10.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatFabButton, selector: "button[mat-fab]", inputs: ["extended"], exportAs: ["matButton"] }, { kind: "component", type: i11.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i11.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i11.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i12.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i13.OnemrvaMatAvatarComponent, selector: "onemrva-mat-avatar", inputs: ["id", "roundShape", "initials", "icon", "src", "size", "color"] }, { kind: "directive", type: i14.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i15.DrawerHostDirective, selector: "[drawerhost]" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
|
|
131
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: LayoutComponent, selector: "onemrva-layout", inputs: { fluid: "fluid", logo: "logo", languages: "languages", environment: "environment", logoRedictionUrl: "logoRedictionUrl", profile: "profile", id: "id", role: "role" }, outputs: { login: "login", logout: "logout" }, queries: [{ propertyName: "title", first: true, predicate: LayoutTitleComponent, descendants: true }, { propertyName: "loginMenu", first: true, predicate: LayoutLoginMenuComponent, descendants: true }, { propertyName: "content", first: true, predicate: LayoutContentComponent, descendants: true }, { propertyName: "afterNav", first: true, predicate: LayoutAfterNavComponent, descendants: true }, { propertyName: "footer", first: true, predicate: LayoutFooterComponent, descendants: true }, { propertyName: "routes", predicate: LayoutRouteComponent }], viewQueries: [{ propertyName: "drawer", first: true, predicate: MatDrawer, descendants: true, static: true }, { propertyName: "drawerHost", first: true, predicate: DrawerHostDirective, descendants: true, static: true }], ngImport: i0, template: "<mat-drawer-container\n class=\"example-container\"\n [hasBackdrop]=\"drawerService.hasBackdrop\"\n autosize\n>\n <div class=\"app-content\">\n <header>\n <mat-toolbar class=\"mat-elevation-z4\">\n <div class=\"environment\" [class]=\"environment\">\n {{ environment }}\n </div>\n <div\n [class.container]=\"!fluid\"\n [class.container-fluid]=\"fluid\"\n class=\"nav-container flex-center\"\n >\n {{ logoRedictionUrl }}\n <img\n class=\"logo\"\n [src]=\"logo\"\n [attr.data-cy]=\"'onemrva_logo_' + translateService.currentLang\"\n alt=\"Logo ONEM/RVA\"\n [routerLink]=\"\n logoRedictionUrl !== null ? logoRedictionUrl : undefined\n \"\n [ngStyle]=\"{\n cursor: logoRedictionUrl !== null ? 'pointer' : 'default'\n }\"\n />\n <div class=\"application-title\" [ngClass]=\"{ 'small-screen': isSmall }\">\n <ng-container *ngIf=\"title?.template as titleTpl\">\n <ng-container *ngTemplateOutlet=\"titleTpl\"></ng-container>\n </ng-container>\n </div>\n\n <div style=\"flex: 1\"></div>\n <div class=\"flex-center\"\n mat-tab-nav-bar\n [tabPanel]=\"tabPanel\"\n *ngIf=\"!isSmall\"\n >\n <ng-container *ngFor=\"let e of routes?.toArray(); let i = index\">\n <a\n mat-tab-link\n [routerLink]=\"e.routerLink\"\n [routerLinkActiveOptions]=\"{ exact: !e.hasSubroutes() }\"\n #rla=\"routerLinkActive\"\n routerLinkActive=\"mdc-tab--active\"\n [active]=\"rla.isActive || e.isRouteActive()\"\n >\n <ng-container *ngIf=\"e.template as routeTemplate\">\n <ng-container *ngTemplateOutlet=\"routeTemplate\"> </ng-container>\n </ng-container>\n </a>\n </ng-container>\n </div>\n\n <mat-tab-nav-panel #tabPanel></mat-tab-nav-panel>\n\n <ng-container *ngIf=\"afterNav?.template as tpl\">\n <ng-container *ngTemplateOutlet=\"tpl\"></ng-container>\n </ng-container>\n\n <mat-divider\n vertical\n style=\"height: 1em; align-self: center\"\n *ngIf=\"!isSmall && routes?.toArray()?.length\"\n ></mat-divider>\n\n <mat-tab-group\n class=\"language-tabs\"\n [selectedIndex]=\"selectedIndex\"\n (selectedIndexChange)=\"changeLanguage($event)\"\n *ngIf=\"!isSmall\"\n >\n <mat-tab *ngFor=\"let lang of languages\">\n <div *matTabLabel [attr.data-cy]=\"'language_' + lang.code\">\n {{ lang.label }}\n </div>\n </mat-tab>\n </mat-tab-group>\n\n <ng-container *ngIf=\"profile !== null\">\n <mat-divider\n vertical\n style=\"height: 1em; align-self: center\"\n *ngIf=\"!isSmall\"\n ></mat-divider>\n <button\n disableRipple\n data-cy=\"accountMenu\"\n class=\"account-button\"\n [matMenuTriggerFor]=\"menu\"\n mat-icon-button\n attr.aria-label=\"{{ 'layout.profile' | translate }}\"\n >\n <mat-icon *ngIf=\"!profile.isLoggedIn\" class=\"large\"\n >account_circle</mat-icon\n >\n\n <onemrva-mat-avatar\n *ngIf=\"profile.isLoggedIn\"\n initials=\"{{ profile.initials() }}\"\n color=\"accent\"\n size=\"extrasmall\"\n ></onemrva-mat-avatar>\n </button>\n <mat-menu #menu=\"matMenu\">\n <ng-container *ngIf=\"profile.isLoggedIn; else notConnected\">\n <p class=\"accountName\">\n {{ profile.firstName }} {{ profile.lastName }}\n </p>\n <mat-divider style=\"align-self: stretch\"></mat-divider>\n\n <ng-container *ngIf=\"loginMenu?.template as menuLoginTpl\">\n <ng-container *ngTemplateOutlet=\"menuLoginTpl\"></ng-container>\n </ng-container>\n\n <button\n type=\"button\"\n class=\"mat-mdc-menu-item\"\n mat-menu-itemMrzapoie\n data-cy=\"logoutButton\"\n (click)=\"doLogout()\"\n attr.aria-label=\"{{ 'layout.logout' | translate }}\"\n >\n <mat-icon>logout</mat-icon>{{ \"layout.logout\" | translate }}\n </button>\n </ng-container>\n <ng-template #notConnected>\n <button\n type=\"button\"\n mat-menu-item\n data-cy=\"loginButton\"\n (click)=\"doLogin()\"\n attr.aria-label=\"{{ 'layout.login' | translate }}\"\n >\n <mat-icon>login</mat-icon>{{ \"layout.login\" | translate }}\n </button>\n </ng-template>\n </mat-menu>\n </ng-container>\n <ng-container\n *ngIf=\"\n isSmall &&\n (routes?.toArray()?.length || (languages && languages.length > 1))\n \"\n >\n <button\n type=\"button\"\n mat-icon-button\n class=\"menu-button\"\n data-cy=\"smallDeviceMenu\"\n (click)=\"toggleSideNav()\"\n attr.aria-label=\"{{ 'layout.menu' | translate }}\"\n >\n <mat-icon>menu</mat-icon>\n </button>\n </ng-container>\n </div>\n </mat-toolbar>\n\n </header>\n <ng-container>\n <div [id]=\"id\" [attr.role]=\"role\"\n [class.container]=\"!fluid\"\n [class.container-fluid]=\"fluid\"\n class=\"onemrva-layout-content\"\n *ngIf=\"content?.template as tpl\">\n <ng-container *ngTemplateOutlet=\"tpl\"></ng-container>\n\n\n <ng-container\n *ngIf=\"environment && (environment === env.LOCAL || environment === env.TEST)\"\n >\n <button\n id=\"accessibility_fab\"\n mat-fab\n color=\"accent\"\n aria-label=\"Accessibility check\"\n matTooltip=\"Accessibility check\"\n onclick=\"javascript:(function() {var _p='//openfed.github.io/AccessibilityCheck/build/';var _i=function(s,cb) {var sc=document.createElement('script');sc.onload = function() {sc.onload = null;sc.onreadystatechange = null;cb.call(this);};sc.onreadystatechange = function(){if(/^(complete|loaded)$/.test(this.readyState) === true){sc.onreadystatechange = null;sc.onload();}};sc.src=s;if (document.head) {document.head.appendChild(sc);} else {document.getElementsByTagName('head')[0].appendChild(sc);}}; var options={path:_p};_i(_p+'HTMLCS.js',function(){HTMLCSAuditor.run('WCAG2AA',null,options);});})();\"\n >\n <mat-icon>accessibility</mat-icon>\n </button>\n </ng-container>\n\n </div>\n\n <footer\n class=\"onemrva-footer\" *ngIf=\"footer?.template as footer\">\n <div\n [class.container]=\"!fluid\"\n [class.container-fluid]=\"fluid\">\n <ng-container *ngTemplateOutlet=\"footer\"></ng-container>\n </div>\n\n </footer>\n </ng-container>\n </div>\n\n <mat-drawer\n class=\"onemrva-drawer mobile-menu-sidebar\"\n mode=\"over\"\n position=\"end\"\n >\n <ng-template drawerhost></ng-template>\n </mat-drawer>\n</mat-drawer-container>\n", styles: [".mat-mdc-tab-nav-bar .mat-mdc-tab-header{height:42px!important}.logo{align-self:center;cursor:pointer}.application-title{font-size:1rem;font-weight:700;font-size:20px;height:42px}:host .mat-toolbar{background:#fff;position:fixed;top:0;height:90px;z-index:400}.accountName{margin:16px;line-height:16px;font-weight:700}:host{position:relative}:host router-outlet{display:block;margin-bottom:90px}:host .environment{position:fixed;top:0;left:0;z-index:24000;width:60px;height:50px;padding:15px 20px;font-weight:700;font-size:16px;border-radius:0 0 100%;color:#fff;display:none}:host .environment.LOCAL{background:transparent linear-gradient(90deg,#de2174,#eb142a) 0% 0% no-repeat padding-box;display:block}:host .environment.TEST{background-color:#36c;display:block}:host .environment.VAL{background-color:#093;display:block}:host a:active{outline:none}.s-menu .s-menu-languages{display:flex}.s-menu .s-menu-item.active{font-weight:700!important}.s-menu .s-menu-item:hover{cursor:pointer;font-weight:700}.onemrva-layout-content{padding-top:90px}.onemrva-footer{text-align:center;padding:9.5px}onemrva-mat-avatar.clickable{cursor:pointer}.mat-mdc-menu-content button.active>*{font-weight:700!important}.mat-mdc-menu-content button mat-icon{font-size:18px!important;height:18px;width:18px}.mat-mdc-menu-content button span{font-size:14px!important}#accessibility_fab{position:fixed;bottom:16px;left:16px}nav a.disabled{pointer-events:none}.menu-close-button{float:right}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i5.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: i6.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i7.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i8.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i8.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "directive", type: i9.MatTabLabel, selector: "[mat-tab-label], [matTabLabel]" }, { kind: "component", type: i9.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i9.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "component", type: i9.MatTabNav, selector: "[mat-tab-nav-bar]", inputs: ["fitInkBarToContent", "mat-stretch-tabs", "animationDuration", "backgroundColor", "disableRipple", "color", "tabPanel"], exportAs: ["matTabNavBar", "matTabNav"] }, { kind: "component", type: i9.MatTabNavPanel, selector: "mat-tab-nav-panel", inputs: ["id"], exportAs: ["matTabNavPanel"] }, { kind: "component", type: i9.MatTabLink, selector: "[mat-tab-link], [matTabLink]", inputs: ["active", "disabled", "disableRipple", "tabIndex", "id"], exportAs: ["matTabLink"] }, { kind: "component", type: i10.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatFabButton, selector: "button[mat-fab]", inputs: ["extended"], exportAs: ["matButton"] }, { kind: "component", type: i11.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i11.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i11.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i12.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i13.OnemrvaMatAvatarComponent, selector: "onemrva-mat-avatar", inputs: ["id", "roundShape", "initials", "icon", "src", "size", "color"] }, { kind: "directive", type: i14.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i15.DrawerHostDirective, selector: "[drawerhost]" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
|
|
132
132
|
}
|
|
133
133
|
__decorate([
|
|
134
134
|
CoerceBooleanInput(true)
|
|
135
135
|
], LayoutComponent.prototype, "fluid", void 0);
|
|
136
136
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LayoutComponent, decorators: [{
|
|
137
137
|
type: Component,
|
|
138
|
-
args: [{ selector: 'onemrva-layout', template: "<mat-drawer-container\n class=\"example-container\"\n [hasBackdrop]=\"drawerService.hasBackdrop\"\n autosize\n>\n <div class=\"app-content\">\n <header>\n <mat-toolbar class=\"mat-elevation-z4\">\n <div class=\"environment\" [class]=\"environment\">\n {{ environment }}\n </div>\n <div\n [class.container]=\"!fluid\"\n [class.container-fluid]=\"fluid\"\n class=\"nav-container flex-center\"\n >\n {{ logoRedictionUrl }}\n <img\n class=\"logo\"\n [src]=\"logo\"\n [attr.data-cy]=\"'onemrva_logo_' + translateService.currentLang\"\n alt=\"Logo ONEM/RVA\"\n [routerLink]=\"\n logoRedictionUrl !== null ? logoRedictionUrl : undefined\n \"\n [ngStyle]=\"{\n cursor: logoRedictionUrl !== null ? 'pointer' : 'default'\n }\"\n />\n <div class=\"application-title\" [ngClass]=\"{ 'small-screen': isSmall }\">\n <ng-container *ngIf=\"title?.template as titleTpl\">\n <ng-container *ngTemplateOutlet=\"titleTpl\"></ng-container>\n </ng-container>\n </div>\n\n <div style=\"flex: 1\"></div>\n <div class=\"flex-center\"\n mat-tab-nav-bar\n [tabPanel]=\"tabPanel\"\n *ngIf=\"!isSmall\"\n >\n <ng-container *ngFor=\"let e of routes?.toArray(); let i = index\">\n <a\n mat-tab-link\n [routerLink]=\"e.routerLink\"\n [routerLinkActiveOptions]=\"{ exact: !e.hasSubroutes() }\"\n #rla=\"routerLinkActive\"\n routerLinkActive=\"mdc-tab--active\"\n [active]=\"rla.isActive || e.isRouteActive()\"\n >\n <ng-container *ngIf=\"e.template as routeTemplate\">\n <ng-container *ngTemplateOutlet=\"routeTemplate\"> </ng-container>\n </ng-container>\n </a>\n </ng-container>\n </div>\n\n <mat-tab-nav-panel #tabPanel></mat-tab-nav-panel>\n\n <ng-container *ngIf=\"afterNav?.template as tpl\">\n <ng-container *ngTemplateOutlet=\"tpl\"></ng-container>\n </ng-container>\n\n <mat-divider\n vertical\n style=\"height: 1em; align-self: center\"\n *ngIf=\"!isSmall && routes?.toArray()?.length\"\n ></mat-divider>\n\n <mat-tab-group\n class=\"language-tabs\"\n [selectedIndex]=\"selectedIndex\"\n (selectedIndexChange)=\"changeLanguage($event)\"\n *ngIf=\"!isSmall\"\n >\n <mat-tab *ngFor=\"let lang of languages\">\n <div *matTabLabel [attr.data-cy]=\"'language_' + lang.code\">\n {{ lang.label }}\n </div>\n </mat-tab>\n </mat-tab-group>\n\n <ng-container *ngIf=\"profile !== null\">\n <mat-divider\n vertical\n style=\"height: 1em; align-self: center\"\n *ngIf=\"!isSmall\"\n ></mat-divider>\n <button\n disableRipple\n data-cy=\"accountMenu\"\n class=\"account-button\"\n [matMenuTriggerFor]=\"menu\"\n mat-icon-button\n attr.aria-label=\"{{ 'layout.profile' | translate }}\"\n >\n <mat-icon *ngIf=\"!profile.isLoggedIn\" class=\"large\"\n >account_circle</mat-icon\n >\n\n <onemrva-mat-avatar\n *ngIf=\"profile.isLoggedIn\"\n initials=\"{{ profile.initials() }}\"\n color=\"accent\"\n size=\"extrasmall\"\n ></onemrva-mat-avatar>\n </button>\n <mat-menu #menu=\"matMenu\">\n <ng-container *ngIf=\"profile.isLoggedIn; else notConnected\">\n <p class=\"accountName\">\n {{ profile.firstName }} {{ profile.lastName }}\n </p>\n <mat-divider style=\"align-self: stretch\"></mat-divider>\n\n <ng-container *ngIf=\"loginMenu?.template as menuLoginTpl\">\n <ng-container *ngTemplateOutlet=\"menuLoginTpl\"></ng-container>\n </ng-container>\n\n <button\n type=\"button\"\n class=\"mat-mdc-menu-item\"\n mat-menu-itemMrzapoie\n data-cy=\"logoutButton\"\n (click)=\"doLogout()\"\n attr.aria-label=\"{{ 'layout.logout' | translate }}\"\n >\n <mat-icon>logout</mat-icon>{{ \"layout.logout\" | translate }}\n </button>\n </ng-container>\n <ng-template #notConnected>\n <button\n type=\"button\"\n mat-menu-item\n data-cy=\"loginButton\"\n (click)=\"doLogin()\"\n attr.aria-label=\"{{ 'layout.login' | translate }}\"\n >\n <mat-icon>login</mat-icon>{{ \"layout.login\" | translate }}\n </button>\n </ng-template>\n </mat-menu>\n </ng-container>\n <ng-container\n *ngIf=\"\n isSmall &&\n (routes?.toArray()?.length || (languages && languages.length > 1))\n \"\n >\n <button\n type=\"button\"\n mat-icon-button\n class=\"menu-button\"\n data-cy=\"smallDeviceMenu\"\n (click)=\"toggleSideNav()\"\n attr.aria-label=\"{{ 'layout.menu' | translate }}\"\n >\n <mat-icon>menu</mat-icon>\n </button>\n </ng-container>\n </div>\n </mat-toolbar>\n\n </header>\n <ng-container>\n <div [id]=\"id\" [attr.role]=\"role\"\n [class.container]=\"!fluid\"\n [class.container-fluid]=\"fluid\"\n class=\"onemrva-layout-content\"\n *ngIf=\"content?.template as tpl\">\n <ng-container *ngTemplateOutlet=\"tpl\"></ng-container>\n\n\n <ng-container\n *ngIf=\"environment && (environment === env.LOCAL || environment === env.TEST)\"\n >\n <button\n id=\"accessibility_fab\"\n mat-fab\n color=\"accent\"\n aria-label=\"Accessibility check\"\n matTooltip=\"Accessibility check\"\n onclick=\"javascript:(function() {var _p='//openfed.github.io/AccessibilityCheck/build/';var _i=function(s,cb) {var sc=document.createElement('script');sc.onload = function() {sc.onload = null;sc.onreadystatechange = null;cb.call(this);};sc.onreadystatechange = function(){if(/^(complete|loaded)$/.test(this.readyState) === true){sc.onreadystatechange = null;sc.onload();}};sc.src=s;if (document.head) {document.head.appendChild(sc);} else {document.getElementsByTagName('head')[0].appendChild(sc);}}; var options={path:_p};_i(_p+'HTMLCS.js',function(){HTMLCSAuditor.run('WCAG2AA',null,options);});})();\"\n >\n <mat-icon>accessibility</mat-icon>\n </button>\n </ng-container>\n\n </div>\n\n <footer\n class=\"onemrva-footer\" *ngIf=\"footer?.template as footer\">\n <div\n [class.container]=\"!fluid\"\n [class.container-fluid]=\"fluid\">\n <ng-container *ngTemplateOutlet=\"footer\"></ng-container>\n </div>\n\n </footer>\n </ng-container>\n </div>\n\n <mat-drawer\n class=\"onemrva-drawer mobile-menu-sidebar\"\n mode=\"over\"\n position=\"end\"\n >\n <ng-template drawerhost></ng-template>\n </mat-drawer>\n</mat-drawer-container>\n", styles: [".mat-mdc-tab-nav-bar .mat-mdc-tab-header{height:42px!important}.logo{align-self:center;cursor:pointer}.application-title{font-size:1rem;font-weight:700;font-size:20px;height:42px}:host .mat-toolbar{background:#fff;position:fixed;top:0;height:90px;z-index:400}.accountName{margin:16px;line-height:16px;font-weight:700}:host{position:relative}:host router-outlet{display:block;margin-bottom:90px}:host .environment{position:fixed;top:0;left:0;z-index:24000;width:60px;height:50px;padding:15px 20px;font-weight:700;font-size:16px;border-radius:0 0 100%;color:#fff;display:none}:host .environment.LOCAL{background:transparent linear-gradient(90deg,#de2174,#eb142a) 0% 0% no-repeat padding-box;display:block}:host .environment.TEST{background-color:#36c;display:block}:host .environment.VAL{background-color:#093;display:block}:host a:active{outline:none}.s-menu .s-menu-languages{display:flex}.s-menu .s-menu-item.active{font-weight:700!important}.s-menu .s-menu-item:hover{cursor:pointer;font-weight:700}.onemrva-layout-content{padding-top:90px
|
|
138
|
+
args: [{ selector: 'onemrva-layout', template: "<mat-drawer-container\n class=\"example-container\"\n [hasBackdrop]=\"drawerService.hasBackdrop\"\n autosize\n>\n <div class=\"app-content\">\n <header>\n <mat-toolbar class=\"mat-elevation-z4\">\n <div class=\"environment\" [class]=\"environment\">\n {{ environment }}\n </div>\n <div\n [class.container]=\"!fluid\"\n [class.container-fluid]=\"fluid\"\n class=\"nav-container flex-center\"\n >\n {{ logoRedictionUrl }}\n <img\n class=\"logo\"\n [src]=\"logo\"\n [attr.data-cy]=\"'onemrva_logo_' + translateService.currentLang\"\n alt=\"Logo ONEM/RVA\"\n [routerLink]=\"\n logoRedictionUrl !== null ? logoRedictionUrl : undefined\n \"\n [ngStyle]=\"{\n cursor: logoRedictionUrl !== null ? 'pointer' : 'default'\n }\"\n />\n <div class=\"application-title\" [ngClass]=\"{ 'small-screen': isSmall }\">\n <ng-container *ngIf=\"title?.template as titleTpl\">\n <ng-container *ngTemplateOutlet=\"titleTpl\"></ng-container>\n </ng-container>\n </div>\n\n <div style=\"flex: 1\"></div>\n <div class=\"flex-center\"\n mat-tab-nav-bar\n [tabPanel]=\"tabPanel\"\n *ngIf=\"!isSmall\"\n >\n <ng-container *ngFor=\"let e of routes?.toArray(); let i = index\">\n <a\n mat-tab-link\n [routerLink]=\"e.routerLink\"\n [routerLinkActiveOptions]=\"{ exact: !e.hasSubroutes() }\"\n #rla=\"routerLinkActive\"\n routerLinkActive=\"mdc-tab--active\"\n [active]=\"rla.isActive || e.isRouteActive()\"\n >\n <ng-container *ngIf=\"e.template as routeTemplate\">\n <ng-container *ngTemplateOutlet=\"routeTemplate\"> </ng-container>\n </ng-container>\n </a>\n </ng-container>\n </div>\n\n <mat-tab-nav-panel #tabPanel></mat-tab-nav-panel>\n\n <ng-container *ngIf=\"afterNav?.template as tpl\">\n <ng-container *ngTemplateOutlet=\"tpl\"></ng-container>\n </ng-container>\n\n <mat-divider\n vertical\n style=\"height: 1em; align-self: center\"\n *ngIf=\"!isSmall && routes?.toArray()?.length\"\n ></mat-divider>\n\n <mat-tab-group\n class=\"language-tabs\"\n [selectedIndex]=\"selectedIndex\"\n (selectedIndexChange)=\"changeLanguage($event)\"\n *ngIf=\"!isSmall\"\n >\n <mat-tab *ngFor=\"let lang of languages\">\n <div *matTabLabel [attr.data-cy]=\"'language_' + lang.code\">\n {{ lang.label }}\n </div>\n </mat-tab>\n </mat-tab-group>\n\n <ng-container *ngIf=\"profile !== null\">\n <mat-divider\n vertical\n style=\"height: 1em; align-self: center\"\n *ngIf=\"!isSmall\"\n ></mat-divider>\n <button\n disableRipple\n data-cy=\"accountMenu\"\n class=\"account-button\"\n [matMenuTriggerFor]=\"menu\"\n mat-icon-button\n attr.aria-label=\"{{ 'layout.profile' | translate }}\"\n >\n <mat-icon *ngIf=\"!profile.isLoggedIn\" class=\"large\"\n >account_circle</mat-icon\n >\n\n <onemrva-mat-avatar\n *ngIf=\"profile.isLoggedIn\"\n initials=\"{{ profile.initials() }}\"\n color=\"accent\"\n size=\"extrasmall\"\n ></onemrva-mat-avatar>\n </button>\n <mat-menu #menu=\"matMenu\">\n <ng-container *ngIf=\"profile.isLoggedIn; else notConnected\">\n <p class=\"accountName\">\n {{ profile.firstName }} {{ profile.lastName }}\n </p>\n <mat-divider style=\"align-self: stretch\"></mat-divider>\n\n <ng-container *ngIf=\"loginMenu?.template as menuLoginTpl\">\n <ng-container *ngTemplateOutlet=\"menuLoginTpl\"></ng-container>\n </ng-container>\n\n <button\n type=\"button\"\n class=\"mat-mdc-menu-item\"\n mat-menu-itemMrzapoie\n data-cy=\"logoutButton\"\n (click)=\"doLogout()\"\n attr.aria-label=\"{{ 'layout.logout' | translate }}\"\n >\n <mat-icon>logout</mat-icon>{{ \"layout.logout\" | translate }}\n </button>\n </ng-container>\n <ng-template #notConnected>\n <button\n type=\"button\"\n mat-menu-item\n data-cy=\"loginButton\"\n (click)=\"doLogin()\"\n attr.aria-label=\"{{ 'layout.login' | translate }}\"\n >\n <mat-icon>login</mat-icon>{{ \"layout.login\" | translate }}\n </button>\n </ng-template>\n </mat-menu>\n </ng-container>\n <ng-container\n *ngIf=\"\n isSmall &&\n (routes?.toArray()?.length || (languages && languages.length > 1))\n \"\n >\n <button\n type=\"button\"\n mat-icon-button\n class=\"menu-button\"\n data-cy=\"smallDeviceMenu\"\n (click)=\"toggleSideNav()\"\n attr.aria-label=\"{{ 'layout.menu' | translate }}\"\n >\n <mat-icon>menu</mat-icon>\n </button>\n </ng-container>\n </div>\n </mat-toolbar>\n\n </header>\n <ng-container>\n <div [id]=\"id\" [attr.role]=\"role\"\n [class.container]=\"!fluid\"\n [class.container-fluid]=\"fluid\"\n class=\"onemrva-layout-content\"\n *ngIf=\"content?.template as tpl\">\n <ng-container *ngTemplateOutlet=\"tpl\"></ng-container>\n\n\n <ng-container\n *ngIf=\"environment && (environment === env.LOCAL || environment === env.TEST)\"\n >\n <button\n id=\"accessibility_fab\"\n mat-fab\n color=\"accent\"\n aria-label=\"Accessibility check\"\n matTooltip=\"Accessibility check\"\n onclick=\"javascript:(function() {var _p='//openfed.github.io/AccessibilityCheck/build/';var _i=function(s,cb) {var sc=document.createElement('script');sc.onload = function() {sc.onload = null;sc.onreadystatechange = null;cb.call(this);};sc.onreadystatechange = function(){if(/^(complete|loaded)$/.test(this.readyState) === true){sc.onreadystatechange = null;sc.onload();}};sc.src=s;if (document.head) {document.head.appendChild(sc);} else {document.getElementsByTagName('head')[0].appendChild(sc);}}; var options={path:_p};_i(_p+'HTMLCS.js',function(){HTMLCSAuditor.run('WCAG2AA',null,options);});})();\"\n >\n <mat-icon>accessibility</mat-icon>\n </button>\n </ng-container>\n\n </div>\n\n <footer\n class=\"onemrva-footer\" *ngIf=\"footer?.template as footer\">\n <div\n [class.container]=\"!fluid\"\n [class.container-fluid]=\"fluid\">\n <ng-container *ngTemplateOutlet=\"footer\"></ng-container>\n </div>\n\n </footer>\n </ng-container>\n </div>\n\n <mat-drawer\n class=\"onemrva-drawer mobile-menu-sidebar\"\n mode=\"over\"\n position=\"end\"\n >\n <ng-template drawerhost></ng-template>\n </mat-drawer>\n</mat-drawer-container>\n", styles: [".mat-mdc-tab-nav-bar .mat-mdc-tab-header{height:42px!important}.logo{align-self:center;cursor:pointer}.application-title{font-size:1rem;font-weight:700;font-size:20px;height:42px}:host .mat-toolbar{background:#fff;position:fixed;top:0;height:90px;z-index:400}.accountName{margin:16px;line-height:16px;font-weight:700}:host{position:relative}:host router-outlet{display:block;margin-bottom:90px}:host .environment{position:fixed;top:0;left:0;z-index:24000;width:60px;height:50px;padding:15px 20px;font-weight:700;font-size:16px;border-radius:0 0 100%;color:#fff;display:none}:host .environment.LOCAL{background:transparent linear-gradient(90deg,#de2174,#eb142a) 0% 0% no-repeat padding-box;display:block}:host .environment.TEST{background-color:#36c;display:block}:host .environment.VAL{background-color:#093;display:block}:host a:active{outline:none}.s-menu .s-menu-languages{display:flex}.s-menu .s-menu-item.active{font-weight:700!important}.s-menu .s-menu-item:hover{cursor:pointer;font-weight:700}.onemrva-layout-content{padding-top:90px}.onemrva-footer{text-align:center;padding:9.5px}onemrva-mat-avatar.clickable{cursor:pointer}.mat-mdc-menu-content button.active>*{font-weight:700!important}.mat-mdc-menu-content button mat-icon{font-size:18px!important;height:18px;width:18px}.mat-mdc-menu-content button span{font-size:14px!important}#accessibility_fab{position:fixed;bottom:16px;left:16px}nav a.disabled{pointer-events:none}.menu-close-button{float:right}\n"] }]
|
|
139
139
|
}], ctorParameters: () => [{ type: i1.TranslateService }, { type: i0.ChangeDetectorRef }, { type: i2.BreakpointObserver }, { type: Document, decorators: [{
|
|
140
140
|
type: Inject,
|
|
141
141
|
args: [DOCUMENT]
|
|
@@ -1,12 +1,33 @@
|
|
|
1
1
|
// Command to generate ng g d <Directive name>
|
|
2
|
-
import { Directive } from '@angular/core';
|
|
2
|
+
import { DestroyRef, Directive, inject, Inject } from '@angular/core';
|
|
3
|
+
import { takeUntilDestroyed } from "@angular/core/rxjs-interop";
|
|
4
|
+
import { DOCUMENT } from "@angular/common";
|
|
3
5
|
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/material/sidenav";
|
|
4
7
|
export class DrawerHostDirective {
|
|
8
|
+
drawer;
|
|
5
9
|
viewContainerRef;
|
|
6
|
-
|
|
10
|
+
document;
|
|
11
|
+
destroyRef = inject(DestroyRef);
|
|
12
|
+
constructor(drawer, viewContainerRef, document) {
|
|
13
|
+
this.drawer = drawer;
|
|
7
14
|
this.viewContainerRef = viewContainerRef;
|
|
15
|
+
this.document = document;
|
|
8
16
|
}
|
|
9
|
-
|
|
17
|
+
bodyClass() {
|
|
18
|
+
if (this.drawer?.opened) {
|
|
19
|
+
this.document.body.style.overflow = 'hidden';
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
this.document.body.style.overflow = 'inherit';
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
ngAfterViewInit() {
|
|
26
|
+
this.drawer?.openedChange.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((event) => {
|
|
27
|
+
this.bodyClass();
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: DrawerHostDirective, deps: [{ token: i1.MatDrawer }, { token: i0.ViewContainerRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });
|
|
10
31
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.2", type: DrawerHostDirective, selector: "[drawerhost]", ngImport: i0 });
|
|
11
32
|
}
|
|
12
33
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: DrawerHostDirective, decorators: [{
|
|
@@ -14,5 +35,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
|
|
|
14
35
|
args: [{
|
|
15
36
|
selector: '[drawerhost]',
|
|
16
37
|
}]
|
|
17
|
-
}], ctorParameters: () => [{ type: i0.ViewContainerRef }
|
|
18
|
-
|
|
38
|
+
}], ctorParameters: () => [{ type: i1.MatDrawer }, { type: i0.ViewContainerRef }, { type: Document, decorators: [{
|
|
39
|
+
type: Inject,
|
|
40
|
+
args: [DOCUMENT]
|
|
41
|
+
}] }] });
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLWhvc3QuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL2xheW91dC9zcmMvZGlyZWN0aXZlcy9kcmF3ZXItaG9zdC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsOENBQThDO0FBRTlDLE9BQU8sRUFBZ0IsVUFBVSxFQUFFLFNBQVMsRUFBYyxNQUFNLEVBQUUsTUFBTSxFQUFtQixNQUFNLGVBQWUsQ0FBQztBQUNqSCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7OztBQU16QyxNQUFNLE9BQU8sbUJBQW1CO0lBR3BCO0lBQ0Q7SUFDbUI7SUFKcEIsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN4QyxZQUNVLE1BQWdCLEVBQ2pCLGdCQUFrQyxFQUNmLFFBQWtCO1FBRnBDLFdBQU0sR0FBTixNQUFNLENBQVU7UUFDakIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNmLGFBQVEsR0FBUixRQUFRLENBQVU7SUFDOUMsQ0FBQztJQUlPLFNBQVM7UUFDZixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDL0MsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQztRQUNoRCxDQUFDO0lBRUgsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDdEYsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt1R0F2QlUsbUJBQW1CLDJFQUtwQixRQUFROzJGQUxQLG1CQUFtQjs7MkZBQW5CLG1CQUFtQjtrQkFIL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztpQkFDekI7OzBCQU1JLE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvbW1hbmQgdG8gZ2VuZXJhdGUgbmcgZyBkIDxEaXJlY3RpdmUgbmFtZT5cblxuaW1wb3J0IHtBZnRlclZpZXdJbml0LCBEZXN0cm95UmVmLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGluamVjdCwgSW5qZWN0LCBWaWV3Q29udGFpbmVyUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dGFrZVVudGlsRGVzdHJveWVkfSBmcm9tIFwiQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3BcIjtcbmltcG9ydCB7RE9DVU1FTlR9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7TWF0RHJhd2VyfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvc2lkZW5hdlwiO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZHJhd2VyaG9zdF0nLFxufSlcbmV4cG9ydCBjbGFzcyBEcmF3ZXJIb3N0RGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdHtcbiAgcHJpdmF0ZSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGRyYXdlcjpNYXREcmF3ZXIsXG4gICAgcHVibGljIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQpIHtcbiAgfVxuXG5cblxuICBwcml2YXRlIGJvZHlDbGFzcygpIHtcbiAgICBpZiAodGhpcy5kcmF3ZXI/Lm9wZW5lZCkge1xuICAgICAgdGhpcy5kb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93ID0gJ2hpZGRlbic7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyA9ICdpbmhlcml0JztcbiAgICB9XG5cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmRyYXdlcj8ub3BlbmVkQ2hhbmdlLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgIHRoaXMuYm9keUNsYXNzKCk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -4,12 +4,15 @@ export class OnemrvaDrawerService {
|
|
|
4
4
|
host;
|
|
5
5
|
drawer;
|
|
6
6
|
hasBackdrop = false;
|
|
7
|
+
constructor() {
|
|
8
|
+
}
|
|
7
9
|
toggle() {
|
|
8
10
|
if (!this.drawer)
|
|
9
11
|
return;
|
|
10
12
|
this.drawer?.toggle();
|
|
11
13
|
}
|
|
12
14
|
open() {
|
|
15
|
+
console.log('******');
|
|
13
16
|
if (!this.drawer)
|
|
14
17
|
return;
|
|
15
18
|
this.drawer?.open();
|
|
@@ -19,6 +22,8 @@ export class OnemrvaDrawerService {
|
|
|
19
22
|
return;
|
|
20
23
|
this.drawer?.close();
|
|
21
24
|
}
|
|
25
|
+
ngOnInit() {
|
|
26
|
+
}
|
|
22
27
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: OnemrvaDrawerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
23
28
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: OnemrvaDrawerService, providedIn: 'root' });
|
|
24
29
|
}
|
|
@@ -27,5 +32,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
|
|
|
27
32
|
args: [{
|
|
28
33
|
providedIn: 'root',
|
|
29
34
|
}]
|
|
30
|
-
}] });
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
}], ctorParameters: () => [] });
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmVtcnZhL2Rlc2lnbi1zeXN0ZW0vbGF5b3V0L3NyYy9zZXJ2aWNlcy9kcmF3ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXdCLFVBQVUsRUFBZSxNQUFNLGVBQWUsQ0FBQzs7QUFROUUsTUFBTSxPQUFPLG9CQUFvQjtJQUN4QixJQUFJLENBQXVCO0lBQ2xDLE1BQU0sQ0FBYTtJQUVuQixXQUFXLEdBQUcsS0FBSyxDQUFDO0lBRXBCO0lBQ0EsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU07WUFBRSxPQUFPO1FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUk7UUFDRixPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTTtZQUFFLE9BQU87UUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTTtZQUFFLE9BQU87UUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsUUFBUTtJQUVSLENBQUM7dUdBM0JVLG9CQUFvQjsyR0FBcEIsb0JBQW9CLGNBRm5CLE1BQU07OzJGQUVQLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIEluamVjdCwgSW5qZWN0YWJsZSwgT25Jbml0LCBUeXBlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERyYXdlckhvc3REaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2RyYXdlci1ob3N0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBNYXREcmF3ZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcbmltcG9ydCB7RE9DVU1FTlR9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7dGFrZVVudGlsRGVzdHJveWVkfSBmcm9tIFwiQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3BcIjtcbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBPbmVtcnZhRHJhd2VyU2VydmljZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyBob3N0PzogRHJhd2VySG9zdERpcmVjdGl2ZTtcbiAgZHJhd2VyPzogTWF0RHJhd2VyO1xuXG4gIGhhc0JhY2tkcm9wID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gIH1cblxuICB0b2dnbGUoKSB7XG4gICAgaWYgKCF0aGlzLmRyYXdlcikgcmV0dXJuO1xuICAgIHRoaXMuZHJhd2VyPy50b2dnbGUoKTtcbiAgfVxuXG4gIG9wZW4oKSB7XG4gICAgY29uc29sZS5sb2coJyoqKioqKicpO1xuICAgIGlmICghdGhpcy5kcmF3ZXIpIHJldHVybjtcbiAgICB0aGlzLmRyYXdlcj8ub3BlbigpO1xuICB9XG5cbiAgY2xvc2UoKSB7XG4gICAgaWYgKCF0aGlzLmRyYXdlcikgcmV0dXJuO1xuICAgIHRoaXMuZHJhd2VyPy5jbG9zZSgpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG5cbiAgfVxufVxuIl19
|
|
@@ -114,9 +114,6 @@ export class OnemrvaMatMessageBoxComponent {
|
|
|
114
114
|
this.color !== OnemrvaMatColor.GRAYSCALE &&
|
|
115
115
|
this.color !== OnemrvaMatColor.SUCCESS);
|
|
116
116
|
}
|
|
117
|
-
get _hasLabel() {
|
|
118
|
-
return this.label !== false;
|
|
119
|
-
}
|
|
120
117
|
ngAfterViewInit() {
|
|
121
118
|
if (this.messageCode !== '') {
|
|
122
119
|
console.warn('messageCode input has been deprecated in message-box component, please review documentation to fix this!');
|
|
@@ -124,7 +121,7 @@ export class OnemrvaMatMessageBoxComponent {
|
|
|
124
121
|
}
|
|
125
122
|
}
|
|
126
123
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: OnemrvaMatMessageBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
127
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: OnemrvaMatMessageBoxComponent, selector: "onemrva-mat-message-box", inputs: { label: "label", messageCode: "messageCode", id: "id", dataCy: "dataCy", color: "color" }, host: { properties: { "attr.aria-label": "this.ariaLabel", "attr.role": "this.role", "class.onemrva-mat-message-box": "this.cssClass", "attr.id": "this.id", "attr.data-cy": "this.dataCy", "class.mat-error": "this._isError", "class.mat-warn": "this._isWarn", "class.mat-success": "this._isSuccess", "class.mat-grayscale": "this.isGrayscale", "class.mat-info": "this._isInfo"
|
|
124
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: OnemrvaMatMessageBoxComponent, selector: "onemrva-mat-message-box", inputs: { label: "label", messageCode: "messageCode", id: "id", dataCy: "dataCy", color: "color" }, host: { properties: { "attr.aria-label": "this.ariaLabel", "attr.role": "this.role", "class.onemrva-mat-message-box": "this.cssClass", "attr.id": "this.id", "attr.data-cy": "this.dataCy", "class.mat-error": "this._isError", "class.mat-warn": "this._isWarn", "class.mat-success": "this._isSuccess", "class.mat-grayscale": "this.isGrayscale", "class.mat-info": "this._isInfo" } }, viewQueries: [{ propertyName: "mbcontent", first: true, predicate: ["mbcontent"], descendants: true }], ngImport: i0, template: "<div #mbcontent>\n <ng-content></ng-content>\n</div>\n" });
|
|
128
125
|
}
|
|
129
126
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: OnemrvaMatMessageBoxComponent, decorators: [{
|
|
130
127
|
type: Component,
|
|
@@ -172,8 +169,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
|
|
|
172
169
|
}], _isInfo: [{
|
|
173
170
|
type: HostBinding,
|
|
174
171
|
args: ['class.mat-info']
|
|
175
|
-
}], _hasLabel: [{
|
|
176
|
-
type: HostBinding,
|
|
177
|
-
args: ['class.hasLabel']
|
|
178
172
|
}] } });
|
|
179
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
173
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lbXJ2YS1tYXQtbWVzc2FnZS1ib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL21hdC1tZXNzYWdlLWJveC9zcmMvb25lbXJ2YS1tYXQtbWVzc2FnZS1ib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL21hdC1tZXNzYWdlLWJveC9zcmMvb25lbXJ2YS1tYXQtbWVzc2FnZS1ib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixTQUFTLEVBQWMsV0FBVyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQUVyRSxJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUM7QUFNaEIsTUFBTSxPQUFPLDZCQUE2QjtJQUdqQyxLQUFLLEdBQWtCLEtBQUssQ0FBQztJQUc3QixXQUFXLEdBQVcsRUFBRSxDQUFDO0lBR3pCLFNBQVMsQ0FBYztJQUM5Qjs7Ozs7Ozs7T0FRRztJQUVJLFNBQVMsR0FBRyxhQUFhLENBQUM7SUFFakM7Ozs7Ozs7T0FPRztJQUVJLElBQUksR0FBRyxPQUFPLENBQUM7SUFFdEI7Ozs7O09BS0c7SUFFSSxRQUFRLEdBQUcseUJBQXlCLENBQUM7SUFFNUM7Ozs7Ozs7T0FPRztJQUdJLEVBQUUsR0FBRywyQkFBMkIsT0FBTyxFQUFFLEVBQUUsQ0FBQztJQUVuRDs7Ozs7OztPQU9HO0lBR0ksTUFBTSxHQUFHLDJCQUEyQixPQUFPLEVBQUUsRUFBRSxDQUFDO0lBRXZEOzs7T0FHRztJQUNLLE1BQU0sR0FBb0IsZUFBZSxDQUFDLElBQUksQ0FBQztJQUV2RDs7Ozs7OztPQU9HO0lBQ0gsSUFDVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILElBQVcsS0FBSyxDQUFDLEtBQXNCO1FBQ3JDLFFBQVEsS0FBSyxFQUFFLENBQUM7WUFDZCxLQUFLLGVBQWUsQ0FBQyxPQUFPLENBQUM7WUFDN0IsS0FBSyxlQUFlLENBQUMsSUFBSSxDQUFDO1lBQzFCLEtBQUssZUFBZSxDQUFDLElBQUksQ0FBQztZQUMxQixLQUFLLGVBQWUsQ0FBQyxJQUFJLENBQUM7WUFDMUIsS0FBSyxlQUFlLENBQUMsU0FBUyxDQUFDO1lBQy9CLEtBQUssZUFBZSxDQUFDLEtBQUs7Z0JBQ3hCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO2dCQUNwQixNQUFNO1lBQ1I7Z0JBQ0UsSUFBSSxDQUFDLE1BQU0sR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDO1FBQ3ZDLENBQUM7SUFDSCxDQUFDO0lBRUQsd0JBQXdCO0lBQ3hCLElBQ1csUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssZUFBZSxDQUFDLEtBQUssQ0FBQztJQUM5QyxDQUFDO0lBQ0Qsd0JBQXdCO0lBQ3hCLElBQ1csT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssZUFBZSxDQUFDLElBQUksQ0FBQztJQUM3QyxDQUFDO0lBQ0Qsd0JBQXdCO0lBQ3hCLElBQ1csVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssZUFBZSxDQUFDLE9BQU8sQ0FBQztJQUNoRCxDQUFDO0lBQ0Qsd0JBQXdCO0lBQ3hCLElBQ1csV0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssZUFBZSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLGVBQWUsQ0FBQyxJQUFJLENBQUM7SUFDekYsQ0FBQztJQUNELHdCQUF3QjtJQUN4QixJQUNXLE9BQU87UUFDaEIsT0FBTyxDQUNMLElBQUksQ0FBQyxLQUFLLEtBQUssZUFBZSxDQUFDLEtBQUs7WUFDcEMsSUFBSSxDQUFDLEtBQUssS0FBSyxlQUFlLENBQUMsSUFBSTtZQUNuQyxJQUFJLENBQUMsS0FBSyxLQUFLLGVBQWUsQ0FBQyxJQUFJO1lBQ25DLElBQUksQ0FBQyxLQUFLLEtBQUssZUFBZSxDQUFDLE1BQU07WUFDckMsSUFBSSxDQUFDLEtBQUssS0FBSyxlQUFlLENBQUMsU0FBUztZQUN4QyxJQUFJLENBQUMsS0FBSyxLQUFLLGVBQWUsQ0FBQyxPQUFPLENBQ3ZDLENBQUM7SUFDSixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUM1QixPQUFPLENBQUMsSUFBSSxDQUFDLDBHQUEwRyxDQUFDLENBQUM7WUFDekgsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNqRixDQUFDO0lBQ0gsQ0FBQzt1R0FuSlUsNkJBQTZCOzJGQUE3Qiw2QkFBNkIsc29CQ1QxQyx5REFHQTs7MkZETWEsNkJBQTZCO2tCQUp6QyxTQUFTOytCQUNFLHlCQUF5Qjs4QkFNNUIsS0FBSztzQkFEWCxLQUFLO2dCQUlDLFdBQVc7c0JBRGpCLEtBQUs7Z0JBSUMsU0FBUztzQkFEZixTQUFTO3VCQUFDLFdBQVc7Z0JBWWYsU0FBUztzQkFEZixXQUFXO3VCQUFDLGlCQUFpQjtnQkFZdkIsSUFBSTtzQkFEVixXQUFXO3VCQUFDLFdBQVc7Z0JBVWpCLFFBQVE7c0JBRGQsV0FBVzt1QkFBQywrQkFBK0I7Z0JBYXJDLEVBQUU7c0JBRlIsV0FBVzt1QkFBQyxTQUFTOztzQkFDckIsS0FBSztnQkFhQyxNQUFNO3NCQUZaLFdBQVc7dUJBQUMsY0FBYzs7c0JBQzFCLEtBQUs7Z0JBa0JLLEtBQUs7c0JBRGYsS0FBSztnQkErQkssUUFBUTtzQkFEbEIsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBTW5CLE9BQU87c0JBRGpCLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQU1sQixVQUFVO3NCQURwQixXQUFXO3VCQUFDLG1CQUFtQjtnQkFNckIsV0FBVztzQkFEckIsV0FBVzt1QkFBQyxxQkFBcUI7Z0JBTXZCLE9BQU87c0JBRGpCLFdBQVc7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9uZW1ydmFNYXRDb2xvciB9IGZyb20gJ0BvbmVtcnZhcHVibGljL2Rlc2lnbi1zeXN0ZW0vdXRpbHMnO1xuXG5sZXQgTkVYVF9JRCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29uZW1ydmEtbWF0LW1lc3NhZ2UtYm94JyxcbiAgdGVtcGxhdGVVcmw6ICdvbmVtcnZhLW1hdC1tZXNzYWdlLWJveC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgT25lbXJ2YU1hdE1lc3NhZ2VCb3hDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0e1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsYWJlbDogZmFsc2UgfHN0cmluZyA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtZXNzYWdlQ29kZTogc3RyaW5nID0gJyc7XG5cbiAgQFZpZXdDaGlsZCgnbWJjb250ZW50JylcbiAgcHVibGljIG1iY29udGVudCE6IEVsZW1lbnRSZWY7XG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBgYXJpYS1sYWJlbGAgYXR0cmlidXRlIG9mIHRoZSBlbGVtZW50LlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIGxldCBlbGVtZW50TGFiZWwgPSB0aGlzLjxlbGVtZW50Pi5hcmlhTGFiZWw7XG4gICAqIGBgYFxuICAgKlxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtbGFiZWwnKVxuICBwdWJsaWMgYXJpYUxhYmVsID0gJ21lc3NhZ2UtYm94JztcblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgYHJvbGVgIGF0dHJpYnV0ZSBvZiB0aGUgZWxlbWVudC5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBsZXQgZWxlbWVudFJvbGUgPSB0aGlzLjxlbGVtZW50Pi5yb2xlO1xuICAgKiBgYGBcbiAgICovXG4gIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgcHVibGljIHJvbGUgPSAnYWxlcnQnO1xuXG4gIC8qKlxuICAgKiBIb3N0IGBjbGFzcy5vbmVtcnZhLW1hdC1tZXNzYWdlLWJveGAgYmluZGluZy5cbiAgICpcbiAgICogQGhpZGRlblxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIEBIb3N0QmluZGluZygnY2xhc3Mub25lbXJ2YS1tYXQtbWVzc2FnZS1ib3gnKVxuICBwdWJsaWMgY3NzQ2xhc3MgPSAnb25lbXJ2YS1tYXQtbWVzc2FnZS1ib3gnO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBgaWRgIG9mIHRoZSBlbGVtZW50LiBJZiBub3Qgc2V0LCB0aGUgZmlyc3QgY29tcG9uZW50IGluc3RhbmNlIHdpbGwgaGF2ZSBgaWRgID0gYFwib25lbXJ2YS1tYXQtKi0wXCJgLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGBodG1sXG4gICAqIDxvbmVtcnZhLW1hdC0qIGlkPVwibXktZmlyc3QtKlwiPjwvb25lbXJ2YS1tYXQtKj5cbiAgICogYGBgXG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKVxuICBASW5wdXQoKVxuICBwdWJsaWMgaWQgPSBgb25lbXJ2YS1tYXQtbWVzc2FnZS1ib3gtJHtORVhUX0lEKyt9YDtcblxuICAvKipcbiAgICogU2V0cyB0aGUgYGRhdGEtY3lgIG9mIHRoZSBlbGVtZW50LiBJZiBub3Qgc2V0LCB0aGUgZmlyc3QgY29tcG9uZW50IGluc3RhbmNlIHdpbGwgaGF2ZSBgZGF0YS1jeWAgPSBgXCJvbmVtcnZhLW1hdC0qLTBcImAuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYGh0bWxcbiAgICogPG9uZW1ydmEtbWF0LSogaWQ9XCJteS1maXJzdC0qXCI+PC9vbmVtcnZhLW1hdC0qPlxuICAgKiBgYGBcbiAgICovXG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWN5JylcbiAgQElucHV0KClcbiAgcHVibGljIGRhdGFDeSA9IGBvbmVtcnZhLW1hdC1tZXNzYWdlLWJveC0ke05FWFRfSUQrK31gO1xuXG4gIC8qKlxuICAgKiBAaGlkZGVuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHJpdmF0ZSBfY29sb3I6IE9uZW1ydmFNYXRDb2xvciA9IE9uZW1ydmFNYXRDb2xvci5OT05FO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjb2xvciBvZiB0aGUgZWxlbWVudC5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBsZXQgY29sb3IgPSB0aGlzLjxlbGVtZW50Pi5jb2xvcjtcbiAgICogYGBgXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IGNvbG9yKCk6IE9uZW1ydmFNYXRDb2xvciB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbG9yO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHNpemUgIG9mIHRoZSBlbGVtZW50LlxuICAgKiBCeSBkZWZhdWx0LCB0aGUgc2l6ZSBpcyBgXCJzbWFsbFwiYC4gSXQgY2FuIGJlIHNldCB0byBgXCJtZWRpdW1cImAgb3IgYFwibGFyZ2VcImAuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYGh0bWxcbiAgICogPG9uZW1ydmEtbWF0LSogc2l6ZT1cImxhcmdlXCI+PC9vbmVtcnZhLW1hdC0qPlxuICAgKiBgYGBcbiAgICovXG4gIHB1YmxpYyBzZXQgY29sb3IodmFsdWU6IE9uZW1ydmFNYXRDb2xvcikge1xuICAgIHN3aXRjaCAodmFsdWUpIHtcbiAgICAgIGNhc2UgT25lbXJ2YU1hdENvbG9yLlNVQ0NFU1M6XG4gICAgICBjYXNlIE9uZW1ydmFNYXRDb2xvci5XQVJOOlxuICAgICAgY2FzZSBPbmVtcnZhTWF0Q29sb3IuTk9ORTpcbiAgICAgIGNhc2UgT25lbXJ2YU1hdENvbG9yLklORk86XG4gICAgICBjYXNlIE9uZW1ydmFNYXRDb2xvci5HUkFZU0NBTEU6XG4gICAgICBjYXNlIE9uZW1ydmFNYXRDb2xvci5FUlJPUjpcbiAgICAgICAgdGhpcy5fY29sb3IgPSB2YWx1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aGlzLl9jb2xvciA9IE9uZW1ydmFNYXRDb2xvci5JTkZPO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm1hdC1lcnJvcicpXG4gIHB1YmxpYyBnZXQgX2lzRXJyb3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29sb3IgPT09IE9uZW1ydmFNYXRDb2xvci5FUlJPUjtcbiAgfVxuICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5tYXQtd2FybicpXG4gIHB1YmxpYyBnZXQgX2lzV2FybigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jb2xvciA9PT0gT25lbXJ2YU1hdENvbG9yLldBUk47XG4gIH1cbiAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MubWF0LXN1Y2Nlc3MnKVxuICBwdWJsaWMgZ2V0IF9pc1N1Y2Nlc3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29sb3IgPT09IE9uZW1ydmFNYXRDb2xvci5TVUNDRVNTO1xuICB9XG4gIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm1hdC1ncmF5c2NhbGUnKVxuICBwdWJsaWMgZ2V0IGlzR3JheXNjYWxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbG9yID09PSBPbmVtcnZhTWF0Q29sb3IuR1JBWVNDQUxFIHx8IHRoaXMuY29sb3IgPT09IE9uZW1ydmFNYXRDb2xvci5OT05FO1xuICB9XG4gIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm1hdC1pbmZvJylcbiAgcHVibGljIGdldCBfaXNJbmZvKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmNvbG9yICE9PSBPbmVtcnZhTWF0Q29sb3IuRVJST1IgJiZcbiAgICAgIHRoaXMuY29sb3IgIT09IE9uZW1ydmFNYXRDb2xvci5XQVJOICYmXG4gICAgICB0aGlzLmNvbG9yICE9PSBPbmVtcnZhTWF0Q29sb3IuTk9ORSAmJlxuICAgICAgdGhpcy5jb2xvciAhPT0gT25lbXJ2YU1hdENvbG9yLkFDQ0VOVCAmJlxuICAgICAgdGhpcy5jb2xvciAhPT0gT25lbXJ2YU1hdENvbG9yLkdSQVlTQ0FMRSAmJlxuICAgICAgdGhpcy5jb2xvciAhPT0gT25lbXJ2YU1hdENvbG9yLlNVQ0NFU1NcbiAgICApO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm1lc3NhZ2VDb2RlICE9PSAnJykge1xuICAgICAgY29uc29sZS53YXJuKCdtZXNzYWdlQ29kZSBpbnB1dCBoYXMgYmVlbiBkZXByZWNhdGVkIGluIG1lc3NhZ2UtYm94IGNvbXBvbmVudCwgcGxlYXNlIHJldmlldyBkb2N1bWVudGF0aW9uIHRvIGZpeCB0aGlzIScpO1xuICAgICAgdGhpcy5tYmNvbnRlbnQubmF0aXZlRWxlbWVudC5pbnNlcnRBZGphY2VudEhUTUwoJ2JlZm9yZWVuZCcsIHRoaXMubWVzc2FnZUNvZGUpO1xuICAgIH1cbiAgfVxuXG59XG4iLCI8ZGl2ICNtYmNvbnRlbnQ+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
|