keevo-components 0.3.4 → 0.3.5

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.
@@ -12,7 +12,6 @@ import * as i8 from "primeng/menu";
12
12
  import * as i9 from "primeng/table";
13
13
  export class TableComponent {
14
14
  onWindowResize() {
15
- this.screenSize = window.innerWidth;
16
15
  this.adjustTableSize();
17
16
  }
18
17
  set setConfig(value) {
@@ -103,17 +102,23 @@ export class TableComponent {
103
102
  return value;
104
103
  }
105
104
  adjustTableSize() {
106
- if ((this.screenSize < 1600 && this.screenSize > 1200 || this.screenSize < 800))
105
+ this.screenSize = window.innerWidth;
106
+ var collection = document.getElementsByClassName('table');
107
+ this.tableSize = Number(collection.item(0)?.clientWidth);
108
+ if (this.tableSize == null || this.tableSize == 0) {
109
+ this.tableSize = this.screenSize;
110
+ }
111
+ if (this.tableSize < 800)
107
112
  this.selectedSize = 'p-datatable-sm';
108
113
  else
109
114
  this.selectedSize = '';
110
115
  }
111
116
  }
112
117
  TableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TableComponent, deps: [{ token: i1.DatePipe }, { token: i1.DecimalPipe }, { token: i2.CodigoFipePipe }, { token: i3.CpfCnpjPipe }, { token: i4.TelefonePipe }], target: i0.ɵɵFactoryTarget.Component });
