keevo-components 2.0.62 → 2.0.63

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.
Files changed (27) hide show
  1. package/esm2022/lib/api/components/table/tableedit.config.column.mjs +1 -1
  2. package/esm2022/lib/api/services/image.cutter.service.mjs +4 -3
  3. package/esm2022/lib/components/kv-button/kv-button.component.mjs +5 -12
  4. package/esm2022/lib/components/kv-confirmation-modal/kv-confirmation-modal.component.mjs +1 -1
  5. package/esm2022/lib/components/kv-content-viewer/kv-content-viewer.component.mjs +3 -3
  6. package/esm2022/lib/components/kv-home-card/kv-home-card.component.mjs +1 -1
  7. package/esm2022/lib/components/kv-inputs/kv-tree-multi-select/kv-tree-multi-select.component.mjs +3 -3
  8. package/esm2022/lib/components/kv-layout/layout/kv-layout.component.mjs +1 -1
  9. package/esm2022/lib/components/kv-modal/kv-modal.component.mjs +1 -1
  10. package/esm2022/lib/components/kv-orgchart/kv-orgchart.component.mjs +1 -1
  11. package/esm2022/lib/components/kv-page-form/kv-page-form.component.mjs +1 -1
  12. package/esm2022/lib/components/kv-page-stepper/kv-page-stepper.component.mjs +1 -1
  13. package/esm2022/lib/components/kv-stepper/kv-stepper.component.mjs +1 -1
  14. package/esm2022/lib/components/kv-table/kv-table.component.mjs +2 -2
  15. package/esm2022/lib/components/kv-table-edit/kv-table-edit.component.mjs +38 -20
  16. package/esm2022/lib/components/kv-table-expandable/kv-table-expandable.component.mjs +1 -1
  17. package/esm2022/lib/components/kv-tree-table/kv-tree-table.component.mjs +1 -1
  18. package/esm2022/lib/components/kv-workspace/workspace/kv-workspace.component.mjs +1 -1
  19. package/fesm2022/keevo-components.mjs +60 -48
  20. package/fesm2022/keevo-components.mjs.map +1 -1
  21. package/lib/api/components/table/tableedit.config.column.d.ts +1 -0
  22. package/lib/components/kv-button/kv-button.component.d.ts +2 -3
  23. package/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.d.ts +1 -1
  24. package/lib/components/kv-table-edit/kv-table-edit.component.d.ts +10 -5
  25. package/lib/components/kv-tag/kv-tag.component.d.ts +1 -1
  26. package/package.json +1 -1
  27. package/src/lib/components/kv-table/kv-table.component.scss +1 -1
@@ -442,7 +442,7 @@ export class KvTableExpandableComponent {
442
442
  }
443
443
  }
