keevo-components 1.8.227 → 1.8.229

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.
@@ -112,6 +112,7 @@ import Quill from 'quill';
112
112
  import * as i1$5 from 'ngx-loading';
113
113
  import { NgxLoadingModule } from 'ngx-loading';
114
114
  import { ProgressSpinnerModule } from 'primeng/progressspinner';
115
+ import { trigger, state, style, transition, animate } from '@angular/animations';
115
116
  import { OrgChart } from 'd3-org-chart';
116
117
  import * as d3 from 'd3';
117
118
  import * as i7$2 from '@angular/cdk/drag-drop';
@@ -4531,6 +4532,7 @@ class KvLayoutComponent {
4531
4532
  this.expandMenuEmit = new EventEmitter();
4532
4533
  this.logoutEmit = new EventEmitter();
4533
4534
  this.selectAppEmit = new EventEmitter();
4535
+ this.navigateToDefaultRouteEmit = new EventEmitter();
4534
4536
  }
4535
4537
  accessKeePass(event) {
4536
4538
  this.sistemasPanel.hide();
@@ -4555,7 +4557,7 @@ class KvLayoutComponent {
4555
4557
  }
4556
4558
  callRoute(e, expand) {
4557
4559
  if (!expand)
4558
- !this.expandMenu ? this.expandMenu = !this.expandMenu : '';
4560
+ !this.expandMenu ? (this.expandMenu = !this.expandMenu) : '';
4559
4561
  this.router.navigateByUrl(e);
4560
4562
  }
4561
4563
  changeEmpresa(event) {
@@ -4586,7 +4588,6 @@ class KvLayoutComponent {
4586
4588
  if (this.sistemasPanel) {
4587
4589
  this.sistemasPanel.hide();
4588
4590
  }
4589
- ;
4590
4591
  }
4591
4592
  nameEmpresa(nomeLicenca) {
4592
4593
  if (nomeLicenca) {
@@ -4664,12 +4665,38 @@ class KvLayoutComponent {
4664
4665
  verifySelectedPage(link) {
4665
4666
  return this.router.url.includes(link);
4666
4667
  }
4668
+ navigateToDefaultRoute() {
4669
+ this.navigateToDefaultRouteEmit.emit();
4670
+ }
4671
+ getSidebarState() {
4672
+ return this.expandMenu ? 'expanded' : 'collapsed';
4673
+ }
4667
4674
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvLayoutComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i2$1.FormBuilder }, { token: i3$1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
4668
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvLayoutComponent, selector: "kv-layout", inputs: { apps: "apps", breadCrumbItems: "breadCrumbItems", masters: "masters", menus: "menus", expandMenu: "expandMenu", logoMenuExpand: "logoMenuExpand", logoMenuHide: "logoMenuHide", selectedApp: "selectedApp", selectedEmpresa: "selectedEmpresa", selectedMaster: "selectedMaster", showButtonApps: "showButtonApps", showButtonUser: "showButtonUser", showExpandMenu: "showExpandMenu", showDropdownLicenca: "showDropdownLicenca", showMenu: "showMenu", showTrocaEmpresa: "showTrocaEmpresa", userName: "userName" }, outputs: { accessKeePassEmit: "accessKeePassEmit", changeEmpresaEmit: "changeEmpresaEmit", changeLicenseEmit: "changeLicenseEmit", expandMenuEmit: "expandMenuEmit", logoutEmit: "logoutEmit", selectAppEmit: "selectAppEmit" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, viewQueries: [{ propertyName: "meusDadosPanel", first: true, predicate: ["meusDadosPanel"], descendants: true }, { propertyName: "sidebarRef", first: true, predicate: ["sidebarRef"], descendants: true }, { propertyName: "sistemasPanel", first: true, predicate: ["sistemasPanel"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"flex flex-row overflow-y-hidden w- full-container\">\n\n @if (showMenu) {\n <div [style]=\"{ minWidth: expandMenu ? '300px' : '60px' }\"></div>\n }\n\n @if(showMenu) {\n <p-sidebar\n #sidebarRef\n [visible]=\"true\"\n [showCloseIcon]=\"false\"\n [modal]=\"false\"\n [style]=\"{ width: expandMenu ? '300px' : '60px' }\">\n <ng-template pTemplate=\"headless\">\n <div class=\"flex flex-column mx-1\">\n <div\n class=\"flex flex-column gap-2 justify-content-between flex-shrink-0 mx-2\">\n <div\n class=\"flex flex-row align-items-center {{\n expandMenu ? 'justify-content-between' : 'justify-content-center'\n }} py-3\">\n <!-- Logo para o menu expandido -->\n <img\n *ngIf=\"expandMenu && logoMenuExpand\"\n alt=\"Card\"\n [src]=\"logoMenuExpand\"\n width=\"150\"\n class=\"cursor-pointer\"\n (click)=\"router.navigate(['/keevocenter/home'])\" />\n\n <!-- Logo para o menu minimizado-->\n <img\n *ngIf=\"!expandMenu && logoMenuHide\"\n alt=\"Card\"\n [src]=\"logoMenuExpand\"\n width=\"150\" />\n\n <!-- Toggle menu -->\n <button\n *ngIf=\"showExpandMenu\"\n pButton\n class=\"p-button-rounded p-button-text padding-style h-2rem w-2rem hover:bg-green-600 hover:text-white icon-menu\"\n (click)=\"toggleMenu()\"\n [pTooltip]=\"expandMenu ? 'Ocultar Menu' : 'Expandir Menu'\"\n [tooltipPosition]=\"'right'\">\n <i class=\"material-symbols-outlined\"> menu </i>\n </button>\n </div>\n\n @if(showTrocaEmpresa){\n <div\n class=\"flex flex-row align-items-center {{expandMenu ? 'justify-content-between' : 'justify-content-center'}}\">\n <div\n class=\"flex flex-column cursor-pointer\"\n *ngIf=\"expandMenu && selectedEmpresa\"\n (click)=\"changeEmpresa($event)\">\n <span\n class=\"text-sm font-semibold mr-2\"\n [pTooltip]=\"this.selectedEmpresa.razaosocial\"\n [tooltipPosition]=\"'right'\">\n {{nameEmpresa(this.selectedEmpresa.razaosocial)}}\n </span>\n <span class=\"text-sm mt-1\">{{this.selectedEmpresa.cpfcnpj |\n cpfCnpj }}</span>\n </div>\n\n <button\n pButton\n class=\"p-button-rounded p-button-text padding-style h-2rem w-2rem hover:bg-green-600 hover:text-white icon-menu\"\n (click)=\"changeEmpresa($event)\"\n [pTooltip]=\"'Trocar de empresa'\"\n [tooltipPosition]=\"'right'\">\n <i class=\"material-symbols-outlined\">\n sync_alt\n </i>\n </button>\n\n </div>\n <p-divider type=\"solid\"></p-divider>\n }\n\n </div>\n\n <div\n class=\"list-none m-0 card-container {{ expandMenu ? 'mx-1' : '' }}\"\n [style.max-height]=\"heightCard - 220 + 'px'\"\n style=\"overflow-y: auto\">\n <!-- menus -->\n <li *ngFor=\"let menu of menus; let i = index\">\n <!-- menu que n\u00E3o tem filho -->\n <a\n (mouseenter)=\"onMouseEnter(i)\"\n (mouseleave)=\"onMouseLeave()\"\n [ngClass]=\"{ 'hover-color': mouseOverIndex === i }\"\n (click)=\"callRoute(menu.link)\"\n *ngIf=\"\n !menu.indmenupai && (!menu.idmenupai || menu.idmenupai == 0)\n \"\n pRipple\n [pTooltip]=\"!expandMenu ? menu.descricaomenu : ''\"\n [tooltipPosition]=\"'right'\"\n class=\"{{\n verifySelectedPage(menu.link) ? 'bg-green-600' : ''\n }} menu-option flex align-items-center no-underline {{\n !expandMenu ? 'justify-content-center' : ''\n }} cursor-pointer border-round text-700 hover:bg-green-600 hover:text-white transition-duration-150 transition-colors p-ripple\">\n <i\n class=\"material-symbols-outlined icon-menu {{\n expandMenu ? 'ml-1 mr-2' : ''\n }} icon-hover-color {{\n verifySelectedPage(menu.link) ? 'text-white' : ''\n }}\"\n *ngIf=\"menu.icone\">\n {{ menu.icone }}\n </i>\n <span\n class=\"text-base text-blue-900 font-medium {{\n verifySelectedPage(menu.link) ? 'text-white' : ''\n }}\"\n *ngIf=\"expandMenu\">{{ menu.descricaomenu }}</span>\n </a>\n <!-- menu com filho -->\n <div *ngIf=\"menu.indmenupai\">\n <a\n (mouseenter)=\"onMouseEnter(i)\"\n (mouseleave)=\"onMouseLeave()\"\n [ngClass]=\"{ 'hover-color': mouseOverIndex === i }\"\n pRipple\n pStyleClass=\"@next\"\n enterClass=\"hidden\"\n enterActiveClass=\"slidedown\"\n leaveToClass=\"hidden\"\n leaveActiveClass=\"slideup\"\n class=\"menu-option flex align-items-center {{\n !expandMenu\n ? 'justify-content-center'\n : 'justify-content-between'\n }} cursor-pointer border-round text-700 hover:bg-green-600 hover:text-white transition-duration-150 transition-colors p-ripple\"\n [tooltipPosition]=\"'right'\"\n [pTooltip]=\"!expandMenu ? menu.descricaomenu : ''\"\n (click)=\"!expandMenu ? (expandMenu = !expandMenu) : ''\">\n <div class=\"flex flex-row align-items-center\">\n <i\n class=\"material-symbols-outlined icon-menu {{\n expandMenu ? 'ml-1 mr-2' : ''\n }} icon-hover-color\"\n *ngIf=\"menu.icone\"\n [ngClass]=\"{ 'hover-color': mouseOverIndex === i }\">\n {{ menu.icone }}\n </i>\n <span\n class=\"text-base text-blue-900 font-medium\"\n *ngIf=\"expandMenu\">{{ menu.descricaomenu }}</span>\n </div>\n <i\n class=\"pi pi-chevron-down text-blue-900 mr-1 icon-hover-color\"\n *ngIf=\"expandMenu\"\n [ngClass]=\"{ 'hover-color': mouseOverIndex === i }\"></i>\n </a>\n\n <!-- filhos -->\n <div\n class=\"list-none py-0 pl-3 pr-0 m-0 hidden overflow-y-hidden transition-all transition-duration-400 transition-ease-in-out\">\n <li\n *ngFor=\"\n let filho of returnMenuChild(menu.idmenu);\n let iFilho = index\n \">\n <a\n (mouseenter)=\"onMouseEnterChild(filho.idmenu)\"\n (mouseleave)=\"onMouseLeave()\"\n [ngClass]=\"{\n 'hover-color': mouseOverFilhoIndex === filho.idmenu\n }\"\n *ngIf=\"expandMenu\"\n (click)=\"callRoute(filho.link)\"\n pRipple\n class=\"{{\n verifySelectedPage(filho.link) ? 'bg-green-600' : ''\n }} menu-option flex align-items-center no-underline cursor-pointer border-round text-700 hover:bg-green-600 transition-duration-150 transition-colors p-ripple p-2\">\n <i\n class=\"material-symbols-outlined icon-menu {{\n expandMenu ? 'ml-1 mr-2' : ''\n }} icon-hover-color\"\n *ngIf=\"filho.icone\"\n [ngClass]=\"{ 'hover-color': mouseOverIndex === i }\">\n {{ filho.icone }}\n </i>\n <span\n class=\"text-base text-blue-900 ml-4 {{\n verifySelectedPage(filho.link) ? 'text-white' : ''\n }}\"\n *ngIf=\"expandMenu\">{{ filho.descricaomenu }}</span>\n </a>\n </li>\n </div>\n </div>\n </li>\n </div>\n </div>\n </ng-template>\n </p-sidebar>\n }\n\n <!-- Topbar -->\n <div class=\"w-auto h-screen page-content overflow-y-hidden\" id=\"page-content\"\n style=\"width: 100vw !important;\">\n <div class=\"flex flex-row align-items-center justify-content-between m-3\">\n <!-- Breadcrumbs -->\n <div>\n <p class=\"text-xl font-semibold text-blue-900 breadcrumb-title\">\n {{ breadCrumbItems[breadCrumbItems.length - 1]?.label }}\n </p>\n <p-breadcrumb\n *ngIf=\"widthCard > 400\"\n styleClass=\"border-none p-0 flex align-items-center h-2rem !important;\"\n [model]=\"breadCrumbItems\"\n [style]=\"{ backgroundColor: '#d4d3d3' }\"\n (onItemClick)=\"callRoute($event.item.routerLink, true)\"></p-breadcrumb>\n </div>\n\n <!-- dropdown para sele\u00E7\u00E3o de empresa/licenca -->\n <dropdown-master\n *ngIf=\"showLicencas()\"\n class=\"w-40rem\"\n formControlName=\"idmaster\"\n [formGroup]=\"formGroup\"\n [masters]=\"masters\"\n (onSelectionChange)=\"changeLicense($event)\"\n (onSelectionValue)=\"changeLicense($event)\">\n </dropdown-master>\n\n <!-- Navega\u00E7\u00E3o de sistemas e usu\u00E1rios -->\n <div class=\"w-auto flex flex-row align-items-center gap-2\">\n <p-button\n *ngIf=\"showButtonApps\"\n styleClass=\"w-2rem h-2rem text-blue-900 hover:bg-green-600 hover:text-white\"\n icon=\"pi pi-th-large\"\n [rounded]=\"true\"\n [text]=\"true\"\n (click)=\"sistemasPanel.toggle($event)\"\n [pTooltip]=\"'Sistemas'\"\n [tooltipPosition]=\"'left'\"></p-button>\n\n <p-button\n *ngIf=\"showButtonUser\"\n styleClass=\"w-2rem h-2rem text-blue-900 hover:bg-green-600 hover:text-white\"\n icon=\"pi pi-user\"\n [rounded]=\"true\"\n [text]=\"true\"\n [pTooltip]=\"'Menu do Usu\u00E1rio'\"\n [tooltipPosition]=\"'left'\"\n (click)=\"meusDadosPanel.toggle($event)\"></p-button>\n </div>\n </div>\n\n <!-- Container -->\n <p-card\n styleClass=\"m-3 border-noround overflow-y-auto {{\n !showMenu && 'sm:overflow-y-hidden'\n }} card-container\"\n [style]=\"{ height: heightCard - adjustHeightCard() + 'px' }\">\n <div class=\"{{widthCard < 992 && 'card-container'}} w-full\" [style]=\"{ width: widthCard + 'px' }\">\n <ng-content></ng-content>\n </div>\n </p-card>\n </div>\n\n <!-- Painel de aplicativos -->\n <p-overlayPanel\n #sistemasPanel\n [showTransitionOptions]=\"'350ms ease-out'\"\n [hideTransitionOptions]=\"'250ms ease-in'\">\n <ng-template pTemplate=\"container\">\n <p class=\"title-style mt-3\">Sistemas</p>\n <div\n class=\"flex flex-row flex-wrap gap-2 align-items-center justify-content-center mt-5 mb-3\"\n style=\"width: 250px; height: 100%\">\n <button\n *ngFor=\"let aplicativo of apps\"\n pButton\n pRipple\n class=\"btn-sistema-2 btn-sistema hover-btn-cor-padrao remove-focus h-4rem w-4rem\"\n [pTooltip]=\"aplicativo?.descricaoaplicativo\"\n [tooltipPosition]=\"'left'\"\n (click)=\"selectApp(aplicativo.idaplicativo)\">\n {{ aplicativo.nomeaplicativo.charAt(0).toUpperCase() }}\n </button>\n </div>\n </ng-template>\n </p-overlayPanel>\n\n <!-- Painel do usu\u00E1rio -->\n <p-overlayPanel\n #meusDadosPanel\n [showTransitionOptions]=\"'350ms ease-out'\"\n [hideTransitionOptions]=\"'250ms ease-in'\">\n <ng-template pTemplate=\"container\">\n <p class=\"title-style mt-3\">\n Ol\u00E1, {{ userName ? userName.split(\" \")[0] : \"Usu\u00E1rio\" }}!\n </p>\n <div class=\"mt-5 mb-3\"></div>\n\n <p-button\n icon=\"pi pi-lock\"\n label=\"Acessar Keepass\"\n (onClick)=\"accessKeePass($event)\"\n styleClass=\"border-noround w-full text-blue-900\"\n [text]=\"true\">\n </p-button>\n\n <p-button\n icon=\"pi pi-sign-out\"\n label=\"Sair\"\n (onClick)=\"logout($event)\"\n styleClass=\"border-noround w-full text-blue-900\"\n [text]=\"true\">\n </p-button>\n </ng-template>\n </p-overlayPanel>\n</div>\n", styles: [".material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:1em;display:inline-block;width:1em;height:1em;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:\"liga\"}::ng-deep .p-button:focus{box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}::ng-deep .p-overlaypanel .p-overlaypanel-content{padding:0}::ng-deep .hover-btn-cor-padrao.p-button:enabled:hover{background:#0c3e66;border-color:#002542}.p-button.p-button-icon-only.p-button-rounded{background:#0c3e66;border-color:#002542}::ng-deep .remove-focus:focus{border:none}::ng-deep .p-sidebar .p-sidebar-content{padding:0}::ng-deep .sidebar-header-sistema.p-sidebar .p-sidebar-header{padding-top:.5rem;padding-right:0;padding-bottom:0;padding-left:0;display:block}.btn-sistema{display:flex;align-items:center;justify-content:center;background-color:#0c3e66;font-size:20px}::ng-deep .p-sidebar .p-sidebar-header{padding:0rem!important}::ng-deep body{margin:0!important}::ng-deep .p-breadcrumb ul li.p-breadcrumb-chevron{position:relative;top:3px;color:#0c3e66!important}.page-content{background:linear-gradient(to bottom,#d4d3d3 16%,#fff 19%)}*{margin:0}p .item-menu{color:#0c3e66;font-family:Inter var,Roboto,Arial,Helvetica,sans-serif!important}span{font-size:.9rem!important}.breadcrumb-title{font-size:1rem!important;font-family:Inter var,Roboto,Arial,Helvetica,sans-serif!important}::ng-deep .home-style{background-color:#f5f5f5;overflow:hidden}::ng-deep .page-style{overflow:auto!important}::ng-deep .card-container{overflow-x:hidden}::ng-deep .card-container::-webkit-scrollbar{width:6px}::ng-deep .card-container::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .card-container::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .card-container:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .card-container::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}.title-style{position:relative;top:10px;margin-left:20px;font-size:25px;color:#002542;border-bottom:2px solid green;font-weight:600;display:inline}::ng-deep p-sidebar .p-sidebar-content{overflow-y:hidden}::ng-deep p-dialog .p-dialog-content{overflow-y:unset}.icon-menu{color:#002542;display:flex;justify-content:center;align-items:center}::ng-deep .padding-style{padding:15px!important}::ng-deep .menu-option{padding:15px 5px!important}::ng-deep .p-breadcrumb .p-breadcrumb-list .p-menuitem-text{color:#183462!important;opacity:.95;font-weight:500;font-size:.8rem!important}::ng-deep .p-breadcrumb .p-breadcrumb-list .p-menuitem-text:hover{opacity:.7}.pl-3{padding-left:0rem!important}::ng-deep svg.p-icon{width:.7rem;height:1rem}.hover-color .text-base,.hover-color .icon-hover-color{color:#fff!important}::ng-deep .p-card .p-card-body{padding:0rem!important}::ng-deep .p-card .p-card-content{padding:0rem!important}::ng-deep .p-sidebar-left{z-index:auto!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i5$7.Breadcrumb, selector: "p-breadcrumb", inputs: ["model", "style", "styleClass", "home", "homeAriaLabel"], outputs: ["onItemClick"] }, { kind: "directive", type: i6.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i1$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "component", type: i1$1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: i8.Card, selector: "p-card", inputs: ["header", "subheader", "style", "styleClass"] }, { kind: "component", type: i10.Divider, selector: "p-divider", inputs: ["style", "styleClass", "layout", "type", "align"] }, { kind: "component", type: i10$1.OverlayPanel, selector: "p-overlayPanel", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "directive", type: i2.Ripple, selector: "[pRipple]" }, { kind: "component", type: i12.Sidebar, selector: "p-sidebar", inputs: ["appendTo", "blockScroll", "style", "styleClass", "ariaCloseLabel", "autoZIndex", "baseZIndex", "modal", "dismissible", "showCloseIcon", "closeOnEscape", "transitionOptions", "visible", "position", "fullScreen"], outputs: ["onShow", "onHide", "visibleChange"] }, { kind: "directive", type: i13$1.StyleClass, selector: "[pStyleClass]", inputs: ["pStyleClass", "enterClass", "enterFromClass", "enterActiveClass", "enterToClass", "leaveClass", "leaveFromClass", "leaveActiveClass", "leaveToClass", "hideOnOutsideClick", "toggleClass", "hideOnEscape"] }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: DropdownMasterComponent, selector: "dropdown-master", inputs: ["formControlName", "masters"] }, { kind: "pipe", type: CpfCnpjPipe, name: "cpfCnpj" }] }); }
4675
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvLayoutComponent, selector: "kv-layout", inputs: { apps: "apps", breadCrumbItems: "breadCrumbItems", masters: "masters", menus: "menus", expandMenu: "expandMenu", logoMenuExpand: "logoMenuExpand", logoMenuHide: "logoMenuHide", selectedApp: "selectedApp", selectedEmpresa: "selectedEmpresa", selectedMaster: "selectedMaster", showButtonApps: "showButtonApps", showButtonUser: "showButtonUser", showExpandMenu: "showExpandMenu", showDropdownLicenca: "showDropdownLicenca", showMenu: "showMenu", showTrocaEmpresa: "showTrocaEmpresa", userName: "userName" }, outputs: { accessKeePassEmit: "accessKeePassEmit", changeEmpresaEmit: "changeEmpresaEmit", changeLicenseEmit: "changeLicenseEmit", expandMenuEmit: "expandMenuEmit", logoutEmit: "logoutEmit", selectAppEmit: "selectAppEmit", navigateToDefaultRouteEmit: "navigateToDefaultRouteEmit" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, viewQueries: [{ propertyName: "meusDadosPanel", first: true, predicate: ["meusDadosPanel"], descendants: true }, { propertyName: "sidebarRef", first: true, predicate: ["sidebarRef"], descendants: true }, { propertyName: "sistemasPanel", first: true, predicate: ["sistemasPanel"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"flex flex-row overflow-y-hidden w- full-container\">\n @if (showMenu) {\n <!-- <div [style]=\"{ minWidth: expandMenu ? '300px' : '60px' }\"></div> -->\n } @if(showMenu) {\n <p-sidebar\n #sidebarRef\n [visible]=\"true\"\n [showCloseIcon]=\"false\"\n [modal]=\"false\"\n [style]=\"{ width: expandMenu ? '300px' : '60px' }\"\n [@sidebarWidthTrigger]=\"getSidebarState()\"\n class=\"sidebar-animation\"\n >\n <ng-template pTemplate=\"headless\">\n <div class=\"flex flex-column mx-1\">\n <div\n class=\"flex flex-column gap-2 justify-content-between flex-shrink-0 mx-2\"\n >\n <div\n class=\"flex {{expandMenu ? 'flex-row' : 'flex-column'}} align-items-center {{\n expandMenu ? 'justify-content-between' : 'justify-content-center'\n }} py-3\"\n >\n <!-- Logo para o menu expandido -->\n <img\n *ngIf=\"expandMenu && logoMenuExpand\"\n alt=\"Card\"\n [src]=\"logoMenuExpand\"\n width=\"150\"\n class=\"cursor-pointer\"\n (click)=\"navigateToDefaultRoute()\"\n />\n\n <!-- Logo para o menu minimizado-->\n <img\n *ngIf=\"!expandMenu && logoMenuHide\"\n alt=\"Card\"\n [src]=\"logoMenuHide\"\n width=\"50\"\n class=\"mb-2\"\n (click)=\"navigateToDefaultRoute()\"\n />\n\n <!-- Toggle menu -->\n <button\n *ngIf=\"showExpandMenu\"\n pButton\n class=\"p-button-rounded p-button-text padding-style h-2rem w-2rem hover:bg-green-600 hover:text-white icon-menu\"\n (click)=\"toggleMenu()\"\n [pTooltip]=\"expandMenu ? 'Ocultar Menu' : 'Expandir Menu'\"\n [tooltipPosition]=\"'right'\"\n >\n <i class=\"material-symbols-outlined\"> menu </i>\n </button>\n </div>\n\n @if(showTrocaEmpresa){\n <div\n class=\"flex flex-row align-items-center {{\n expandMenu ? 'justify-content-between' : 'justify-content-center'\n }}\"\n >\n <div\n class=\"flex flex-column cursor-pointer\"\n *ngIf=\"expandMenu && selectedEmpresa\"\n (click)=\"changeEmpresa($event)\"\n >\n <span\n class=\"text-sm font-semibold mr-2\"\n [pTooltip]=\"this.selectedEmpresa.razaosocial\"\n [tooltipPosition]=\"'right'\"\n >\n {{ nameEmpresa(this.selectedEmpresa.razaosocial) }}\n </span>\n <span class=\"text-sm mt-1\">{{\n this.selectedEmpresa.cpfcnpj | cpfCnpj\n }}</span>\n </div>\n\n <button\n pButton\n class=\"p-button-rounded p-button-text padding-style h-2rem w-2rem hover:bg-green-600 hover:text-white icon-menu\"\n (click)=\"changeEmpresa($event)\"\n [pTooltip]=\"'Trocar de empresa'\"\n [tooltipPosition]=\"'right'\"\n >\n <i class=\"material-symbols-outlined\"> sync_alt </i>\n </button>\n </div>\n <p-divider type=\"solid\"></p-divider>\n }\n </div>\n\n <div\n class=\"list-none m-0 card-container {{ expandMenu ? 'mx-1' : '' }}\"\n [style.max-height]=\"heightCard - 220 + 'px'\"\n style=\"overflow-y: auto\"\n >\n <!-- menus -->\n <li *ngFor=\"let menu of menus; let i = index\">\n <!-- menu que n\u00E3o tem filho -->\n <a\n (mouseenter)=\"onMouseEnter(i)\"\n (mouseleave)=\"onMouseLeave()\"\n [ngClass]=\"{ 'hover-color': mouseOverIndex === i }\"\n (click)=\"callRoute(menu.link)\"\n *ngIf=\"\n !menu.indmenupai && (!menu.idmenupai || menu.idmenupai == 0)\n \"\n pRipple\n [pTooltip]=\"!expandMenu ? menu.descricaomenu : ''\"\n [tooltipPosition]=\"'right'\"\n class=\"{{\n verifySelectedPage(menu.link) ? 'bg-green-600' : ''\n }} menu-option flex align-items-center no-underline {{\n !expandMenu ? 'justify-content-center' : ''\n }} cursor-pointer border-round text-700 hover:bg-green-600 hover:text-white transition-duration-150 transition-colors p-ripple\"\n >\n <i\n class=\"material-symbols-outlined icon-menu {{\n expandMenu ? 'ml-1 mr-2' : ''\n }} icon-hover-color {{\n verifySelectedPage(menu.link) ? 'text-white' : ''\n }}\"\n *ngIf=\"menu.icone\"\n >\n {{ menu.icone }}\n </i>\n <span\n class=\"text-base text-blue-900 font-medium {{\n verifySelectedPage(menu.link) ? 'text-white' : ''\n }}\"\n *ngIf=\"expandMenu\"\n >{{ menu.descricaomenu }}</span\n >\n </a>\n <!-- menu com filho -->\n <div *ngIf=\"menu.indmenupai\">\n <a\n (mouseenter)=\"onMouseEnter(i)\"\n (mouseleave)=\"onMouseLeave()\"\n [ngClass]=\"{ 'hover-color': mouseOverIndex === i }\"\n pRipple\n pStyleClass=\"@next\"\n enterClass=\"hidden\"\n enterActiveClass=\"slidedown\"\n leaveToClass=\"hidden\"\n leaveActiveClass=\"slideup\"\n class=\"menu-option flex align-items-center {{\n !expandMenu\n ? 'justify-content-center'\n : 'justify-content-between'\n }} cursor-pointer border-round text-700 hover:bg-green-600 hover:text-white transition-duration-150 transition-colors p-ripple\"\n [tooltipPosition]=\"'right'\"\n [pTooltip]=\"!expandMenu ? menu.descricaomenu : ''\"\n (click)=\"!expandMenu ? (expandMenu = !expandMenu) : ''\"\n >\n <div class=\"flex flex-row align-items-center\">\n <i\n class=\"material-symbols-outlined icon-menu {{\n expandMenu ? 'ml-1 mr-2' : ''\n }} icon-hover-color\"\n *ngIf=\"menu.icone\"\n [ngClass]=\"{ 'hover-color': mouseOverIndex === i }\"\n >\n {{ menu.icone }}\n </i>\n <span\n class=\"text-base text-blue-900 font-medium\"\n *ngIf=\"expandMenu\"\n >{{ menu.descricaomenu }}</span\n >\n </div>\n <i\n class=\"pi pi-chevron-down text-blue-900 mr-1 icon-hover-color\"\n *ngIf=\"expandMenu\"\n [ngClass]=\"{ 'hover-color': mouseOverIndex === i }\"\n ></i>\n </a>\n\n <!-- filhos -->\n <div\n class=\"list-none py-0 pl-3 pr-0 m-0 hidden overflow-y-hidden transition-all transition-duration-400 transition-ease-in-out\"\n >\n <li\n *ngFor=\"\n let filho of returnMenuChild(menu.idmenu);\n let iFilho = index\n \"\n >\n <a\n (mouseenter)=\"onMouseEnterChild(filho.idmenu)\"\n (mouseleave)=\"onMouseLeave()\"\n [ngClass]=\"{\n 'hover-color': mouseOverFilhoIndex === filho.idmenu\n }\"\n *ngIf=\"expandMenu\"\n (click)=\"callRoute(filho.link)\"\n pRipple\n class=\"{{\n verifySelectedPage(filho.link) ? 'bg-green-600' : ''\n }} menu-option flex align-items-center no-underline cursor-pointer border-round text-700 hover:bg-green-600 transition-duration-150 transition-colors p-ripple p-2\"\n >\n <i\n class=\"material-symbols-outlined icon-menu {{\n expandMenu ? 'ml-1 mr-2' : ''\n }} icon-hover-color\"\n *ngIf=\"filho.icone\"\n [ngClass]=\"{ 'hover-color': mouseOverIndex === i }\"\n >\n {{ filho.icone }}\n </i>\n <span\n class=\"text-base text-blue-900 ml-4 {{\n verifySelectedPage(filho.link) ? 'text-white' : ''\n }}\"\n *ngIf=\"expandMenu\"\n >{{ filho.descricaomenu }}</span\n >\n </a>\n </li>\n </div>\n </div>\n </li>\n </div>\n </div>\n </ng-template>\n </p-sidebar>\n }\n\n <!-- Topbar -->\n <div\n class=\"w-auto h-screen page-content overflow-y-hidden\"\n id=\"page-content\"\n style=\"width: 100vw !important\"\n >\n <div class=\"flex flex-row align-items-center justify-content-between m-3\">\n\n @if(!showMenu) {\n <!-- Logo home -->\n <div>\n <img [src]=\"logoMenuExpand\" width=\"150\" />\n </div>\n } \n \n @else {\n <!-- Breadcrumbs -->\n <div>\n <p class=\"text-xl font-semibold text-blue-900 breadcrumb-title\">\n {{ breadCrumbItems[breadCrumbItems.length - 1]?.label }}\n </p>\n <p-breadcrumb\n *ngIf=\"widthCard > 400\"\n styleClass=\"border-none p-0 flex align-items-center h-2rem !important;\"\n [model]=\"breadCrumbItems\"\n [style]=\"{ backgroundColor: '#d4d3d3' }\"\n (onItemClick)=\"callRoute($event.item.routerLink, true)\"\n ></p-breadcrumb>\n </div>\n }\n\n <!-- dropdown para sele\u00E7\u00E3o de empresa/licenca -->\n <dropdown-master\n *ngIf=\"showLicencas()\"\n class=\"w-40rem\"\n formControlName=\"idmaster\"\n [formGroup]=\"formGroup\"\n [masters]=\"masters\"\n (onSelectionChange)=\"changeLicense($event)\"\n (onSelectionValue)=\"changeLicense($event)\"\n >\n </dropdown-master>\n\n <!-- Navega\u00E7\u00E3o de sistemas e usu\u00E1rios -->\n <div class=\"w-auto flex flex-row align-items-center gap-2\">\n <p-button\n *ngIf=\"showButtonApps\"\n styleClass=\"w-2rem h-2rem text-blue-900 hover:bg-green-600 hover:text-white\"\n icon=\"pi pi-th-large\"\n [rounded]=\"true\"\n [text]=\"true\"\n (click)=\"sistemasPanel.toggle($event)\"\n [pTooltip]=\"'Sistemas'\"\n [tooltipPosition]=\"'left'\"\n ></p-button>\n\n <p-button\n *ngIf=\"showButtonUser\"\n styleClass=\"w-2rem h-2rem text-blue-900 hover:bg-green-600 hover:text-white\"\n icon=\"pi pi-user\"\n [rounded]=\"true\"\n [text]=\"true\"\n [pTooltip]=\"'Menu do Usu\u00E1rio'\"\n [tooltipPosition]=\"'left'\"\n (click)=\"meusDadosPanel.toggle($event)\"\n ></p-button>\n </div>\n </div>\n\n <!-- Container -->\n <p-card\n styleClass=\"m-3 border-noround overflow-y-auto {{\n !showMenu && 'sm:overflow-y-hidden'\n }} card-container\"\n [style]=\"{ height: heightCard - adjustHeightCard() + 'px' }\"\n >\n <div\n class=\"{{ widthCard < 992 && 'card-container' }} w-full\"\n [style]=\"{ width: widthCard + 'px' }\"\n >\n <ng-content></ng-content>\n </div>\n </p-card>\n </div>\n\n <!-- Painel de aplicativos -->\n <p-overlayPanel\n #sistemasPanel\n [showTransitionOptions]=\"'350ms ease-out'\"\n [hideTransitionOptions]=\"'250ms ease-in'\"\n >\n <ng-template pTemplate=\"container\">\n <p class=\"title-style mt-3\">Sistemas</p>\n <div\n class=\"flex flex-row flex-wrap gap-2 align-items-center justify-content-center mt-5 mb-3\"\n style=\"width: 250px; height: 100%\"\n >\n <button\n *ngFor=\"let aplicativo of apps\"\n pButton\n pRipple\n class=\"btn-sistema-2 btn-sistema hover-btn-cor-padrao remove-focus h-4rem w-4rem\"\n [pTooltip]=\"aplicativo?.descricaoaplicativo\"\n [tooltipPosition]=\"'left'\"\n (click)=\"selectApp(aplicativo.idaplicativo)\"\n >\n {{ aplicativo.nomeaplicativo.charAt(0).toUpperCase() }}\n </button>\n </div>\n </ng-template>\n </p-overlayPanel>\n\n <!-- Painel do usu\u00E1rio -->\n <p-overlayPanel\n #meusDadosPanel\n [showTransitionOptions]=\"'350ms ease-out'\"\n [hideTransitionOptions]=\"'250ms ease-in'\"\n >\n <ng-template pTemplate=\"container\">\n <p class=\"title-style mt-3\">\n Ol\u00E1, {{ userName ? userName.split(\" \")[0] : \"Usu\u00E1rio\" }}!\n </p>\n <div class=\"mt-5 mb-3\"></div>\n\n <p-button\n icon=\"pi pi-lock\"\n label=\"Acessar Keepass\"\n (onClick)=\"accessKeePass($event)\"\n styleClass=\"border-noround w-full text-blue-900\"\n [text]=\"true\"\n >\n </p-button>\n\n <p-button\n icon=\"pi pi-sign-out\"\n label=\"Sair\"\n (onClick)=\"logout($event)\"\n styleClass=\"border-noround w-full text-blue-900\"\n [text]=\"true\"\n >\n </p-button>\n </ng-template>\n </p-overlayPanel>\n</div>\n", styles: [".material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:1em;display:inline-block;width:1em;height:1em;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:\"liga\"}::ng-deep .p-button:focus{box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}::ng-deep .p-overlaypanel .p-overlaypanel-content{padding:0}::ng-deep .hover-btn-cor-padrao.p-button:enabled:hover{background:#0c3e66;border-color:#002542}.p-button.p-button-icon-only.p-button-rounded{background:#0c3e66;border-color:#002542}::ng-deep .remove-focus:focus{border:none}::ng-deep .p-sidebar .p-sidebar-content{padding:0}::ng-deep .sidebar-header-sistema.p-sidebar .p-sidebar-header{padding-top:.5rem;padding-right:0;padding-bottom:0;padding-left:0;display:block}.btn-sistema{display:flex;align-items:center;justify-content:center;background-color:#0c3e66;font-size:20px}::ng-deep .p-sidebar .p-sidebar-header{padding:0rem!important}::ng-deep body{margin:0!important}::ng-deep .p-breadcrumb ul li.p-breadcrumb-chevron{position:relative;top:3px;color:#0c3e66!important}.page-content{background:linear-gradient(to bottom,#d4d3d3 16%,#fff 19%)}*{margin:0}p .item-menu{color:#0c3e66;font-family:Inter var,Roboto,Arial,Helvetica,sans-serif!important}span{font-size:.9rem!important}.breadcrumb-title{font-size:1rem!important;font-family:Inter var,Roboto,Arial,Helvetica,sans-serif!important}::ng-deep .home-style{background-color:#f5f5f5;overflow:hidden}::ng-deep .page-style{overflow:auto!important}::ng-deep .card-container{overflow-x:hidden}::ng-deep .card-container::-webkit-scrollbar{width:6px}::ng-deep .card-container::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .card-container::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .card-container:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .card-container::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}.title-style{position:relative;top:10px;margin-left:20px;font-size:25px;color:#002542;border-bottom:2px solid green;font-weight:600;display:inline}::ng-deep p-sidebar .p-sidebar-content{overflow-y:hidden}::ng-deep p-dialog .p-dialog-content{overflow-y:unset}.icon-menu{color:#002542;display:flex;justify-content:center;align-items:center}::ng-deep .padding-style{padding:15px!important}::ng-deep .menu-option{padding:15px 5px!important}::ng-deep .p-breadcrumb .p-breadcrumb-list .p-menuitem-text{color:#183462!important;opacity:.95;font-weight:500;font-size:.8rem!important}::ng-deep .p-breadcrumb .p-breadcrumb-list .p-menuitem-text:hover{opacity:.7}.pl-3{padding-left:0rem!important}::ng-deep svg.p-icon{width:.7rem;height:1rem}.hover-color .text-base,.hover-color .icon-hover-color{color:#fff!important}::ng-deep .p-card .p-card-body{padding:0rem!important}::ng-deep .p-card .p-card-content{padding:0rem!important}::ng-deep .p-sidebar-left{z-index:auto!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i5$7.Breadcrumb, selector: "p-breadcrumb", inputs: ["model", "style", "styleClass", "home", "homeAriaLabel"], outputs: ["onItemClick"] }, { kind: "directive", type: i6.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i1$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "component", type: i1$1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: i8.Card, selector: "p-card", inputs: ["header", "subheader", "style", "styleClass"] }, { kind: "component", type: i10.Divider, selector: "p-divider", inputs: ["style", "styleClass", "layout", "type", "align"] }, { kind: "component", type: i10$1.OverlayPanel, selector: "p-overlayPanel", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "directive", type: i2.Ripple, selector: "[pRipple]" }, { kind: "component", type: i12.Sidebar, selector: "p-sidebar", inputs: ["appendTo", "blockScroll", "style", "styleClass", "ariaCloseLabel", "autoZIndex", "baseZIndex", "modal", "dismissible", "showCloseIcon", "closeOnEscape", "transitionOptions", "visible", "position", "fullScreen"], outputs: ["onShow", "onHide", "visibleChange"] }, { kind: "directive", type: i13$1.StyleClass, selector: "[pStyleClass]", inputs: ["pStyleClass", "enterClass", "enterFromClass", "enterActiveClass", "enterToClass", "leaveClass", "leaveFromClass", "leaveActiveClass", "leaveToClass", "hideOnOutsideClick", "toggleClass", "hideOnEscape"] }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: DropdownMasterComponent, selector: "dropdown-master", inputs: ["formControlName", "masters"] }, { kind: "pipe", type: CpfCnpjPipe, name: "cpfCnpj" }], animations: [
4676
+ trigger('sidebarWidthTrigger', [
4677
+ state('collapsed', style({
4678
+ width: '60px'
4679
+ })),
4680
+ state('expanded', style({
4681
+ width: '359px'
4682
+ })),
4683
+ transition('collapsed <=> expanded', animate('300ms ease-out'))
4684
+ ])
4685
+ ] }); }
4669
4686
  }
4670
4687
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvLayoutComponent, decorators: [{
4671
4688
  type: Component,
4672
- args: [{ selector: 'kv-layout', template: "<div class=\"flex flex-row overflow-y-hidden w- full-container\">\n\n @if (showMenu) {\n <div [style]=\"{ minWidth: expandMenu ? '300px' : '60px' }\"></div>\n }\n\n @if(showMenu) {\n <p-sidebar\n #sidebarRef\n [visible]=\"true\"\n [showCloseIcon]=\"false\"\n [modal]=\"false\"\n [style]=\"{ width: expandMenu ? '300px' : '60px' }\">\n <ng-template pTemplate=\"headless\">\n <div class=\"flex flex-column mx-1\">\n <div\n class=\"flex flex-column gap-2 justify-content-between flex-shrink-0 mx-2\">\n <div\n class=\"flex flex-row align-items-center {{\n expandMenu ? 'justify-content-between' : 'justify-content-center'\n }} py-3\">\n <!-- Logo para o menu expandido -->\n <img\n *ngIf=\"expandMenu && logoMenuExpand\"\n alt=\"Card\"\n [src]=\"logoMenuExpand\"\n width=\"150\"\n class=\"cursor-pointer\"\n (click)=\"router.navigate(['/keevocenter/home'])\" />\n\n <!-- Logo para o menu minimizado-->\n <img\n *ngIf=\"!expandMenu && logoMenuHide\"\n alt=\"Card\"\n [src]=\"logoMenuExpand\"\n width=\"150\" />\n\n <!-- Toggle menu -->\n <button\n *ngIf=\"showExpandMenu\"\n pButton\n class=\"p-button-rounded p-button-text padding-style h-2rem w-2rem hover:bg-green-600 hover:text-white icon-menu\"\n (click)=\"toggleMenu()\"\n [pTooltip]=\"expandMenu ? 'Ocultar Menu' : 'Expandir Menu'\"\n [tooltipPosition]=\"'right'\">\n <i class=\"material-symbols-outlined\"> menu </i>\n </button>\n </div>\n\n @if(showTrocaEmpresa){\n <div\n class=\"flex flex-row align-items-center {{expandMenu ? 'justify-content-between' : 'justify-content-center'}}\">\n <div\n class=\"flex flex-column cursor-pointer\"\n *ngIf=\"expandMenu && selectedEmpresa\"\n (click)=\"changeEmpresa($event)\">\n <span\n class=\"text-sm font-semibold mr-2\"\n [pTooltip]=\"this.selectedEmpresa.razaosocial\"\n [tooltipPosition]=\"'right'\">\n {{nameEmpresa(this.selectedEmpresa.razaosocial)}}\n </span>\n <span class=\"text-sm mt-1\">{{this.selectedEmpresa.cpfcnpj |\n cpfCnpj }}</span>\n </div>\n\n <button\n pButton\n class=\"p-button-rounded p-button-text padding-style h-2rem w-2rem hover:bg-green-600 hover:text-white icon-menu\"\n (click)=\"changeEmpresa($event)\"\n [pTooltip]=\"'Trocar de empresa'\"\n [tooltipPosition]=\"'right'\">\n <i class=\"material-symbols-outlined\">\n sync_alt\n </i>\n </button>\n\n </div>\n <p-divider type=\"solid\"></p-divider>\n }\n\n </div>\n\n <div\n class=\"list-none m-0 card-container {{ expandMenu ? 'mx-1' : '' }}\"\n [style.max-height]=\"heightCard - 220 + 'px'\"\n style=\"overflow-y: auto\">\n <!-- menus -->\n <li *ngFor=\"let menu of menus; let i = index\">\n <!-- menu que n\u00E3o tem filho -->\n <a\n (mouseenter)=\"onMouseEnter(i)\"\n (mouseleave)=\"onMouseLeave()\"\n [ngClass]=\"{ 'hover-color': mouseOverIndex === i }\"\n (click)=\"callRoute(menu.link)\"\n *ngIf=\"\n !menu.indmenupai && (!menu.idmenupai || menu.idmenupai == 0)\n \"\n pRipple\n [pTooltip]=\"!expandMenu ? menu.descricaomenu : ''\"\n [tooltipPosition]=\"'right'\"\n class=\"{{\n verifySelectedPage(menu.link) ? 'bg-green-600' : ''\n }} menu-option flex align-items-center no-underline {{\n !expandMenu ? 'justify-content-center' : ''\n }} cursor-pointer border-round text-700 hover:bg-green-600 hover:text-white transition-duration-150 transition-colors p-ripple\">\n <i\n class=\"material-symbols-outlined icon-menu {{\n expandMenu ? 'ml-1 mr-2' : ''\n }} icon-hover-color {{\n verifySelectedPage(menu.link) ? 'text-white' : ''\n }}\"\n *ngIf=\"menu.icone\">\n {{ menu.icone }}\n </i>\n <span\n class=\"text-base text-blue-900 font-medium {{\n verifySelectedPage(menu.link) ? 'text-white' : ''\n }}\"\n *ngIf=\"expandMenu\">{{ menu.descricaomenu }}</span>\n </a>\n <!-- menu com filho -->\n <div *ngIf=\"menu.indmenupai\">\n <a\n (mouseenter)=\"onMouseEnter(i)\"\n (mouseleave)=\"onMouseLeave()\"\n [ngClass]=\"{ 'hover-color': mouseOverIndex === i }\"\n pRipple\n pStyleClass=\"@next\"\n enterClass=\"hidden\"\n enterActiveClass=\"slidedown\"\n leaveToClass=\"hidden\"\n leaveActiveClass=\"slideup\"\n class=\"menu-option flex align-items-center {{\n !expandMenu\n ? 'justify-content-center'\n : 'justify-content-between'\n }} cursor-pointer border-round text-700 hover:bg-green-600 hover:text-white transition-duration-150 transition-colors p-ripple\"\n [tooltipPosition]=\"'right'\"\n [pTooltip]=\"!expandMenu ? menu.descricaomenu : ''\"\n (click)=\"!expandMenu ? (expandMenu = !expandMenu) : ''\">\n <div class=\"flex flex-row align-items-center\">\n <i\n class=\"material-symbols-outlined icon-menu {{\n expandMenu ? 'ml-1 mr-2' : ''\n }} icon-hover-color\"\n *ngIf=\"menu.icone\"\n [ngClass]=\"{ 'hover-color': mouseOverIndex === i }\">\n {{ menu.icone }}\n </i>\n <span\n class=\"text-base text-blue-900 font-medium\"\n *ngIf=\"expandMenu\">{{ menu.descricaomenu }}</span>\n </div>\n <i\n class=\"pi pi-chevron-down text-blue-900 mr-1 icon-hover-color\"\n *ngIf=\"expandMenu\"\n [ngClass]=\"{ 'hover-color': mouseOverIndex === i }\"></i>\n </a>\n\n <!-- filhos -->\n <div\n class=\"list-none py-0 pl-3 pr-0 m-0 hidden overflow-y-hidden transition-all transition-duration-400 transition-ease-in-out\">\n <li\n *ngFor=\"\n let filho of returnMenuChild(menu.idmenu);\n let iFilho = index\n \">\n <a\n (mouseenter)=\"onMouseEnterChild(filho.idmenu)\"\n (mouseleave)=\"onMouseLeave()\"\n [ngClass]=\"{\n 'hover-color': mouseOverFilhoIndex === filho.idmenu\n }\"\n *ngIf=\"expandMenu\"\n (click)=\"callRoute(filho.link)\"\n pRipple\n class=\"{{\n verifySelectedPage(filho.link) ? 'bg-green-600' : ''\n }} menu-option flex align-items-center no-underline cursor-pointer border-round text-700 hover:bg-green-600 transition-duration-150 transition-colors p-ripple p-2\">\n <i\n class=\"material-symbols-outlined icon-menu {{\n expandMenu ? 'ml-1 mr-2' : ''\n }} icon-hover-color\"\n *ngIf=\"filho.icone\"\n [ngClass]=\"{ 'hover-color': mouseOverIndex === i }\">\n {{ filho.icone }}\n </i>\n <span\n class=\"text-base text-blue-900 ml-4 {{\n verifySelectedPage(filho.link) ? 'text-white' : ''\n }}\"\n *ngIf=\"expandMenu\">{{ filho.descricaomenu }}</span>\n </a>\n </li>\n </div>\n </div>\n </li>\n </div>\n </div>\n </ng-template>\n </p-sidebar>\n }\n\n <!-- Topbar -->\n <div class=\"w-auto h-screen page-content overflow-y-hidden\" id=\"page-content\"\n style=\"width: 100vw !important;\">\n <div class=\"flex flex-row align-items-center justify-content-between m-3\">\n <!-- Breadcrumbs -->\n <div>\n <p class=\"text-xl font-semibold text-blue-900 breadcrumb-title\">\n {{ breadCrumbItems[breadCrumbItems.length - 1]?.label }}\n </p>\n <p-breadcrumb\n *ngIf=\"widthCard > 400\"\n styleClass=\"border-none p-0 flex align-items-center h-2rem !important;\"\n [model]=\"breadCrumbItems\"\n [style]=\"{ backgroundColor: '#d4d3d3' }\"\n (onItemClick)=\"callRoute($event.item.routerLink, true)\"></p-breadcrumb>\n </div>\n\n <!-- dropdown para sele\u00E7\u00E3o de empresa/licenca -->\n <dropdown-master\n *ngIf=\"showLicencas()\"\n class=\"w-40rem\"\n formControlName=\"idmaster\"\n [formGroup]=\"formGroup\"\n [masters]=\"masters\"\n (onSelectionChange)=\"changeLicense($event)\"\n (onSelectionValue)=\"changeLicense($event)\">\n </dropdown-master>\n\n <!-- Navega\u00E7\u00E3o de sistemas e usu\u00E1rios -->\n <div class=\"w-auto flex flex-row align-items-center gap-2\">\n <p-button\n *ngIf=\"showButtonApps\"\n styleClass=\"w-2rem h-2rem text-blue-900 hover:bg-green-600 hover:text-white\"\n icon=\"pi pi-th-large\"\n [rounded]=\"true\"\n [text]=\"true\"\n (click)=\"sistemasPanel.toggle($event)\"\n [pTooltip]=\"'Sistemas'\"\n [tooltipPosition]=\"'left'\"></p-button>\n\n <p-button\n *ngIf=\"showButtonUser\"\n styleClass=\"w-2rem h-2rem text-blue-900 hover:bg-green-600 hover:text-white\"\n icon=\"pi pi-user\"\n [rounded]=\"true\"\n [text]=\"true\"\n [pTooltip]=\"'Menu do Usu\u00E1rio'\"\n [tooltipPosition]=\"'left'\"\n (click)=\"meusDadosPanel.toggle($event)\"></p-button>\n </div>\n </div>\n\n <!-- Container -->\n <p-card\n styleClass=\"m-3 border-noround overflow-y-auto {{\n !showMenu && 'sm:overflow-y-hidden'\n }} card-container\"\n [style]=\"{ height: heightCard - adjustHeightCard() + 'px' }\">\n <div class=\"{{widthCard < 992 && 'card-container'}} w-full\" [style]=\"{ width: widthCard + 'px' }\">\n <ng-content></ng-content>\n </div>\n </p-card>\n </div>\n\n <!-- Painel de aplicativos -->\n <p-overlayPanel\n #sistemasPanel\n [showTransitionOptions]=\"'350ms ease-out'\"\n [hideTransitionOptions]=\"'250ms ease-in'\">\n <ng-template pTemplate=\"container\">\n <p class=\"title-style mt-3\">Sistemas</p>\n <div\n class=\"flex flex-row flex-wrap gap-2 align-items-center justify-content-center mt-5 mb-3\"\n style=\"width: 250px; height: 100%\">\n <button\n *ngFor=\"let aplicativo of apps\"\n pButton\n pRipple\n class=\"btn-sistema-2 btn-sistema hover-btn-cor-padrao remove-focus h-4rem w-4rem\"\n [pTooltip]=\"aplicativo?.descricaoaplicativo\"\n [tooltipPosition]=\"'left'\"\n (click)=\"selectApp(aplicativo.idaplicativo)\">\n {{ aplicativo.nomeaplicativo.charAt(0).toUpperCase() }}\n </button>\n </div>\n </ng-template>\n </p-overlayPanel>\n\n <!-- Painel do usu\u00E1rio -->\n <p-overlayPanel\n #meusDadosPanel\n [showTransitionOptions]=\"'350ms ease-out'\"\n [hideTransitionOptions]=\"'250ms ease-in'\">\n <ng-template pTemplate=\"container\">\n <p class=\"title-style mt-3\">\n Ol\u00E1, {{ userName ? userName.split(\" \")[0] : \"Usu\u00E1rio\" }}!\n </p>\n <div class=\"mt-5 mb-3\"></div>\n\n <p-button\n icon=\"pi pi-lock\"\n label=\"Acessar Keepass\"\n (onClick)=\"accessKeePass($event)\"\n styleClass=\"border-noround w-full text-blue-900\"\n [text]=\"true\">\n </p-button>\n\n <p-button\n icon=\"pi pi-sign-out\"\n label=\"Sair\"\n (onClick)=\"logout($event)\"\n styleClass=\"border-noround w-full text-blue-900\"\n [text]=\"true\">\n </p-button>\n </ng-template>\n </p-overlayPanel>\n</div>\n", styles: [".material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:1em;display:inline-block;width:1em;height:1em;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:\"liga\"}::ng-deep .p-button:focus{box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}::ng-deep .p-overlaypanel .p-overlaypanel-content{padding:0}::ng-deep .hover-btn-cor-padrao.p-button:enabled:hover{background:#0c3e66;border-color:#002542}.p-button.p-button-icon-only.p-button-rounded{background:#0c3e66;border-color:#002542}::ng-deep .remove-focus:focus{border:none}::ng-deep .p-sidebar .p-sidebar-content{padding:0}::ng-deep .sidebar-header-sistema.p-sidebar .p-sidebar-header{padding-top:.5rem;padding-right:0;padding-bottom:0;padding-left:0;display:block}.btn-sistema{display:flex;align-items:center;justify-content:center;background-color:#0c3e66;font-size:20px}::ng-deep .p-sidebar .p-sidebar-header{padding:0rem!important}::ng-deep body{margin:0!important}::ng-deep .p-breadcrumb ul li.p-breadcrumb-chevron{position:relative;top:3px;color:#0c3e66!important}.page-content{background:linear-gradient(to bottom,#d4d3d3 16%,#fff 19%)}*{margin:0}p .item-menu{color:#0c3e66;font-family:Inter var,Roboto,Arial,Helvetica,sans-serif!important}span{font-size:.9rem!important}.breadcrumb-title{font-size:1rem!important;font-family:Inter var,Roboto,Arial,Helvetica,sans-serif!important}::ng-deep .home-style{background-color:#f5f5f5;overflow:hidden}::ng-deep .page-style{overflow:auto!important}::ng-deep .card-container{overflow-x:hidden}::ng-deep .card-container::-webkit-scrollbar{width:6px}::ng-deep .card-container::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .card-container::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .card-container:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .card-container::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}.title-style{position:relative;top:10px;margin-left:20px;font-size:25px;color:#002542;border-bottom:2px solid green;font-weight:600;display:inline}::ng-deep p-sidebar .p-sidebar-content{overflow-y:hidden}::ng-deep p-dialog .p-dialog-content{overflow-y:unset}.icon-menu{color:#002542;display:flex;justify-content:center;align-items:center}::ng-deep .padding-style{padding:15px!important}::ng-deep .menu-option{padding:15px 5px!important}::ng-deep .p-breadcrumb .p-breadcrumb-list .p-menuitem-text{color:#183462!important;opacity:.95;font-weight:500;font-size:.8rem!important}::ng-deep .p-breadcrumb .p-breadcrumb-list .p-menuitem-text:hover{opacity:.7}.pl-3{padding-left:0rem!important}::ng-deep svg.p-icon{width:.7rem;height:1rem}.hover-color .text-base,.hover-color .icon-hover-color{color:#fff!important}::ng-deep .p-card .p-card-body{padding:0rem!important}::ng-deep .p-card .p-card-content{padding:0rem!important}::ng-deep .p-sidebar-left{z-index:auto!important}\n"] }]
4689
+ args: [{ selector: 'kv-layout', animations: [
4690
+ trigger('sidebarWidthTrigger', [
4691
+ state('collapsed', style({
4692
+ width: '60px'
4693
+ })),
4694
+ state('expanded', style({
4695
+ width: '359px'
4696
+ })),
4697
+ transition('collapsed <=> expanded', animate('300ms ease-out'))
4698
+ ])
4699
+ ], template: "<div class=\"flex flex-row overflow-y-hidden w- full-container\">\n @if (showMenu) {\n <!-- <div [style]=\"{ minWidth: expandMenu ? '300px' : '60px' }\"></div> -->\n } @if(showMenu) {\n <p-sidebar\n #sidebarRef\n [visible]=\"true\"\n [showCloseIcon]=\"false\"\n [modal]=\"false\"\n [style]=\"{ width: expandMenu ? '300px' : '60px' }\"\n [@sidebarWidthTrigger]=\"getSidebarState()\"\n class=\"sidebar-animation\"\n >\n <ng-template pTemplate=\"headless\">\n <div class=\"flex flex-column mx-1\">\n <div\n class=\"flex flex-column gap-2 justify-content-between flex-shrink-0 mx-2\"\n >\n <div\n class=\"flex {{expandMenu ? 'flex-row' : 'flex-column'}} align-items-center {{\n expandMenu ? 'justify-content-between' : 'justify-content-center'\n }} py-3\"\n >\n <!-- Logo para o menu expandido -->\n <img\n *ngIf=\"expandMenu && logoMenuExpand\"\n alt=\"Card\"\n [src]=\"logoMenuExpand\"\n width=\"150\"\n class=\"cursor-pointer\"\n (click)=\"navigateToDefaultRoute()\"\n />\n\n <!-- Logo para o menu minimizado-->\n <img\n *ngIf=\"!expandMenu && logoMenuHide\"\n alt=\"Card\"\n [src]=\"logoMenuHide\"\n width=\"50\"\n class=\"mb-2\"\n (click)=\"navigateToDefaultRoute()\"\n />\n\n <!-- Toggle menu -->\n <button\n *ngIf=\"showExpandMenu\"\n pButton\n class=\"p-button-rounded p-button-text padding-style h-2rem w-2rem hover:bg-green-600 hover:text-white icon-menu\"\n (click)=\"toggleMenu()\"\n [pTooltip]=\"expandMenu ? 'Ocultar Menu' : 'Expandir Menu'\"\n [tooltipPosition]=\"'right'\"\n >\n <i class=\"material-symbols-outlined\"> menu </i>\n </button>\n </div>\n\n @if(showTrocaEmpresa){\n <div\n class=\"flex flex-row align-items-center {{\n expandMenu ? 'justify-content-between' : 'justify-content-center'\n }}\"\n >\n <div\n class=\"flex flex-column cursor-pointer\"\n *ngIf=\"expandMenu && selectedEmpresa\"\n (click)=\"changeEmpresa($event)\"\n >\n <span\n class=\"text-sm font-semibold mr-2\"\n [pTooltip]=\"this.selectedEmpresa.razaosocial\"\n [tooltipPosition]=\"'right'\"\n >\n {{ nameEmpresa(this.selectedEmpresa.razaosocial) }}\n </span>\n <span class=\"text-sm mt-1\">{{\n this.selectedEmpresa.cpfcnpj | cpfCnpj\n }}</span>\n </div>\n\n <button\n pButton\n class=\"p-button-rounded p-button-text padding-style h-2rem w-2rem hover:bg-green-600 hover:text-white icon-menu\"\n (click)=\"changeEmpresa($event)\"\n [pTooltip]=\"'Trocar de empresa'\"\n [tooltipPosition]=\"'right'\"\n >\n <i class=\"material-symbols-outlined\"> sync_alt </i>\n </button>\n </div>\n <p-divider type=\"solid\"></p-divider>\n }\n </div>\n\n <div\n class=\"list-none m-0 card-container {{ expandMenu ? 'mx-1' : '' }}\"\n [style.max-height]=\"heightCard - 220 + 'px'\"\n style=\"overflow-y: auto\"\n >\n <!-- menus -->\n <li *ngFor=\"let menu of menus; let i = index\">\n <!-- menu que n\u00E3o tem filho -->\n <a\n (mouseenter)=\"onMouseEnter(i)\"\n (mouseleave)=\"onMouseLeave()\"\n [ngClass]=\"{ 'hover-color': mouseOverIndex === i }\"\n (click)=\"callRoute(menu.link)\"\n *ngIf=\"\n !menu.indmenupai && (!menu.idmenupai || menu.idmenupai == 0)\n \"\n pRipple\n [pTooltip]=\"!expandMenu ? menu.descricaomenu : ''\"\n [tooltipPosition]=\"'right'\"\n class=\"{{\n verifySelectedPage(menu.link) ? 'bg-green-600' : ''\n }} menu-option flex align-items-center no-underline {{\n !expandMenu ? 'justify-content-center' : ''\n }} cursor-pointer border-round text-700 hover:bg-green-600 hover:text-white transition-duration-150 transition-colors p-ripple\"\n >\n <i\n class=\"material-symbols-outlined icon-menu {{\n expandMenu ? 'ml-1 mr-2' : ''\n }} icon-hover-color {{\n verifySelectedPage(menu.link) ? 'text-white' : ''\n }}\"\n *ngIf=\"menu.icone\"\n >\n {{ menu.icone }}\n </i>\n <span\n class=\"text-base text-blue-900 font-medium {{\n verifySelectedPage(menu.link) ? 'text-white' : ''\n }}\"\n *ngIf=\"expandMenu\"\n >{{ menu.descricaomenu }}</span\n >\n </a>\n <!-- menu com filho -->\n <div *ngIf=\"menu.indmenupai\">\n <a\n (mouseenter)=\"onMouseEnter(i)\"\n (mouseleave)=\"onMouseLeave()\"\n [ngClass]=\"{ 'hover-color': mouseOverIndex === i }\"\n pRipple\n pStyleClass=\"@next\"\n enterClass=\"hidden\"\n enterActiveClass=\"slidedown\"\n leaveToClass=\"hidden\"\n leaveActiveClass=\"slideup\"\n class=\"menu-option flex align-items-center {{\n !expandMenu\n ? 'justify-content-center'\n : 'justify-content-between'\n }} cursor-pointer border-round text-700 hover:bg-green-600 hover:text-white transition-duration-150 transition-colors p-ripple\"\n [tooltipPosition]=\"'right'\"\n [pTooltip]=\"!expandMenu ? menu.descricaomenu : ''\"\n (click)=\"!expandMenu ? (expandMenu = !expandMenu) : ''\"\n >\n <div class=\"flex flex-row align-items-center\">\n <i\n class=\"material-symbols-outlined icon-menu {{\n expandMenu ? 'ml-1 mr-2' : ''\n }} icon-hover-color\"\n *ngIf=\"menu.icone\"\n [ngClass]=\"{ 'hover-color': mouseOverIndex === i }\"\n >\n {{ menu.icone }}\n </i>\n <span\n class=\"text-base text-blue-900 font-medium\"\n *ngIf=\"expandMenu\"\n >{{ menu.descricaomenu }}</span\n >\n </div>\n <i\n class=\"pi pi-chevron-down text-blue-900 mr-1 icon-hover-color\"\n *ngIf=\"expandMenu\"\n [ngClass]=\"{ 'hover-color': mouseOverIndex === i }\"\n ></i>\n </a>\n\n <!-- filhos -->\n <div\n class=\"list-none py-0 pl-3 pr-0 m-0 hidden overflow-y-hidden transition-all transition-duration-400 transition-ease-in-out\"\n >\n <li\n *ngFor=\"\n let filho of returnMenuChild(menu.idmenu);\n let iFilho = index\n \"\n >\n <a\n (mouseenter)=\"onMouseEnterChild(filho.idmenu)\"\n (mouseleave)=\"onMouseLeave()\"\n [ngClass]=\"{\n 'hover-color': mouseOverFilhoIndex === filho.idmenu\n }\"\n *ngIf=\"expandMenu\"\n (click)=\"callRoute(filho.link)\"\n pRipple\n class=\"{{\n verifySelectedPage(filho.link) ? 'bg-green-600' : ''\n }} menu-option flex align-items-center no-underline cursor-pointer border-round text-700 hover:bg-green-600 transition-duration-150 transition-colors p-ripple p-2\"\n >\n <i\n class=\"material-symbols-outlined icon-menu {{\n expandMenu ? 'ml-1 mr-2' : ''\n }} icon-hover-color\"\n *ngIf=\"filho.icone\"\n [ngClass]=\"{ 'hover-color': mouseOverIndex === i }\"\n >\n {{ filho.icone }}\n </i>\n <span\n class=\"text-base text-blue-900 ml-4 {{\n verifySelectedPage(filho.link) ? 'text-white' : ''\n }}\"\n *ngIf=\"expandMenu\"\n >{{ filho.descricaomenu }}</span\n >\n </a>\n </li>\n </div>\n </div>\n </li>\n </div>\n </div>\n </ng-template>\n </p-sidebar>\n }\n\n <!-- Topbar -->\n <div\n class=\"w-auto h-screen page-content overflow-y-hidden\"\n id=\"page-content\"\n style=\"width: 100vw !important\"\n >\n <div class=\"flex flex-row align-items-center justify-content-between m-3\">\n\n @if(!showMenu) {\n <!-- Logo home -->\n <div>\n <img [src]=\"logoMenuExpand\" width=\"150\" />\n </div>\n } \n \n @else {\n <!-- Breadcrumbs -->\n <div>\n <p class=\"text-xl font-semibold text-blue-900 breadcrumb-title\">\n {{ breadCrumbItems[breadCrumbItems.length - 1]?.label }}\n </p>\n <p-breadcrumb\n *ngIf=\"widthCard > 400\"\n styleClass=\"border-none p-0 flex align-items-center h-2rem !important;\"\n [model]=\"breadCrumbItems\"\n [style]=\"{ backgroundColor: '#d4d3d3' }\"\n (onItemClick)=\"callRoute($event.item.routerLink, true)\"\n ></p-breadcrumb>\n </div>\n }\n\n <!-- dropdown para sele\u00E7\u00E3o de empresa/licenca -->\n <dropdown-master\n *ngIf=\"showLicencas()\"\n class=\"w-40rem\"\n formControlName=\"idmaster\"\n [formGroup]=\"formGroup\"\n [masters]=\"masters\"\n (onSelectionChange)=\"changeLicense($event)\"\n (onSelectionValue)=\"changeLicense($event)\"\n >\n </dropdown-master>\n\n <!-- Navega\u00E7\u00E3o de sistemas e usu\u00E1rios -->\n <div class=\"w-auto flex flex-row align-items-center gap-2\">\n <p-button\n *ngIf=\"showButtonApps\"\n styleClass=\"w-2rem h-2rem text-blue-900 hover:bg-green-600 hover:text-white\"\n icon=\"pi pi-th-large\"\n [rounded]=\"true\"\n [text]=\"true\"\n (click)=\"sistemasPanel.toggle($event)\"\n [pTooltip]=\"'Sistemas'\"\n [tooltipPosition]=\"'left'\"\n ></p-button>\n\n <p-button\n *ngIf=\"showButtonUser\"\n styleClass=\"w-2rem h-2rem text-blue-900 hover:bg-green-600 hover:text-white\"\n icon=\"pi pi-user\"\n [rounded]=\"true\"\n [text]=\"true\"\n [pTooltip]=\"'Menu do Usu\u00E1rio'\"\n [tooltipPosition]=\"'left'\"\n (click)=\"meusDadosPanel.toggle($event)\"\n ></p-button>\n </div>\n </div>\n\n <!-- Container -->\n <p-card\n styleClass=\"m-3 border-noround overflow-y-auto {{\n !showMenu && 'sm:overflow-y-hidden'\n }} card-container\"\n [style]=\"{ height: heightCard - adjustHeightCard() + 'px' }\"\n >\n <div\n class=\"{{ widthCard < 992 && 'card-container' }} w-full\"\n [style]=\"{ width: widthCard + 'px' }\"\n >\n <ng-content></ng-content>\n </div>\n </p-card>\n </div>\n\n <!-- Painel de aplicativos -->\n <p-overlayPanel\n #sistemasPanel\n [showTransitionOptions]=\"'350ms ease-out'\"\n [hideTransitionOptions]=\"'250ms ease-in'\"\n >\n <ng-template pTemplate=\"container\">\n <p class=\"title-style mt-3\">Sistemas</p>\n <div\n class=\"flex flex-row flex-wrap gap-2 align-items-center justify-content-center mt-5 mb-3\"\n style=\"width: 250px; height: 100%\"\n >\n <button\n *ngFor=\"let aplicativo of apps\"\n pButton\n pRipple\n class=\"btn-sistema-2 btn-sistema hover-btn-cor-padrao remove-focus h-4rem w-4rem\"\n [pTooltip]=\"aplicativo?.descricaoaplicativo\"\n [tooltipPosition]=\"'left'\"\n (click)=\"selectApp(aplicativo.idaplicativo)\"\n >\n {{ aplicativo.nomeaplicativo.charAt(0).toUpperCase() }}\n </button>\n </div>\n </ng-template>\n </p-overlayPanel>\n\n <!-- Painel do usu\u00E1rio -->\n <p-overlayPanel\n #meusDadosPanel\n [showTransitionOptions]=\"'350ms ease-out'\"\n [hideTransitionOptions]=\"'250ms ease-in'\"\n >\n <ng-template pTemplate=\"container\">\n <p class=\"title-style mt-3\">\n Ol\u00E1, {{ userName ? userName.split(\" \")[0] : \"Usu\u00E1rio\" }}!\n </p>\n <div class=\"mt-5 mb-3\"></div>\n\n <p-button\n icon=\"pi pi-lock\"\n label=\"Acessar Keepass\"\n (onClick)=\"accessKeePass($event)\"\n styleClass=\"border-noround w-full text-blue-900\"\n [text]=\"true\"\n >\n </p-button>\n\n <p-button\n icon=\"pi pi-sign-out\"\n label=\"Sair\"\n (onClick)=\"logout($event)\"\n styleClass=\"border-noround w-full text-blue-900\"\n [text]=\"true\"\n >\n </p-button>\n </ng-template>\n </p-overlayPanel>\n</div>\n", styles: [".material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:1em;display:inline-block;width:1em;height:1em;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:\"liga\"}::ng-deep .p-button:focus{box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}::ng-deep .p-overlaypanel .p-overlaypanel-content{padding:0}::ng-deep .hover-btn-cor-padrao.p-button:enabled:hover{background:#0c3e66;border-color:#002542}.p-button.p-button-icon-only.p-button-rounded{background:#0c3e66;border-color:#002542}::ng-deep .remove-focus:focus{border:none}::ng-deep .p-sidebar .p-sidebar-content{padding:0}::ng-deep .sidebar-header-sistema.p-sidebar .p-sidebar-header{padding-top:.5rem;padding-right:0;padding-bottom:0;padding-left:0;display:block}.btn-sistema{display:flex;align-items:center;justify-content:center;background-color:#0c3e66;font-size:20px}::ng-deep .p-sidebar .p-sidebar-header{padding:0rem!important}::ng-deep body{margin:0!important}::ng-deep .p-breadcrumb ul li.p-breadcrumb-chevron{position:relative;top:3px;color:#0c3e66!important}.page-content{background:linear-gradient(to bottom,#d4d3d3 16%,#fff 19%)}*{margin:0}p .item-menu{color:#0c3e66;font-family:Inter var,Roboto,Arial,Helvetica,sans-serif!important}span{font-size:.9rem!important}.breadcrumb-title{font-size:1rem!important;font-family:Inter var,Roboto,Arial,Helvetica,sans-serif!important}::ng-deep .home-style{background-color:#f5f5f5;overflow:hidden}::ng-deep .page-style{overflow:auto!important}::ng-deep .card-container{overflow-x:hidden}::ng-deep .card-container::-webkit-scrollbar{width:6px}::ng-deep .card-container::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .card-container::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .card-container:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .card-container::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}.title-style{position:relative;top:10px;margin-left:20px;font-size:25px;color:#002542;border-bottom:2px solid green;font-weight:600;display:inline}::ng-deep p-sidebar .p-sidebar-content{overflow-y:hidden}::ng-deep p-dialog .p-dialog-content{overflow-y:unset}.icon-menu{color:#002542;display:flex;justify-content:center;align-items:center}::ng-deep .padding-style{padding:15px!important}::ng-deep .menu-option{padding:15px 5px!important}::ng-deep .p-breadcrumb .p-breadcrumb-list .p-menuitem-text{color:#183462!important;opacity:.95;font-weight:500;font-size:.8rem!important}::ng-deep .p-breadcrumb .p-breadcrumb-list .p-menuitem-text:hover{opacity:.7}.pl-3{padding-left:0rem!important}::ng-deep svg.p-icon{width:.7rem;height:1rem}.hover-color .text-base,.hover-color .icon-hover-color{color:#fff!important}::ng-deep .p-card .p-card-body{padding:0rem!important}::ng-deep .p-card .p-card-content{padding:0rem!important}::ng-deep .p-sidebar-left{z-index:auto!important}\n"] }]
4673
4700
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i2$1.FormBuilder }, { type: i3$1.Router }], propDecorators: { apps: [{
4674
4701
  type: Input
4675
4702
  }], breadCrumbItems: [{
@@ -4716,6 +4743,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
4716
4743
  type: Output
4717
4744
  }], selectAppEmit: [{
4718
4745
  type: Output
4746
+ }], navigateToDefaultRouteEmit: [{
4747
+ type: Output
4719
4748
  }], meusDadosPanel: [{
4720
4749
  type: ViewChild,
4721
4750
  args: ['meusDadosPanel']
@@ -6104,60 +6133,54 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
6104
6133
  }]
6105
6134
  }] });
6106
6135
 
6107
- class WorkspaceComponent {
6136
+ class WokspaceLogoComponent {
6108
6137
  constructor() {
6109
- /**
6110
- * Nome do usuário logado
6111
- */
6112
6138
  this.nomeUsuario = 'Nome do Usuário Logado';
6113
- /**
6114
- * Selecionar apenas master
6115
- */
6116
- this.somenteMaster = false;
6117
- /**
6118
- * Evento de master selecionada
6119
- */
6120
- this.onGetMasterSelecionada = new EventEmitter();
6121
- /**
6122
- * Evento de empresa selecionada
6123
- */
6124
- this.onGetEmpresaSelecionada = new EventEmitter();
6125
- this.totalRecordsEmpresa = 0;
6126
- this.showPaginatorEmpresa = false;
6127
- this.visivel = true;
6128
- this.txtPesquisa = '';
6129
- this.imgPersonagens = '';
6130
- this.imgLogoKeevo = '';
6131
- this.styleBackground = '';
6132
- this.imgLogoKeevoCenter = '';
6133
- //Tabela Master
6134
- this.dataSourceMaster = [];
6135
- this.tableSizeMaster = 5;
6136
- //Tabela Empresa
6137
- this.dataSourceEmpresa = [];
6138
- this.tableSizeEmpresa = 5;
6139
- }
6140
- activeItemEmpresa(e) {
6141
- this.selectedItemEmpresa = e;
6142
- }
6143
- activeItemMaster(e) {
6144
- this.selectedItemMaster = e;
6145
- }
6146
- columnConfigTableMaster() {
6147
- this.dataSourceMaster = this.masters;
6148
- this.tableConfigMaster = {
6149
- lazy: false,
6139
+ }
6140
+ ngOnInit() {
6141
+ }
6142
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: WokspaceLogoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6143
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: WokspaceLogoComponent, selector: "kv-workspace-logo", inputs: { imgLogoKeevoCenter: "imgLogoKeevoCenter", nomeUsuario: "nomeUsuario", masterSelecionada: "masterSelecionada" }, ngImport: i0, template: "<div class=\"field col-12 flex justify-content-center mb-1\">\n <img [src]=\"imgLogoKeevoCenter\" style=\"width: 200px\" />\n</div>\n\n<div class=\"col-12 align-items-center z-5\">\n <div class=\"col-9\">\n Ol\u00E1, <b>{{ nomeUsuario }}.</b> Bem-vindo(a)!\n </div>\n\n @if(!masterSelecionada){\n <b class=\"field col-9 flex\">\n Escolha qual workspace voc\u00EA deseja acessar:\n </b>\n }\n @else {\n <b class=\"field col-9 flex\">\n Escolha qual empresa voc\u00EA deseja acessar:\n </b>\n }\n</div>", styles: [""] }); }
6144
+ }
6145
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: WokspaceLogoComponent, decorators: [{
6146
+ type: Component,
6147
+ args: [{ selector: 'kv-workspace-logo', template: "<div class=\"field col-12 flex justify-content-center mb-1\">\n <img [src]=\"imgLogoKeevoCenter\" style=\"width: 200px\" />\n</div>\n\n<div class=\"col-12 align-items-center z-5\">\n <div class=\"col-9\">\n Ol\u00E1, <b>{{ nomeUsuario }}.</b> Bem-vindo(a)!\n </div>\n\n @if(!masterSelecionada){\n <b class=\"field col-9 flex\">\n Escolha qual workspace voc\u00EA deseja acessar:\n </b>\n }\n @else {\n <b class=\"field col-9 flex\">\n Escolha qual empresa voc\u00EA deseja acessar:\n </b>\n }\n</div>" }]
6148
+ }], ctorParameters: () => [], propDecorators: { imgLogoKeevoCenter: [{
6149
+ type: Input
6150
+ }], nomeUsuario: [{
6151
+ type: Input
6152
+ }], masterSelecionada: [{
6153
+ type: Input
6154
+ }] } });
6155
+
6156
+ class WorkspaceEmpresaComponent {
6157
+ constructor() {
6158
+ this.empresas = [];
6159
+ this.totalEmpresas = 0;
6160
+ this.onEmpresaSelecionada = new EventEmitter();
6161
+ this.onPaginate = new EventEmitter();
6162
+ }
6163
+ ngOnInit() {
6164
+ this.configTable();
6165
+ }
6166
+ activeItem(e) {
6167
+ this.empresaSelecionada = e;
6168
+ }
6169
+ configTable() {
6170
+ this.tableConfig = {
6171
+ lazy: true,
6150
6172
  columns: [
6151
- { position: 0, field: 'idmaster', header: 'Licença', width: '', centralize: false, sortable: false },
6152
- { position: 1, field: 'nome', header: '', width: '80%', centralize: false, sortable: false, },
6173
+ { position: 0, field: 'codigopessoa', header: 'Código', width: '', centralize: false, sortable: false },
6174
+ { position: 1, field: 'cpfcnpj', header: 'CPF/CNPJ', width: '', centralize: false, sortable: false, pipe: 'cpfcnpj' },
6175
+ { position: 2, field: 'razaosocial', header: 'Razão social', width: '50%', centralize: false, sortable: false },
6153
6176
  ],
6154
6177
  actions: [
6155
6178
  {
6156
6179
  label: 'Acessar',
6157
6180
  icon: 'login',
6158
- tooltip: 'Acessar Workspace',
6181
+ tooltip: 'Acessar Empresa',
6159
6182
  command: () => {
6160
- this.selecionarMaster(this.selectedItemMaster);
6183
+ this.selecionarEmpresa(this.empresaSelecionada);
6161
6184
  },
6162
6185
  disabled: () => {
6163
6186
  return false;
@@ -6165,27 +6188,66 @@ class WorkspaceComponent {
6165
6188
  },
6166
6189
  ],
6167
6190
  actionsLote: [],
6168
- enableCation: false,
6169
- enableFilter: false,
6191
+ enableCation: true,
6192
+ enableFilter: true,
6170
6193
  enableSelect: false,
6171
6194
  };
6172
6195
  }
6173
- columnConfigTableEmpresa() {
6174
- this.dataSourceEmpresa = this.empresas;
6175
- this.tableConfigEmpresa = {
6196
+ doubleClick(e) {
6197
+ this.empresaSelecionada = e.rowData;
6198
+ this.selecionarEmpresa(this.empresaSelecionada);
6199
+ }
6200
+ paginate(event) {
6201
+ this.onPaginate.emit(event);
6202
+ }
6203
+ selecionarEmpresa(empresa) {
6204
+ this.empresaSelecionada = empresa;
6205
+ this.onEmpresaSelecionada.emit(this.empresaSelecionada);
6206
+ }
6207
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: WorkspaceEmpresaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6208
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: WorkspaceEmpresaComponent, selector: "kv-workspace-empresa", inputs: { empresas: "empresas", empresaSelecionada: "empresaSelecionada", totalEmpresas: "totalEmpresas" }, outputs: { onEmpresaSelecionada: "onEmpresaSelecionada", onPaginate: "onPaginate" }, ngImport: i0, template: "<kv-table\n [config]=\"tableConfig\"\n [dataSource]=\"empresas\"\n [isTableScrollable]=\"true\"\n [paginator]=\"true\"\n [rows]=\"5\"\n [rowsPerPageOptions]=\"[5]\"\n [scrollHeight]=\"'300px'\"\n [tableSize]=\"5\"\n [totalRecords]=\"totalEmpresas\"\n (doubleClickEvent)=\"doubleClick($event)\"\n (onActiveItem)=\"activeItem($event)\"\n (onPaginate)=\"paginate($event)\">\n</kv-table>", styles: [""], dependencies: [{ kind: "component", type: KvTableComponent, selector: "kv-table", inputs: ["templates", "config", "defaultSortField", "dataSource", "selectedItems", "totalRecords", "paginator", "rowsPerPageOptions", "rows", "tableSize", "filterColumnsBtn", "filtrosAvancados", "scrollHeight", "isTableScrollable", "tableCaptalized", "rowTrackBy", "responsiveLayout", "disabledHeaderCheckbox", "applyStyle", "pageLinksOptions", "showFirstLastIcon"], outputs: ["onActiveItem", "onActiveItemLote", "onPaginate", "onSelectionChange", "doubleClickEvent", "filterField", "onSwitchTableChange"] }] }); }
6209
+ }
6210
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: WorkspaceEmpresaComponent, decorators: [{
6211
+ type: Component,
6212
+ args: [{ selector: 'kv-workspace-empresa', template: "<kv-table\n [config]=\"tableConfig\"\n [dataSource]=\"empresas\"\n [isTableScrollable]=\"true\"\n [paginator]=\"true\"\n [rows]=\"5\"\n [rowsPerPageOptions]=\"[5]\"\n [scrollHeight]=\"'300px'\"\n [tableSize]=\"5\"\n [totalRecords]=\"totalEmpresas\"\n (doubleClickEvent)=\"doubleClick($event)\"\n (onActiveItem)=\"activeItem($event)\"\n (onPaginate)=\"paginate($event)\">\n</kv-table>" }]
6213
+ }], ctorParameters: () => [], propDecorators: { empresas: [{
6214
+ type: Input
6215
+ }], empresaSelecionada: [{
6216
+ type: Input
6217
+ }], totalEmpresas: [{
6218
+ type: Input
6219
+ }], onEmpresaSelecionada: [{
6220
+ type: Output
6221
+ }], onPaginate: [{
6222
+ type: Output
6223
+ }] } });
6224
+
6225
+ class WorkspaceMasterComponent {
6226
+ constructor() {
6227
+ this.dataSource = [];
6228
+ this.onMasterSelecionada = new EventEmitter();
6229
+ }
6230
+ ngOnInit() {
6231
+ this.configTable();
6232
+ }
6233
+ activeItem(e) {
6234
+ this.masterSelecionada = e;
6235
+ }
6236
+ configTable() {
6237
+ this.dataSource = this.masters;
6238
+ this.tableConfig = {
6176
6239
  lazy: false,
6177
6240
  columns: [
6178
- { position: 0, field: 'codigopessoa', header: 'Código', width: '', centralize: false, sortable: false },
6179
- { position: 1, field: 'cpfcnpj', header: 'CPF/CNPJ', width: '', centralize: false, sortable: false, pipe: 'cpfcnpj' },
6180
- { position: 2, field: 'razaosocial', header: 'Razão social', width: '50%', centralize: false, sortable: false },
6241
+ { position: 0, field: 'idmaster', header: 'Licença', width: '', centralize: false, sortable: false },
6242
+ { position: 1, field: 'nome', header: '', width: '80%', centralize: false, sortable: false, },
6181
6243
  ],
6182
6244
  actions: [
6183
6245
  {
6184
6246
  label: 'Acessar',
6185
6247
  icon: 'login',
6186
- tooltip: 'Acessar Empresa',
6248
+ tooltip: 'Acessar Workspace',
6187
6249
  command: () => {
6188
- this.selecionarEmpresa(this.selectedItemEmpresa);
6250
+ this.selecionarMaster(this.masterSelecionada);
6189
6251
  },
6190
6252
  disabled: () => {
6191
6253
  return false;
@@ -6193,82 +6255,94 @@ class WorkspaceComponent {
6193
6255
  },
6194
6256
  ],
6195
6257
  actionsLote: [],
6196
- enableCation: true,
6197
- enableFilter: true,
6258
+ enableCation: false,
6259
+ enableFilter: false,
6198
6260
  enableSelect: false,
6199
6261
  };
6200
6262
  }
6201
- doubleClickEmpresa(e) {
6202
- this.selectedItemEmpresa = e.rowData;
6203
- this.selecionarEmpresa(e.rowData);
6263
+ doubleClick(e) {
6264
+ this.masterSelecionada = e.rowData;
6265
+ this.selecionarMaster(this.masterSelecionada);
6204
6266
  }
6205
- doubleClickMaster(e) {
6206
- this.selectedItemMaster = e.rowData;
6207
- this.selecionarMaster(e.rowData);
6267
+ selecionarMaster(master) {
6268
+ this.masterSelecionada = master;
6269
+ this.onMasterSelecionada.emit(this.masterSelecionada);
6208
6270
  }
6209
- filtrarEmpresa(event) {
6210
- this.empresas = this.masterSelecionada.empresas.filter((e) => e.nomeempresa.toLowerCase().includes(event.toLowerCase()));
6271
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: WorkspaceMasterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6272
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: WorkspaceMasterComponent, selector: "kv-workspace-master", inputs: { masters: "masters", masterSelecionada: "masterSelecionada" }, outputs: { onMasterSelecionada: "onMasterSelecionada" }, ngImport: i0, template: "<kv-table\n [tableSize]=\"5\"\n [rows]=\"5\"\n [config]=\"tableConfig\"\n [paginator]=\"false\"\n [dataSource]=\"dataSource\"\n [rowsPerPageOptions]=\"[5, 10, 25, 50, 100, 200]\"\n (doubleClickEvent)=\"doubleClick($event)\"\n (onActiveItem)=\"activeItem($event)\"\n [isTableScrollable]=\"true\"\n [scrollHeight]=\"'300px'\">\n</kv-table>", styles: [""], dependencies: [{ kind: "component", type: KvTableComponent, selector: "kv-table", inputs: ["templates", "config", "defaultSortField", "dataSource", "selectedItems", "totalRecords", "paginator", "rowsPerPageOptions", "rows", "tableSize", "filterColumnsBtn", "filtrosAvancados", "scrollHeight", "isTableScrollable", "tableCaptalized", "rowTrackBy", "responsiveLayout", "disabledHeaderCheckbox", "applyStyle", "pageLinksOptions", "showFirstLastIcon"], outputs: ["onActiveItem", "onActiveItemLote", "onPaginate", "onSelectionChange", "doubleClickEvent", "filterField", "onSwitchTableChange"] }] }); }
6273
+ }
6274
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: WorkspaceMasterComponent, decorators: [{
6275
+ type: Component,
6276
+ args: [{ selector: 'kv-workspace-master', template: "<kv-table\n [tableSize]=\"5\"\n [rows]=\"5\"\n [config]=\"tableConfig\"\n [paginator]=\"false\"\n [dataSource]=\"dataSource\"\n [rowsPerPageOptions]=\"[5, 10, 25, 50, 100, 200]\"\n (doubleClickEvent)=\"doubleClick($event)\"\n (onActiveItem)=\"activeItem($event)\"\n [isTableScrollable]=\"true\"\n [scrollHeight]=\"'300px'\">\n</kv-table>" }]
6277
+ }], ctorParameters: () => [], propDecorators: { masters: [{
6278
+ type: Input
6279
+ }], masterSelecionada: [{
6280
+ type: Input
6281
+ }], onMasterSelecionada: [{
6282
+ type: Output
6283
+ }] } });
6284
+
6285
+ class WorkspaceComponent {
6286
+ constructor() {
6287
+ this.nomeUsuario = 'Nome do Usuário Logado';
6288
+ this.somenteMaster = true;
6289
+ this.visivel = true;
6290
+ this.totalEmpresas = 0;
6291
+ this.onGetMasterSelecionada = new EventEmitter();
6292
+ this.onGetEmpresaSelecionada = new EventEmitter();
6293
+ this.onPaginate = new EventEmitter();
6211
6294
  }
6212
6295
  ngOnInit() {
6213
6296
  this.imgPersonagens = ImagensService.getPersonagensWorkSpace();
6214
6297
  this.imgLogoKeevo = ImagensService.getLogoKeevo();
6215
6298
  this.imgLogoKeevoCenter = ImagensService.getLogoKeevoCenter();
6216
6299
  this.styleBackground = 'background-image: url(' + ImagensService.getBackgroundWorkSpace() + ');';
6217
- this.columnConfigTableMaster();
6218
- this.verificaMasterUnica();
6300
+ }
6301
+ paginate(event) {
6302
+ this.onPaginate.emit(event);
6219
6303
  }
6220
6304
  selecionarEmpresa(empresa) {
6221
6305
  this.onGetEmpresaSelecionada.emit(empresa);
6222
- this.empresaSelecionada = empresa;
6223
- this.visivel = false;
6224
- }
6225
- selecionarMaster(master) {
6226
- this.onGetMasterSelecionada.emit(master);
6227
- this.masterSelecionada = master;
6228
- if (this.somenteMaster)
6229
- this.visivel = false;
6230
- else {
6231
- this.empresas = master.empresas;
6232
- this.showPaginatorEmpresa = (this.empresas.length > 5);
6233
- this.columnConfigTableEmpresa();
6234
- this.verificaEmpresaUnica();
6235
- }
6236
- }
6237
- verificaEmpresaUnica() {
6238
- if (this.empresas && this.empresas.length == 1)
6239
- this.selecionarEmpresa(this.empresas[0]);
6240
6306
  }
6241
- verificaMasterUnica() {
6242
- if (this.masters.length == 1)
6243
- this.selecionarMaster(this.masters[0]);
6244
- }
6245
- voltar() {
6246
- this.empresaSelecionada = undefined;
6247
- this.masterSelecionada = undefined;
6307
+ selecionarMaster(event) {
6308
+ this.onGetMasterSelecionada.emit(event);
6248
6309
  }
6249
6310
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: WorkspaceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6250
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: WorkspaceComponent, selector: "kv-workspace", inputs: { nomeUsuario: "nomeUsuario", masters: "masters", masterSelecionada: "masterSelecionada", somenteMaster: "somenteMaster" }, outputs: { onGetMasterSelecionada: "onGetMasterSelecionada", onGetEmpresaSelecionada: "onGetEmpresaSelecionada" }, ngImport: i0, template: "<div *ngIf=\"visivel\" [style]=\"styleBackground\"\n class=\"h-screen flex justify-content-center align-items-center login-container flex-column bg-cover\">\n <div id=\"card-container\"\n class=\"flex flex-column justify-content-around card-login formgrid p-fluid bg-white border-round p-2\">\n <div class=\"field col-12 flex justify-content-center mb-1\">\n <img [src]=\"imgLogoKeevoCenter\" style=\"width: 200px\" />\n </div>\n\n <div class=\"col-12 align-items-center z-5\">\n <div class=\"col-9\">\n Ol\u00E1, <b>{{ nomeUsuario }}.</b> Bem-vindo(a)!\n </div>\n <b class=\"field col-9 flex\">\n Escolha qual Workspace voc\u00EA deseja acessar:</b>\n </div>\n\n <!-- IN\u00CDCIO DO WORKSPACE DE CONTABILIDADE (MASTERS) -->\n <div *ngIf=\"!masterSelecionada\" class=\"col-12 z-5\">\n\n <kv-table\n [tableSize]=\"tableSizeMaster\"\n [rows]=\"5\"\n [config]=\"tableConfigMaster\"\n [paginator]=\"false\"\n [dataSource]=\"dataSourceMaster\"\n [rowsPerPageOptions]=\"[5, 10, 25, 50, 100, 200]\"\n (doubleClickEvent)=\"doubleClickMaster($event)\"\n (onActiveItem)=\"activeItemMaster($event)\"\n [isTableScrollable]=\"true\"\n [scrollHeight]=\"'300px'\">\n </kv-table>\n\n </div>\n <!-- FIM DO WORKSPACE DE CONTABILIDADE (MASTERS) -->\n\n <!-- IN\u00CDCIO DO WORKSPACE EMPRESA -->\n <div *ngIf=\"masterSelecionada && !empresaSelecionada\" class=\"col-12 z-5\">\n <kv-table\n [tableSize]=\"tableSizeEmpresa\"\n [rows]=\"5\"\n [config]=\"tableConfigEmpresa\"\n [paginator]=\"showPaginatorEmpresa\"\n [dataSource]=\"dataSourceEmpresa\"\n [rowsPerPageOptions]=\"[5]\"\n (doubleClickEvent)=\"doubleClickEmpresa($event)\"\n (onActiveItem)=\"activeItemEmpresa($event)\"\n [isTableScrollable]=\"true\"\n [scrollHeight]=\"'300px'\">\n </kv-table>\n </div>\n <!-- FIM DO WORKSPACE EMPRESA -->\n </div>\n</div>\n", styles: [".card-login{width:80%;max-width:800px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: KvTableComponent, selector: "kv-table", inputs: ["templates", "config", "defaultSortField", "dataSource", "selectedItems", "totalRecords", "paginator", "rowsPerPageOptions", "rows", "tableSize", "filterColumnsBtn", "filtrosAvancados", "scrollHeight", "isTableScrollable", "tableCaptalized", "rowTrackBy", "responsiveLayout", "disabledHeaderCheckbox", "applyStyle", "pageLinksOptions", "showFirstLastIcon"], outputs: ["onActiveItem", "onActiveItemLote", "onPaginate", "onSelectionChange", "doubleClickEvent", "filterField", "onSwitchTableChange"] }] }); }
6311
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: WorkspaceComponent, selector: "kv-workspace", inputs: { nomeUsuario: "nomeUsuario", somenteMaster: "somenteMaster", visivel: "visivel", empresas: "empresas", empresaSelecionada: "empresaSelecionada", totalEmpresas: "totalEmpresas", masters: "masters", masterSelecionada: "masterSelecionada" }, outputs: { onGetMasterSelecionada: "onGetMasterSelecionada", onGetEmpresaSelecionada: "onGetEmpresaSelecionada", onPaginate: "onPaginate" }, ngImport: i0, template: "@if(visivel){\n<div [style]=\"styleBackground\" class=\"h-screen flex justify-content-center align-items-center login-container flex-column bg-cover\">\n <div id=\"card-container\" class=\"flex flex-column justify-content-around card-login formgrid p-fluid bg-white border-round p-2\">\n\n <kv-workspace-logo\n [imgLogoKeevoCenter]=\"imgLogoKeevoCenter\"\n [masterSelecionada]=\"masterSelecionada\"\n [nomeUsuario]=\"nomeUsuario\">\n </kv-workspace-logo>\n\n @if(!masterSelecionada){\n <div class=\"col-12 z-5\">\n <kv-workspace-master\n [masters]=\"masters\"\n [masterSelecionada]=\"masterSelecionada\"\n (onMasterSelecionada)=\"selecionarMaster($event)\">\n </kv-workspace-master>\n </div>\n }\n\n @if(!somenteMaster && masterSelecionada){\n <kv-workspace-empresa\n [empresas]=\"empresas\"\n [totalEmpresas]=\"totalEmpresas\"\n (onEmpresaSelecionada)=\"selecionarEmpresa($event)\"\n (onPaginate)=\"paginate($event)\">\n </kv-workspace-empresa>\n }\n\n </div>\n</div>\n}", styles: [".card-login{width:80%;max-width:800px}\n"], dependencies: [{ kind: "component", type: WorkspaceEmpresaComponent, selector: "kv-workspace-empresa", inputs: ["empresas", "empresaSelecionada", "totalEmpresas"], outputs: ["onEmpresaSelecionada", "onPaginate"] }, { kind: "component", type: WokspaceLogoComponent, selector: "kv-workspace-logo", inputs: ["imgLogoKeevoCenter", "nomeUsuario", "masterSelecionada"] }, { kind: "component", type: WorkspaceMasterComponent, selector: "kv-workspace-master", inputs: ["masters", "masterSelecionada"], outputs: ["onMasterSelecionada"] }] }); }
6251
6312
  }
6252
6313
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: WorkspaceComponent, decorators: [{
6253
6314
  type: Component,
6254
- args: [{ selector: 'kv-workspace', template: "<div *ngIf=\"visivel\" [style]=\"styleBackground\"\n class=\"h-screen flex justify-content-center align-items-center login-container flex-column bg-cover\">\n <div id=\"card-container\"\n class=\"flex flex-column justify-content-around card-login formgrid p-fluid bg-white border-round p-2\">\n <div class=\"field col-12 flex justify-content-center mb-1\">\n <img [src]=\"imgLogoKeevoCenter\" style=\"width: 200px\" />\n </div>\n\n <div class=\"col-12 align-items-center z-5\">\n <div class=\"col-9\">\n Ol\u00E1, <b>{{ nomeUsuario }}.</b> Bem-vindo(a)!\n </div>\n <b class=\"field col-9 flex\">\n Escolha qual Workspace voc\u00EA deseja acessar:</b>\n </div>\n\n <!-- IN\u00CDCIO DO WORKSPACE DE CONTABILIDADE (MASTERS) -->\n <div *ngIf=\"!masterSelecionada\" class=\"col-12 z-5\">\n\n <kv-table\n [tableSize]=\"tableSizeMaster\"\n [rows]=\"5\"\n [config]=\"tableConfigMaster\"\n [paginator]=\"false\"\n [dataSource]=\"dataSourceMaster\"\n [rowsPerPageOptions]=\"[5, 10, 25, 50, 100, 200]\"\n (doubleClickEvent)=\"doubleClickMaster($event)\"\n (onActiveItem)=\"activeItemMaster($event)\"\n [isTableScrollable]=\"true\"\n [scrollHeight]=\"'300px'\">\n </kv-table>\n\n </div>\n <!-- FIM DO WORKSPACE DE CONTABILIDADE (MASTERS) -->\n\n <!-- IN\u00CDCIO DO WORKSPACE EMPRESA -->\n <div *ngIf=\"masterSelecionada && !empresaSelecionada\" class=\"col-12 z-5\">\n <kv-table\n [tableSize]=\"tableSizeEmpresa\"\n [rows]=\"5\"\n [config]=\"tableConfigEmpresa\"\n [paginator]=\"showPaginatorEmpresa\"\n [dataSource]=\"dataSourceEmpresa\"\n [rowsPerPageOptions]=\"[5]\"\n (doubleClickEvent)=\"doubleClickEmpresa($event)\"\n (onActiveItem)=\"activeItemEmpresa($event)\"\n [isTableScrollable]=\"true\"\n [scrollHeight]=\"'300px'\">\n </kv-table>\n </div>\n <!-- FIM DO WORKSPACE EMPRESA -->\n </div>\n</div>\n", styles: [".card-login{width:80%;max-width:800px}\n"] }]
6315
+ args: [{ selector: 'kv-workspace', template: "@if(visivel){\n<div [style]=\"styleBackground\" class=\"h-screen flex justify-content-center align-items-center login-container flex-column bg-cover\">\n <div id=\"card-container\" class=\"flex flex-column justify-content-around card-login formgrid p-fluid bg-white border-round p-2\">\n\n <kv-workspace-logo\n [imgLogoKeevoCenter]=\"imgLogoKeevoCenter\"\n [masterSelecionada]=\"masterSelecionada\"\n [nomeUsuario]=\"nomeUsuario\">\n </kv-workspace-logo>\n\n @if(!masterSelecionada){\n <div class=\"col-12 z-5\">\n <kv-workspace-master\n [masters]=\"masters\"\n [masterSelecionada]=\"masterSelecionada\"\n (onMasterSelecionada)=\"selecionarMaster($event)\">\n </kv-workspace-master>\n </div>\n }\n\n @if(!somenteMaster && masterSelecionada){\n <kv-workspace-empresa\n [empresas]=\"empresas\"\n [totalEmpresas]=\"totalEmpresas\"\n (onEmpresaSelecionada)=\"selecionarEmpresa($event)\"\n (onPaginate)=\"paginate($event)\">\n </kv-workspace-empresa>\n }\n\n </div>\n</div>\n}", styles: [".card-login{width:80%;max-width:800px}\n"] }]
6255
6316
  }], ctorParameters: () => [], propDecorators: { nomeUsuario: [{
6256
6317
  type: Input
6318
+ }], somenteMaster: [{
6319
+ type: Input
6320
+ }], visivel: [{
6321
+ type: Input
6322
+ }], empresas: [{
6323
+ type: Input
6324
+ }], empresaSelecionada: [{
6325
+ type: Input
6326
+ }], totalEmpresas: [{
6327
+ type: Input
6257
6328
  }], masters: [{
6258
6329
  type: Input
6259
6330
  }], masterSelecionada: [{
6260
6331
  type: Input
6261
- }], somenteMaster: [{
6262
- type: Input
6263
6332
  }], onGetMasterSelecionada: [{
6264
6333
  type: Output
6265
6334
  }], onGetEmpresaSelecionada: [{
6266
6335
  type: Output
6336
+ }], onPaginate: [{
6337
+ type: Output
6267
6338
  }] } });
6268
6339
 
6269
6340
  class KvWorkspaceModule {
6270
6341
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvWorkspaceModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6271
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.8", ngImport: i0, type: KvWorkspaceModule, declarations: [WorkspaceComponent], imports: [CommonModule,
6342
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.8", ngImport: i0, type: KvWorkspaceModule, declarations: [WorkspaceComponent,
6343
+ WorkspaceEmpresaComponent,
6344
+ WokspaceLogoComponent,
6345
+ WorkspaceMasterComponent], imports: [CommonModule,
6272
6346
  PrimeNgModule,
6273
6347
  ReactiveFormsModule,
6274
6348
  ProgressSpinnerModule,
@@ -6289,7 +6363,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
6289
6363
  type: NgModule,
6290
6364
  args: [{
6291
6365
  declarations: [
6292
- WorkspaceComponent
6366
+ WorkspaceComponent,
6367
+ WorkspaceEmpresaComponent,
6368
+ WokspaceLogoComponent,
6369
+ WorkspaceMasterComponent
6293
6370
  ],
6294
6371
  exports: [
6295
6372
  WorkspaceComponent