113
- TableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: TableComponent, selector: "kv-table", inputs: { setConfig: ["config", "setConfig"], dataSource: "dataSource", selectedItems: "selectedItems", totalRecords: "totalRecords", lazy: "lazy", paginator: "paginator", rowsPerPageOptions: "rowsPerPageOptions", rows: "rows", tablePerRow: "tablePerRow" }, outputs: { onActiveItem: "onActiveItem", onPaginate: "onPaginate", onSelectionChange: "onSelectionChange" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, queries: [{ propertyName: "templates", predicate: TemplateDirective }], viewQueries: [{ propertyName: "table", first: true, predicate: ["table"], descendants: true }], ngImport: i0, template: "<p-table *ngIf=\"config\" #dt styleClass=\"p-datatable-striped {{selectedSize}}\" [value]=\"dataSource\"\n [(selection)]=\"selectedItems\" [columns]=\"config.columns\" [globalFilterFields]=\"globalFilterFields\" [rows]=\"rows\"\n [paginator]=\"paginator\" [rowsPerPageOptions]=\"rowsPerPageOptions\" [showCurrentPageReport]=\"true\"\n currentPageReportTemplate=\"{first} - {last} de {totalRecords}\" [rowHover]=\"true\" [totalRecords]=\"totalRecords\"\n [lazy]=\"config.lazy\" (onLazyLoad)=\"paginate($event)\" (selectionChange)=\"selectionChange($event)\"\n rowGroupMode=\"rowspan\" [groupRowsBy]=\"config.fieldGroup\" [showFirstLastIcon]=\"false\"\n [tableStyle]=\"{ 'min-width': '36rem' }\" [pageLinks]=\"1\">\n\n <ng-template pTemplate=\"caption\" *ngIf=\"config.enableCation\">\n <div class=\"flex flex-column md:flex-row md:justify-content-between\n md:align-items-center\">\n <h5 class=\"m-0\">{{ config.title }}</h5>\n <span *ngIf=\"config.enableFilter\" class=\"block mt-2 md:mt-0\n p-input-icon-left\">\n <i class=\"pi pi-search\"></i>\n <input pInputText pAutoFocus [autofocus]=\"true\" type=\"text\" (input)=\"onGlobalFilter(dt, $event)\"\n placeholder=\"Pesquisar...\" class=\"w-full sm:w-auto\" />\n </span>\n </div>\n </ng-template>\n\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th style=\"width: 4rem\" *ngIf=\"config.enableSelect\">\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\n </th>\n <th *ngFor=\"let col of columns;\" [pSortableColumn]=\"col.field\" [pSortableColumnDisabled]=\"col.sortable === false\"\n [style.width]=\"col.width\" class=\"text-sm\">\n <div class=\"flex flex-row\">\n {{col.header}}\n <p-sortIcon *ngIf=\"col.sortable === true\" [field]=\"col.field\" style=\"font-size: 10px;\"></p-sortIcon>\n </div>\n\n </th>\n <th *ngIf=\"config.actions && config.actions.length> 0\"></th>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"body\" let-rowData let-columns=\"columns\" let-rowgroup=\"rowgroup\" let-rowspan=\"rowspan\">\n <tr>\n <td *ngIf=\"config.enableSelect\">\n <p-tableCheckbox [value]=\"rowData\"></p-tableCheckbox>\n </td>\n\n <ng-container *ngFor=\"let col of columns\">\n\n <td *ngIf=\"rowgroup\" [attr.rowspan]=\"rowgroup && col.grouped? rowspan: null\">\n <span class=\"p-column-title\">{{col.header}}</span>\n <span *ngIf=\"!isBooleanField(rowData, col); else booleanField\" [class]=\"(screenSize < 1600 && screenSize > 1200 || screenSize < 800) ? 'text-xs' : 'text-sm'\">\n {{ transformValue(rowData, col) }}\n </span>\n\n <ng-template #booleanField>\n <i [ngClass]=\"rowData[col.field] ? 'pi pi-check' : 'pi pi-times'\"></i>\n </ng-template>\n </td>\n\n <td *ngIf=\"!rowgroup && !col.grouped\">\n <span class=\"p-column-title\">{{col.header}}</span>\n <span *ngIf=\"!isBooleanField(rowData, col); else booleanField\" [class]=\"(screenSize < 1600 && screenSize > 1200 || screenSize < 760) ? 'text-xs' : 'text-sm'\">\n {{ transformValue(rowData, col) }}\n </span>\n\n <ng-template #booleanField>\n <i [ngClass]=\"rowData[col.field] ? 'pi pi-check' : 'pi pi-times'\"></i>\n </ng-template>\n </td>\n\n </ng-container>\n\n <!-- <td *ngIf=\"config.actions && config.actions.length> 0\">\n <i class=\"pi pi-ellipsis-h\" style=\"cursor: pointer\"\n (click)=\"activeItem(rowData);menu.toggle($event)\"></i>\n </td> -->\n\n <td *ngIf=\"config.actions && config.actions.length> 0\" class=\"flex flex-row\">\n <div *ngFor=\"let action of config.actions\">\n <i class=\"pi {{action.icon}}\" style=\"cursor: pointer\" class=\"mr-2 ml-2\" (click)=\"action?.command()\"></i>\n </div>\n </td>\n\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"emptymessage\" let-columns>\n <tr>\n <td [attr.colspan]=\"columns.length\" style=\"text-align: center;\">\n Nenhum registro encontrado\n </td>\n </tr>\n </ng-template>\n</p-table>\n<p-menu #menu [popup]=\"true\" [model]=\"config.actions\"></p-menu>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i6.AutoFocus, selector: "[pAutoFocus]", inputs: ["autofocus"] }, { kind: "directive", type: i7.InputText, selector: "[pInputText]" }, { kind: "component", type: i8.Menu, selector: "p-menu", inputs: ["model", "popup", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "component", type: i9.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "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", "virtualRowHeight", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["selectAllChange", "selectionChange", "contextMenuSelectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i9.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "component", type: i9.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: i9.TableCheckbox, selector: "p-tableCheckbox", inputs: ["disabled", "value", "index", "inputId", "name", "required", "ariaLabel"] }, { kind: "component", type: i9.TableHeaderCheckbox, selector: "p-tableHeaderCheckbox", inputs: ["disabled", "inputId", "name", "ariaLabel"] }] });
118
+ TableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: TableComponent, selector: "kv-table", inputs: { setConfig: ["config", "setConfig"], dataSource: "dataSource", selectedItems: "selectedItems", totalRecords: "totalRecords", lazy: "lazy", paginator: "paginator", rowsPerPageOptions: "rowsPerPageOptions", rows: "rows", tablePerRow: "tablePerRow" }, outputs: { onActiveItem: "onActiveItem", onPaginate: "onPaginate", onSelectionChange: "onSelectionChange" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, queries: [{ propertyName: "templates", predicate: TemplateDirective }], viewQueries: [{ propertyName: "table", first: true, predicate: ["table"], descendants: true }], ngImport: i0, template: "<p-table *ngIf=\"config\" #dt styleClass=\"p-datatable-striped {{selectedSize}}\" [value]=\"dataSource\"\n [(selection)]=\"selectedItems\" [columns]=\"config.columns\" [globalFilterFields]=\"globalFilterFields\" [rows]=\"rows\"\n [paginator]=\"paginator\" [rowsPerPageOptions]=\"rowsPerPageOptions\" [showCurrentPageReport]=\"true\"\n currentPageReportTemplate=\"{first} - {last} de {totalRecords}\" [rowHover]=\"true\" [totalRecords]=\"totalRecords\"\n [lazy]=\"config.lazy\" (onLazyLoad)=\"paginate($event)\" (selectionChange)=\"selectionChange($event)\"\n rowGroupMode=\"rowspan\" [groupRowsBy]=\"config.fieldGroup\" [showFirstLastIcon]=\"false\"\n [tableStyle]=\"{ 'min-width': '36rem' }\" [pageLinks]=\"1\" class=\"table\">\n\n <ng-template pTemplate=\"caption\" *ngIf=\"config.enableCation\">\n <div class=\"flex flex-column md:flex-row md:justify-content-between\n md:align-items-center\">\n <h5 class=\"m-0\">{{ config.title }}</h5>\n <span *ngIf=\"config.enableFilter\" class=\"block mt-2 md:mt-0\n p-input-icon-left\">\n <i class=\"pi pi-search\"></i>\n <input pInputText pAutoFocus [autofocus]=\"true\" type=\"text\" (input)=\"onGlobalFilter(dt, $event)\"\n placeholder=\"Pesquisar...\" class=\"w-full sm:w-auto\" />\n </span>\n </div>\n </ng-template>\n\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th style=\"width: 4rem\" *ngIf=\"config.enableSelect\">\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\n </th>\n <th *ngFor=\"let col of columns;\" [pSortableColumn]=\"col.field\" [pSortableColumnDisabled]=\"col.sortable === false\"\n [style.width]=\"col.width\" class=\"text-sm\">\n <div class=\"flex flex-row\">\n {{col.header}}\n <p-sortIcon *ngIf=\"col.sortable === true\" [field]=\"col.field\" style=\"font-size: 10px;\"></p-sortIcon>\n </div>\n\n </th>\n <th *ngIf=\"config.actions && config.actions.length> 0\"></th>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"body\" let-rowData let-columns=\"columns\" let-rowgroup=\"rowgroup\" let-rowspan=\"rowspan\">\n <tr>\n <td *ngIf=\"config.enableSelect\">\n <p-tableCheckbox [value]=\"rowData\"></p-tableCheckbox>\n </td>\n\n <ng-container *ngFor=\"let col of columns\">\n\n <td *ngIf=\"rowgroup\" [attr.rowspan]=\"rowgroup && col.grouped? rowspan: null\">\n <span class=\"p-column-title\">{{col.header}}</span>\n <span *ngIf=\"!isBooleanField(rowData, col); else booleanField\"\n [class]=\"tableSize < 800 ? 'text-xs' : 'text-sm'\">\n {{ transformValue(rowData, col) }}\n </span>\n\n <ng-template #booleanField>\n <i [ngClass]=\"rowData[col.field] ? 'pi pi-check' : 'pi pi-times'\"></i>\n </ng-template>\n </td>\n\n <td *ngIf=\"!rowgroup && !col.grouped\">\n <span class=\"p-column-title\">{{col.header}}</span>\n <span *ngIf=\"!isBooleanField(rowData, col); else booleanField\"\n [class]=\" tableSize < 800 ? 'text-xs' : 'text-sm'\">\n {{ transformValue(rowData, col) }}\n </span>\n\n <ng-template #booleanField>\n <i [ngClass]=\"rowData[col.field] ? 'pi pi-check' : 'pi pi-times'\"></i>\n </ng-template>\n </td>\n\n </ng-container>\n\n <!-- <td *ngIf=\"config.actions && config.actions.length> 0\">\n <i class=\"pi pi-ellipsis-h\" style=\"cursor: pointer\"\n (click)=\"activeItem(rowData);menu.toggle($event)\"></i>\n </td> -->\n\n <td *ngIf=\"config.actions && config.actions.length> 0\" class=\"flex flex-row\">\n <div *ngFor=\"let action of config.actions\">\n <i class=\"pi {{action.icon}}\" style=\"cursor: pointer\" class=\"mr-2 ml-2\" (click)=\"action?.command()\"></i>\n </div>\n </td>\n\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"emptymessage\" let-columns>\n <tr>\n <td [attr.colspan]=\"columns.length\" style=\"text-align: center;\">\n Nenhum registro encontrado\n </td>\n </tr>\n </ng-template>\n</p-table>\n<p-menu #menu [popup]=\"true\" [model]=\"config.actions\"></p-menu>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i6.AutoFocus, selector: "[pAutoFocus]", inputs: ["autofocus"] }, { kind: "directive", type: i7.InputText, selector: "[pInputText]" }, { kind: "component", type: i8.Menu, selector: "p-menu", inputs: ["model", "popup", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "component", type: i9.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "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", "virtualRowHeight", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["selectAllChange", "selectionChange", "contextMenuSelectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i9.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "component", type: i9.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: i9.TableCheckbox, selector: "p-tableCheckbox", inputs: ["disabled", "value", "index", "inputId", "name", "required", "ariaLabel"] }, { kind: "component", type: i9.TableHeaderCheckbox, selector: "p-tableHeaderCheckbox", inputs: ["disabled", "inputId", "name", "ariaLabel"] }] });
114
119
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TableComponent, decorators: [{
115
120
  type: Component,
116
- args: [{ selector: 'kv-table', template: "<p-table *ngIf=\"config\" #dt styleClass=\"p-datatable-striped {{selectedSize}}\" [value]=\"dataSource\"\n [(selection)]=\"selectedItems\" [columns]=\"config.columns\" [globalFilterFields]=\"globalFilterFields\" [rows]=\"rows\"\n [paginator]=\"paginator\" [rowsPerPageOptions]=\"rowsPerPageOptions\" [showCurrentPageReport]=\"true\"\n currentPageReportTemplate=\"{first} - {last} de {totalRecords}\" [rowHover]=\"true\" [totalRecords]=\"totalRecords\"\n [lazy]=\"config.lazy\" (onLazyLoad)=\"paginate($event)\" (selectionChange)=\"selectionChange($event)\"\n rowGroupMode=\"rowspan\" [groupRowsBy]=\"config.fieldGroup\" [showFirstLastIcon]=\"false\"\n [tableStyle]=\"{ 'min-width': '36rem' }\" [pageLinks]=\"1\">\n\n <ng-template pTemplate=\"caption\" *ngIf=\"config.enableCation\">\n <div class=\"flex flex-column md:flex-row md:justify-content-between\n md:align-items-center\">\n <h5 class=\"m-0\">{{ config.title }}</h5>\n <span *ngIf=\"config.enableFilter\" class=\"block mt-2 md:mt-0\n p-input-icon-left\">\n <i class=\"pi pi-search\"></i>\n <input pInputText pAutoFocus [autofocus]=\"true\" type=\"text\" (input)=\"onGlobalFilter(dt, $event)\"\n placeholder=\"Pesquisar...\" class=\"w-full sm:w-auto\" />\n </span>\n </div>\n </ng-template>\n\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th style=\"width: 4rem\" *ngIf=\"config.enableSelect\">\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\n </th>\n <th *ngFor=\"let col of columns;\" [pSortableColumn]=\"col.field\" [pSortableColumnDisabled]=\"col.sortable === false\"\n [style.width]=\"col.width\" class=\"text-sm\">\n <div class=\"flex flex-row\">\n {{col.header}}\n <p-sortIcon *ngIf=\"col.sortable === true\" [field]=\"col.field\" style=\"font-size: 10px;\"></p-sortIcon>\n </div>\n\n </th>\n <th *ngIf=\"config.actions && config.actions.length> 0\"></th>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"body\" let-rowData let-columns=\"columns\" let-rowgroup=\"rowgroup\" let-rowspan=\"rowspan\">\n <tr>\n <td *ngIf=\"config.enableSelect\">\n <p-tableCheckbox [value]=\"rowData\"></p-tableCheckbox>\n </td>\n\n <ng-container *ngFor=\"let col of columns\">\n\n <td *ngIf=\"rowgroup\" [attr.rowspan]=\"rowgroup && col.grouped? rowspan: null\">\n <span class=\"p-column-title\">{{col.header}}</span>\n <span *ngIf=\"!isBooleanField(rowData, col); else booleanField\" [class]=\"(screenSize < 1600 && screenSize > 1200 || screenSize < 800) ? 'text-xs' : 'text-sm'\">\n {{ transformValue(rowData, col) }}\n </span>\n\n <ng-template #booleanField>\n <i [ngClass]=\"rowData[col.field] ? 'pi pi-check' : 'pi pi-times'\"></i>\n </ng-template>\n </td>\n\n <td *ngIf=\"!rowgroup && !col.grouped\">\n <span class=\"p-column-title\">{{col.header}}</span>\n <span *ngIf=\"!isBooleanField(rowData, col); else booleanField\" [class]=\"(screenSize < 1600 && screenSize > 1200 || screenSize < 760) ? 'text-xs' : 'text-sm'\">\n {{ transformValue(rowData, col) }}\n </span>\n\n <ng-template #booleanField>\n <i [ngClass]=\"rowData[col.field] ? 'pi pi-check' : 'pi pi-times'\"></i>\n </ng-template>\n </td>\n\n </ng-container>\n\n <!-- <td *ngIf=\"config.actions && config.actions.length> 0\">\n <i class=\"pi pi-ellipsis-h\" style=\"cursor: pointer\"\n (click)=\"activeItem(rowData);menu.toggle($event)\"></i>\n </td> -->\n\n <td *ngIf=\"config.actions && config.actions.length> 0\" class=\"flex flex-row\">\n <div *ngFor=\"let action of config.actions\">\n <i class=\"pi {{action.icon}}\" style=\"cursor: pointer\" class=\"mr-2 ml-2\" (click)=\"action?.command()\"></i>\n </div>\n </td>\n\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"emptymessage\" let-columns>\n <tr>\n <td [attr.colspan]=\"columns.length\" style=\"text-align: center;\">\n Nenhum registro encontrado\n </td>\n </tr>\n </ng-template>\n</p-table>\n<p-menu #menu [popup]=\"true\" [model]=\"config.actions\"></p-menu>\n" }]
121
+ args: [{ selector: 'kv-table', template: "<p-table *ngIf=\"config\" #dt styleClass=\"p-datatable-striped {{selectedSize}}\" [value]=\"dataSource\"\n [(selection)]=\"selectedItems\" [columns]=\"config.columns\" [globalFilterFields]=\"globalFilterFields\" [rows]=\"rows\"\n [paginator]=\"paginator\" [rowsPerPageOptions]=\"rowsPerPageOptions\" [showCurrentPageReport]=\"true\"\n currentPageReportTemplate=\"{first} - {last} de {totalRecords}\" [rowHover]=\"true\" [totalRecords]=\"totalRecords\"\n [lazy]=\"config.lazy\" (onLazyLoad)=\"paginate($event)\" (selectionChange)=\"selectionChange($event)\"\n rowGroupMode=\"rowspan\" [groupRowsBy]=\"config.fieldGroup\" [showFirstLastIcon]=\"false\"\n [tableStyle]=\"{ 'min-width': '36rem' }\" [pageLinks]=\"1\" class=\"table\">\n\n <ng-template pTemplate=\"caption\" *ngIf=\"config.enableCation\">\n <div class=\"flex flex-column md:flex-row md:justify-content-between\n md:align-items-center\">\n <h5 class=\"m-0\">{{ config.title }}</h5>\n <span *ngIf=\"config.enableFilter\" class=\"block mt-2 md:mt-0\n p-input-icon-left\">\n <i class=\"pi pi-search\"></i>\n <input pInputText pAutoFocus [autofocus]=\"true\" type=\"text\" (input)=\"onGlobalFilter(dt, $event)\"\n placeholder=\"Pesquisar...\" class=\"w-full sm:w-auto\" />\n </span>\n </div>\n </ng-template>\n\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th style=\"width: 4rem\" *ngIf=\"config.enableSelect\">\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\n </th>\n <th *ngFor=\"let col of columns;\" [pSortableColumn]=\"col.field\" [pSortableColumnDisabled]=\"col.sortable === false\"\n [style.width]=\"col.width\" class=\"text-sm\">\n <div class=\"flex flex-row\">\n {{col.header}}\n <p-sortIcon *ngIf=\"col.sortable === true\" [field]=\"col.field\" style=\"font-size: 10px;\"></p-sortIcon>\n </div>\n\n </th>\n <th *ngIf=\"config.actions && config.actions.length> 0\"></th>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"body\" let-rowData let-columns=\"columns\" let-rowgroup=\"rowgroup\" let-rowspan=\"rowspan\">\n <tr>\n <td *ngIf=\"config.enableSelect\">\n <p-tableCheckbox [value]=\"rowData\"></p-tableCheckbox>\n </td>\n\n <ng-container *ngFor=\"let col of columns\">\n\n <td *ngIf=\"rowgroup\" [attr.rowspan]=\"rowgroup && col.grouped? rowspan: null\">\n <span class=\"p-column-title\">{{col.header}}</span>\n <span *ngIf=\"!isBooleanField(rowData, col); else booleanField\"\n [class]=\"tableSize < 800 ? 'text-xs' : 'text-sm'\">\n {{ transformValue(rowData, col) }}\n </span>\n\n <ng-template #booleanField>\n <i [ngClass]=\"rowData[col.field] ? 'pi pi-check' : 'pi pi-times'\"></i>\n </ng-template>\n </td>\n\n <td *ngIf=\"!rowgroup && !col.grouped\">\n <span class=\"p-column-title\">{{col.header}}</span>\n <span *ngIf=\"!isBooleanField(rowData, col); else booleanField\"\n [class]=\" tableSize < 800 ? 'text-xs' : 'text-sm'\">\n {{ transformValue(rowData, col) }}\n </span>\n\n <ng-template #booleanField>\n <i [ngClass]=\"rowData[col.field] ? 'pi pi-check' : 'pi pi-times'\"></i>\n </ng-template>\n </td>\n\n </ng-container>\n\n <!-- <td *ngIf=\"config.actions && config.actions.length> 0\">\n <i class=\"pi pi-ellipsis-h\" style=\"cursor: pointer\"\n (click)=\"activeItem(rowData);menu.toggle($event)\"></i>\n </td> -->\n\n <td *ngIf=\"config.actions && config.actions.length> 0\" class=\"flex flex-row\">\n <div *ngFor=\"let action of config.actions\">\n <i class=\"pi {{action.icon}}\" style=\"cursor: pointer\" class=\"mr-2 ml-2\" (click)=\"action?.command()\"></i>\n </div>\n </td>\n\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"emptymessage\" let-columns>\n <tr>\n <td [attr.colspan]=\"columns.length\" style=\"text-align: center;\">\n Nenhum registro encontrado\n </td>\n </tr>\n </ng-template>\n</p-table>\n<p-menu #menu [popup]=\"true\" [model]=\"config.actions\"></p-menu>\n" }]
117
122
  }], ctorParameters: function () { return [{ type: i1.DatePipe }, { type: i1.DecimalPipe }, { type: i2.CodigoFipePipe }, { type: i3.CpfCnpjPipe }, { type: i4.TelefonePipe }]; }, propDecorators: { templates: [{
118
123
  type: ContentChildren,
119
124
  args: [TemplateDirective]
@@ -149,4 +154,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
149
154
  }], onSelectionChange: [{
150
155
  type: Output
151
156
  }] } });
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL3RhYmxlL3RhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi90YWJsZS90YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQTBCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVFqSixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7Ozs7Ozs7QUFVckUsTUFBTSxPQUFPLGNBQWM7SUFZekIsY0FBYztRQUNaLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztRQUNwQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUlELElBQXFCLFNBQVMsQ0FBQyxLQUFrQjtRQUMvQyxJQUFJLENBQUMsTUFBTSxHQUFHO1lBQ1osWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZLElBQUksSUFBSTtZQUN4QyxZQUFZLEVBQUUsS0FBSyxDQUFDLFlBQVksSUFBSSxLQUFLO1lBQ3pDLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWSxJQUFJLElBQUk7WUFDeEMsR0FBRyxLQUFLO1NBQ1QsQ0FBQztRQUVGLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUU7WUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNoQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMxQyxDQUFDLENB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R2xDLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBTUYsS0FBSztzQkFBM0MsU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUVoQixTQUFTO3NCQUE3QixLQUFLO3VCQUFDLFFBQVE7Z0JBZU4sVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRlUGlwZSwgRGVjaW1hbFBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgUXVlcnlMaXN0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRhYmxlIH0gZnJvbSAncHJpbWVuZy90YWJsZSc7XHJcblxyXG5cclxuaW1wb3J0IHsgb3V0cHV0QXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29tcGlsZXInO1xyXG5pbXBvcnQgeyBUYWJsZUNvbmZpZyB9IGZyb20gJy4uL2FwaS9jb21wb25lbnRzL3RhYmxlL3RhYmxlLmNvbmZpZyc7XHJcbmltcG9ydCB7IFRhYmxlQ29uZmlnQ29sdW1uIH0gZnJvbSAnLi4vYXBpL2NvbXBvbmVudHMvdGFibGUvdGFibGUuY29uZmlnLmNvbHVtbic7XHJcbmltcG9ydCB7IFRhYmxlUGFnaW5hdGUgfSBmcm9tICcuLi9hcGkvY29tcG9uZW50cy90YWJsZS90YWJsZS5wYWdpbmF0ZSc7XHJcbmltcG9ydCB7IFRlbXBsYXRlRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy90ZW1wbGF0ZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBDb2RpZ29GaXBlUGlwZSB9IGZyb20gJy4uL3BpcGVzL2NvZGlnb2ZpbGUucGlwZSc7XHJcbmltcG9ydCB7IENwZkNucGpQaXBlIH0gZnJvbSAnLi4vcGlwZXMvY3BmY25wai5waXBlJztcclxuaW1wb3J0IHsgVGVsZWZvbmVQaXBlIH0gZnJvbSAnLi4vcGlwZXMvdGVsZWZvbmUucGlwZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2t2LXRhYmxlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RhYmxlLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBjb25maWchOiBUYWJsZUNvbmZpZztcclxuICBwZXNxdWlzYVZhbHVlITogc3RyaW5nO1xyXG4gIGdsb2JhbEZpbHRlckZpZWxkczogc3RyaW5nW10gPSBbXTtcclxuICBhY3Rpb25zVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBzZWxlY3RlZFNpemU6IHN0cmluZyA9ICcnO1xyXG4gIHNjcmVlblNpemUhOiBudW1iZXI7XHJcblxyXG4gIEBDb250ZW50Q2hpbGRyZW4oVGVtcGxhdGVEaXJlY3RpdmUpIHRlbXBsYXRlcyE6IFF1ZXJ5TGlzdDxhbnk+O1xyXG5cclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcclxuICBvbldpbmRvd1Jlc2l6ZSgpIHtcclxuICAgIHRoaXMuc2NyZWVuU2l6ZSA9IHdpbmRvdy5pbm5lcldpZHRoO1xyXG4gICAgdGhpcy5hZGp1c3RUYWJsZVNpemUoKTtcclxuICB9XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3RhYmxlJywgeyBzdGF0aWM6IGZhbHNlIH0pIHRhYmxlITogVGFibGU7XHJcblxyXG4gIEBJbnB1dCgnY29uZmlnJykgc2V0IHNldENvbmZpZyh2YWx1ZTogVGFibGVDb25maWcpIHtcclxuICAgIHRoaXMuY29uZmlnID0ge1xyXG4gICAgICBlbmFibGVDYXRpb246IHZhbHVlLmVuYWJsZUNhdGlvbiB8fCB0cnVlLFxyXG4gICAgICBlbmFibGVTZWxlY3Q6IHZhbHVlLmVuYWJsZVNlbGVjdCB8fCBmYWxzZSxcclxuICAgICAgZW5hYmxlRmlsdGVyOiB2YWx1ZS5lbmFibGVGaWx0ZXIgfHwgdHJ1ZSxcclxuICAgICAgLi4udmFsdWUsXHJcbiAgICB9O1xyXG5cclxuICAgIGlmICh0aGlzLmNvbmZpZy5lbmFibGVGaWx0ZXIpIHtcclxuICAgICAgdGhpcy5jb25maWcuY29sdW1ucy5mb3JFYWNoKGNvbCA9PiB7XHJcbiAgICAgICAgdGhpcy5nbG9iYWxGaWx0ZXJGaWVsZHMucHVzaChjb2wuZmllbGQpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIGRhdGFTb3VyY2U6IGFueTtcclxuICBASW5wdXQoKSBzZWxlY3RlZEl0ZW1zOiBhbnk7XHJcbiAgQElucHV0KCkgdG90YWxSZWNvcmRzITogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIGxhenk6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHBhZ2luYXRvcjogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgcm93c1BlclBhZ2VPcHRpb25zITogbnVtYmVyW107XHJcbiAgQElucHV0KCkgcm93czogbnVtYmVyID0gNTtcclxuICBASW5wdXQoKSB0YWJsZVBlclJvdzogbnVtYmVyID0gMTtcclxuXHJcbiAgQE91dHB1dCgpIG9uQWN0aXZlSXRlbTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uUGFnaW5hdGU6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvblNlbGVjdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZGF0ZVBpcGU6IERhdGVQaXBlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZWNpbWFsUGlwZTogRGVjaW1hbFBpcGUsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvZGlnb0ZpcGVQaXBlOiBDb2RpZ29GaXBlUGlwZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgY3BmQ25walBpcGU6IENwZkNucGpQaXBlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSB0ZWxlZm9uZVBpcGU6IFRlbGVmb25lUGlwZSkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zY3JlZW5TaXplID0gd2luZG93LmlubmVyV2lkdGg7XHJcbiAgICB0aGlzLmFkanVzdFRhYmxlU2l6ZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFjdGl2ZUl0ZW0ocm93RGF0YTogYW55KSB7XHJcbiAgICB0aGlzLm9uQWN0aXZlSXRlbS5lbWl0KHJvd0RhdGEpO1xyXG4gIH1cclxuXHJcbiAgaXNCb29sZWFuRmllbGQocm93RGF0YTogYW55LCBjb2w6IFRhYmxlQ29uZmlnQ29sdW1uKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHlwZW9mIHJvd0RhdGFbY29sLmZpZWxkXSA9PSAnYm9vbGVhbic7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25HbG9iYWxGaWx0ZXIodGFibGU6IFRhYmxlLCBldmVudDogRXZlbnQpIHtcclxuICAgIHRhYmxlLmZpbHRlckdsb2JhbCgoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlLCAnY29udGFpbnMnKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBwYWdpbmF0ZShldmVudDogYW55KSB7XHJcbiAgICBpZiAoZXZlbnQpIHtcclxuICAgICAgbGV0IHBhZ2luYUluaWNpYWwgPSAoKGV2ZW50Py5maXJzdCA+IDApID8gKGV2ZW50LmZpcnN0IC8gZXZlbnQucm93cykgOiBldmVudC5maXJzdCkgKyAxO1xyXG4gICAgICBsZXQgdGVybW9QZXNxdWlzYSA9ICcnO1xyXG4gICAgICBsZXQgb3JkZW5hY2FvID0gJyc7XHJcblxyXG4gICAgICBpZiAoZXZlbnQuZ2xvYmFsRmlsdGVyKVxyXG4gICAgICAgIHRlcm1vUGVzcXVpc2EgPSBldmVudC5nbG9iYWxGaWx0ZXI7XHJcblxyXG4gICAgICBpZiAoZXZlbnQuc29ydEZpZWxkKSB7XHJcbiAgICAgICAgb3JkZW5hY2FvID0gYCR7ZXZlbnQuc29ydEZpZWxkfSAkeyhldmVudC5zb3J0T3JkZXIgPT09IDEpID8gJ0FTQycgOiAnREVTQyd9YDtcclxuICAgICAgfVxyXG5cclxuICAgICAgY29uc3Qgb2JqZXRvOiBUYWJsZVBhZ2luYXRlID0ge1xyXG4gICAgICAgIHBhZ2luYUluaWNpYWw6IHBhZ2luYUluaWNpYWwsXHJcbiAgICAgICAgdGFtYW5ob1BhZ2luYTogZXZlbnQucm93cyxcclxuICAgICAgICB0ZXJtb1Blc3F1aXNhOiB0ZXJtb1Blc3F1aXNhLFxyXG4gICAgICAgIG9yZGVuYWNhbzogb3JkZW5hY2FvXHJcbiAgICAgIH07XHJcblxyXG4gICAgICB0aGlzLm9uUGFnaW5hdGUuZW1pdChvYmpldG8pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2VsZWN0aW9uQ2hhbmdlKHZhbHVlID0gW10pIHtcclxuICAgIHRoaXMub25TZWxlY3Rpb25DaGFuZ2UuZW1pdCh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICB0cmFuc2Zvcm1WYWx1ZShyb3dEYXRhOiBhbnksIGNvbDogVGFibGVDb25maWdDb2x1bW4pIHtcclxuICAgIGxldCB2YWx1ZSA9IHJvd0RhdGFbY29sLmZpZWxkXTtcclxuXHJcbiAgICBpZiAoIWNvbC5waXBlKSByZXR1cm4gdmFsdWU7XHJcblxyXG4gICAgc3dpdGNoIChjb2wucGlwZSkge1xyXG4gICAgICBjYXNlICdkYXRlJzpcclxuICAgICAgICB2YWx1ZSA9IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKHZhbHVlLCAnZGQvTU0veXl5eScpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdkZWNpbWFsJzpcclxuICAgICAgICB2YWx1ZSA9IHRoaXMuZGVjaW1hbFBpcGUudHJhbnNmb3JtKHZhbHVlLCAnMS4yLTInLCAncHQtQlInKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnY3BmY25waic6XHJcbiAgICAgICAgdmFsdWUgPSB0aGlzLmNwZkNucGpQaXBlLnRyYW5zZm9ybSh2YWx1ZSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3RlbGVmb25lJzpcclxuICAgICAgICB2YWx1ZSA9IHRoaXMudGVsZWZvbmVQaXBlLnRyYW5zZm9ybSh2YWx1ZSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2NvZGlnb2ZpcGUnOlxyXG4gICAgICAgIHZhbHVlID0gdGhpcy5jb2RpZ29GaXBlUGlwZS50cmFuc2Zvcm0odmFsdWUpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB2YWx1ZTtcclxuICB9XHJcblxyXG4gIGFkanVzdFRhYmxlU2l6ZSgpIHtcclxuICAgIGlmICgodGhpcy5zY3JlZW5TaXplIDwgMTYwMCAmJiB0aGlzLnNjcmVlblNpemUgPiAxMjAwIHx8IHRoaXMuc2NyZWVuU2l6ZSA8IDgwMCkpXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRTaXplID0gJ3AtZGF0YXRhYmxlLXNtJztcclxuICAgIGVsc2UgdGhpcy5zZWxlY3RlZFNpemUgPSAnJztcclxuICB9XHJcbn1cclxuIiwiPHAtdGFibGUgKm5nSWY9XCJjb25maWdcIiAjZHQgc3R5bGVDbGFzcz1cInAtZGF0YXRhYmxlLXN0cmlwZWQge3tzZWxlY3RlZFNpemV9fVwiIFt2YWx1ZV09XCJkYXRhU291cmNlXCJcbiAgWyhzZWxlY3Rpb24pXT1cInNlbGVjdGVkSXRlbXNcIiBbY29sdW1uc109XCJjb25maWcuY29sdW1uc1wiIFtnbG9iYWxGaWx0ZXJGaWVsZHNdPVwiZ2xvYmFsRmlsdGVyRmllbGRzXCIgW3Jvd3NdPVwicm93c1wiXG4gIFtwYWdpbmF0b3JdPVwicGFnaW5hdG9yXCIgW3Jvd3NQZXJQYWdlT3B0aW9uc109XCJyb3dzUGVyUGFnZU9wdGlvbnNcIiBbc2hvd0N1cnJlbnRQYWdlUmVwb3J0XT1cInRydWVcIlxuICBjdXJyZW50UGFnZVJlcG9ydFRlbXBsYXRlPVwie2ZpcnN0fSAtIHtsYXN0fSBkZSB7dG90YWxSZWNvcmRzfVwiIFtyb3dIb3Zlcl09XCJ0cnVlXCIgW3RvdGFsUmVjb3Jkc109XCJ0b3RhbFJlY29yZHNcIlxuICBbbGF6eV09XCJjb25maWcubGF6eVwiIChvbkxhenlMb2FkKT1cInBhZ2luYXRlKCRldmVudClcIiAoc2VsZWN0aW9uQ2hhbmdlKT1cInNlbGVjdGlvbkNoYW5nZSgkZXZlbnQpXCJcbiAgcm93R3JvdXBNb2RlPVwicm93c3BhblwiIFtncm91cFJvd3NCeV09XCJjb25maWcuZmllbGRHcm91cFwiIFtzaG93Rmlyc3RMYXN0SWNvbl09XCJmYWxzZVwiXG4gIFt0YWJsZVN0eWxlXT1cInsgJ21pbi13aWR0aCc6ICczNnJlbScgfVwiIFtwYWdlTGlua3NdPVwiMVwiPlxuXG4gIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJjYXB0aW9uXCIgKm5nSWY9XCJjb25maWcuZW5hYmxlQ2F0aW9uXCI+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2x1bW4gbWQ6ZmxleC1yb3cgbWQ6anVzdGlmeS1jb250ZW50LWJldHdlZW5cbiAgICAgIG1kOmFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgPGg1IGNsYXNzPVwibS0wXCI+e3sgY29uZmlnLnRpdGxlIH19PC9oNT5cbiAgICAgIDxzcGFuICpuZ0lmPVwiY29uZmlnLmVuYWJsZUZpbHRlclwiIGNsYXNzPVwiYmxvY2sgbXQtMiBtZDptdC0wXG4gICAgICAgIHAtaW5wdXQtaWNvbi1sZWZ0XCI+XG4gICAgICAgIDxpIGNsYXNzPVwicGkgcGktc2VhcmNoXCI+PC9pPlxuICAgICAgICA8aW5wdXQgcElucHV0VGV4dCBwQXV0b0ZvY3VzIFthdXRvZm9jdXNdPVwidHJ1ZVwiIHR5cGU9XCJ0ZXh0XCIgKGlucHV0KT1cIm9uR2xvYmFsRmlsdGVyKGR0LCAkZXZlbnQpXCJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cIlBlc3F1aXNhci4uLlwiIGNsYXNzPVwidy1mdWxsIHNtOnctYXV0b1wiIC8+XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiIGxldC1jb2x1bW5zPlxuICAgIDx0cj5cbiAgICAgIDx0aCBzdHlsZT1cIndpZHRoOiA0cmVtXCIgKm5nSWY9XCJjb25maWcuZW5hYmxlU2VsZWN0XCI+XG4gICAgICAgIDxwLXRhYmxlSGVhZGVyQ2hlY2tib3g+PC9wLXRhYmxlSGVhZGVyQ2hlY2tib3g+XG4gICAgICA8L3RoPlxuICAgICAgPHRoICpuZ0Zvcj1cImxldCBjb2wgb2YgY29sdW1ucztcIiBbcFNvcnRhYmxlQ29sdW1uXT1cImNvbC5maWVsZFwiIFtwU29ydGFibGVDb2x1bW5EaXNhYmxlZF09XCJjb2wuc29ydGFibGUgPT09IGZhbHNlXCJcbiAgICAgICAgW3N0eWxlLndpZHRoXT1cImNvbC53aWR0aFwiIGNsYXNzPVwidGV4dC1zbVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvd1wiPlxuICAgICAgICAgIHt7Y29sLmhlYWRlcn19XG4gICAgICAgICAgPHAtc29ydEljb24gKm5nSWY9XCJjb2wuc29ydGFibGUgPT09IHRydWVcIiBbZmllbGRdPVwiY29sLmZpZWxkXCIgc3R5bGU9XCJmb250LXNpemU6IDEwcHg7XCI+PC9wLXNvcnRJY29uPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgPC90aD5cbiAgICAgIDx0aCAqbmdJZj1cImNvbmZpZy5hY3Rpb25zICYmIGNvbmZpZy5hY3Rpb25zLmxlbmd0aD4gMFwiPjwvdGg+XG4gICAgPC90cj5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiYm9keVwiIGxldC1yb3dEYXRhIGxldC1jb2x1bW5zPVwiY29sdW1uc1wiIGxldC1yb3dncm91cD1cInJvd2dyb3VwXCIgbGV0LXJvd3NwYW49XCJyb3dzcGFuXCI+XG4gICAgPHRyPlxuICAgICAgPHRkICpuZ0lmPVwiY29uZmlnLmVuYWJsZVNlbGVjdFwiPlxuICAgICAgICA8cC10YWJsZUNoZWNrYm94IFt2YWx1ZV09XCJyb3dEYXRhXCI+PC9wLXRhYmxlQ2hlY2tib3g+XG4gICAgICA8L3RkPlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2wgb2YgY29sdW1uc1wiPlxuXG4gICAgICAgIDx0ZCAqbmdJZj1cInJvd2dyb3VwXCIgW2F0dHIucm93c3Bhbl09XCJyb3dncm91cCAmJiBjb2wuZ3JvdXBlZD8gcm93c3BhbjogbnVsbFwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwicC1jb2x1bW4tdGl0bGVcIj57e2NvbC5oZWFkZXJ9fTwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFpc0Jvb2xlYW5GaWVsZChyb3dEYXRhLCBjb2wpOyBlbHNlIGJvb2xlYW5GaWVsZFwiIFtjbGFzc109XCIoc2NyZWVuU2l6ZSA8IDE2MDAgJiYgc2NyZWVuU2l6ZSA+IDEyMDAgfHwgc2NyZWVuU2l6ZSA8IDgwMCkgPyAndGV4dC14cycgOiAndGV4dC1zbSdcIj5cbiAgICAgICAgICAgIHt7IHRyYW5zZm9ybVZhbHVlKHJvd0RhdGEsIGNvbCkgfX1cbiAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2Jvb2xlYW5GaWVsZD5cbiAgICAgICAgICAgIDxpIFtuZ0NsYXNzXT1cInJvd0RhdGFbY29sLmZpZWxkXSA/ICdwaSBwaS1jaGVjaycgOiAncGkgcGktdGltZXMnXCI+PC9pPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvdGQ+XG5cbiAgICAgICAgPHRkICpuZ0lmPVwiIXJvd2dyb3VwICYmICFjb2wuZ3JvdXBlZFwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwicC1jb2x1bW4tdGl0bGVcIj57e2NvbC5oZWFkZXJ9fTwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFpc0Jvb2xlYW5GaWVsZChyb3dEYXRhLCBjb2wpOyBlbHNlIGJvb2xlYW5GaWVsZFwiIFtjbGFzc109XCIoc2NyZWVuU2l6ZSA8IDE2MDAgJiYgc2NyZWVuU2l6ZSA+IDEyMDAgfHwgc2NyZWVuU2l6ZSA8IDc2MCkgPyAndGV4dC14cycgOiAndGV4dC1zbSdcIj5cbiAgICAgICAgICAgIHt7IHRyYW5zZm9ybVZhbHVlKHJvd0RhdGEsIGNvbCkgfX1cbiAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2Jvb2xlYW5GaWVsZD5cbiAgICAgICAgICAgIDxpIFtuZ0NsYXNzXT1cInJvd0RhdGFbY29sLmZpZWxkXSA/ICdwaSBwaS1jaGVjaycgOiAncGkgcGktdGltZXMnXCI+PC9pPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvdGQ+XG5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8IS0tIDx0ZCAqbmdJZj1cImNvbmZpZy5hY3Rpb25zICYmIGNvbmZpZy5hY3Rpb25zLmxlbmd0aD4gMFwiPlxuICAgICAgICA8aSBjbGFzcz1cInBpIHBpLWVsbGlwc2lzLWhcIiBzdHlsZT1cImN1cnNvcjogcG9pbnRlclwiXG4gICAgICAgICAgKGNsaWNrKT1cImFjdGl2ZUl0ZW0ocm93RGF0YSk7bWVudS50b2dnbGUoJGV2ZW50KVwiPjwvaT5cbiAgICAgIDwvdGQ+IC0tPlxuXG4gICAgICA8dGQgKm5nSWY9XCJjb25maWcuYWN0aW9ucyAmJiBjb25maWcuYWN0aW9ucy5sZW5ndGg+IDBcIiBjbGFzcz1cImZsZXggZmxleC1yb3dcIj5cbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIGNvbmZpZy5hY3Rpb25zXCI+XG4gICAgICAgICAgPGkgY2xhc3M9XCJwaSB7e2FjdGlvbi5pY29ufX1cIiBzdHlsZT1cImN1cnNvcjogcG9pbnRlclwiIGNsYXNzPVwibXItMiBtbC0yXCIgKGNsaWNrKT1cImFjdGlvbj8uY29tbWFuZCgpXCI+PC9pPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvdGQ+XG5cbiAgICA8L3RyPlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJlbXB0eW1lc3NhZ2VcIiBsZXQtY29sdW1ucz5cbiAgICA8dHI+XG4gICAgICA8dGQgW2F0dHIuY29sc3Bhbl09XCJjb2x1bW5zLmxlbmd0aFwiIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPlxuICAgICAgICBOZW5odW0gcmVnaXN0cm8gZW5jb250cmFkb1xuICAgICAgPC90ZD5cbiAgICA8L3RyPlxuICA8L25nLXRlbXBsYXRlPlxuPC9wLXRhYmxlPlxuPHAtbWVudSAjbWVudSBbcG9wdXBdPVwidHJ1ZVwiIFttb2RlbF09XCJjb25maWcuYWN0aW9uc1wiPjwvcC1tZW51PlxuIl19
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL3RhYmxlL3RhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi90YWJsZS90YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQTBCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVFqSixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7Ozs7Ozs7QUFVckUsTUFBTSxPQUFPLGNBQWM7SUFjekIsY0FBYztRQUNaLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBSUQsSUFBcUIsU0FBUyxDQUFDLEtBQWtCO1FBQy9DLElBQUksQ0FBQyxNQUFNLEdBQUc7WUFDWixZQUFZLEVBQUUsS0FBSyxDQUFDLFlBQVksSUFBSSxJQUFJO1lBQ3hDLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWSxJQUFJLEtBQUs7WUFDekMsWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZLElBQUksSUFBSTtZQUN4QyxHQUFHLEtBQUs7U0FDVCxDQUFDO1FBRUYsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRTtZQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ2hDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzFDLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBZUQsWUFBNkIsUUFBa0IsRUFDNUIs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QVksR0FBRyxnQkFBZ0IsQ0FBQzs7WUFDbEMsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7SUFDOUIsQ0FBQzs7MkdBMUlVLGNBQWM7K0ZBQWQsY0FBYyw2ZkFXUixpQkFBaUIsNkhDOUJwQywrb0lBK0ZBOzJGRDVFYSxjQUFjO2tCQUwxQixTQUFTOytCQUNFLFVBQVU7Mk1BZWdCLFNBQVM7c0JBQTVDLGVBQWU7dUJBQUMsaUJBQWlCO2dCQUdsQyxjQUFjO3NCQURiLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUtGLEtBQUs7c0JBQTNDLFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFFaEIsU0FBUztzQkFBN0IsS0FBSzt1QkFBQyxRQUFRO2dCQWVOLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFFSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0ZVBpcGUsIERlY2ltYWxQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFF1ZXJ5TGlzdCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUYWJsZSB9IGZyb20gJ3ByaW1lbmcvdGFibGUnO1xyXG5cclxuXHJcbmltcG9ydCB7IG91dHB1dEFzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbXBpbGVyJztcclxuaW1wb3J0IHsgVGFibGVDb25maWcgfSBmcm9tICcuLi9hcGkvY29tcG9uZW50cy90YWJsZS90YWJsZS5jb25maWcnO1xyXG5pbXBvcnQgeyBUYWJsZUNvbmZpZ0NvbHVtbiB9IGZyb20gJy4uL2FwaS9jb21wb25lbnRzL3RhYmxlL3RhYmxlLmNvbmZpZy5jb2x1bW4nO1xyXG5pbXBvcnQgeyBUYWJsZVBhZ2luYXRlIH0gZnJvbSAnLi4vYXBpL2NvbXBvbmVudHMvdGFibGUvdGFibGUucGFnaW5hdGUnO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvdGVtcGxhdGUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQ29kaWdvRmlwZVBpcGUgfSBmcm9tICcuLi9waXBlcy9jb2RpZ29maWxlLnBpcGUnO1xyXG5pbXBvcnQgeyBDcGZDbnBqUGlwZSB9IGZyb20gJy4uL3BpcGVzL2NwZmNucGoucGlwZSc7XHJcbmltcG9ydCB7IFRlbGVmb25lUGlwZSB9IGZyb20gJy4uL3BpcGVzL3RlbGVmb25lLnBpcGUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdrdi10YWJsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90YWJsZS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgY29uZmlnITogVGFibGVDb25maWc7XHJcbiAgcGVzcXVpc2FWYWx1ZSE6IHN0cmluZztcclxuICBnbG9iYWxGaWx0ZXJGaWVsZHM6IHN0cmluZ1tdID0gW107XHJcbiAgYWN0aW9uc1RlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgc2VsZWN0ZWRTaXplOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgc2NyZWVuU2l6ZSE6IG51bWJlcjtcclxuICB0YWJsZVNpemUhOiBudW1iZXI7XHJcblxyXG4gIEBDb250ZW50Q2hpbGRyZW4oVGVtcGxhdGVEaXJlY3RpdmUpIHRlbXBsYXRlcyE6IFF1ZXJ5TGlzdDxhbnk+O1xyXG5cclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcclxuICBvbldpbmRvd1Jlc2l6ZSgpIHtcclxuICAgIHRoaXMuYWRqdXN0VGFibGVTaXplKCk7XHJcbiAgfVxyXG5cclxuICBAVmlld0NoaWxkKCd0YWJsZScsIHsgc3RhdGljOiBmYWxzZSB9KSB0YWJsZSE6IFRhYmxlO1xyXG5cclxuICBASW5wdXQoJ2NvbmZpZycpIHNldCBzZXRDb25maWcodmFsdWU6IFRhYmxlQ29uZmlnKSB7XHJcbiAgICB0aGlzLmNvbmZpZyA9IHtcclxuICAgICAgZW5hYmxlQ2F0aW9uOiB2YWx1ZS5lbmFibGVDYXRpb24gfHwgdHJ1ZSxcclxuICAgICAgZW5hYmxlU2VsZWN0OiB2YWx1ZS5lbmFibGVTZWxlY3QgfHwgZmFsc2UsXHJcbiAgICAgIGVuYWJsZUZpbHRlcjogdmFsdWUuZW5hYmxlRmlsdGVyIHx8IHRydWUsXHJcbiAgICAgIC4uLnZhbHVlLFxyXG4gICAgfTtcclxuXHJcbiAgICBpZiAodGhpcy5jb25maWcuZW5hYmxlRmlsdGVyKSB7XHJcbiAgICAgIHRoaXMuY29uZmlnLmNvbHVtbnMuZm9yRWFjaChjb2wgPT4ge1xyXG4gICAgICAgIHRoaXMuZ2xvYmFsRmlsdGVyRmllbGRzLnB1c2goY29sLmZpZWxkKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBkYXRhU291cmNlOiBhbnk7XHJcbiAgQElucHV0KCkgc2VsZWN0ZWRJdGVtczogYW55O1xyXG4gIEBJbnB1dCgpIHRvdGFsUmVjb3JkcyE6IG51bWJlcjtcclxuICBASW5wdXQoKSBsYXp5OiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBwYWdpbmF0b3I6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHJvd3NQZXJQYWdlT3B0aW9ucyE6IG51bWJlcltdO1xyXG4gIEBJbnB1dCgpIHJvd3M6IG51bWJlciA9IDU7XHJcbiAgQElucHV0KCkgdGFibGVQZXJSb3c6IG51bWJlciA9IDE7XHJcblxyXG4gIEBPdXRwdXQoKSBvbkFjdGl2ZUl0ZW06IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvblBhZ2luYXRlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25TZWxlY3Rpb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGRhdGVQaXBlOiBEYXRlUGlwZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVjaW1hbFBpcGU6IERlY2ltYWxQaXBlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb2RpZ29GaXBlUGlwZTogQ29kaWdvRmlwZVBpcGUsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNwZkNucGpQaXBlOiBDcGZDbnBqUGlwZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGVsZWZvbmVQaXBlOiBUZWxlZm9uZVBpcGUpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2NyZWVuU2l6ZSA9IHdpbmRvdy5pbm5lcldpZHRoO1xyXG4gICAgdGhpcy5hZGp1c3RUYWJsZVNpemUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhY3RpdmVJdGVtKHJvd0RhdGE6IGFueSkge1xyXG4gICAgdGhpcy5vbkFjdGl2ZUl0ZW0uZW1pdChyb3dEYXRhKTtcclxuICB9XHJcblxyXG4gIGlzQm9vbGVhbkZpZWxkKHJvd0RhdGE6IGFueSwgY29sOiBUYWJsZUNvbmZpZ0NvbHVtbik6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHR5cGVvZiByb3dEYXRhW2NvbC5maWVsZF0gPT0gJ2Jvb2xlYW4nO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uR2xvYmFsRmlsdGVyKHRhYmxlOiBUYWJsZSwgZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICB0YWJsZS5maWx0ZXJHbG9iYWwoKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZSwgJ2NvbnRhaW5zJyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcGFnaW5hdGUoZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKGV2ZW50KSB7XHJcbiAgICAgIGxldCBwYWdpbmFJbmljaWFsID0gKChldmVudD8uZmlyc3QgPiAwKSA/IChldmVudC5maXJzdCAvIGV2ZW50LnJvd3MpIDogZXZlbnQuZmlyc3QpICsgMTtcclxuICAgICAgbGV0IHRlcm1vUGVzcXVpc2EgPSAnJztcclxuICAgICAgbGV0IG9yZGVuYWNhbyA9ICcnO1xyXG5cclxuICAgICAgaWYgKGV2ZW50Lmdsb2JhbEZpbHRlcilcclxuICAgICAgICB0ZXJtb1Blc3F1aXNhID0gZXZlbnQuZ2xvYmFsRmlsdGVyO1xyXG5cclxuICAgICAgaWYgKGV2ZW50LnNvcnRGaWVsZCkge1xyXG4gICAgICAgIG9yZGVuYWNhbyA9IGAke2V2ZW50LnNvcnRGaWVsZH0gJHsoZXZlbnQuc29ydE9yZGVyID09PSAxKSA/ICdBU0MnIDogJ0RFU0MnfWA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IG9iamV0bzogVGFibGVQYWdpbmF0ZSA9IHtcclxuICAgICAgICBwYWdpbmFJbmljaWFsOiBwYWdpbmFJbmljaWFsLFxyXG4gICAgICAgIHRhbWFuaG9QYWdpbmE6IGV2ZW50LnJvd3MsXHJcbiAgICAgICAgdGVybW9QZXNxdWlzYTogdGVybW9QZXNxdWlzYSxcclxuICAgICAgICBvcmRlbmFjYW86IG9yZGVuYWNhb1xyXG4gICAgICB9O1xyXG5cclxuICAgICAgdGhpcy5vblBhZ2luYXRlLmVtaXQob2JqZXRvKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNlbGVjdGlvbkNoYW5nZSh2YWx1ZSA9IFtdKSB7XHJcbiAgICB0aGlzLm9uU2VsZWN0aW9uQ2hhbmdlLmVtaXQodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgdHJhbnNmb3JtVmFsdWUocm93RGF0YTogYW55LCBjb2w6IFRhYmxlQ29uZmlnQ29sdW1uKSB7XHJcbiAgICBsZXQgdmFsdWUgPSByb3dEYXRhW2NvbC5maWVsZF07XHJcblxyXG4gICAgaWYgKCFjb2wucGlwZSkgcmV0dXJuIHZhbHVlO1xyXG5cclxuICAgIHN3aXRjaCAoY29sLnBpcGUpIHtcclxuICAgICAgY2FzZSAnZGF0ZSc6XHJcbiAgICAgICAgdmFsdWUgPSB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybSh2YWx1ZSwgJ2RkL01NL3l5eXknKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnZGVjaW1hbCc6XHJcbiAgICAgICAgdmFsdWUgPSB0aGlzLmRlY2ltYWxQaXBlLnRyYW5zZm9ybSh2YWx1ZSwgJzEuMi0yJywgJ3B0LUJSJyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2NwZmNucGonOlxyXG4gICAgICAgIHZhbHVlID0gdGhpcy5jcGZDbnBqUGlwZS50cmFuc2Zvcm0odmFsdWUpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICd0ZWxlZm9uZSc6XHJcbiAgICAgICAgdmFsdWUgPSB0aGlzLnRlbGVmb25lUGlwZS50cmFuc2Zvcm0odmFsdWUpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdjb2RpZ29maXBlJzpcclxuICAgICAgICB2YWx1ZSA9IHRoaXMuY29kaWdvRmlwZVBpcGUudHJhbnNmb3JtKHZhbHVlKTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBhZGp1c3RUYWJsZVNpemUoKSB7XHJcbiAgICB0aGlzLnNjcmVlblNpemUgPSB3aW5kb3cuaW5uZXJXaWR0aDtcclxuXHJcbiAgICB2YXIgY29sbGVjdGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ3RhYmxlJyk7XHJcbiAgICB0aGlzLnRhYmxlU2l6ZSA9IE51bWJlcihjb2xsZWN0aW9uLml0ZW0oMCk/LmNsaWVudFdpZHRoKTtcclxuXHJcbiAgICBpZiAodGhpcy50YWJsZVNpemUgPT0gbnVsbCB8fCB0aGlzLnRhYmxlU2l6ZSA9PSAwKSB7XHJcbiAgICAgIHRoaXMudGFibGVTaXplID0gdGhpcy5zY3JlZW5TaXplO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnRhYmxlU2l6ZSA8IDgwMClcclxuICAgICAgdGhpcy5zZWxlY3RlZFNpemUgPSAncC1kYXRhdGFibGUtc20nO1xyXG4gICAgZWxzZSB0aGlzLnNlbGVjdGVkU2l6ZSA9ICcnO1xyXG4gIH1cclxufVxyXG4iLCI8cC10YWJsZSAqbmdJZj1cImNvbmZpZ1wiICNkdCBzdHlsZUNsYXNzPVwicC1kYXRhdGFibGUtc3RyaXBlZCB7e3NlbGVjdGVkU2l6ZX19XCIgW3ZhbHVlXT1cImRhdGFTb3VyY2VcIlxuICBbKHNlbGVjdGlvbildPVwic2VsZWN0ZWRJdGVtc1wiIFtjb2x1bW5zXT1cImNvbmZpZy5jb2x1bW5zXCIgW2dsb2JhbEZpbHRlckZpZWxkc109XCJnbG9iYWxGaWx0ZXJGaWVsZHNcIiBbcm93c109XCJyb3dzXCJcbiAgW3BhZ2luYXRvcl09XCJwYWdpbmF0b3JcIiBbcm93c1BlclBhZ2VPcHRpb25zXT1cInJvd3NQZXJQYWdlT3B0aW9uc1wiIFtzaG93Q3VycmVudFBhZ2VSZXBvcnRdPVwidHJ1ZVwiXG4gIGN1cnJlbnRQYWdlUmVwb3J0VGVtcGxhdGU9XCJ7Zmlyc3R9IC0ge2xhc3R9IGRlIHt0b3RhbFJlY29yZHN9XCIgW3Jvd0hvdmVyXT1cInRydWVcIiBbdG90YWxSZWNvcmRzXT1cInRvdGFsUmVjb3Jkc1wiXG4gIFtsYXp5XT1cImNvbmZpZy5sYXp5XCIgKG9uTGF6eUxvYWQpPVwicGFnaW5hdGUoJGV2ZW50KVwiIChzZWxlY3Rpb25DaGFuZ2UpPVwic2VsZWN0aW9uQ2hhbmdlKCRldmVudClcIlxuICByb3dHcm91cE1vZGU9XCJyb3dzcGFuXCIgW2dyb3VwUm93c0J5XT1cImNvbmZpZy5maWVsZEdyb3VwXCIgW3Nob3dGaXJzdExhc3RJY29uXT1cImZhbHNlXCJcbiAgW3RhYmxlU3R5bGVdPVwieyAnbWluLXdpZHRoJzogJzM2cmVtJyB9XCIgW3BhZ2VMaW5rc109XCIxXCIgY2xhc3M9XCJ0YWJsZVwiPlxuXG4gIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJjYXB0aW9uXCIgKm5nSWY9XCJjb25maWcuZW5hYmxlQ2F0aW9uXCI+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2x1bW4gbWQ6ZmxleC1yb3cgbWQ6anVzdGlmeS1jb250ZW50LWJldHdlZW5cbiAgICAgIG1kOmFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgPGg1IGNsYXNzPVwibS0wXCI+e3sgY29uZmlnLnRpdGxlIH19PC9oNT5cbiAgICAgIDxzcGFuICpuZ0lmPVwiY29uZmlnLmVuYWJsZUZpbHRlclwiIGNsYXNzPVwiYmxvY2sgbXQtMiBtZDptdC0wXG4gICAgICAgIHAtaW5wdXQtaWNvbi1sZWZ0XCI+XG4gICAgICAgIDxpIGNsYXNzPVwicGkgcGktc2VhcmNoXCI+PC9pPlxuICAgICAgICA8aW5wdXQgcElucHV0VGV4dCBwQXV0b0ZvY3VzIFthdXRvZm9jdXNdPVwidHJ1ZVwiIHR5cGU9XCJ0ZXh0XCIgKGlucHV0KT1cIm9uR2xvYmFsRmlsdGVyKGR0LCAkZXZlbnQpXCJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cIlBlc3F1aXNhci4uLlwiIGNsYXNzPVwidy1mdWxsIHNtOnctYXV0b1wiIC8+XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiIGxldC1jb2x1bW5zPlxuICAgIDx0cj5cbiAgICAgIDx0aCBzdHlsZT1cIndpZHRoOiA0cmVtXCIgKm5nSWY9XCJjb25maWcuZW5hYmxlU2VsZWN0XCI+XG4gICAgICAgIDxwLXRhYmxlSGVhZGVyQ2hlY2tib3g+PC9wLXRhYmxlSGVhZGVyQ2hlY2tib3g+XG4gICAgICA8L3RoPlxuICAgICAgPHRoICpuZ0Zvcj1cImxldCBjb2wgb2YgY29sdW1ucztcIiBbcFNvcnRhYmxlQ29sdW1uXT1cImNvbC5maWVsZFwiIFtwU29ydGFibGVDb2x1bW5EaXNhYmxlZF09XCJjb2wuc29ydGFibGUgPT09IGZhbHNlXCJcbiAgICAgICAgW3N0eWxlLndpZHRoXT1cImNvbC53aWR0aFwiIGNsYXNzPVwidGV4dC1zbVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvd1wiPlxuICAgICAgICAgIHt7Y29sLmhlYWRlcn19XG4gICAgICAgICAgPHAtc29ydEljb24gKm5nSWY9XCJjb2wuc29ydGFibGUgPT09IHRydWVcIiBbZmllbGRdPVwiY29sLmZpZWxkXCIgc3R5bGU9XCJmb250LXNpemU6IDEwcHg7XCI+PC9wLXNvcnRJY29uPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgPC90aD5cbiAgICAgIDx0aCAqbmdJZj1cImNvbmZpZy5hY3Rpb25zICYmIGNvbmZpZy5hY3Rpb25zLmxlbmd0aD4gMFwiPjwvdGg+XG4gICAgPC90cj5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiYm9keVwiIGxldC1yb3dEYXRhIGxldC1jb2x1bW5zPVwiY29sdW1uc1wiIGxldC1yb3dncm91cD1cInJvd2dyb3VwXCIgbGV0LXJvd3NwYW49XCJyb3dzcGFuXCI+XG4gICAgPHRyPlxuICAgICAgPHRkICpuZ0lmPVwiY29uZmlnLmVuYWJsZVNlbGVjdFwiPlxuICAgICAgICA8cC10YWJsZUNoZWNrYm94IFt2YWx1ZV09XCJyb3dEYXRhXCI+PC9wLXRhYmxlQ2hlY2tib3g+XG4gICAgICA8L3RkPlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2wgb2YgY29sdW1uc1wiPlxuXG4gICAgICAgIDx0ZCAqbmdJZj1cInJvd2dyb3VwXCIgW2F0dHIucm93c3Bhbl09XCJyb3dncm91cCAmJiBjb2wuZ3JvdXBlZD8gcm93c3BhbjogbnVsbFwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwicC1jb2x1bW4tdGl0bGVcIj57e2NvbC5oZWFkZXJ9fTwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFpc0Jvb2xlYW5GaWVsZChyb3dEYXRhLCBjb2wpOyBlbHNlIGJvb2xlYW5GaWVsZFwiXG4gICAgICAgICAgICBbY2xhc3NdPVwidGFibGVTaXplIDwgODAwID8gJ3RleHQteHMnIDogJ3RleHQtc20nXCI+XG4gICAgICAgICAgICB7eyB0cmFuc2Zvcm1WYWx1ZShyb3dEYXRhLCBjb2wpIH19XG4gICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNib29sZWFuRmllbGQ+XG4gICAgICAgICAgICA8aSBbbmdDbGFzc109XCJyb3dEYXRhW2NvbC5maWVsZF0gPyAncGkgcGktY2hlY2snIDogJ3BpIHBpLXRpbWVzJ1wiPjwvaT5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L3RkPlxuXG4gICAgICAgIDx0ZCAqbmdJZj1cIiFyb3dncm91cCAmJiAhY29sLmdyb3VwZWRcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInAtY29sdW1uLXRpdGxlXCI+e3tjb2wuaGVhZGVyfX08L3NwYW4+XG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCIhaXNCb29sZWFuRmllbGQocm93RGF0YSwgY29sKTsgZWxzZSBib29sZWFuRmllbGRcIlxuICAgICAgICAgICAgW2NsYXNzXT1cIiB0YWJsZVNpemUgPCA4MDAgPyAndGV4dC14cycgOiAndGV4dC1zbSdcIj5cbiAgICAgICAgICAgIHt7IHRyYW5zZm9ybVZhbHVlKHJvd0RhdGEsIGNvbCkgfX1cbiAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2Jvb2xlYW5GaWVsZD5cbiAgICAgICAgICAgIDxpIFtuZ0NsYXNzXT1cInJvd0RhdGFbY29sLmZpZWxkXSA/ICdwaSBwaS1jaGVjaycgOiAncGkgcGktdGltZXMnXCI+PC9pPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvdGQ+XG5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8IS0tIDx0ZCAqbmdJZj1cImNvbmZpZy5hY3Rpb25zICYmIGNvbmZpZy5hY3Rpb25zLmxlbmd0aD4gMFwiPlxuICAgICAgICA8aSBjbGFzcz1cInBpIHBpLWVsbGlwc2lzLWhcIiBzdHlsZT1cImN1cnNvcjogcG9pbnRlclwiXG4gICAgICAgICAgKGNsaWNrKT1cImFjdGl2ZUl0ZW0ocm93RGF0YSk7bWVudS50b2dnbGUoJGV2ZW50KVwiPjwvaT5cbiAgICAgIDwvdGQ+IC0tPlxuXG4gICAgICA8dGQgKm5nSWY9XCJjb25maWcuYWN0aW9ucyAmJiBjb25maWcuYWN0aW9ucy5sZW5ndGg+IDBcIiBjbGFzcz1cImZsZXggZmxleC1yb3dcIj5cbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIGNvbmZpZy5hY3Rpb25zXCI+XG4gICAgICAgICAgPGkgY2xhc3M9XCJwaSB7e2FjdGlvbi5pY29ufX1cIiBzdHlsZT1cImN1cnNvcjogcG9pbnRlclwiIGNsYXNzPVwibXItMiBtbC0yXCIgKGNsaWNrKT1cImFjdGlvbj8uY29tbWFuZCgpXCI+PC9pPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvdGQ+XG5cbiAgICA8L3RyPlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJlbXB0eW1lc3NhZ2VcIiBsZXQtY29sdW1ucz5cbiAgICA8dHI+XG4gICAgICA8dGQgW2F0dHIuY29sc3Bhbl09XCJjb2x1bW5zLmxlbmd0aFwiIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPlxuICAgICAgICBOZW5odW0gcmVnaXN0cm8gZW5jb250cmFkb1xuICAgICAgPC90ZD5cbiAgICA8L3RyPlxuICA8L25nLXRlbXBsYXRlPlxuPC9wLXRhYmxlPlxuPHAtbWVudSAjbWVudSBbcG9wdXBdPVwidHJ1ZVwiIFttb2RlbF09XCJjb25maWcuYWN0aW9uc1wiPjwvcC1tZW51PlxuIl19
@@ -832,7 +832,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
832
832
 