444
444
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvTableExpandableComponent, deps: [{ token: i1.DatePipe }, { token: i1.DecimalPipe }, { token: i2.CpfCnpjPipe }, { token: i3.TelefonePipe }], target: i0.ɵɵFactoryTarget.Component }); }
445
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvTableExpandableComponent, selector: "kv-table-expandable", inputs: { _templates: ["templates", "_templates"], setConfig: ["config", "setConfig"], filtrosAvancados: "filtrosAvancados", dataSource: "dataSource", selectedItems: "selectedItems", tableCaptalized: "tableCaptalized", applyStyle: "applyStyle", tableSize: "tableSize", paginator: "paginator", rows: "rows", rowsPerPageOptions: "rowsPerPageOptions", totalRecords: "totalRecords", pageLinksOptions: "pageLinksOptions", responsiveLayout: "responsiveLayout", isTableScrollable: "isTableScrollable", scrollHeight: "scrollHeight", rowTrackBy: "rowTrackBy", showFirstLastIcon: "showFirstLastIcon", showTopHeader: "showTopHeader", showButtonCollapsed: "showButtonCollapsed", isTableRowExpanded: "isTableRowExpanded", rowExpandMode: "rowExpandMode", expandToggleVisibleFn: "expandToggleVisibleFn" }, outputs: { filterField: "filterField", onActiveItem: "onActiveItem", onActiveItemLote: "onActiveItemLote", doubleClickEvent: "doubleClickEvent", onSwitchTableChange: "onSwitchTableChange", onPaginate: "onPaginate", onSelectionChange: "onSelectionChange" }, viewQueries: [{ propertyName: "expandedContent", first: true, predicate: ["expandedContent"], descendants: true }], ngImport: i0, template: "<div>\r\n @if (filtrosAvancados) {\r\n <p-panel\r\n header=\"Filtros avan\u00E7ados\"\r\n [toggleable]=\"true\"\r\n [collapsed]=\"true\"\r\n (collapsedChange)=\"collapsedAll = !collapsedAll\"\r\n [style]=\"{ 'margin-bottom': '2px' }\"\r\n >\r\n <ng-template pTemplate=\"headericons\">\r\n @if (!collapsedAll) {\r\n <i class=\"pi pi-filter\"></i>\r\n }\r\n <!-- \u00CDcone quando o painel est\u00E1 aberto -->\r\n @if (collapsedAll) {\r\n <i class=\"pi pi-minus\"></i>\r\n }\r\n <!-- \u00CDcone quando o painel est\u00E1 fechado -->\r\n </ng-template>\r\n <ng-content></ng-content>\r\n </p-panel>\r\n } @if (config) {\r\n <p-table\r\n #dt\r\n styleClass=\"p-datatable-sm\"\r\n [value]=\"dataSource\"\r\n [(selection)]=\"selectedItems\"\r\n [rowSelectable]=\"isRowSelectable\"\r\n rowGroupMode=\"subheader\"\r\n [groupRowsBy]=\"config.fieldGroup\"\r\n [columns]=\"config.columns\"\r\n [lazy]=\"config.lazy\"\r\n (onLazyLoad)=\"paginate($event)\"\r\n (selectionChange)=\"selectionChange($event)\"\r\n (onSort)=\"onSort($event)\"\r\n [sortField]=\"config.fieldGroup\"\r\n sortMode=\"single\"\r\n [dataKey]=\"config.fieldGroup\"\r\n [expandedRowKeys]=\"expandedRows\"\r\n [paginator]=\"paginator\"\r\n [rows]=\"rows\"\r\n [rowsPerPageOptions]=\"rowsPerPageOptions\"\r\n [totalRecords]=\"totalRecords\"\r\n [globalFilterFields]=\"globalFilterFields\"\r\n [showCurrentPageReport]=\"true\"\r\n currentPageReportTemplate=\"{first} - {last} de {totalRecords}\"\r\n [rowHover]=\"true\"\r\n [pageLinks]=\"pageLinksOptions\"\r\n [responsive]=\"true\"\r\n [responsiveLayout]=\"responsiveLayout ? 'stack' : ''\"\r\n [scrollable]=\"isTableScrollable\"\r\n [scrollHeight]=\"scrollHeight\"\r\n [rowTrackBy]=\"rowTrackBy\"\r\n [showFirstLastIcon]=\"showFirstLastIcon\"\r\n [rowExpandMode]=\"rowExpandMode\"\r\n >\r\n @if (config.enableCation) {\r\n <ng-template pTemplate=\"caption\">\r\n <div\r\n class=\"flex flex-row flex-wrap justify-content-between align-items-center grid formgrid p-fluid col-12 p-0 m-0\"\r\n [style.background-color]=\"'#EAEAEA'\"\r\n >\r\n <div class=\"col-12 flex flex-column\">\r\n @if (config.title) {\r\n <div class=\"text-md font-bold my-3\">\r\n {{ config.title }}\r\n </div>\r\n } @if (config.subtitle) {\r\n <div class=\"text-sm mb-4 font-medium\">\r\n {{ config.subtitle }}\r\n </div>\r\n }\r\n </div>\r\n\r\n <div\r\n class=\"flex flex-row align-items-center md:col-6 lg:col-4 {{\r\n tamanhoTela < 768 ? 'col-10' : 'col-12'\r\n }} mt-1 mb-2 \"\r\n >\r\n @if (config.enableFilter) {\r\n <span class=\"p-input-icon-left\">\r\n <i class=\"pi pi-search\"></i>\r\n\r\n <input\r\n pInputText\r\n pAutoFocus\r\n [autofocus]=\"true\"\r\n type=\"text\"\r\n (input)=\"onGlobalFilter(dt, $event)\"\r\n placeholder=\"Pesquisar...\"\r\n class=\"h-2rem\"\r\n />\r\n </span>\r\n }\r\n\r\n <!-- <div\r\n #menuFiltroDiv\r\n id = \"menuFiltroDiv\"\r\n [style.visibility]=\"'hidden'\"\r\n class=\"absolute z-4 bg-gray-200\"\r\n (click)=\"onClickEvent($event)\"\r\n > -->\r\n\r\n <div\r\n #menuFiltroDiv\r\n id=\"menuFiltroDiv\"\r\n [style.visibility]=\"'hidden'\"\r\n class=\"absolute z-4 bg-gray-200 menu-columns-filtro\"\r\n >\r\n <p-card>\r\n @for (col of columns; track col) {\r\n <div class=\"flex flex-column text-medium w-15rem\">\r\n {{ checkMenuFiltro(col) }}\r\n @if (!dinamicDisableColumn(col)) {\r\n <p-checkbox\r\n #filterColumns\r\n [label]=\"col.header\"\r\n [binary]=\"true\"\r\n class=\"checkbox-container\"\r\n (onChange)=\"dinamicColumnSet($event, col)\"\r\n [(ngModel)]=\"col.checked\"\r\n ></p-checkbox>\r\n }\r\n </div>\r\n }\r\n </p-card>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex flex-row col-1 justify-content-end p-0\">\r\n <div class=\"flex flex-row gap-2 btns-options mr-2\">\r\n @if(showButtonCollapsed){\r\n <kv-button\r\n [icon]=\"iconCollapsed\"\r\n (onClick)=\"executeCollapsed()\"\r\n [severity]=\"(config.actionsLote)&&(config.actionsLote.length>0) ? 'tertiary' : 'primary'\"\r\n [pTooltip]=\"collapsedAll ? 'Recolher tudo' : 'Expandir tudo'\"\r\n />\r\n }\r\n @for (action of config.actionsLote; track i; let i = $index) {\r\n \r\n \r\n @if ((selectedItems.length > 0 || action.showAcoesLote) &&\r\n (getOrExecute(action.visible, selectedItems) ?? true)) {\r\n\r\n <kv-button\r\n (onClick)=\"action?.command(); activeItemLote(selectedItems)\"\r\n [pTooltip]=\"getOrExecute(action.tooltip, selectedItems)\"\r\n [tooltipPosition]=\"\r\n (getOrExecute(action.tooltip, selectedItems)?.length ??\r\n 0 > 7) &&\r\n config.actionsLote &&\r\n i == config.actionsLote.length - 1\r\n ? 'left'\r\n : 'bottom'\r\n \"\r\n [disabled]=\"getOrExecute(action.disabled, selectedItems)?true:false\"\r\n [icon]=\"getOrExecute(action.icon, selectedItems)\"\r\n [severity]=\"action.severity ? action.severity : 'primary'\"\r\n />\r\n }\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n } \r\n @if (config.enableSelect || showTopHeader ){\r\n <ng-template pTemplate=\"header\">\r\n <tr>\r\n @if(config.enableSelect){\r\n <th [style.width]=\"showTopHeader?'25px':'100%'\" [attr.colspan]=\"showTopHeader?'1':'12'\" >\r\n <div class=\"w-full\">\r\n <input\r\n type=\"checkbox\"\r\n [checked]=\"isAllSelected()\"\r\n [indeterminate]=\"isAllIndeterminate()\"\r\n (click)=\"selectAll($event)\"\r\n />\r\n </div>\r\n </th>\r\n }\r\n @if(showTopHeader){\r\n @if (isTableRowExpanded) {\r\n <th\r\n [style.width]=\"3\"\r\n class=\"text-sm fixed-header\" \r\n ></th>\r\n }\r\n @for (col of columns; track $index) {\r\n <th\r\n [pSortableColumn]=\"col.field\"\r\n [pSortableColumnDisabled]=\"col.sortable === false\"\r\n [style.width]=\"col.width\"\r\n class=\"text-sm fixed-header\"\r\n >\r\n <div\r\n [class]=\"\r\n centralizarColunas(col) && alignColunasHeader(col) == ''\r\n ? 'flex flex-row justify-content-center'\r\n : 'flex flex-row'\r\n \"\r\n [style]=\"alignColunasHeader(col)\"\r\n >\r\n <span [ngClass]=\"{ 'text-xs font-medium': isTableRowExpanded }\">{{ col.header }}</span>\r\n @if (col.sortable) {\r\n <p-sortIcon\r\n [field]=\"'data.' + col.field\"\r\n style=\"font-size: 10px\"\r\n ></p-sortIcon>\r\n } \r\n @if (col.headerTooltip) {\r\n <span\r\n class=\"material-symbols-outlined flex align-items-center\"\r\n [pTooltip]=\"col.headerTooltip\"\r\n >info</span\r\n >\r\n }\r\n </div>\r\n </th>\r\n }\r\n @if (config.actions && config.actions.length > 0) {\r\n <th [style.width]=\"'40px'\" ></th>\r\n }\r\n }\r\n </tr>\r\n </ng-template>\r\n }\r\n\r\n <ng-template\r\n pTemplate=\"groupheader\"\r\n let-group\r\n let-rowIndex=\"rowIndex\"\r\n let-expanded=\"expanded\"\r\n >\r\n @if (!isTableRowExpanded) {\r\n <tr>\r\n <td colspan=\"12\" class=\"groupheader\">\r\n <div class=\"flex flex-row align-items-center w-full\">\r\n <button\r\n type=\"button\"\r\n pButton\r\n pRipple\r\n [pRowToggler]=\"group\"\r\n class=\"p-button-text p-button-rounded p-button-plain mr-2\"\r\n [icon]=\"expanded ? 'pi pi-chevron-down' : 'pi pi-chevron-right'\"\r\n ></button>\r\n @if (config.fieldGroupColorFunction){\r\n <div\r\n class=\"tag\"\r\n [style.background-color]=\"config.fieldGroupColorFunction(group)\"\r\n ></div>\r\n }\r\n <span class=\"font-bold ml-2\">{{\r\n group[config.fieldGroup || 0]\r\n }}</span>\r\n </div>\r\n </td>\r\n </tr>\r\n } @else {\r\n <tr>\r\n <td>\r\n @if(isVisibleExpandTolggle(group)){\r\n <button\r\n type=\"button\"\r\n pButton\r\n pRipple\r\n [pRowToggler]=\"group\"\r\n (click)=\"scrollExpandedContent()\"\r\n class=\"p-button-text p-button-rounded p-button-plain icone\"\r\n [icon]=\"expanded ? 'pi pi-chevron-down' : 'pi pi-chevron-right'\"\r\n >\r\n </button> \r\n \r\n }\r\n </td>\r\n\r\n @for (col of columns; track $index) {\r\n <ng-container>\r\n @if (!col.template) {\r\n <td\r\n class=\"rowTable\"\r\n [style]=\"\r\n applyStyle(group, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col)\r\n \"\r\n [pTooltip]=\"returnTooltipRow(group, col)\"\r\n >\r\n \r\n <span\r\n *ngIf=\"!isBooleanField(group, col); else booleanField\"\r\n [class]=\"returnRowClass(group, col)\"\r\n >\r\n @if (!isChipField(col) && !col.iconField && !isImageField(col)) {\r\n \r\n <span class=\"text-xs\" >\r\n @if (col.icon) {\r\n <i [class]=\"col.icon + ' mr-2'\"></i>\r\n }\r\n {{ transformValue(group, col) }}\r\n </span>\r\n } @if (isChipField(col) && !col.iconField) {\r\n <div>\r\n <span\r\n [class]=\"returnClassChip(group, col)\"\r\n [pTooltip]=\"returnTooltipIcon(group, col)\"\r\n >{{ transformValue(group, col) }}</span\r\n >\r\n </div>\r\n }\r\n </span>\r\n \r\n @if (isImageField(col)) {\r\n <span>\r\n <span>\r\n <img class=\"image\" [src]=\"loadImage(group, col)\" />\r\n </span>\r\n </span>\r\n } @if (col.iconField) {\r\n <i\r\n [ngClass]=\"{\r\n 'material-icons': col.indIconMaterial,\r\n 'material-symbols-outlined mr-2': !col.indIconMaterial\r\n }\"\r\n [pTooltip]=\"returnTooltipIcon(group, col)\"\r\n >\r\n {{ returnClassIcon(group, col) }}\r\n </i>\r\n }\r\n \r\n <ng-template #booleanField>\r\n @if (!col.iconField && !isSwitchField(col)) {\r\n <i\r\n [ngClass]=\"group[col.field] ? 'text-green-500' : 'text-red-500'\"\r\n ><span class=\"material-symbols-outlined\">\r\n {{ group[col.field] ? \"check\" : \"close\" }}\r\n </span>\r\n </i>\r\n } @if (isSwitchField(col)) {\r\n <span [class]=\"returnRowClass(group, col)\">\r\n <kv-switch\r\n (onSwitchChange)=\"onSwitchChange($event, group, col)\"\r\n [disabled]=\"col?.onlyReadField ?? true\"\r\n [switchValue]=\"transformValue(group, col)\"\r\n >\r\n </kv-switch>\r\n </span>\r\n }\r\n </ng-template>\r\n </td>\r\n } \r\n @if (col.template) {\r\n <td\r\n [style]=\"\r\n applyStyle(group, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col)\r\n \"\r\n class=\"rowTable\"\r\n >\r\n <span class=\"p-column-title\">{{ col.header }}:</span>\r\n @if (getCustomTemplate(col.template.name)) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutletContext]=\"{ $implicit: group }\"\r\n />\r\n }\r\n </td>\r\n }\r\n </ng-container>\r\n }\r\n </tr>\r\n }\r\n\r\n\r\n @if(expanded && !showTopHeader){\r\n <tr style=\"height: 40px\">\r\n @if (config.enableSelect) {\r\n <th class=\"flex align-items-left pl-2\">\r\n <!-- <p-tableHeaderCheckbox\r\n (click)=\"activeItemLote(selectedItems)\"\r\n ></p-tableHeaderCheckbox> -->\r\n <input\r\n type=\"checkbox\"\r\n [checked]=\"\r\n isAllGroupSelected(\r\n config.fieldGroup || 0,\r\n group[config.fieldGroup || 0]\r\n )\r\n \"\r\n [indeterminate]=\"\r\n isGroupIndeterminate(\r\n config.fieldGroup || 0,\r\n group[config.fieldGroup || 0]\r\n )\r\n \"\r\n (click)=\"\r\n selectGroup(\r\n $event,\r\n config.fieldGroup || 0,\r\n group[config.fieldGroup || 0]\r\n )\r\n \"\r\n />\r\n </th>\r\n } \r\n @for (col of columns; track $index) {\r\n <th\r\n [pSortableColumn]=\"col.field\"\r\n [pSortableColumnDisabled]=\"col.sortable === false\"\r\n [style.width]=\"col.width\"\r\n class=\"text-sm\"\r\n >\r\n <div\r\n [class]=\"\r\n centralizarColunas(col) && alignColunasHeader(col) == ''\r\n ? 'flex flex-row justify-content-center'\r\n : 'flex flex-row'\r\n \"\r\n [style]=\"alignColunasHeader(col)\"\r\n >\r\n <span>{{ col.header }}</span>\r\n @if (col.sortable) {\r\n <p-sortIcon\r\n [field]=\"'data.' + col.field\"\r\n style=\"font-size: 10px\"\r\n ></p-sortIcon>\r\n } @if (col.headerTooltip) {\r\n <span\r\n class=\"material-symbols-outlined flex align-items-center\"\r\n [pTooltip]=\"col.headerTooltip\"\r\n >info</span\r\n >\r\n }\r\n </div>\r\n </th>\r\n } \r\n @if (config.actions && config.actions.length > 0) {\r\n <th></th>\r\n }\r\n </tr>\r\n }\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"rowexpansion\" let-group>\r\n @if (!isTableRowExpanded) {\r\n <tr\r\n (dblclick)=\"doubleClick($event, group)\"\r\n [ngClass]=\"{ capitalize: tableCaptalized }\"\r\n >\r\n @if (config.enableSelect) {\r\n <td [style]=\"applyStyle(group, { field: 'check-box', header: '' })\">\r\n <!--<p-tableCheckbox *ngIf=\"isVisibleCheckbox(group.data)\"-->\r\n <!-- <p-tableCheckbox\r\n [value]=\"group\"\r\n [disabled]=\"isDisabledCheckbox(group)\"\r\n (click)=\"activeItemLote(selectedItems)\"\r\n ></p-tableCheckbox>\r\n -->\r\n <input\r\n type=\"checkbox\"\r\n [value]=\"group\"\r\n [checked]=\"isSelected(group)\"\r\n (click)=\"selectItem($event, group)\"\r\n />\r\n </td>\r\n } \r\n @for (col of columns; track $index) {\r\n <ng-container>\r\n @if (!col.template) {\r\n <td\r\n class=\"rowTable\"\r\n [style]=\"\r\n applyStyle(group, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col)\r\n \"\r\n [pTooltip]=\"returnTooltipRow(group, col)\"\r\n >\r\n <span class=\"p-column-title\">{{ col.header }}:</span>\r\n\r\n <span\r\n *ngIf=\"!isBooleanField(group, col); else booleanField\"\r\n [class]=\"returnRowClass(group, col)\"\r\n >\r\n @if (!isChipField(col) && !col.iconField && !isImageField(col)) {\r\n <span>\r\n @if (col.icon) {\r\n <i [class]=\"col.icon + ' mr-2'\"></i>\r\n }\r\n {{ transformValue(group, col) }}\r\n </span>\r\n } @if (isChipField(col) && !col.iconField) {\r\n <div>\r\n <span\r\n [class]=\"returnClassChip(group, col)\"\r\n [pTooltip]=\"returnTooltipIcon(group, col)\"\r\n >{{ transformValue(group, col) }}</span\r\n >\r\n </div>\r\n }\r\n </span>\r\n\r\n @if (isImageField(col)) {\r\n <span>\r\n <span>\r\n <img class=\"image\" [src]=\"loadImage(group, col)\" />\r\n </span>\r\n </span>\r\n } @if (col.iconField) {\r\n <i\r\n [ngClass]=\"{\r\n 'material-icons': col.indIconMaterial,\r\n 'material-symbols-outlined mr-2': !col.indIconMaterial\r\n }\"\r\n [pTooltip]=\"returnTooltipIcon(group, col)\"\r\n >\r\n {{ returnClassIcon(group, col) }}\r\n </i>\r\n }\r\n\r\n <ng-template #booleanField>\r\n @if (!col.iconField && !isSwitchField(col)) {\r\n <i\r\n [ngClass]=\"group[col.field] ? 'text-green-500' : 'text-red-500'\"\r\n ><span class=\"material-symbols-outlined\">\r\n {{ group[col.field] ? \"check\" : \"close\" }}\r\n </span>\r\n </i>\r\n } @if (isSwitchField(col)) {\r\n <span [class]=\"returnRowClass(group, col)\">\r\n <kv-switch\r\n (onSwitchChange)=\"onSwitchChange($event, group, col)\"\r\n [disabled]=\"col?.onlyReadField ?? true\"\r\n [switchValue]=\"transformValue(group, col)\"\r\n >\r\n </kv-switch>\r\n </span>\r\n }\r\n </ng-template>\r\n </td>\r\n } \r\n @if (col.template) {\r\n <td\r\n [style]=\"\r\n applyStyle(group, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col)\r\n \"\r\n class=\"rowTable\"\r\n >\r\n <span class=\"p-column-title\">{{ col.header }}:</span>\r\n @if (getCustomTemplate(col.template.name)) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutletContext]=\"{ $implicit: group }\"\r\n />\r\n }\r\n </td>\r\n }\r\n </ng-container>\r\n } \r\n @if (config.actions && config.actions.length > 0) {\r\n <td [style]=\"applyStyle(group, { field: 'btns-options', header: '' })\">\r\n <div class=\"flex flex-row justify-content-end w-full\">\r\n <!-- <button\r\n id=\"moreVertBtn\"\r\n pButton\r\n class=\"actionBtns p-button-text p-button-raised\"\r\n (click)=\"menu.toggle($event); activeItem(group)\"\r\n > -->\r\n\r\n <span\r\n class=\"material-symbols-outlined cursor-pointer icon-more-horiz\"\r\n style=\"font-size: 25px\"\r\n (click)=\"\r\n returnRowDataActions(group);\r\n menu.toggle($event);\r\n activeItem(group)\r\n \"\r\n >\r\n more_horiz\r\n </span>\r\n\r\n <!-- </button> -->\r\n\r\n <p-tieredMenu\r\n #menu\r\n [popup]=\"true\"\r\n [model]=\"menuItems\"\r\n appendTo=\"body\"\r\n ></p-tieredMenu>\r\n </div>\r\n </td>\r\n }\r\n </tr>\r\n }\r\n\r\n @if (isTableRowExpanded) {\r\n\r\n <tr>\r\n <td\r\n #expandedContent\r\n [attr.colspan]=\"columns.length + 2\"\r\n style=\"text-align: start; border-radius: 10px !important;\"\r\n >\r\n <div style=\"width: 100%;\">\r\n @if (getCustomTemplate(config.templateRowExpanded.name)) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"getCustomTemplate(config.templateRowExpanded.name)\"\r\n [ngTemplateOutletContext]=\"{ $implicit: group }\"\r\n />\r\n }\r\n </div>\r\n </td>\r\n </tr>\r\n \r\n }\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"emptymessage\" let-columns>\r\n <tr>\r\n <td\r\n [attr.colspan]=\"columns.length + 2\"\r\n style=\"text-align: center; border-radius: 10px !important\"\r\n >\r\n <p class=\"font-medium m-0\">Nenhum registro encontrado</p>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n }\r\n</div>\r\n", styles: ["@charset \"UTF-8\";tr{word-break:break-all}.tag{width:5px;height:20px;border-radius:.25rem}input[type=checkbox]{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:20px;height:20px;border:2px solid #ccc;border-radius:4px;position:relative;cursor:pointer;outline:none;background-color:#fff}input[type=checkbox]:after{content:\"\";position:absolute;left:5px;top:2px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);opacity:0;transition:opacity .2s}input[type=checkbox]:checked{border-color:#004172;background:#004172}input[type=checkbox]:checked:hover{background-color:#002542}input[type=checkbox]:checked:active{background-color:#002542}input[type=checkbox]:checked:disabled{background-color:#002542;opacity:.4;cursor:auto}input[type=checkbox]:checked:after{opacity:1}::ng-deep .p-datatable.p-datatable-sm .p-datatable-header{padding:0rem}::ng-deep .p-datatable.p-datatable-sm .p-datatable-thead>tr>th{background-color:#eaeaea}::ng-deep .p-panel.p-panel-toggleable .p-panel-header{background-color:#eaeaea}.tr-td:hover{box-shadow:#3c40434d 0 1px 2px,#3c404326 0 2px 6px 2px;background-color:#fff;transition:color .3s,transform .3s;transform:scale(1)}.checkbox-container{width:25px!important}.icon-more-horiz:hover,.icon-more-horiz:focus{color:#5e5e5e;transform:scale(1.2);transition:color .3s,transform .3s;background-color:#eaeaea;border-radius:50%}.btn-table{background-color:#29b92d;padding:12px}.btn-table:hover{background-color:#249a29}.btn-table:active{background-color:#1c801f}.btn-table:disabled{background-color:#29b92d}.icone{width:12px;height:2px}:host ::ng-deep .icone .pi{font-size:.7rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: i4.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i5.AutoFocus, selector: "[pAutoFocus]", inputs: ["autofocus"] }, { kind: "directive", type: i6.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i7.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "component", type: i8.Card, selector: "p-card", inputs: ["header", "subheader", "style", "styleClass"] }, { kind: "component", type: i9.Checkbox, selector: "p-checkbox", inputs: ["value", "name", "disabled", "binary", "label", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "style", "styleClass", "labelStyleClass", "formControl", "checkboxIcon", "readonly", "required", "autofocus", "trueValue", "falseValue", "variant"], outputs: ["onChange", "onFocus", "onBlur"] }, { kind: "directive", type: i10.InputText, selector: "[pInputText]", inputs: ["variant"] }, { kind: "component", type: i11.Panel, selector: "p-panel", inputs: ["toggleable", "header", "collapsed", "style", "styleClass", "iconPos", "expandIcon", "collapseIcon", "showHeader", "toggler", "transitionOptions"], outputs: ["collapsedChange", "onBeforeToggle", "onAfterToggle"] }, { kind: "directive", type: i12.Ripple, selector: "[pRipple]" }, { kind: "component", type: i13.TieredMenu, selector: "p-tieredMenu", inputs: ["model", "popup", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "autoDisplay", "showTransitionOptions", "hideTransitionOptions", "id", "ariaLabel", "ariaLabelledBy", "disabled", "tabindex"], outputs: ["onShow", "onHide"] }, { kind: "component", type: i14.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll", "virtualRowHeight"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i14.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "directive", type: i14.RowToggler, selector: "[pRowToggler]", inputs: ["pRowToggler", "pRowTogglerDisabled"] }, { kind: "component", type: i14.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "directive", type: i15.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i15.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i16.KvSwitchComponent, selector: "kv-switch", inputs: ["readonly", "switchValue"], outputs: ["onSwitchChange"] }, { kind: "component", type: i17.KvButtonComponent, selector: "kv-button", inputs: ["fullWidth", "type", "loading", "severity", "size", "icon", "iconPosition", "label", "disabled", "items", "popup"], outputs: ["iconChange", "onClick"] }] }); }
445
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvTableExpandableComponent, selector: "kv-table-expandable", inputs: { _templates: ["templates", "_templates"], setConfig: ["config", "setConfig"], filtrosAvancados: "filtrosAvancados", dataSource: "dataSource", selectedItems: "selectedItems", tableCaptalized: "tableCaptalized", applyStyle: "applyStyle", tableSize: "tableSize", paginator: "paginator", rows: "rows", rowsPerPageOptions: "rowsPerPageOptions", totalRecords: "totalRecords", pageLinksOptions: "pageLinksOptions", responsiveLayout: "responsiveLayout", isTableScrollable: "isTableScrollable", scrollHeight: "scrollHeight", rowTrackBy: "rowTrackBy", showFirstLastIcon: "showFirstLastIcon", showTopHeader: "showTopHeader", showButtonCollapsed: "showButtonCollapsed", isTableRowExpanded: "isTableRowExpanded", rowExpandMode: "rowExpandMode", expandToggleVisibleFn: "expandToggleVisibleFn" }, outputs: { filterField: "filterField", onActiveItem: "onActiveItem", onActiveItemLote: "onActiveItemLote", doubleClickEvent: "doubleClickEvent", onSwitchTableChange: "onSwitchTableChange", onPaginate: "onPaginate", onSelectionChange: "onSelectionChange" }, viewQueries: [{ propertyName: "expandedContent", first: true, predicate: ["expandedContent"], descendants: true }], ngImport: i0, template: "<div>\r\n @if (filtrosAvancados) {\r\n <p-panel\r\n header=\"Filtros avan\u00E7ados\"\r\n [toggleable]=\"true\"\r\n [collapsed]=\"true\"\r\n (collapsedChange)=\"collapsedAll = !collapsedAll\"\r\n [style]=\"{ 'margin-bottom': '2px' }\"\r\n >\r\n <ng-template pTemplate=\"headericons\">\r\n @if (!collapsedAll) {\r\n <i class=\"pi pi-filter\"></i>\r\n }\r\n <!-- \u00CDcone quando o painel est\u00E1 aberto -->\r\n @if (collapsedAll) {\r\n <i class=\"pi pi-minus\"></i>\r\n }\r\n <!-- \u00CDcone quando o painel est\u00E1 fechado -->\r\n </ng-template>\r\n <ng-content></ng-content>\r\n </p-panel>\r\n } @if (config) {\r\n <p-table\r\n #dt\r\n styleClass=\"p-datatable-sm\"\r\n [value]=\"dataSource\"\r\n [(selection)]=\"selectedItems\"\r\n [rowSelectable]=\"isRowSelectable\"\r\n rowGroupMode=\"subheader\"\r\n [groupRowsBy]=\"config.fieldGroup\"\r\n [columns]=\"config.columns\"\r\n [lazy]=\"config.lazy\"\r\n (onLazyLoad)=\"paginate($event)\"\r\n (selectionChange)=\"selectionChange($event)\"\r\n (onSort)=\"onSort($event)\"\r\n [sortField]=\"config.fieldGroup\"\r\n sortMode=\"single\"\r\n [dataKey]=\"config.fieldGroup\"\r\n [expandedRowKeys]=\"expandedRows\"\r\n [paginator]=\"paginator\"\r\n [rows]=\"rows\"\r\n [rowsPerPageOptions]=\"rowsPerPageOptions\"\r\n [totalRecords]=\"totalRecords\"\r\n [globalFilterFields]=\"globalFilterFields\"\r\n [showCurrentPageReport]=\"true\"\r\n currentPageReportTemplate=\"{first} - {last} de {totalRecords}\"\r\n [rowHover]=\"true\"\r\n [pageLinks]=\"pageLinksOptions\"\r\n [responsive]=\"true\"\r\n [responsiveLayout]=\"responsiveLayout ? 'stack' : ''\"\r\n [scrollable]=\"isTableScrollable\"\r\n [scrollHeight]=\"scrollHeight\"\r\n [rowTrackBy]=\"rowTrackBy\"\r\n [showFirstLastIcon]=\"showFirstLastIcon\"\r\n [rowExpandMode]=\"rowExpandMode\"\r\n >\r\n @if (config.enableCation) {\r\n <ng-template pTemplate=\"caption\">\r\n <div\r\n class=\"flex flex-row flex-wrap justify-content-between align-items-center grid formgrid p-fluid col-12 p-0 m-0\"\r\n [style.background-color]=\"'#EAEAEA'\"\r\n >\r\n <div class=\"col-12 flex flex-column\">\r\n @if (config.title) {\r\n <div class=\"text-md font-bold my-3\">\r\n {{ config.title }}\r\n </div>\r\n } @if (config.subtitle) {\r\n <div class=\"text-sm mb-4 font-medium\">\r\n {{ config.subtitle }}\r\n </div>\r\n }\r\n </div>\r\n\r\n <div\r\n class=\"flex flex-row align-items-center md:col-6 lg:col-4 {{\r\n tamanhoTela < 768 ? 'col-10' : 'col-12'\r\n }} mt-1 mb-2 \"\r\n >\r\n @if (config.enableFilter) {\r\n <span class=\"p-input-icon-left\">\r\n <i class=\"pi pi-search\"></i>\r\n\r\n <input\r\n pInputText\r\n pAutoFocus\r\n [autofocus]=\"true\"\r\n type=\"text\"\r\n (input)=\"onGlobalFilter(dt, $event)\"\r\n placeholder=\"Pesquisar...\"\r\n class=\"h-2rem\"\r\n />\r\n </span>\r\n }\r\n\r\n <!-- <div\r\n #menuFiltroDiv\r\n id = \"menuFiltroDiv\"\r\n [style.visibility]=\"'hidden'\"\r\n class=\"absolute z-4 bg-gray-200\"\r\n (click)=\"onClickEvent($event)\"\r\n > -->\r\n\r\n <div\r\n #menuFiltroDiv\r\n id=\"menuFiltroDiv\"\r\n [style.visibility]=\"'hidden'\"\r\n class=\"absolute z-4 bg-gray-200 menu-columns-filtro\"\r\n >\r\n <p-card>\r\n @for (col of columns; track col) {\r\n <div class=\"flex flex-column text-medium w-15rem\">\r\n {{ checkMenuFiltro(col) }}\r\n @if (!dinamicDisableColumn(col)) {\r\n <p-checkbox\r\n #filterColumns\r\n [label]=\"col.header\"\r\n [binary]=\"true\"\r\n class=\"checkbox-container\"\r\n (onChange)=\"dinamicColumnSet($event, col)\"\r\n [(ngModel)]=\"col.checked\"\r\n ></p-checkbox>\r\n }\r\n </div>\r\n }\r\n </p-card>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex flex-row col-1 justify-content-end p-0\">\r\n <div class=\"flex flex-row gap-2 btns-options mr-2\">\r\n @if(showButtonCollapsed){\r\n <kv-button\r\n [icon]=\"iconCollapsed\"\r\n (onClick)=\"executeCollapsed()\"\r\n [severity]=\"(config.actionsLote)&&(config.actionsLote.length>0) ? 'tertiary' : 'primary'\"\r\n [pTooltip]=\"collapsedAll ? 'Recolher tudo' : 'Expandir tudo'\"\r\n />\r\n }\r\n @for (action of config.actionsLote; track i; let i = $index) {\r\n \r\n \r\n @if ((selectedItems.length > 0 || action.showAcoesLote) &&\r\n (getOrExecute(action.visible, selectedItems) ?? true)) {\r\n\r\n <kv-button\r\n (onClick)=\"action?.command(); activeItemLote(selectedItems)\"\r\n [pTooltip]=\"getOrExecute(action.tooltip, selectedItems)\"\r\n [tooltipPosition]=\"\r\n (getOrExecute(action.tooltip, selectedItems)?.length ??\r\n 0 > 7) &&\r\n config.actionsLote &&\r\n i == config.actionsLote.length - 1\r\n ? 'left'\r\n : 'bottom'\r\n \"\r\n [disabled]=\"getOrExecute(action.disabled, selectedItems)?true:false\"\r\n [icon]=\"getOrExecute(action.icon, selectedItems)\"\r\n [severity]=\"action.severity ? action.severity : 'primary'\"\r\n />\r\n }\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n } \r\n @if (config.enableSelect || showTopHeader ){\r\n <ng-template pTemplate=\"header\">\r\n <tr>\r\n @if(config.enableSelect){\r\n <th [style.width]=\"showTopHeader?'25px':'100%'\" [attr.colspan]=\"showTopHeader?'1':'12'\" >\r\n <div class=\"w-full\">\r\n <input\r\n type=\"checkbox\"\r\n [checked]=\"isAllSelected()\"\r\n [indeterminate]=\"isAllIndeterminate()\"\r\n (click)=\"selectAll($event)\"\r\n />\r\n </div>\r\n </th>\r\n }\r\n @if(showTopHeader){\r\n @if (isTableRowExpanded) {\r\n <th\r\n [style.width]=\"3\"\r\n class=\"text-sm fixed-header\" \r\n ></th>\r\n }\r\n @for (col of columns; track $index) {\r\n <th\r\n [pSortableColumn]=\"col.field\"\r\n [pSortableColumnDisabled]=\"col.sortable === false\"\r\n [style.width]=\"col.width\"\r\n class=\"text-sm fixed-header\"\r\n >\r\n <div\r\n [class]=\"\r\n centralizarColunas(col) && alignColunasHeader(col) == ''\r\n ? 'flex flex-row justify-content-center'\r\n : 'flex flex-row'\r\n \"\r\n [style]=\"alignColunasHeader(col)\"\r\n >\r\n <span [ngClass]=\"{ 'text-xs font-medium': isTableRowExpanded }\">{{ col.header }}</span>\r\n @if (col.sortable) {\r\n <p-sortIcon\r\n [field]=\"'data.' + col.field\"\r\n style=\"font-size: 10px\"\r\n ></p-sortIcon>\r\n } \r\n @if (col.headerTooltip) {\r\n <span\r\n class=\"material-symbols-outlined flex align-items-center\"\r\n [pTooltip]=\"col.headerTooltip\"\r\n >info</span\r\n >\r\n }\r\n </div>\r\n </th>\r\n }\r\n @if (config.actions && config.actions.length > 0) {\r\n <th [style.width]=\"'40px'\" ></th>\r\n }\r\n }\r\n </tr>\r\n </ng-template>\r\n }\r\n\r\n <ng-template\r\n pTemplate=\"groupheader\"\r\n let-group\r\n let-rowIndex=\"rowIndex\"\r\n let-expanded=\"expanded\"\r\n >\r\n @if (!isTableRowExpanded) {\r\n <tr>\r\n <td colspan=\"12\" class=\"groupheader\">\r\n <div class=\"flex flex-row align-items-center w-full\">\r\n <button\r\n type=\"button\"\r\n pButton\r\n pRipple\r\n [pRowToggler]=\"group\"\r\n class=\"p-button-text p-button-rounded p-button-plain mr-2\"\r\n [icon]=\"expanded ? 'pi pi-chevron-down' : 'pi pi-chevron-right'\"\r\n ></button>\r\n @if (config.fieldGroupColorFunction){\r\n <div\r\n class=\"tag\"\r\n [style.background-color]=\"config.fieldGroupColorFunction(group)\"\r\n ></div>\r\n }\r\n <span class=\"font-bold ml-2\">{{\r\n group[config.fieldGroup || 0]\r\n }}</span>\r\n </div>\r\n </td>\r\n </tr>\r\n } @else {\r\n <tr>\r\n <td>\r\n @if(isVisibleExpandTolggle(group)){\r\n <button\r\n type=\"button\"\r\n pButton\r\n pRipple\r\n [pRowToggler]=\"group\"\r\n (click)=\"scrollExpandedContent()\"\r\n class=\"p-button-text p-button-rounded p-button-plain icone\"\r\n [icon]=\"expanded ? 'pi pi-chevron-down' : 'pi pi-chevron-right'\"\r\n >\r\n </button> \r\n \r\n }\r\n </td>\r\n\r\n @for (col of columns; track $index) {\r\n <ng-container>\r\n @if (!col.template) {\r\n <td\r\n class=\"rowTable\"\r\n [style]=\"\r\n applyStyle(group, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col)\r\n \"\r\n [pTooltip]=\"returnTooltipRow(group, col)\"\r\n >\r\n \r\n <span\r\n *ngIf=\"!isBooleanField(group, col); else booleanField\"\r\n [class]=\"returnRowClass(group, col)\"\r\n >\r\n @if (!isChipField(col) && !col.iconField && !isImageField(col)) {\r\n \r\n <span class=\"text-xs\" >\r\n @if (col.icon) {\r\n <i [class]=\"col.icon + ' mr-2'\"></i>\r\n }\r\n {{ transformValue(group, col) }}\r\n </span>\r\n } @if (isChipField(col) && !col.iconField) {\r\n <div>\r\n <span\r\n [class]=\"returnClassChip(group, col)\"\r\n [pTooltip]=\"returnTooltipIcon(group, col)\"\r\n >{{ transformValue(group, col) }}</span\r\n >\r\n </div>\r\n }\r\n </span>\r\n \r\n @if (isImageField(col)) {\r\n <span>\r\n <span>\r\n <img class=\"image\" [src]=\"loadImage(group, col)\" />\r\n </span>\r\n </span>\r\n } @if (col.iconField) {\r\n <i\r\n [ngClass]=\"{\r\n 'material-icons': col.indIconMaterial,\r\n 'material-symbols-outlined mr-2': !col.indIconMaterial\r\n }\"\r\n [pTooltip]=\"returnTooltipIcon(group, col)\"\r\n >\r\n {{ returnClassIcon(group, col) }}\r\n </i>\r\n }\r\n \r\n <ng-template #booleanField>\r\n @if (!col.iconField && !isSwitchField(col)) {\r\n <i\r\n [ngClass]=\"group[col.field] ? 'text-green-500' : 'text-red-500'\"\r\n ><span class=\"material-symbols-outlined\">\r\n {{ group[col.field] ? \"check\" : \"close\" }}\r\n </span>\r\n </i>\r\n } @if (isSwitchField(col)) {\r\n <span [class]=\"returnRowClass(group, col)\">\r\n <kv-switch\r\n (onSwitchChange)=\"onSwitchChange($event, group, col)\"\r\n [disabled]=\"col?.onlyReadField ?? true\"\r\n [switchValue]=\"transformValue(group, col)\"\r\n >\r\n </kv-switch>\r\n </span>\r\n }\r\n </ng-template>\r\n </td>\r\n } \r\n @if (col.template) {\r\n <td\r\n [style]=\"\r\n applyStyle(group, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col)\r\n \"\r\n class=\"rowTable\"\r\n >\r\n <span class=\"p-column-title\">{{ col.header }}:</span>\r\n @if (getCustomTemplate(col.template.name)) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutletContext]=\"{ $implicit: group }\"\r\n />\r\n }\r\n </td>\r\n }\r\n </ng-container>\r\n }\r\n </tr>\r\n }\r\n\r\n\r\n @if(expanded && !showTopHeader){\r\n <tr style=\"height: 40px\">\r\n @if (config.enableSelect) {\r\n <th class=\"flex align-items-left pl-2\">\r\n <!-- <p-tableHeaderCheckbox\r\n (click)=\"activeItemLote(selectedItems)\"\r\n ></p-tableHeaderCheckbox> -->\r\n <input\r\n type=\"checkbox\"\r\n [checked]=\"\r\n isAllGroupSelected(\r\n config.fieldGroup || 0,\r\n group[config.fieldGroup || 0]\r\n )\r\n \"\r\n [indeterminate]=\"\r\n isGroupIndeterminate(\r\n config.fieldGroup || 0,\r\n group[config.fieldGroup || 0]\r\n )\r\n \"\r\n (click)=\"\r\n selectGroup(\r\n $event,\r\n config.fieldGroup || 0,\r\n group[config.fieldGroup || 0]\r\n )\r\n \"\r\n />\r\n </th>\r\n } \r\n @for (col of columns; track $index) {\r\n <th\r\n [pSortableColumn]=\"col.field\"\r\n [pSortableColumnDisabled]=\"col.sortable === false\"\r\n [style.width]=\"col.width\"\r\n class=\"text-sm\"\r\n >\r\n <div\r\n [class]=\"\r\n centralizarColunas(col) && alignColunasHeader(col) == ''\r\n ? 'flex flex-row justify-content-center'\r\n : 'flex flex-row'\r\n \"\r\n [style]=\"alignColunasHeader(col)\"\r\n >\r\n <span>{{ col.header }}</span>\r\n @if (col.sortable) {\r\n <p-sortIcon\r\n [field]=\"'data.' + col.field\"\r\n style=\"font-size: 10px\"\r\n ></p-sortIcon>\r\n } @if (col.headerTooltip) {\r\n <span\r\n class=\"material-symbols-outlined flex align-items-center\"\r\n [pTooltip]=\"col.headerTooltip\"\r\n >info</span\r\n >\r\n }\r\n </div>\r\n </th>\r\n } \r\n @if (config.actions && config.actions.length > 0) {\r\n <th></th>\r\n }\r\n </tr>\r\n }\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"rowexpansion\" let-group>\r\n @if (!isTableRowExpanded) {\r\n <tr\r\n (dblclick)=\"doubleClick($event, group)\"\r\n [ngClass]=\"{ capitalize: tableCaptalized }\"\r\n >\r\n @if (config.enableSelect) {\r\n <td [style]=\"applyStyle(group, { field: 'check-box', header: '' })\">\r\n <!--<p-tableCheckbox *ngIf=\"isVisibleCheckbox(group.data)\"-->\r\n <!-- <p-tableCheckbox\r\n [value]=\"group\"\r\n [disabled]=\"isDisabledCheckbox(group)\"\r\n (click)=\"activeItemLote(selectedItems)\"\r\n ></p-tableCheckbox>\r\n -->\r\n <input\r\n type=\"checkbox\"\r\n [value]=\"group\"\r\n [checked]=\"isSelected(group)\"\r\n (click)=\"selectItem($event, group)\"\r\n />\r\n </td>\r\n } \r\n @for (col of columns; track $index) {\r\n <ng-container>\r\n @if (!col.template) {\r\n <td\r\n class=\"rowTable\"\r\n [style]=\"\r\n applyStyle(group, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col)\r\n \"\r\n [pTooltip]=\"returnTooltipRow(group, col)\"\r\n >\r\n <span class=\"p-column-title\">{{ col.header }}:</span>\r\n\r\n <span\r\n *ngIf=\"!isBooleanField(group, col); else booleanField\"\r\n [class]=\"returnRowClass(group, col)\"\r\n >\r\n @if (!isChipField(col) && !col.iconField && !isImageField(col)) {\r\n <span>\r\n @if (col.icon) {\r\n <i [class]=\"col.icon + ' mr-2'\"></i>\r\n }\r\n {{ transformValue(group, col) }}\r\n </span>\r\n } @if (isChipField(col) && !col.iconField) {\r\n <div>\r\n <span\r\n [class]=\"returnClassChip(group, col)\"\r\n [pTooltip]=\"returnTooltipIcon(group, col)\"\r\n >{{ transformValue(group, col) }}</span\r\n >\r\n </div>\r\n }\r\n </span>\r\n\r\n @if (isImageField(col)) {\r\n <span>\r\n <span>\r\n <img class=\"image\" [src]=\"loadImage(group, col)\" />\r\n </span>\r\n </span>\r\n } @if (col.iconField) {\r\n <i\r\n [ngClass]=\"{\r\n 'material-icons': col.indIconMaterial,\r\n 'material-symbols-outlined mr-2': !col.indIconMaterial\r\n }\"\r\n [pTooltip]=\"returnTooltipIcon(group, col)\"\r\n >\r\n {{ returnClassIcon(group, col) }}\r\n </i>\r\n }\r\n\r\n <ng-template #booleanField>\r\n @if (!col.iconField && !isSwitchField(col)) {\r\n <i\r\n [ngClass]=\"group[col.field] ? 'text-green-500' : 'text-red-500'\"\r\n ><span class=\"material-symbols-outlined\">\r\n {{ group[col.field] ? \"check\" : \"close\" }}\r\n </span>\r\n </i>\r\n } @if (isSwitchField(col)) {\r\n <span [class]=\"returnRowClass(group, col)\">\r\n <kv-switch\r\n (onSwitchChange)=\"onSwitchChange($event, group, col)\"\r\n [disabled]=\"col?.onlyReadField ?? true\"\r\n [switchValue]=\"transformValue(group, col)\"\r\n >\r\n </kv-switch>\r\n </span>\r\n }\r\n </ng-template>\r\n </td>\r\n } \r\n @if (col.template) {\r\n <td\r\n [style]=\"\r\n applyStyle(group, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col)\r\n \"\r\n class=\"rowTable\"\r\n >\r\n <span class=\"p-column-title\">{{ col.header }}:</span>\r\n @if (getCustomTemplate(col.template.name)) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutletContext]=\"{ $implicit: group }\"\r\n />\r\n }\r\n </td>\r\n }\r\n </ng-container>\r\n } \r\n @if (config.actions && config.actions.length > 0) {\r\n <td [style]=\"applyStyle(group, { field: 'btns-options', header: '' })\">\r\n <div class=\"flex flex-row justify-content-end w-full\">\r\n <!-- <button\r\n id=\"moreVertBtn\"\r\n pButton\r\n class=\"actionBtns p-button-text p-button-raised\"\r\n (click)=\"menu.toggle($event); activeItem(group)\"\r\n > -->\r\n\r\n <span\r\n class=\"material-symbols-outlined cursor-pointer icon-more-horiz\"\r\n style=\"font-size: 25px\"\r\n (click)=\"\r\n returnRowDataActions(group);\r\n menu.toggle($event);\r\n activeItem(group)\r\n \"\r\n >\r\n more_horiz\r\n </span>\r\n\r\n <!-- </button> -->\r\n\r\n <p-tieredMenu\r\n #menu\r\n [popup]=\"true\"\r\n [model]=\"menuItems\"\r\n appendTo=\"body\"\r\n ></p-tieredMenu>\r\n </div>\r\n </td>\r\n }\r\n </tr>\r\n }\r\n\r\n @if (isTableRowExpanded) {\r\n\r\n <tr>\r\n <td\r\n #expandedContent\r\n [attr.colspan]=\"columns.length + 2\"\r\n style=\"text-align: start; border-radius: 10px !important;\"\r\n >\r\n <div style=\"width: 100%;\">\r\n @if (getCustomTemplate(config.templateRowExpanded.name)) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"getCustomTemplate(config.templateRowExpanded.name)\"\r\n [ngTemplateOutletContext]=\"{ $implicit: group }\"\r\n />\r\n }\r\n </div>\r\n </td>\r\n </tr>\r\n \r\n }\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"emptymessage\" let-columns>\r\n <tr>\r\n <td\r\n [attr.colspan]=\"columns.length + 2\"\r\n style=\"text-align: center; border-radius: 10px !important\"\r\n >\r\n <p class=\"font-medium m-0\">Nenhum registro encontrado</p>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n }\r\n</div>\r\n", styles: ["@charset \"UTF-8\";tr{word-break:break-all}.tag{width:5px;height:20px;border-radius:.25rem}input[type=checkbox]{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:20px;height:20px;border:2px solid #ccc;border-radius:4px;position:relative;cursor:pointer;outline:none;background-color:#fff}input[type=checkbox]:after{content:\"\";position:absolute;left:5px;top:2px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);opacity:0;transition:opacity .2s}input[type=checkbox]:checked{border-color:#004172;background:#004172}input[type=checkbox]:checked:hover{background-color:#002542}input[type=checkbox]:checked:active{background-color:#002542}input[type=checkbox]:checked:disabled{background-color:#002542;opacity:.4;cursor:auto}input[type=checkbox]:checked:after{opacity:1}::ng-deep .p-datatable.p-datatable-sm .p-datatable-header{padding:0rem}::ng-deep .p-datatable.p-datatable-sm .p-datatable-thead>tr>th{background-color:#eaeaea}::ng-deep .p-panel.p-panel-toggleable .p-panel-header{background-color:#eaeaea}.tr-td:hover{box-shadow:#3c40434d 0 1px 2px,#3c404326 0 2px 6px 2px;background-color:#fff;transition:color .3s,transform .3s;transform:scale(1)}.checkbox-container{width:25px!important}.icon-more-horiz:hover,.icon-more-horiz:focus{color:#5e5e5e;transform:scale(1.2);transition:color .3s,transform .3s;background-color:#eaeaea;border-radius:50%}.btn-table{background-color:#29b92d;padding:12px}.btn-table:hover{background-color:#249a29}.btn-table:active{background-color:#1c801f}.btn-table:disabled{background-color:#29b92d}.icone{width:12px;height:2px}:host ::ng-deep .icone .pi{font-size:.7rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: i4.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i5.AutoFocus, selector: "[pAutoFocus]", inputs: ["autofocus"] }, { kind: "directive", type: i6.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i7.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "component", type: i8.Card, selector: "p-card", inputs: ["header", "subheader", "style", "styleClass"] }, { kind: "component", type: i9.Checkbox, selector: "p-checkbox", inputs: ["value", "name", "disabled", "binary", "label", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "style", "styleClass", "labelStyleClass", "formControl", "checkboxIcon", "readonly", "required", "autofocus", "trueValue", "falseValue", "variant"], outputs: ["onChange", "onFocus", "onBlur"] }, { kind: "directive", type: i10.InputText, selector: "[pInputText]", inputs: ["variant"] }, { kind: "component", type: i11.Panel, selector: "p-panel", inputs: ["toggleable", "header", "collapsed", "style", "styleClass", "iconPos", "expandIcon", "collapseIcon", "showHeader", "toggler", "transitionOptions"], outputs: ["collapsedChange", "onBeforeToggle", "onAfterToggle"] }, { kind: "directive", type: i12.Ripple, selector: "[pRipple]" }, { kind: "component", type: i13.TieredMenu, selector: "p-tieredMenu", inputs: ["model", "popup", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "autoDisplay", "showTransitionOptions", "hideTransitionOptions", "id", "ariaLabel", "ariaLabelledBy", "disabled", "tabindex"], outputs: ["onShow", "onHide"] }, { kind: "component", type: i14.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll", "virtualRowHeight"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i14.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "directive", type: i14.RowToggler, selector: "[pRowToggler]", inputs: ["pRowToggler", "pRowTogglerDisabled"] }, { kind: "component", type: i14.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "directive", type: i15.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i15.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i16.KvSwitchComponent, selector: "kv-switch", inputs: ["readonly", "switchValue"], outputs: ["onSwitchChange"] }, { kind: "component", type: i17.KvButtonComponent, selector: "kv-button", inputs: ["fullWidth", "type", "loading", "severity", "size", "icon", "iconPosition", "iconPopupPosition", "label", "disabled", "items", "popup"], outputs: ["iconChange", "onClick"] }] }); }
446
446
  }
