ngx-sp-auth 4.18.2 → 4.18.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/ngx-sp-auth.mjs +13 -10
- package/fesm2022/ngx-sp-auth.mjs.map +1 -1
- package/lib/components/menu-lateral/menu/menu-lateral.component.d.ts +1 -1
- package/lib/components/menu-lateral/model/dynamic-menu.d.ts +1 -0
- package/lib/components/menu-lateral/model/imenu-item-structure.model.d.ts +1 -0
- package/lib/components/menu-lateral/model/isubmenu-item-structure.model.d.ts +1 -0
- package/package.json +2 -2
package/fesm2022/ngx-sp-auth.mjs
CHANGED
|
@@ -1160,6 +1160,7 @@ class AuthService {
|
|
|
1160
1160
|
});
|
|
1161
1161
|
}
|
|
1162
1162
|
getHostName(usePrePortal = false) {
|
|
1163
|
+
let origin = window.location.origin;
|
|
1163
1164
|
let product = window.location.pathname;
|
|
1164
1165
|
let index = product.indexOf("/auth/login");
|
|
1165
1166
|
if (index != -1) {
|
|
@@ -1168,7 +1169,9 @@ class AuthService {
|
|
|
1168
1169
|
else {
|
|
1169
1170
|
product = "";
|
|
1170
1171
|
}
|
|
1171
|
-
return
|
|
1172
|
+
return usePrePortal
|
|
1173
|
+
? `${origin}/SisproErpCloud/PrePortal`
|
|
1174
|
+
: `${this._authUtilService.getHostName()}${product}`;
|
|
1172
1175
|
}
|
|
1173
1176
|
// #endregion GET
|
|
1174
1177
|
// #region POST
|
|
@@ -1506,10 +1509,10 @@ class AuthService {
|
|
|
1506
1509
|
const params = new HttpParams()
|
|
1507
1510
|
.set('domain', parms.dominioFgtPsw)
|
|
1508
1511
|
.set('user', parms.usuarioFgtPsw)
|
|
1509
|
-
.set('urlServidor', this.getHostName(true))
|
|
1510
1512
|
.set('ip', this.ip)
|
|
1511
1513
|
.set('browse', `${this._ipServiceService.getDataBrowserUser().browser} - ${this._ipServiceService.getDataBrowserUser().so}`)
|
|
1512
|
-
.set('localization', `${this.city}, ${this.state}, ${this.country}`)
|
|
1514
|
+
.set('localization', `${this.city}, ${this.state}, ${this.country}`)
|
|
1515
|
+
.set('urlServidor', this.getHostName(true));
|
|
1513
1516
|
const headers = this._HTTP_HEADERS;
|
|
1514
1517
|
const url = `${this._BASE_URL}/ForgottenPassword`;
|
|
1515
1518
|
return this._httpClient
|
|
@@ -3415,14 +3418,14 @@ class VersoesModalComponent {
|
|
|
3415
3418
|
return list;
|
|
3416
3419
|
}
|
|
3417
3420
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: VersoesModalComponent, deps: [{ token: MenuServicesService }, { token: AuthUtilService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3418
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.17", type: VersoesModalComponent, isStandalone: true, selector: "versoes-modal", outputs: { onClose: "onClose" }, ngImport: i0, template: "<div class=\"main-container\">\n <div class=\"modal-header modal-style modal-dialog-centered modal-lg\">\n <h4 class=\"modal-title pull-left color-modal fw-bold placeholder-glow w-100\" style=\"font-size: 20px;\">\n \n @defer (when versionBase) {\n Vers\u00E3o atual: <a type=\"button\" class=\"text-decoration-none text-primary fw-bold\" tooltip=\"Clique aqui para acessar o que mudou nesta vers\u00E3o\" [href]=\"releaseNotesUrl+'/versoes/'+versionBase+'/_'\" target=\"_blank\">{{ versionBase }}</a>\n }\n @placeholder { <span class=\"placeholder w-100\"></span> }\n \n </h4>\n <button (click)=\"closeSelf()\" type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\n </div>\n <div class=\"modal-body\">\n <p>Patches dos m\u00F3dulos espec\u00EDficos:</p>\n\n @defer (when versions) {\n <div class=\"accordion\" id=\"accordionVersoes\">\n @for (grupo of versions; track $index) {\n\n @if (!grupo.projetos) {\n <div class=\"accordion-item\">\n <h2 class=\"accordion-header\">\n <div class=\"accordion-button collapsed fw-bold\"
|
|
3421
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.17", type: VersoesModalComponent, isStandalone: true, selector: "versoes-modal", outputs: { onClose: "onClose" }, ngImport: i0, template: "<div class=\"main-container\">\n <div class=\"modal-header modal-style modal-dialog-centered modal-lg\">\n <h4 class=\"modal-title pull-left color-modal fw-bold placeholder-glow w-100\" style=\"font-size: 20px;\">\n \n @defer (when versionBase) {\n Vers\u00E3o atual: <a type=\"button\" class=\"text-decoration-none text-primary fw-bold\" tooltip=\"Clique aqui para acessar o que mudou nesta vers\u00E3o\" [href]=\"releaseNotesUrl+'/versoes/'+versionBase+'/_'\" target=\"_blank\">{{ versionBase }}</a>\n }\n @placeholder { <span class=\"placeholder w-100\"></span> }\n \n </h4>\n <button (click)=\"closeSelf()\" type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\n </div>\n <div class=\"modal-body\">\n <p>Patches dos m\u00F3dulos espec\u00EDficos:</p>\n\n @defer (when versions) {\n <div class=\"accordion\" id=\"accordionVersoes\">\n @for (grupo of versions; track $index) {\n\n @if (!grupo.projetos) {\n <div class=\"accordion-item\">\n <h2 class=\"accordion-header\">\n <div class=\"accordion-button noicon-accordion-item collapsed fw-bold\">\n <span>{{ grupo.grupo }} | <a type=\"button\" class=\"text-decoration-none text-primary fw-bold\" tooltip=\"Clique aqui para acessar o que mudou nesta vers\u00E3o\" [href]=\"releaseNotesUrl+'/versoes/'+versionBase+'/'+grupo.grupo\" target=\"_blank\" >{{ versionBase + '_' + grupo.versao }} <lib-icon iconName=\"acessoexterno\" iconSize=\"small\" /> </a></span>\n </div>\n </h2>\n </div>\n }\n @else {\n <div class=\"accordion-item\">\n <h2 class=\"accordion-header\">\n <button class=\"accordion-button collapsed fw-bold\" type=\"button\" data-bs-toggle=\"collapse\" [attr.data-bs-target]=\"'#collapse-'+$index\" aria-expanded=\"false\" [attr.aria-controls]=\"'#collapse-'+$index\">\n {{ grupo.grupo }}\n </button>\n </h2>\n \n <div [id]=\"'collapse-'+$index\" class=\"accordion-collapse collapse\">\n <div class=\"accordion-body p-3 border border-top-0 border-bottom-0\">\n <ul class=\"p-0 m-0 d-flex flex-column gap-2\">\n @for (projeto of grupo.projetos; track projeto.nome) {\n <li>\n <span class=\"fw-bold\">{{ projeto.nome }} | <a type=\"button\" class=\"text-decoration-none text-primary fw-bold\" tooltip=\"Clique aqui para acessar o que mudou nesta vers\u00E3o\" [href]=\"releaseNotesUrl+'/versoes/'+versionBase+'/'+projeto.nome\" target=\"_blank\" >{{ versionBase + '_' + projeto.versao }} <lib-icon iconName=\"acessoexterno\" iconSize=\"small\" /> </a></span>\n </li>\n }\n </ul>\n </div>\n </div>\n </div>\n }\n\n }\n </div>\n }\n @placeholder {\n <span class=\"placeholder-glow\">\n <span class=\"placeholder w-100\"></span>\n </span>\n }\n\n <p class=\"mb-0 mt-3\">Acesse as release notes de todas as vers\u00F5es do ERP <a [href]=\"releaseNotesUrl\" target=\"_blank\" class=\"fw-bold text-decoration-none text-primary\">clicando aqui</a> </p>\n </div>\n</div>", styles: ["ul{list-style-type:none!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: InfraModule }], deferBlockDependencies: [null, () => [i3.LibIconsComponent]] }); }
|
|
3419
3422
|
}
|
|
3420
3423
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: VersoesModalComponent, decorators: [{
|
|
3421
3424
|
type: Component,
|
|
3422
3425
|
args: [{ selector: 'versoes-modal', imports: [
|
|
3423
3426
|
CommonModule,
|
|
3424
3427
|
InfraModule,
|
|
3425
|
-
], template: "<div class=\"main-container\">\n <div class=\"modal-header modal-style modal-dialog-centered modal-lg\">\n <h4 class=\"modal-title pull-left color-modal fw-bold placeholder-glow w-100\" style=\"font-size: 20px;\">\n \n @defer (when versionBase) {\n Vers\u00E3o atual: <a type=\"button\" class=\"text-decoration-none text-primary fw-bold\" tooltip=\"Clique aqui para acessar o que mudou nesta vers\u00E3o\" [href]=\"releaseNotesUrl+'/versoes/'+versionBase+'/_'\" target=\"_blank\">{{ versionBase }}</a>\n }\n @placeholder { <span class=\"placeholder w-100\"></span> }\n \n </h4>\n <button (click)=\"closeSelf()\" type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\n </div>\n <div class=\"modal-body\">\n <p>Patches dos m\u00F3dulos espec\u00EDficos:</p>\n\n @defer (when versions) {\n <div class=\"accordion\" id=\"accordionVersoes\">\n @for (grupo of versions; track $index) {\n\n @if (!grupo.projetos) {\n <div class=\"accordion-item\">\n <h2 class=\"accordion-header\">\n <div class=\"accordion-button collapsed fw-bold\"
|
|
3428
|
+
], template: "<div class=\"main-container\">\n <div class=\"modal-header modal-style modal-dialog-centered modal-lg\">\n <h4 class=\"modal-title pull-left color-modal fw-bold placeholder-glow w-100\" style=\"font-size: 20px;\">\n \n @defer (when versionBase) {\n Vers\u00E3o atual: <a type=\"button\" class=\"text-decoration-none text-primary fw-bold\" tooltip=\"Clique aqui para acessar o que mudou nesta vers\u00E3o\" [href]=\"releaseNotesUrl+'/versoes/'+versionBase+'/_'\" target=\"_blank\">{{ versionBase }}</a>\n }\n @placeholder { <span class=\"placeholder w-100\"></span> }\n \n </h4>\n <button (click)=\"closeSelf()\" type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\n </div>\n <div class=\"modal-body\">\n <p>Patches dos m\u00F3dulos espec\u00EDficos:</p>\n\n @defer (when versions) {\n <div class=\"accordion\" id=\"accordionVersoes\">\n @for (grupo of versions; track $index) {\n\n @if (!grupo.projetos) {\n <div class=\"accordion-item\">\n <h2 class=\"accordion-header\">\n <div class=\"accordion-button noicon-accordion-item collapsed fw-bold\">\n <span>{{ grupo.grupo }} | <a type=\"button\" class=\"text-decoration-none text-primary fw-bold\" tooltip=\"Clique aqui para acessar o que mudou nesta vers\u00E3o\" [href]=\"releaseNotesUrl+'/versoes/'+versionBase+'/'+grupo.grupo\" target=\"_blank\" >{{ versionBase + '_' + grupo.versao }} <lib-icon iconName=\"acessoexterno\" iconSize=\"small\" /> </a></span>\n </div>\n </h2>\n </div>\n }\n @else {\n <div class=\"accordion-item\">\n <h2 class=\"accordion-header\">\n <button class=\"accordion-button collapsed fw-bold\" type=\"button\" data-bs-toggle=\"collapse\" [attr.data-bs-target]=\"'#collapse-'+$index\" aria-expanded=\"false\" [attr.aria-controls]=\"'#collapse-'+$index\">\n {{ grupo.grupo }}\n </button>\n </h2>\n \n <div [id]=\"'collapse-'+$index\" class=\"accordion-collapse collapse\">\n <div class=\"accordion-body p-3 border border-top-0 border-bottom-0\">\n <ul class=\"p-0 m-0 d-flex flex-column gap-2\">\n @for (projeto of grupo.projetos; track projeto.nome) {\n <li>\n <span class=\"fw-bold\">{{ projeto.nome }} | <a type=\"button\" class=\"text-decoration-none text-primary fw-bold\" tooltip=\"Clique aqui para acessar o que mudou nesta vers\u00E3o\" [href]=\"releaseNotesUrl+'/versoes/'+versionBase+'/'+projeto.nome\" target=\"_blank\" >{{ versionBase + '_' + projeto.versao }} <lib-icon iconName=\"acessoexterno\" iconSize=\"small\" /> </a></span>\n </li>\n }\n </ul>\n </div>\n </div>\n </div>\n }\n\n }\n </div>\n }\n @placeholder {\n <span class=\"placeholder-glow\">\n <span class=\"placeholder w-100\"></span>\n </span>\n }\n\n <p class=\"mb-0 mt-3\">Acesse as release notes de todas as vers\u00F5es do ERP <a [href]=\"releaseNotesUrl\" target=\"_blank\" class=\"fw-bold text-decoration-none text-primary\">clicando aqui</a> </p>\n </div>\n</div>", styles: ["ul{list-style-type:none!important}\n"] }]
|
|
3426
3429
|
}], ctorParameters: () => [{ type: MenuServicesService }, { type: AuthUtilService }], propDecorators: { onClose: [{
|
|
3427
3430
|
type: Output
|
|
3428
3431
|
}] } });
|
|
@@ -3657,11 +3660,11 @@ class MenuLateralComponent {
|
|
|
3657
3660
|
}
|
|
3658
3661
|
this._authService.logout();
|
|
3659
3662
|
}
|
|
3660
|
-
getExternalUrl(url) {
|
|
3661
|
-
return `${this.
|
|
3663
|
+
getExternalUrl(url, isOutroModulo) {
|
|
3664
|
+
return (isOutroModulo ? `${this.HostServerOutSystems}/SisproErpCloud/${url}` : `${this.HostServerOutSystems == "" ? `https://${window.location.host}` : this.HostServerOutSystems}/${url}`);
|
|
3662
3665
|
}
|
|
3663
3666
|
constroiRegrasDynamicMenu(menus) {
|
|
3664
|
-
const home = { id: 1, label: "Início", descricao: "Tela inicial", icon: "casa", route: "home", isExternal: false, isSelected: this._router.url.includes("home"), };
|
|
3667
|
+
const home = { id: 1, label: "Início", descricao: "Tela inicial", icon: "casa", route: "home", isExternal: false, isSelected: this._router.url.includes("home"), isOutroModulo: false };
|
|
3665
3668
|
menus.unshift(home);
|
|
3666
3669
|
return menus;
|
|
3667
3670
|
}
|
|
@@ -3763,7 +3766,7 @@ class MenuLateralComponent {
|
|
|
3763
3766
|
});
|
|
3764
3767
|
}
|
|
3765
3768
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: MenuLateralComponent, deps: [{ token: MSAL_GUARD_CONFIG }, { token: i1$2.MsalService }, { token: i10.ToastrService }, { token: LibCustomEnvironmentService }, { token: AuthStorageService }, { token: i4.BsModalService }, { token: MenuServicesService }, { token: i3.MessageService }, { token: AuthUtilService }, { token: i1$1.Router }, { token: AuthService }, { token: i11.BreakpointObserver }, { token: LibCustomMenuService }, { token: PesquisaTelasGlobalService }, { token: IndexedDBService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3766
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.17", type: MenuLateralComponent, isStandalone: true, selector: "app-menu-lateral", queries: [{ propertyName: "desiredContent", first: true, predicate: TemplateRef, descendants: true }], viewQueries: [{ propertyName: "sidebar", first: true, predicate: ["sidebar"], descendants: true, static: true }, { propertyName: "notif_template", first: true, predicate: ["notif_menu"], descendants: true }, { propertyName: "menuLink", first: true, predicate: ["menuLink"], descendants: true }], ngImport: i0, template: "<!-- #region MAIN CONTENT -->\n<div id=\"menu\" class=\"main col-12\">\n\n <div style=\"height: 100vh; z-index: 3;\" class=\"sidebar-control position-relative d-flex flex-row\" #menuContainer\n (clickOutside)=\"closeMenu == true ? onClickedOutside($event, submenu_ref) : closeMenu = true\">\n <div class=\"sidebar {{_customMenuService.themeColor}} closed\" [ngClass]=\"{'closed-mobile': isMobile && !isMenuOpened}\" #sidebar>\n <div class=\"menu-header\">\n <ul>\n <li class=\"mb-3\">\n <div class=\"logo-hamburguer\">\n <img src=\"assets/icons/logotipo-sispro.svg\" alt=\"logo-sispro\" class=\"logo-sispro\" title=\"logo\" width=\"136px\" height=\"48px\">\n <button class=\"button-hamburguer\" (click)=\"isMenuOpened = !isMenuOpened; openExpansibleMenu(sidebar);\">\n <img src=\"assets/icons/menu.svg\" alt=\"menu hamburguer\">\n </button>\n </div>\n </li>\n\n <!-- #region M\u00D3DULOS -->\n <li class=\"mb-3\" style=\"margin-left: 8px; margin-right: 8px\">\n <div class=\"btn-group\">\n <button (click)=\"dropdownWasOpened(true)\" type=\"button\" class=\"dropdown-button\" data-bs-toggle=\"dropdown\"\n aria-expanded=\"false\" data-bs-auto-close=\"outside\">\n <ng-container>\n <lib-icon iconColor=\"white\" [iconName]=\"_customMenuService.moduleSvg\" />\n <span class=\"ps-2\"> {{ this._customMenuService.moduleName }} <lib-icon iconName=\"seta-direita\" iconColor=\"white\" /> </span>\n </ng-container>\n </button>\n <ul class=\"dropdown-menu\" #dropdown_ref>\n <app-primary-dropdown [buttonWasClicked]=\"messageIfClicked\"></app-primary-dropdown>\n </ul>\n </div>\n </li>\n <!-- #endregion M\u00D3DULOS -->\n\n <!-- #region ESTABELECIMENTOS -->\n <li class=\"mx-3\" style=\"margin-bottom: 16px;\">\n <div class=\"icon-estabelecimento\">\n <button class=\"row justify-content-between bg-transparent border-0\"\n (click)=\"openModalEstabelecimento(modalEstabelecimento)\"\n [tooltip]=\"!sidebar.classList.contains('closed') ? '' : nomeEstabelecimento\" placement=\"right\">\n\n <lib-icon class=\"col-1\" iconName=\"predio\" iconColor=\"white\" />\n <span *ngIf=\"!sidebar.classList.contains('closed')\" class=\"col-9 ps-2 glb-text-width-160 text-start text-truncate\"> {{ nomeEstabelecimento }} </span>\n <lib-icon *ngIf=\"!sidebar.classList.contains('closed')\" class=\"col-1\" iconName=\"seta-direita\" iconColor=\"white\" />\n </button>\n </div>\n </li>\n <!-- #endregion ESTABELECIMENTOS -->\n\n\n <!-- #region PESQUISA -->\n @if (_customMenuService.menuDynamic) {\n <li class=\"mx-3 mb-3\">\n <div class=\"icon-pesquisa\">\n <button class=\"d-flex align-items-center justify-content-start gap-2 bg-transparent border-0\" (click)=\"_pesquisaTelas.show()\"\n [tooltip]=\"!sidebar.classList.contains('closed') ? '' : 'Pesquisar telas'\" placement=\"right\">\n\n <lib-icon class=\"col-1\" iconName=\"lupa\" iconColor=\"white\" />\n @if (!sidebar.classList.contains('closed')) { <span class=\"col ps-2 text-start text-truncate\"> Pesquisar telas </span> }\n </button>\n </div>\n </li>\n }\n <!-- #endregion PESQUISA -->\n\n </ul>\n\n </div>\n\n <!-- #region MENUS DE NAVEGA\u00C7\u00C3O -->\n <div class=\"main-menu\">\n <div class=\"scroll\">\n <div class=\"list-menu px-2 pb-1\">\n\n <!-- #region MENU DIN\u00C2MICO -->\n <div class=\"dynamic-menu\">\n <ul #dynamic_menu_items *ngIf=\"_customMenuService.menuItems; else isLoading\">\n\n <li *ngFor=\"let menuItem of _customMenuService.menuItems; let i = index\"\n class=\"p-1 rounded\"\n (click)=\"openSubmenu(menuItem, submenu_ref, dynamic_menu)\"\n [class.selectedItem]=\"menuItem.isSelected\">\n\n <a *ngIf=\"!menuItem.isExternal; else externalMenu\"\n [routerLink]=\"menuItem.route != '' ? menuItem.route : null\"\n [id]=\"'item' + menuItem.id\"\n [tooltip]=\"!sidebar.classList.contains('closed') ? '' : menuItem.label\"\n placement=\"left\" class=\"w-100 d-flex align-items-center button-icons text-decoration-none p-1 glb-cursor-pointer\"\n [class]=\"sidebar.classList.contains('closed') ? 'justify-content-center' : 'justify-content-between'\">\n\n <div class=\"container\">\n <lib-icon *ngIf=\"!menuItem.icon.includes('assets/icons'); else iconImg\" [iconName]=\"menuItem.icon\" iconColor=\"white\"/>\n <span class=\"span-main\">{{ menuItem.label }}</span>\n <ng-template #iconImg>\n <img [src]=\"menuItem.icon\" [alt]=\"'icone: ' + menuItem.label\">\n </ng-template>\n </div>\n <lib-icon *ngIf=\"(menuItem.children && menuItem.children.length > 0) && !sidebar.classList.contains('closed')\"\n iconName=\"seta-direita\" iconColor=\"white\"/>\n </a>\n\n <ng-template #externalMenu>\n <a [href]=\"getExternalUrl(menuItem.route)\"\n target=\"_blank\"\n [id]=\"'item' + menuItem.id\"\n [tooltip]=\"!sidebar.classList.contains('closed') ? '' : menuItem.label\"\n placement=\"left\" class=\"w-100 d-flex align-items-center button-icons text-decoration-none p-1 glb-cursor-pointer\"\n [class]=\"sidebar.classList.contains('closed') ? 'justify-content-center' : 'justify-content-between'\">\n\n <div class=\"container\">\n <lib-icon *ngIf=\"!menuItem.icon.includes('assets/icons'); else iconImgExternal\" [iconName]=\"menuItem.icon\" iconColor=\"white\"/>\n <span class=\"span-main\">{{ menuItem.label }}</span>\n <ng-template #iconImgExternal>\n <img [src]=\"menuItem.icon\" [alt]=\"'icone: ' + menuItem.label\">\n </ng-template>\n </div>\n <lib-icon *ngIf=\"(menuItem.children && menuItem.children.length > 0) && !sidebar.classList.contains('closed')\"\n iconName=\"seta-direita\" iconColor=\"white\"/>\n </a>\n </ng-template>\n </li>\n\n </ul>\n </div>\n\n <ng-template #isLoading>\n <li class=\"spinner-border spinner-border-sm mt-2\" role=\"status\" aria-hidden=\"true\"></li>\n </ng-template>\n <!-- #endregion MENU DIN\u00C2MICO -->\n\n </div>\n </div>\n </div>\n <!-- #endregion MENUS DE NAVEGA\u00C7\u00C3O -->\n\n <!-- #region FOOTER -->\n <div class=\"footer-menu glb-cursor-pointer\" (mouseenter)=\"showBalloon = true\" (mouseleave)=\"showBalloon = false\"\n [popover]=\"popoverContent\" placement=\"right bottom\" [outsideClick]=\"true\" containerClass=\"width: 200px\" >\n <div class=\"footer-components d-flex flex-row align-items-center gap-2 py-2 px-1 justify-content-center gap-2\" [class.open]=\"showBalloon\">\n @if (footerUserImgSrc) {\n <img class=\"photo-profile\" [src]=\"['data:image/jpeg;base64,' + footerUserImgSrc]\" alt=\"foto-perfil\">\n }\n @else {\n <lib-icon iconName=\"contraparte\" iconColor=\"white\"/>\n }\n\n <span class=\"text-truncate fw-bold text-start\" style=\"max-width: 100%;\"> {{ footerUserName }} </span>\n </div>\n </div>\n\n <ng-template #popoverContent>\n <div class=\"footer-menu\" style=\"width: 1000px;\">\n <div class=\"d-flex align-items-center\">\n <img *ngIf=\"footerUserImgSrc; else noUserImg\" class=\"photo-profile\"\n [src]=\"['data:image/jpeg;base64,' + footerUserImgSrc]\" alt=\"foto-perfil\">\n <ng-template #noUserImg>\n <lib-icon iconName=\"contraparte\" iconColor=\"currentColor\"/>\n </ng-template>\n <div class=\"d-flex flex-column ms-1\">\n <div [tooltip]=\"footerUserName\" class=\"dynamic-container\" style=\"white-space: nowrap; flex-grow: 1;max-width: 200px; font-size: 16px;\">{{footerUserName}}</div>\n <div [tooltip]=\"footerUserEmail\" class=\"dynamic-container\" style=\"white-space: nowrap; font-size: 12px; flex-grow: 1;max-width: 200px;\">{{footerUserEmail}}</div>\n </div>\n </div>\n </div>\n <hr class=\"mb-2 mt-2\">\n <div routerLink=\"meu-perfil\" style=\"cursor: pointer;\" (click)=\"togglePopover(); $event.stopPropagation()\">\n <lib-icon [iconSize]=\"'small'\" iconName=\"contraparte\"/> Meu Perfil\n </div>\n \n <div class=\"mt-2\" style=\"cursor: pointer;\" (click)=\"openModalVersion(modalVersion)\">\n <lib-icon [iconSize]=\"'small'\" iconName=\"info\"/> Vers\u00E3o\n </div>\n\n <div class=\"mt-2\" style=\"cursor: pointer;\" (click)=\"deleteIDB()\">\n <lib-icon [iconSize]=\"'small'\" iconName=\"lixeira\"/> Limpar filtros salvos\n </div>\n\n <div class=\"mt-2\" (click)=\"logout()\" style=\"cursor: pointer;\">\n <lib-icon [iconSize]=\"'small'\" iconName=\"logout\"/> Sair\n </div>\n </ng-template>\n <!-- #endregion FOOTER -->\n\n </div>\n\n <div class=\"submenu\" #submenu_ref>\n <ng-template [ngIf]=\"desiredContent !== null\">\n <ng-content *ngTemplateOutlet=\"desiredContent!; context: {$implicit: submenuList}\"></ng-content>\n </ng-template>\n </div>\n </div>\n\n <div class=\"main-content col d-flex flex-column align-content-between\" id=\"body-content\">\n <div class=\"content\" style=\"position: relative;\">\n <router-outlet></router-outlet>\n </div>\n <div app-footer></div>\n </div>\n\n</div>\n<!-- #endregion MAIN CONTENT -->\n\n<!-- #region TEMPLATES -->\n<ng-template #dynamic_menu let-data>\n <app-dynamic-menu\n [submenuList]=\"data\"\n [titleSubmenu]=\"titleSubmenu\" [submenuRef]=\"submenu_ref\" [recebeParam]=\"onClickedOutside.bind(this)\"\n [hostServerOutSystems]=\"HostServerOutSystems\">\n </app-dynamic-menu>\n</ng-template>\n\n<ng-template #notif_menu>\n <app-notif-submenu></app-notif-submenu>\n</ng-template>\n\n<!-- #region MODAL SELECAO ESTABELECIMENTO -->\n<ng-template #modalEstabelecimento>\n <selecao-estabelecimentos-modal (onClose)=\"closeModalEstabelecimento()\"\n (onSelected)=\"closeModalEstabelecimento(); updateLastLogEstabelecimento($event);\">\n </selecao-estabelecimentos-modal>\n</ng-template>\n<!-- #endregion MODAL SELECAO ESTABELECIMENTO -->\n\n<!-- #region MODAL VERSION -->\n<ng-template #modalVersion>\n <versoes-modal (onClose)=\"closeModalVersion()\" />\n</ng-template>\n<!-- #endregion MODAL VERSION -->\n\n<!-- #endregion TEMPLATES -->\n", styles: ["*{padding:0;margin:0;font-family:Open sans,Arial,Helvetica,sans-serif;font-size:14px}span{color:#fff}ul{list-style:none;padding-left:0;white-space:nowrap}#menu.main{display:flex;width:100%;height:100%;background:#eee}::-webkit-scrollbar{width:8px;background:transparent}::-webkit-scrollbar-thumb{background:#bbb;border-radius:16px}.main-content{width:100%;z-index:0;overflow-y:auto;overflow:overlay;height:100vh}.main-content .content{padding:0 16px 16px;background-color:#eee!important}.disable-scroll{overflow-y:hidden}.dropdown-button{padding:8px;border-radius:8px;background-color:#3265ee;border:none;font-size:14px;font-weight:700;width:100%;display:flex}.dropdown-button span{width:100%;display:flex;justify-content:space-between}.dropdown-menu{width:300px;border-radius:8px}.dropdown-menu li{margin:16px 8px}.dropdown-menu li a{font-size:14px}.dropdown-menu li a:hover{font-weight:700;background-color:transparent}.dropdown-menu .dropdown-divider{height:0}.link-portal{color:#213b70;text-decoration:underline;text-align:center;font-weight:700;font-size:14px}.container{display:flex;width:max-content}.sidebar{display:flex;flex-direction:column;height:100%;grid-template-rows:min-content;box-sizing:border-box;transition:width .5s;background-color:#213b70;max-width:inherit}.sidebar .footer-menu{justify-content:flex-end}.menu-header{display:flex;flex-direction:column;white-space:nowrap;padding:32px 0 0;background-color:#213b70}.menu-header ul li{margin-left:16px;margin-right:16px}.menu-header ul>li:last-child{border-bottom:1px solid #3265ee;padding-bottom:15px;height:auto}.dropdown{margin:0}.btn-group{width:100%}.sidebar.closed .menu-header ul li{margin-left:0;margin-right:0}.sidebar.closed .menu-header{display:flex;flex-direction:column;align-items:center}.icon-estabelecimento button,.icon-pesquisa button{display:flex;flex-direction:row;width:100%;align-items:center;justify-content:center}.icon-estabelecimento button span:hover,.icon-pesquisa button span:hover{font-weight:700}.header-content{display:flex;flex-direction:column;justify-content:space-evenly;height:100%;margin:0 20px}.logo-hamburguer{display:flex;justify-content:space-between;margin-right:8px}.logo-hamburguer .button-hamburguer{border:none;background-color:transparent}.sidebar.closed .logo-hamburguer{justify-content:center;margin-right:0}.scroll{overflow-y:auto;overflow-x:hidden;min-height:20%;margin-right:2px}.list-menu{padding-left:16px;padding-right:8px;display:flex;flex-direction:column;justify-content:center;white-space:nowrap}.list-menu .text-closed{padding-top:15px;display:none;color:#fff}.list-menu .text-opened{color:#fff;font-size:12px;padding-top:15px;visibility:visible;white-space:nowrap}.list-menu .li-main{padding:10px 7px;border-radius:8px}.list-menu .onSelect{background-color:#3265ee}.list-menu div.static-menu>ul>li:first-child{margin-top:16px}.list-menu .span-main{font-size:14px;margin-left:8px;opacity:1;pointer-events:auto;white-space:break-spaces}.list-menu .span-main:hover,.list-menu .list-options span:hover{font-weight:700}.list-menu p{font-size:10px;font-weight:700;text-transform:uppercase;border-bottom:1px solid #3265ee;visibility:hidden}.selectedItem{background-color:#3265ee}.selectedItem span{font-weight:700;background-color:transparent}.notif{padding:2px 13px;margin-bottom:none;background-color:#000;border-radius:8px;font-weight:700}.sidebar.closed .chevron{display:none}.sidebar.closed .icon-estabelecimento,.sidebar.closed .icon-pesquisa{margin:0}.sidebar.closed .icon-estabelecimento button,.sidebar.closed .icon-pesquisa button{justify-content:center}.sidebar.closed .icon-estabelecimento button img,.sidebar.closed .icon-pesquisa button img{margin:0}.align-chevron{width:100%;text-align:justify;align-items:center;display:flex;justify-content:space-between}.selected-color{background-color:#3265ee}.main-menu{display:flex;flex-direction:column;justify-content:space-between;height:100%;min-height:20%}.button-icons{border:none;background-color:transparent}.footer-menu{display:flex;flex-direction:column}.footer-menu .footer-components{border-top:1px solid #3265ee}.footer-menu .footer-components .button-closed{display:none}.footer-menu button{border:none;background-color:transparent;border-radius:8px}.footer-menu .points{padding:4px 0;margin:4px 0;border-radius:8px}.footer-menu .photo-profile{width:32px;height:32px;border-radius:50%;margin:0}.footer-menu .open-user{background-color:#3265ee}.submenu{width:341px;display:none;background-color:#3265ee;box-sizing:border-box;flex-direction:column;overflow:hidden;box-shadow:0 4px 8px #0000004d}.submenu ul{display:flex;flex-direction:column;margin:25px 26px 0 24px}.submenu ul li{font-size:20px;font-weight:600;line-height:22px;padding-bottom:18px}.submenu .itens-list{display:flex;justify-content:space-between;align-items:center}.submenu .itens-list .favoritos,.submenu .itens-list span{cursor:pointer}.submenu .footer-menu{display:flex;flex-direction:row;justify-content:center;overflow:hidden}.submenu .footer-menu .footer-components{border-top:1px solid #3265ee;white-space:nowrap}.submenu .footer-menu button{position:relative;left:35%;border:none;background-color:transparent}.submenu .footer-menu .photo-profile{width:32px;height:32px;border-radius:50%;margin:0}.submenu .footer-components{display:flex;justify-content:center;align-items:center}.submenu button{position:relative;left:10%;border:none;background-color:transparent}.submenu .photo-profile{width:32px;height:32px;border-radius:50%;margin:0}.submenu.opened-sub{z-index:1;display:flex;position:absolute;left:100%;height:100vh;justify-content:space-between}.submenu-footer{display:flex;flex-direction:row;justify-content:center;align-content:center;margin-bottom:14px;border-top:1px solid #2847a0;box-shadow:0 4px 8px #0000004d}.submenu-footer .subfooter-components{padding-top:16px}.submenu-footer span{font-weight:700;padding-left:10px}.search-bar{max-width:368px;height:38px;margin-top:24px;border:1px solid #ced4da;box-sizing:border-box;border-radius:8px}.opened-notif-sub{min-width:452px;display:none;background-color:#3265ee;box-sizing:border-box;flex-direction:column;overflow:hidden}.sidebar.closed{max-width:73px;transition:.5s}.sidebar.closed span{display:none}.closed-mobile{width:42px}.opened-mobile{width:80vw}.sidebar.closed span{white-space:nowrap;overflow:hidden}.sidebar.closed .logo-sispro{display:none}.sidebar.closed .list-menu{padding:0;margin-left:0;margin-right:0;display:flex;flex-direction:column;align-items:center}.sidebar.closed .list-menu span{opacity:0;pointer-events:none}.sidebar.closed .list-menu .text-closed{padding-bottom:11px;visibility:visible;display:block}.sidebar.closed .list-menu .text-opened{display:none;font-size:8px}.sidebar.closed .list-menu .chevron,.sidebar.closed .favoritos,.sidebar.closed .footer-components .button-opened{display:none}.sidebar.closed .footer-components .button-closed{display:block}.sidebar.closed .button-icons{border:none;background-color:transparent}.sidebar.closed .footer-components{display:flex;align-items:center}.sidebar.closed button{border:none;background-color:transparent;display:block}.sidebar.closed .photo-profile{width:32px;height:32px;border-radius:50%;margin:0}.sidebar-control{height:100vh;max-width:227.667px}.sidebar-control .main-content.closed{margin-left:0}.glb-text-width-120{max-width:120px}.profile-picture{display:inline-block;position:relative;width:100px;height:100px;border-radius:50%;overflow:hidden}.profile-picture img{width:100%;height:100%;object-fit:cover;border-radius:50%;clip-path:circle(50% at 50% 50%)}.image-div{width:50px;min-width:50px;height:50px;border-radius:100%;position:relative;overflow:hidden;z-index:1}.image-div #photoUser{width:146px;height:146px;top:-1px;left:-1px;object-fit:cover;position:relative;z-index:1;border:none;border-color:transparent}.dynamic-container{display:inline-block;white-space:nowrap;overflow:hidden}.custom-popover{width:1000px}\n"], dependencies: [{ kind: "ngmodule", type: PopoverModule }, { kind: "directive", type: i15.PopoverDirective, selector: "[popover]", inputs: ["adaptivePosition", "boundariesElement", "popover", "popoverContext", "popoverTitle", "placement", "outsideClick", "triggers", "container", "containerClass", "isOpen", "delay"], outputs: ["onShown", "onHidden"], exportAs: ["bs-popover"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i7.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "ngmodule", type: InfraModule }, { kind: "directive", type: i3.ClickOutsideDirective, selector: "[clickOutside], [libClickOutside]", inputs: ["clickOutsideEnabled", "attachOutsideOnClick", "delayClickOutsideInit", "emitOnBlur", "exclude", "excludeBeforeClick", "clickOutsideEvents"], outputs: ["clickOutside"] }, { kind: "component", type: i3.LibIconsComponent, selector: "lib-icon", inputs: ["iconName", "iconColor", "iconSize", "iconFill"] }, { kind: "component", type: i3.FooterComponent, selector: "[app-footer], app-footer, lib-footer" }, { kind: "component", type: SelecaoEstabelecimentosModalComponent, selector: "selecao-estabelecimentos-modal", outputs: ["onClose", "onSelected"] }, { kind: "component", type: VersoesModalComponent, selector: "versoes-modal", outputs: ["onClose"] }, { kind: "component", type: NotifSubmenuComponent, selector: "app-notif-submenu" }, { kind: "component", type: DynamicMenuComponent, selector: "app-dynamic-menu", inputs: ["submenuRef", "recebeParam", "titleSubmenu", "submenuList", "hostServerOutSystems"], outputs: ["selectTemplate"] }, { kind: "component", type: PrimaryDropdownComponent, selector: "app-primary-dropdown", inputs: ["buttonWasClicked"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i17.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i17.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i17.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i17.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] }); }
|
|
3769
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.17", type: MenuLateralComponent, isStandalone: true, selector: "app-menu-lateral", queries: [{ propertyName: "desiredContent", first: true, predicate: TemplateRef, descendants: true }], viewQueries: [{ propertyName: "sidebar", first: true, predicate: ["sidebar"], descendants: true, static: true }, { propertyName: "notif_template", first: true, predicate: ["notif_menu"], descendants: true }, { propertyName: "menuLink", first: true, predicate: ["menuLink"], descendants: true }], ngImport: i0, template: "<!-- #region MAIN CONTENT -->\n<div id=\"menu\" class=\"main col-12\">\n\n <div style=\"height: 100vh; z-index: 3;\" class=\"sidebar-control position-relative d-flex flex-row\" #menuContainer\n (clickOutside)=\"closeMenu == true ? onClickedOutside($event, submenu_ref) : closeMenu = true\">\n <div class=\"sidebar {{_customMenuService.themeColor}} closed\" [ngClass]=\"{'closed-mobile': isMobile && !isMenuOpened}\" #sidebar>\n <div class=\"menu-header\">\n <ul>\n <li class=\"mb-3\">\n <div class=\"logo-hamburguer\">\n <img src=\"assets/icons/logotipo-sispro.svg\" alt=\"logo-sispro\" class=\"logo-sispro\" title=\"logo\" width=\"136px\" height=\"48px\">\n <button class=\"button-hamburguer\" (click)=\"isMenuOpened = !isMenuOpened; openExpansibleMenu(sidebar);\">\n <img src=\"assets/icons/menu.svg\" alt=\"menu hamburguer\">\n </button>\n </div>\n </li>\n\n <!-- #region M\u00D3DULOS -->\n <li class=\"mb-3\" style=\"margin-left: 8px; margin-right: 8px\">\n <div class=\"btn-group\">\n <button (click)=\"dropdownWasOpened(true)\" type=\"button\" class=\"dropdown-button\" data-bs-toggle=\"dropdown\"\n aria-expanded=\"false\" data-bs-auto-close=\"outside\">\n <ng-container>\n <lib-icon iconColor=\"white\" [iconName]=\"_customMenuService.moduleSvg\" />\n <span class=\"ps-2\"> {{ this._customMenuService.moduleName }} <lib-icon iconName=\"seta-direita\" iconColor=\"white\" /> </span>\n </ng-container>\n </button>\n <ul class=\"dropdown-menu\" #dropdown_ref>\n <app-primary-dropdown [buttonWasClicked]=\"messageIfClicked\"></app-primary-dropdown>\n </ul>\n </div>\n </li>\n <!-- #endregion M\u00D3DULOS -->\n\n <!-- #region ESTABELECIMENTOS -->\n <li class=\"mx-3\" style=\"margin-bottom: 16px;\">\n <div class=\"icon-estabelecimento\">\n <button class=\"row justify-content-between bg-transparent border-0\"\n (click)=\"openModalEstabelecimento(modalEstabelecimento)\"\n [tooltip]=\"!sidebar.classList.contains('closed') ? '' : nomeEstabelecimento\" placement=\"right\">\n\n <lib-icon class=\"col-1\" iconName=\"predio\" iconColor=\"white\" />\n <span *ngIf=\"!sidebar.classList.contains('closed')\" class=\"col-9 ps-2 glb-text-width-160 text-start text-truncate\"> {{ nomeEstabelecimento }} </span>\n <lib-icon *ngIf=\"!sidebar.classList.contains('closed')\" class=\"col-1\" iconName=\"seta-direita\" iconColor=\"white\" />\n </button>\n </div>\n </li>\n <!-- #endregion ESTABELECIMENTOS -->\n\n\n <!-- #region PESQUISA -->\n @if (_customMenuService.menuDynamic) {\n <li class=\"mx-3 mb-3\">\n <div class=\"icon-pesquisa\">\n <button class=\"d-flex align-items-center justify-content-start gap-2 bg-transparent border-0\" (click)=\"_pesquisaTelas.show()\"\n [tooltip]=\"!sidebar.classList.contains('closed') ? '' : 'Pesquisar telas'\" placement=\"right\">\n\n <lib-icon class=\"col-1\" iconName=\"lupa\" iconColor=\"white\" />\n @if (!sidebar.classList.contains('closed')) { <span class=\"col ps-2 text-start text-truncate\"> Pesquisar telas </span> }\n </button>\n </div>\n </li>\n }\n <!-- #endregion PESQUISA -->\n\n </ul>\n\n </div>\n\n <!-- #region MENUS DE NAVEGA\u00C7\u00C3O -->\n <div class=\"main-menu\">\n <div class=\"scroll\">\n <div class=\"list-menu px-2 pb-1\">\n\n <!-- #region MENU DIN\u00C2MICO -->\n <div class=\"dynamic-menu\">\n <ul #dynamic_menu_items *ngIf=\"_customMenuService.menuItems; else isLoading\">\n\n <li *ngFor=\"let menuItem of _customMenuService.menuItems; let i = index\"\n class=\"p-1 rounded\"\n (click)=\"openSubmenu(menuItem, submenu_ref, dynamic_menu)\"\n [class.selectedItem]=\"menuItem.isSelected\">\n\n <a *ngIf=\"!menuItem.isExternal; else externalMenu\"\n [routerLink]=\"getExternalUrl(menuItem.route,menuItem.isOutroModulo)\"\n [id]=\"'item' + menuItem.id\"\n [tooltip]=\"!sidebar.classList.contains('closed') ? '' : menuItem.label\"\n placement=\"left\" class=\"w-100 d-flex align-items-center button-icons text-decoration-none p-1 glb-cursor-pointer\"\n [class]=\"sidebar.classList.contains('closed') ? 'justify-content-center' : 'justify-content-between'\">\n\n <div class=\"container\">\n <lib-icon *ngIf=\"!menuItem.icon.includes('assets/icons'); else iconImg\" [iconName]=\"menuItem.icon\" iconColor=\"white\"/>\n <span class=\"span-main\">{{ menuItem.label }}</span>\n <ng-template #iconImg>\n <img [src]=\"menuItem.icon\" [alt]=\"'icone: ' + menuItem.label\">\n </ng-template>\n </div>\n <lib-icon *ngIf=\"(menuItem.children && menuItem.children.length > 0) && !sidebar.classList.contains('closed')\"\n iconName=\"seta-direita\" iconColor=\"white\"/>\n </a>\n\n <ng-template #externalMenu>\n <a [href]=\"getExternalUrl(menuItem.route,menuItem.isOutroModulo)\"\n target=\"_blank\"\n [id]=\"'item' + menuItem.id\"\n [tooltip]=\"!sidebar.classList.contains('closed') ? '' : menuItem.label\"\n placement=\"left\" class=\"w-100 d-flex align-items-center button-icons text-decoration-none p-1 glb-cursor-pointer\"\n [class]=\"sidebar.classList.contains('closed') ? 'justify-content-center' : 'justify-content-between'\">\n\n <div class=\"container\">\n <lib-icon *ngIf=\"!menuItem.icon.includes('assets/icons'); else iconImgExternal\" [iconName]=\"menuItem.icon\" iconColor=\"white\"/>\n <span class=\"span-main\">{{ menuItem.label }}</span>\n <ng-template #iconImgExternal>\n <img [src]=\"menuItem.icon\" [alt]=\"'icone: ' + menuItem.label\">\n </ng-template>\n </div>\n <lib-icon *ngIf=\"(menuItem.children && menuItem.children.length > 0) && !sidebar.classList.contains('closed')\"\n iconName=\"seta-direita\" iconColor=\"white\"/>\n </a>\n </ng-template>\n </li>\n\n </ul>\n </div>\n\n <ng-template #isLoading>\n <li class=\"spinner-border spinner-border-sm mt-2\" role=\"status\" aria-hidden=\"true\"></li>\n </ng-template>\n <!-- #endregion MENU DIN\u00C2MICO -->\n\n </div>\n </div>\n </div>\n <!-- #endregion MENUS DE NAVEGA\u00C7\u00C3O -->\n\n <!-- #region FOOTER -->\n <div class=\"footer-menu glb-cursor-pointer\" (mouseenter)=\"showBalloon = true\" (mouseleave)=\"showBalloon = false\"\n [popover]=\"popoverContent\" placement=\"right bottom\" [outsideClick]=\"true\" containerClass=\"width: 200px\" >\n <div class=\"footer-components d-flex flex-row align-items-center gap-2 py-2 px-1 justify-content-center gap-2\" [class.open]=\"showBalloon\">\n @if (footerUserImgSrc) {\n <img class=\"photo-profile\" [src]=\"['data:image/jpeg;base64,' + footerUserImgSrc]\" alt=\"foto-perfil\">\n }\n @else {\n <lib-icon iconName=\"contraparte\" iconColor=\"white\"/>\n }\n\n <span class=\"text-truncate fw-bold text-start\" style=\"max-width: 100%;\"> {{ footerUserName }} </span>\n </div>\n </div>\n\n <ng-template #popoverContent>\n <div class=\"footer-menu\" style=\"width: 1000px;\">\n <div class=\"d-flex align-items-center\">\n <img *ngIf=\"footerUserImgSrc; else noUserImg\" class=\"photo-profile\"\n [src]=\"['data:image/jpeg;base64,' + footerUserImgSrc]\" alt=\"foto-perfil\">\n <ng-template #noUserImg>\n <lib-icon iconName=\"contraparte\" iconColor=\"currentColor\"/>\n </ng-template>\n <div class=\"d-flex flex-column ms-1\">\n <div [tooltip]=\"footerUserName\" class=\"dynamic-container\" style=\"white-space: nowrap; flex-grow: 1;max-width: 200px; font-size: 16px;\">{{footerUserName}}</div>\n <div [tooltip]=\"footerUserEmail\" class=\"dynamic-container\" style=\"white-space: nowrap; font-size: 12px; flex-grow: 1;max-width: 200px;\">{{footerUserEmail}}</div>\n </div>\n </div>\n </div>\n <hr class=\"mb-2 mt-2\">\n <div routerLink=\"meu-perfil\" style=\"cursor: pointer;\" (click)=\"togglePopover(); $event.stopPropagation()\">\n <lib-icon [iconSize]=\"'small'\" iconName=\"contraparte\"/> Meu Perfil\n </div>\n \n <div class=\"mt-2\" style=\"cursor: pointer;\" (click)=\"openModalVersion(modalVersion)\">\n <lib-icon [iconSize]=\"'small'\" iconName=\"info\"/> Vers\u00E3o\n </div>\n\n <div class=\"mt-2\" style=\"cursor: pointer;\" (click)=\"deleteIDB()\">\n <lib-icon [iconSize]=\"'small'\" iconName=\"lixeira\"/> Limpar filtros salvos\n </div>\n\n <div class=\"mt-2\" (click)=\"logout()\" style=\"cursor: pointer;\">\n <lib-icon [iconSize]=\"'small'\" iconName=\"logout\"/> Sair\n </div>\n </ng-template>\n <!-- #endregion FOOTER -->\n\n </div>\n\n <div class=\"submenu\" #submenu_ref>\n <ng-template [ngIf]=\"desiredContent !== null\">\n <ng-content *ngTemplateOutlet=\"desiredContent!; context: {$implicit: submenuList}\"></ng-content>\n </ng-template>\n </div>\n </div>\n\n <div class=\"main-content col d-flex flex-column align-content-between\" id=\"body-content\">\n <div class=\"content\" style=\"position: relative;\">\n <router-outlet></router-outlet>\n </div>\n <div app-footer></div>\n </div>\n\n</div>\n<!-- #endregion MAIN CONTENT -->\n\n<!-- #region TEMPLATES -->\n<ng-template #dynamic_menu let-data>\n <app-dynamic-menu\n [submenuList]=\"data\"\n [titleSubmenu]=\"titleSubmenu\" [submenuRef]=\"submenu_ref\" [recebeParam]=\"onClickedOutside.bind(this)\"\n [hostServerOutSystems]=\"HostServerOutSystems\">\n </app-dynamic-menu>\n</ng-template>\n\n<ng-template #notif_menu>\n <app-notif-submenu></app-notif-submenu>\n</ng-template>\n\n<!-- #region MODAL SELECAO ESTABELECIMENTO -->\n<ng-template #modalEstabelecimento>\n <selecao-estabelecimentos-modal (onClose)=\"closeModalEstabelecimento()\"\n (onSelected)=\"closeModalEstabelecimento(); updateLastLogEstabelecimento($event);\">\n </selecao-estabelecimentos-modal>\n</ng-template>\n<!-- #endregion MODAL SELECAO ESTABELECIMENTO -->\n\n<!-- #region MODAL VERSION -->\n<ng-template #modalVersion>\n <versoes-modal (onClose)=\"closeModalVersion()\" />\n</ng-template>\n<!-- #endregion MODAL VERSION -->\n\n<!-- #endregion TEMPLATES -->\n", styles: ["*{padding:0;margin:0;font-family:Open sans,Arial,Helvetica,sans-serif;font-size:14px}span{color:#fff}ul{list-style:none;padding-left:0;white-space:nowrap}#menu.main{display:flex;width:100%;height:100%;background:#eee}::-webkit-scrollbar{width:8px;background:transparent}::-webkit-scrollbar-thumb{background:#bbb;border-radius:16px}.main-content{width:100%;z-index:0;overflow-y:auto;overflow:overlay;height:100vh}.main-content .content{padding:0 16px 16px;background-color:#eee!important}.disable-scroll{overflow-y:hidden}.dropdown-button{padding:8px;border-radius:8px;background-color:#3265ee;border:none;font-size:14px;font-weight:700;width:100%;display:flex}.dropdown-button span{width:100%;display:flex;justify-content:space-between}.dropdown-menu{width:300px;border-radius:8px}.dropdown-menu li{margin:16px 8px}.dropdown-menu li a{font-size:14px}.dropdown-menu li a:hover{font-weight:700;background-color:transparent}.dropdown-menu .dropdown-divider{height:0}.link-portal{color:#213b70;text-decoration:underline;text-align:center;font-weight:700;font-size:14px}.container{display:flex;width:max-content}.sidebar{display:flex;flex-direction:column;height:100%;grid-template-rows:min-content;box-sizing:border-box;transition:width .5s;background-color:#213b70;max-width:inherit}.sidebar .footer-menu{justify-content:flex-end}.menu-header{display:flex;flex-direction:column;white-space:nowrap;padding:32px 0 0;background-color:#213b70}.menu-header ul li{margin-left:16px;margin-right:16px}.menu-header ul>li:last-child{border-bottom:1px solid #3265ee;padding-bottom:15px;height:auto}.dropdown{margin:0}.btn-group{width:100%}.sidebar.closed .menu-header ul li{margin-left:0;margin-right:0}.sidebar.closed .menu-header{display:flex;flex-direction:column;align-items:center}.icon-estabelecimento button,.icon-pesquisa button{display:flex;flex-direction:row;width:100%;align-items:center;justify-content:center}.icon-estabelecimento button span:hover,.icon-pesquisa button span:hover{font-weight:700}.header-content{display:flex;flex-direction:column;justify-content:space-evenly;height:100%;margin:0 20px}.logo-hamburguer{display:flex;justify-content:space-between;margin-right:8px}.logo-hamburguer .button-hamburguer{border:none;background-color:transparent}.sidebar.closed .logo-hamburguer{justify-content:center;margin-right:0}.scroll{overflow-y:auto;overflow-x:hidden;min-height:20%;margin-right:2px}.list-menu{padding-left:16px;padding-right:8px;display:flex;flex-direction:column;justify-content:center;white-space:nowrap}.list-menu .text-closed{padding-top:15px;display:none;color:#fff}.list-menu .text-opened{color:#fff;font-size:12px;padding-top:15px;visibility:visible;white-space:nowrap}.list-menu .li-main{padding:10px 7px;border-radius:8px}.list-menu .onSelect{background-color:#3265ee}.list-menu div.static-menu>ul>li:first-child{margin-top:16px}.list-menu .span-main{font-size:14px;margin-left:8px;opacity:1;pointer-events:auto;white-space:break-spaces}.list-menu .span-main:hover,.list-menu .list-options span:hover{font-weight:700}.list-menu p{font-size:10px;font-weight:700;text-transform:uppercase;border-bottom:1px solid #3265ee;visibility:hidden}.selectedItem{background-color:#3265ee}.selectedItem span{font-weight:700;background-color:transparent}.notif{padding:2px 13px;margin-bottom:none;background-color:#000;border-radius:8px;font-weight:700}.sidebar.closed .chevron{display:none}.sidebar.closed .icon-estabelecimento,.sidebar.closed .icon-pesquisa{margin:0}.sidebar.closed .icon-estabelecimento button,.sidebar.closed .icon-pesquisa button{justify-content:center}.sidebar.closed .icon-estabelecimento button img,.sidebar.closed .icon-pesquisa button img{margin:0}.align-chevron{width:100%;text-align:justify;align-items:center;display:flex;justify-content:space-between}.selected-color{background-color:#3265ee}.main-menu{display:flex;flex-direction:column;justify-content:space-between;height:100%;min-height:20%}.button-icons{border:none;background-color:transparent}.footer-menu{display:flex;flex-direction:column}.footer-menu .footer-components{border-top:1px solid #3265ee}.footer-menu .footer-components .button-closed{display:none}.footer-menu button{border:none;background-color:transparent;border-radius:8px}.footer-menu .points{padding:4px 0;margin:4px 0;border-radius:8px}.footer-menu .photo-profile{width:32px;height:32px;border-radius:50%;margin:0}.footer-menu .open-user{background-color:#3265ee}.submenu{width:341px;display:none;background-color:#3265ee;box-sizing:border-box;flex-direction:column;overflow:hidden;box-shadow:0 4px 8px #0000004d}.submenu ul{display:flex;flex-direction:column;margin:25px 26px 0 24px}.submenu ul li{font-size:20px;font-weight:600;line-height:22px;padding-bottom:18px}.submenu .itens-list{display:flex;justify-content:space-between;align-items:center}.submenu .itens-list .favoritos,.submenu .itens-list span{cursor:pointer}.submenu .footer-menu{display:flex;flex-direction:row;justify-content:center;overflow:hidden}.submenu .footer-menu .footer-components{border-top:1px solid #3265ee;white-space:nowrap}.submenu .footer-menu button{position:relative;left:35%;border:none;background-color:transparent}.submenu .footer-menu .photo-profile{width:32px;height:32px;border-radius:50%;margin:0}.submenu .footer-components{display:flex;justify-content:center;align-items:center}.submenu button{position:relative;left:10%;border:none;background-color:transparent}.submenu .photo-profile{width:32px;height:32px;border-radius:50%;margin:0}.submenu.opened-sub{z-index:1;display:flex;position:absolute;left:100%;height:100vh;justify-content:space-between}.submenu-footer{display:flex;flex-direction:row;justify-content:center;align-content:center;margin-bottom:14px;border-top:1px solid #2847a0;box-shadow:0 4px 8px #0000004d}.submenu-footer .subfooter-components{padding-top:16px}.submenu-footer span{font-weight:700;padding-left:10px}.search-bar{max-width:368px;height:38px;margin-top:24px;border:1px solid #ced4da;box-sizing:border-box;border-radius:8px}.opened-notif-sub{min-width:452px;display:none;background-color:#3265ee;box-sizing:border-box;flex-direction:column;overflow:hidden}.sidebar.closed{max-width:73px;transition:.5s}.sidebar.closed span{display:none}.closed-mobile{width:42px}.opened-mobile{width:80vw}.sidebar.closed span{white-space:nowrap;overflow:hidden}.sidebar.closed .logo-sispro{display:none}.sidebar.closed .list-menu{padding:0;margin-left:0;margin-right:0;display:flex;flex-direction:column;align-items:center}.sidebar.closed .list-menu span{opacity:0;pointer-events:none}.sidebar.closed .list-menu .text-closed{padding-bottom:11px;visibility:visible;display:block}.sidebar.closed .list-menu .text-opened{display:none;font-size:8px}.sidebar.closed .list-menu .chevron,.sidebar.closed .favoritos,.sidebar.closed .footer-components .button-opened{display:none}.sidebar.closed .footer-components .button-closed{display:block}.sidebar.closed .button-icons{border:none;background-color:transparent}.sidebar.closed .footer-components{display:flex;align-items:center}.sidebar.closed button{border:none;background-color:transparent;display:block}.sidebar.closed .photo-profile{width:32px;height:32px;border-radius:50%;margin:0}.sidebar-control{height:100vh;max-width:227.667px}.sidebar-control .main-content.closed{margin-left:0}.glb-text-width-120{max-width:120px}.profile-picture{display:inline-block;position:relative;width:100px;height:100px;border-radius:50%;overflow:hidden}.profile-picture img{width:100%;height:100%;object-fit:cover;border-radius:50%;clip-path:circle(50% at 50% 50%)}.image-div{width:50px;min-width:50px;height:50px;border-radius:100%;position:relative;overflow:hidden;z-index:1}.image-div #photoUser{width:146px;height:146px;top:-1px;left:-1px;object-fit:cover;position:relative;z-index:1;border:none;border-color:transparent}.dynamic-container{display:inline-block;white-space:nowrap;overflow:hidden}.custom-popover{width:1000px}\n"], dependencies: [{ kind: "ngmodule", type: PopoverModule }, { kind: "directive", type: i15.PopoverDirective, selector: "[popover]", inputs: ["adaptivePosition", "boundariesElement", "popover", "popoverContext", "popoverTitle", "placement", "outsideClick", "triggers", "container", "containerClass", "isOpen", "delay"], outputs: ["onShown", "onHidden"], exportAs: ["bs-popover"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i7.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "ngmodule", type: InfraModule }, { kind: "directive", type: i3.ClickOutsideDirective, selector: "[clickOutside], [libClickOutside]", inputs: ["clickOutsideEnabled", "attachOutsideOnClick", "delayClickOutsideInit", "emitOnBlur", "exclude", "excludeBeforeClick", "clickOutsideEvents"], outputs: ["clickOutside"] }, { kind: "component", type: i3.LibIconsComponent, selector: "lib-icon", inputs: ["iconName", "iconColor", "iconSize", "iconFill"] }, { kind: "component", type: i3.FooterComponent, selector: "[app-footer], app-footer, lib-footer" }, { kind: "component", type: SelecaoEstabelecimentosModalComponent, selector: "selecao-estabelecimentos-modal", outputs: ["onClose", "onSelected"] }, { kind: "component", type: VersoesModalComponent, selector: "versoes-modal", outputs: ["onClose"] }, { kind: "component", type: NotifSubmenuComponent, selector: "app-notif-submenu" }, { kind: "component", type: DynamicMenuComponent, selector: "app-dynamic-menu", inputs: ["submenuRef", "recebeParam", "titleSubmenu", "submenuList", "hostServerOutSystems"], outputs: ["selectTemplate"] }, { kind: "component", type: PrimaryDropdownComponent, selector: "app-primary-dropdown", inputs: ["buttonWasClicked"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i17.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i17.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i17.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i17.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] }); }
|
|
3767
3770
|
}
|
|
3768
3771
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: MenuLateralComponent, decorators: [{
|
|
3769
3772
|
type: Component,
|
|
@@ -3781,7 +3784,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
|
|
|
3781
3784
|
RouterOutlet,
|
|
3782
3785
|
NgIf,
|
|
3783
3786
|
NgClass
|
|
3784
|
-
], template: "<!-- #region MAIN CONTENT -->\n<div id=\"menu\" class=\"main col-12\">\n\n <div style=\"height: 100vh; z-index: 3;\" class=\"sidebar-control position-relative d-flex flex-row\" #menuContainer\n (clickOutside)=\"closeMenu == true ? onClickedOutside($event, submenu_ref) : closeMenu = true\">\n <div class=\"sidebar {{_customMenuService.themeColor}} closed\" [ngClass]=\"{'closed-mobile': isMobile && !isMenuOpened}\" #sidebar>\n <div class=\"menu-header\">\n <ul>\n <li class=\"mb-3\">\n <div class=\"logo-hamburguer\">\n <img src=\"assets/icons/logotipo-sispro.svg\" alt=\"logo-sispro\" class=\"logo-sispro\" title=\"logo\" width=\"136px\" height=\"48px\">\n <button class=\"button-hamburguer\" (click)=\"isMenuOpened = !isMenuOpened; openExpansibleMenu(sidebar);\">\n <img src=\"assets/icons/menu.svg\" alt=\"menu hamburguer\">\n </button>\n </div>\n </li>\n\n <!-- #region M\u00D3DULOS -->\n <li class=\"mb-3\" style=\"margin-left: 8px; margin-right: 8px\">\n <div class=\"btn-group\">\n <button (click)=\"dropdownWasOpened(true)\" type=\"button\" class=\"dropdown-button\" data-bs-toggle=\"dropdown\"\n aria-expanded=\"false\" data-bs-auto-close=\"outside\">\n <ng-container>\n <lib-icon iconColor=\"white\" [iconName]=\"_customMenuService.moduleSvg\" />\n <span class=\"ps-2\"> {{ this._customMenuService.moduleName }} <lib-icon iconName=\"seta-direita\" iconColor=\"white\" /> </span>\n </ng-container>\n </button>\n <ul class=\"dropdown-menu\" #dropdown_ref>\n <app-primary-dropdown [buttonWasClicked]=\"messageIfClicked\"></app-primary-dropdown>\n </ul>\n </div>\n </li>\n <!-- #endregion M\u00D3DULOS -->\n\n <!-- #region ESTABELECIMENTOS -->\n <li class=\"mx-3\" style=\"margin-bottom: 16px;\">\n <div class=\"icon-estabelecimento\">\n <button class=\"row justify-content-between bg-transparent border-0\"\n (click)=\"openModalEstabelecimento(modalEstabelecimento)\"\n [tooltip]=\"!sidebar.classList.contains('closed') ? '' : nomeEstabelecimento\" placement=\"right\">\n\n <lib-icon class=\"col-1\" iconName=\"predio\" iconColor=\"white\" />\n <span *ngIf=\"!sidebar.classList.contains('closed')\" class=\"col-9 ps-2 glb-text-width-160 text-start text-truncate\"> {{ nomeEstabelecimento }} </span>\n <lib-icon *ngIf=\"!sidebar.classList.contains('closed')\" class=\"col-1\" iconName=\"seta-direita\" iconColor=\"white\" />\n </button>\n </div>\n </li>\n <!-- #endregion ESTABELECIMENTOS -->\n\n\n <!-- #region PESQUISA -->\n @if (_customMenuService.menuDynamic) {\n <li class=\"mx-3 mb-3\">\n <div class=\"icon-pesquisa\">\n <button class=\"d-flex align-items-center justify-content-start gap-2 bg-transparent border-0\" (click)=\"_pesquisaTelas.show()\"\n [tooltip]=\"!sidebar.classList.contains('closed') ? '' : 'Pesquisar telas'\" placement=\"right\">\n\n <lib-icon class=\"col-1\" iconName=\"lupa\" iconColor=\"white\" />\n @if (!sidebar.classList.contains('closed')) { <span class=\"col ps-2 text-start text-truncate\"> Pesquisar telas </span> }\n </button>\n </div>\n </li>\n }\n <!-- #endregion PESQUISA -->\n\n </ul>\n\n </div>\n\n <!-- #region MENUS DE NAVEGA\u00C7\u00C3O -->\n <div class=\"main-menu\">\n <div class=\"scroll\">\n <div class=\"list-menu px-2 pb-1\">\n\n <!-- #region MENU DIN\u00C2MICO -->\n <div class=\"dynamic-menu\">\n <ul #dynamic_menu_items *ngIf=\"_customMenuService.menuItems; else isLoading\">\n\n <li *ngFor=\"let menuItem of _customMenuService.menuItems; let i = index\"\n class=\"p-1 rounded\"\n (click)=\"openSubmenu(menuItem, submenu_ref, dynamic_menu)\"\n [class.selectedItem]=\"menuItem.isSelected\">\n\n <a *ngIf=\"!menuItem.isExternal; else externalMenu\"\n [routerLink]=\"menuItem.route != '' ? menuItem.route : null\"\n [id]=\"'item' + menuItem.id\"\n [tooltip]=\"!sidebar.classList.contains('closed') ? '' : menuItem.label\"\n placement=\"left\" class=\"w-100 d-flex align-items-center button-icons text-decoration-none p-1 glb-cursor-pointer\"\n [class]=\"sidebar.classList.contains('closed') ? 'justify-content-center' : 'justify-content-between'\">\n\n <div class=\"container\">\n <lib-icon *ngIf=\"!menuItem.icon.includes('assets/icons'); else iconImg\" [iconName]=\"menuItem.icon\" iconColor=\"white\"/>\n <span class=\"span-main\">{{ menuItem.label }}</span>\n <ng-template #iconImg>\n <img [src]=\"menuItem.icon\" [alt]=\"'icone: ' + menuItem.label\">\n </ng-template>\n </div>\n <lib-icon *ngIf=\"(menuItem.children && menuItem.children.length > 0) && !sidebar.classList.contains('closed')\"\n iconName=\"seta-direita\" iconColor=\"white\"/>\n </a>\n\n <ng-template #externalMenu>\n <a [href]=\"getExternalUrl(menuItem.route)\"\n target=\"_blank\"\n [id]=\"'item' + menuItem.id\"\n [tooltip]=\"!sidebar.classList.contains('closed') ? '' : menuItem.label\"\n placement=\"left\" class=\"w-100 d-flex align-items-center button-icons text-decoration-none p-1 glb-cursor-pointer\"\n [class]=\"sidebar.classList.contains('closed') ? 'justify-content-center' : 'justify-content-between'\">\n\n <div class=\"container\">\n <lib-icon *ngIf=\"!menuItem.icon.includes('assets/icons'); else iconImgExternal\" [iconName]=\"menuItem.icon\" iconColor=\"white\"/>\n <span class=\"span-main\">{{ menuItem.label }}</span>\n <ng-template #iconImgExternal>\n <img [src]=\"menuItem.icon\" [alt]=\"'icone: ' + menuItem.label\">\n </ng-template>\n </div>\n <lib-icon *ngIf=\"(menuItem.children && menuItem.children.length > 0) && !sidebar.classList.contains('closed')\"\n iconName=\"seta-direita\" iconColor=\"white\"/>\n </a>\n </ng-template>\n </li>\n\n </ul>\n </div>\n\n <ng-template #isLoading>\n <li class=\"spinner-border spinner-border-sm mt-2\" role=\"status\" aria-hidden=\"true\"></li>\n </ng-template>\n <!-- #endregion MENU DIN\u00C2MICO -->\n\n </div>\n </div>\n </div>\n <!-- #endregion MENUS DE NAVEGA\u00C7\u00C3O -->\n\n <!-- #region FOOTER -->\n <div class=\"footer-menu glb-cursor-pointer\" (mouseenter)=\"showBalloon = true\" (mouseleave)=\"showBalloon = false\"\n [popover]=\"popoverContent\" placement=\"right bottom\" [outsideClick]=\"true\" containerClass=\"width: 200px\" >\n <div class=\"footer-components d-flex flex-row align-items-center gap-2 py-2 px-1 justify-content-center gap-2\" [class.open]=\"showBalloon\">\n @if (footerUserImgSrc) {\n <img class=\"photo-profile\" [src]=\"['data:image/jpeg;base64,' + footerUserImgSrc]\" alt=\"foto-perfil\">\n }\n @else {\n <lib-icon iconName=\"contraparte\" iconColor=\"white\"/>\n }\n\n <span class=\"text-truncate fw-bold text-start\" style=\"max-width: 100%;\"> {{ footerUserName }} </span>\n </div>\n </div>\n\n <ng-template #popoverContent>\n <div class=\"footer-menu\" style=\"width: 1000px;\">\n <div class=\"d-flex align-items-center\">\n <img *ngIf=\"footerUserImgSrc; else noUserImg\" class=\"photo-profile\"\n [src]=\"['data:image/jpeg;base64,' + footerUserImgSrc]\" alt=\"foto-perfil\">\n <ng-template #noUserImg>\n <lib-icon iconName=\"contraparte\" iconColor=\"currentColor\"/>\n </ng-template>\n <div class=\"d-flex flex-column ms-1\">\n <div [tooltip]=\"footerUserName\" class=\"dynamic-container\" style=\"white-space: nowrap; flex-grow: 1;max-width: 200px; font-size: 16px;\">{{footerUserName}}</div>\n <div [tooltip]=\"footerUserEmail\" class=\"dynamic-container\" style=\"white-space: nowrap; font-size: 12px; flex-grow: 1;max-width: 200px;\">{{footerUserEmail}}</div>\n </div>\n </div>\n </div>\n <hr class=\"mb-2 mt-2\">\n <div routerLink=\"meu-perfil\" style=\"cursor: pointer;\" (click)=\"togglePopover(); $event.stopPropagation()\">\n <lib-icon [iconSize]=\"'small'\" iconName=\"contraparte\"/> Meu Perfil\n </div>\n \n <div class=\"mt-2\" style=\"cursor: pointer;\" (click)=\"openModalVersion(modalVersion)\">\n <lib-icon [iconSize]=\"'small'\" iconName=\"info\"/> Vers\u00E3o\n </div>\n\n <div class=\"mt-2\" style=\"cursor: pointer;\" (click)=\"deleteIDB()\">\n <lib-icon [iconSize]=\"'small'\" iconName=\"lixeira\"/> Limpar filtros salvos\n </div>\n\n <div class=\"mt-2\" (click)=\"logout()\" style=\"cursor: pointer;\">\n <lib-icon [iconSize]=\"'small'\" iconName=\"logout\"/> Sair\n </div>\n </ng-template>\n <!-- #endregion FOOTER -->\n\n </div>\n\n <div class=\"submenu\" #submenu_ref>\n <ng-template [ngIf]=\"desiredContent !== null\">\n <ng-content *ngTemplateOutlet=\"desiredContent!; context: {$implicit: submenuList}\"></ng-content>\n </ng-template>\n </div>\n </div>\n\n <div class=\"main-content col d-flex flex-column align-content-between\" id=\"body-content\">\n <div class=\"content\" style=\"position: relative;\">\n <router-outlet></router-outlet>\n </div>\n <div app-footer></div>\n </div>\n\n</div>\n<!-- #endregion MAIN CONTENT -->\n\n<!-- #region TEMPLATES -->\n<ng-template #dynamic_menu let-data>\n <app-dynamic-menu\n [submenuList]=\"data\"\n [titleSubmenu]=\"titleSubmenu\" [submenuRef]=\"submenu_ref\" [recebeParam]=\"onClickedOutside.bind(this)\"\n [hostServerOutSystems]=\"HostServerOutSystems\">\n </app-dynamic-menu>\n</ng-template>\n\n<ng-template #notif_menu>\n <app-notif-submenu></app-notif-submenu>\n</ng-template>\n\n<!-- #region MODAL SELECAO ESTABELECIMENTO -->\n<ng-template #modalEstabelecimento>\n <selecao-estabelecimentos-modal (onClose)=\"closeModalEstabelecimento()\"\n (onSelected)=\"closeModalEstabelecimento(); updateLastLogEstabelecimento($event);\">\n </selecao-estabelecimentos-modal>\n</ng-template>\n<!-- #endregion MODAL SELECAO ESTABELECIMENTO -->\n\n<!-- #region MODAL VERSION -->\n<ng-template #modalVersion>\n <versoes-modal (onClose)=\"closeModalVersion()\" />\n</ng-template>\n<!-- #endregion MODAL VERSION -->\n\n<!-- #endregion TEMPLATES -->\n", styles: ["*{padding:0;margin:0;font-family:Open sans,Arial,Helvetica,sans-serif;font-size:14px}span{color:#fff}ul{list-style:none;padding-left:0;white-space:nowrap}#menu.main{display:flex;width:100%;height:100%;background:#eee}::-webkit-scrollbar{width:8px;background:transparent}::-webkit-scrollbar-thumb{background:#bbb;border-radius:16px}.main-content{width:100%;z-index:0;overflow-y:auto;overflow:overlay;height:100vh}.main-content .content{padding:0 16px 16px;background-color:#eee!important}.disable-scroll{overflow-y:hidden}.dropdown-button{padding:8px;border-radius:8px;background-color:#3265ee;border:none;font-size:14px;font-weight:700;width:100%;display:flex}.dropdown-button span{width:100%;display:flex;justify-content:space-between}.dropdown-menu{width:300px;border-radius:8px}.dropdown-menu li{margin:16px 8px}.dropdown-menu li a{font-size:14px}.dropdown-menu li a:hover{font-weight:700;background-color:transparent}.dropdown-menu .dropdown-divider{height:0}.link-portal{color:#213b70;text-decoration:underline;text-align:center;font-weight:700;font-size:14px}.container{display:flex;width:max-content}.sidebar{display:flex;flex-direction:column;height:100%;grid-template-rows:min-content;box-sizing:border-box;transition:width .5s;background-color:#213b70;max-width:inherit}.sidebar .footer-menu{justify-content:flex-end}.menu-header{display:flex;flex-direction:column;white-space:nowrap;padding:32px 0 0;background-color:#213b70}.menu-header ul li{margin-left:16px;margin-right:16px}.menu-header ul>li:last-child{border-bottom:1px solid #3265ee;padding-bottom:15px;height:auto}.dropdown{margin:0}.btn-group{width:100%}.sidebar.closed .menu-header ul li{margin-left:0;margin-right:0}.sidebar.closed .menu-header{display:flex;flex-direction:column;align-items:center}.icon-estabelecimento button,.icon-pesquisa button{display:flex;flex-direction:row;width:100%;align-items:center;justify-content:center}.icon-estabelecimento button span:hover,.icon-pesquisa button span:hover{font-weight:700}.header-content{display:flex;flex-direction:column;justify-content:space-evenly;height:100%;margin:0 20px}.logo-hamburguer{display:flex;justify-content:space-between;margin-right:8px}.logo-hamburguer .button-hamburguer{border:none;background-color:transparent}.sidebar.closed .logo-hamburguer{justify-content:center;margin-right:0}.scroll{overflow-y:auto;overflow-x:hidden;min-height:20%;margin-right:2px}.list-menu{padding-left:16px;padding-right:8px;display:flex;flex-direction:column;justify-content:center;white-space:nowrap}.list-menu .text-closed{padding-top:15px;display:none;color:#fff}.list-menu .text-opened{color:#fff;font-size:12px;padding-top:15px;visibility:visible;white-space:nowrap}.list-menu .li-main{padding:10px 7px;border-radius:8px}.list-menu .onSelect{background-color:#3265ee}.list-menu div.static-menu>ul>li:first-child{margin-top:16px}.list-menu .span-main{font-size:14px;margin-left:8px;opacity:1;pointer-events:auto;white-space:break-spaces}.list-menu .span-main:hover,.list-menu .list-options span:hover{font-weight:700}.list-menu p{font-size:10px;font-weight:700;text-transform:uppercase;border-bottom:1px solid #3265ee;visibility:hidden}.selectedItem{background-color:#3265ee}.selectedItem span{font-weight:700;background-color:transparent}.notif{padding:2px 13px;margin-bottom:none;background-color:#000;border-radius:8px;font-weight:700}.sidebar.closed .chevron{display:none}.sidebar.closed .icon-estabelecimento,.sidebar.closed .icon-pesquisa{margin:0}.sidebar.closed .icon-estabelecimento button,.sidebar.closed .icon-pesquisa button{justify-content:center}.sidebar.closed .icon-estabelecimento button img,.sidebar.closed .icon-pesquisa button img{margin:0}.align-chevron{width:100%;text-align:justify;align-items:center;display:flex;justify-content:space-between}.selected-color{background-color:#3265ee}.main-menu{display:flex;flex-direction:column;justify-content:space-between;height:100%;min-height:20%}.button-icons{border:none;background-color:transparent}.footer-menu{display:flex;flex-direction:column}.footer-menu .footer-components{border-top:1px solid #3265ee}.footer-menu .footer-components .button-closed{display:none}.footer-menu button{border:none;background-color:transparent;border-radius:8px}.footer-menu .points{padding:4px 0;margin:4px 0;border-radius:8px}.footer-menu .photo-profile{width:32px;height:32px;border-radius:50%;margin:0}.footer-menu .open-user{background-color:#3265ee}.submenu{width:341px;display:none;background-color:#3265ee;box-sizing:border-box;flex-direction:column;overflow:hidden;box-shadow:0 4px 8px #0000004d}.submenu ul{display:flex;flex-direction:column;margin:25px 26px 0 24px}.submenu ul li{font-size:20px;font-weight:600;line-height:22px;padding-bottom:18px}.submenu .itens-list{display:flex;justify-content:space-between;align-items:center}.submenu .itens-list .favoritos,.submenu .itens-list span{cursor:pointer}.submenu .footer-menu{display:flex;flex-direction:row;justify-content:center;overflow:hidden}.submenu .footer-menu .footer-components{border-top:1px solid #3265ee;white-space:nowrap}.submenu .footer-menu button{position:relative;left:35%;border:none;background-color:transparent}.submenu .footer-menu .photo-profile{width:32px;height:32px;border-radius:50%;margin:0}.submenu .footer-components{display:flex;justify-content:center;align-items:center}.submenu button{position:relative;left:10%;border:none;background-color:transparent}.submenu .photo-profile{width:32px;height:32px;border-radius:50%;margin:0}.submenu.opened-sub{z-index:1;display:flex;position:absolute;left:100%;height:100vh;justify-content:space-between}.submenu-footer{display:flex;flex-direction:row;justify-content:center;align-content:center;margin-bottom:14px;border-top:1px solid #2847a0;box-shadow:0 4px 8px #0000004d}.submenu-footer .subfooter-components{padding-top:16px}.submenu-footer span{font-weight:700;padding-left:10px}.search-bar{max-width:368px;height:38px;margin-top:24px;border:1px solid #ced4da;box-sizing:border-box;border-radius:8px}.opened-notif-sub{min-width:452px;display:none;background-color:#3265ee;box-sizing:border-box;flex-direction:column;overflow:hidden}.sidebar.closed{max-width:73px;transition:.5s}.sidebar.closed span{display:none}.closed-mobile{width:42px}.opened-mobile{width:80vw}.sidebar.closed span{white-space:nowrap;overflow:hidden}.sidebar.closed .logo-sispro{display:none}.sidebar.closed .list-menu{padding:0;margin-left:0;margin-right:0;display:flex;flex-direction:column;align-items:center}.sidebar.closed .list-menu span{opacity:0;pointer-events:none}.sidebar.closed .list-menu .text-closed{padding-bottom:11px;visibility:visible;display:block}.sidebar.closed .list-menu .text-opened{display:none;font-size:8px}.sidebar.closed .list-menu .chevron,.sidebar.closed .favoritos,.sidebar.closed .footer-components .button-opened{display:none}.sidebar.closed .footer-components .button-closed{display:block}.sidebar.closed .button-icons{border:none;background-color:transparent}.sidebar.closed .footer-components{display:flex;align-items:center}.sidebar.closed button{border:none;background-color:transparent;display:block}.sidebar.closed .photo-profile{width:32px;height:32px;border-radius:50%;margin:0}.sidebar-control{height:100vh;max-width:227.667px}.sidebar-control .main-content.closed{margin-left:0}.glb-text-width-120{max-width:120px}.profile-picture{display:inline-block;position:relative;width:100px;height:100px;border-radius:50%;overflow:hidden}.profile-picture img{width:100%;height:100%;object-fit:cover;border-radius:50%;clip-path:circle(50% at 50% 50%)}.image-div{width:50px;min-width:50px;height:50px;border-radius:100%;position:relative;overflow:hidden;z-index:1}.image-div #photoUser{width:146px;height:146px;top:-1px;left:-1px;object-fit:cover;position:relative;z-index:1;border:none;border-color:transparent}.dynamic-container{display:inline-block;white-space:nowrap;overflow:hidden}.custom-popover{width:1000px}\n"] }]
|
|
3787
|
+
], template: "<!-- #region MAIN CONTENT -->\n<div id=\"menu\" class=\"main col-12\">\n\n <div style=\"height: 100vh; z-index: 3;\" class=\"sidebar-control position-relative d-flex flex-row\" #menuContainer\n (clickOutside)=\"closeMenu == true ? onClickedOutside($event, submenu_ref) : closeMenu = true\">\n <div class=\"sidebar {{_customMenuService.themeColor}} closed\" [ngClass]=\"{'closed-mobile': isMobile && !isMenuOpened}\" #sidebar>\n <div class=\"menu-header\">\n <ul>\n <li class=\"mb-3\">\n <div class=\"logo-hamburguer\">\n <img src=\"assets/icons/logotipo-sispro.svg\" alt=\"logo-sispro\" class=\"logo-sispro\" title=\"logo\" width=\"136px\" height=\"48px\">\n <button class=\"button-hamburguer\" (click)=\"isMenuOpened = !isMenuOpened; openExpansibleMenu(sidebar);\">\n <img src=\"assets/icons/menu.svg\" alt=\"menu hamburguer\">\n </button>\n </div>\n </li>\n\n <!-- #region M\u00D3DULOS -->\n <li class=\"mb-3\" style=\"margin-left: 8px; margin-right: 8px\">\n <div class=\"btn-group\">\n <button (click)=\"dropdownWasOpened(true)\" type=\"button\" class=\"dropdown-button\" data-bs-toggle=\"dropdown\"\n aria-expanded=\"false\" data-bs-auto-close=\"outside\">\n <ng-container>\n <lib-icon iconColor=\"white\" [iconName]=\"_customMenuService.moduleSvg\" />\n <span class=\"ps-2\"> {{ this._customMenuService.moduleName }} <lib-icon iconName=\"seta-direita\" iconColor=\"white\" /> </span>\n </ng-container>\n </button>\n <ul class=\"dropdown-menu\" #dropdown_ref>\n <app-primary-dropdown [buttonWasClicked]=\"messageIfClicked\"></app-primary-dropdown>\n </ul>\n </div>\n </li>\n <!-- #endregion M\u00D3DULOS -->\n\n <!-- #region ESTABELECIMENTOS -->\n <li class=\"mx-3\" style=\"margin-bottom: 16px;\">\n <div class=\"icon-estabelecimento\">\n <button class=\"row justify-content-between bg-transparent border-0\"\n (click)=\"openModalEstabelecimento(modalEstabelecimento)\"\n [tooltip]=\"!sidebar.classList.contains('closed') ? '' : nomeEstabelecimento\" placement=\"right\">\n\n <lib-icon class=\"col-1\" iconName=\"predio\" iconColor=\"white\" />\n <span *ngIf=\"!sidebar.classList.contains('closed')\" class=\"col-9 ps-2 glb-text-width-160 text-start text-truncate\"> {{ nomeEstabelecimento }} </span>\n <lib-icon *ngIf=\"!sidebar.classList.contains('closed')\" class=\"col-1\" iconName=\"seta-direita\" iconColor=\"white\" />\n </button>\n </div>\n </li>\n <!-- #endregion ESTABELECIMENTOS -->\n\n\n <!-- #region PESQUISA -->\n @if (_customMenuService.menuDynamic) {\n <li class=\"mx-3 mb-3\">\n <div class=\"icon-pesquisa\">\n <button class=\"d-flex align-items-center justify-content-start gap-2 bg-transparent border-0\" (click)=\"_pesquisaTelas.show()\"\n [tooltip]=\"!sidebar.classList.contains('closed') ? '' : 'Pesquisar telas'\" placement=\"right\">\n\n <lib-icon class=\"col-1\" iconName=\"lupa\" iconColor=\"white\" />\n @if (!sidebar.classList.contains('closed')) { <span class=\"col ps-2 text-start text-truncate\"> Pesquisar telas </span> }\n </button>\n </div>\n </li>\n }\n <!-- #endregion PESQUISA -->\n\n </ul>\n\n </div>\n\n <!-- #region MENUS DE NAVEGA\u00C7\u00C3O -->\n <div class=\"main-menu\">\n <div class=\"scroll\">\n <div class=\"list-menu px-2 pb-1\">\n\n <!-- #region MENU DIN\u00C2MICO -->\n <div class=\"dynamic-menu\">\n <ul #dynamic_menu_items *ngIf=\"_customMenuService.menuItems; else isLoading\">\n\n <li *ngFor=\"let menuItem of _customMenuService.menuItems; let i = index\"\n class=\"p-1 rounded\"\n (click)=\"openSubmenu(menuItem, submenu_ref, dynamic_menu)\"\n [class.selectedItem]=\"menuItem.isSelected\">\n\n <a *ngIf=\"!menuItem.isExternal; else externalMenu\"\n [routerLink]=\"getExternalUrl(menuItem.route,menuItem.isOutroModulo)\"\n [id]=\"'item' + menuItem.id\"\n [tooltip]=\"!sidebar.classList.contains('closed') ? '' : menuItem.label\"\n placement=\"left\" class=\"w-100 d-flex align-items-center button-icons text-decoration-none p-1 glb-cursor-pointer\"\n [class]=\"sidebar.classList.contains('closed') ? 'justify-content-center' : 'justify-content-between'\">\n\n <div class=\"container\">\n <lib-icon *ngIf=\"!menuItem.icon.includes('assets/icons'); else iconImg\" [iconName]=\"menuItem.icon\" iconColor=\"white\"/>\n <span class=\"span-main\">{{ menuItem.label }}</span>\n <ng-template #iconImg>\n <img [src]=\"menuItem.icon\" [alt]=\"'icone: ' + menuItem.label\">\n </ng-template>\n </div>\n <lib-icon *ngIf=\"(menuItem.children && menuItem.children.length > 0) && !sidebar.classList.contains('closed')\"\n iconName=\"seta-direita\" iconColor=\"white\"/>\n </a>\n\n <ng-template #externalMenu>\n <a [href]=\"getExternalUrl(menuItem.route,menuItem.isOutroModulo)\"\n target=\"_blank\"\n [id]=\"'item' + menuItem.id\"\n [tooltip]=\"!sidebar.classList.contains('closed') ? '' : menuItem.label\"\n placement=\"left\" class=\"w-100 d-flex align-items-center button-icons text-decoration-none p-1 glb-cursor-pointer\"\n [class]=\"sidebar.classList.contains('closed') ? 'justify-content-center' : 'justify-content-between'\">\n\n <div class=\"container\">\n <lib-icon *ngIf=\"!menuItem.icon.includes('assets/icons'); else iconImgExternal\" [iconName]=\"menuItem.icon\" iconColor=\"white\"/>\n <span class=\"span-main\">{{ menuItem.label }}</span>\n <ng-template #iconImgExternal>\n <img [src]=\"menuItem.icon\" [alt]=\"'icone: ' + menuItem.label\">\n </ng-template>\n </div>\n <lib-icon *ngIf=\"(menuItem.children && menuItem.children.length > 0) && !sidebar.classList.contains('closed')\"\n iconName=\"seta-direita\" iconColor=\"white\"/>\n </a>\n </ng-template>\n </li>\n\n </ul>\n </div>\n\n <ng-template #isLoading>\n <li class=\"spinner-border spinner-border-sm mt-2\" role=\"status\" aria-hidden=\"true\"></li>\n </ng-template>\n <!-- #endregion MENU DIN\u00C2MICO -->\n\n </div>\n </div>\n </div>\n <!-- #endregion MENUS DE NAVEGA\u00C7\u00C3O -->\n\n <!-- #region FOOTER -->\n <div class=\"footer-menu glb-cursor-pointer\" (mouseenter)=\"showBalloon = true\" (mouseleave)=\"showBalloon = false\"\n [popover]=\"popoverContent\" placement=\"right bottom\" [outsideClick]=\"true\" containerClass=\"width: 200px\" >\n <div class=\"footer-components d-flex flex-row align-items-center gap-2 py-2 px-1 justify-content-center gap-2\" [class.open]=\"showBalloon\">\n @if (footerUserImgSrc) {\n <img class=\"photo-profile\" [src]=\"['data:image/jpeg;base64,' + footerUserImgSrc]\" alt=\"foto-perfil\">\n }\n @else {\n <lib-icon iconName=\"contraparte\" iconColor=\"white\"/>\n }\n\n <span class=\"text-truncate fw-bold text-start\" style=\"max-width: 100%;\"> {{ footerUserName }} </span>\n </div>\n </div>\n\n <ng-template #popoverContent>\n <div class=\"footer-menu\" style=\"width: 1000px;\">\n <div class=\"d-flex align-items-center\">\n <img *ngIf=\"footerUserImgSrc; else noUserImg\" class=\"photo-profile\"\n [src]=\"['data:image/jpeg;base64,' + footerUserImgSrc]\" alt=\"foto-perfil\">\n <ng-template #noUserImg>\n <lib-icon iconName=\"contraparte\" iconColor=\"currentColor\"/>\n </ng-template>\n <div class=\"d-flex flex-column ms-1\">\n <div [tooltip]=\"footerUserName\" class=\"dynamic-container\" style=\"white-space: nowrap; flex-grow: 1;max-width: 200px; font-size: 16px;\">{{footerUserName}}</div>\n <div [tooltip]=\"footerUserEmail\" class=\"dynamic-container\" style=\"white-space: nowrap; font-size: 12px; flex-grow: 1;max-width: 200px;\">{{footerUserEmail}}</div>\n </div>\n </div>\n </div>\n <hr class=\"mb-2 mt-2\">\n <div routerLink=\"meu-perfil\" style=\"cursor: pointer;\" (click)=\"togglePopover(); $event.stopPropagation()\">\n <lib-icon [iconSize]=\"'small'\" iconName=\"contraparte\"/> Meu Perfil\n </div>\n \n <div class=\"mt-2\" style=\"cursor: pointer;\" (click)=\"openModalVersion(modalVersion)\">\n <lib-icon [iconSize]=\"'small'\" iconName=\"info\"/> Vers\u00E3o\n </div>\n\n <div class=\"mt-2\" style=\"cursor: pointer;\" (click)=\"deleteIDB()\">\n <lib-icon [iconSize]=\"'small'\" iconName=\"lixeira\"/> Limpar filtros salvos\n </div>\n\n <div class=\"mt-2\" (click)=\"logout()\" style=\"cursor: pointer;\">\n <lib-icon [iconSize]=\"'small'\" iconName=\"logout\"/> Sair\n </div>\n </ng-template>\n <!-- #endregion FOOTER -->\n\n </div>\n\n <div class=\"submenu\" #submenu_ref>\n <ng-template [ngIf]=\"desiredContent !== null\">\n <ng-content *ngTemplateOutlet=\"desiredContent!; context: {$implicit: submenuList}\"></ng-content>\n </ng-template>\n </div>\n </div>\n\n <div class=\"main-content col d-flex flex-column align-content-between\" id=\"body-content\">\n <div class=\"content\" style=\"position: relative;\">\n <router-outlet></router-outlet>\n </div>\n <div app-footer></div>\n </div>\n\n</div>\n<!-- #endregion MAIN CONTENT -->\n\n<!-- #region TEMPLATES -->\n<ng-template #dynamic_menu let-data>\n <app-dynamic-menu\n [submenuList]=\"data\"\n [titleSubmenu]=\"titleSubmenu\" [submenuRef]=\"submenu_ref\" [recebeParam]=\"onClickedOutside.bind(this)\"\n [hostServerOutSystems]=\"HostServerOutSystems\">\n </app-dynamic-menu>\n</ng-template>\n\n<ng-template #notif_menu>\n <app-notif-submenu></app-notif-submenu>\n</ng-template>\n\n<!-- #region MODAL SELECAO ESTABELECIMENTO -->\n<ng-template #modalEstabelecimento>\n <selecao-estabelecimentos-modal (onClose)=\"closeModalEstabelecimento()\"\n (onSelected)=\"closeModalEstabelecimento(); updateLastLogEstabelecimento($event);\">\n </selecao-estabelecimentos-modal>\n</ng-template>\n<!-- #endregion MODAL SELECAO ESTABELECIMENTO -->\n\n<!-- #region MODAL VERSION -->\n<ng-template #modalVersion>\n <versoes-modal (onClose)=\"closeModalVersion()\" />\n</ng-template>\n<!-- #endregion MODAL VERSION -->\n\n<!-- #endregion TEMPLATES -->\n", styles: ["*{padding:0;margin:0;font-family:Open sans,Arial,Helvetica,sans-serif;font-size:14px}span{color:#fff}ul{list-style:none;padding-left:0;white-space:nowrap}#menu.main{display:flex;width:100%;height:100%;background:#eee}::-webkit-scrollbar{width:8px;background:transparent}::-webkit-scrollbar-thumb{background:#bbb;border-radius:16px}.main-content{width:100%;z-index:0;overflow-y:auto;overflow:overlay;height:100vh}.main-content .content{padding:0 16px 16px;background-color:#eee!important}.disable-scroll{overflow-y:hidden}.dropdown-button{padding:8px;border-radius:8px;background-color:#3265ee;border:none;font-size:14px;font-weight:700;width:100%;display:flex}.dropdown-button span{width:100%;display:flex;justify-content:space-between}.dropdown-menu{width:300px;border-radius:8px}.dropdown-menu li{margin:16px 8px}.dropdown-menu li a{font-size:14px}.dropdown-menu li a:hover{font-weight:700;background-color:transparent}.dropdown-menu .dropdown-divider{height:0}.link-portal{color:#213b70;text-decoration:underline;text-align:center;font-weight:700;font-size:14px}.container{display:flex;width:max-content}.sidebar{display:flex;flex-direction:column;height:100%;grid-template-rows:min-content;box-sizing:border-box;transition:width .5s;background-color:#213b70;max-width:inherit}.sidebar .footer-menu{justify-content:flex-end}.menu-header{display:flex;flex-direction:column;white-space:nowrap;padding:32px 0 0;background-color:#213b70}.menu-header ul li{margin-left:16px;margin-right:16px}.menu-header ul>li:last-child{border-bottom:1px solid #3265ee;padding-bottom:15px;height:auto}.dropdown{margin:0}.btn-group{width:100%}.sidebar.closed .menu-header ul li{margin-left:0;margin-right:0}.sidebar.closed .menu-header{display:flex;flex-direction:column;align-items:center}.icon-estabelecimento button,.icon-pesquisa button{display:flex;flex-direction:row;width:100%;align-items:center;justify-content:center}.icon-estabelecimento button span:hover,.icon-pesquisa button span:hover{font-weight:700}.header-content{display:flex;flex-direction:column;justify-content:space-evenly;height:100%;margin:0 20px}.logo-hamburguer{display:flex;justify-content:space-between;margin-right:8px}.logo-hamburguer .button-hamburguer{border:none;background-color:transparent}.sidebar.closed .logo-hamburguer{justify-content:center;margin-right:0}.scroll{overflow-y:auto;overflow-x:hidden;min-height:20%;margin-right:2px}.list-menu{padding-left:16px;padding-right:8px;display:flex;flex-direction:column;justify-content:center;white-space:nowrap}.list-menu .text-closed{padding-top:15px;display:none;color:#fff}.list-menu .text-opened{color:#fff;font-size:12px;padding-top:15px;visibility:visible;white-space:nowrap}.list-menu .li-main{padding:10px 7px;border-radius:8px}.list-menu .onSelect{background-color:#3265ee}.list-menu div.static-menu>ul>li:first-child{margin-top:16px}.list-menu .span-main{font-size:14px;margin-left:8px;opacity:1;pointer-events:auto;white-space:break-spaces}.list-menu .span-main:hover,.list-menu .list-options span:hover{font-weight:700}.list-menu p{font-size:10px;font-weight:700;text-transform:uppercase;border-bottom:1px solid #3265ee;visibility:hidden}.selectedItem{background-color:#3265ee}.selectedItem span{font-weight:700;background-color:transparent}.notif{padding:2px 13px;margin-bottom:none;background-color:#000;border-radius:8px;font-weight:700}.sidebar.closed .chevron{display:none}.sidebar.closed .icon-estabelecimento,.sidebar.closed .icon-pesquisa{margin:0}.sidebar.closed .icon-estabelecimento button,.sidebar.closed .icon-pesquisa button{justify-content:center}.sidebar.closed .icon-estabelecimento button img,.sidebar.closed .icon-pesquisa button img{margin:0}.align-chevron{width:100%;text-align:justify;align-items:center;display:flex;justify-content:space-between}.selected-color{background-color:#3265ee}.main-menu{display:flex;flex-direction:column;justify-content:space-between;height:100%;min-height:20%}.button-icons{border:none;background-color:transparent}.footer-menu{display:flex;flex-direction:column}.footer-menu .footer-components{border-top:1px solid #3265ee}.footer-menu .footer-components .button-closed{display:none}.footer-menu button{border:none;background-color:transparent;border-radius:8px}.footer-menu .points{padding:4px 0;margin:4px 0;border-radius:8px}.footer-menu .photo-profile{width:32px;height:32px;border-radius:50%;margin:0}.footer-menu .open-user{background-color:#3265ee}.submenu{width:341px;display:none;background-color:#3265ee;box-sizing:border-box;flex-direction:column;overflow:hidden;box-shadow:0 4px 8px #0000004d}.submenu ul{display:flex;flex-direction:column;margin:25px 26px 0 24px}.submenu ul li{font-size:20px;font-weight:600;line-height:22px;padding-bottom:18px}.submenu .itens-list{display:flex;justify-content:space-between;align-items:center}.submenu .itens-list .favoritos,.submenu .itens-list span{cursor:pointer}.submenu .footer-menu{display:flex;flex-direction:row;justify-content:center;overflow:hidden}.submenu .footer-menu .footer-components{border-top:1px solid #3265ee;white-space:nowrap}.submenu .footer-menu button{position:relative;left:35%;border:none;background-color:transparent}.submenu .footer-menu .photo-profile{width:32px;height:32px;border-radius:50%;margin:0}.submenu .footer-components{display:flex;justify-content:center;align-items:center}.submenu button{position:relative;left:10%;border:none;background-color:transparent}.submenu .photo-profile{width:32px;height:32px;border-radius:50%;margin:0}.submenu.opened-sub{z-index:1;display:flex;position:absolute;left:100%;height:100vh;justify-content:space-between}.submenu-footer{display:flex;flex-direction:row;justify-content:center;align-content:center;margin-bottom:14px;border-top:1px solid #2847a0;box-shadow:0 4px 8px #0000004d}.submenu-footer .subfooter-components{padding-top:16px}.submenu-footer span{font-weight:700;padding-left:10px}.search-bar{max-width:368px;height:38px;margin-top:24px;border:1px solid #ced4da;box-sizing:border-box;border-radius:8px}.opened-notif-sub{min-width:452px;display:none;background-color:#3265ee;box-sizing:border-box;flex-direction:column;overflow:hidden}.sidebar.closed{max-width:73px;transition:.5s}.sidebar.closed span{display:none}.closed-mobile{width:42px}.opened-mobile{width:80vw}.sidebar.closed span{white-space:nowrap;overflow:hidden}.sidebar.closed .logo-sispro{display:none}.sidebar.closed .list-menu{padding:0;margin-left:0;margin-right:0;display:flex;flex-direction:column;align-items:center}.sidebar.closed .list-menu span{opacity:0;pointer-events:none}.sidebar.closed .list-menu .text-closed{padding-bottom:11px;visibility:visible;display:block}.sidebar.closed .list-menu .text-opened{display:none;font-size:8px}.sidebar.closed .list-menu .chevron,.sidebar.closed .favoritos,.sidebar.closed .footer-components .button-opened{display:none}.sidebar.closed .footer-components .button-closed{display:block}.sidebar.closed .button-icons{border:none;background-color:transparent}.sidebar.closed .footer-components{display:flex;align-items:center}.sidebar.closed button{border:none;background-color:transparent;display:block}.sidebar.closed .photo-profile{width:32px;height:32px;border-radius:50%;margin:0}.sidebar-control{height:100vh;max-width:227.667px}.sidebar-control .main-content.closed{margin-left:0}.glb-text-width-120{max-width:120px}.profile-picture{display:inline-block;position:relative;width:100px;height:100px;border-radius:50%;overflow:hidden}.profile-picture img{width:100%;height:100%;object-fit:cover;border-radius:50%;clip-path:circle(50% at 50% 50%)}.image-div{width:50px;min-width:50px;height:50px;border-radius:100%;position:relative;overflow:hidden;z-index:1}.image-div #photoUser{width:146px;height:146px;top:-1px;left:-1px;object-fit:cover;position:relative;z-index:1;border:none;border-color:transparent}.dynamic-container{display:inline-block;white-space:nowrap;overflow:hidden}.custom-popover{width:1000px}\n"] }]
|
|
3785
3788
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
3786
3789
|
type: Inject,
|
|
3787
3790
|
args: [MSAL_GUARD_CONFIG]
|