833
833
  class TableComponent {
834
834
  onWindowResize() {
835
- this.screenSize = window.innerWidth;
836
835
  this.adjustTableSize();
837
836
  }
838
837
  set setConfig(value) {
@@ -918,17 +917,24 @@ class TableComponent {
918
917
  return value;
919
918
  }
920
919
  adjustTableSize() {
921
- if ((this.screenSize < 1600 && this.screenSize > 1200 || this.screenSize < 800))
920
+ var _a;
921
+ this.screenSize = window.innerWidth;
922
+ var collection = document.getElementsByClassName('table');
923
+ this.tableSize = Number((_a = collection.item(0)) === null || _a === void 0 ? void 0 : _a.clientWidth);
924
+ if (this.tableSize == null || this.tableSize == 0) {
925
+ this.tableSize = this.screenSize;
926
+ }
927
+ if (this.tableSize < 800)
922
928
  this.selectedSize = 'p-datatable-sm';
923
929
  else
924
930
  this.selectedSize = '';
925
931
  }
926
932
  }
927
933
  TableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TableComponent, deps: [{ token: i1.DatePipe }, { token: i1.DecimalPipe }, { token: CodigoFipePipe }, { token: CpfCnpjPipe }, { token: TelefonePipe }], target: i0.ɵɵFactoryTarget.Component });