447
447
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvTableExpandableComponent, decorators: [{
448
448
  type: Component,
@@ -253,7 +253,7 @@ export class KvTreetableComponent {
253
253
  }
254
254
  }
255
255
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvTreetableComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
256
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvTreetableComponent, selector: "kv-tree-table", inputs: { disableRowNodeSticky: { classPropertyName: "disableRowNodeSticky", publicName: "disableRowNodeSticky", isSignal: false, isRequired: false, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: false, isRequired: false, transformFunction: null }, gridLines: { classPropertyName: "gridLines", publicName: "gridLines", isSignal: false, isRequired: false, transformFunction: null }, tableCaptalized: { classPropertyName: "tableCaptalized", publicName: "tableCaptalized", isSignal: false, isRequired: false, transformFunction: null }, selectedItems: { classPropertyName: "selectedItems", publicName: "selectedItems", isSignal: false, isRequired: false, transformFunction: null }, paginator: { classPropertyName: "paginator", publicName: "paginator", isSignal: false, isRequired: false, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: false, isRequired: false, transformFunction: null }, treeTableDraggable: { classPropertyName: "treeTableDraggable", publicName: "treeTableDraggable", isSignal: false, isRequired: false, transformFunction: null }, transferArrayItem: { classPropertyName: "transferArrayItem", publicName: "transferArrayItem", isSignal: false, isRequired: false, transformFunction: null }, ordenacao: { classPropertyName: "ordenacao", publicName: "ordenacao", isSignal: false, isRequired: false, transformFunction: null }, totalRecords: { classPropertyName: "totalRecords", publicName: "totalRecords", isSignal: false, isRequired: false, transformFunction: null }, textoEmptyMessage: { classPropertyName: "textoEmptyMessage", publicName: "textoEmptyMessage", isSignal: false, isRequired: false, transformFunction: null }, childrenRecoil: { classPropertyName: "childrenRecoil", publicName: "childrenRecoil", isSignal: false, isRequired: false, transformFunction: null }, showHeader: { classPropertyName: "showHeader", publicName: "showHeader", isSignal: false, isRequired: false, transformFunction: null }, scrollHeight: { classPropertyName: "scrollHeight", publicName: "scrollHeight", isSignal: false, isRequired: false, transformFunction: null }, indFullPage: { classPropertyName: "indFullPage", publicName: "indFullPage", isSignal: false, isRequired: false, transformFunction: null }, dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: false, transformFunction: null }, isLoadingSkeleton: { classPropertyName: "isLoadingSkeleton", publicName: "isLoadingSkeleton", isSignal: true, isRequired: false, transformFunction: null }, pageLinksOptions: { classPropertyName: "pageLinksOptions", publicName: "pageLinksOptions", isSignal: false, isRequired: false, transformFunction: null }, pageLinks: { classPropertyName: "pageLinks", publicName: "pageLinks", isSignal: false, isRequired: false, transformFunction: null }, showFirstLastIcon: { classPropertyName: "showFirstLastIcon", publicName: "showFirstLastIcon", isSignal: false, isRequired: false, transformFunction: null }, selectionKeys: { classPropertyName: "selectionKeys", publicName: "selectionKeys", isSignal: true, isRequired: false, transformFunction: null }, _templates: { classPropertyName: "_templates", publicName: "templates", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { dataSource: "dataSourceChange", onFilter: "onFilter", onPaginate: "onPaginate", onActiveItem: "onActiveItem", onActiveItemLote: "onActiveItemLote", doubleClickEvent: "doubleClickEvent", onNodeSelect: "onNodeSelect", onNodeUnselect: "onNodeUnselect", onDropItem: "onDropItem", selectionKeys: "selectionKeysChange" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, queries: [{ propertyName: "templates", predicate: TemplateDirective }], viewQueries: [{ propertyName: "kvTreeTable", first: true, predicate: ["kvTreeTable"], descendants: true, isSignal: true }, { propertyName: "pTreeTable", first: true, predicate: TreeTable, descendants: true }, { propertyName: "inputBusca", first: true, predicate: ["inputBusca"], descendants: true }], ngImport: i0, template: "<div class=\"kv-treetable-container\" #kvTreeTable>\r\n <p-treeTable\r\n #tt\r\n cdkDropList\r\n class=\"example-list\"\r\n (cdkDropListDropped)=\"drop($event)\"\r\n [value]=\"dataSource()\"\r\n [columns]=\"config.columns\"\r\n [resizableColumns]=\"true\"\r\n [tableStyle]=\"{ 'min-width': '50rem' }\"\r\n [resizableColumns]=\"true\"\r\n [paginator]=\"paginator\"\r\n [rows]=\"rows\"\r\n [totalRecords]=\"totalRecords\"\r\n [rowsPerPageOptions]=\"[5, 10, 15, 25, 50]\"\r\n [showFirstLastIcon]=\"tamanhoTela() > 960 ? true : false\"\r\n [pageLinks]=\"tamanhoTela() > 960 ? 2 : 1\"\r\n [styleClass]=\"gridLines ? 'p-treetable-gridlines' : ''\"\r\n [(selection)]=\"selectedItems\"\r\n [selectionKeys]=\"selectionKeys()\"\r\n (selectionKeysChange)=\"selectionKeys.set($event)\"\r\n [lazy]=\"config.lazy\"\r\n (onLazyLoad)=\"paginate($event)\"\r\n (onNodeSelect)=\"onNodeSelected($event)\"\r\n (onNodeUnselect)=\"onNodeUnselected($event)\"\r\n [showCurrentPageReport]=\"true\"\r\n currentPageReportTemplate=\"{first} - {last} de {totalRecords}\"\r\n [scrollHeight]=\"scrollHeight\"\r\n >\r\n @if(config.enableCation) {\r\n <ng-template pTemplate=\"caption\">\r\n <div\r\n class=\"flex flex-row flex-wrap justify-content-between align-items-center grid formgrid p-fluid col-12 m-0 p-1\"\r\n style=\"background-color: #eaeaea\"\r\n >\r\n <div class=\"col-12 flex flex-column\">\r\n @if(config.title) {\r\n <div class=\"text-md font-bold my-3\">{{ config.title }}</div>\r\n } @if(config.subtitle) {\r\n <div class=\"text-sm mb-4 font-medium\">{{ config.subtitle }}</div>\r\n }\r\n </div>\r\n\r\n <div\r\n class=\"flex flex-row align-items-center col-10 p-0 md:col-6 lg:col-4 justify-content-center {{\r\n tamanhoTela() < 768 ? '' : 'input-search'\r\n }}\"\r\n >\r\n @if(config.enableFilter) {\r\n\r\n <span class=\"p-input-icon-left\">\r\n <i class=\"pi pi-search\"></i>\r\n\r\n <input\r\n pInputText\r\n pAutoFocus\r\n [autofocus]=\"true\"\r\n type=\"text\"\r\n (input)=\"onGlobalFilter(tt, $event)\"\r\n placeholder=\"Pesquisar...\"\r\n class=\"h-2rem\"\r\n #inputBusca\r\n />\r\n </span>\r\n }\r\n </div>\r\n\r\n <div class=\"flex flex-row col-1 justify-content-end p-0\">\r\n <div class=\"flex flex-row gap-2 btns-options\">\r\n @for (action of config.actionsLote; track $index) {\r\n @if((selectedItems.length > 0 || action.showAcoesLote) &&\r\n exibirCampo()(action, this.action)) {\r\n <kv-button\r\n (onClick)=\"action?.command(); activeItemLote(selectedItems)\"\r\n [pTooltip]=\"getOrExecute(action.tooltip, selectedItems)\"\r\n [tooltipPosition]=\"'bottom'\"\r\n [size]=\"'small'\"\r\n [disabled]=\"getOrExecute(action.disabled, selectedItems) || false\"\r\n [icon]=\"getOrExecute(action.icon, selectedItems)\"\r\n [severity]=\"action.severity || 'tertiary'\"\r\n />\r\n } }\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n } @if(showHeader){\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n @for(col of columns; track $index){\r\n <th\r\n [ttSortableColumn]=\"col.field\"\r\n [ttSortableColumnDisabled]=\"col.sortable === false\"\r\n [style.width]=\"col.width\"\r\n >\r\n <div>\r\n <div [ngClass]=\"{ flex: $index == 0, 'gap-3': $index == 0 }\">\r\n @if($index == 0 && config.enableSelect) {\r\n <p-treeTableHeaderCheckbox\r\n (click)=\"activeItemLote(selectedItems)\"\r\n />\r\n }\r\n\r\n <div class=\"flex flex-row align-items-center {{ align(col) }}\">\r\n <span class=\"text-xs\">{{ col.header }}</span>\r\n\r\n @if(col.sortable) {\r\n <p-treeTableSortIcon [field]=\"col.field\" class=\"pb-1\" />\r\n } @if(col.headerTooltip) {\r\n <span\r\n class=\"material-symbols-outlined flex align-items-center\"\r\n [pTooltip]=\"col.headerTooltip\"\r\n >\r\n info\r\n </span>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </th>\r\n @if (config.actions?.length ?? 0 > 0 || config.actionsPai) {\r\n <th [style.width]=\"5\"></th>\r\n } }\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n @for (col of columns; track $index) {\r\n <th\r\n [ttSortableColumn]=\"col.field\"\r\n [ttSortableColumnDisabled]=\"col.sortable === false\"\r\n [style.width]=\"col.width\"\r\n >\r\n <div class=\"flex flex-row align-items-center {{ align(col) }}\">\r\n <span class=\"text-xs\">{{ col.header }}</span>\r\n\r\n @if(col.sortable) {\r\n <p-treeTableSortIcon [field]=\"col.field\" class=\"pb-1\" />\r\n }\r\n </div>\r\n </th>\r\n } @if (config.actions?.length ?? 0 > 0 || config.actionsPai) {\r\n <th [style.width]=\"5\"></th>\r\n }\r\n </tr>\r\n </ng-template>\r\n }\r\n\r\n <ng-template\r\n pTemplate=\"body\"\r\n let-rowNode\r\n let-rowData=\"rowData\"\r\n let-columns=\"columns\"\r\n >\r\n @if(isLoadingSkeleton()) { @for(skeletonRow of\r\n dataSource(); track $index) {\r\n <tr>\r\n @for(col of columns; track $index){\r\n <td>\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-center w-full\"\r\n >\r\n @if($index == 0) {\r\n <p-treeTableToggler [rowNode]=\"rowNode\" />\r\n }\r\n <div class=\"flex flex-column w-full\">\r\n <p-skeleton height=\"1rem\" />\r\n </div>\r\n </div>\r\n </td>\r\n }\r\n <td>\r\n <div class=\"flex justify-content-center\">\r\n <p-skeleton [style]=\"{ height: '1.5rem', width: '1.5rem' }\" />\r\n </div>\r\n </td>\r\n </tr>\r\n } } @else { @if(treeTableDraggable) {\r\n <tr\r\n cdkDrag\r\n cdkDragLockAxis=\"y\"\r\n [cdkDragData]=\"rowNode\"\r\n [ttRow]=\"rowNode\"\r\n (dblclick)=\"doubleClick($event, rowData)\"\r\n [ngClass]=\"{ capitalize: tableCaptalized }\"\r\n >\r\n @for(col of columns; track $index){\r\n <td\r\n class=\"draggable-cell\"\r\n [style.position]=\"\r\n !disableRowNodeSticky && rowNode.level !== 0 ? 'sticky' : null\r\n \"\r\n >\r\n <!-- [style.left.px]=\"\r\n childrenRecoil && rowNode.level !== 0 ? rowNode.level * 30 : null\r\n \" -->\r\n\r\n <div class=\"flex flex-row {{ align(col) }}\">\r\n @if($index == 0) {\r\n <div class=\"w-full-h-full flex align-items-center\">\r\n <span\r\n class=\"material-symbols-outlined drag-icon\"\r\n style=\"\r\n cursor: grab;\r\n font-size: 25px;\r\n color: #6b7280;\r\n opacity: 0.9;\r\n \"\r\n cdkDragHandle\r\n >\r\n drag_indicator\r\n </span>\r\n <p-treeTableToggler class=\"hiddenVisible\" [rowNode]=\"rowNode\" />\r\n\r\n @if(config.enableSelect) {\r\n <p-treeTableCheckbox\r\n [disabled]=\"isDisabledCheckbox()(rowData, rowNode)\"\r\n (click)=\"activeItemLote(selectedItems)\"\r\n [value]=\"rowNode\"\r\n [ngStyle]=\"{\r\n display: isSelectEnabled()(rowData, rowNode)\r\n ? 'block'\r\n : 'none',\r\n 'margin-left': config.visibleCheckboxFunction\r\n ? '-34px'\r\n : '0px'\r\n }\"\r\n />\r\n }\r\n </div>\r\n }\r\n\r\n <div class=\"flex flex-row align-items-center w-full\">\r\n @if (col.template && validateShowTemplate()(rowNode, col)) {\r\n <span class=\"w-full\">\r\n @if(getCustomTemplate(col.template.name)) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutletContext]=\"{ $implicit: rowData }\"\r\n >\r\n </ng-container>\r\n }\r\n </span>\r\n } @else {\r\n <div\r\n class=\"flex flex-row align-items-center {{\r\n (col.boolean || col.centralize) && 'justify-content-center'\r\n }} gap-2 w-full\"\r\n >\r\n @if(col.tagColor) {\r\n <div\r\n class=\"tag\"\r\n [pTooltip]=\"\r\n col.tooltipTag &&\r\n col.tooltipTag(rowData, col, rowData[col.field])\r\n \"\r\n [style.background-color]=\"\r\n col.tagColor(rowData, col, rowData[col.field])\r\n \"\r\n ></div>\r\n\r\n } @if(col.boolean) {\r\n <i\r\n class=\"pi {{\r\n rowData[col.field] ? 'pi-check text-green-300' : ''\r\n }}\"\r\n style=\"font-size: 1rem; font-weight: 700\"\r\n ></i>\r\n\r\n } @else {\r\n <div class=\"flex flex-column\">\r\n <span class=\"m-0 text-xs\">{{ rowData[col.field] }}</span>\r\n\r\n @if(col.subtitle) {\r\n\r\n <p class=\"m-0 text-xs font-semibold\">\r\n {{ rowData[col.subtitle] }}\r\n </p>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </td>\r\n } @if((config.actions?.length ?? 0 > 0) || config.actionsPai) {\r\n <td\r\n style=\"border-left: none; text-align: center; width: 0\"\r\n [style.borderRight]=\"rowNode.level === 0 ? 'none' : ''\"\r\n [style.borderLeft]=\"rowNode.level === 0 ? 'none' : ''\"\r\n >\r\n @if((config.actions?.length ?? 0 > 0) &&\r\n validateActionPosition()(rowNode)) {\r\n <div class=\"flex align-items-center justify-content-center\">\r\n <span\r\n class=\"material-symbols-outlined cursor-pointer icon-more-horiz\"\r\n style=\"font-size: 20px; padding: 0.1rem\"\r\n (click)=\"menu.toggle($event); activeItem(rowData)\"\r\n >\r\n more_horiz\r\n </span>\r\n\r\n @for(action of config.actions; track $index) {\r\n {{ criarMenusModal()(rowData) }}\r\n }\r\n\r\n <p-menu\r\n #menu\r\n [popup]=\"true\"\r\n [model]=\"menuItems\"\r\n appendTo=\"body\"\r\n ></p-menu>\r\n </div>\r\n } @if(config.actionsPai?.length ?? 0 > 0 && rowNode.level == 0){\r\n <div class=\"flex justify-content-end align-items-center\">\r\n @for (actionPai of config.actionsPai; track $index) {\r\n @if(getOrExecute(actionPai.visible, rowData) ?? true) {\r\n <kv-button\r\n (onClick)=\"activeItem(rowData); actionPai.command($event)\"\r\n [type]=\"'text'\"\r\n [icon]=\"actionPai.icon\"\r\n [severity]=\"actionPai.severity || 'tertiary'\"\r\n [disabled]=\"getOrExecute(actionPai.disabled, rowData) || false\"\r\n [pTooltip]=\"getOrExecute(actionPai.tooltip, rowData)\"\r\n [tooltipPosition]=\"'left'\"\r\n />\r\n\r\n } }\r\n </div>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n } @else {\r\n <tr\r\n [ttRow]=\"rowNode\"\r\n (dblclick)=\"doubleClick($event, rowData)\"\r\n [ngClass]=\"{ capitalize: tableCaptalized }\"\r\n >\r\n @for(col of columns; track $index){\r\n <td\r\n [style.position]=\"rowNode.level !== 0 ? 'sticky' : null\"\r\n [style.left.px]=\"\r\n childrenRecoil && rowNode.level !== 0 ? rowNode.level * 30 : null\r\n \"\r\n [style.borderRight]=\"rowNode.level === 0 ? 'none' : ''\"\r\n [style.borderLeft]=\"\r\n rowNode.level === 0 && col.field != config.columns[0].field\r\n ? 'none'\r\n : ''\r\n \"\r\n >\r\n <div class=\"flex flex-row {{ align(col) }}\">\r\n @if($index == 0) {\r\n <div class=\"w-full-h-full flex align-items-center\">\r\n <p-treeTableToggler class=\"hiddenVisible\" [rowNode]=\"rowNode\" />\r\n\r\n @if(config.enableSelect) {\r\n <p-treeTableCheckbox\r\n [disabled]=\"isDisabledCheckbox()(rowData, rowNode)\"\r\n (click)=\"activeItemLote(selectedItems)\"\r\n [value]=\"rowNode\"\r\n [ngStyle]=\"{\r\n display: isSelectEnabled()(rowData, rowNode)\r\n ? 'block'\r\n : 'none',\r\n 'margin-left': config.visibleCheckboxFunction\r\n ? '-34px'\r\n : '0px'\r\n }\"\r\n />\r\n }\r\n </div>\r\n }\r\n\r\n <div class=\"flex flex-row align-items-center w-full\">\r\n @if (col.template && validateShowTemplate()(rowNode, col)) {\r\n <span class=\"w-full\">\r\n @if(getCustomTemplate(col.template.name)) {\r\n\r\n <ng-container\r\n [ngTemplateOutlet]=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutletContext]=\"{ $implicit: rowData }\"\r\n >\r\n </ng-container>\r\n }\r\n </span>\r\n } @else {\r\n <div\r\n class=\"flex flex-row align-items-center {{\r\n (col.boolean || col.centralize) && 'justify-content-center'\r\n }} gap-2 w-full\"\r\n >\r\n @if(col.tagColor) {\r\n\r\n <div\r\n class=\"tag\"\r\n [pTooltip]=\"\r\n col.tooltipTag &&\r\n col.tooltipTag(rowData, col, rowData[col.field])\r\n \"\r\n [style.background-color]=\"\r\n col.tagColor(rowData, col, rowData[col.field])\r\n \"\r\n ></div>\r\n\r\n } @if(col.boolean) {\r\n\r\n <i\r\n class=\"pi {{\r\n rowData[col.field] ? 'pi-check text-green-300' : ''\r\n }}\"\r\n style=\"font-size: 1rem; font-weight: 700\"\r\n ></i>\r\n } @else {\r\n <div class=\"flex flex-column\">\r\n <span class=\"m-0 text-xs\">{{ rowData[col.field] }}</span>\r\n\r\n @if(col.subtitle) {\r\n\r\n <p class=\"m-0 text-xs font-semibold\">\r\n {{ rowData[col.subtitle] }}\r\n </p>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </td>\r\n } @if((config.actions?.length ?? 0 > 0) || config.actionsPai) {\r\n <td style=\"border-left: none; text-align: center; width: 0\">\r\n @if((config.actions?.length ?? 0 > 0) &&\r\n validateActionPosition()(rowNode)) {\r\n <div>\r\n <span\r\n class=\"material-symbols-outlined cursor-pointer icon-more-horiz\"\r\n style=\"font-size: 20px; padding: 0.1rem\"\r\n (click)=\"menu.toggle($event); activeItem(rowData)\"\r\n >\r\n more_horiz\r\n </span>\r\n\r\n @for(action of config.actions; track $index) {\r\n {{ criarMenusModal()(rowData) }}\r\n }\r\n\r\n <p-menu\r\n #menu\r\n [popup]=\"true\"\r\n [model]=\"menuItems\"\r\n appendTo=\"body\"\r\n ></p-menu>\r\n </div>\r\n } @if(config.actionsPai?.length ?? 0 > 0 && rowNode.level == 0){\r\n <div class=\"flex justify-content-end\">\r\n @for (actionPai of config.actionsPai; track $index) { @if\r\n (getOrExecute(actionPai.visible, rowData) ?? true) {\r\n <kv-button\r\n (onClick)=\"activeItem(rowData); actionPai.command($event)\"\r\n [type]=\"'text'\"\r\n [icon]=\"actionPai.icon\"\r\n [severity]=\"actionPai.severity || 'tertiary'\"\r\n [disabled]=\"getOrExecute(actionPai.disabled, rowData) || false\"\r\n [pTooltip]=\"getOrExecute(actionPai.tooltip, rowData)\"\r\n [tooltipPosition]=\"'left'\"\r\n />\r\n } }\r\n </div>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n } }\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"emptymessage\">\r\n <tr>\r\n <td\r\n [attr.colspan]=\"config.columns.length + 1\"\r\n style=\"text-align: center\"\r\n class=\"text-xs\"\r\n >\r\n {{ textoEmptyMessage }}\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-treeTable>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";::ng-deep .p-treetable .p-treetable-tbody>tr>td{padding:.2rem}::ng-deep .p-treetable .p-treetable-header{padding:0rem}span{font-size:14px}:host ::ng-deep .p-treetable table{table-layout:auto!important}::ng-deep .p-checkbox .p-checkbox-box{width:1.125rem;height:1.125rem}::ng-deep .p-checkbox{display:flex;align-items:center}::ng-deep .p-treetable .p-paginator{scale:.75}.icon-more-horiz{font-weight:700}.icon-more-horiz:hover,.icon-more-horiz:focus{color:#5e5e5e;transition:color .3s,transform .3s;background-color:#eaeaea;border-radius:50%}::ng-deep .p-treetable .p-treetable-thead>tr>th{background-color:#eaeaea;padding:.3rem}:host ::ng-deep .treetabledraggable .p-treetable .p-treetable-tbody>tr>td .p-treetable-toggler{width:1rem;height:1rem}.tag{width:5px;height:20px;border-radius:.25rem}:host ::ng-deep .draggable-cell .drag-icon{visibility:hidden}:host ::ng-deep .draggable-cell:hover .drag-icon{visibility:visible}.cdk-drag-preview{display:flex;align-items:center;justify-content:space-between;border-radius:10px!important}.cdk-drop-list-dragging{cursor:grabbing}:host ::ng-deep .cdk-drop-list-dragging .cdk-drag{transition:transform .25s cubic-bezier(0,0,.2,1)}:host ::ng-deep .cdk-drag-animating{transition:transform .3s cubic-bezier(0,0,.2,1)}::ng-deep svg.p-icon{width:.65rem;height:.65rem}::ng-deep .p-checkbox .p-checkbox-box.p-highlight{border-color:#004172;background:#004172}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:hover{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:active{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:disabled{background-color:#002542;opacity:.4;cursor:auto}:host{height:100%}::ng-deep .kv-treetable-container,::ng-deep p-treeTable{height:100%}::ng-deep p-treeTable .p-treetable{display:flex;flex-direction:column;height:100%}::ng-deep table{height:auto!important}::ng-deep p-treeTable .p-treetable .p-treetable-wrapper,::ng-deep p-treeTable{height:100%}::ng-deep .p-treetable .p-treetable-wrapper::-webkit-scrollbar{width:6px}::ng-deep .p-treetable .p-treetable-wrapper::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .p-treetable .p-treetable-wrapper::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .p-treetable .p-treetable-wrapper:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .p-treetable .p-treetable-wrapper::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i3.AutoFocus, selector: "[pAutoFocus]", inputs: ["autofocus"] }, { kind: "directive", type: i4.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: i5.InputText, selector: "[pInputText]", inputs: ["variant"] }, { kind: "component", type: i6.Menu, selector: "p-menu", inputs: ["model", "popup", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaLabel", "ariaLabelledBy", "id", "tabindex"], outputs: ["onShow", "onHide", "onBlur", "onFocus"] }, { kind: "directive", type: i7.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i7.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i7.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i8.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "style", "shape", "animation", "borderRadius", "size", "width", "height"] }, { kind: "component", type: i9.TreeTable, selector: "p-treeTable", inputs: ["columns", "style", "styleClass", "tableStyle", "tableStyleClass", "autoLayout", "lazy", "lazyLoadOnInit", "paginator", "rows", "first", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "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", "paginatorLocale", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "value", "virtualRowHeight", "selectionKeys"], outputs: ["selectionChange", "contextMenuSelectionChange", "onFilter", "onNodeExpand", "onNodeCollapse", "onPage", "onSort", "onLazyLoad", "sortFunction", "onColResize", "onColReorder", "onNodeSelect", "onNodeUnselect", "onContextMenuSelect", "onHeaderCheckboxToggle", "onEditInit", "onEditComplete", "onEditCancel", "selectionKeysChange"] }, { kind: "component", type: i9.TreeTableToggler, selector: "p-treeTableToggler", inputs: ["rowNode"] }, { kind: "directive", type: i9.TTSortableColumn, selector: "[ttSortableColumn]", inputs: ["ttSortableColumn", "ttSortableColumnDisabled"] }, { kind: "component", type: i9.TTSortIcon, selector: "p-treeTableSortIcon", inputs: ["field", "ariaLabelDesc", "ariaLabelAsc"] }, { kind: "directive", type: i9.TTRow, selector: "[ttRow]", inputs: ["ttRow"] }, { kind: "component", type: i9.TTCheckbox, selector: "p-treeTableCheckbox", inputs: ["disabled", "value"] }, { kind: "component", type: i9.TTHeaderCheckbox, selector: "p-treeTableHeaderCheckbox" }, { kind: "component", type: i10.KvButtonComponent, selector: "kv-button", inputs: ["fullWidth", "type", "loading", "severity", "size", "icon", "iconPosition", "label", "disabled", "items", "popup"], outputs: ["iconChange", "onClick"] }] }); }
256
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvTreetableComponent, selector: "kv-tree-table", inputs: { disableRowNodeSticky: { classPropertyName: "disableRowNodeSticky", publicName: "disableRowNodeSticky", isSignal: false, isRequired: false, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: false, isRequired: false, transformFunction: null }, gridLines: { classPropertyName: "gridLines", publicName: "gridLines", isSignal: false, isRequired: false, transformFunction: null }, tableCaptalized: { classPropertyName: "tableCaptalized", publicName: "tableCaptalized", isSignal: false, isRequired: false, transformFunction: null }, selectedItems: { classPropertyName: "selectedItems", publicName: "selectedItems", isSignal: false, isRequired: false, transformFunction: null }, paginator: { classPropertyName: "paginator", publicName: "paginator", isSignal: false, isRequired: false, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: false, isRequired: false, transformFunction: null }, treeTableDraggable: { classPropertyName: "treeTableDraggable", publicName: "treeTableDraggable", isSignal: false, isRequired: false, transformFunction: null }, transferArrayItem: { classPropertyName: "transferArrayItem", publicName: "transferArrayItem", isSignal: false, isRequired: false, transformFunction: null }, ordenacao: { classPropertyName: "ordenacao", publicName: "ordenacao", isSignal: false, isRequired: false, transformFunction: null }, totalRecords: { classPropertyName: "totalRecords", publicName: "totalRecords", isSignal: false, isRequired: false, transformFunction: null }, textoEmptyMessage: { classPropertyName: "textoEmptyMessage", publicName: "textoEmptyMessage", isSignal: false, isRequired: false, transformFunction: null }, childrenRecoil: { classPropertyName: "childrenRecoil", publicName: "childrenRecoil", isSignal: false, isRequired: false, transformFunction: null }, showHeader: { classPropertyName: "showHeader", publicName: "showHeader", isSignal: false, isRequired: false, transformFunction: null }, scrollHeight: { classPropertyName: "scrollHeight", publicName: "scrollHeight", isSignal: false, isRequired: false, transformFunction: null }, indFullPage: { classPropertyName: "indFullPage", publicName: "indFullPage", isSignal: false, isRequired: false, transformFunction: null }, dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: false, transformFunction: null }, isLoadingSkeleton: { classPropertyName: "isLoadingSkeleton", publicName: "isLoadingSkeleton", isSignal: true, isRequired: false, transformFunction: null }, pageLinksOptions: { classPropertyName: "pageLinksOptions", publicName: "pageLinksOptions", isSignal: false, isRequired: false, transformFunction: null }, pageLinks: { classPropertyName: "pageLinks", publicName: "pageLinks", isSignal: false, isRequired: false, transformFunction: null }, showFirstLastIcon: { classPropertyName: "showFirstLastIcon", publicName: "showFirstLastIcon", isSignal: false, isRequired: false, transformFunction: null }, selectionKeys: { classPropertyName: "selectionKeys", publicName: "selectionKeys", isSignal: true, isRequired: false, transformFunction: null }, _templates: { classPropertyName: "_templates", publicName: "templates", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { dataSource: "dataSourceChange", onFilter: "onFilter", onPaginate: "onPaginate", onActiveItem: "onActiveItem", onActiveItemLote: "onActiveItemLote", doubleClickEvent: "doubleClickEvent", onNodeSelect: "onNodeSelect", onNodeUnselect: "onNodeUnselect", onDropItem: "onDropItem", selectionKeys: "selectionKeysChange" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, queries: [{ propertyName: "templates", predicate: TemplateDirective }], viewQueries: [{ propertyName: "kvTreeTable", first: true, predicate: ["kvTreeTable"], descendants: true, isSignal: true }, { propertyName: "pTreeTable", first: true, predicate: TreeTable, descendants: true }, { propertyName: "inputBusca", first: true, predicate: ["inputBusca"], descendants: true }], ngImport: i0, template: "<div class=\"kv-treetable-container\" #kvTreeTable>\r\n <p-treeTable\r\n #tt\r\n cdkDropList\r\n class=\"example-list\"\r\n (cdkDropListDropped)=\"drop($event)\"\r\n [value]=\"dataSource()\"\r\n [columns]=\"config.columns\"\r\n [resizableColumns]=\"true\"\r\n [tableStyle]=\"{ 'min-width': '50rem' }\"\r\n [resizableColumns]=\"true\"\r\n [paginator]=\"paginator\"\r\n [rows]=\"rows\"\r\n [totalRecords]=\"totalRecords\"\r\n [rowsPerPageOptions]=\"[5, 10, 15, 25, 50]\"\r\n [showFirstLastIcon]=\"tamanhoTela() > 960 ? true : false\"\r\n [pageLinks]=\"tamanhoTela() > 960 ? 2 : 1\"\r\n [styleClass]=\"gridLines ? 'p-treetable-gridlines' : ''\"\r\n [(selection)]=\"selectedItems\"\r\n [selectionKeys]=\"selectionKeys()\"\r\n (selectionKeysChange)=\"selectionKeys.set($event)\"\r\n [lazy]=\"config.lazy\"\r\n (onLazyLoad)=\"paginate($event)\"\r\n (onNodeSelect)=\"onNodeSelected($event)\"\r\n (onNodeUnselect)=\"onNodeUnselected($event)\"\r\n [showCurrentPageReport]=\"true\"\r\n currentPageReportTemplate=\"{first} - {last} de {totalRecords}\"\r\n [scrollHeight]=\"scrollHeight\"\r\n >\r\n @if(config.enableCation) {\r\n <ng-template pTemplate=\"caption\">\r\n <div\r\n class=\"flex flex-row flex-wrap justify-content-between align-items-center grid formgrid p-fluid col-12 m-0 p-1\"\r\n style=\"background-color: #eaeaea\"\r\n >\r\n <div class=\"col-12 flex flex-column\">\r\n @if(config.title) {\r\n <div class=\"text-md font-bold my-3\">{{ config.title }}</div>\r\n } @if(config.subtitle) {\r\n <div class=\"text-sm mb-4 font-medium\">{{ config.subtitle }}</div>\r\n }\r\n </div>\r\n\r\n <div\r\n class=\"flex flex-row align-items-center col-10 p-0 md:col-6 lg:col-4 justify-content-center {{\r\n tamanhoTela() < 768 ? '' : 'input-search'\r\n }}\"\r\n >\r\n @if(config.enableFilter) {\r\n\r\n <span class=\"p-input-icon-left\">\r\n <i class=\"pi pi-search\"></i>\r\n\r\n <input\r\n pInputText\r\n pAutoFocus\r\n [autofocus]=\"true\"\r\n type=\"text\"\r\n (input)=\"onGlobalFilter(tt, $event)\"\r\n placeholder=\"Pesquisar...\"\r\n class=\"h-2rem\"\r\n #inputBusca\r\n />\r\n </span>\r\n }\r\n </div>\r\n\r\n <div class=\"flex flex-row col-1 justify-content-end p-0\">\r\n <div class=\"flex flex-row gap-2 btns-options\">\r\n @for (action of config.actionsLote; track $index) {\r\n @if((selectedItems.length > 0 || action.showAcoesLote) &&\r\n exibirCampo()(action, this.action)) {\r\n <kv-button\r\n (onClick)=\"action?.command(); activeItemLote(selectedItems)\"\r\n [pTooltip]=\"getOrExecute(action.tooltip, selectedItems)\"\r\n [tooltipPosition]=\"'bottom'\"\r\n [size]=\"'small'\"\r\n [disabled]=\"getOrExecute(action.disabled, selectedItems) || false\"\r\n [icon]=\"getOrExecute(action.icon, selectedItems)\"\r\n [severity]=\"action.severity || 'tertiary'\"\r\n />\r\n } }\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n } @if(showHeader){\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n @for(col of columns; track $index){\r\n <th\r\n [ttSortableColumn]=\"col.field\"\r\n [ttSortableColumnDisabled]=\"col.sortable === false\"\r\n [style.width]=\"col.width\"\r\n >\r\n <div>\r\n <div [ngClass]=\"{ flex: $index == 0, 'gap-3': $index == 0 }\">\r\n @if($index == 0 && config.enableSelect) {\r\n <p-treeTableHeaderCheckbox\r\n (click)=\"activeItemLote(selectedItems)\"\r\n />\r\n }\r\n\r\n <div class=\"flex flex-row align-items-center {{ align(col) }}\">\r\n <span class=\"text-xs\">{{ col.header }}</span>\r\n\r\n @if(col.sortable) {\r\n <p-treeTableSortIcon [field]=\"col.field\" class=\"pb-1\" />\r\n } @if(col.headerTooltip) {\r\n <span\r\n class=\"material-symbols-outlined flex align-items-center\"\r\n [pTooltip]=\"col.headerTooltip\"\r\n >\r\n info\r\n </span>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </th>\r\n @if (config.actions?.length ?? 0 > 0 || config.actionsPai) {\r\n <th [style.width]=\"5\"></th>\r\n } }\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n @for (col of columns; track $index) {\r\n <th\r\n [ttSortableColumn]=\"col.field\"\r\n [ttSortableColumnDisabled]=\"col.sortable === false\"\r\n [style.width]=\"col.width\"\r\n >\r\n <div class=\"flex flex-row align-items-center {{ align(col) }}\">\r\n <span class=\"text-xs\">{{ col.header }}</span>\r\n\r\n @if(col.sortable) {\r\n <p-treeTableSortIcon [field]=\"col.field\" class=\"pb-1\" />\r\n }\r\n </div>\r\n </th>\r\n } @if (config.actions?.length ?? 0 > 0 || config.actionsPai) {\r\n <th [style.width]=\"5\"></th>\r\n }\r\n </tr>\r\n </ng-template>\r\n }\r\n\r\n <ng-template\r\n pTemplate=\"body\"\r\n let-rowNode\r\n let-rowData=\"rowData\"\r\n let-columns=\"columns\"\r\n >\r\n @if(isLoadingSkeleton()) { @for(skeletonRow of\r\n dataSource(); track $index) {\r\n <tr>\r\n @for(col of columns; track $index){\r\n <td>\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-center w-full\"\r\n >\r\n @if($index == 0) {\r\n <p-treeTableToggler [rowNode]=\"rowNode\" />\r\n }\r\n <div class=\"flex flex-column w-full\">\r\n <p-skeleton height=\"1rem\" />\r\n </div>\r\n </div>\r\n </td>\r\n }\r\n <td>\r\n <div class=\"flex justify-content-center\">\r\n <p-skeleton [style]=\"{ height: '1.5rem', width: '1.5rem' }\" />\r\n </div>\r\n </td>\r\n </tr>\r\n } } @else { @if(treeTableDraggable) {\r\n <tr\r\n cdkDrag\r\n cdkDragLockAxis=\"y\"\r\n [cdkDragData]=\"rowNode\"\r\n [ttRow]=\"rowNode\"\r\n (dblclick)=\"doubleClick($event, rowData)\"\r\n [ngClass]=\"{ capitalize: tableCaptalized }\"\r\n >\r\n @for(col of columns; track $index){\r\n <td\r\n class=\"draggable-cell\"\r\n [style.position]=\"\r\n !disableRowNodeSticky && rowNode.level !== 0 ? 'sticky' : null\r\n \"\r\n >\r\n <!-- [style.left.px]=\"\r\n childrenRecoil && rowNode.level !== 0 ? rowNode.level * 30 : null\r\n \" -->\r\n\r\n <div class=\"flex flex-row {{ align(col) }}\">\r\n @if($index == 0) {\r\n <div class=\"w-full-h-full flex align-items-center\">\r\n <span\r\n class=\"material-symbols-outlined drag-icon\"\r\n style=\"\r\n cursor: grab;\r\n font-size: 25px;\r\n color: #6b7280;\r\n opacity: 0.9;\r\n \"\r\n cdkDragHandle\r\n >\r\n drag_indicator\r\n </span>\r\n <p-treeTableToggler class=\"hiddenVisible\" [rowNode]=\"rowNode\" />\r\n\r\n @if(config.enableSelect) {\r\n <p-treeTableCheckbox\r\n [disabled]=\"isDisabledCheckbox()(rowData, rowNode)\"\r\n (click)=\"activeItemLote(selectedItems)\"\r\n [value]=\"rowNode\"\r\n [ngStyle]=\"{\r\n display: isSelectEnabled()(rowData, rowNode)\r\n ? 'block'\r\n : 'none',\r\n 'margin-left': config.visibleCheckboxFunction\r\n ? '-34px'\r\n : '0px'\r\n }\"\r\n />\r\n }\r\n </div>\r\n }\r\n\r\n <div class=\"flex flex-row align-items-center w-full\">\r\n @if (col.template && validateShowTemplate()(rowNode, col)) {\r\n <span class=\"w-full\">\r\n @if(getCustomTemplate(col.template.name)) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutletContext]=\"{ $implicit: rowData }\"\r\n >\r\n </ng-container>\r\n }\r\n </span>\r\n } @else {\r\n <div\r\n class=\"flex flex-row align-items-center {{\r\n (col.boolean || col.centralize) && 'justify-content-center'\r\n }} gap-2 w-full\"\r\n >\r\n @if(col.tagColor) {\r\n <div\r\n class=\"tag\"\r\n [pTooltip]=\"\r\n col.tooltipTag &&\r\n col.tooltipTag(rowData, col, rowData[col.field])\r\n \"\r\n [style.background-color]=\"\r\n col.tagColor(rowData, col, rowData[col.field])\r\n \"\r\n ></div>\r\n\r\n } @if(col.boolean) {\r\n <i\r\n class=\"pi {{\r\n rowData[col.field] ? 'pi-check text-green-300' : ''\r\n }}\"\r\n style=\"font-size: 1rem; font-weight: 700\"\r\n ></i>\r\n\r\n } @else {\r\n <div class=\"flex flex-column\">\r\n <span class=\"m-0 text-xs\">{{ rowData[col.field] }}</span>\r\n\r\n @if(col.subtitle) {\r\n\r\n <p class=\"m-0 text-xs font-semibold\">\r\n {{ rowData[col.subtitle] }}\r\n </p>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </td>\r\n } @if((config.actions?.length ?? 0 > 0) || config.actionsPai) {\r\n <td\r\n style=\"border-left: none; text-align: center; width: 0\"\r\n [style.borderRight]=\"rowNode.level === 0 ? 'none' : ''\"\r\n [style.borderLeft]=\"rowNode.level === 0 ? 'none' : ''\"\r\n >\r\n @if((config.actions?.length ?? 0 > 0) &&\r\n validateActionPosition()(rowNode)) {\r\n <div class=\"flex align-items-center justify-content-center\">\r\n <span\r\n class=\"material-symbols-outlined cursor-pointer icon-more-horiz\"\r\n style=\"font-size: 20px; padding: 0.1rem\"\r\n (click)=\"menu.toggle($event); activeItem(rowData)\"\r\n >\r\n more_horiz\r\n </span>\r\n\r\n @for(action of config.actions; track $index) {\r\n {{ criarMenusModal()(rowData) }}\r\n }\r\n\r\n <p-menu\r\n #menu\r\n [popup]=\"true\"\r\n [model]=\"menuItems\"\r\n appendTo=\"body\"\r\n ></p-menu>\r\n </div>\r\n } @if(config.actionsPai?.length ?? 0 > 0 && rowNode.level == 0){\r\n <div class=\"flex justify-content-end align-items-center\">\r\n @for (actionPai of config.actionsPai; track $index) {\r\n @if(getOrExecute(actionPai.visible, rowData) ?? true) {\r\n <kv-button\r\n (onClick)=\"activeItem(rowData); actionPai.command($event)\"\r\n [type]=\"'text'\"\r\n [icon]=\"actionPai.icon\"\r\n [severity]=\"actionPai.severity || 'tertiary'\"\r\n [disabled]=\"getOrExecute(actionPai.disabled, rowData) || false\"\r\n [pTooltip]=\"getOrExecute(actionPai.tooltip, rowData)\"\r\n [tooltipPosition]=\"'left'\"\r\n />\r\n\r\n } }\r\n </div>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n } @else {\r\n <tr\r\n [ttRow]=\"rowNode\"\r\n (dblclick)=\"doubleClick($event, rowData)\"\r\n [ngClass]=\"{ capitalize: tableCaptalized }\"\r\n >\r\n @for(col of columns; track $index){\r\n <td\r\n [style.position]=\"rowNode.level !== 0 ? 'sticky' : null\"\r\n [style.left.px]=\"\r\n childrenRecoil && rowNode.level !== 0 ? rowNode.level * 30 : null\r\n \"\r\n [style.borderRight]=\"rowNode.level === 0 ? 'none' : ''\"\r\n [style.borderLeft]=\"\r\n rowNode.level === 0 && col.field != config.columns[0].field\r\n ? 'none'\r\n : ''\r\n \"\r\n >\r\n <div class=\"flex flex-row {{ align(col) }}\">\r\n @if($index == 0) {\r\n <div class=\"w-full-h-full flex align-items-center\">\r\n <p-treeTableToggler class=\"hiddenVisible\" [rowNode]=\"rowNode\" />\r\n\r\n @if(config.enableSelect) {\r\n <p-treeTableCheckbox\r\n [disabled]=\"isDisabledCheckbox()(rowData, rowNode)\"\r\n (click)=\"activeItemLote(selectedItems)\"\r\n [value]=\"rowNode\"\r\n [ngStyle]=\"{\r\n display: isSelectEnabled()(rowData, rowNode)\r\n ? 'block'\r\n : 'none',\r\n 'margin-left': config.visibleCheckboxFunction\r\n ? '-34px'\r\n : '0px'\r\n }\"\r\n />\r\n }\r\n </div>\r\n }\r\n\r\n <div class=\"flex flex-row align-items-center w-full\">\r\n @if (col.template && validateShowTemplate()(rowNode, col)) {\r\n <span class=\"w-full\">\r\n @if(getCustomTemplate(col.template.name)) {\r\n\r\n <ng-container\r\n [ngTemplateOutlet]=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutletContext]=\"{ $implicit: rowData }\"\r\n >\r\n </ng-container>\r\n }\r\n </span>\r\n } @else {\r\n <div\r\n class=\"flex flex-row align-items-center {{\r\n (col.boolean || col.centralize) && 'justify-content-center'\r\n }} gap-2 w-full\"\r\n >\r\n @if(col.tagColor) {\r\n\r\n <div\r\n class=\"tag\"\r\n [pTooltip]=\"\r\n col.tooltipTag &&\r\n col.tooltipTag(rowData, col, rowData[col.field])\r\n \"\r\n [style.background-color]=\"\r\n col.tagColor(rowData, col, rowData[col.field])\r\n \"\r\n ></div>\r\n\r\n } @if(col.boolean) {\r\n\r\n <i\r\n class=\"pi {{\r\n rowData[col.field] ? 'pi-check text-green-300' : ''\r\n }}\"\r\n style=\"font-size: 1rem; font-weight: 700\"\r\n ></i>\r\n } @else {\r\n <div class=\"flex flex-column\">\r\n <span class=\"m-0 text-xs\">{{ rowData[col.field] }}</span>\r\n\r\n @if(col.subtitle) {\r\n\r\n <p class=\"m-0 text-xs font-semibold\">\r\n {{ rowData[col.subtitle] }}\r\n </p>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </td>\r\n } @if((config.actions?.length ?? 0 > 0) || config.actionsPai) {\r\n <td style=\"border-left: none; text-align: center; width: 0\">\r\n @if((config.actions?.length ?? 0 > 0) &&\r\n validateActionPosition()(rowNode)) {\r\n <div>\r\n <span\r\n class=\"material-symbols-outlined cursor-pointer icon-more-horiz\"\r\n style=\"font-size: 20px; padding: 0.1rem\"\r\n (click)=\"menu.toggle($event); activeItem(rowData)\"\r\n >\r\n more_horiz\r\n </span>\r\n\r\n @for(action of config.actions; track $index) {\r\n {{ criarMenusModal()(rowData) }}\r\n }\r\n\r\n <p-menu\r\n #menu\r\n [popup]=\"true\"\r\n [model]=\"menuItems\"\r\n appendTo=\"body\"\r\n ></p-menu>\r\n </div>\r\n } @if(config.actionsPai?.length ?? 0 > 0 && rowNode.level == 0){\r\n <div class=\"flex justify-content-end\">\r\n @for (actionPai of config.actionsPai; track $index) { @if\r\n (getOrExecute(actionPai.visible, rowData) ?? true) {\r\n <kv-button\r\n (onClick)=\"activeItem(rowData); actionPai.command($event)\"\r\n [type]=\"'text'\"\r\n [icon]=\"actionPai.icon\"\r\n [severity]=\"actionPai.severity || 'tertiary'\"\r\n [disabled]=\"getOrExecute(actionPai.disabled, rowData) || false\"\r\n [pTooltip]=\"getOrExecute(actionPai.tooltip, rowData)\"\r\n [tooltipPosition]=\"'left'\"\r\n />\r\n } }\r\n </div>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n } }\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"emptymessage\">\r\n <tr>\r\n <td\r\n [attr.colspan]=\"config.columns.length + 1\"\r\n style=\"text-align: center\"\r\n class=\"text-xs\"\r\n >\r\n {{ textoEmptyMessage }}\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-treeTable>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";::ng-deep .p-treetable .p-treetable-tbody>tr>td{padding:.2rem}::ng-deep .p-treetable .p-treetable-header{padding:0rem}span{font-size:14px}:host ::ng-deep .p-treetable table{table-layout:auto!important}::ng-deep .p-checkbox .p-checkbox-box{width:1.125rem;height:1.125rem}::ng-deep .p-checkbox{display:flex;align-items:center}::ng-deep .p-treetable .p-paginator{scale:.75}.icon-more-horiz{font-weight:700}.icon-more-horiz:hover,.icon-more-horiz:focus{color:#5e5e5e;transition:color .3s,transform .3s;background-color:#eaeaea;border-radius:50%}::ng-deep .p-treetable .p-treetable-thead>tr>th{background-color:#eaeaea;padding:.3rem}:host ::ng-deep .treetabledraggable .p-treetable .p-treetable-tbody>tr>td .p-treetable-toggler{width:1rem;height:1rem}.tag{width:5px;height:20px;border-radius:.25rem}:host ::ng-deep .draggable-cell .drag-icon{visibility:hidden}:host ::ng-deep .draggable-cell:hover .drag-icon{visibility:visible}.cdk-drag-preview{display:flex;align-items:center;justify-content:space-between;border-radius:10px!important}.cdk-drop-list-dragging{cursor:grabbing}:host ::ng-deep .cdk-drop-list-dragging .cdk-drag{transition:transform .25s cubic-bezier(0,0,.2,1)}:host ::ng-deep .cdk-drag-animating{transition:transform .3s cubic-bezier(0,0,.2,1)}::ng-deep svg.p-icon{width:.65rem;height:.65rem}::ng-deep .p-checkbox .p-checkbox-box.p-highlight{border-color:#004172;background:#004172}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:hover{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:active{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:disabled{background-color:#002542;opacity:.4;cursor:auto}:host{height:100%}::ng-deep .kv-treetable-container,::ng-deep p-treeTable{height:100%}::ng-deep p-treeTable .p-treetable{display:flex;flex-direction:column;height:100%}::ng-deep table{height:auto!important}::ng-deep p-treeTable .p-treetable .p-treetable-wrapper,::ng-deep p-treeTable{height:100%}::ng-deep .p-treetable .p-treetable-wrapper::-webkit-scrollbar{width:6px}::ng-deep .p-treetable .p-treetable-wrapper::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .p-treetable .p-treetable-wrapper::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .p-treetable .p-treetable-wrapper:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .p-treetable .p-treetable-wrapper::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i3.AutoFocus, selector: "[pAutoFocus]", inputs: ["autofocus"] }, { kind: "directive", type: i4.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: i5.InputText, selector: "[pInputText]", inputs: ["variant"] }, { kind: "component", type: i6.Menu, selector: "p-menu", inputs: ["model", "popup", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaLabel", "ariaLabelledBy", "id", "tabindex"], outputs: ["onShow", "onHide", "onBlur", "onFocus"] }, { kind: "directive", type: i7.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i7.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i7.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i8.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "style", "shape", "animation", "borderRadius", "size", "width", "height"] }, { kind: "component", type: i9.TreeTable, selector: "p-treeTable", inputs: ["columns", "style", "styleClass", "tableStyle", "tableStyleClass", "autoLayout", "lazy", "lazyLoadOnInit", "paginator", "rows", "first", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "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", "paginatorLocale", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "value", "virtualRowHeight", "selectionKeys"], outputs: ["selectionChange", "contextMenuSelectionChange", "onFilter", "onNodeExpand", "onNodeCollapse", "onPage", "onSort", "onLazyLoad", "sortFunction", "onColResize", "onColReorder", "onNodeSelect", "onNodeUnselect", "onContextMenuSelect", "onHeaderCheckboxToggle", "onEditInit", "onEditComplete", "onEditCancel", "selectionKeysChange"] }, { kind: "component", type: i9.TreeTableToggler, selector: "p-treeTableToggler", inputs: ["rowNode"] }, { kind: "directive", type: i9.TTSortableColumn, selector: "[ttSortableColumn]", inputs: ["ttSortableColumn", "ttSortableColumnDisabled"] }, { kind: "component", type: i9.TTSortIcon, selector: "p-treeTableSortIcon", inputs: ["field", "ariaLabelDesc", "ariaLabelAsc"] }, { kind: "directive", type: i9.TTRow, selector: "[ttRow]", inputs: ["ttRow"] }, { kind: "component", type: i9.TTCheckbox, selector: "p-treeTableCheckbox", inputs: ["disabled", "value"] }, { kind: "component", type: i9.TTHeaderCheckbox, selector: "p-treeTableHeaderCheckbox" }, { kind: "component", type: i10.KvButtonComponent, selector: "kv-button", inputs: ["fullWidth", "type", "loading", "severity", "size", "icon", "iconPosition", "iconPopupPosition", "label", "disabled", "items", "popup"], outputs: ["iconChange", "onClick"] }] }); }
257
257
  }
258
258
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvTreetableComponent, decorators: [{
259
259
  type: Component,
@@ -56,7 +56,7 @@ export class WorkspaceComponent {
56
56
  this.onFilter.emit(this.workspaceForm.value.search);
57
57
  }
58
58
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: WorkspaceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
59
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: WorkspaceComponent, selector: "kv-workspace", inputs: { backgroundImg: { classPropertyName: "backgroundImg", publicName: "backgroundImg", isSignal: false, isRequired: false, transformFunction: null }, somenteMaster: { classPropertyName: "somenteMaster", publicName: "somenteMaster", isSignal: false, isRequired: false, transformFunction: null }, visivel: { classPropertyName: "visivel", publicName: "visivel", isSignal: false, isRequired: false, transformFunction: null }, showBtnVoltar: { classPropertyName: "showBtnVoltar", publicName: "showBtnVoltar", isSignal: false, isRequired: false, transformFunction: null }, empresaSelecionada: { classPropertyName: "empresaSelecionada", publicName: "empresaSelecionada", isSignal: false, isRequired: false, transformFunction: null }, totalEmpresas: { classPropertyName: "totalEmpresas", publicName: "totalEmpresas", isSignal: false, isRequired: false, transformFunction: null }, masterSelecionada: { classPropertyName: "masterSelecionada", publicName: "masterSelecionada", isSignal: false, isRequired: false, transformFunction: null }, masters: { classPropertyName: "masters", publicName: "masters", isSignal: true, isRequired: false, transformFunction: null }, empresas: { classPropertyName: "empresas", publicName: "empresas", isSignal: true, isRequired: false, transformFunction: null }, nomeUsuario: { classPropertyName: "nomeUsuario", publicName: "nomeUsuario", isSignal: true, isRequired: false, transformFunction: null }, logoKeevoCenter: { classPropertyName: "logoKeevoCenter", publicName: "logoKeevoCenter", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onGetMasterSelecionada: "onGetMasterSelecionada", onGetEmpresaSelecionada: "onGetEmpresaSelecionada", onPaginate: "onPaginate", onBtnVoltarClick: "onBtnVoltarClick", onFilter: "onFilter" }, ngImport: i0, template: "@if(visivel) {\r\n<div class=\"flex align-items-center justify-content-center\">\r\n <div\r\n class=\"bg-white h-auto border-round-lg lg:p-4 p-2 flex flex-column gap-2 overflow-hidden\"\r\n [style.max-width.rem]=\"'45'\"\r\n [style.min-width]=\"minWidthCard()\"\r\n >\r\n <div class=\"px-2 flex flex-column align-items-center gap-2\">\r\n <img [src]=\"logoKeevoCenter()\" style=\"height: 4rem\" class=\"py-2\" />\r\n <span class=\"text-sm\">\r\n Ol\u00E1, <b>{{ nomeUsuario() }}</b\r\n >. Bem vindo(a)! Escolha a\r\n <b>{{ !somenteMaster && masterSelecionada ? \"Empresa\" : \"Licen\u00E7a\" }}</b>\r\n que deseja acessar:\r\n </span>\r\n </div>\r\n\r\n <div\r\n class=\"col-12 grid formgrid p-fluid m-0 px-2 pt-2 pb-0\"\r\n [formGroup]=\"workspaceForm\"\r\n >\r\n <kv-input-text\r\n placeholder=\"Buscar {{\r\n !somenteMaster && masterSelecionada ? 'empresa' : 'licen\u00E7a'\r\n }}\"\r\n class=\"col-12 m-0 p-0\"\r\n (onInput)=\"filter()\"\r\n formControlName=\"search\"\r\n ></kv-input-text>\r\n </div>\r\n\r\n @if(!masterSelecionada){\r\n <kv-workspace-master\r\n [masters]=\"masters()\"\r\n [masterSelecionada]=\"masterSelecionada\"\r\n (onMasterSelecionada)=\"selecionarMaster($event)\"\r\n >\r\n </kv-workspace-master>\r\n } @if(!somenteMaster && masterSelecionada){\r\n <kv-workspace-empresa\r\n [empresas]=\"empresas()\"\r\n [totalEmpresas]=\"totalEmpresas\"\r\n (onEmpresaSelecionada)=\"selecionarEmpresa($event)\"\r\n (onPaginate)=\"paginate($event)\"\r\n >\r\n </kv-workspace-empresa>\r\n } \r\n @if(showBtnVoltar && masterSelecionada) {\r\n <div class=\"flex text-left mt-2\">\r\n <kv-button\r\n icon=\"chevron_left\"\r\n iconPosition=\"left\"\r\n label=\"Voltar\"\r\n type=\"text\"\r\n severity=\"secondary\"\r\n class=\"ml-2\"\r\n (onClick)=\"OnBtnVoltarClick()\"\r\n />\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n}\r\n", styles: [":host{overflow:hidden}.cards-container{overflow-x:hidden;transition:all .2s}.cards-container::-webkit-scrollbar{width:6px}.cards-container::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}.cards-container:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:rgba(var(--kv-secondary-color),.75)}.cards-container::-webkit-scrollbar-track{border-left:2px solid white;background-color:rgba(var(--kv-secondary-color),.15)}.voltar-box{display:flex;flex-direction:row;align-items:center;gap:.5rem;cursor:pointer;padding:.5rem;transition:all .2s}.voltar-box:hover{opacity:.8}.voltar-box:active{opacity:.9}.link{color:rgba(var(--kv-secondary-color),.9);text-decoration:none;cursor:pointer}.link:active{color:rgba(var(--kv-secondary-color),1)}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.KvButtonComponent, selector: "kv-button", inputs: ["fullWidth", "type", "loading", "severity", "size", "icon", "iconPosition", "label", "disabled", "items", "popup"], outputs: ["iconChange", "onClick"] }, { kind: "component", type: i3.KvInputTextComponent, selector: "kv-input-text", inputs: ["textCaptalized"] }, { kind: "component", type: i4.WorkspaceEmpresaComponent, selector: "kv-workspace-empresa", inputs: ["empresas", "empresaSelecionada", "totalEmpresas"], outputs: ["onEmpresaSelecionada", "onPaginate"] }, { kind: "component", type: i5.WorkspaceMasterComponent, selector: "kv-workspace-master", inputs: ["masters", "masterSelecionada", "emptyText"], outputs: ["onMasterSelecionada"] }] }); }
59
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: WorkspaceComponent, selector: "kv-workspace", inputs: { backgroundImg: { classPropertyName: "backgroundImg", publicName: "backgroundImg", isSignal: false, isRequired: false, transformFunction: null }, somenteMaster: { classPropertyName: "somenteMaster", publicName: "somenteMaster", isSignal: false, isRequired: false, transformFunction: null }, visivel: { classPropertyName: "visivel", publicName: "visivel", isSignal: false, isRequired: false, transformFunction: null }, showBtnVoltar: { classPropertyName: "showBtnVoltar", publicName: "showBtnVoltar", isSignal: false, isRequired: false, transformFunction: null }, empresaSelecionada: { classPropertyName: "empresaSelecionada", publicName: "empresaSelecionada", isSignal: false, isRequired: false, transformFunction: null }, totalEmpresas: { classPropertyName: "totalEmpresas", publicName: "totalEmpresas", isSignal: false, isRequired: false, transformFunction: null }, masterSelecionada: { classPropertyName: "masterSelecionada", publicName: "masterSelecionada", isSignal: false, isRequired: false, transformFunction: null }, masters: { classPropertyName: "masters", publicName: "masters", isSignal: true, isRequired: false, transformFunction: null }, empresas: { classPropertyName: "empresas", publicName: "empresas", isSignal: true, isRequired: false, transformFunction: null }, nomeUsuario: { classPropertyName: "nomeUsuario", publicName: "nomeUsuario", isSignal: true, isRequired: false, transformFunction: null }, logoKeevoCenter: { classPropertyName: "logoKeevoCenter", publicName: "logoKeevoCenter", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onGetMasterSelecionada: "onGetMasterSelecionada", onGetEmpresaSelecionada: "onGetEmpresaSelecionada", onPaginate: "onPaginate", onBtnVoltarClick: "onBtnVoltarClick", onFilter: "onFilter" }, ngImport: i0, template: "@if(visivel) {\r\n<div class=\"flex align-items-center justify-content-center\">\r\n <div\r\n class=\"bg-white h-auto border-round-lg lg:p-4 p-2 flex flex-column gap-2 overflow-hidden\"\r\n [style.max-width.rem]=\"'45'\"\r\n [style.min-width]=\"minWidthCard()\"\r\n >\r\n <div class=\"px-2 flex flex-column align-items-center gap-2\">\r\n <img [src]=\"logoKeevoCenter()\" style=\"height: 4rem\" class=\"py-2\" />\r\n <span class=\"text-sm\">\r\n Ol\u00E1, <b>{{ nomeUsuario() }}</b\r\n >. Bem vindo(a)! Escolha a\r\n <b>{{ !somenteMaster && masterSelecionada ? \"Empresa\" : \"Licen\u00E7a\" }}</b>\r\n que deseja acessar:\r\n </span>\r\n </div>\r\n\r\n <div\r\n class=\"col-12 grid formgrid p-fluid m-0 px-2 pt-2 pb-0\"\r\n [formGroup]=\"workspaceForm\"\r\n >\r\n <kv-input-text\r\n placeholder=\"Buscar {{\r\n !somenteMaster && masterSelecionada ? 'empresa' : 'licen\u00E7a'\r\n }}\"\r\n class=\"col-12 m-0 p-0\"\r\n (onInput)=\"filter()\"\r\n formControlName=\"search\"\r\n ></kv-input-text>\r\n </div>\r\n\r\n @if(!masterSelecionada){\r\n <kv-workspace-master\r\n [masters]=\"masters()\"\r\n [masterSelecionada]=\"masterSelecionada\"\r\n (onMasterSelecionada)=\"selecionarMaster($event)\"\r\n >\r\n </kv-workspace-master>\r\n } @if(!somenteMaster && masterSelecionada){\r\n <kv-workspace-empresa\r\n [empresas]=\"empresas()\"\r\n [totalEmpresas]=\"totalEmpresas\"\r\n (onEmpresaSelecionada)=\"selecionarEmpresa($event)\"\r\n (onPaginate)=\"paginate($event)\"\r\n >\r\n </kv-workspace-empresa>\r\n } \r\n @if(showBtnVoltar && masterSelecionada) {\r\n <div class=\"flex text-left mt-2\">\r\n <kv-button\r\n icon=\"chevron_left\"\r\n iconPosition=\"left\"\r\n label=\"Voltar\"\r\n type=\"text\"\r\n severity=\"secondary\"\r\n class=\"ml-2\"\r\n (onClick)=\"OnBtnVoltarClick()\"\r\n />\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n}\r\n", styles: [":host{overflow:hidden}.cards-container{overflow-x:hidden;transition:all .2s}.cards-container::-webkit-scrollbar{width:6px}.cards-container::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}.cards-container:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:rgba(var(--kv-secondary-color),.75)}.cards-container::-webkit-scrollbar-track{border-left:2px solid white;background-color:rgba(var(--kv-secondary-color),.15)}.voltar-box{display:flex;flex-direction:row;align-items:center;gap:.5rem;cursor:pointer;padding:.5rem;transition:all .2s}.voltar-box:hover{opacity:.8}.voltar-box:active{opacity:.9}.link{color:rgba(var(--kv-secondary-color),.9);text-decoration:none;cursor:pointer}.link:active{color:rgba(var(--kv-secondary-color),1)}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.KvButtonComponent, selector: "kv-button", inputs: ["fullWidth", "type", "loading", "severity", "size", "icon", "iconPosition", "iconPopupPosition", "label", "disabled", "items", "popup"], outputs: ["iconChange", "onClick"] }, { kind: "component", type: i3.KvInputTextComponent, selector: "kv-input-text", inputs: ["textCaptalized"] }, { kind: "component", type: i4.WorkspaceEmpresaComponent, selector: "kv-workspace-empresa", inputs: ["empresas", "empresaSelecionada", "totalEmpresas"], outputs: ["onEmpresaSelecionada", "onPaginate"] }, { kind: "component", type: i5.WorkspaceMasterComponent, selector: "kv-workspace-master", inputs: ["masters", "masterSelecionada", "emptyText"], outputs: ["onMasterSelecionada"] }] }); }
60
60
  }
61
61
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: WorkspaceComponent, decorators: [{
62
62
  type: Component,