@stiunb/unb-lib-components 18.0.30 → 18.0.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/unb-nav-bar/unb-nav-bar.component.mjs +38 -31
- package/esm2022/lib/unb-pessoa/unb-pessoa-crud-modal/unb-pessoa-crud-modal.component.mjs +2 -1
- package/esm2022/lib/unb-usuario/unb-usuario.component.mjs +18 -21
- package/fesm2022/stiunb-unb-lib-components.mjs +91 -85
- package/fesm2022/stiunb-unb-lib-components.mjs.map +1 -1
- package/lib/unb-nav-bar/unb-nav-bar.component.d.ts +9 -7
- package/lib/unb-usuario/unb-usuario.component.d.ts +2 -4
- package/package.json +1 -1
|
@@ -1,40 +1,47 @@
|
|
|
1
|
-
import { Component, Input, ViewChild } from '@angular/core';
|
|
2
|
-
import {
|
|
1
|
+
import { Component, Input, ViewChild, inject } from '@angular/core';
|
|
2
|
+
import { BreakpointObserver } from '@angular/cdk/layout';
|
|
3
|
+
import { map, shareReplay } from 'rxjs/operators';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/
|
|
5
|
-
import * as i2 from "@angular/
|
|
6
|
-
import * as i3 from "@angular/material/
|
|
7
|
-
import * as i4 from "@angular/material/
|
|
8
|
-
import * as i5 from "@angular/material/
|
|
9
|
-
import * as i6 from "
|
|
10
|
-
import * as i7 from "../unb-usuario/unb-usuario.component";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
import * as i2 from "@angular/material/toolbar";
|
|
7
|
+
import * as i3 from "@angular/material/sidenav";
|
|
8
|
+
import * as i4 from "@angular/material/icon";
|
|
9
|
+
import * as i5 from "@angular/material/button";
|
|
10
|
+
import * as i6 from "../unb-usuario/unb-usuario.component";
|
|
11
11
|
export class UnbNavBarComponent {
|
|
12
|
-
constructor(
|
|
13
|
-
|
|
14
|
-
this.
|
|
15
|
-
|
|
16
|
-
this.
|
|
17
|
-
this.
|
|
18
|
-
this.
|
|
19
|
-
this.
|
|
12
|
+
constructor() {
|
|
13
|
+
// Dependências
|
|
14
|
+
this.breakpointObserver = inject(BreakpointObserver);
|
|
15
|
+
// Inputs de Configuração
|
|
16
|
+
this.nomeSistema = "Nome do Sistema";
|
|
17
|
+
this.nomeSistemaMobile = "UnB"; // input para nome curto
|
|
18
|
+
this.menuSize = 280; // Aumentei um pouco o padrão para ficar mais moderno
|
|
19
|
+
this.widthToHideMenu = 800;
|
|
20
|
+
this.contentBackgroundColor = '#f5f7fa'; // Cor mais suave e moderna
|
|
21
|
+
this.containerPadding = 16; // Mais respiro (padding) por padrão
|
|
20
22
|
}
|
|
21
23
|
ngOnInit() {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
else {
|
|
27
|
-
this.isMobile = false;
|
|
28
|
-
}
|
|
29
|
-
});
|
|
24
|
+
// Cria um observable que emite true/false baseado no tamanho da tela
|
|
25
|
+
this.isMobile$ = this.breakpointObserver
|
|
26
|
+
.observe(`(max-width: ${this.widthToHideMenu}px)`)
|
|
27
|
+
.pipe(map(result => result.matches), shareReplay());
|
|
30
28
|
}
|
|
31
|
-
|
|
32
|
-
|
|
29
|
+
handleMenuClick() {
|
|
30
|
+
// Se o modo for 'over', significa que estamos no mobile (ou tela pequena)
|
|
31
|
+
// cobrindo o conteúdo. Nesse caso, fechamos ao clicar.
|
|
32
|
+
if (this.sidenav.mode === 'over') {
|
|
33
|
+
this.sidenav.close();
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: UnbNavBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
37
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: UnbNavBarComponent, selector: "unb-nav-bar", inputs: { nomeSistema: "nomeSistema", nomeSistemaMobile: "nomeSistemaMobile", menuSize: "menuSize", widthToHideMenu: "widthToHideMenu", contentBackgroundColor: "contentBackgroundColor", containerPadding: "containerPadding", oidcSecurityService: "oidcSecurityService" }, viewQueries: [{ propertyName: "sidenav", first: true, predicate: ["sidenav"], descendants: true }], ngImport: i0, template: "<div class=\"app-container\">\r\n\r\n <mat-toolbar class=\"app-toolbar\">\r\n\r\n <button mat-icon-button class=\"menu-button\" color=\"accent\" (click)=\"sidenav.toggle()\" aria-label=\"Toggle sidenav\">\r\n <mat-icon>menu</mat-icon>\r\n </button>\r\n\r\n <div class=\"branding\">\r\n <img src=\"assets/img/unb_icon_branco.svg\" alt=\"Logo UnB\" class=\"logo\">\r\n\r\n <span class=\"app-title\" *ngIf=\"{ isMobile: isMobile$ | async } as state\">\r\n {{ state.isMobile ? nomeSistemaMobile : nomeSistema }}\r\n </span>\r\n </div>\r\n\r\n <span class=\"spacer\"></span>\r\n\r\n <div class=\"actions-container\">\r\n <unb-usuario [oidcSecurityService]=\"oidcSecurityService\"></unb-usuario>\r\n </div>\r\n\r\n </mat-toolbar>\r\n\r\n <mat-sidenav-container class=\"sidenav-container\" [ngStyle]=\"{'background-color': contentBackgroundColor}\">\r\n\r\n <mat-sidenav #sidenav [mode]=\"(isMobile$ | async) ? 'over' : 'side'\" [opened]=\"!(isMobile$ | async)\"\r\n [style.width.px]=\"menuSize\" class=\"app-sidenav\">\r\n\r\n <div class=\"menu-wrapper\" (click)=\"handleMenuClick()\"> \r\n <ng-content select=\"[menu]\"></ng-content>\r\n </div>\r\n </mat-sidenav>\r\n\r\n <mat-sidenav-content [ngStyle]=\"{'padding.px': containerPadding}\">\r\n <ng-content select=\"[body]\"></ng-content>\r\n </mat-sidenav-content>\r\n\r\n </mat-sidenav-container>\r\n</div>", styles: [":host{--toolbar-height: 64px;--primary-color: #003366;--text-color: #ffffff}.app-container{display:flex;flex-direction:column;position:absolute;inset:0}.app-toolbar{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;height:var(--toolbar-height);padding:0 16px;box-shadow:0 2px 5px #0003;color:var(--text-color);background-color:var(--primary-color)}.branding{display:flex;align-items:center;gap:12px;overflow:hidden}.logo{height:32px;width:auto;flex-shrink:0}.app-title{font-weight:500;font-size:1.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.5px}.spacer{flex:1 1 auto}.actions-container{display:flex;align-items:center;justify-content:center;margin-left:16px;padding-left:16px;height:100%;position:relative}.actions-container:before{content:\"\";position:absolute;left:0;top:50%;transform:translateY(-50%);height:60%;width:1px;background-color:#ffffff4d}.sidenav-container{flex:1}@media (max-width: 600px){:host{--toolbar-height: 56px}.app-toolbar{padding:0 8px}.app-title{font-size:1rem}.actions-container{padding-left:8px;margin-left:8px;border:none}}.menu-wrapper{height:100%;overflow-y:auto}.menu-button{margin-right:8px;color:#fff!important}.menu-button mat-icon{font-size:28px;width:28px;height:28px;line-height:28px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i3.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { kind: "component", type: i3.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { kind: "component", type: i3.MatSidenavContent, selector: "mat-sidenav-content" }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i6.UnbUsuarioComponent, selector: "unb-usuario", inputs: ["oidcSecurityService"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
|
|
33
38
|
}
|
|
34
39
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: UnbNavBarComponent, decorators: [{
|
|
35
40
|
type: Component,
|
|
36
|
-
args: [{ selector: 'unb-nav-bar', template: "<div class=\"
|
|
37
|
-
}],
|
|
41
|
+
args: [{ selector: 'unb-nav-bar', template: "<div class=\"app-container\">\r\n\r\n <mat-toolbar class=\"app-toolbar\">\r\n\r\n <button mat-icon-button class=\"menu-button\" color=\"accent\" (click)=\"sidenav.toggle()\" aria-label=\"Toggle sidenav\">\r\n <mat-icon>menu</mat-icon>\r\n </button>\r\n\r\n <div class=\"branding\">\r\n <img src=\"assets/img/unb_icon_branco.svg\" alt=\"Logo UnB\" class=\"logo\">\r\n\r\n <span class=\"app-title\" *ngIf=\"{ isMobile: isMobile$ | async } as state\">\r\n {{ state.isMobile ? nomeSistemaMobile : nomeSistema }}\r\n </span>\r\n </div>\r\n\r\n <span class=\"spacer\"></span>\r\n\r\n <div class=\"actions-container\">\r\n <unb-usuario [oidcSecurityService]=\"oidcSecurityService\"></unb-usuario>\r\n </div>\r\n\r\n </mat-toolbar>\r\n\r\n <mat-sidenav-container class=\"sidenav-container\" [ngStyle]=\"{'background-color': contentBackgroundColor}\">\r\n\r\n <mat-sidenav #sidenav [mode]=\"(isMobile$ | async) ? 'over' : 'side'\" [opened]=\"!(isMobile$ | async)\"\r\n [style.width.px]=\"menuSize\" class=\"app-sidenav\">\r\n\r\n <div class=\"menu-wrapper\" (click)=\"handleMenuClick()\"> \r\n <ng-content select=\"[menu]\"></ng-content>\r\n </div>\r\n </mat-sidenav>\r\n\r\n <mat-sidenav-content [ngStyle]=\"{'padding.px': containerPadding}\">\r\n <ng-content select=\"[body]\"></ng-content>\r\n </mat-sidenav-content>\r\n\r\n </mat-sidenav-container>\r\n</div>", styles: [":host{--toolbar-height: 64px;--primary-color: #003366;--text-color: #ffffff}.app-container{display:flex;flex-direction:column;position:absolute;inset:0}.app-toolbar{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;height:var(--toolbar-height);padding:0 16px;box-shadow:0 2px 5px #0003;color:var(--text-color);background-color:var(--primary-color)}.branding{display:flex;align-items:center;gap:12px;overflow:hidden}.logo{height:32px;width:auto;flex-shrink:0}.app-title{font-weight:500;font-size:1.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.5px}.spacer{flex:1 1 auto}.actions-container{display:flex;align-items:center;justify-content:center;margin-left:16px;padding-left:16px;height:100%;position:relative}.actions-container:before{content:\"\";position:absolute;left:0;top:50%;transform:translateY(-50%);height:60%;width:1px;background-color:#ffffff4d}.sidenav-container{flex:1}@media (max-width: 600px){:host{--toolbar-height: 56px}.app-toolbar{padding:0 8px}.app-title{font-size:1rem}.actions-container{padding-left:8px;margin-left:8px;border:none}}.menu-wrapper{height:100%;overflow-y:auto}.menu-button{margin-right:8px;color:#fff!important}.menu-button mat-icon{font-size:28px;width:28px;height:28px;line-height:28px}\n"] }]
|
|
42
|
+
}], propDecorators: { nomeSistema: [{
|
|
43
|
+
type: Input
|
|
44
|
+
}], nomeSistemaMobile: [{
|
|
38
45
|
type: Input
|
|
39
46
|
}], menuSize: [{
|
|
40
47
|
type: Input
|
|
@@ -48,6 +55,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
|
|
|
48
55
|
type: Input
|
|
49
56
|
}], sidenav: [{
|
|
50
57
|
type: ViewChild,
|
|
51
|
-
args: [
|
|
58
|
+
args: ['sidenav']
|
|
52
59
|
}] } });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5iLW5hdi1iYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5iLWxpYi1jb21wb25lbnRzL3NyYy9saWIvdW5iLW5hdi1iYXIvdW5iLW5hdi1iYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5iLWxpYi1jb21wb25lbnRzL3NyYy9saWIvdW5iLW5hdi1iYXIvdW5iLW5hdi1iYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUd6RCxPQUFPLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7OztBQVFsRCxNQUFNLE9BQU8sa0JBQWtCO0lBTC9CO1FBT0UsZUFBZTtRQUNQLHVCQUFrQixHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRXhELHlCQUF5QjtRQUNoQixnQkFBVyxHQUFXLGlCQUFpQixDQUFDO1FBQ3hDLHNCQUFpQixHQUFXLEtBQUssQ0FBQyxDQUFDLHdCQUF3QjtRQUMzRCxhQUFRLEdBQUcsR0FBRyxDQUFDLENBQUMscURBQXFEO1FBQ3JFLG9CQUFlLEdBQUcsR0FBRyxDQUFDO1FBQ3RCLDJCQUFzQixHQUFHLFNBQVMsQ0FBQyxDQUFDLDJCQUEyQjtRQUMvRCxxQkFBZ0IsR0FBRyxFQUFFLENBQUMsQ0FBQyxvQ0FBb0M7S0EyQnJFO0lBakJDLFFBQVE7UUFDTixxRUFBcUU7UUFDckUsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsa0JBQWtCO2FBQ3JDLE9BQU8sQ0FBQyxlQUFlLElBQUksQ0FBQyxlQUFlLEtBQUssQ0FBQzthQUNqRCxJQUFJLENBQ0gsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUM3QixXQUFXLEVBQUUsQ0FDZCxDQUFDO0lBQ04sQ0FBQztJQUVELGVBQWU7UUFDYiwwRUFBMEU7UUFDMUUsdURBQXVEO1FBQ3ZELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN2QixDQUFDO0lBQ0gsQ0FBQzs4R0FyQ1Usa0JBQWtCO2tHQUFsQixrQkFBa0IscWFDWi9CLDI2Q0F1Q007OzJGRDNCTyxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsYUFBYTs4QkFVZCxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFFRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBR2dCLE9BQU87c0JBQTVCLFNBQVM7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFZpZXdDaGlsZCwgaW5qZWN0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQnJlYWtwb2ludE9ic2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XHJcbmltcG9ydCB7IE1hdFNpZGVuYXYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcclxuaW1wb3J0IHsgT2lkY1NlY3VyaXR5U2VydmljZSB9IGZyb20gJ2FuZ3VsYXItYXV0aC1vaWRjLWNsaWVudCc7XHJcbmltcG9ydCB7IG1hcCwgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndW5iLW5hdi1iYXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi91bmItbmF2LWJhci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdW5iLW5hdi1iYXIuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVbmJOYXZCYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIFxyXG4gIC8vIERlcGVuZMOqbmNpYXNcclxuICBwcml2YXRlIGJyZWFrcG9pbnRPYnNlcnZlciA9IGluamVjdChCcmVha3BvaW50T2JzZXJ2ZXIpO1xyXG5cclxuICAvLyBJbnB1dHMgZGUgQ29uZmlndXJhw6fDo29cclxuICBASW5wdXQoKSBub21lU2lzdGVtYTogc3RyaW5nID0gXCJOb21lIGRvIFNpc3RlbWFcIjtcclxuICBASW5wdXQoKSBub21lU2lzdGVtYU1vYmlsZTogc3RyaW5nID0gXCJVbkJcIjsgLy8gaW5wdXQgcGFyYSBub21lIGN1cnRvXHJcbiAgQElucHV0KCkgbWVudVNpemUgPSAyODA7IC8vIEF1bWVudGVpIHVtIHBvdWNvIG8gcGFkcsOjbyBwYXJhIGZpY2FyIG1haXMgbW9kZXJub1xyXG4gIEBJbnB1dCgpIHdpZHRoVG9IaWRlTWVudSA9IDgwMDtcclxuICBASW5wdXQoKSBjb250ZW50QmFja2dyb3VuZENvbG9yID0gJyNmNWY3ZmEnOyAvLyBDb3IgbWFpcyBzdWF2ZSBlIG1vZGVybmFcclxuICBASW5wdXQoKSBjb250YWluZXJQYWRkaW5nID0gMTY7IC8vIE1haXMgcmVzcGlybyAocGFkZGluZykgcG9yIHBhZHLDo29cclxuICBcclxuICBASW5wdXQoKSBvaWRjU2VjdXJpdHlTZXJ2aWNlITogT2lkY1NlY3VyaXR5U2VydmljZTtcclxuXHJcbiAgLy8gQWNlc3NvIGFvIGNvbXBvbmVudGUgdmlzdWFsXHJcbiAgQFZpZXdDaGlsZCgnc2lkZW5hdicpIHNpZGVuYXYhOiBNYXRTaWRlbmF2O1xyXG5cclxuICAvLyBPYnNlcnZhYmxlIHBhcmEgY29udHJvbGFyIG8gZXN0YWRvIG1vYmlsZSBkZSBmb3JtYSByZWF0aXZhXHJcbiAgaXNNb2JpbGUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHwgdW5kZWZpbmVkO1xyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIC8vIENyaWEgdW0gb2JzZXJ2YWJsZSBxdWUgZW1pdGUgdHJ1ZS9mYWxzZSBiYXNlYWRvIG5vIHRhbWFuaG8gZGEgdGVsYVxyXG4gICAgdGhpcy5pc01vYmlsZSQgPSB0aGlzLmJyZWFrcG9pbnRPYnNlcnZlclxyXG4gICAgICAub2JzZXJ2ZShgKG1heC13aWR0aDogJHt0aGlzLndpZHRoVG9IaWRlTWVudX1weClgKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAocmVzdWx0ID0+IHJlc3VsdC5tYXRjaGVzKSxcclxuICAgICAgICBzaGFyZVJlcGxheSgpXHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVNZW51Q2xpY2soKSB7XHJcbiAgICAvLyBTZSBvIG1vZG8gZm9yICdvdmVyJywgc2lnbmlmaWNhIHF1ZSBlc3RhbW9zIG5vIG1vYmlsZSAob3UgdGVsYSBwZXF1ZW5hKVxyXG4gICAgLy8gY29icmluZG8gbyBjb250ZcO6ZG8uIE5lc3NlIGNhc28sIGZlY2hhbW9zIGFvIGNsaWNhci5cclxuICAgIGlmICh0aGlzLnNpZGVuYXYubW9kZSA9PT0gJ292ZXInKSB7XHJcbiAgICAgIHRoaXMuc2lkZW5hdi5jbG9zZSgpO1xyXG4gICAgfVxyXG4gIH1cclxufSIsIjxkaXYgY2xhc3M9XCJhcHAtY29udGFpbmVyXCI+XHJcblxyXG4gIDxtYXQtdG9vbGJhciBjbGFzcz1cImFwcC10b29sYmFyXCI+XHJcblxyXG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gY2xhc3M9XCJtZW51LWJ1dHRvblwiIGNvbG9yPVwiYWNjZW50XCIgKGNsaWNrKT1cInNpZGVuYXYudG9nZ2xlKClcIiBhcmlhLWxhYmVsPVwiVG9nZ2xlIHNpZGVuYXZcIj5cclxuICAgICAgPG1hdC1pY29uPm1lbnU8L21hdC1pY29uPlxyXG4gICAgPC9idXR0b24+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImJyYW5kaW5nXCI+XHJcbiAgICAgIDxpbWcgc3JjPVwiYXNzZXRzL2ltZy91bmJfaWNvbl9icmFuY28uc3ZnXCIgYWx0PVwiTG9nbyBVbkJcIiBjbGFzcz1cImxvZ29cIj5cclxuXHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiYXBwLXRpdGxlXCIgKm5nSWY9XCJ7IGlzTW9iaWxlOiBpc01vYmlsZSQgfCBhc3luYyB9IGFzIHN0YXRlXCI+XHJcbiAgICAgICAge3sgc3RhdGUuaXNNb2JpbGUgPyBub21lU2lzdGVtYU1vYmlsZSA6IG5vbWVTaXN0ZW1hIH19XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxzcGFuIGNsYXNzPVwic3BhY2VyXCI+PC9zcGFuPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJhY3Rpb25zLWNvbnRhaW5lclwiPlxyXG4gICAgICA8dW5iLXVzdWFyaW8gW29pZGNTZWN1cml0eVNlcnZpY2VdPVwib2lkY1NlY3VyaXR5U2VydmljZVwiPjwvdW5iLXVzdWFyaW8+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgPC9tYXQtdG9vbGJhcj5cclxuXHJcbiAgPG1hdC1zaWRlbmF2LWNvbnRhaW5lciBjbGFzcz1cInNpZGVuYXYtY29udGFpbmVyXCIgW25nU3R5bGVdPVwieydiYWNrZ3JvdW5kLWNvbG9yJzogY29udGVudEJhY2tncm91bmRDb2xvcn1cIj5cclxuXHJcbiAgICA8bWF0LXNpZGVuYXYgI3NpZGVuYXYgW21vZGVdPVwiKGlzTW9iaWxlJCB8IGFzeW5jKSA/ICdvdmVyJyA6ICdzaWRlJ1wiIFtvcGVuZWRdPVwiIShpc01vYmlsZSQgfCBhc3luYylcIlxyXG4gICAgICBbc3R5bGUud2lkdGgucHhdPVwibWVudVNpemVcIiBjbGFzcz1cImFwcC1zaWRlbmF2XCI+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwibWVudS13cmFwcGVyXCIgKGNsaWNrKT1cImhhbmRsZU1lbnVDbGljaygpXCI+IFxyXG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlttZW51XVwiPjwvbmctY29udGVudD5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L21hdC1zaWRlbmF2PlxyXG5cclxuICAgIDxtYXQtc2lkZW5hdi1jb250ZW50IFtuZ1N0eWxlXT1cInsncGFkZGluZy5weCc6IGNvbnRhaW5lclBhZGRpbmd9XCI+XHJcbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltib2R5XVwiPjwvbmctY29udGVudD5cclxuICAgIDwvbWF0LXNpZGVuYXYtY29udGVudD5cclxuXHJcbiAgPC9tYXQtc2lkZW5hdi1jb250YWluZXI+XHJcbjwvZGl2PiJdfQ==
|
|
@@ -69,6 +69,7 @@ export class UnbPessoaCrudModalComponent {
|
|
|
69
69
|
this.pessoaEmitted.emit(pessoa);
|
|
70
70
|
}
|
|
71
71
|
else if (this.incluirBotaoNovo) {
|
|
72
|
+
this.openSnackBar('Pessoa não encontrada. Clique em “Incluir Nova Pessoa” para realizar o cadastro.');
|
|
72
73
|
this.mostrarBotaoNovo = true;
|
|
73
74
|
}
|
|
74
75
|
}
|
|
@@ -141,4 +142,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
|
|
|
141
142
|
}], pessoaEmitted: [{
|
|
142
143
|
type: Output
|
|
143
144
|
}] } });
|
|
144
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5iLXBlc3NvYS1jcnVkLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VuYi1saWItY29tcG9uZW50cy9zcmMvbGliL3VuYi1wZXNzb2EvdW5iLXBlc3NvYS1jcnVkLW1vZGFsL3VuYi1wZXNzb2EtY3J1ZC1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmItbGliLWNvbXBvbmVudHMvc3JjL2xpYi91bmItcGVzc29hL3VuYi1wZXNzb2EtY3J1ZC1tb2RhbC91bmItcGVzc29hLWNydWQtbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFdkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFJNUcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sNERBQTRELENBQUM7Ozs7Ozs7Ozs7QUFFMUc7Ozs7O0VBS0U7QUFPRixNQUFNLE9BQU8sMkJBQTJCO0lBY3RDLFlBQW9CLFFBQXFCLEVBQVUsYUFBK0IsRUFBVSxZQUFnQyxFQUFTLE1BQWlCO1FBQWxJLGFBQVEsR0FBUixRQUFRLENBQWE7UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBb0I7UUFBUyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBWnRKLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFbEIsNkJBQTZCO1FBQ0YsbUJBQWMsR0FBNEIsSUFBSSx1QkFBdUIsRUFBRSxDQUFDO1FBQzNELHFCQUFnQixHQUFHLElBQUksQ0FBQyxDQUFDLDhD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LElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUU7WUFDL0IsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDLENBQUM7SUFDTCxDQUFDOzhHQXBIVSwyQkFBMkI7a0dBQTNCLDJCQUEyQixnSkFNbEIsZ0JBQWdCLHVFQUNoQixnQkFBZ0IsMEVDN0J0QyxpMUNBa0NNOzsyRkRaTywyQkFBMkI7a0JBTnZDLFNBQVM7K0JBQ0UsMkJBQTJCLGNBQ3pCLEtBQUs7d0tBU1UsY0FBYztzQkFBeEMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ2UsZ0JBQWdCO3NCQUF2RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLG1CQUFtQjtzQkFBMUQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDNUIsYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGJvb2xlYW5BdHRyaWJ1dGUsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xyXG5pbXBvcnQgeyBVbmJQZXNzb2FNb2RlbCB9IGZyb20gJy4uL3VuYi1wZXNzb2EtbW9kZWxzL3VuYi1wZXNzb2EubW9kZWwnO1xyXG5pbXBvcnQgeyBVbkJQZXNzb2FTZXJ2aWNlIH0gZnJvbSAnLi4vdW5iLXBlc3NvYS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVW5iUGVzc29hRm9ybUNvbmZpZywgVW5iUGVzc29hUGVzcXVpc2FDb25maWcgfSBmcm9tICcuLi91bmItcGVzc29hLW1vZGVscy91bmItcGVzc29hLWNvbmZpZy5tb2RlbCc7XHJcbmltcG9ydCB7IFVuYk1lbnNhZ2VtU2VydmljZSB9IGZyb20gJy4uLy4uL3VuYi1tZW5zYWdlbS91bmItbWVuc2FnZW0uc2VydmljZSc7XHJcbmltcG9ydCB7IFVuYlBlc3NvYUZvcm1Db21wb25lbnQgfSBmcm9tICcuLi91bmItcGVzc29hLWZvcm0vdW5iLXBlc3NvYS1mb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFVuYlBlc3NvYUZvcm1EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi91bmItcGVzc29hLWZvcm0tZGlhbG9nL3VuYi1wZXNzb2EtZm9ybS1kaWFsb2cuY29tcG9uZW50JztcclxuXHJcbi8qKlxyXG4gKiBFc3NlIMOpIHVtIGNvbXBvbmV0bmUgV3JhcHBlciB1dGlsaXTDoXJpby4gRWxlIGVuY2Fwc3VsYSBhIGxvZ2ljYSBkZSBwcm9jdXJhciBlIHNlIG5hbyBhY2hhciBpbmljaWFyIG8gZm9ybXVsYXJpbyBkZSBjYWRhc3RybyBlbSB1bSBtb2RhbC4gXHJcbiAqIFRhbWLDqW0sIHNlIGFjaGFyLCBlbGUgcGVybWl0ZSBhbHRlcmFyIGEgcGVzc29hIGVuY29udHJhZGEuXHJcbiAqIE8gU0dJIHVzYSBwYXJhIGNhZGFzdHJvIGRlIElucXVpbGlubyBubyBmb3JtdWxhcmlvLiBMYSB0ZW0gYSBwZXNxdWlzYSBkZSBQZXNzb2EsIHNlIG5hbyBhY2hhciwgYWJyZSBvIGZvcm11bGFyaW8gZGUgY2FkYXN0cm8gZW0gbW9kYWwuIEFzc2ltLCBuYW8gcHJlY2lzYSBpciBlbSBvdXRyYSB0ZWxhIHByYSBjYWRhc3RyYXJcclxuICogRWggcG9zc2l2ZWwgY29uZmlndXJhciBzZSBxdWVyIG1vc3RyYXIgbyBib3RhbyBkZSBOb3ZvIChzZSBuYW8gYWNoYXIpIGUgQWx0ZXJhciAoc2UgYWNoYXIpLiBObyBTR0ksIHBvciBleGVtcGxvIGV1IHNvaCBkZWl4byBpbmNsdWlyIG5vdm8sIHBxIG5hbyBmYXogc2VudGlkbyBhbHRlcmFyIGEgcGVzc29hIG5vIG1laW8gZG8gY2FkYXN0cm8gZG8gaW5xdWlsaW5vLlxyXG4qL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi11bmItcGVzc29hLWNydWQtbW9kYWwnLFxyXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi91bmItcGVzc29hLWNydWQtbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi91bmItcGVzc29hLWNydWQtbW9kYWwuY29tcG9uZW50LmNzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFVuYlBlc3NvYUNydWRNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGlzTG9hZGluZyA9IGZhbHNlO1xyXG5cclxuICAvLyBDb25maWd1cmHDp8OjbyBkbyBjb21wb25lbnRlXHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgcGVzcXVpc2FDb25maWc6IFVuYlBlc3NvYVBlc3F1aXNhQ29uZmlnID0gbmV3IFVuYlBlc3NvYVBlc3F1aXNhQ29uZmlnKCk7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGluY2x1aXJCb3Rhb05vdm8gPSB0cnVlOyAvLyBzZSBwZXNxdWlzb3UgZSBuYW8gYWNob3UsIG1vc3RyYSBib3RhbyBub3ZvXHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGluY2x1aXJCb3Rhb0FsdGVyYXIgPSB0cnVlOyAvLyBzZSBwZXNxdWlzb3UgZSBhY2hvdSwgbW9zdHJhIGJvdGFvIGFsdGVyYXJcclxuICBAT3V0cHV0KCkgcGVzc29hRW1pdHRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8VW5iUGVzc29hTW9kZWw+KCk7XHJcblxyXG4gIHBlc3NvYVNlbGVjaW9uYWRhID0gbmV3IFVuYlBlc3NvYU1vZGVsKCk7XHJcbiAgbW9zdHJhckJvdGFvTm92byA9IGZhbHNlO1xyXG4gIGZvcm1Db25maWcgPSBuZXcgVW5iUGVzc29hRm9ybUNvbmZpZygpOyAvLyBvIGZvcm1DT25maWcgYSBnZW50ZSBtb250YSBjb25mb3JtZSBvIHBlc3F1aXNhQ29uZmlnXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc25hY2tCYXI6IE1hdFNuYWNrQmFyLCBwcml2YXRlIHBlc3NvYVNlcnZpY2U6IFVuQlBlc3NvYVNlcnZpY2UsIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBVbmJNZW5zYWdlbVNlcnZpY2UsIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZykge1xyXG5cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucGVzcXVpc2FDb25maWcudG9rZW4pIHtcclxuICAgICAgdGhpcy5wZXNzb2FTZXJ2aWNlLnNldFRva2VuKHRoaXMucGVzcXVpc2FDb25maWcudG9rZW4pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnBlc3F1aXNhQ29uZmlnLmJhY2tlbmRVUkwpIHtcclxuICAgICAgdGhpcy5wZXNzb2FTZXJ2aWNlLnNldEJhY2tlbmRVcmwodGhpcy5wZXNxdWlzYUNvbmZpZy5iYWNrZW5kVVJMKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMub3BlblNuYWNrQmFyKCdCYWNrZW5kIFVSTCBuw6NvIGluZm9ybWFkYSBuYSBjb25maWd1cmHDp8OjbyBkbyBjb21wb25lbnRlIFVuYlBlc3NvYUNydWRDb21wb25lbnQhJyk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5mb3JtQ29uZmlnID0gbmV3IFVuYlBlc3NvYUZvcm1Db25maWcoKTtcclxuICAgIHRoaXMuZm9ybUNvbmZpZy5wZXNzb2EgPSB0aGlzLnBlc3NvYVNlbGVjaW9uYWRhO1xyXG4gICAgdGhpcy5mb3JtQ29uZmlnLmJhY2tlbmRVUkwgPSB0aGlzLnBlc3F1aXNhQ29uZmlnLmJhY2tlbmRVUkw7XHJcbiAgICB0aGlzLmZvcm1Db25maWcudG9rZW4gPSB0aGlzLnBlc3F1aXNhQ29uZmlnLnRva2VuO1xyXG4gIH1cclxuXHJcbiAgcGVzc29hUGVzcXVpc2FSZWNlYmlkYShwZXNzb2E6IFVuYlBlc3NvYU1vZGVsKSB7ICAgIFxyXG4gICAgLy8gMS4gVmVyaWZpY2Egc2UgYSBwZXNzb2Egw6kgbnVsYSBvdSBzZSDDqSB1bSBvYmpldG8gXCJ2YXppb1wiIChzZW0gSUQgZSBzZW0gZG9jdW1lbnRvcylcclxuICAgIGNvbnN0IGlzVmF6aW8gPSAhcGVzc29hIHx8IChcclxuICAgICAgIXBlc3NvYS5jb2RpZ29QZXNzb2EgJiYgICAvLyBOw6NvIHRlbSBJRFxyXG4gICAgICAhcGVzc29hLmNwZiAmJiAgICAgICAgICAgIC8vIE7Do28gdGVtIENQRlxyXG4gICAgICAhcGVzc29hLmNucGogJiYgICAgICAgICAgIC8vIE7Do28gdGVtIENOUEpcclxuICAgICAgIXBlc3NvYS5wYXNzYXBvcnRlICAgICAgICAvLyBOw6NvIHRlbSBQYXNzYXBvcnRlXHJcbiAgICApO1xyXG5cclxuICAgIGlmIChpc1ZhemlvKSB7XHJcbiAgICAgIC8vIFNlIGZvciB2YXppbywgbGltcGFtb3MgYSBzZWxlw6fDo28gcGFyYSBlc2NvbmRlciBvIGZvcm11bMOhcmlvXHJcbiAgICAgIC8vIChPICpuZ0lmPVwicGVzc29hU2VsZWNpb25hZGFcIiBubyBIVE1MIHZhaSByZW1vdmVyIG8gY29tcG9uZW50ZSBkYSB0ZWxhKVxyXG4gICAgICB0aGlzLnBlc3NvYVNlbGVjaW9uYWRhID0gbmV3IFVuYlBlc3NvYU1vZGVsKCk7IC8vIG91IHVuZGVmaW5lZCwgZGVwZW5kZW5kbyBkYSB0aXBhZ2VtXHJcbiAgICAgIHRoaXMubW9zdHJhckJvdGFvTm92byA9IGZhbHNlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gU2UgdGl2ZXIgYWxndW0gZGFkbyAoQ1BGIGRpZ2l0YWRvIG91IHBlc3NvYSBlbmNvbnRyYWRhKSwgYXR1YWxpemFcclxuICAgICAgdGhpcy5wZXNzb2FTZWxlY2lvbmFkYSA9IHBlc3NvYTtcclxuICAgICAgaWYgKHRoaXMucGVzc29hU2VsZWNpb25hZGEuY29kaWdvUGVzc29hKSB7ICAgICAgXHJcbiAgICAgICAgLy8gam9nYSBwcmEgY2ltYSBwcmEgZmFsYXIgcXVlIHVtYSBwZXNzb2EgZm9pIGVuY29udHJhZGFcclxuICAgICAgICB0aGlzLnBlc3NvYUVtaXR0ZWQuZW1pdChwZXNzb2EpO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuaW5jbHVpckJvdGFvTm92bykge1xyXG4gICAgICAgIHRoaXMubW9zdHJhckJvdGFvTm92byA9IHRydWU7ICAgICAgICBcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIDIuIEF0dWFsaXphIGEgY29uZmlndXJhw6fDo28gZG8gZm9ybXVsw6FyaW9cclxuICAgIC8vIEltcG9ydGFudGU6IFPDsyB0ZW50YSBhY2Vzc2FyICdwZXNzb2EnIHNlIGZvcm1Db25maWcgZXhpc3RpclxyXG4gICAgaWYgKHRoaXMuZm9ybUNvbmZpZykge1xyXG4gICAgICAvLyBVc2Ftb3MgbyBzcHJlYWQgb3BlcmF0b3IgKC4uLikgcGFyYSBmb3LDp2FyIG8gQW5ndWxhciBhIGRldGVjdGFyIGEgbXVkYW7Dp2EsXHJcbiAgICAgIC8vIGNhc28gbyBjb21wb25lbnRlIGZpbGhvIHVzZSBuZ09uQ2hhbmdlc1xyXG4gICAgICB0aGlzLmZvcm1Db25maWcgPSB7XHJcbiAgICAgICAgLi4udGhpcy5mb3JtQ29uZmlnLFxyXG4gICAgICAgIHBlc3NvYTogdGhpcy5wZXNzb2FTZWxlY2lvbmFkYSB8fCBuZXcgVW5iUGVzc29hTW9kZWwoKSAvLyBFdml0YSBwYXNzYXIgbnVsbCBwcm8gZm9ybSBzZSBuw6NvIHF1aXNlclxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbGltcGFyU2VsZWNhbygpIHtcclxuICAgIHRoaXMucGVzc29hU2VsZWNpb25hZGEgPSBuZXcgVW5iUGVzc29hTW9kZWwoKTsgLy8gb3UgbmV3IFVuYlBlc3NvYU1vZGVsKClcclxuICAgIC8vIFRhbHZleiBwcmVjaXNlIGF2aXNhciBvIGNvbXBvbmVudGUgZmlsaG8gcGFyYSBsaW1wYXIgbyBpbnB1dCB0YW1iw6ltXHJcbiAgfVxyXG5cclxuICBnZXREb2N1bWVudG9Gb3JtYXRhZG8ocGVzc29hOiBVbmJQZXNzb2FNb2RlbCkge1xyXG4gICAgaWYgKHBlc3NvYS5jcGYgJiYgcGVzc29hLmNwZi50cmltKCkgIT09ICcnKSB7XHJcbiAgICAgIHJldHVybiBwZXNzb2EuY3BmO1xyXG4gICAgfSBlbHNlIGlmIChwZXNzb2EuY25waiAmJiBwZXNzb2EuY25wai50cmltKCkgIT09ICcnKSB7XHJcbiAgICAgIHJldHVybiBwZXNzb2EuY25wajtcclxuICAgIH0gZWxzZSBpZiAocGVzc29hLnBhc3NhcG9ydGUgJiYgcGVzc29hLnBhc3NhcG9ydGUudHJpbSgpICE9PSAnJykge1xyXG4gICAgICByZXR1cm4gcGVzc29hLnBhc3NhcG9ydGU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvcGVuTW9kYWwoKSB7XHJcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKFVuYlBlc3NvYUZvcm1EaWFsb2dDb21wb25lbnQsIHtcclxuICAgICAgLy8gMS4gRGVmaW5hIHVtIHBhaW5lbCBkZSBjbGFzc2UgcGFyYSBjb250cm9sYXIgdHVkbyBubyBDU1NcclxuICAgICAgcGFuZWxDbGFzczogJ2RpYWxvZy1wZXNzb2EtZnVsbHNjcmVlbicsIFxyXG4gICAgICBcclxuICAgICAgLy8gMi4gTGFyZ3VyYSBwYWRyw6NvIHBhcmEgRGVza3RvcCAobyBDU1MgdmFpIHNvYnJlc2NyZXZlciBubyBtb2JpbGUpXHJcbiAgICAgIHdpZHRoOiAnOTB2dycsIFxyXG4gICAgICBtYXhXaWR0aDogJzEyMDBweCcsIC8vIFRyYXZhIHBhcmEgbsOjbyBmaWNhciBnaWdhbnRlIGVtIG1vbml0b3JlcyB1bHRyYXdpZGVcclxuICAgICAgXHJcbiAgICAgIC8vIDMuIEFsdHVyYSBhdXRvbcOhdGljYSBvdSBtw6F4aW1hIChDU1MgY29udHJvbGEgbyBlc3RpY2FyKVxyXG4gICAgICBtYXhIZWlnaHQ6ICc5NXZoJywgXHJcblxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgY29uZmlnOiB0aGlzLmZvcm1Db25maWdcclxuICAgICAgfSxcclxuICAgICAgYXV0b0ZvY3VzOiAnZmlyc3QtdGFiYmFibGUnXHJcbiAgICB9KTtcclxuXHJcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHBlc3NvYVNhbHZhOiBVbmJQZXNzb2FNb2RlbCB8IG51bGwpID0+IHtcclxuICAgICAgaWYgKHBlc3NvYVNhbHZhPy5jb2RpZ29QZXNzb2EpIHtcclxuICAgICAgICB0aGlzLnBlc3NvYUVtaXR0ZWQuZW1pdChwZXNzb2FTYWx2YSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb3BlblNuYWNrQmFyKG1lc3NhZ2U6IHN0cmluZykge1xyXG4gICAgdGhpcy5zbmFja0Jhci5vcGVuKG1lc3NhZ2UsICd4Jywge1xyXG4gICAgICBkdXJhdGlvbjogNTAwMCxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInNlYXJjaC13cmFwcGVyXCIgW2NsYXNzLmRpc2FibGVkLXdyYXBwZXJdPVwiaXNMb2FkaW5nXCI+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJzZWFyY2gtaW5wdXQtYXJlYVwiPlxyXG4gICAgPGxpYi11bmItcGVzc29hLXBlc3F1aXNhciBcclxuICAgICAgICBbY29uZmlnXT1cInBlc3F1aXNhQ29uZmlnXCIgXHJcbiAgICAgICAgKHBlc3NvYUVtaXR0ZWQpPVwicGVzc29hUGVzcXVpc2FSZWNlYmlkYSgkZXZlbnQpXCI+XHJcbiAgICA8L2xpYi11bmItcGVzc29hLXBlc3F1aXNhcj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cInNlYXJjaC1idXR0b24tYXJlYVwiPlxyXG5cclxuICAgIDxidXR0b24gKm5nSWY9XCJpbmNsdWlyQm90YW9Ob3ZvICYmIG1vc3RyYXJCb3Rhb05vdm8gJiYgIXBlc3NvYVNlbGVjaW9uYWRhLmNvZGlnb1Blc3NvYVwiIFxyXG4gICAgICAgICAgICBtYXQtc3Ryb2tlZC1idXR0b24gXHJcbiAgICAgICAgICAgIGNvbG9yPVwiYWNjZW50XCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5Nb2RhbCgpXCIgXHJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIiBcclxuICAgICAgICAgICAgc3R5bGU9XCJ3aGl0ZS1zcGFjZTogbm93cmFwO1wiPlxyXG4gICAgICA8bWF0LWljb24+YWRkPC9tYXQtaWNvbj4gSW5jbHVpciBOb3ZhIFBlc3NvYVxyXG4gICAgPC9idXR0b24+XHJcblxyXG4gICAgPGRpdiAqbmdJZj1cImluY2x1aXJCb3Rhb0FsdGVyYXIgJiYgcGVzc29hU2VsZWNpb25hZGEuY29kaWdvUGVzc29hXCIgY2xhc3M9XCJtaW5pLWNhcmQtc2VsZWN0ZWRcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYXZhdGFyXCI+PG1hdC1pY29uPnBlcnNvbjwvbWF0LWljb24+PC9kaXY+XHJcbiAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1pbmZvXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1uYW1lXCI+e3sgcGVzc29hU2VsZWNpb25hZGEubm9tZSB9fTwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtZG9jXCI+e3sgZ2V0RG9jdW1lbnRvRm9ybWF0YWRvKHBlc3NvYVNlbGVjaW9uYWRhKSB9fTwvZGl2PlxyXG4gICAgICAgPC9kaXY+XHJcbiAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1hY3Rpb25zXCI+XHJcbiAgICAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJvcGVuTW9kYWwoKVwiIHR5cGU9XCJidXR0b25cIj5cclxuICAgICAgICAgICAgPG1hdC1pY29uPmVkaXQ8L21hdC1pY29uPiBFZGl0YXJcclxuICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICA8L2Rpdj5cclxuPC9kaXY+Il19
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5iLXBlc3NvYS1jcnVkLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VuYi1saWItY29tcG9uZW50cy9zcmMvbGliL3VuYi1wZXNzb2EvdW5iLXBlc3NvYS1jcnVkLW1vZGFsL3VuYi1wZXNzb2EtY3J1ZC1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmItbGliLWNvbXBvbmVudHMvc3JjL2xpYi91bmItcGVzc29hL3VuYi1wZXNzb2EtY3J1ZC1tb2RhbC91bmItcGVzc29hLWNydWQtbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFdkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFJNUcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sNERBQTRELENBQUM7Ozs7Ozs7Ozs7QUFFMUc7Ozs7O0VBS0U7QUFPRixNQUFNLE9BQU8sMkJBQTJCO0lBY3RDLFlBQW9CLFFBQXFCLEVBQVUsYUFBK0IsRUFBVSxZQUFnQyxFQUFTLE1BQWlCO1FBQWxJLGFBQVEsR0FBUixRQUFRLENBQWE7UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBb0I7UUFBUyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBWnRKLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFbEIsNkJBQTZCO1FBQ0YsbUJBQWMsR0FBNEIsSUFBSSx1QkFBdUIsRUFBRSxDQUFDO1FBQzNELHFCQUFnQixHQUFHLElBQUksQ0FBQyxDQUFDLDhDQUE4QztRQUN2RSx3QkFBbUIsR0FBRyxJQUFJLENBQUMsQ0FBQyw2Q0FBNkM7UUFDdkcsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBa0IsQ0FBQztRQUU3RCxzQkFBaUIsR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFDO1FBQ3pDLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUN6QixlQUFVLEdBQUcsSUFBSSxtQkFBbUIsRUFBRSxDQUFDLENBQUMsdURBQXVEO0lBSS9GLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekQsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ25FLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFlBQVksQ0FBQyxpRkFBaUYsQ0FBQyxDQUFDO1FBQ3ZHLENBQUM7UUFFRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksbUJBQW1CLEVBQUUsQ0FBQztRQUM1QyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7UUFDaEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUM7UUFDNUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUM7SUFDcEQsQ0FBQztJQUVELHNCQUFzQixDQUFDLE1BQXNCO1FBQzNDLHFGQUFxRjtRQUNyRixNQUFNLE9BQU8sR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUN6QixDQUFDLE1BQU0sQ0FBQyxZQUFZLElBQU0sYUFBYTtZQUN2QyxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQWUsY0FBYztZQUN4QyxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQWMsZUFBZTtZQUN6QyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQVEscUJBQXFCO1NBQ2hELENBQUM7UUFFRixJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osOERBQThEO1lBQzlELHlFQUF5RTtZQUN6RSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxjQUFjLEVBQUUsQ0FBQyxDQUFDLHNDQUFzQztZQUNyRixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQ2hDLENBQUM7YUFBTSxDQUFDO1lBQ04sb0VBQW9FO1lBQ3BFLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxNQUFNLENBQUM7WUFDaEMsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3hDLHdEQUF3RDtnQkFDeEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDbEMsQ0FBQztpQkFBTSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2dCQUNqQyxJQUFJLENBQUMsWUFBWSxDQUFDLGtGQUFrRixDQUFDLENBQUM7Z0JBQ3RHLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7WUFDL0IsQ0FBQztRQUNILENBQUM7UUFFRCwyQ0FBMkM7UUFDM0MsOERBQThEO1FBQzlELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLDZFQUE2RTtZQUM3RSwwQ0FBMEM7WUFDMUMsSUFBSSxDQUFDLFVBQVUsR0FBRztnQkFDaEIsR0FBRyxJQUFJLENBQUMsVUFBVTtnQkFDbEIsTUFBTSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLGNBQWMsRUFBRSxDQUFDLDJDQUEyQzthQUNuRyxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksY0FBYyxFQUFFLENBQUMsQ0FBQywwQkFBMEI7UUFDekUsc0VBQXNFO0lBQ3hFLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxNQUFzQjtRQUMxQyxJQUFJLE1BQU0sQ0FBQyxHQUFHLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUMzQyxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUM7UUFDcEIsQ0FBQzthQUFNLElBQUksTUFBTSxDQUFDLElBQUksSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQ3BELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQztRQUNyQixDQUFDO2FBQU0sSUFBSSxNQUFNLENBQUMsVUFBVSxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDaEUsT0FBTyxNQUFNLENBQUMsVUFBVSxDQUFDO1FBQzNCLENBQUM7SUFDSCxDQUFDO0lBRUQsU0FBUztRQUNQLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLDRCQUE0QixFQUFFO1lBQy9ELDJEQUEyRDtZQUMzRCxVQUFVLEVBQUUsMEJBQTBCO1lBRXRDLG9FQUFvRTtZQUNwRSxLQUFLLEVBQUUsTUFBTTtZQUNiLFFBQVEsRUFBRSxRQUFRLEVBQUUsc0RBQXNEO1lBRTFFLDBEQUEwRDtZQUMxRCxTQUFTLEVBQUUsTUFBTTtZQUVqQixJQUFJLEVBQUU7Z0JBQ0osTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVO2FBQ3hCO1lBQ0QsU0FBUyxFQUFFLGdCQUFnQjtTQUM1QixDQUFDLENBQUM7UUFFSCxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsV0FBa0MsRUFBRSxFQUFFO1lBQ3ZFLElBQUksV0FBVyxFQUFFLFlBQVksRUFBRSxDQUFDO2dCQUM5QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN2QyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsWUFBWSxDQUFDLE9BQWU7UUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRTtZQUMvQixRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBckhVLDJCQUEyQjtrR0FBM0IsMkJBQTJCLGdKQU1sQixnQkFBZ0IsdUVBQ2hCLGdCQUFnQiwwRUM3QnRDLGkxQ0FrQ007OzJGRFpPLDJCQUEyQjtrQkFOdkMsU0FBUzsrQkFDRSwyQkFBMkIsY0FDekIsS0FBSzt3S0FTVSxjQUFjO3NCQUF4QyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDZSxnQkFBZ0I7c0JBQXZELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsbUJBQW1CO3NCQUExRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUM1QixhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYm9vbGVhbkF0dHJpYnV0ZSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XHJcbmltcG9ydCB7IFVuYlBlc3NvYU1vZGVsIH0gZnJvbSAnLi4vdW5iLXBlc3NvYS1tb2RlbHMvdW5iLXBlc3NvYS5tb2RlbCc7XHJcbmltcG9ydCB7IFVuQlBlc3NvYVNlcnZpY2UgfSBmcm9tICcuLi91bmItcGVzc29hLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVbmJQZXNzb2FGb3JtQ29uZmlnLCBVbmJQZXNzb2FQZXNxdWlzYUNvbmZpZyB9IGZyb20gJy4uL3VuYi1wZXNzb2EtbW9kZWxzL3VuYi1wZXNzb2EtY29uZmlnLm1vZGVsJztcclxuaW1wb3J0IHsgVW5iTWVuc2FnZW1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdW5iLW1lbnNhZ2VtL3VuYi1tZW5zYWdlbS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVW5iUGVzc29hRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uL3VuYi1wZXNzb2EtZm9ybS91bmItcGVzc29hLWZvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgVW5iUGVzc29hRm9ybURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL3VuYi1wZXNzb2EtZm9ybS1kaWFsb2cvdW5iLXBlc3NvYS1mb3JtLWRpYWxvZy5jb21wb25lbnQnO1xyXG5cclxuLyoqXHJcbiAqIEVzc2Ugw6kgdW0gY29tcG9uZXRuZSBXcmFwcGVyIHV0aWxpdMOhcmlvLiBFbGUgZW5jYXBzdWxhIGEgbG9naWNhIGRlIHByb2N1cmFyIGUgc2UgbmFvIGFjaGFyIGluaWNpYXIgbyBmb3JtdWxhcmlvIGRlIGNhZGFzdHJvIGVtIHVtIG1vZGFsLiBcclxuICogVGFtYsOpbSwgc2UgYWNoYXIsIGVsZSBwZXJtaXRlIGFsdGVyYXIgYSBwZXNzb2EgZW5jb250cmFkYS5cclxuICogTyBTR0kgdXNhIHBhcmEgY2FkYXN0cm8gZGUgSW5xdWlsaW5vIG5vIGZvcm11bGFyaW8uIExhIHRlbSBhIHBlc3F1aXNhIGRlIFBlc3NvYSwgc2UgbmFvIGFjaGFyLCBhYnJlIG8gZm9ybXVsYXJpbyBkZSBjYWRhc3RybyBlbSBtb2RhbC4gQXNzaW0sIG5hbyBwcmVjaXNhIGlyIGVtIG91dHJhIHRlbGEgcHJhIGNhZGFzdHJhclxyXG4gKiBFaCBwb3NzaXZlbCBjb25maWd1cmFyIHNlIHF1ZXIgbW9zdHJhciBvIGJvdGFvIGRlIE5vdm8gKHNlIG5hbyBhY2hhcikgZSBBbHRlcmFyIChzZSBhY2hhcikuIE5vIFNHSSwgcG9yIGV4ZW1wbG8gZXUgc29oIGRlaXhvIGluY2x1aXIgbm92bywgcHEgbmFvIGZheiBzZW50aWRvIGFsdGVyYXIgYSBwZXNzb2Egbm8gbWVpbyBkbyBjYWRhc3RybyBkbyBpbnF1aWxpbm8uXHJcbiovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXVuYi1wZXNzb2EtY3J1ZC1tb2RhbCcsXHJcbiAgc3RhbmRhbG9uZTogZmFsc2UsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VuYi1wZXNzb2EtY3J1ZC1tb2RhbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3VuYi1wZXNzb2EtY3J1ZC1tb2RhbC5jb21wb25lbnQuY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVW5iUGVzc29hQ3J1ZE1vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgaXNMb2FkaW5nID0gZmFsc2U7XHJcblxyXG4gIC8vIENvbmZpZ3VyYcOnw6NvIGRvIGNvbXBvbmVudGVcclxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBwZXNxdWlzYUNvbmZpZzogVW5iUGVzc29hUGVzcXVpc2FDb25maWcgPSBuZXcgVW5iUGVzc29hUGVzcXVpc2FDb25maWcoKTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaW5jbHVpckJvdGFvTm92byA9IHRydWU7IC8vIHNlIHBlc3F1aXNvdSBlIG5hbyBhY2hvdSwgbW9zdHJhIGJvdGFvIG5vdm9cclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaW5jbHVpckJvdGFvQWx0ZXJhciA9IHRydWU7IC8vIHNlIHBlc3F1aXNvdSBlIGFjaG91LCBtb3N0cmEgYm90YW8gYWx0ZXJhclxyXG4gIEBPdXRwdXQoKSBwZXNzb2FFbWl0dGVkID0gbmV3IEV2ZW50RW1pdHRlcjxVbmJQZXNzb2FNb2RlbD4oKTtcclxuXHJcbiAgcGVzc29hU2VsZWNpb25hZGEgPSBuZXcgVW5iUGVzc29hTW9kZWwoKTtcclxuICBtb3N0cmFyQm90YW9Ob3ZvID0gZmFsc2U7XHJcbiAgZm9ybUNvbmZpZyA9IG5ldyBVbmJQZXNzb2FGb3JtQ29uZmlnKCk7IC8vIG8gZm9ybUNPbmZpZyBhIGdlbnRlIG1vbnRhIGNvbmZvcm1lIG8gcGVzcXVpc2FDb25maWdcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzbmFja0JhcjogTWF0U25hY2tCYXIsIHByaXZhdGUgcGVzc29hU2VydmljZTogVW5CUGVzc29hU2VydmljZSwgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IFVuYk1lbnNhZ2VtU2VydmljZSwgcHVibGljIGRpYWxvZzogTWF0RGlhbG9nKSB7XHJcblxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5wZXNxdWlzYUNvbmZpZy50b2tlbikge1xyXG4gICAgICB0aGlzLnBlc3NvYVNlcnZpY2Uuc2V0VG9rZW4odGhpcy5wZXNxdWlzYUNvbmZpZy50b2tlbik7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMucGVzcXVpc2FDb25maWcuYmFja2VuZFVSTCkge1xyXG4gICAgICB0aGlzLnBlc3NvYVNlcnZpY2Uuc2V0QmFja2VuZFVybCh0aGlzLnBlc3F1aXNhQ29uZmlnLmJhY2tlbmRVUkwpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5vcGVuU25hY2tCYXIoJ0JhY2tlbmQgVVJMIG7Do28gaW5mb3JtYWRhIG5hIGNvbmZpZ3VyYcOnw6NvIGRvIGNvbXBvbmVudGUgVW5iUGVzc29hQ3J1ZENvbXBvbmVudCEnKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmZvcm1Db25maWcgPSBuZXcgVW5iUGVzc29hRm9ybUNvbmZpZygpO1xyXG4gICAgdGhpcy5mb3JtQ29uZmlnLnBlc3NvYSA9IHRoaXMucGVzc29hU2VsZWNpb25hZGE7XHJcbiAgICB0aGlzLmZvcm1Db25maWcuYmFja2VuZFVSTCA9IHRoaXMucGVzcXVpc2FDb25maWcuYmFja2VuZFVSTDtcclxuICAgIHRoaXMuZm9ybUNvbmZpZy50b2tlbiA9IHRoaXMucGVzcXVpc2FDb25maWcudG9rZW47XHJcbiAgfVxyXG5cclxuICBwZXNzb2FQZXNxdWlzYVJlY2ViaWRhKHBlc3NvYTogVW5iUGVzc29hTW9kZWwpIHsgICAgXHJcbiAgICAvLyAxLiBWZXJpZmljYSBzZSBhIHBlc3NvYSDDqSBudWxhIG91IHNlIMOpIHVtIG9iamV0byBcInZhemlvXCIgKHNlbSBJRCBlIHNlbSBkb2N1bWVudG9zKVxyXG4gICAgY29uc3QgaXNWYXppbyA9ICFwZXNzb2EgfHwgKFxyXG4gICAgICAhcGVzc29hLmNvZGlnb1Blc3NvYSAmJiAgIC8vIE7Do28gdGVtIElEXHJcbiAgICAgICFwZXNzb2EuY3BmICYmICAgICAgICAgICAgLy8gTsOjbyB0ZW0gQ1BGXHJcbiAgICAgICFwZXNzb2EuY25waiAmJiAgICAgICAgICAgLy8gTsOjbyB0ZW0gQ05QSlxyXG4gICAgICAhcGVzc29hLnBhc3NhcG9ydGUgICAgICAgIC8vIE7Do28gdGVtIFBhc3NhcG9ydGVcclxuICAgICk7XHJcblxyXG4gICAgaWYgKGlzVmF6aW8pIHtcclxuICAgICAgLy8gU2UgZm9yIHZhemlvLCBsaW1wYW1vcyBhIHNlbGXDp8OjbyBwYXJhIGVzY29uZGVyIG8gZm9ybXVsw6FyaW9cclxuICAgICAgLy8gKE8gKm5nSWY9XCJwZXNzb2FTZWxlY2lvbmFkYVwiIG5vIEhUTUwgdmFpIHJlbW92ZXIgbyBjb21wb25lbnRlIGRhIHRlbGEpXHJcbiAgICAgIHRoaXMucGVzc29hU2VsZWNpb25hZGEgPSBuZXcgVW5iUGVzc29hTW9kZWwoKTsgLy8gb3UgdW5kZWZpbmVkLCBkZXBlbmRlbmRvIGRhIHRpcGFnZW1cclxuICAgICAgdGhpcy5tb3N0cmFyQm90YW9Ob3ZvID0gZmFsc2U7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBTZSB0aXZlciBhbGd1bSBkYWRvIChDUEYgZGlnaXRhZG8gb3UgcGVzc29hIGVuY29udHJhZGEpLCBhdHVhbGl6YVxyXG4gICAgICB0aGlzLnBlc3NvYVNlbGVjaW9uYWRhID0gcGVzc29hO1xyXG4gICAgICBpZiAodGhpcy5wZXNzb2FTZWxlY2lvbmFkYS5jb2RpZ29QZXNzb2EpIHsgICAgICBcclxuICAgICAgICAvLyBqb2dhIHByYSBjaW1hIHByYSBmYWxhciBxdWUgdW1hIHBlc3NvYSBmb2kgZW5jb250cmFkYVxyXG4gICAgICAgIHRoaXMucGVzc29hRW1pdHRlZC5lbWl0KHBlc3NvYSk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5pbmNsdWlyQm90YW9Ob3ZvKSB7XHJcbiAgICAgICAgdGhpcy5vcGVuU25hY2tCYXIoJ1Blc3NvYSBuw6NvIGVuY29udHJhZGEuIENsaXF1ZSBlbSDigJxJbmNsdWlyIE5vdmEgUGVzc29h4oCdIHBhcmEgcmVhbGl6YXIgbyBjYWRhc3Ryby4nKTtcclxuICAgICAgICB0aGlzLm1vc3RyYXJCb3Rhb05vdm8gPSB0cnVlOyAgICAgICAgXHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyAyLiBBdHVhbGl6YSBhIGNvbmZpZ3VyYcOnw6NvIGRvIGZvcm11bMOhcmlvXHJcbiAgICAvLyBJbXBvcnRhbnRlOiBTw7MgdGVudGEgYWNlc3NhciAncGVzc29hJyBzZSBmb3JtQ29uZmlnIGV4aXN0aXJcclxuICAgIGlmICh0aGlzLmZvcm1Db25maWcpIHtcclxuICAgICAgLy8gVXNhbW9zIG8gc3ByZWFkIG9wZXJhdG9yICguLi4pIHBhcmEgZm9yw6dhciBvIEFuZ3VsYXIgYSBkZXRlY3RhciBhIG11ZGFuw6dhLFxyXG4gICAgICAvLyBjYXNvIG8gY29tcG9uZW50ZSBmaWxobyB1c2UgbmdPbkNoYW5nZXNcclxuICAgICAgdGhpcy5mb3JtQ29uZmlnID0ge1xyXG4gICAgICAgIC4uLnRoaXMuZm9ybUNvbmZpZyxcclxuICAgICAgICBwZXNzb2E6IHRoaXMucGVzc29hU2VsZWNpb25hZGEgfHwgbmV3IFVuYlBlc3NvYU1vZGVsKCkgLy8gRXZpdGEgcGFzc2FyIG51bGwgcHJvIGZvcm0gc2UgbsOjbyBxdWlzZXJcclxuICAgICAgfTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGxpbXBhclNlbGVjYW8oKSB7XHJcbiAgICB0aGlzLnBlc3NvYVNlbGVjaW9uYWRhID0gbmV3IFVuYlBlc3NvYU1vZGVsKCk7IC8vIG91IG5ldyBVbmJQZXNzb2FNb2RlbCgpXHJcbiAgICAvLyBUYWx2ZXogcHJlY2lzZSBhdmlzYXIgbyBjb21wb25lbnRlIGZpbGhvIHBhcmEgbGltcGFyIG8gaW5wdXQgdGFtYsOpbVxyXG4gIH1cclxuXHJcbiAgZ2V0RG9jdW1lbnRvRm9ybWF0YWRvKHBlc3NvYTogVW5iUGVzc29hTW9kZWwpIHtcclxuICAgIGlmIChwZXNzb2EuY3BmICYmIHBlc3NvYS5jcGYudHJpbSgpICE9PSAnJykge1xyXG4gICAgICByZXR1cm4gcGVzc29hLmNwZjtcclxuICAgIH0gZWxzZSBpZiAocGVzc29hLmNucGogJiYgcGVzc29hLmNucGoudHJpbSgpICE9PSAnJykge1xyXG4gICAgICByZXR1cm4gcGVzc29hLmNucGo7XHJcbiAgICB9IGVsc2UgaWYgKHBlc3NvYS5wYXNzYXBvcnRlICYmIHBlc3NvYS5wYXNzYXBvcnRlLnRyaW0oKSAhPT0gJycpIHtcclxuICAgICAgcmV0dXJuIHBlc3NvYS5wYXNzYXBvcnRlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3Blbk1vZGFsKCkge1xyXG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihVbmJQZXNzb2FGb3JtRGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgIC8vIDEuIERlZmluYSB1bSBwYWluZWwgZGUgY2xhc3NlIHBhcmEgY29udHJvbGFyIHR1ZG8gbm8gQ1NTXHJcbiAgICAgIHBhbmVsQ2xhc3M6ICdkaWFsb2ctcGVzc29hLWZ1bGxzY3JlZW4nLCBcclxuICAgICAgXHJcbiAgICAgIC8vIDIuIExhcmd1cmEgcGFkcsOjbyBwYXJhIERlc2t0b3AgKG8gQ1NTIHZhaSBzb2JyZXNjcmV2ZXIgbm8gbW9iaWxlKVxyXG4gICAgICB3aWR0aDogJzkwdncnLCBcclxuICAgICAgbWF4V2lkdGg6ICcxMjAwcHgnLCAvLyBUcmF2YSBwYXJhIG7Do28gZmljYXIgZ2lnYW50ZSBlbSBtb25pdG9yZXMgdWx0cmF3aWRlXHJcbiAgICAgIFxyXG4gICAgICAvLyAzLiBBbHR1cmEgYXV0b23DoXRpY2Egb3UgbcOheGltYSAoQ1NTIGNvbnRyb2xhIG8gZXN0aWNhcilcclxuICAgICAgbWF4SGVpZ2h0OiAnOTV2aCcsIFxyXG5cclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIGNvbmZpZzogdGhpcy5mb3JtQ29uZmlnXHJcbiAgICAgIH0sXHJcbiAgICAgIGF1dG9Gb2N1czogJ2ZpcnN0LXRhYmJhYmxlJ1xyXG4gICAgfSk7XHJcblxyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChwZXNzb2FTYWx2YTogVW5iUGVzc29hTW9kZWwgfCBudWxsKSA9PiB7XHJcbiAgICAgIGlmIChwZXNzb2FTYWx2YT8uY29kaWdvUGVzc29hKSB7XHJcbiAgICAgICAgdGhpcy5wZXNzb2FFbWl0dGVkLmVtaXQocGVzc29hU2FsdmEpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9wZW5TbmFja0JhcihtZXNzYWdlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc25hY2tCYXIub3BlbihtZXNzYWdlLCAneCcsIHtcclxuICAgICAgZHVyYXRpb246IDUwMDAsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJzZWFyY2gtd3JhcHBlclwiIFtjbGFzcy5kaXNhYmxlZC13cmFwcGVyXT1cImlzTG9hZGluZ1wiPlxyXG5cclxuICA8ZGl2IGNsYXNzPVwic2VhcmNoLWlucHV0LWFyZWFcIj5cclxuICAgIDxsaWItdW5iLXBlc3NvYS1wZXNxdWlzYXIgXHJcbiAgICAgICAgW2NvbmZpZ109XCJwZXNxdWlzYUNvbmZpZ1wiIFxyXG4gICAgICAgIChwZXNzb2FFbWl0dGVkKT1cInBlc3NvYVBlc3F1aXNhUmVjZWJpZGEoJGV2ZW50KVwiPlxyXG4gICAgPC9saWItdW5iLXBlc3NvYS1wZXNxdWlzYXI+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJzZWFyY2gtYnV0dG9uLWFyZWFcIj5cclxuXHJcbiAgICA8YnV0dG9uICpuZ0lmPVwiaW5jbHVpckJvdGFvTm92byAmJiBtb3N0cmFyQm90YW9Ob3ZvICYmICFwZXNzb2FTZWxlY2lvbmFkYS5jb2RpZ29QZXNzb2FcIiBcclxuICAgICAgICAgICAgbWF0LXN0cm9rZWQtYnV0dG9uIFxyXG4gICAgICAgICAgICBjb2xvcj1cImFjY2VudFwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJvcGVuTW9kYWwoKVwiIFxyXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCIgXHJcbiAgICAgICAgICAgIHN0eWxlPVwid2hpdGUtc3BhY2U6IG5vd3JhcDtcIj5cclxuICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+IEluY2x1aXIgTm92YSBQZXNzb2FcclxuICAgIDwvYnV0dG9uPlxyXG5cclxuICAgIDxkaXYgKm5nSWY9XCJpbmNsdWlyQm90YW9BbHRlcmFyICYmIHBlc3NvYVNlbGVjaW9uYWRhLmNvZGlnb1Blc3NvYVwiIGNsYXNzPVwibWluaS1jYXJkLXNlbGVjdGVkXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWF2YXRhclwiPjxtYXQtaWNvbj5wZXJzb248L21hdC1pY29uPjwvZGl2PlxyXG4gICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaW5mb1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtbmFtZVwiPnt7IHBlc3NvYVNlbGVjaW9uYWRhLm5vbWUgfX08L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWRvY1wiPnt7IGdldERvY3VtZW50b0Zvcm1hdGFkbyhwZXNzb2FTZWxlY2lvbmFkYSkgfX08L2Rpdj5cclxuICAgICAgIDwvZGl2PlxyXG4gICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYWN0aW9uc1wiPlxyXG4gICAgICAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwib3Blbk1vZGFsKClcIiB0eXBlPVwiYnV0dG9uXCI+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbj5lZGl0PC9tYXQtaWNvbj4gRWRpdGFyXHJcbiAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|
|
@@ -1,24 +1,21 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
1
|
+
import { Component, Input, inject } from '@angular/core';
|
|
2
|
+
import { UnbAuthService } from '../services/unb-auth.service';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "
|
|
4
|
-
import * as i2 from "@angular/
|
|
5
|
-
import * as i3 from "@angular/material/
|
|
6
|
-
import * as i4 from "@angular/material/
|
|
7
|
-
import * as i5 from "@angular/material/
|
|
8
|
-
import * as i6 from "@angular/material/button";
|
|
9
|
-
import * as i7 from "@angular/material/card";
|
|
10
|
-
import * as i8 from "@angular/material/tooltip";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
import * as i2 from "@angular/material/menu";
|
|
6
|
+
import * as i3 from "@angular/material/icon";
|
|
7
|
+
import * as i4 from "@angular/material/divider";
|
|
8
|
+
import * as i5 from "@angular/material/button";
|
|
11
9
|
export class UnbUsuarioComponent {
|
|
12
|
-
constructor(
|
|
13
|
-
|
|
10
|
+
constructor() {
|
|
11
|
+
// Injeção moderna
|
|
12
|
+
this.authService = inject(UnbAuthService);
|
|
14
13
|
}
|
|
15
14
|
ngOnInit() {
|
|
16
|
-
if (this.oidcSecurityService
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
if (this.oidcSecurityService) {
|
|
16
|
+
this.authService.initiate(this.oidcSecurityService);
|
|
17
|
+
this.usuario$ = this.authService.usuario$;
|
|
19
18
|
}
|
|
20
|
-
this.authService.initiate(this.oidcSecurityService);
|
|
21
|
-
this.usuario$ = this.authService.usuario$;
|
|
22
19
|
}
|
|
23
20
|
login() {
|
|
24
21
|
this.authService.login();
|
|
@@ -26,13 +23,13 @@ export class UnbUsuarioComponent {
|
|
|
26
23
|
logout() {
|
|
27
24
|
this.authService.logout();
|
|
28
25
|
}
|
|
29
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: UnbUsuarioComponent, deps: [
|
|
30
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: UnbUsuarioComponent, selector: "unb-usuario", inputs: { oidcSecurityService: "oidcSecurityService" }, ngImport: i0, template: "<
|
|
26
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: UnbUsuarioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: UnbUsuarioComponent, selector: "unb-usuario", inputs: { oidcSecurityService: "oidcSecurityService" }, ngImport: i0, template: "<ng-container *ngIf=\"{ user: usuario$ | async } as state\">\r\n\r\n <div class=\"usuario-container\">\r\n\r\n <ng-container *ngIf=\"state.user?.autenticado; else guestOrLoading\">\r\n \r\n <button mat-icon-button [matMenuTriggerFor]=\"userMenu\" class=\"avatar-button\" aria-label=\"Menu do usu\u00E1rio\">\r\n <mat-icon class=\"avatar-icon\">account_circle</mat-icon>\r\n </button>\r\n\r\n <mat-menu #userMenu=\"matMenu\" xPosition=\"before\" class=\"custom-user-menu\">\r\n <div class=\"menu-header\">\r\n <div class=\"user-avatar-placeholder\">\r\n <mat-icon>person</mat-icon>\r\n </div>\r\n <div class=\"user-details\">\r\n <span class=\"user-name\">{{ state.user?.usuarioNome }}</span>\r\n <span class=\"user-profiles\" *ngIf=\"state.user?.perfis?.length\">\r\n {{ state.user?.perfis?.join(', ') }}\r\n </span>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"logout()\">\r\n <mat-icon>logout</mat-icon>\r\n <span>Sair</span>\r\n </button>\r\n </mat-menu>\r\n\r\n </ng-container>\r\n\r\n <ng-template #guestOrLoading>\r\n <button mat-stroked-button class=\"btn-login\" (click)=\"login()\">\r\n <mat-icon>login</mat-icon>\r\n <span>Entrar</span>\r\n </button>\r\n </ng-template>\r\n\r\n </div>\r\n\r\n</ng-container>", styles: [":host{display:flex;align-items:center;height:100%}.usuario-container{display:flex;align-items:center;height:100%}.btn-login{border-radius:20px;color:#fff!important;border:1px solid rgba(255,255,255,.5)!important;background-color:transparent!important;line-height:36px;padding:0 16px;white-space:nowrap}.btn-login mat-icon{margin-right:8px;color:#fff!important}.btn-login:hover{background-color:#ffffff1a!important}.avatar-button{display:flex;align-items:center;justify-content:center;width:40px!important;height:40px!important;padding:0!important;background:transparent}.avatar-icon{font-size:32px!important;width:32px!important;height:32px!important;color:#fff!important;line-height:1!important;display:flex;align-items:center;justify-content:center}.menu-header{padding:16px;display:flex;align-items:center;gap:12px;min-width:200px;outline:none}.user-avatar-placeholder{width:40px;height:40px;background-color:#f5f5f5;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#757575}.user-details{display:flex;flex-direction:column}.user-name{font-weight:600;font-size:.95rem;color:#333}.user-profiles{font-size:.75rem;color:#666;margin-top:2px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.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: i2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i2.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: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
|
|
31
28
|
}
|
|
32
29
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: UnbUsuarioComponent, decorators: [{
|
|
33
30
|
type: Component,
|
|
34
|
-
args: [{ selector: 'unb-usuario', template: "<
|
|
35
|
-
}],
|
|
31
|
+
args: [{ selector: 'unb-usuario', template: "<ng-container *ngIf=\"{ user: usuario$ | async } as state\">\r\n\r\n <div class=\"usuario-container\">\r\n\r\n <ng-container *ngIf=\"state.user?.autenticado; else guestOrLoading\">\r\n \r\n <button mat-icon-button [matMenuTriggerFor]=\"userMenu\" class=\"avatar-button\" aria-label=\"Menu do usu\u00E1rio\">\r\n <mat-icon class=\"avatar-icon\">account_circle</mat-icon>\r\n </button>\r\n\r\n <mat-menu #userMenu=\"matMenu\" xPosition=\"before\" class=\"custom-user-menu\">\r\n <div class=\"menu-header\">\r\n <div class=\"user-avatar-placeholder\">\r\n <mat-icon>person</mat-icon>\r\n </div>\r\n <div class=\"user-details\">\r\n <span class=\"user-name\">{{ state.user?.usuarioNome }}</span>\r\n <span class=\"user-profiles\" *ngIf=\"state.user?.perfis?.length\">\r\n {{ state.user?.perfis?.join(', ') }}\r\n </span>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"logout()\">\r\n <mat-icon>logout</mat-icon>\r\n <span>Sair</span>\r\n </button>\r\n </mat-menu>\r\n\r\n </ng-container>\r\n\r\n <ng-template #guestOrLoading>\r\n <button mat-stroked-button class=\"btn-login\" (click)=\"login()\">\r\n <mat-icon>login</mat-icon>\r\n <span>Entrar</span>\r\n </button>\r\n </ng-template>\r\n\r\n </div>\r\n\r\n</ng-container>", styles: [":host{display:flex;align-items:center;height:100%}.usuario-container{display:flex;align-items:center;height:100%}.btn-login{border-radius:20px;color:#fff!important;border:1px solid rgba(255,255,255,.5)!important;background-color:transparent!important;line-height:36px;padding:0 16px;white-space:nowrap}.btn-login mat-icon{margin-right:8px;color:#fff!important}.btn-login:hover{background-color:#ffffff1a!important}.avatar-button{display:flex;align-items:center;justify-content:center;width:40px!important;height:40px!important;padding:0!important;background:transparent}.avatar-icon{font-size:32px!important;width:32px!important;height:32px!important;color:#fff!important;line-height:1!important;display:flex;align-items:center;justify-content:center}.menu-header{padding:16px;display:flex;align-items:center;gap:12px;min-width:200px;outline:none}.user-avatar-placeholder{width:40px;height:40px;background-color:#f5f5f5;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#757575}.user-details{display:flex;flex-direction:column}.user-name{font-weight:600;font-size:.95rem;color:#333}.user-profiles{font-size:.75rem;color:#666;margin-top:2px}\n"] }]
|
|
32
|
+
}], propDecorators: { oidcSecurityService: [{
|
|
36
33
|
type: Input
|
|
37
34
|
}] } });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5iLXVzdWFyaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5iLWxpYi1jb21wb25lbnRzL3NyYy9saWIvdW5iLXVzdWFyaW8vdW5iLXVzdWFyaW8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5iLWxpYi1jb21wb25lbnRzL3NyYy9saWIvdW5iLXVzdWFyaW8vdW5iLXVzdWFyaW8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7OztBQVE5RCxNQUFNLE9BQU8sbUJBQW1CO0lBTGhDO1FBT0Usa0JBQWtCO1FBQ1YsZ0JBQVcsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7S0FvQjlDO0lBZEMsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDcEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQztRQUM1QyxDQUFDO0lBQ0gsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUM1QixDQUFDOzhHQXRCVSxtQkFBbUI7a0dBQW5CLG1CQUFtQiwyR0NYaEMsdzhDQXdDZTs7MkZEN0JGLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxhQUFhOzhCQVNkLG1CQUFtQjtzQkFBM0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9pZGNTZWN1cml0eVNlcnZpY2UgfSBmcm9tICdhbmd1bGFyLWF1dGgtb2lkYy1jbGllbnQnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFVuYkF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdW5iLWF1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IFVuYlVzdWFyaW9Nb2RlbCB9IGZyb20gJy4vdW5iLXVzdWFyaW8ubW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd1bmItdXN1YXJpbycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VuYi11c3VhcmlvLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi91bmItdXN1YXJpby5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFVuYlVzdWFyaW9Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIFxyXG4gIC8vIEluamXDp8OjbyBtb2Rlcm5hXHJcbiAgcHJpdmF0ZSBhdXRoU2VydmljZSA9IGluamVjdChVbmJBdXRoU2VydmljZSk7XHJcblxyXG4gIEBJbnB1dCgpIG9pZGNTZWN1cml0eVNlcnZpY2UhOiBPaWRjU2VjdXJpdHlTZXJ2aWNlO1xyXG5cclxuICB1c3VhcmlvJCE6IE9ic2VydmFibGU8VW5iVXN1YXJpb01vZGVsPjtcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAodGhpcy5vaWRjU2VjdXJpdHlTZXJ2aWNlKSB7XHJcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuaW5pdGlhdGUodGhpcy5vaWRjU2VjdXJpdHlTZXJ2aWNlKTtcclxuICAgICAgdGhpcy51c3VhcmlvJCA9IHRoaXMuYXV0aFNlcnZpY2UudXN1YXJpbyQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBsb2dpbigpIHtcclxuICAgIHRoaXMuYXV0aFNlcnZpY2UubG9naW4oKTtcclxuICB9XHJcblxyXG4gIGxvZ291dCgpIHtcclxuICAgIHRoaXMuYXV0aFNlcnZpY2UubG9nb3V0KCk7XHJcbiAgfVxyXG59IiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInsgdXNlcjogdXN1YXJpbyQgfCBhc3luYyB9IGFzIHN0YXRlXCI+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJ1c3VhcmlvLWNvbnRhaW5lclwiPlxyXG5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdGF0ZS51c2VyPy5hdXRlbnRpY2FkbzsgZWxzZSBndWVzdE9yTG9hZGluZ1wiPlxyXG4gICAgICBcclxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cInVzZXJNZW51XCIgY2xhc3M9XCJhdmF0YXItYnV0dG9uXCIgYXJpYS1sYWJlbD1cIk1lbnUgZG8gdXN1w6FyaW9cIj5cclxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJhdmF0YXItaWNvblwiPmFjY291bnRfY2lyY2xlPC9tYXQtaWNvbj5cclxuICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICA8bWF0LW1lbnUgI3VzZXJNZW51PVwibWF0TWVudVwiIHhQb3NpdGlvbj1cImJlZm9yZVwiIGNsYXNzPVwiY3VzdG9tLXVzZXItbWVudVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtZW51LWhlYWRlclwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInVzZXItYXZhdGFyLXBsYWNlaG9sZGVyXCI+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbj5wZXJzb248L21hdC1pY29uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidXNlci1kZXRhaWxzXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidXNlci1uYW1lXCI+e3sgc3RhdGUudXNlcj8udXN1YXJpb05vbWUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidXNlci1wcm9maWxlc1wiICpuZ0lmPVwic3RhdGUudXNlcj8ucGVyZmlzPy5sZW5ndGhcIj5cclxuICAgICAgICAgICAgICB7eyBzdGF0ZS51c2VyPy5wZXJmaXM/LmpvaW4oJywgJykgfX1cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJsb2dvdXQoKVwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uPmxvZ291dDwvbWF0LWljb24+XHJcbiAgICAgICAgICA8c3Bhbj5TYWlyPC9zcGFuPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L21hdC1tZW51PlxyXG5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZSAjZ3Vlc3RPckxvYWRpbmc+XHJcbiAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNsYXNzPVwiYnRuLWxvZ2luXCIgKGNsaWNrKT1cImxvZ2luKClcIj5cclxuICAgICAgICA8bWF0LWljb24+bG9naW48L21hdC1pY29uPlxyXG4gICAgICAgIDxzcGFuPkVudHJhcjwvc3Bhbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8L2Rpdj5cclxuXHJcbjwvbmctY29udGFpbmVyPiJdfQ==
|