928
- TableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: TableComponent, selector: "kv-table", inputs: { setConfig: ["config", "setConfig"], dataSource: "dataSource", selectedItems: "selectedItems", totalRecords: "totalRecords", lazy: "lazy", paginator: "paginator", rowsPerPageOptions: "rowsPerPageOptions", rows: "rows", tablePerRow: "tablePerRow" }, outputs: { onActiveItem: "onActiveItem", onPaginate: "onPaginate", onSelectionChange: "onSelectionChange" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, queries: [{ propertyName: "templates", predicate: TemplateDirective }], viewQueries: [{ propertyName: "table", first: true, predicate: ["table"], descendants: true }], ngImport: i0, template: "<p-table *ngIf=\"config\" #dt styleClass=\"p-datatable-striped {{selectedSize}}\" [value]=\"dataSource\"\n [(selection)]=\"selectedItems\" [columns]=\"config.columns\" [globalFilterFields]=\"globalFilterFields\" [rows]=\"rows\"\n [paginator]=\"paginator\" [rowsPerPageOptions]=\"rowsPerPageOptions\" [showCurrentPageReport]=\"true\"\n currentPageReportTemplate=\"{first} - {last} de {totalRecords}\" [rowHover]=\"true\" [totalRecords]=\"totalRecords\"\n [lazy]=\"config.lazy\" (onLazyLoad)=\"paginate($event)\" (selectionChange)=\"selectionChange($event)\"\n rowGroupMode=\"rowspan\" [groupRowsBy]=\"config.fieldGroup\" [showFirstLastIcon]=\"false\"\n [tableStyle]=\"{ 'min-width': '36rem' }\" [pageLinks]=\"1\">\n\n <ng-template pTemplate=\"caption\" *ngIf=\"config.enableCation\">\n <div class=\"flex flex-column md:flex-row md:justify-content-between\n md:align-items-center\">\n <h5 class=\"m-0\">{{ config.title }}</h5>\n <span *ngIf=\"config.enableFilter\" class=\"block mt-2 md:mt-0\n p-input-icon-left\">\n <i class=\"pi pi-search\"></i>\n <input pInputText pAutoFocus [autofocus]=\"true\" type=\"text\" (input)=\"onGlobalFilter(dt, $event)\"\n placeholder=\"Pesquisar...\" class=\"w-full sm:w-auto\" />\n </span>\n </div>\n </ng-template>\n\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th style=\"width: 4rem\" *ngIf=\"config.enableSelect\">\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\n </th>\n <th *ngFor=\"let col of columns;\" [pSortableColumn]=\"col.field\" [pSortableColumnDisabled]=\"col.sortable === false\"\n [style.width]=\"col.width\" class=\"text-sm\">\n <div class=\"flex flex-row\">\n {{col.header}}\n <p-sortIcon *ngIf=\"col.sortable === true\" [field]=\"col.field\" style=\"font-size: 10px;\"></p-sortIcon>\n </div>\n\n </th>\n <th *ngIf=\"config.actions && config.actions.length> 0\"></th>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"body\" let-rowData let-columns=\"columns\" let-rowgroup=\"rowgroup\" let-rowspan=\"rowspan\">\n <tr>\n <td *ngIf=\"config.enableSelect\">\n <p-tableCheckbox [value]=\"rowData\"></p-tableCheckbox>\n </td>\n\n <ng-container *ngFor=\"let col of columns\">\n\n <td *ngIf=\"rowgroup\" [attr.rowspan]=\"rowgroup && col.grouped? rowspan: null\">\n <span class=\"p-column-title\">{{col.header}}</span>\n <span *ngIf=\"!isBooleanField(rowData, col); else booleanField\" [class]=\"(screenSize < 1600 && screenSize > 1200 || screenSize < 800) ? 'text-xs' : 'text-sm'\">\n {{ transformValue(rowData, col) }}\n </span>\n\n <ng-template #booleanField>\n <i [ngClass]=\"rowData[col.field] ? 'pi pi-check' : 'pi pi-times'\"></i>\n </ng-template>\n </td>\n\n <td *ngIf=\"!rowgroup && !col.grouped\">\n <span class=\"p-column-title\">{{col.header}}</span>\n <span *ngIf=\"!isBooleanField(rowData, col); else booleanField\" [class]=\"(screenSize < 1600 && screenSize > 1200 || screenSize < 760) ? 'text-xs' : 'text-sm'\">\n {{ transformValue(rowData, col) }}\n </span>\n\n <ng-template #booleanField>\n <i [ngClass]=\"rowData[col.field] ? 'pi pi-check' : 'pi pi-times'\"></i>\n </ng-template>\n </td>\n\n </ng-container>\n\n <!-- <td *ngIf=\"config.actions && config.actions.length> 0\">\n <i class=\"pi pi-ellipsis-h\" style=\"cursor: pointer\"\n (click)=\"activeItem(rowData);menu.toggle($event)\"></i>\n </td> -->\n\n <td *ngIf=\"config.actions && config.actions.length> 0\" class=\"flex flex-row\">\n <div *ngFor=\"let action of config.actions\">\n <i class=\"pi {{action.icon}}\" style=\"cursor: pointer\" class=\"mr-2 ml-2\" (click)=\"action?.command()\"></i>\n </div>\n </td>\n\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"emptymessage\" let-columns>\n <tr>\n <td [attr.colspan]=\"columns.length\" style=\"text-align: center;\">\n Nenhum registro encontrado\n </td>\n </tr>\n </ng-template>\n</p-table>\n<p-menu #menu [popup]=\"true\" [model]=\"config.actions\"></p-menu>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i6$1.AutoFocus, selector: "[pAutoFocus]", inputs: ["autofocus"] }, { kind: "directive", type: i4$5.InputText, selector: "[pInputText]" }, { kind: "component", type: i8$1.Menu, selector: "p-menu", inputs: ["model", "popup", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "component", type: i9$1.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "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", "virtualRowHeight", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["selectAllChange", "selectionChange", "contextMenuSelectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i9$1.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "component", type: i9$1.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: i9$1.TableCheckbox, selector: "p-tableCheckbox", inputs: ["disabled", "value", "index", "inputId", "name", "required", "ariaLabel"] }, { kind: "component", type: i9$1.TableHeaderCheckbox, selector: "p-tableHeaderCheckbox", inputs: ["disabled", "inputId", "name", "ariaLabel"] }] });
934
+ TableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: TableComponent, selector: "kv-table", inputs: { setConfig: ["config", "setConfig"], dataSource: "dataSource", selectedItems: "selectedItems", totalRecords: "totalRecords", lazy: "lazy", paginator: "paginator", rowsPerPageOptions: "rowsPerPageOptions", rows: "rows", tablePerRow: "tablePerRow" }, outputs: { onActiveItem: "onActiveItem", onPaginate: "onPaginate", onSelectionChange: "onSelectionChange" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, queries: [{ propertyName: "templates", predicate: TemplateDirective }], viewQueries: [{ propertyName: "table", first: true, predicate: ["table"], descendants: true }], ngImport: i0, template: "<p-table *ngIf=\"config\" #dt styleClass=\"p-datatable-striped {{selectedSize}}\" [value]=\"dataSource\"\n [(selection)]=\"selectedItems\" [columns]=\"config.columns\" [globalFilterFields]=\"globalFilterFields\" [rows]=\"rows\"\n [paginator]=\"paginator\" [rowsPerPageOptions]=\"rowsPerPageOptions\" [showCurrentPageReport]=\"true\"\n currentPageReportTemplate=\"{first} - {last} de {totalRecords}\" [rowHover]=\"true\" [totalRecords]=\"totalRecords\"\n [lazy]=\"config.lazy\" (onLazyLoad)=\"paginate($event)\" (selectionChange)=\"selectionChange($event)\"\n rowGroupMode=\"rowspan\" [groupRowsBy]=\"config.fieldGroup\" [showFirstLastIcon]=\"false\"\n [tableStyle]=\"{ 'min-width': '36rem' }\" [pageLinks]=\"1\" class=\"table\">\n\n <ng-template pTemplate=\"caption\" *ngIf=\"config.enableCation\">\n <div class=\"flex flex-column md:flex-row md:justify-content-between\n md:align-items-center\">\n <h5 class=\"m-0\">{{ config.title }}</h5>\n <span *ngIf=\"config.enableFilter\" class=\"block mt-2 md:mt-0\n p-input-icon-left\">\n <i class=\"pi pi-search\"></i>\n <input pInputText pAutoFocus [autofocus]=\"true\" type=\"text\" (input)=\"onGlobalFilter(dt, $event)\"\n placeholder=\"Pesquisar...\" class=\"w-full sm:w-auto\" />\n </span>\n </div>\n </ng-template>\n\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th style=\"width: 4rem\" *ngIf=\"config.enableSelect\">\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\n </th>\n <th *ngFor=\"let col of columns;\" [pSortableColumn]=\"col.field\" [pSortableColumnDisabled]=\"col.sortable === false\"\n [style.width]=\"col.width\" class=\"text-sm\">\n <div class=\"flex flex-row\">\n {{col.header}}\n <p-sortIcon *ngIf=\"col.sortable === true\" [field]=\"col.field\" style=\"font-size: 10px;\"></p-sortIcon>\n </div>\n\n </th>\n <th *ngIf=\"config.actions && config.actions.length> 0\"></th>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"body\" let-rowData let-columns=\"columns\" let-rowgroup=\"rowgroup\" let-rowspan=\"rowspan\">\n <tr>\n <td *ngIf=\"config.enableSelect\">\n <p-tableCheckbox [value]=\"rowData\"></p-tableCheckbox>\n </td>\n\n <ng-container *ngFor=\"let col of columns\">\n\n <td *ngIf=\"rowgroup\" [attr.rowspan]=\"rowgroup && col.grouped? rowspan: null\">\n <span class=\"p-column-title\">{{col.header}}</span>\n <span *ngIf=\"!isBooleanField(rowData, col); else booleanField\"\n [class]=\"tableSize < 800 ? 'text-xs' : 'text-sm'\">\n {{ transformValue(rowData, col) }}\n </span>\n\n <ng-template #booleanField>\n <i [ngClass]=\"rowData[col.field] ? 'pi pi-check' : 'pi pi-times'\"></i>\n </ng-template>\n </td>\n\n <td *ngIf=\"!rowgroup && !col.grouped\">\n <span class=\"p-column-title\">{{col.header}}</span>\n <span *ngIf=\"!isBooleanField(rowData, col); else booleanField\"\n [class]=\" tableSize < 800 ? 'text-xs' : 'text-sm'\">\n {{ transformValue(rowData, col) }}\n </span>\n\n <ng-template #booleanField>\n <i [ngClass]=\"rowData[col.field] ? 'pi pi-check' : 'pi pi-times'\"></i>\n </ng-template>\n </td>\n\n </ng-container>\n\n <!-- <td *ngIf=\"config.actions && config.actions.length> 0\">\n <i class=\"pi pi-ellipsis-h\" style=\"cursor: pointer\"\n (click)=\"activeItem(rowData);menu.toggle($event)\"></i>\n </td> -->\n\n <td *ngIf=\"config.actions && config.actions.length> 0\" class=\"flex flex-row\">\n <div *ngFor=\"let action of config.actions\">\n <i class=\"pi {{action.icon}}\" style=\"cursor: pointer\" class=\"mr-2 ml-2\" (click)=\"action?.command()\"></i>\n </div>\n </td>\n\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"emptymessage\" let-columns>\n <tr>\n <td [attr.colspan]=\"columns.length\" style=\"text-align: center;\">\n Nenhum registro encontrado\n </td>\n </tr>\n </ng-template>\n</p-table>\n<p-menu #menu [popup]=\"true\" [model]=\"config.actions\"></p-menu>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i6$1.AutoFocus, selector: "[pAutoFocus]", inputs: ["autofocus"] }, { kind: "directive", type: i4$5.InputText, selector: "[pInputText]" }, { kind: "component", type: i8$1.Menu, selector: "p-menu", inputs: ["model", "popup", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "component", type: i9$1.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "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", "virtualRowHeight", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["selectAllChange", "selectionChange", "contextMenuSelectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i9$1.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "component", type: i9$1.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: i9$1.TableCheckbox, selector: "p-tableCheckbox", inputs: ["disabled", "value", "index", "inputId", "name", "required", "ariaLabel"] }, { kind: "component", type: i9$1.TableHeaderCheckbox, selector: "p-tableHeaderCheckbox", inputs: ["disabled", "inputId", "name", "ariaLabel"] }] });
929
935
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TableComponent, decorators: [{
930
936
  type: Component,
931
- args: [{ selector: 'kv-table', template: "<p-table *ngIf=\"config\" #dt styleClass=\"p-datatable-striped {{selectedSize}}\" [value]=\"dataSource\"\n [(selection)]=\"selectedItems\" [columns]=\"config.columns\" [globalFilterFields]=\"globalFilterFields\" [rows]=\"rows\"\n [paginator]=\"paginator\" [rowsPerPageOptions]=\"rowsPerPageOptions\" [showCurrentPageReport]=\"true\"\n currentPageReportTemplate=\"{first} - {last} de {totalRecords}\" [rowHover]=\"true\" [totalRecords]=\"totalRecords\"\n [lazy]=\"config.lazy\" (onLazyLoad)=\"paginate($event)\" (selectionChange)=\"selectionChange($event)\"\n rowGroupMode=\"rowspan\" [groupRowsBy]=\"config.fieldGroup\" [showFirstLastIcon]=\"false\"\n [tableStyle]=\"{ 'min-width': '36rem' }\" [pageLinks]=\"1\">\n\n <ng-template pTemplate=\"caption\" *ngIf=\"config.enableCation\">\n <div class=\"flex flex-column md:flex-row md:justify-content-between\n md:align-items-center\">\n <h5 class=\"m-0\">{{ config.title }}</h5>\n <span *ngIf=\"config.enableFilter\" class=\"block mt-2 md:mt-0\n p-input-icon-left\">\n <i class=\"pi pi-search\"></i>\n <input pInputText pAutoFocus [autofocus]=\"true\" type=\"text\" (input)=\"onGlobalFilter(dt, $event)\"\n placeholder=\"Pesquisar...\" class=\"w-full sm:w-auto\" />\n </span>\n </div>\n </ng-template>\n\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th style=\"width: 4rem\" *ngIf=\"config.enableSelect\">\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\n </th>\n <th *ngFor=\"let col of columns;\" [pSortableColumn]=\"col.field\" [pSortableColumnDisabled]=\"col.sortable === false\"\n [style.width]=\"col.width\" class=\"text-sm\">\n <div class=\"flex flex-row\">\n {{col.header}}\n <p-sortIcon *ngIf=\"col.sortable === true\" [field]=\"col.field\" style=\"font-size: 10px;\"></p-sortIcon>\n </div>\n\n </th>\n <th *ngIf=\"config.actions && config.actions.length> 0\"></th>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"body\" let-rowData let-columns=\"columns\" let-rowgroup=\"rowgroup\" let-rowspan=\"rowspan\">\n <tr>\n <td *ngIf=\"config.enableSelect\">\n <p-tableCheckbox [value]=\"rowData\"></p-tableCheckbox>\n </td>\n\n <ng-container *ngFor=\"let col of columns\">\n\n <td *ngIf=\"rowgroup\" [attr.rowspan]=\"rowgroup && col.grouped? rowspan: null\">\n <span class=\"p-column-title\">{{col.header}}</span>\n <span *ngIf=\"!isBooleanField(rowData, col); else booleanField\" [class]=\"(screenSize < 1600 && screenSize > 1200 || screenSize < 800) ? 'text-xs' : 'text-sm'\">\n {{ transformValue(rowData, col) }}\n </span>\n\n <ng-template #booleanField>\n <i [ngClass]=\"rowData[col.field] ? 'pi pi-check' : 'pi pi-times'\"></i>\n </ng-template>\n </td>\n\n <td *ngIf=\"!rowgroup && !col.grouped\">\n <span class=\"p-column-title\">{{col.header}}</span>\n <span *ngIf=\"!isBooleanField(rowData, col); else booleanField\" [class]=\"(screenSize < 1600 && screenSize > 1200 || screenSize < 760) ? 'text-xs' : 'text-sm'\">\n {{ transformValue(rowData, col) }}\n </span>\n\n <ng-template #booleanField>\n <i [ngClass]=\"rowData[col.field] ? 'pi pi-check' : 'pi pi-times'\"></i>\n </ng-template>\n </td>\n\n </ng-container>\n\n <!-- <td *ngIf=\"config.actions && config.actions.length> 0\">\n <i class=\"pi pi-ellipsis-h\" style=\"cursor: pointer\"\n (click)=\"activeItem(rowData);menu.toggle($event)\"></i>\n </td> -->\n\n <td *ngIf=\"config.actions && config.actions.length> 0\" class=\"flex flex-row\">\n <div *ngFor=\"let action of config.actions\">\n <i class=\"pi {{action.icon}}\" style=\"cursor: pointer\" class=\"mr-2 ml-2\" (click)=\"action?.command()\"></i>\n </div>\n </td>\n\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"emptymessage\" let-columns>\n <tr>\n <td [attr.colspan]=\"columns.length\" style=\"text-align: center;\">\n Nenhum registro encontrado\n </td>\n </tr>\n </ng-template>\n</p-table>\n<p-menu #menu [popup]=\"true\" [model]=\"config.actions\"></p-menu>\n" }]
937
+ args: [{ selector: 'kv-table', template: "<p-table *ngIf=\"config\" #dt styleClass=\"p-datatable-striped {{selectedSize}}\" [value]=\"dataSource\"\n [(selection)]=\"selectedItems\" [columns]=\"config.columns\" [globalFilterFields]=\"globalFilterFields\" [rows]=\"rows\"\n [paginator]=\"paginator\" [rowsPerPageOptions]=\"rowsPerPageOptions\" [showCurrentPageReport]=\"true\"\n currentPageReportTemplate=\"{first} - {last} de {totalRecords}\" [rowHover]=\"true\" [totalRecords]=\"totalRecords\"\n [lazy]=\"config.lazy\" (onLazyLoad)=\"paginate($event)\" (selectionChange)=\"selectionChange($event)\"\n rowGroupMode=\"rowspan\" [groupRowsBy]=\"config.fieldGroup\" [showFirstLastIcon]=\"false\"\n [tableStyle]=\"{ 'min-width': '36rem' }\" [pageLinks]=\"1\" class=\"table\">\n\n <ng-template pTemplate=\"caption\" *ngIf=\"config.enableCation\">\n <div class=\"flex flex-column md:flex-row md:justify-content-between\n md:align-items-center\">\n <h5 class=\"m-0\">{{ config.title }}</h5>\n <span *ngIf=\"config.enableFilter\" class=\"block mt-2 md:mt-0\n p-input-icon-left\">\n <i class=\"pi pi-search\"></i>\n <input pInputText pAutoFocus [autofocus]=\"true\" type=\"text\" (input)=\"onGlobalFilter(dt, $event)\"\n placeholder=\"Pesquisar...\" class=\"w-full sm:w-auto\" />\n </span>\n </div>\n </ng-template>\n\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th style=\"width: 4rem\" *ngIf=\"config.enableSelect\">\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\n </th>\n <th *ngFor=\"let col of columns;\" [pSortableColumn]=\"col.field\" [pSortableColumnDisabled]=\"col.sortable === false\"\n [style.width]=\"col.width\" class=\"text-sm\">\n <div class=\"flex flex-row\">\n {{col.header}}\n <p-sortIcon *ngIf=\"col.sortable === true\" [field]=\"col.field\" style=\"font-size: 10px;\"></p-sortIcon>\n </div>\n\n </th>\n <th *ngIf=\"config.actions && config.actions.length> 0\"></th>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"body\" let-rowData let-columns=\"columns\" let-rowgroup=\"rowgroup\" let-rowspan=\"rowspan\">\n <tr>\n <td *ngIf=\"config.enableSelect\">\n <p-tableCheckbox [value]=\"rowData\"></p-tableCheckbox>\n </td>\n\n <ng-container *ngFor=\"let col of columns\">\n\n <td *ngIf=\"rowgroup\" [attr.rowspan]=\"rowgroup && col.grouped? rowspan: null\">\n <span class=\"p-column-title\">{{col.header}}</span>\n <span *ngIf=\"!isBooleanField(rowData, col); else booleanField\"\n [class]=\"tableSize < 800 ? 'text-xs' : 'text-sm'\">\n {{ transformValue(rowData, col) }}\n </span>\n\n <ng-template #booleanField>\n <i [ngClass]=\"rowData[col.field] ? 'pi pi-check' : 'pi pi-times'\"></i>\n </ng-template>\n </td>\n\n <td *ngIf=\"!rowgroup && !col.grouped\">\n <span class=\"p-column-title\">{{col.header}}</span>\n <span *ngIf=\"!isBooleanField(rowData, col); else booleanField\"\n [class]=\" tableSize < 800 ? 'text-xs' : 'text-sm'\">\n {{ transformValue(rowData, col) }}\n </span>\n\n <ng-template #booleanField>\n <i [ngClass]=\"rowData[col.field] ? 'pi pi-check' : 'pi pi-times'\"></i>\n </ng-template>\n </td>\n\n </ng-container>\n\n <!-- <td *ngIf=\"config.actions && config.actions.length> 0\">\n <i class=\"pi pi-ellipsis-h\" style=\"cursor: pointer\"\n (click)=\"activeItem(rowData);menu.toggle($event)\"></i>\n </td> -->\n\n <td *ngIf=\"config.actions && config.actions.length> 0\" class=\"flex flex-row\">\n <div *ngFor=\"let action of config.actions\">\n <i class=\"pi {{action.icon}}\" style=\"cursor: pointer\" class=\"mr-2 ml-2\" (click)=\"action?.command()\"></i>\n </div>\n </td>\n\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"emptymessage\" let-columns>\n <tr>\n <td [attr.colspan]=\"columns.length\" style=\"text-align: center;\">\n Nenhum registro encontrado\n </td>\n </tr>\n </ng-template>\n</p-table>\n<p-menu #menu [popup]=\"true\" [model]=\"config.actions\"></p-menu>\n" }]
932
938
  }], ctorParameters: function () { return [{ type: i1.DatePipe }, { type: i1.DecimalPipe }, { type: CodigoFipePipe }, { type: CpfCnpjPipe }, { type: TelefonePipe }]; }, propDecorators: { templates: [{
933
939
  type: ContentChildren,
934
940
  args: [TemplateDirective]