keevo-components 1.5.125 → 1.5.127

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.
@@ -2462,6 +2462,7 @@ class MenuComponent {
2462
2462
  if (!expand)
2463
2463
  !this.expandMenu ? this.expandMenu = !this.expandMenu : '';
2464
2464
  this.router.navigateByUrl(e);
2465
+ console.log(this.router.url, 'uhuhu');
2465
2466
  }
2466
2467
  toggleMenu() {
2467
2468
  this.expandMenu = !this.expandMenu;
@@ -2497,12 +2498,18 @@ class MenuComponent {
2497
2498
  else
2498
2499
  return 83;
2499
2500
  }
2501
+ verificarPaginaSelecionada(link) {
2502
+ if (this.router.url.includes(link))
2503
+ return 'bg-green-600';
2504
+ else
2505
+ return '';
2506
+ }
2500
2507
  }
2501
2508
  MenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MenuComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$4.Router }, { token: i1$4.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
2502
- MenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: MenuComponent, selector: "kv-menu", inputs: { menuCompleto: "menuCompleto", licencas: "licencas", licencaSelecionada: "licencaSelecionada", logoImage: "logoImage", nomeUsuario: "nomeUsuario", breadCrumbs: "breadCrumbs" }, outputs: { licencaChange: "licencaChange", gerenciarKeePassEvent: "gerenciarKeePassEvent", sairEvent: "sairEvent", expandMenuEmit: "expandMenuEmit" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, viewQueries: [{ propertyName: "sidebarRef", first: true, predicate: ["sidebarRef"], descendants: true }, { propertyName: "sistemasPanel", first: true, predicate: ["sistemasPanel"], descendants: true }, { propertyName: "meusDadosPanel", first: true, predicate: ["meusDadosPanel"], descendants: true }], ngImport: i0, template: "<div class=\"flex flex-row overflow-y-hidden w- full-container\">\r\n\r\n <div [style]=\"{minWidth: expandMenu ? '300px' : '60px'}\"></div>\r\n\r\n <p-sidebar\r\n #sidebarRef\r\n [visible]=\"true\"\r\n [showCloseIcon]=\"false\"\r\n [modal]=\"false\"\r\n [style]=\"{width: expandMenu ? '300px' : '60px'}\"\r\n >\r\n <ng-template pTemplate=\"headless\">\r\n <div class=\"flex flex-column {{expandMenu ? 'mx-1' : 'mx-1'}}\">\r\n <div class=\"flex flex-column gap-2 justify-content-between flex-shrink-0 mx-2\">\r\n <div\r\n class=\"flex flex-row align-items-center {{expandMenu ? 'justify-content-between' : 'justify-content-center'}} py-3\"\r\n >\r\n <img\r\n *ngIf=\"expandMenu\"\r\n alt=\"Card\"\r\n [src]=\"logoImage\"\r\n width=\"150\"\r\n />\r\n\r\n <button\r\n pButton\r\n class=\"p-button-rounded p-button-text flex align-items-center justify-content-center p-0 h-2rem w-2rem hover:bg-green-600 hover:text-white icon-menu\"\r\n (click)=\"toggleMenu()\"\r\n [pTooltip]=\"expandMenu ? 'Ocutar Menu' : 'Expandir Menu'\"\r\n [tooltipPosition]=\"'right'\"\r\n >\r\n <i class=\"material-symbols-outlined\">\r\n menu\r\n </i>\r\n </button>\r\n </div>\r\n\r\n <div\r\n class=\"flex flex-row align-items-center {{expandMenu ? 'justify-content-between' : 'justify-content-center'}}\"\r\n >\r\n <div\r\n class=\"flex flex-column cursor-pointer\"\r\n *ngIf=\"expandMenu\"\r\n (click)=\"visibleDialogLicenca = !visibleDialogLicenca\"\r\n >\r\n <span\r\n class=\"text-sm font-semibold mr-2\"\r\n [pTooltip]=\"this.licencaSelecionada.razaosocial\"\r\n [tooltipPosition]=\"'right'\"\r\n >\r\n {{\r\n MascaraNomeLicenca(this.licencaSelecionada.razaosocial)\r\n }}\r\n </span>\r\n <span class=\"text-sm mt-1\">{{MascaraCnpj(this.licencaSelecionada.cnpj)}}</span>\r\n </div>\r\n\r\n <button\r\n pButton\r\n class=\"p-button-rounded p-button-text flex align-items-center justify-content-center p-0 h-2rem w-2rem hover:bg-green-600 hover:text-white icon-menu\"\r\n (click)=\"visibleDialogLicenca = !visibleDialogLicenca\"\r\n [pTooltip]=\"'Alterar Licen\u00E7a'\"\r\n [tooltipPosition]=\"'right'\"\r\n >\r\n <i class=\"material-symbols-outlined\">\r\n sync_alt\r\n </i>\r\n </button>\r\n\r\n </div>\r\n <p-divider type=\"solid\"></p-divider>\r\n </div>\r\n\r\n <div\r\n class=\"list-none ajuste-padding m-0 card-container {{expandMenu ? 'mx-1' : ''}}\"\r\n [style.max-height]=\"(heigthCard - 220) + 'px'\"\r\n style=\"overflow-y: auto;\"\r\n >\r\n <!-- menus -->\r\n <li *ngFor=\"let menu of menus\">\r\n <!-- menu que n\u00E3o tem filho -->\r\n <a\r\n (click)=\"callRoute(menu.link)\"\r\n *ngIf=\"!menu.menupai && menu.idmenupai == 0\"\r\n pRipple\r\n [pTooltip]=\"!expandMenu ? menu.descricaomenu : ''\"\r\n [tooltipPosition]=\"'right'\"\r\n class=\"h-3rem flex align-items-center no-underline {{!expandMenu ? 'justify-content-center' : ''}} cursor-pointer ajuste-padding border-round text-700 hover:bg-green-600 hover:text-white transition-duration-150 transition-colors p-ripple\"\r\n >\r\n\r\n <i\r\n class=\"material-symbols-outlined icon-menu {{expandMenu ? 'ml-1 mr-2' : ''}}\"\r\n *ngIf=\"menu.icone && menu.icone !== ''\"\r\n >\r\n {{ menu.icone }}\r\n </i>\r\n <span\r\n class=\"text-base text-blue-900 font-medium\"\r\n *ngIf=\"expandMenu\"\r\n >{{ menu.descricaomenu }}</span>\r\n </a>\r\n\r\n <!-- menu com filho -->\r\n <div *ngIf=\"menu.menupai\">\r\n <a\r\n pRipple\r\n pStyleClass=\"@next\"\r\n enterClass=\"hidden\"\r\n enterActiveClass=\"slidedown\"\r\n leaveToClass=\"hidden\"\r\n leaveActiveClass=\"slideup\"\r\n class=\"h-3rem flex align-items-center {{!expandMenu ? 'justify-content-center' : 'justify-content-between'}} cursor-pointer ajuste-padding border-round text-700 hover:bg-green-600 hover:text-white transition-duration-150 transition-colors p-ripple\"\r\n [tooltipPosition]=\"'right'\"\r\n [pTooltip]=\"!expandMenu ? menu.descricaomenu : ''\"\r\n (click)=\"!expandMenu ? expandMenu = !expandMenu : ''\"\r\n >\r\n <div class=\"flex flex-row align-items-center\">\r\n\r\n <i\r\n class=\"material-symbols-outlined icon-menu {{expandMenu ? 'ml-1 mr-2' : ''}}\"\r\n *ngIf=\"menu.icone && menu.icone !== ''\"\r\n >\r\n {{ menu.icone }}\r\n </i>\r\n <span\r\n class=\"text-base text-blue-900 font-medium\"\r\n *ngIf=\"expandMenu\"\r\n >{{ menu.descricaomenu }}</span>\r\n </div>\r\n <i\r\n class=\"pi pi-chevron-down text-blue-900 mr-1\"\r\n *ngIf=\"expandMenu\"\r\n ></i>\r\n </a>\r\n\r\n <!-- filhos -->\r\n <div\r\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\"\r\n >\r\n <li *ngFor=\"\r\n let filho of retornarMenuFilhos(menu.idsistema, menu.idmenu)\r\n \">\r\n <a\r\n *ngIf=\"expandMenu\"\r\n (click)=\"callRoute(filho.link)\"\r\n pRipple\r\n class=\"flex align-items-center no-underline cursor-pointer ajuste-padding border-round text-700 hover:bg-green-600 hover:text-white transition-duration-150 transition-colors p-ripple p-2\"\r\n >\r\n <i\r\n class=\"pi pi-chart-line mr-2 ml-1 adjust-icon-menu\"\r\n *ngIf=\"filho.icone && filho.icone !== ''\"\r\n ></i>\r\n <span\r\n class=\"text-base text-blue-900\"\r\n *ngIf=\"expandMenu\"\r\n >{{ filho.descricaomenu }}</span>\r\n </a>\r\n </li>\r\n </div>\r\n </div>\r\n</div>\r\n</div>\r\n</ng-template>\r\n</p-sidebar>\r\n\r\n\r\n<div\r\n class=\"w-auto h-screen page-content overflow-y-hidden\"\r\n id=\"page-content\"\r\n>\r\n\r\n <div class=\"flex flex-row align-items-center justify-content-between m-3\">\r\n <div *ngIf=\"breadCrumbs\">\r\n <p class=\"text-xl font-semibold text-blue-900 breadcrumb-title\">{{breadCrumbItems[breadCrumbItems.length -\r\n 1]?.label}}</p>\r\n <p-breadcrumb\r\n *ngIf=\"widthCard > 400\"\r\n styleClass=\"border-none p-0 flex align-items-center h-2rem\"\r\n [model]=\"breadCrumbItems\"\r\n [style]=\"{backgroundColor: '#d4d3d3'}\"\r\n (onItemClick)=\"callRoute($event.item.routerLink, true)\"\r\n ></p-breadcrumb>\r\n </div>\r\n\r\n <div *ngIf=\"!breadCrumbs\"></div>\r\n\r\n <div class=\"w-auto flex flex-row align-items-center gap-2\">\r\n <button\r\n pButton\r\n class=\"p-button-rounded p-button-text flex align-items-center justify-content-center p-0 h-2rem w-2rem hover:bg-green-600 hover:text-white icon-menu\"\r\n (click)=\"sistemasPanel.toggle($event)\"\r\n [pTooltip]=\"'Sistemas'\"\r\n [tooltipPosition]=\"'left'\"\r\n >\r\n <i class=\"material-symbols-outlined\">\r\n apps\r\n </i>\r\n </button>\r\n <button\r\n pButton\r\n class=\"p-button-rounded p-button-text flex align-items-center justify-content-center p-0 h-2rem w-2rem hover:bg-green-600 hover:text-white icon-menu\"\r\n (click)=\"meusDadosPanel.toggle($event)\"\r\n [pTooltip]=\"'Menu do Usu\u00E1rio'\"\r\n [tooltipPosition]=\"'left'\"\r\n >\r\n <i class=\"material-symbols-outlined\">\r\n person\r\n </i>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n\r\n <p-card\r\n class=\"card-container\"\r\n styleClass=\"m-3 border-noround overflow-y-auto card-container\"\r\n [style]=\"{height: heigthCard - ajustarHeigthCard() + 'px'}\"\r\n >\r\n <div class=\"card-container w-full\">\r\n <ng-content></ng-content>\r\n </div>\r\n </p-card>\r\n\r\n</div>\r\n\r\n\r\n</div>\r\n\r\n<p-overlayPanel\r\n #sistemasPanel\r\n [showTransitionOptions]=\"'350ms ease-out'\"\r\n [hideTransitionOptions]=\"'250ms ease-in'\"\r\n>\r\n\r\n <ng-template pTemplate=\"container\">\r\n\r\n <p class=\"title-style mt-3\">Sistemas</p>\r\n <div\r\n class=\"flex flex-row flex-wrap gap-2 align-items-center justify-content-center mt-5 mb-3\"\r\n style=\"width: 250px; height: 100%;\"\r\n >\r\n <button\r\n *ngFor=\"let menu of menuCompleto\"\r\n pButton\r\n pRipple\r\n class=\"btn-sistema-2 btn-sistema hover-btn-cor-padrao remove-focus h-4rem w-4rem\"\r\n (click)=\"definirMenusPorSistema(menu.sistema.idsistema)\"\r\n [pTooltip]=\"menu.sistema.descricaosistema\"\r\n [tooltipPosition]=\"'left'\"\r\n >\r\n <!-- <img\r\n alt=\"logo\"\r\n style=\"width: 2rem; height: 2rem;\"\r\n /> -->\r\n {{ menu.sistema.nomesistema.charAt(0).toUpperCase() }}\r\n\r\n </button>\r\n\r\n\r\n <!-- <p-button styleClass=\"p-button-outlined\">\r\n <img alt=\"logo\" src=\"https://primefaces.org/cdn/primeng/images/primeng-icon.svg\" style=\"width: 1.5rem\" />\r\n <span class=\"ml-2 font-bold\">PrimeNG</span>\r\n </p-button> -->\r\n\r\n </div>\r\n </ng-template>\r\n</p-overlayPanel>\r\n\r\n<p-overlayPanel\r\n #meusDadosPanel\r\n [showTransitionOptions]=\"'350ms ease-out'\"\r\n [hideTransitionOptions]=\"'250ms ease-in'\"\r\n>\r\n\r\n <ng-template pTemplate=\"container\">\r\n\r\n <p class=\"title-style mt-3\">Ol\u00E1, {{nomeUsuario ? nomeUsuario.split(' ')[0] : 'Usu\u00E1rio'}} !</p>\r\n <div class=\"mt-5 mb-3\">\r\n\r\n </div>\r\n\r\n <p-button\r\n icon=\"pi pi-lock\"\r\n label=\"Ger\u00EAnciar KeevoPass\"\r\n (onClick)=\"gerenciarKeePass($event)\"\r\n styleClass=\"border-noround w-full p-button-text text-blue-900\"\r\n [disabled]=\"true\"\r\n ></p-button>\r\n <p-button\r\n icon=\"pi pi-sign-out\"\r\n label=\"Sair\"\r\n (onClick)=\"sair($event)\"\r\n styleClass=\"border-noround w-full p-button-text text-blue-900\"\r\n ></p-button>\r\n </ng-template>\r\n\r\n</p-overlayPanel>\r\n\r\n<p-dialog\r\n [(visible)]=\"visibleDialogLicenca\"\r\n [modal]=\"true\"\r\n [draggable]=\"false\"\r\n header=\"Trocar Licen\u00E7a\"\r\n [style]=\"{width: '50vh' }\"\r\n>\r\n <div class=\"flex flex-column align-items-end\">\r\n\r\n <div class=\"w-full\">\r\n <p-dropdown\r\n styleClass=\"w-full\"\r\n [options]=\"licencasOptions\"\r\n [(ngModel)]=\"licencaSelected\"\r\n optionLabel=\"descricao\"\r\n ></p-dropdown>\r\n </div>\r\n\r\n <kv-button-success\r\n [label]=\"'Salvar'\"\r\n class=\"mt-2\"\r\n (onClick)=\"setLicenca()\"\r\n ></kv-button-success>\r\n\r\n </div>\r\n\r\n</p-dialog>", styles: ["@charset \"UTF-8\";.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}.ajuste-padding{color:red}.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}.page-content{background:linear-gradient(to bottom,#d4d3d3 20%,#ffffff 30%)}*{margin:0}p .item-menu{color:#0c3e66;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol}::ng-deep .p-breadcrumb ul li:last-child .p-menuitem-text{font-weight:700}::ng-deep .p-breadcrumb ul li .p-menuitem-link .p-menuitem-text{color:#0c3e66!important;font-weight:500}span,.breadcrumb-title{font-size:15px!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol}::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}\n"], dependencies: [{ 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: i1$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i1$2.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "component", type: i1$2.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass", "ariaLabel"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: i9$1.Card, selector: "p-card", inputs: ["header", "subheader", "style", "styleClass"] }, { kind: "directive", type: i2$2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i7$1.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "component", type: i9.Divider, selector: "p-divider", inputs: ["styleClass", "style", "layout", "type", "align"] }, { kind: "component", type: i10.Dropdown, selector: "p-dropdown", inputs: ["scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "overlayDirection", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "component", type: i10$1.OverlayPanel, selector: "p-overlayPanel", inputs: ["dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "directive", type: i2$3.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.StyleClass, selector: "[pStyleClass]", inputs: ["pStyleClass", "enterClass", "enterActiveClass", "enterToClass", "leaveClass", "leaveActiveClass", "leaveToClass", "hideOnOutsideClick", "toggleClass", "hideOnEscape"] }, { kind: "component", type: i14$1.Breadcrumb, selector: "p-breadcrumb", inputs: ["model", "style", "styleClass", "home", "homeAriaLabel"], outputs: ["onItemClick"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ButtonSuccessComponent, selector: "kv-button-success" }] });
2509
+ MenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: MenuComponent, selector: "kv-menu", inputs: { menuCompleto: "menuCompleto", licencas: "licencas", licencaSelecionada: "licencaSelecionada", logoImage: "logoImage", nomeUsuario: "nomeUsuario", breadCrumbs: "breadCrumbs" }, outputs: { licencaChange: "licencaChange", gerenciarKeePassEvent: "gerenciarKeePassEvent", sairEvent: "sairEvent", expandMenuEmit: "expandMenuEmit" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, viewQueries: [{ propertyName: "sidebarRef", first: true, predicate: ["sidebarRef"], descendants: true }, { propertyName: "sistemasPanel", first: true, predicate: ["sistemasPanel"], descendants: true }, { propertyName: "meusDadosPanel", first: true, predicate: ["meusDadosPanel"], descendants: true }], ngImport: i0, template: "<div class=\"flex flex-row overflow-y-hidden w- full-container\">\r\n\r\n <div [style]=\"{minWidth: expandMenu ? '300px' : '60px'}\"></div>\r\n\r\n <p-sidebar\r\n #sidebarRef\r\n [visible]=\"true\"\r\n [showCloseIcon]=\"false\"\r\n [modal]=\"false\"\r\n [style]=\"{width: expandMenu ? '300px' : '60px'}\"\r\n >\r\n <ng-template pTemplate=\"headless\">\r\n <div class=\"flex flex-column {{expandMenu ? 'mx-1' : 'mx-1'}}\">\r\n <div class=\"flex flex-column gap-2 justify-content-between flex-shrink-0 mx-2\">\r\n <div\r\n class=\"flex flex-row align-items-center {{expandMenu ? 'justify-content-between' : 'justify-content-center'}} py-3\"\r\n >\r\n <img\r\n *ngIf=\"expandMenu\"\r\n alt=\"Card\"\r\n [src]=\"logoImage\"\r\n width=\"150\"\r\n />\r\n\r\n <button\r\n pButton\r\n class=\"p-button-rounded p-button-text flex align-items-center justify-content-center p-0 h-2rem w-2rem hover:bg-green-600 hover:text-white icon-menu\"\r\n (click)=\"toggleMenu()\"\r\n [pTooltip]=\"expandMenu ? 'Ocutar Menu' : 'Expandir Menu'\"\r\n [tooltipPosition]=\"'right'\"\r\n >\r\n <i class=\"material-symbols-outlined\">\r\n menu\r\n </i>\r\n </button>\r\n </div>\r\n\r\n <div\r\n class=\"flex flex-row align-items-center {{expandMenu ? 'justify-content-between' : 'justify-content-center'}}\"\r\n >\r\n <div\r\n class=\"flex flex-column cursor-pointer\"\r\n *ngIf=\"expandMenu\"\r\n (click)=\"visibleDialogLicenca = !visibleDialogLicenca\"\r\n >\r\n <span\r\n class=\"text-sm font-semibold mr-2\"\r\n [pTooltip]=\"this.licencaSelecionada.razaosocial\"\r\n [tooltipPosition]=\"'right'\"\r\n >\r\n {{\r\n MascaraNomeLicenca(this.licencaSelecionada.razaosocial)\r\n }}\r\n </span>\r\n <span class=\"text-sm mt-1\">{{MascaraCnpj(this.licencaSelecionada.cnpj)}}</span>\r\n </div>\r\n\r\n <button\r\n pButton\r\n class=\"p-button-rounded p-button-text flex align-items-center justify-content-center p-0 h-2rem w-2rem hover:bg-green-600 hover:text-white icon-menu\"\r\n (click)=\"visibleDialogLicenca = !visibleDialogLicenca\"\r\n [pTooltip]=\"'Alterar Licen\u00E7a'\"\r\n [tooltipPosition]=\"'right'\"\r\n >\r\n <i class=\"material-symbols-outlined\">\r\n sync_alt\r\n </i>\r\n </button>\r\n\r\n </div>\r\n <p-divider type=\"solid\"></p-divider>\r\n </div>\r\n\r\n <div\r\n class=\"list-none ajuste-padding m-0 card-container {{expandMenu ? 'mx-1' : ''}}\"\r\n [style.max-height]=\"(heigthCard - 220) + 'px'\"\r\n style=\"overflow-y: auto;\"\r\n >\r\n <!-- menus -->\r\n <li *ngFor=\"let menu of menus\">\r\n <!-- menu que n\u00E3o tem filho -->\r\n <a\r\n (click)=\"callRoute(menu.link)\"\r\n *ngIf=\"!menu.menupai && menu.idmenupai == 0\"\r\n pRipple\r\n [pTooltip]=\"!expandMenu ? menu.descricaomenu : ''\"\r\n [tooltipPosition]=\"'right'\"\r\n class=\"{{verificarPaginaSelecionada(menu.link)}} h-3rem flex align-items-center no-underline {{!expandMenu ? 'justify-content-center' : ''}} cursor-pointer ajuste-padding border-round text-700 hover:bg-green-600 hover:text-white transition-duration-150 transition-colors p-ripple\"\r\n >\r\n\r\n <i\r\n class=\"material-symbols-outlined icon-menu {{expandMenu ? 'ml-1 mr-2' : ''}}\"\r\n *ngIf=\"menu.icone && menu.icone !== ''\"\r\n >\r\n {{ menu.icone }}\r\n </i>\r\n <span\r\n class=\"text-base text-blue-900 font-medium\"\r\n *ngIf=\"expandMenu\"\r\n >{{ menu.descricaomenu }}</span>\r\n </a>\r\n\r\n <!-- menu com filho -->\r\n <div *ngIf=\"menu.menupai\">\r\n <a\r\n pRipple\r\n pStyleClass=\"@next\"\r\n enterClass=\"hidden\"\r\n enterActiveClass=\"slidedown\"\r\n leaveToClass=\"hidden\"\r\n leaveActiveClass=\"slideup\"\r\n class=\"h-3rem flex align-items-center {{!expandMenu ? 'justify-content-center' : 'justify-content-between'}} cursor-pointer ajuste-padding border-round text-700 hover:bg-green-600 hover:text-white transition-duration-150 transition-colors p-ripple\"\r\n [tooltipPosition]=\"'right'\"\r\n [pTooltip]=\"!expandMenu ? menu.descricaomenu : ''\"\r\n (click)=\"!expandMenu ? expandMenu = !expandMenu : ''\"\r\n >\r\n <div class=\"flex flex-row align-items-center\">\r\n\r\n <i\r\n class=\"material-symbols-outlined icon-menu {{expandMenu ? 'ml-1 mr-2' : ''}}\"\r\n *ngIf=\"menu.icone && menu.icone !== ''\"\r\n >\r\n {{ menu.icone }}\r\n </i>\r\n <span\r\n class=\"text-base text-blue-900 font-medium\"\r\n *ngIf=\"expandMenu\"\r\n >{{ menu.descricaomenu }}</span>\r\n </div>\r\n <i\r\n class=\"pi pi-chevron-down text-blue-900 mr-1\"\r\n *ngIf=\"expandMenu\"\r\n ></i>\r\n </a>\r\n\r\n <!-- filhos -->\r\n <div\r\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\"\r\n >\r\n <li *ngFor=\"\r\n let filho of retornarMenuFilhos(menu.idsistema, menu.idmenu)\r\n \">\r\n <a\r\n *ngIf=\"expandMenu\"\r\n (click)=\"callRoute(filho.link)\"\r\n pRipple\r\n class=\"{{verificarPaginaSelecionada(filho.link)}} flex align-items-center no-underline cursor-pointer ajuste-padding border-round text-700 hover:bg-green-600 hover:text-white transition-duration-150 transition-colors p-ripple p-2\"\r\n >\r\n <i\r\n class=\"pi pi-chart-line mr-2 ml-1 adjust-icon-menu\"\r\n *ngIf=\"filho.icone && filho.icone !== ''\"\r\n ></i>\r\n <span\r\n class=\"text-base text-blue-900\"\r\n *ngIf=\"expandMenu\"\r\n >{{ filho.descricaomenu }}</span>\r\n </a>\r\n </li>\r\n </div>\r\n </div>\r\n</div>\r\n</div>\r\n</ng-template>\r\n</p-sidebar>\r\n\r\n\r\n<div\r\n class=\"w-auto h-screen page-content overflow-y-hidden\"\r\n id=\"page-content\"\r\n>\r\n\r\n <div class=\"flex flex-row align-items-center justify-content-between m-3\">\r\n <div *ngIf=\"breadCrumbs\">\r\n <p class=\"text-xl font-semibold text-blue-900 breadcrumb-title\">{{breadCrumbItems[breadCrumbItems.length -\r\n 1]?.label}}</p>\r\n <p-breadcrumb\r\n *ngIf=\"widthCard > 400\"\r\n styleClass=\"border-none p-0 flex align-items-center h-2rem\"\r\n [model]=\"breadCrumbItems\"\r\n [style]=\"{backgroundColor: '#d4d3d3'}\"\r\n (onItemClick)=\"callRoute($event.item.routerLink, true)\"\r\n ></p-breadcrumb>\r\n </div>\r\n\r\n <div *ngIf=\"!breadCrumbs\"></div>\r\n\r\n <div class=\"w-auto flex flex-row align-items-center gap-2\">\r\n <button\r\n pButton\r\n class=\"p-button-rounded p-button-text flex align-items-center justify-content-center p-0 h-2rem w-2rem hover:bg-green-600 hover:text-white icon-menu\"\r\n (click)=\"sistemasPanel.toggle($event)\"\r\n [pTooltip]=\"'Sistemas'\"\r\n [tooltipPosition]=\"'left'\"\r\n >\r\n <i class=\"material-symbols-outlined\">\r\n apps\r\n </i>\r\n </button>\r\n <button\r\n pButton\r\n class=\"p-button-rounded p-button-text flex align-items-center justify-content-center p-0 h-2rem w-2rem hover:bg-green-600 hover:text-white icon-menu\"\r\n (click)=\"meusDadosPanel.toggle($event)\"\r\n [pTooltip]=\"'Menu do Usu\u00E1rio'\"\r\n [tooltipPosition]=\"'left'\"\r\n >\r\n <i class=\"material-symbols-outlined\">\r\n person\r\n </i>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n\r\n <p-card\r\n class=\"card-container\"\r\n styleClass=\"m-3 border-noround overflow-y-auto card-container\"\r\n [style]=\"{height: heigthCard - ajustarHeigthCard() + 'px'}\"\r\n >\r\n <div class=\"card-container w-full\">\r\n <ng-content></ng-content>\r\n </div>\r\n </p-card>\r\n\r\n</div>\r\n\r\n\r\n</div>\r\n\r\n<p-overlayPanel\r\n #sistemasPanel\r\n [showTransitionOptions]=\"'350ms ease-out'\"\r\n [hideTransitionOptions]=\"'250ms ease-in'\"\r\n>\r\n\r\n <ng-template pTemplate=\"container\">\r\n\r\n <p class=\"title-style mt-3\">Sistemas</p>\r\n <div\r\n class=\"flex flex-row flex-wrap gap-2 align-items-center justify-content-center mt-5 mb-3\"\r\n style=\"width: 250px; height: 100%;\"\r\n >\r\n <button\r\n *ngFor=\"let menu of menuCompleto\"\r\n pButton\r\n pRipple\r\n class=\"btn-sistema-2 btn-sistema hover-btn-cor-padrao remove-focus h-4rem w-4rem\"\r\n (click)=\"definirMenusPorSistema(menu.sistema.idsistema)\"\r\n [pTooltip]=\"menu.sistema.descricaosistema\"\r\n [tooltipPosition]=\"'left'\"\r\n >\r\n <!-- <img\r\n alt=\"logo\"\r\n style=\"width: 2rem; height: 2rem;\"\r\n /> -->\r\n {{ menu.sistema.nomesistema.charAt(0).toUpperCase() }}\r\n\r\n </button>\r\n\r\n\r\n <!-- <p-button styleClass=\"p-button-outlined\">\r\n <img alt=\"logo\" src=\"https://primefaces.org/cdn/primeng/images/primeng-icon.svg\" style=\"width: 1.5rem\" />\r\n <span class=\"ml-2 font-bold\">PrimeNG</span>\r\n </p-button> -->\r\n\r\n </div>\r\n </ng-template>\r\n</p-overlayPanel>\r\n\r\n<p-overlayPanel\r\n #meusDadosPanel\r\n [showTransitionOptions]=\"'350ms ease-out'\"\r\n [hideTransitionOptions]=\"'250ms ease-in'\"\r\n>\r\n\r\n <ng-template pTemplate=\"container\">\r\n\r\n <p class=\"title-style mt-3\">Ol\u00E1, {{nomeUsuario ? nomeUsuario.split(' ')[0] : 'Usu\u00E1rio'}} !</p>\r\n <div class=\"mt-5 mb-3\">\r\n\r\n </div>\r\n\r\n <p-button\r\n icon=\"pi pi-lock\"\r\n label=\"Ger\u00EAnciar KeevoPass\"\r\n (onClick)=\"gerenciarKeePass($event)\"\r\n styleClass=\"border-noround w-full p-button-text text-blue-900\"\r\n [disabled]=\"true\"\r\n ></p-button>\r\n <p-button\r\n icon=\"pi pi-sign-out\"\r\n label=\"Sair\"\r\n (onClick)=\"sair($event)\"\r\n styleClass=\"border-noround w-full p-button-text text-blue-900\"\r\n ></p-button>\r\n </ng-template>\r\n\r\n</p-overlayPanel>\r\n\r\n<p-dialog\r\n [(visible)]=\"visibleDialogLicenca\"\r\n [modal]=\"true\"\r\n [draggable]=\"false\"\r\n header=\"Trocar Licen\u00E7a\"\r\n [style]=\"{width: '50vh' }\"\r\n>\r\n <div class=\"flex flex-column align-items-end\">\r\n\r\n <div class=\"w-full\">\r\n <p-dropdown\r\n styleClass=\"w-full\"\r\n [options]=\"licencasOptions\"\r\n [(ngModel)]=\"licencaSelected\"\r\n optionLabel=\"descricao\"\r\n ></p-dropdown>\r\n </div>\r\n\r\n <kv-button-success\r\n [label]=\"'Salvar'\"\r\n class=\"mt-2\"\r\n (onClick)=\"setLicenca()\"\r\n ></kv-button-success>\r\n\r\n </div>\r\n\r\n</p-dialog>", styles: ["@charset \"UTF-8\";.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}.ajuste-padding{color:red}.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}.page-content{background:linear-gradient(to bottom,#d4d3d3 20%,#ffffff 30%)}*{margin:0}p .item-menu{color:#0c3e66;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol}::ng-deep .p-breadcrumb ul li:last-child .p-menuitem-text{font-weight:700}::ng-deep .p-breadcrumb ul li .p-menuitem-link .p-menuitem-text{color:#0c3e66!important;font-weight:500}span,.breadcrumb-title{font-size:15px!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol}::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}\n"], dependencies: [{ 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: i1$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i1$2.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "component", type: i1$2.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass", "ariaLabel"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: i9$1.Card, selector: "p-card", inputs: ["header", "subheader", "style", "styleClass"] }, { kind: "directive", type: i2$2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i7$1.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "component", type: i9.Divider, selector: "p-divider", inputs: ["styleClass", "style", "layout", "type", "align"] }, { kind: "component", type: i10.Dropdown, selector: "p-dropdown", inputs: ["scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "overlayDirection", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "component", type: i10$1.OverlayPanel, selector: "p-overlayPanel", inputs: ["dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "directive", type: i2$3.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.StyleClass, selector: "[pStyleClass]", inputs: ["pStyleClass", "enterClass", "enterActiveClass", "enterToClass", "leaveClass", "leaveActiveClass", "leaveToClass", "hideOnOutsideClick", "toggleClass", "hideOnEscape"] }, { kind: "component", type: i14$1.Breadcrumb, selector: "p-breadcrumb", inputs: ["model", "style", "styleClass", "home", "homeAriaLabel"], outputs: ["onItemClick"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ButtonSuccessComponent, selector: "kv-button-success" }] });
2503
2510
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MenuComponent, decorators: [{
2504
2511
  type: Component,
2505
- args: [{ selector: 'kv-menu', template: "<div class=\"flex flex-row overflow-y-hidden w- full-container\">\r\n\r\n <div [style]=\"{minWidth: expandMenu ? '300px' : '60px'}\"></div>\r\n\r\n <p-sidebar\r\n #sidebarRef\r\n [visible]=\"true\"\r\n [showCloseIcon]=\"false\"\r\n [modal]=\"false\"\r\n [style]=\"{width: expandMenu ? '300px' : '60px'}\"\r\n >\r\n <ng-template pTemplate=\"headless\">\r\n <div class=\"flex flex-column {{expandMenu ? 'mx-1' : 'mx-1'}}\">\r\n <div class=\"flex flex-column gap-2 justify-content-between flex-shrink-0 mx-2\">\r\n <div\r\n class=\"flex flex-row align-items-center {{expandMenu ? 'justify-content-between' : 'justify-content-center'}} py-3\"\r\n >\r\n <img\r\n *ngIf=\"expandMenu\"\r\n alt=\"Card\"\r\n [src]=\"logoImage\"\r\n width=\"150\"\r\n />\r\n\r\n <button\r\n pButton\r\n class=\"p-button-rounded p-button-text flex align-items-center justify-content-center p-0 h-2rem w-2rem hover:bg-green-600 hover:text-white icon-menu\"\r\n (click)=\"toggleMenu()\"\r\n [pTooltip]=\"expandMenu ? 'Ocutar Menu' : 'Expandir Menu'\"\r\n [tooltipPosition]=\"'right'\"\r\n >\r\n <i class=\"material-symbols-outlined\">\r\n menu\r\n </i>\r\n </button>\r\n </div>\r\n\r\n <div\r\n class=\"flex flex-row align-items-center {{expandMenu ? 'justify-content-between' : 'justify-content-center'}}\"\r\n >\r\n <div\r\n class=\"flex flex-column cursor-pointer\"\r\n *ngIf=\"expandMenu\"\r\n (click)=\"visibleDialogLicenca = !visibleDialogLicenca\"\r\n >\r\n <span\r\n class=\"text-sm font-semibold mr-2\"\r\n [pTooltip]=\"this.licencaSelecionada.razaosocial\"\r\n [tooltipPosition]=\"'right'\"\r\n >\r\n {{\r\n MascaraNomeLicenca(this.licencaSelecionada.razaosocial)\r\n }}\r\n </span>\r\n <span class=\"text-sm mt-1\">{{MascaraCnpj(this.licencaSelecionada.cnpj)}}</span>\r\n </div>\r\n\r\n <button\r\n pButton\r\n class=\"p-button-rounded p-button-text flex align-items-center justify-content-center p-0 h-2rem w-2rem hover:bg-green-600 hover:text-white icon-menu\"\r\n (click)=\"visibleDialogLicenca = !visibleDialogLicenca\"\r\n [pTooltip]=\"'Alterar Licen\u00E7a'\"\r\n [tooltipPosition]=\"'right'\"\r\n >\r\n <i class=\"material-symbols-outlined\">\r\n sync_alt\r\n </i>\r\n </button>\r\n\r\n </div>\r\n <p-divider type=\"solid\"></p-divider>\r\n </div>\r\n\r\n <div\r\n class=\"list-none ajuste-padding m-0 card-container {{expandMenu ? 'mx-1' : ''}}\"\r\n [style.max-height]=\"(heigthCard - 220) + 'px'\"\r\n style=\"overflow-y: auto;\"\r\n >\r\n <!-- menus -->\r\n <li *ngFor=\"let menu of menus\">\r\n <!-- menu que n\u00E3o tem filho -->\r\n <a\r\n (click)=\"callRoute(menu.link)\"\r\n *ngIf=\"!menu.menupai && menu.idmenupai == 0\"\r\n pRipple\r\n [pTooltip]=\"!expandMenu ? menu.descricaomenu : ''\"\r\n [tooltipPosition]=\"'right'\"\r\n class=\"h-3rem flex align-items-center no-underline {{!expandMenu ? 'justify-content-center' : ''}} cursor-pointer ajuste-padding border-round text-700 hover:bg-green-600 hover:text-white transition-duration-150 transition-colors p-ripple\"\r\n >\r\n\r\n <i\r\n class=\"material-symbols-outlined icon-menu {{expandMenu ? 'ml-1 mr-2' : ''}}\"\r\n *ngIf=\"menu.icone && menu.icone !== ''\"\r\n >\r\n {{ menu.icone }}\r\n </i>\r\n <span\r\n class=\"text-base text-blue-900 font-medium\"\r\n *ngIf=\"expandMenu\"\r\n >{{ menu.descricaomenu }}</span>\r\n </a>\r\n\r\n <!-- menu com filho -->\r\n <div *ngIf=\"menu.menupai\">\r\n <a\r\n pRipple\r\n pStyleClass=\"@next\"\r\n enterClass=\"hidden\"\r\n enterActiveClass=\"slidedown\"\r\n leaveToClass=\"hidden\"\r\n leaveActiveClass=\"slideup\"\r\n class=\"h-3rem flex align-items-center {{!expandMenu ? 'justify-content-center' : 'justify-content-between'}} cursor-pointer ajuste-padding border-round text-700 hover:bg-green-600 hover:text-white transition-duration-150 transition-colors p-ripple\"\r\n [tooltipPosition]=\"'right'\"\r\n [pTooltip]=\"!expandMenu ? menu.descricaomenu : ''\"\r\n (click)=\"!expandMenu ? expandMenu = !expandMenu : ''\"\r\n >\r\n <div class=\"flex flex-row align-items-center\">\r\n\r\n <i\r\n class=\"material-symbols-outlined icon-menu {{expandMenu ? 'ml-1 mr-2' : ''}}\"\r\n *ngIf=\"menu.icone && menu.icone !== ''\"\r\n >\r\n {{ menu.icone }}\r\n </i>\r\n <span\r\n class=\"text-base text-blue-900 font-medium\"\r\n *ngIf=\"expandMenu\"\r\n >{{ menu.descricaomenu }}</span>\r\n </div>\r\n <i\r\n class=\"pi pi-chevron-down text-blue-900 mr-1\"\r\n *ngIf=\"expandMenu\"\r\n ></i>\r\n </a>\r\n\r\n <!-- filhos -->\r\n <div\r\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\"\r\n >\r\n <li *ngFor=\"\r\n let filho of retornarMenuFilhos(menu.idsistema, menu.idmenu)\r\n \">\r\n <a\r\n *ngIf=\"expandMenu\"\r\n (click)=\"callRoute(filho.link)\"\r\n pRipple\r\n class=\"flex align-items-center no-underline cursor-pointer ajuste-padding border-round text-700 hover:bg-green-600 hover:text-white transition-duration-150 transition-colors p-ripple p-2\"\r\n >\r\n <i\r\n class=\"pi pi-chart-line mr-2 ml-1 adjust-icon-menu\"\r\n *ngIf=\"filho.icone && filho.icone !== ''\"\r\n ></i>\r\n <span\r\n class=\"text-base text-blue-900\"\r\n *ngIf=\"expandMenu\"\r\n >{{ filho.descricaomenu }}</span>\r\n </a>\r\n </li>\r\n </div>\r\n </div>\r\n</div>\r\n</div>\r\n</ng-template>\r\n</p-sidebar>\r\n\r\n\r\n<div\r\n class=\"w-auto h-screen page-content overflow-y-hidden\"\r\n id=\"page-content\"\r\n>\r\n\r\n <div class=\"flex flex-row align-items-center justify-content-between m-3\">\r\n <div *ngIf=\"breadCrumbs\">\r\n <p class=\"text-xl font-semibold text-blue-900 breadcrumb-title\">{{breadCrumbItems[breadCrumbItems.length -\r\n 1]?.label}}</p>\r\n <p-breadcrumb\r\n *ngIf=\"widthCard > 400\"\r\n styleClass=\"border-none p-0 flex align-items-center h-2rem\"\r\n [model]=\"breadCrumbItems\"\r\n [style]=\"{backgroundColor: '#d4d3d3'}\"\r\n (onItemClick)=\"callRoute($event.item.routerLink, true)\"\r\n ></p-breadcrumb>\r\n </div>\r\n\r\n <div *ngIf=\"!breadCrumbs\"></div>\r\n\r\n <div class=\"w-auto flex flex-row align-items-center gap-2\">\r\n <button\r\n pButton\r\n class=\"p-button-rounded p-button-text flex align-items-center justify-content-center p-0 h-2rem w-2rem hover:bg-green-600 hover:text-white icon-menu\"\r\n (click)=\"sistemasPanel.toggle($event)\"\r\n [pTooltip]=\"'Sistemas'\"\r\n [tooltipPosition]=\"'left'\"\r\n >\r\n <i class=\"material-symbols-outlined\">\r\n apps\r\n </i>\r\n </button>\r\n <button\r\n pButton\r\n class=\"p-button-rounded p-button-text flex align-items-center justify-content-center p-0 h-2rem w-2rem hover:bg-green-600 hover:text-white icon-menu\"\r\n (click)=\"meusDadosPanel.toggle($event)\"\r\n [pTooltip]=\"'Menu do Usu\u00E1rio'\"\r\n [tooltipPosition]=\"'left'\"\r\n >\r\n <i class=\"material-symbols-outlined\">\r\n person\r\n </i>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n\r\n <p-card\r\n class=\"card-container\"\r\n styleClass=\"m-3 border-noround overflow-y-auto card-container\"\r\n [style]=\"{height: heigthCard - ajustarHeigthCard() + 'px'}\"\r\n >\r\n <div class=\"card-container w-full\">\r\n <ng-content></ng-content>\r\n </div>\r\n </p-card>\r\n\r\n</div>\r\n\r\n\r\n</div>\r\n\r\n<p-overlayPanel\r\n #sistemasPanel\r\n [showTransitionOptions]=\"'350ms ease-out'\"\r\n [hideTransitionOptions]=\"'250ms ease-in'\"\r\n>\r\n\r\n <ng-template pTemplate=\"container\">\r\n\r\n <p class=\"title-style mt-3\">Sistemas</p>\r\n <div\r\n class=\"flex flex-row flex-wrap gap-2 align-items-center justify-content-center mt-5 mb-3\"\r\n style=\"width: 250px; height: 100%;\"\r\n >\r\n <button\r\n *ngFor=\"let menu of menuCompleto\"\r\n pButton\r\n pRipple\r\n class=\"btn-sistema-2 btn-sistema hover-btn-cor-padrao remove-focus h-4rem w-4rem\"\r\n (click)=\"definirMenusPorSistema(menu.sistema.idsistema)\"\r\n [pTooltip]=\"menu.sistema.descricaosistema\"\r\n [tooltipPosition]=\"'left'\"\r\n >\r\n <!-- <img\r\n alt=\"logo\"\r\n style=\"width: 2rem; height: 2rem;\"\r\n /> -->\r\n {{ menu.sistema.nomesistema.charAt(0).toUpperCase() }}\r\n\r\n </button>\r\n\r\n\r\n <!-- <p-button styleClass=\"p-button-outlined\">\r\n <img alt=\"logo\" src=\"https://primefaces.org/cdn/primeng/images/primeng-icon.svg\" style=\"width: 1.5rem\" />\r\n <span class=\"ml-2 font-bold\">PrimeNG</span>\r\n </p-button> -->\r\n\r\n </div>\r\n </ng-template>\r\n</p-overlayPanel>\r\n\r\n<p-overlayPanel\r\n #meusDadosPanel\r\n [showTransitionOptions]=\"'350ms ease-out'\"\r\n [hideTransitionOptions]=\"'250ms ease-in'\"\r\n>\r\n\r\n <ng-template pTemplate=\"container\">\r\n\r\n <p class=\"title-style mt-3\">Ol\u00E1, {{nomeUsuario ? nomeUsuario.split(' ')[0] : 'Usu\u00E1rio'}} !</p>\r\n <div class=\"mt-5 mb-3\">\r\n\r\n </div>\r\n\r\n <p-button\r\n icon=\"pi pi-lock\"\r\n label=\"Ger\u00EAnciar KeevoPass\"\r\n (onClick)=\"gerenciarKeePass($event)\"\r\n styleClass=\"border-noround w-full p-button-text text-blue-900\"\r\n [disabled]=\"true\"\r\n ></p-button>\r\n <p-button\r\n icon=\"pi pi-sign-out\"\r\n label=\"Sair\"\r\n (onClick)=\"sair($event)\"\r\n styleClass=\"border-noround w-full p-button-text text-blue-900\"\r\n ></p-button>\r\n </ng-template>\r\n\r\n</p-overlayPanel>\r\n\r\n<p-dialog\r\n [(visible)]=\"visibleDialogLicenca\"\r\n [modal]=\"true\"\r\n [draggable]=\"false\"\r\n header=\"Trocar Licen\u00E7a\"\r\n [style]=\"{width: '50vh' }\"\r\n>\r\n <div class=\"flex flex-column align-items-end\">\r\n\r\n <div class=\"w-full\">\r\n <p-dropdown\r\n styleClass=\"w-full\"\r\n [options]=\"licencasOptions\"\r\n [(ngModel)]=\"licencaSelected\"\r\n optionLabel=\"descricao\"\r\n ></p-dropdown>\r\n </div>\r\n\r\n <kv-button-success\r\n [label]=\"'Salvar'\"\r\n class=\"mt-2\"\r\n (onClick)=\"setLicenca()\"\r\n ></kv-button-success>\r\n\r\n </div>\r\n\r\n</p-dialog>", styles: ["@charset \"UTF-8\";.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}.ajuste-padding{color:red}.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}.page-content{background:linear-gradient(to bottom,#d4d3d3 20%,#ffffff 30%)}*{margin:0}p .item-menu{color:#0c3e66;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol}::ng-deep .p-breadcrumb ul li:last-child .p-menuitem-text{font-weight:700}::ng-deep .p-breadcrumb ul li .p-menuitem-link .p-menuitem-text{color:#0c3e66!important;font-weight:500}span,.breadcrumb-title{font-size:15px!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol}::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}\n"] }]
2512
+ args: [{ selector: 'kv-menu', template: "<div class=\"flex flex-row overflow-y-hidden w- full-container\">\r\n\r\n <div [style]=\"{minWidth: expandMenu ? '300px' : '60px'}\"></div>\r\n\r\n <p-sidebar\r\n #sidebarRef\r\n [visible]=\"true\"\r\n [showCloseIcon]=\"false\"\r\n [modal]=\"false\"\r\n [style]=\"{width: expandMenu ? '300px' : '60px'}\"\r\n >\r\n <ng-template pTemplate=\"headless\">\r\n <div class=\"flex flex-column {{expandMenu ? 'mx-1' : 'mx-1'}}\">\r\n <div class=\"flex flex-column gap-2 justify-content-between flex-shrink-0 mx-2\">\r\n <div\r\n class=\"flex flex-row align-items-center {{expandMenu ? 'justify-content-between' : 'justify-content-center'}} py-3\"\r\n >\r\n <img\r\n *ngIf=\"expandMenu\"\r\n alt=\"Card\"\r\n [src]=\"logoImage\"\r\n width=\"150\"\r\n />\r\n\r\n <button\r\n pButton\r\n class=\"p-button-rounded p-button-text flex align-items-center justify-content-center p-0 h-2rem w-2rem hover:bg-green-600 hover:text-white icon-menu\"\r\n (click)=\"toggleMenu()\"\r\n [pTooltip]=\"expandMenu ? 'Ocutar Menu' : 'Expandir Menu'\"\r\n [tooltipPosition]=\"'right'\"\r\n >\r\n <i class=\"material-symbols-outlined\">\r\n menu\r\n </i>\r\n </button>\r\n </div>\r\n\r\n <div\r\n class=\"flex flex-row align-items-center {{expandMenu ? 'justify-content-between' : 'justify-content-center'}}\"\r\n >\r\n <div\r\n class=\"flex flex-column cursor-pointer\"\r\n *ngIf=\"expandMenu\"\r\n (click)=\"visibleDialogLicenca = !visibleDialogLicenca\"\r\n >\r\n <span\r\n class=\"text-sm font-semibold mr-2\"\r\n [pTooltip]=\"this.licencaSelecionada.razaosocial\"\r\n [tooltipPosition]=\"'right'\"\r\n >\r\n {{\r\n MascaraNomeLicenca(this.licencaSelecionada.razaosocial)\r\n }}\r\n </span>\r\n <span class=\"text-sm mt-1\">{{MascaraCnpj(this.licencaSelecionada.cnpj)}}</span>\r\n </div>\r\n\r\n <button\r\n pButton\r\n class=\"p-button-rounded p-button-text flex align-items-center justify-content-center p-0 h-2rem w-2rem hover:bg-green-600 hover:text-white icon-menu\"\r\n (click)=\"visibleDialogLicenca = !visibleDialogLicenca\"\r\n [pTooltip]=\"'Alterar Licen\u00E7a'\"\r\n [tooltipPosition]=\"'right'\"\r\n >\r\n <i class=\"material-symbols-outlined\">\r\n sync_alt\r\n </i>\r\n </button>\r\n\r\n </div>\r\n <p-divider type=\"solid\"></p-divider>\r\n </div>\r\n\r\n <div\r\n class=\"list-none ajuste-padding m-0 card-container {{expandMenu ? 'mx-1' : ''}}\"\r\n [style.max-height]=\"(heigthCard - 220) + 'px'\"\r\n style=\"overflow-y: auto;\"\r\n >\r\n <!-- menus -->\r\n <li *ngFor=\"let menu of menus\">\r\n <!-- menu que n\u00E3o tem filho -->\r\n <a\r\n (click)=\"callRoute(menu.link)\"\r\n *ngIf=\"!menu.menupai && menu.idmenupai == 0\"\r\n pRipple\r\n [pTooltip]=\"!expandMenu ? menu.descricaomenu : ''\"\r\n [tooltipPosition]=\"'right'\"\r\n class=\"{{verificarPaginaSelecionada(menu.link)}} h-3rem flex align-items-center no-underline {{!expandMenu ? 'justify-content-center' : ''}} cursor-pointer ajuste-padding border-round text-700 hover:bg-green-600 hover:text-white transition-duration-150 transition-colors p-ripple\"\r\n >\r\n\r\n <i\r\n class=\"material-symbols-outlined icon-menu {{expandMenu ? 'ml-1 mr-2' : ''}}\"\r\n *ngIf=\"menu.icone && menu.icone !== ''\"\r\n >\r\n {{ menu.icone }}\r\n </i>\r\n <span\r\n class=\"text-base text-blue-900 font-medium\"\r\n *ngIf=\"expandMenu\"\r\n >{{ menu.descricaomenu }}</span>\r\n </a>\r\n\r\n <!-- menu com filho -->\r\n <div *ngIf=\"menu.menupai\">\r\n <a\r\n pRipple\r\n pStyleClass=\"@next\"\r\n enterClass=\"hidden\"\r\n enterActiveClass=\"slidedown\"\r\n leaveToClass=\"hidden\"\r\n leaveActiveClass=\"slideup\"\r\n class=\"h-3rem flex align-items-center {{!expandMenu ? 'justify-content-center' : 'justify-content-between'}} cursor-pointer ajuste-padding border-round text-700 hover:bg-green-600 hover:text-white transition-duration-150 transition-colors p-ripple\"\r\n [tooltipPosition]=\"'right'\"\r\n [pTooltip]=\"!expandMenu ? menu.descricaomenu : ''\"\r\n (click)=\"!expandMenu ? expandMenu = !expandMenu : ''\"\r\n >\r\n <div class=\"flex flex-row align-items-center\">\r\n\r\n <i\r\n class=\"material-symbols-outlined icon-menu {{expandMenu ? 'ml-1 mr-2' : ''}}\"\r\n *ngIf=\"menu.icone && menu.icone !== ''\"\r\n >\r\n {{ menu.icone }}\r\n </i>\r\n <span\r\n class=\"text-base text-blue-900 font-medium\"\r\n *ngIf=\"expandMenu\"\r\n >{{ menu.descricaomenu }}</span>\r\n </div>\r\n <i\r\n class=\"pi pi-chevron-down text-blue-900 mr-1\"\r\n *ngIf=\"expandMenu\"\r\n ></i>\r\n </a>\r\n\r\n <!-- filhos -->\r\n <div\r\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\"\r\n >\r\n <li *ngFor=\"\r\n let filho of retornarMenuFilhos(menu.idsistema, menu.idmenu)\r\n \">\r\n <a\r\n *ngIf=\"expandMenu\"\r\n (click)=\"callRoute(filho.link)\"\r\n pRipple\r\n class=\"{{verificarPaginaSelecionada(filho.link)}} flex align-items-center no-underline cursor-pointer ajuste-padding border-round text-700 hover:bg-green-600 hover:text-white transition-duration-150 transition-colors p-ripple p-2\"\r\n >\r\n <i\r\n class=\"pi pi-chart-line mr-2 ml-1 adjust-icon-menu\"\r\n *ngIf=\"filho.icone && filho.icone !== ''\"\r\n ></i>\r\n <span\r\n class=\"text-base text-blue-900\"\r\n *ngIf=\"expandMenu\"\r\n >{{ filho.descricaomenu }}</span>\r\n </a>\r\n </li>\r\n </div>\r\n </div>\r\n</div>\r\n</div>\r\n</ng-template>\r\n</p-sidebar>\r\n\r\n\r\n<div\r\n class=\"w-auto h-screen page-content overflow-y-hidden\"\r\n id=\"page-content\"\r\n>\r\n\r\n <div class=\"flex flex-row align-items-center justify-content-between m-3\">\r\n <div *ngIf=\"breadCrumbs\">\r\n <p class=\"text-xl font-semibold text-blue-900 breadcrumb-title\">{{breadCrumbItems[breadCrumbItems.length -\r\n 1]?.label}}</p>\r\n <p-breadcrumb\r\n *ngIf=\"widthCard > 400\"\r\n styleClass=\"border-none p-0 flex align-items-center h-2rem\"\r\n [model]=\"breadCrumbItems\"\r\n [style]=\"{backgroundColor: '#d4d3d3'}\"\r\n (onItemClick)=\"callRoute($event.item.routerLink, true)\"\r\n ></p-breadcrumb>\r\n </div>\r\n\r\n <div *ngIf=\"!breadCrumbs\"></div>\r\n\r\n <div class=\"w-auto flex flex-row align-items-center gap-2\">\r\n <button\r\n pButton\r\n class=\"p-button-rounded p-button-text flex align-items-center justify-content-center p-0 h-2rem w-2rem hover:bg-green-600 hover:text-white icon-menu\"\r\n (click)=\"sistemasPanel.toggle($event)\"\r\n [pTooltip]=\"'Sistemas'\"\r\n [tooltipPosition]=\"'left'\"\r\n >\r\n <i class=\"material-symbols-outlined\">\r\n apps\r\n </i>\r\n </button>\r\n <button\r\n pButton\r\n class=\"p-button-rounded p-button-text flex align-items-center justify-content-center p-0 h-2rem w-2rem hover:bg-green-600 hover:text-white icon-menu\"\r\n (click)=\"meusDadosPanel.toggle($event)\"\r\n [pTooltip]=\"'Menu do Usu\u00E1rio'\"\r\n [tooltipPosition]=\"'left'\"\r\n >\r\n <i class=\"material-symbols-outlined\">\r\n person\r\n </i>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n\r\n <p-card\r\n class=\"card-container\"\r\n styleClass=\"m-3 border-noround overflow-y-auto card-container\"\r\n [style]=\"{height: heigthCard - ajustarHeigthCard() + 'px'}\"\r\n >\r\n <div class=\"card-container w-full\">\r\n <ng-content></ng-content>\r\n </div>\r\n </p-card>\r\n\r\n</div>\r\n\r\n\r\n</div>\r\n\r\n<p-overlayPanel\r\n #sistemasPanel\r\n [showTransitionOptions]=\"'350ms ease-out'\"\r\n [hideTransitionOptions]=\"'250ms ease-in'\"\r\n>\r\n\r\n <ng-template pTemplate=\"container\">\r\n\r\n <p class=\"title-style mt-3\">Sistemas</p>\r\n <div\r\n class=\"flex flex-row flex-wrap gap-2 align-items-center justify-content-center mt-5 mb-3\"\r\n style=\"width: 250px; height: 100%;\"\r\n >\r\n <button\r\n *ngFor=\"let menu of menuCompleto\"\r\n pButton\r\n pRipple\r\n class=\"btn-sistema-2 btn-sistema hover-btn-cor-padrao remove-focus h-4rem w-4rem\"\r\n (click)=\"definirMenusPorSistema(menu.sistema.idsistema)\"\r\n [pTooltip]=\"menu.sistema.descricaosistema\"\r\n [tooltipPosition]=\"'left'\"\r\n >\r\n <!-- <img\r\n alt=\"logo\"\r\n style=\"width: 2rem; height: 2rem;\"\r\n /> -->\r\n {{ menu.sistema.nomesistema.charAt(0).toUpperCase() }}\r\n\r\n </button>\r\n\r\n\r\n <!-- <p-button styleClass=\"p-button-outlined\">\r\n <img alt=\"logo\" src=\"https://primefaces.org/cdn/primeng/images/primeng-icon.svg\" style=\"width: 1.5rem\" />\r\n <span class=\"ml-2 font-bold\">PrimeNG</span>\r\n </p-button> -->\r\n\r\n </div>\r\n </ng-template>\r\n</p-overlayPanel>\r\n\r\n<p-overlayPanel\r\n #meusDadosPanel\r\n [showTransitionOptions]=\"'350ms ease-out'\"\r\n [hideTransitionOptions]=\"'250ms ease-in'\"\r\n>\r\n\r\n <ng-template pTemplate=\"container\">\r\n\r\n <p class=\"title-style mt-3\">Ol\u00E1, {{nomeUsuario ? nomeUsuario.split(' ')[0] : 'Usu\u00E1rio'}} !</p>\r\n <div class=\"mt-5 mb-3\">\r\n\r\n </div>\r\n\r\n <p-button\r\n icon=\"pi pi-lock\"\r\n label=\"Ger\u00EAnciar KeevoPass\"\r\n (onClick)=\"gerenciarKeePass($event)\"\r\n styleClass=\"border-noround w-full p-button-text text-blue-900\"\r\n [disabled]=\"true\"\r\n ></p-button>\r\n <p-button\r\n icon=\"pi pi-sign-out\"\r\n label=\"Sair\"\r\n (onClick)=\"sair($event)\"\r\n styleClass=\"border-noround w-full p-button-text text-blue-900\"\r\n ></p-button>\r\n </ng-template>\r\n\r\n</p-overlayPanel>\r\n\r\n<p-dialog\r\n [(visible)]=\"visibleDialogLicenca\"\r\n [modal]=\"true\"\r\n [draggable]=\"false\"\r\n header=\"Trocar Licen\u00E7a\"\r\n [style]=\"{width: '50vh' }\"\r\n>\r\n <div class=\"flex flex-column align-items-end\">\r\n\r\n <div class=\"w-full\">\r\n <p-dropdown\r\n styleClass=\"w-full\"\r\n [options]=\"licencasOptions\"\r\n [(ngModel)]=\"licencaSelected\"\r\n optionLabel=\"descricao\"\r\n ></p-dropdown>\r\n </div>\r\n\r\n <kv-button-success\r\n [label]=\"'Salvar'\"\r\n class=\"mt-2\"\r\n (onClick)=\"setLicenca()\"\r\n ></kv-button-success>\r\n\r\n </div>\r\n\r\n</p-dialog>", styles: ["@charset \"UTF-8\";.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}.ajuste-padding{color:red}.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}.page-content{background:linear-gradient(to bottom,#d4d3d3 20%,#ffffff 30%)}*{margin:0}p .item-menu{color:#0c3e66;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol}::ng-deep .p-breadcrumb ul li:last-child .p-menuitem-text{font-weight:700}::ng-deep .p-breadcrumb ul li .p-menuitem-link .p-menuitem-text{color:#0c3e66!important;font-weight:500}span,.breadcrumb-title{font-size:15px!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol}::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}\n"] }]
2506
2513
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1$4.Router }, { type: i1$4.ActivatedRoute }]; }, propDecorators: { menuCompleto: [{
2507
2514
  type: Input
2508
2515
  }], licencas: [{
@@ -2607,6 +2614,8 @@ class TreeTableComponent {
2607
2614
  this.telefonePipe = telefonePipe;
2608
2615
  this.selectedItems = [];
2609
2616
  this.acoesLinhaTabela = true;
2617
+ this.espacamentoPai = '2px';
2618
+ this.espacamentoLateral = true;
2610
2619
  this.rows = 5;
2611
2620
  this.paginator = true;
2612
2621
  this.rightCollapse = false;
@@ -2738,14 +2747,14 @@ class TreeTableComponent {
2738
2747
  }
2739
2748
  return false;
2740
2749
  }
2741
- criarMenusModal(data) {
2750
+ criarMenusModal(data, rowNode) {
2742
2751
  if (this.config.actions && data) {
2743
2752
  const items = this.config.actions.map((action) => {
2744
2753
  const icon = this.retornarCampo(action, data, 'icon');
2745
2754
  const tooltip = this.retornarCampo(action, data, 'tooltip');
2746
2755
  const label = this.retornarCampo(action, data, 'label');
2747
2756
  const command = this.retornarCampo(action, data, 'command');
2748
- const visible = action.visible ? action.visible(data) : true;
2757
+ const visible = action.visible ? action.visible(data, rowNode) : true;
2749
2758
  const disabled = action.disabled
2750
2759
  ? action.disabled(data)
2751
2760
  : false;
@@ -2780,12 +2789,23 @@ class TreeTableComponent {
2780
2789
  recuperarRowNode(rowNode) {
2781
2790
  return rowNode;
2782
2791
  }
2792
+ validaLinhaAcaoVazia(rowData, rowNode) {
2793
+ var algumItemVisivel = this.config.actions.some(a => {
2794
+ if (typeof a.visible === 'function') {
2795
+ return a.visible(rowData, rowNode) === true;
2796
+ }
2797
+ else {
2798
+ return true; // Retorna true se a.visible(rowData) não existir
2799
+ }
2800
+ });
2801
+ return !algumItemVisivel;
2802
+ }
2783
2803
  }
2784
2804
  TreeTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TreeTableComponent, deps: [{ token: i1.DatePipe }, { token: i1.DecimalPipe }, { token: CodigoFipePipe }, { token: CpfCnpjPipe }, { token: TelefonePipe }], target: i0.ɵɵFactoryTarget.Component });
2785
- TreeTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: TreeTableComponent, selector: "kv-treetable", inputs: { config: "config", dataSource: "dataSource", selectedItems: "selectedItems", acoesLinhaTabela: "acoesLinhaTabela", tamanhoTotalTree: "tamanhoTotalTree", rowsPerPageOptions: "rowsPerPageOptions", rows: "rows", tableSize: "tableSize", paginator: "paginator", rightCollapse: "rightCollapse", applyStyle: "applyStyle", _templates: ["templates", "_templates"] }, outputs: { onFilter: "onFilter", onPaginate: "onPaginate", onActiveItem: "onActiveItem", onActiveItemLote: "onActiveItemLote" }, queries: [{ propertyName: "templates", predicate: TemplateDirective }], viewQueries: [{ propertyName: "table", first: true, predicate: ["table"], descendants: true }], ngImport: i0, template: "<div>\r\n\r\n <p-treeTable #tt [value]=\"dataSource\" [columns]=\"config.columns\" [(selection)]=\"selectedItems\" [scrollable]=\"true\"\r\n selectionMode=\"checkbox\" [(selection)]=\"selectedNodes\" [rowsPerPageOptions]=\"rowsPerPageOptions\"\r\n [paginator]=\"paginator\" [rows]=\"rows\" [totalRecords]=\"tamanhoTotalTree\" [lazy]=\"config.lazy\"\r\n (onLazyLoad)=\"paginate($event)\">\r\n\r\n\r\n\r\n <ng-template pTemplate=\"caption\" *ngIf=\"config.enableSelect == true\">\r\n <div class=\"flex\">\r\n\r\n <p-treeTableHeaderCheckbox (click)=\"activeItemLote(selectedItems)\"></p-treeTableHeaderCheckbox>\r\n\r\n <span class=\"ml-2\">Selecionar Todos</span>\r\n\r\n <div class=\"p-input-icon-left\" *ngIf=\"config.enableFilter\">\r\n <i class=\"pi pi-search\"></i>\r\n <input type=\"text\" pInputText placeholder=\"Global Search\" (input)=\"onGlobalFilter(tt,$event)\" />\r\n </div>\r\n\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n <th [style.width]=\"col.width\" *ngFor=\"let col of columns\" [ttSortableColumn]=\"col.sortable ? col.field : false\"\r\n [ttSortableColumnDisabled]=\"col.sortable == false\">\r\n\r\n\r\n <div [class]=\"'flex flex-row ml-2'\">\r\n {{ col.header }}\r\n\r\n <p-treeTableSortIcon *ngIf=\"col.sortable\" [field]=\"col.field\"></p-treeTableSortIcon>\r\n\r\n <span *ngIf=\"col.headerTooltip\" class=\"material-symbols-outlined flex align-items-center\"\r\n [pTooltip]=\"col.headerTooltip\">info</span>\r\n\r\n </div>\r\n </th>\r\n <th [style.width]=\"'20px'\" *ngIf=\"config.actions && config.actions.length > 0\"></th>\r\n </tr>\r\n </ng-template>\r\n\r\n\r\n\r\n <ng-template pTemplate=\"body\" let-rowNode let-rowData=\"rowData\" let-columns=\"columns\">\r\n <tr [ttRow]=\"rowNode\" >\r\n <td [style]=\"applyStyle(rowData, col)\" *ngFor=\"let col of config.columns; let i = index,\" class=\"rowTable\" >\r\n\r\n\r\n <!-- // Collapse -->\r\n <p-treeTableToggler [rowNode]=\"rowNode\" *ngIf=\"!rightCollapse && i == 0\"></p-treeTableToggler>\r\n <p-treeTableToggler class=\"hiddenVisible\" [rowNode]=\"rowNode\"\r\n *ngIf=\"rightCollapse && i == 0\"></p-treeTableToggler>\r\n\r\n\r\n <!-- // Checkbox para multisele\u00E7\u00E3o-->\r\n <p-treeTableCheckbox (click)=\"activeItemLote(selectedItems)\" [value]=\"rowNode\"\r\n *ngIf=\"config.enableSelect == true && i === 0\"></p-treeTableCheckbox>\r\n\r\n <!-- // Campo com tipo booleano -->\r\n <span *ngIf=\"!isBooleanField(rowData, col); else booleanField\" [class]=\"returnRowClass(rowData, col)\">\r\n\r\n <!-- // Campo com tipo padr\u00E3o -->\r\n <span *ngIf=\"!isChipField(col) && !col.iconField && !isImageField(col) && !col.template\"\r\n [ngClass]=\"{'flex align-items-center max-w-max': i == config.columns.length-1}\">\r\n <i *ngIf=\"col.icon\" [class]=\"col.icon + ' mr-2'\"></i>\r\n {{ transformValue(rowData, col) }}\r\n </span>\r\n\r\n\r\n <!-- // Campo com tipo imagem -->\r\n <span *ngIf=\"isImageField(col)\">\r\n <span>\r\n <img class=\"image\" [src]=\"loadImage(rowData, col)\" />\r\n </span>\r\n </span>\r\n\r\n <!-- // Campo com tipo de chip -->\r\n <div *ngIf=\"isChipField(col) && !col.iconField\">\r\n <span class=\"p-element border-null border-round-2xl chip-style p-2 text-null w-auto\"\r\n [pTooltip]=\"rowData[col.field]\">{{\r\n transformValue(rowData, col)\r\n }} teste</span>\r\n </div>\r\n\r\n </span>\r\n\r\n\r\n <!-- // Template campo booleano -->\r\n <ng-template #booleanField>\r\n <i *ngIf=\"!col.iconField\" [ngClass]=\"\r\n rowData[col.field] ? 'text-green-500' : 'text-red-500'\r\n \"><span class=\"material-symbols-outlined\">\r\n {{ rowData[col.field] ? \"check\" : \"close\" }}\r\n </span>\r\n </i>\r\n </ng-template>\r\n\r\n\r\n <!-- // Template campo personalizado -->\r\n <ng-container *ngIf=\"col.template && getCustomTemplate(col.template.name) \"\r\n [ngTemplateOutlet]=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutletContext]=\"{ $implicit: rowData, rowNodeLevel: rowNode.level }\">\r\n </ng-container>\r\n\r\n </td>\r\n\r\n\r\n\r\n <td *ngIf=\"config.actions && config.actions.length > 0 \" style=\"width: 20px;\"\r\n [style]=\"applyStyle(rowData, { field: 'btns-options', header: '' })\">\r\n <div class=\"flex flex-row justify-content-end w-full\" *ngIf=\"acoesLinhaTabela\">\r\n <div *ngFor=\"let action of config.actions\">\r\n <button id=\"actionBtns\" pButton *ngIf=\"exibirCampo(action, rowData)\"\r\n class=\"actionBtns p-button-text p-button-raised\"\r\n (click)=\"activeItem(rowNode, rowData); action?.command()\"\r\n [pTooltip]=\"retornarCampo(action, rowData, 'tooltip')\" [tooltipPosition]=\"'bottom'\"\r\n [disabled]=\"callDisabled(action, rowData)\">\r\n <span class=\"material-symbols-outlined md-19\">\r\n {{ retornarCampo(action, rowData, \"icon\") }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"flex flex-row justify-content-end w-full\" *ngIf=\"!acoesLinhaTabela\">\r\n <button id=\"moreVertBtn\" pButton class=\"actionBtns p-button-text p-button-raised\"\r\n (click)=\"menu.toggle($event); activeItem(rowNode, rowData)\">\r\n <span class=\"material-symbols-outlined\" style=\"font-size: 20px\">\r\n more_horiz\r\n </span>\r\n </button>\r\n\r\n <div *ngFor=\"let action of config.actions\">\r\n {{ criarMenusModal(rowData) }}\r\n </div>\r\n\r\n <p-menu #menu [popup]=\"true\" [model]=\"menuItems\" appendTo=\"body\"></p-menu>\r\n\r\n <!-- :: Icone de collapse na direita :: -->\r\n <p-treeTableToggler [rowNode]=\"rowNode\" *ngIf=\"rightCollapse\"></p-treeTableToggler>\r\n </div>\r\n </td>\r\n\r\n\r\n\r\n\r\n </tr>\r\n </ng-template>\r\n\r\n\r\n <!-- :: Template para icone de collapse na direita -->\r\n <ng-template *ngIf=\"rightCollapse\" pTemplate=\"togglericon\" let-open>\r\n <span *ngIf=\"open\" class=\"pi pi-angle-left\"></span>\r\n <span *ngIf=\"!open\" class=\"pi pi-angle-down\"></span>\r\n </ng-template>\r\n\r\n\r\n\r\n\r\n <!-- :: Hotfix do bug da vers\u00E3o 15 do primeng, ao retirar esse bloco de codigo na vers\u00E3o 15 do primeng os icones de prev e next do paginator ir\u00E3o sumir ( resolvido na vers\u00E3o 16.0) :: -->\r\n\r\n <ng-template pTemplate=\"paginatorfirstpagelinkicon\">\r\n <span class=\"pi pi-angle-double-left\"></span>\r\n </ng-template>\r\n <ng-template pTemplate=\"paginatorpreviouspagelinkicon\">\r\n <span class=\"pi pi-angle-left\"></span>\r\n </ng-template>\r\n <ng-template pTemplate=\"paginatornextpagelinkicon\">\r\n <span class=\"pi pi-angle-right\"></span>\r\n </ng-template>\r\n <ng-template pTemplate=\"paginatorlastpagelinkicon\">\r\n <span class=\"pi pi-angle-double-right\"></span>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"emptymessage\" let-columns>\r\n <tr>\r\n <td [attr.colspan]=\"columns.length + 2\" style=\"text-align: center\">\r\n Nenhum registro encontrado\r\n </td>\r\n </tr>\r\n </ng-template>\r\n\r\n\r\n </p-treeTable>\r\n\r\n</div>\r\n\r\n\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://fonts.googleapis.com/icon?family=Material+Icons\"\r\n/>\r\n\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@48,400,0,0\"\r\n/>\r\n", styles: [".error-show{background-color:red;width:5px;height:10px}.input-search{position:relative;right:8px}.btns-options{position:relative;left:20px}.chip-style{border:solid 1px}:host::ng-deep .p-card .p-card-content{padding:0}.material-symbols-outlined.md-19{font-size:19px}.material-symbols-outlined.md-22{font-size:22px}.checkbox-container{display:flex;align-items:center;gap:2px;margin-top:5px}#botaoFiltro:hover{color:#a9a9a9}.actionLoteBtns{align-items:center;background-color:transparent;color:#a9a9a9;display:flex;font-size:16px;width:2rem;height:2rem;top:2px;margin-left:.5rem;justify-content:center;text-decoration:none;text-align:justify;padding:12px}#actionLoteBtns:hover{color:#a9a9a9}.actionBtns{align-items:center;background-color:transparent;color:#a9a9a9;display:flex;width:.8rem;height:.8rem;margin-left:.22rem;justify-content:center;text-decoration:none;text-align:justify;padding:11px}:host::ng-deep .material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:17px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased}#actionBtns:hover,#moreVertBtn:hover{color:#a9a9a9}.icon-search{top:20px}.image{border-style:solid;border-width:3.5px;border-color:#5289b4;border-radius:100%;height:55px;width:55px;padding:0;margin:0;vertical-align:middle}@media only screen and (min-width: 768px){.actionLoteBtns{top:-1px}}@media only screen and (max-width: 960px){.rowTable{text-align:right!important}}:host ::ng-deep .hiddenVisible span{visibility:hidden!important;cursor:hidden}\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: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i1$2.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "directive", type: i2$2.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: i4$5.InputText, selector: "[pInputText]" }, { kind: "component", type: i5$2.Menu, selector: "p-menu", inputs: ["model", "popup", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "component", type: i8.TreeTable, selector: "p-treeTable", inputs: ["columns", "style", "styleClass", "tableStyle", "tableStyleClass", "autoLayout", "lazy", "lazyLoadOnInit", "paginator", "rows", "first", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorDropdownAppendTo", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "customSort", "selectionMode", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "compareSelectionBy", "rowHover", "loading", "loadingIcon", "showLoader", "scrollable", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "frozenColumns", "resizableColumns", "columnResizeMode", "reorderableColumns", "contextMenu", "rowTrackBy", "filters", "globalFilterFields", "filterDelay", "filterMode", "filterLocale", "virtualRowHeight", "value", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection"], outputs: ["selectionChange", "contextMenuSelectionChange", "onFilter", "onNodeExpand", "onNodeCollapse", "onPage", "onSort", "onLazyLoad", "sortFunction", "onColResize", "onColReorder", "onNodeSelect", "onNodeUnselect", "onContextMenuSelect", "onHeaderCheckboxToggle", "onEditInit", "onEditComplete", "onEditCancel"] }, { kind: "component", type: i8.TreeTableToggler, selector: "p-treeTableToggler", inputs: ["rowNode"] }, { kind: "directive", type: i8.TTSortableColumn, selector: "[ttSortableColumn]", inputs: ["ttSortableColumn", "ttSortableColumnDisabled"] }, { kind: "component", type: i8.TTSortIcon, selector: "p-treeTableSortIcon", inputs: ["field", "ariaLabelDesc", "ariaLabelAsc"] }, { kind: "directive", type: i8.TTRow, selector: "[ttRow]", inputs: ["ttRow"] }, { kind: "component", type: i8.TTCheckbox, selector: "p-treeTableCheckbox", inputs: ["disabled", "value"] }, { kind: "component", type: i8.TTHeaderCheckbox, selector: "p-treeTableHeaderCheckbox" }] });
2805
+ TreeTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: TreeTableComponent, selector: "kv-treetable", inputs: { config: "config", dataSource: "dataSource", selectedItems: "selectedItems", acoesLinhaTabela: "acoesLinhaTabela", espacamentoPai: "espacamentoPai", espacamentoLateral: "espacamentoLateral", tamanhoTotalTree: "tamanhoTotalTree", rowsPerPageOptions: "rowsPerPageOptions", rows: "rows", tableSize: "tableSize", paginator: "paginator", rightCollapse: "rightCollapse", applyStyle: "applyStyle", _templates: ["templates", "_templates"] }, outputs: { onFilter: "onFilter", onPaginate: "onPaginate", onActiveItem: "onActiveItem", onActiveItemLote: "onActiveItemLote" }, queries: [{ propertyName: "templates", predicate: TemplateDirective }], viewQueries: [{ propertyName: "table", first: true, predicate: ["table"], descendants: true }], ngImport: i0, template: "<div>\r\n\r\n <p-treeTable #tt [value]=\"dataSource\" [columns]=\"config.columns\" [(selection)]=\"selectedItems\" [scrollable]=\"true\"\r\n selectionMode=\"checkbox\" [(selection)]=\"selectedNodes\" [rowsPerPageOptions]=\"rowsPerPageOptions\"\r\n [paginator]=\"paginator\" [rows]=\"rows\" [totalRecords]=\"tamanhoTotalTree\" [lazy]=\"config.lazy\"\r\n (onLazyLoad)=\"paginate($event)\" rowGroupMode=\"subheader\" groupRowsBy=\"id\" >\r\n\r\n\r\n\r\n <ng-template pTemplate=\"caption\" *ngIf=\"config.enableSelect == true\">\r\n\r\n <div class=\"flex\">\r\n\r\n <p-treeTableHeaderCheckbox (click)=\"activeItemLote(selectedItems)\"></p-treeTableHeaderCheckbox>\r\n\r\n <span class=\"ml-2\">Selecionar Todos</span>\r\n\r\n <div class=\"p-input-icon-left\" *ngIf=\"config.enableFilter\">\r\n <i class=\"pi pi-search\"></i>\r\n <input type=\"text\" pInputText placeholder=\"Global Search\" (input)=\"onGlobalFilter(tt,$event)\" />\r\n </div>\r\n\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n <th [style.width]=\"col.width\" *ngFor=\"let col of columns\" [ttSortableColumn]=\"col.sortable ? col.field : false\"\r\n [ttSortableColumnDisabled]=\"col.sortable == false\">\r\n\r\n\r\n <div [class]=\"'flex flex-row ml-2'\">\r\n {{ col.header }}\r\n\r\n <p-treeTableSortIcon *ngIf=\"col.sortable\" [field]=\"col.field\"></p-treeTableSortIcon>\r\n\r\n <span *ngIf=\"col.headerTooltip\" class=\"material-symbols-outlined flex align-items-center\"\r\n [pTooltip]=\"col.headerTooltip\">info</span>\r\n\r\n </div>\r\n </th>\r\n <th [style.width]=\"'20px'\" *ngIf=\"config.actions && config.actions.length > 0\"></th>\r\n </tr>\r\n </ng-template>\r\n\r\n\r\n\r\n <ng-template pTemplate=\"body\" let-rowNode let-rowData=\"rowData\" let-columns=\"columns\">\r\n\r\n\r\n <tr *ngIf=\"rowNode.level == 0\" [style.height]=\"espacamentoPai\">\r\n </tr>\r\n\r\n\r\n <tr [ttRow]=\"rowNode\">\r\n <td [style]=\"applyStyle(rowData, col)\" *ngFor=\"let col of config.columns; let i = index,\" class=\"rowTable\" [ngClass]=\"{'flex': i == 0, 'margem-filho': i == 0 && rowNode.level != 0 && espacamentoLateral }\" >\r\n\r\n\r\n <!-- // Collapse -->\r\n <p-treeTableToggler [rowNode]=\"rowNode\" *ngIf=\"!rightCollapse && i == 0\"></p-treeTableToggler>\r\n <p-treeTableToggler class=\"hiddenVisible\" [rowNode]=\"rowNode\"\r\n *ngIf=\"rightCollapse && i == 0\"></p-treeTableToggler>\r\n\r\n\r\n <!-- // Checkbox para multisele\u00E7\u00E3o-->\r\n <p-treeTableCheckbox (click)=\"activeItemLote(selectedItems)\" [value]=\"rowNode\"\r\n *ngIf=\"config.enableSelect == true && i === 0\"></p-treeTableCheckbox>\r\n\r\n <!-- // Campo com tipo booleano -->\r\n <span *ngIf=\"!isBooleanField(rowData, col); else booleanField\" [class]=\"returnRowClass(rowData, col)\">\r\n\r\n <!-- // Campo com tipo padr\u00E3o -->\r\n <span *ngIf=\"!isChipField(col) && !col.iconField && !isImageField(col) && !col.template\"\r\n [ngClass]=\"{'flex align-items-center max-w-max': i == config.columns.length-1}\">\r\n <i *ngIf=\"col.icon\" [class]=\"col.icon + ' mr-2'\"></i>\r\n {{ transformValue(rowData, col) }}\r\n </span>\r\n\r\n\r\n <!-- // Campo com tipo imagem -->\r\n <span *ngIf=\"isImageField(col)\">\r\n <span>\r\n <img class=\"image\" [src]=\"loadImage(rowData, col)\" />\r\n </span>\r\n </span>\r\n\r\n <!-- // Campo com tipo de chip -->\r\n <div *ngIf=\"isChipField(col) && !col.iconField\">\r\n <span class=\"p-element border-null border-round-2xl chip-style p-2 text-null w-auto\"\r\n [pTooltip]=\"rowData[col.field]\">{{\r\n transformValue(rowData, col)\r\n }} teste</span>\r\n </div>\r\n\r\n </span>\r\n\r\n\r\n <!-- // Template campo booleano -->\r\n <ng-template #booleanField>\r\n <i *ngIf=\"!col.iconField\" [ngClass]=\"\r\n rowData[col.field] ? 'text-green-500' : 'text-red-500'\r\n \"><span class=\"material-symbols-outlined\">\r\n {{ rowData[col.field] ? \"check\" : \"close\" }}\r\n </span>\r\n </i>\r\n </ng-template>\r\n\r\n\r\n <!-- // Template campo personalizado -->\r\n <ng-container *ngIf=\"col.template && getCustomTemplate(col.template.name) \"\r\n [ngTemplateOutlet]=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutletContext]=\"{ $implicit: rowData, rowNodeLevel: rowNode.level }\">\r\n </ng-container>\r\n\r\n </td>\r\n\r\n\r\n\r\n <td *ngIf=\"config.actions && config.actions.length > 0 && !validaLinhaAcaoVazia(rowData, rowNode)\" style=\"width: 20px;\"\r\n [style]=\"applyStyle(rowData, { field: 'btns-options', header: '' })\">\r\n\r\n\r\n <div class=\"flex flex-row justify-content-end w-full\" *ngIf=\"acoesLinhaTabela\">\r\n <div *ngFor=\"let action of config.actions\">\r\n <button id=\"actionBtns\" pButton *ngIf=\"exibirCampo(action, rowData)\"\r\n class=\"actionBtns p-button-text p-button-raised\"\r\n (click)=\"activeItem(rowNode, rowData); action?.command()\"\r\n [pTooltip]=\"retornarCampo(action, rowData, 'tooltip')\" [tooltipPosition]=\"'bottom'\"\r\n [disabled]=\"callDisabled(action, rowData)\">\r\n <span class=\"material-symbols-outlined md-19\">\r\n {{ retornarCampo(action, rowData, \"icon\") }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex flex-row justify-content-end w-full\" *ngIf=\"!acoesLinhaTabela\">\r\n <button id=\"moreVertBtn\" pButton class=\"actionBtns p-button-text p-button-raised\"\r\n (click)=\"menu.toggle($event); activeItem(rowNode, rowData)\">\r\n <span class=\"material-symbols-outlined\" style=\"font-size: 20px\">\r\n more_horiz\r\n </span>\r\n </button>\r\n\r\n <div *ngFor=\"let action of config.actions\">\r\n {{ criarMenusModal(rowData, rowNode) }}\r\n </div>\r\n\r\n <p-menu #menu [popup]=\"true\" [model]=\"menuItems\" appendTo=\"body\"></p-menu>\r\n\r\n <!-- :: Icone de collapse na direita :: -->\r\n <p-treeTableToggler [rowNode]=\"rowNode\" *ngIf=\"rightCollapse\"></p-treeTableToggler>\r\n </div>\r\n\r\n </td>\r\n\r\n\r\n\r\n\r\n </tr>\r\n\r\n\r\n\r\n </ng-template>\r\n\r\n\r\n <!-- :: Template para icone de collapse na direita -->\r\n <ng-template *ngIf=\"rightCollapse\" pTemplate=\"togglericon\" let-open>\r\n <span *ngIf=\"open\" class=\"pi pi-angle-left\"></span>\r\n <span *ngIf=\"!open\" class=\"pi pi-angle-down\"></span>\r\n </ng-template>\r\n\r\n\r\n\r\n\r\n <!-- :: Hotfix do bug da vers\u00E3o 15 do primeng, ao retirar esse bloco de codigo na vers\u00E3o 15 do primeng os icones de prev e next do paginator ir\u00E3o sumir ( resolvido na vers\u00E3o 16.0) :: -->\r\n\r\n <ng-template pTemplate=\"paginatorfirstpagelinkicon\">\r\n <span class=\"pi pi-angle-double-left\"></span>\r\n </ng-template>\r\n <ng-template pTemplate=\"paginatorpreviouspagelinkicon\">\r\n <span class=\"pi pi-angle-left\"></span>\r\n </ng-template>\r\n <ng-template pTemplate=\"paginatornextpagelinkicon\">\r\n <span class=\"pi pi-angle-right\"></span>\r\n </ng-template>\r\n <ng-template pTemplate=\"paginatorlastpagelinkicon\">\r\n <span class=\"pi pi-angle-double-right\"></span>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"emptymessage\" let-columns>\r\n <tr>\r\n <td [attr.colspan]=\"columns.length + 2\" style=\"text-align: center\">\r\n Nenhum registro encontrado\r\n </td>\r\n </tr>\r\n </ng-template>\r\n\r\n\r\n </p-treeTable>\r\n\r\n</div>\r\n\r\n\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://fonts.googleapis.com/icon?family=Material+Icons\"\r\n/>\r\n\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@48,400,0,0\"\r\n/>\r\n", styles: [".error-show{background-color:red;width:5px;height:10px}.input-search{position:relative;right:8px}.btns-options{position:relative;left:20px}.chip-style{border:solid 1px}:host::ng-deep .p-card .p-card-content{padding:0}.material-symbols-outlined.md-19{font-size:19px}.material-symbols-outlined.md-22{font-size:22px}.checkbox-container{display:flex;align-items:center;gap:2px;margin-top:5px}#botaoFiltro:hover{color:#a9a9a9}.actionLoteBtns{align-items:center;background-color:transparent;color:#a9a9a9;display:flex;font-size:16px;width:2rem;height:2rem;top:2px;margin-left:.5rem;justify-content:center;text-decoration:none;text-align:justify;padding:12px}#actionLoteBtns:hover{color:#a9a9a9}.actionBtns{align-items:center;background-color:transparent;color:#a9a9a9;display:flex;width:.8rem;height:.8rem;margin-left:.22rem;justify-content:center;text-decoration:none;text-align:justify;padding:11px}:host::ng-deep .material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:17px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased}#actionBtns:hover,#moreVertBtn:hover{color:#a9a9a9}.icon-search{top:20px}.image{border-style:solid;border-width:3.5px;border-color:#5289b4;border-radius:100%;height:55px;width:55px;padding:0;margin:0;vertical-align:middle}@media only screen and (min-width: 768px){.actionLoteBtns{top:-1px}}@media only screen and (max-width: 960px){.rowTable{text-align:right!important}}:host ::ng-deep .hiddenVisible span{visibility:hidden!important;cursor:hidden}.margem-filho{margin-left:25px!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: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i1$2.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "directive", type: i2$2.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: i4$5.InputText, selector: "[pInputText]" }, { kind: "component", type: i5$2.Menu, selector: "p-menu", inputs: ["model", "popup", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "component", type: i8.TreeTable, selector: "p-treeTable", inputs: ["columns", "style", "styleClass", "tableStyle", "tableStyleClass", "autoLayout", "lazy", "lazyLoadOnInit", "paginator", "rows", "first", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorDropdownAppendTo", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "customSort", "selectionMode", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "compareSelectionBy", "rowHover", "loading", "loadingIcon", "showLoader", "scrollable", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "frozenColumns", "resizableColumns", "columnResizeMode", "reorderableColumns", "contextMenu", "rowTrackBy", "filters", "globalFilterFields", "filterDelay", "filterMode", "filterLocale", "virtualRowHeight", "value", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection"], outputs: ["selectionChange", "contextMenuSelectionChange", "onFilter", "onNodeExpand", "onNodeCollapse", "onPage", "onSort", "onLazyLoad", "sortFunction", "onColResize", "onColReorder", "onNodeSelect", "onNodeUnselect", "onContextMenuSelect", "onHeaderCheckboxToggle", "onEditInit", "onEditComplete", "onEditCancel"] }, { kind: "component", type: i8.TreeTableToggler, selector: "p-treeTableToggler", inputs: ["rowNode"] }, { kind: "directive", type: i8.TTSortableColumn, selector: "[ttSortableColumn]", inputs: ["ttSortableColumn", "ttSortableColumnDisabled"] }, { kind: "component", type: i8.TTSortIcon, selector: "p-treeTableSortIcon", inputs: ["field", "ariaLabelDesc", "ariaLabelAsc"] }, { kind: "directive", type: i8.TTRow, selector: "[ttRow]", inputs: ["ttRow"] }, { kind: "component", type: i8.TTCheckbox, selector: "p-treeTableCheckbox", inputs: ["disabled", "value"] }, { kind: "component", type: i8.TTHeaderCheckbox, selector: "p-treeTableHeaderCheckbox" }] });
2786
2806
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TreeTableComponent, decorators: [{
2787
2807
  type: Component,
2788
- args: [{ selector: 'kv-treetable', template: "<div>\r\n\r\n <p-treeTable #tt [value]=\"dataSource\" [columns]=\"config.columns\" [(selection)]=\"selectedItems\" [scrollable]=\"true\"\r\n selectionMode=\"checkbox\" [(selection)]=\"selectedNodes\" [rowsPerPageOptions]=\"rowsPerPageOptions\"\r\n [paginator]=\"paginator\" [rows]=\"rows\" [totalRecords]=\"tamanhoTotalTree\" [lazy]=\"config.lazy\"\r\n (onLazyLoad)=\"paginate($event)\">\r\n\r\n\r\n\r\n <ng-template pTemplate=\"caption\" *ngIf=\"config.enableSelect == true\">\r\n <div class=\"flex\">\r\n\r\n <p-treeTableHeaderCheckbox (click)=\"activeItemLote(selectedItems)\"></p-treeTableHeaderCheckbox>\r\n\r\n <span class=\"ml-2\">Selecionar Todos</span>\r\n\r\n <div class=\"p-input-icon-left\" *ngIf=\"config.enableFilter\">\r\n <i class=\"pi pi-search\"></i>\r\n <input type=\"text\" pInputText placeholder=\"Global Search\" (input)=\"onGlobalFilter(tt,$event)\" />\r\n </div>\r\n\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n <th [style.width]=\"col.width\" *ngFor=\"let col of columns\" [ttSortableColumn]=\"col.sortable ? col.field : false\"\r\n [ttSortableColumnDisabled]=\"col.sortable == false\">\r\n\r\n\r\n <div [class]=\"'flex flex-row ml-2'\">\r\n {{ col.header }}\r\n\r\n <p-treeTableSortIcon *ngIf=\"col.sortable\" [field]=\"col.field\"></p-treeTableSortIcon>\r\n\r\n <span *ngIf=\"col.headerTooltip\" class=\"material-symbols-outlined flex align-items-center\"\r\n [pTooltip]=\"col.headerTooltip\">info</span>\r\n\r\n </div>\r\n </th>\r\n <th [style.width]=\"'20px'\" *ngIf=\"config.actions && config.actions.length > 0\"></th>\r\n </tr>\r\n </ng-template>\r\n\r\n\r\n\r\n <ng-template pTemplate=\"body\" let-rowNode let-rowData=\"rowData\" let-columns=\"columns\">\r\n <tr [ttRow]=\"rowNode\" >\r\n <td [style]=\"applyStyle(rowData, col)\" *ngFor=\"let col of config.columns; let i = index,\" class=\"rowTable\" >\r\n\r\n\r\n <!-- // Collapse -->\r\n <p-treeTableToggler [rowNode]=\"rowNode\" *ngIf=\"!rightCollapse && i == 0\"></p-treeTableToggler>\r\n <p-treeTableToggler class=\"hiddenVisible\" [rowNode]=\"rowNode\"\r\n *ngIf=\"rightCollapse && i == 0\"></p-treeTableToggler>\r\n\r\n\r\n <!-- // Checkbox para multisele\u00E7\u00E3o-->\r\n <p-treeTableCheckbox (click)=\"activeItemLote(selectedItems)\" [value]=\"rowNode\"\r\n *ngIf=\"config.enableSelect == true && i === 0\"></p-treeTableCheckbox>\r\n\r\n <!-- // Campo com tipo booleano -->\r\n <span *ngIf=\"!isBooleanField(rowData, col); else booleanField\" [class]=\"returnRowClass(rowData, col)\">\r\n\r\n <!-- // Campo com tipo padr\u00E3o -->\r\n <span *ngIf=\"!isChipField(col) && !col.iconField && !isImageField(col) && !col.template\"\r\n [ngClass]=\"{'flex align-items-center max-w-max': i == config.columns.length-1}\">\r\n <i *ngIf=\"col.icon\" [class]=\"col.icon + ' mr-2'\"></i>\r\n {{ transformValue(rowData, col) }}\r\n </span>\r\n\r\n\r\n <!-- // Campo com tipo imagem -->\r\n <span *ngIf=\"isImageField(col)\">\r\n <span>\r\n <img class=\"image\" [src]=\"loadImage(rowData, col)\" />\r\n </span>\r\n </span>\r\n\r\n <!-- // Campo com tipo de chip -->\r\n <div *ngIf=\"isChipField(col) && !col.iconField\">\r\n <span class=\"p-element border-null border-round-2xl chip-style p-2 text-null w-auto\"\r\n [pTooltip]=\"rowData[col.field]\">{{\r\n transformValue(rowData, col)\r\n }} teste</span>\r\n </div>\r\n\r\n </span>\r\n\r\n\r\n <!-- // Template campo booleano -->\r\n <ng-template #booleanField>\r\n <i *ngIf=\"!col.iconField\" [ngClass]=\"\r\n rowData[col.field] ? 'text-green-500' : 'text-red-500'\r\n \"><span class=\"material-symbols-outlined\">\r\n {{ rowData[col.field] ? \"check\" : \"close\" }}\r\n </span>\r\n </i>\r\n </ng-template>\r\n\r\n\r\n <!-- // Template campo personalizado -->\r\n <ng-container *ngIf=\"col.template && getCustomTemplate(col.template.name) \"\r\n [ngTemplateOutlet]=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutletContext]=\"{ $implicit: rowData, rowNodeLevel: rowNode.level }\">\r\n </ng-container>\r\n\r\n </td>\r\n\r\n\r\n\r\n <td *ngIf=\"config.actions && config.actions.length > 0 \" style=\"width: 20px;\"\r\n [style]=\"applyStyle(rowData, { field: 'btns-options', header: '' })\">\r\n <div class=\"flex flex-row justify-content-end w-full\" *ngIf=\"acoesLinhaTabela\">\r\n <div *ngFor=\"let action of config.actions\">\r\n <button id=\"actionBtns\" pButton *ngIf=\"exibirCampo(action, rowData)\"\r\n class=\"actionBtns p-button-text p-button-raised\"\r\n (click)=\"activeItem(rowNode, rowData); action?.command()\"\r\n [pTooltip]=\"retornarCampo(action, rowData, 'tooltip')\" [tooltipPosition]=\"'bottom'\"\r\n [disabled]=\"callDisabled(action, rowData)\">\r\n <span class=\"material-symbols-outlined md-19\">\r\n {{ retornarCampo(action, rowData, \"icon\") }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"flex flex-row justify-content-end w-full\" *ngIf=\"!acoesLinhaTabela\">\r\n <button id=\"moreVertBtn\" pButton class=\"actionBtns p-button-text p-button-raised\"\r\n (click)=\"menu.toggle($event); activeItem(rowNode, rowData)\">\r\n <span class=\"material-symbols-outlined\" style=\"font-size: 20px\">\r\n more_horiz\r\n </span>\r\n </button>\r\n\r\n <div *ngFor=\"let action of config.actions\">\r\n {{ criarMenusModal(rowData) }}\r\n </div>\r\n\r\n <p-menu #menu [popup]=\"true\" [model]=\"menuItems\" appendTo=\"body\"></p-menu>\r\n\r\n <!-- :: Icone de collapse na direita :: -->\r\n <p-treeTableToggler [rowNode]=\"rowNode\" *ngIf=\"rightCollapse\"></p-treeTableToggler>\r\n </div>\r\n </td>\r\n\r\n\r\n\r\n\r\n </tr>\r\n </ng-template>\r\n\r\n\r\n <!-- :: Template para icone de collapse na direita -->\r\n <ng-template *ngIf=\"rightCollapse\" pTemplate=\"togglericon\" let-open>\r\n <span *ngIf=\"open\" class=\"pi pi-angle-left\"></span>\r\n <span *ngIf=\"!open\" class=\"pi pi-angle-down\"></span>\r\n </ng-template>\r\n\r\n\r\n\r\n\r\n <!-- :: Hotfix do bug da vers\u00E3o 15 do primeng, ao retirar esse bloco de codigo na vers\u00E3o 15 do primeng os icones de prev e next do paginator ir\u00E3o sumir ( resolvido na vers\u00E3o 16.0) :: -->\r\n\r\n <ng-template pTemplate=\"paginatorfirstpagelinkicon\">\r\n <span class=\"pi pi-angle-double-left\"></span>\r\n </ng-template>\r\n <ng-template pTemplate=\"paginatorpreviouspagelinkicon\">\r\n <span class=\"pi pi-angle-left\"></span>\r\n </ng-template>\r\n <ng-template pTemplate=\"paginatornextpagelinkicon\">\r\n <span class=\"pi pi-angle-right\"></span>\r\n </ng-template>\r\n <ng-template pTemplate=\"paginatorlastpagelinkicon\">\r\n <span class=\"pi pi-angle-double-right\"></span>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"emptymessage\" let-columns>\r\n <tr>\r\n <td [attr.colspan]=\"columns.length + 2\" style=\"text-align: center\">\r\n Nenhum registro encontrado\r\n </td>\r\n </tr>\r\n </ng-template>\r\n\r\n\r\n </p-treeTable>\r\n\r\n</div>\r\n\r\n\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://fonts.googleapis.com/icon?family=Material+Icons\"\r\n/>\r\n\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@48,400,0,0\"\r\n/>\r\n", styles: [".error-show{background-color:red;width:5px;height:10px}.input-search{position:relative;right:8px}.btns-options{position:relative;left:20px}.chip-style{border:solid 1px}:host::ng-deep .p-card .p-card-content{padding:0}.material-symbols-outlined.md-19{font-size:19px}.material-symbols-outlined.md-22{font-size:22px}.checkbox-container{display:flex;align-items:center;gap:2px;margin-top:5px}#botaoFiltro:hover{color:#a9a9a9}.actionLoteBtns{align-items:center;background-color:transparent;color:#a9a9a9;display:flex;font-size:16px;width:2rem;height:2rem;top:2px;margin-left:.5rem;justify-content:center;text-decoration:none;text-align:justify;padding:12px}#actionLoteBtns:hover{color:#a9a9a9}.actionBtns{align-items:center;background-color:transparent;color:#a9a9a9;display:flex;width:.8rem;height:.8rem;margin-left:.22rem;justify-content:center;text-decoration:none;text-align:justify;padding:11px}:host::ng-deep .material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:17px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased}#actionBtns:hover,#moreVertBtn:hover{color:#a9a9a9}.icon-search{top:20px}.image{border-style:solid;border-width:3.5px;border-color:#5289b4;border-radius:100%;height:55px;width:55px;padding:0;margin:0;vertical-align:middle}@media only screen and (min-width: 768px){.actionLoteBtns{top:-1px}}@media only screen and (max-width: 960px){.rowTable{text-align:right!important}}:host ::ng-deep .hiddenVisible span{visibility:hidden!important;cursor:hidden}\n"] }]
2808
+ args: [{ selector: 'kv-treetable', template: "<div>\r\n\r\n <p-treeTable #tt [value]=\"dataSource\" [columns]=\"config.columns\" [(selection)]=\"selectedItems\" [scrollable]=\"true\"\r\n selectionMode=\"checkbox\" [(selection)]=\"selectedNodes\" [rowsPerPageOptions]=\"rowsPerPageOptions\"\r\n [paginator]=\"paginator\" [rows]=\"rows\" [totalRecords]=\"tamanhoTotalTree\" [lazy]=\"config.lazy\"\r\n (onLazyLoad)=\"paginate($event)\" rowGroupMode=\"subheader\" groupRowsBy=\"id\" >\r\n\r\n\r\n\r\n <ng-template pTemplate=\"caption\" *ngIf=\"config.enableSelect == true\">\r\n\r\n <div class=\"flex\">\r\n\r\n <p-treeTableHeaderCheckbox (click)=\"activeItemLote(selectedItems)\"></p-treeTableHeaderCheckbox>\r\n\r\n <span class=\"ml-2\">Selecionar Todos</span>\r\n\r\n <div class=\"p-input-icon-left\" *ngIf=\"config.enableFilter\">\r\n <i class=\"pi pi-search\"></i>\r\n <input type=\"text\" pInputText placeholder=\"Global Search\" (input)=\"onGlobalFilter(tt,$event)\" />\r\n </div>\r\n\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n <th [style.width]=\"col.width\" *ngFor=\"let col of columns\" [ttSortableColumn]=\"col.sortable ? col.field : false\"\r\n [ttSortableColumnDisabled]=\"col.sortable == false\">\r\n\r\n\r\n <div [class]=\"'flex flex-row ml-2'\">\r\n {{ col.header }}\r\n\r\n <p-treeTableSortIcon *ngIf=\"col.sortable\" [field]=\"col.field\"></p-treeTableSortIcon>\r\n\r\n <span *ngIf=\"col.headerTooltip\" class=\"material-symbols-outlined flex align-items-center\"\r\n [pTooltip]=\"col.headerTooltip\">info</span>\r\n\r\n </div>\r\n </th>\r\n <th [style.width]=\"'20px'\" *ngIf=\"config.actions && config.actions.length > 0\"></th>\r\n </tr>\r\n </ng-template>\r\n\r\n\r\n\r\n <ng-template pTemplate=\"body\" let-rowNode let-rowData=\"rowData\" let-columns=\"columns\">\r\n\r\n\r\n <tr *ngIf=\"rowNode.level == 0\" [style.height]=\"espacamentoPai\">\r\n </tr>\r\n\r\n\r\n <tr [ttRow]=\"rowNode\">\r\n <td [style]=\"applyStyle(rowData, col)\" *ngFor=\"let col of config.columns; let i = index,\" class=\"rowTable\" [ngClass]=\"{'flex': i == 0, 'margem-filho': i == 0 && rowNode.level != 0 && espacamentoLateral }\" >\r\n\r\n\r\n <!-- // Collapse -->\r\n <p-treeTableToggler [rowNode]=\"rowNode\" *ngIf=\"!rightCollapse && i == 0\"></p-treeTableToggler>\r\n <p-treeTableToggler class=\"hiddenVisible\" [rowNode]=\"rowNode\"\r\n *ngIf=\"rightCollapse && i == 0\"></p-treeTableToggler>\r\n\r\n\r\n <!-- // Checkbox para multisele\u00E7\u00E3o-->\r\n <p-treeTableCheckbox (click)=\"activeItemLote(selectedItems)\" [value]=\"rowNode\"\r\n *ngIf=\"config.enableSelect == true && i === 0\"></p-treeTableCheckbox>\r\n\r\n <!-- // Campo com tipo booleano -->\r\n <span *ngIf=\"!isBooleanField(rowData, col); else booleanField\" [class]=\"returnRowClass(rowData, col)\">\r\n\r\n <!-- // Campo com tipo padr\u00E3o -->\r\n <span *ngIf=\"!isChipField(col) && !col.iconField && !isImageField(col) && !col.template\"\r\n [ngClass]=\"{'flex align-items-center max-w-max': i == config.columns.length-1}\">\r\n <i *ngIf=\"col.icon\" [class]=\"col.icon + ' mr-2'\"></i>\r\n {{ transformValue(rowData, col) }}\r\n </span>\r\n\r\n\r\n <!-- // Campo com tipo imagem -->\r\n <span *ngIf=\"isImageField(col)\">\r\n <span>\r\n <img class=\"image\" [src]=\"loadImage(rowData, col)\" />\r\n </span>\r\n </span>\r\n\r\n <!-- // Campo com tipo de chip -->\r\n <div *ngIf=\"isChipField(col) && !col.iconField\">\r\n <span class=\"p-element border-null border-round-2xl chip-style p-2 text-null w-auto\"\r\n [pTooltip]=\"rowData[col.field]\">{{\r\n transformValue(rowData, col)\r\n }} teste</span>\r\n </div>\r\n\r\n </span>\r\n\r\n\r\n <!-- // Template campo booleano -->\r\n <ng-template #booleanField>\r\n <i *ngIf=\"!col.iconField\" [ngClass]=\"\r\n rowData[col.field] ? 'text-green-500' : 'text-red-500'\r\n \"><span class=\"material-symbols-outlined\">\r\n {{ rowData[col.field] ? \"check\" : \"close\" }}\r\n </span>\r\n </i>\r\n </ng-template>\r\n\r\n\r\n <!-- // Template campo personalizado -->\r\n <ng-container *ngIf=\"col.template && getCustomTemplate(col.template.name) \"\r\n [ngTemplateOutlet]=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutletContext]=\"{ $implicit: rowData, rowNodeLevel: rowNode.level }\">\r\n </ng-container>\r\n\r\n </td>\r\n\r\n\r\n\r\n <td *ngIf=\"config.actions && config.actions.length > 0 && !validaLinhaAcaoVazia(rowData, rowNode)\" style=\"width: 20px;\"\r\n [style]=\"applyStyle(rowData, { field: 'btns-options', header: '' })\">\r\n\r\n\r\n <div class=\"flex flex-row justify-content-end w-full\" *ngIf=\"acoesLinhaTabela\">\r\n <div *ngFor=\"let action of config.actions\">\r\n <button id=\"actionBtns\" pButton *ngIf=\"exibirCampo(action, rowData)\"\r\n class=\"actionBtns p-button-text p-button-raised\"\r\n (click)=\"activeItem(rowNode, rowData); action?.command()\"\r\n [pTooltip]=\"retornarCampo(action, rowData, 'tooltip')\" [tooltipPosition]=\"'bottom'\"\r\n [disabled]=\"callDisabled(action, rowData)\">\r\n <span class=\"material-symbols-outlined md-19\">\r\n {{ retornarCampo(action, rowData, \"icon\") }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex flex-row justify-content-end w-full\" *ngIf=\"!acoesLinhaTabela\">\r\n <button id=\"moreVertBtn\" pButton class=\"actionBtns p-button-text p-button-raised\"\r\n (click)=\"menu.toggle($event); activeItem(rowNode, rowData)\">\r\n <span class=\"material-symbols-outlined\" style=\"font-size: 20px\">\r\n more_horiz\r\n </span>\r\n </button>\r\n\r\n <div *ngFor=\"let action of config.actions\">\r\n {{ criarMenusModal(rowData, rowNode) }}\r\n </div>\r\n\r\n <p-menu #menu [popup]=\"true\" [model]=\"menuItems\" appendTo=\"body\"></p-menu>\r\n\r\n <!-- :: Icone de collapse na direita :: -->\r\n <p-treeTableToggler [rowNode]=\"rowNode\" *ngIf=\"rightCollapse\"></p-treeTableToggler>\r\n </div>\r\n\r\n </td>\r\n\r\n\r\n\r\n\r\n </tr>\r\n\r\n\r\n\r\n </ng-template>\r\n\r\n\r\n <!-- :: Template para icone de collapse na direita -->\r\n <ng-template *ngIf=\"rightCollapse\" pTemplate=\"togglericon\" let-open>\r\n <span *ngIf=\"open\" class=\"pi pi-angle-left\"></span>\r\n <span *ngIf=\"!open\" class=\"pi pi-angle-down\"></span>\r\n </ng-template>\r\n\r\n\r\n\r\n\r\n <!-- :: Hotfix do bug da vers\u00E3o 15 do primeng, ao retirar esse bloco de codigo na vers\u00E3o 15 do primeng os icones de prev e next do paginator ir\u00E3o sumir ( resolvido na vers\u00E3o 16.0) :: -->\r\n\r\n <ng-template pTemplate=\"paginatorfirstpagelinkicon\">\r\n <span class=\"pi pi-angle-double-left\"></span>\r\n </ng-template>\r\n <ng-template pTemplate=\"paginatorpreviouspagelinkicon\">\r\n <span class=\"pi pi-angle-left\"></span>\r\n </ng-template>\r\n <ng-template pTemplate=\"paginatornextpagelinkicon\">\r\n <span class=\"pi pi-angle-right\"></span>\r\n </ng-template>\r\n <ng-template pTemplate=\"paginatorlastpagelinkicon\">\r\n <span class=\"pi pi-angle-double-right\"></span>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"emptymessage\" let-columns>\r\n <tr>\r\n <td [attr.colspan]=\"columns.length + 2\" style=\"text-align: center\">\r\n Nenhum registro encontrado\r\n </td>\r\n </tr>\r\n </ng-template>\r\n\r\n\r\n </p-treeTable>\r\n\r\n</div>\r\n\r\n\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://fonts.googleapis.com/icon?family=Material+Icons\"\r\n/>\r\n\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@48,400,0,0\"\r\n/>\r\n", styles: [".error-show{background-color:red;width:5px;height:10px}.input-search{position:relative;right:8px}.btns-options{position:relative;left:20px}.chip-style{border:solid 1px}:host::ng-deep .p-card .p-card-content{padding:0}.material-symbols-outlined.md-19{font-size:19px}.material-symbols-outlined.md-22{font-size:22px}.checkbox-container{display:flex;align-items:center;gap:2px;margin-top:5px}#botaoFiltro:hover{color:#a9a9a9}.actionLoteBtns{align-items:center;background-color:transparent;color:#a9a9a9;display:flex;font-size:16px;width:2rem;height:2rem;top:2px;margin-left:.5rem;justify-content:center;text-decoration:none;text-align:justify;padding:12px}#actionLoteBtns:hover{color:#a9a9a9}.actionBtns{align-items:center;background-color:transparent;color:#a9a9a9;display:flex;width:.8rem;height:.8rem;margin-left:.22rem;justify-content:center;text-decoration:none;text-align:justify;padding:11px}:host::ng-deep .material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:17px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased}#actionBtns:hover,#moreVertBtn:hover{color:#a9a9a9}.icon-search{top:20px}.image{border-style:solid;border-width:3.5px;border-color:#5289b4;border-radius:100%;height:55px;width:55px;padding:0;margin:0;vertical-align:middle}@media only screen and (min-width: 768px){.actionLoteBtns{top:-1px}}@media only screen and (max-width: 960px){.rowTable{text-align:right!important}}:host ::ng-deep .hiddenVisible span{visibility:hidden!important;cursor:hidden}.margem-filho{margin-left:25px!important}\n"] }]
2789
2809
  }], ctorParameters: function () { return [{ type: i1.DatePipe }, { type: i1.DecimalPipe }, { type: CodigoFipePipe }, { type: CpfCnpjPipe }, { type: TelefonePipe }]; }, propDecorators: { config: [{
2790
2810
  type: Input
2791
2811
  }], dataSource: [{
@@ -2794,6 +2814,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
2794
2814
  type: Input
2795
2815
  }], acoesLinhaTabela: [{
2796
2816
  type: Input
2817
+ }], espacamentoPai: [{
2818
+ type: Input
2819
+ }], espacamentoLateral: [{
2820
+ type: Input
2797
2821
  }], tamanhoTotalTree: [{
2798
2822
  type: Input
2799
2823
  }], rowsPerPageOptions: [{