intelica-library-ui 0.1.127 → 0.1.129

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.
@@ -23,17 +23,22 @@ import * as i3 from 'primeng/radiobutton';
23
23
  import { RadioButtonModule } from 'primeng/radiobutton';
24
24
  import * as i1$2 from 'primeng/popover';
25
25
  import { Popover, PopoverModule } from 'primeng/popover';
26
- import { InputText } from 'primeng/inputtext';
27
- import { Select } from 'primeng/select';
26
+ import { InputText, InputTextModule } from 'primeng/inputtext';
27
+ import * as i5$1 from 'primeng/select';
28
+ import { Select, SelectModule } from 'primeng/select';
28
29
  import * as i3$1 from 'primeng/api';
29
30
  import { InputGroupAddonModule } from 'primeng/inputgroupaddon';
30
31
  import * as i3$2 from 'primeng/ripple';
31
32
  import { RippleModule } from 'primeng/ripple';
32
- import { Dialog } from 'primeng/dialog';
33
- import * as echarts from 'echarts';
33
+ import * as i2$3 from 'primeng/datepicker';
34
+ import { DatePickerModule } from 'primeng/datepicker';
34
35
  import * as i2$2 from 'primeng/multiselect';
35
36
  import { MultiSelectModule } from 'primeng/multiselect';
36
- import * as i2$3 from 'primeng/skeleton';
37
+ import * as i6 from 'primeng/textarea';
38
+ import { TextareaModule } from 'primeng/textarea';
39
+ import { Dialog } from 'primeng/dialog';
40
+ import * as echarts from 'echarts';
41
+ import * as i2$4 from 'primeng/skeleton';
37
42
  import { SkeletonModule } from 'primeng/skeleton';
38
43
  import * as XLSX from 'xlsx';
39
44
  import { Workbook } from 'exceljs';
@@ -253,6 +258,12 @@ const getColor = (name) => {
253
258
  return Color[name];
254
259
  };
255
260
 
261
+ const DateModeOptions = {
262
+ Day: { value: 'day', format: 'dd/mm/yy' },
263
+ Month: { value: 'month', format: 'mm/yy' },
264
+ Year: { value: 'year', format: 'yy' }
265
+ };
266
+
256
267
  class FeatureFlagService {
257
268
  _http = inject(HttpClient);
258
269
  _configService = inject(ConfigService);
@@ -1523,7 +1534,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImpor
1523
1534
  args: ["OnSearch"]
1524
1535
  }] } });
1525
1536
 
1526
- let ColumnComponent$1 = class ColumnComponent {
1537
+ class ColumnComponent {
1527
1538
  field;
1528
1539
  header;
1529
1540
  sortable = false;
@@ -1542,8 +1553,8 @@ let ColumnComponent$1 = class ColumnComponent {
1542
1553
  templateRef;
1543
1554
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: ColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1544
1555
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.1", type: ColumnComponent, isStandalone: true, selector: "column", inputs: { field: "field", header: "header", sortable: "sortable", width: "width", className: "className", headerTooltip: "headerTooltip", headerTooltipPosition: "headerTooltipPosition", tooltip: "tooltip", tooltipPosition: "tooltipPosition", showIndex: "showIndex", showHeader: "showHeader", minWidth: "minWidth", isChecboxColumn: "isChecboxColumn" }, queries: [{ propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0 });
1545
- };
1546
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: ColumnComponent$1, decorators: [{
1556
+ }
1557
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: ColumnComponent, decorators: [{
1547
1558
  type: Directive,
1548
1559
  args: [{ selector: "column" }]
1549
1560
  }], propDecorators: { field: [{
@@ -1576,7 +1587,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImpor
1576
1587
  type: ContentChild,
1577
1588
  args: [TemplateRef]
1578
1589
  }] } });
1579
- let ColumnGroupComponent$1 = class ColumnGroupComponent {
1590
+ class ColumnGroupComponent {
1580
1591
  field;
1581
1592
  header;
1582
1593
  sortable = false;
@@ -1595,8 +1606,8 @@ let ColumnGroupComponent$1 = class ColumnGroupComponent {
1595
1606
  level = 0;
1596
1607
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: ColumnGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1597
1608
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.1", type: ColumnGroupComponent, isStandalone: true, selector: "columnGroup", inputs: { field: "field", header: "header", sortable: "sortable", width: "width", minWidth: "minWidth", colspan: "colspan", rowspan: "rowspan", level: "level" }, ngImport: i0 });
1598
- };
1599
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: ColumnGroupComponent$1, decorators: [{
1609
+ }
1610
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: ColumnGroupComponent, decorators: [{
1600
1611
  type: Directive,
1601
1612
  args: [{ selector: "columnGroup" }]
1602
1613
  }], propDecorators: { field: [{
@@ -1616,7 +1627,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImpor
1616
1627
  }], level: [{
1617
1628
  type: Input
1618
1629
  }] } });
1619
- let RowResumenComponent$1 = class RowResumenComponent {
1630
+ class RowResumenComponent {
1620
1631
  field;
1621
1632
  className;
1622
1633
  // @Input() width?: string;
@@ -1633,8 +1644,8 @@ let RowResumenComponent$1 = class RowResumenComponent {
1633
1644
  templateRef;
1634
1645
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: RowResumenComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1635
1646
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.1", type: RowResumenComponent, isStandalone: true, selector: "rowResumenComponent", inputs: { field: "field", className: "className", colspan: "colspan", rowspan: "rowspan" }, queries: [{ propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0 });
1636
- };
1637
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: RowResumenComponent$1, decorators: [{
1647
+ }
1648
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: RowResumenComponent, decorators: [{
1638
1649
  type: Directive,
1639
1650
  args: [{ selector: "rowResumenComponent" }]
1640
1651
  }], propDecorators: { field: [{
@@ -1650,7 +1661,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImpor
1650
1661
  args: [TemplateRef]
1651
1662
  }] } });
1652
1663
 
1653
- let TableComponent$1 = class TableComponent {
1664
+ class TableComponent {
1654
1665
  SharedService = inject(SharedService);
1655
1666
  GlobalTermService = inject(GlobalTermService);
1656
1667
  ComponentId = "";
@@ -1858,9 +1869,9 @@ let TableComponent$1 = class TableComponent {
1858
1869
  this.ResetTable();
1859
1870
  }
1860
1871
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: TableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1861
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.1", type: TableComponent, isStandalone: true, selector: "intelica-table", inputs: { ComponentId: "ComponentId", ListData: "ListData", ShowRowPerPage: "ShowRowPerPage", ShowSearch: "ShowSearch", ListSearchOptions: "ListSearchOptions", ShowPagination: "ShowPagination", RowsPerPage: "RowsPerPage", ShowCheckbox: "ShowCheckbox", ShowIndex: "ShowIndex", ShowSearchTooltip: "ShowSearchTooltip", ListDataSelected: "ListDataSelected", SelectedIdentifier: "SelectedIdentifier", ClassName: "ClassName", DefaultSortField: "DefaultSortField", AllowedPageSizes: "AllowedPageSizes" }, outputs: { EmitSelectedItem: "EmitSelectedItem", EmitListDataFilter: "EmitListDataFilter", EmitSearchEvent: "EmitSearchEvent", EmitSortEvent: "EmitSortEvent" }, queries: [{ propertyName: "AdditionalTemplate", first: true, predicate: ["additionalTemplate"], descendants: true }, { propertyName: "AdditionalCentralTemplate", first: true, predicate: ["additionalCentralTemplate"], descendants: true }, { propertyName: "Columns", predicate: ColumnComponent$1 }, { propertyName: "ColumnGroups", predicate: ColumnGroupComponent$1 }, { propertyName: "RowResumenGroups", predicate: RowResumenComponent$1 }], viewQueries: [{ propertyName: "PaginatorTable", first: true, predicate: ["paginatorTable"], descendants: true }, { propertyName: "SearchTable", first: true, predicate: ["searchTable"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"prTable\">\r\n\t<div class=\"prTableTools\">\r\n\t\t<div class=\"prTableTools__new prTableTools__new--left\">\r\n\t\t\t@if (AdditionalTemplate) {\r\n\t\t\t<ng-container *ngTemplateOutlet=\"AdditionalTemplate\"></ng-container>\r\n\t\t\t}\r\n\t\t</div>\r\n\t\t@if (ShowSearch) {\r\n\t\t<intelica-search\r\n\t\t\t#searchTable\r\n\t\t\t[ComponentId]=\"ComponentId + 'Search'\"\r\n\t\t\t(OnSearch)=\"ExecuteSearch($event)\"\r\n\t\t\t[SearchFieldOptions]=\"ListSearchOptionsSimple\"\r\n\t\t\t[SearchOnKeyup]=\"false\"\r\n\t\t\t[SimpleSearchInput]=\"false\"\r\n\t\t\t[ShowTooltip]=\"ShowSearchTooltip\"\r\n\t\t></intelica-search>\r\n\t\t} @if (AdditionalCentralTemplate) {\r\n\t\t<div class=\"prTableTools__new prTableTools__new--right\">\r\n\t\t\t<ng-container *ngTemplateOutlet=\"AdditionalCentralTemplate\"></ng-container>\r\n\t\t</div>\r\n\t\t}\r\n\t</div>\r\n\t<p-table\r\n\t\tclass=\"prTableBasic\"\r\n\t\t[ngClass]=\"ClassName\"\r\n\t\t[value]=\"ListDataTable\"\r\n\t\tresponsiveLayout=\"scroll\"\r\n\t\t[(selection)]=\"ListDataSelectedFilter\"\r\n\t\t(onHeaderCheckboxToggle)=\"SelectAll($event)\"\r\n\t\t(onRowSelect)=\"OnRowSelect($event)\"\r\n\t\t(onRowUnselect)=\"OnRowUnselect($event)\"\r\n\t\t[sortField]=\"DefaultSortField\"\r\n\t\t[sortOrder]=\"-1\"\r\n\t>\r\n\t\t<ng-template pTemplate=\"header\">\r\n\t\t\t@for (level of Levels; track $index) {\r\n\t\t\t<tr>\r\n\t\t\t\t@for (col of ColumnGroupList; track $index) { @if (col.level === level) {\r\n\t\t\t\t<th [attr.colspan]=\"col.colspan\" [attr.rowspan]=\"col.rowspan\" [pSortableColumn]=\"col.sortable ? col.field : ''\" [style.min-width]=\"col.minWidth\" (click)=\"col.sortable && OnSort(col.field)\">\r\n\t\t\t\t\t<div>\r\n\t\t\t\t\t\t<span pTooltip=\"{{ col.header }}\">{{ col.header }}</span>\r\n\t\t\t\t\t\t<p-sortIcon *ngIf=\"col.sortable\" [field]=\"col.field\"></p-sortIcon>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</th>\r\n\t\t\t\t} } @if (ShowCheckbox && level === 0 && ColumnGroupList.length != 0) {\r\n\t\t\t\t<th class=\"text-center\" style=\"width: 4%\" [attr.rowspan]=\"MaxLevel === 1 ? 2 : MaxLevel\">\r\n\t\t\t\t\t<p-tableHeaderCheckbox class=\"prCheckbox\" [ngClass]=\"{ 'prCheckbox--indeterminate': ListDataSelectedTemp.length > 0 && ListDataSelectedTemp.length < ListDataFilter.length }\" />\r\n\t\t\t\t</th>\r\n\t\t\t\t}\r\n\t\t\t</tr>\r\n\t\t\t}\r\n\t\t\t<tr>\r\n\t\t\t\t@for (col of ColumnList; track $index) { @if(col.showHeader ){\r\n\t\t\t\t<th\r\n\t\t\t\t\t[class]=\"col.className\"\r\n\t\t\t\t\t[pSortableColumn]=\"!col.isChecboxColumn && col.sortable ? col.field : ''\"\r\n\t\t\t\t\t[style.width]=\"col.width\"\r\n\t\t\t\t\t[style.min-width]=\"col.minWidth\"\r\n\t\t\t\t\t(click)=\"!col.isChecboxColumn && col.sortable && OnSort(col.field)\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<div>\r\n\t\t\t\t\t\t<span pTooltip=\"{{ col.headerTooltip }}\" tooltipPosition=\"{{ col.headerTooltipPosition }}\">{{ col.header }}</span>\r\n\t\t\t\t\t\t@if(!col.showIndex) { @if(col.isChecboxColumn){\r\n\t\t\t\t\t\t<br />\r\n\t\t\t\t\t\t<p-checkbox [binary]=\"true\" (click)=\"$event.stopPropagation()\" (onChange)=\"OnHeaderCheckboxChange($event, col.field)\" [attr.data-check]=\"col.field\"></p-checkbox>\r\n\t\t\t\t\t\t} @else {\r\n\t\t\t\t\t\t<p-sortIcon *ngIf=\"col.sortable\" [field]=\"col.field\"></p-sortIcon>\r\n\t\t\t\t\t\t} }\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</th>\r\n\t\t\t\t} } @if(ShowCheckbox && ColumnGroupList.length == 0 ){\r\n\t\t\t\t<th class=\"text-center\" style=\"width: 4%\">\r\n\t\t\t\t\t<p-tableHeaderCheckbox class=\"prCheckbox\" [ngClass]=\"{ 'prCheckbox--indeterminate': ListDataSelectedTemp.length > 0 && ListDataSelectedTemp.length < ListDataFilter.length }\" />\r\n\t\t\t\t</th>\r\n\t\t\t\t}\r\n\t\t\t</tr>\r\n\t\t\t@if (ListDataFilter.length > 0) {\r\n\t\t\t<tr class=\"fixedRow\">\r\n\t\t\t\t@for (col of RowResumenList; track $index) {\r\n\t\t\t\t<td [ngClass]=\"col.className\" [attr.colspan]=\"col.colspan\" [attr.rowspan]=\"col.rowspan\">\r\n\t\t\t\t\t@if (col.templateRef) {\r\n\t\t\t\t\t<span>\r\n\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"col.templateRef\"></ng-container>\r\n\t\t\t\t\t</span>\r\n\t\t\t\t\t} @else {\r\n\t\t\t\t\t<ng-template #defaultContent></ng-template>\r\n\t\t\t\t\t}\r\n\t\t\t\t</td>\r\n\t\t\t\t}\r\n\t\t\t</tr>\r\n\t\t\t}\r\n\t\t</ng-template>\r\n\t\t<ng-template pTemplate=\"body\" let-rowData let-rowIndex=\"rowIndex\">\r\n\t\t\t<tr>\r\n\t\t\t\t@for (col of ColumnList; track $index) {\r\n\t\t\t\t<td [ngClass]=\"col.className\">\r\n\t\t\t\t\t@if (col.showIndex) {\r\n\t\t\t\t\t{{ rowIndex + 1 + (CurrentPage - 1) * RowsPerPage }}\r\n\t\t\t\t\t} @else { @if (col.templateRef) {\r\n\t\t\t\t\t<ng-container *ngTemplateOutlet=\"col.templateRef; context: { $implicit: rowData }\"></ng-container>\r\n\t\t\t\t\t} @else if(col.isChecboxColumn){\r\n\t\t\t\t\t<p-checkbox [binary]=\"true\" [(ngModel)]=\"rowData[col.field]\" (onChange)=\"IsInderteminate(col.field)\"></p-checkbox>\r\n\t\t\t\t\t} @else {\r\n\t\t\t\t\t<span class=\"text-breakWord\" pTooltip=\"{{ col.tooltip }}\" tooltipPosition=\"{{ col.tooltipPosition }}\">\r\n\t\t\t\t\t\t{{ rowData[col.field] }}\r\n\t\t\t\t\t</span>\r\n\t\t\t\t\t} }\r\n\t\t\t\t</td>\r\n\t\t\t\t} @if (ShowCheckbox) {\r\n\t\t\t\t<td class=\"text-center\">\r\n\t\t\t\t\t<p-tableCheckbox [value]=\"rowData\" class=\"prCheckbox\" />\r\n\t\t\t\t</td>\r\n\t\t\t\t}\r\n\t\t\t</tr>\r\n\t\t</ng-template>\r\n\t\t<ng-template #emptymessage>\r\n\t\t\t<tr>\r\n\t\t\t\t<td [attr.colspan]=\"ColumnList.length + (ShowCheckbox ? 1 : 0)\" class=\"text-center\">\r\n\t\t\t\t\t{{ \"Nodata\" | term : GlobalTermService.languageCode }}\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t</ng-template>\r\n\t</p-table>\r\n\t<div class=\"prTableToolsBottom\">\r\n\t\t@if(ShowRowPerPage){\r\n\t\t<div class=\"prTableToolsBottom__itemPerPage\">\r\n\t\t\t{{ \"ItemPerPage\" | term : GlobalTermService.languageCode }}\r\n\t\t\t<p-select [options]=\"AllowedPageSizes\" [ngModel]=\"RowsPerPage\" appendTo=\"body\" (onChange)=\"OnRowsPerPageChange($event.value)\" />\r\n\t\t\t<label for=\"pageSize\" class=\"control-label\">\r\n\t\t\t\t{{ 1 + RowsPerPage * (CurrentPage - 1) }} - {{ CurrentPage * RowsPerPage >= TotalRecords ? TotalRecords : CurrentPage * RowsPerPage }} {{ \"Of\" | term : GlobalTermService.languageCode }}\r\n\t\t\t\t{{ TotalRecords }} {{ \"Items\" | term : GlobalTermService.languageCode }}\r\n\t\t\t</label>\r\n\t\t</div>\r\n\t\t} @if (ShowPagination) {\r\n\t\t<intelica-paginator #paginatorTable [TotalItems]=\"ListDataFilter.length\" [ItemsPerPage]=\"RowsPerPage\" (PageChange)=\"OnPageChange($event)\"></intelica-paginator>\r\n\t\t}\r\n\t</div>\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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: "component", type: SearchComponent, selector: "intelica-search", inputs: ["ComponentId", "ShowTooltip", "SearchFieldOptions", "SearchOnKeyup", "SimpleSearchInput", "Placeholder"], outputs: ["OnSearch"] }, { kind: "component", type: PaginatorComponent, selector: "intelica-paginator", inputs: ["TotalItems", "CurrentPage", "ItemsPerPage"], outputs: ["PageChange"] }, { kind: "ngmodule", type: TableModule }, { kind: "component", type: i2$1.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", "size", "showGridlines", "stripedRows", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "virtualRowHeight", "selectAll"], 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: i3$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i2$1.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "component", type: i2$1.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: i2$1.TableCheckbox, selector: "p-tableCheckbox", inputs: ["disabled", "value", "index", "inputId", "name", "required", "ariaLabel"] }, { kind: "component", type: i2$1.TableHeaderCheckbox, selector: "p-tableHeaderCheckbox", inputs: ["disabled", "inputId", "name", "ariaLabel"] }, { kind: "component", type: Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "size", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "fluid", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: BadgeModule }, { kind: "ngmodule", type: TooltipModule }, { 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: "pipe", type: TermPipe, name: "term" }, { kind: "ngmodule", type: CheckboxModule }, { kind: "component", type: i5.Checkbox, selector: "p-checkbox, p-checkBox, p-check-box", inputs: ["value", "name", "disabled", "binary", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "style", "inputStyle", "styleClass", "inputClass", "indeterminate", "size", "formControl", "checkboxIcon", "readonly", "required", "autofocus", "trueValue", "falseValue", "variant"], outputs: ["onChange", "onFocus", "onBlur"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
1862
- };
1863
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: TableComponent$1, decorators: [{
1872
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.1", type: TableComponent, isStandalone: true, selector: "intelica-table", inputs: { ComponentId: "ComponentId", ListData: "ListData", ShowRowPerPage: "ShowRowPerPage", ShowSearch: "ShowSearch", ListSearchOptions: "ListSearchOptions", ShowPagination: "ShowPagination", RowsPerPage: "RowsPerPage", ShowCheckbox: "ShowCheckbox", ShowIndex: "ShowIndex", ShowSearchTooltip: "ShowSearchTooltip", ListDataSelected: "ListDataSelected", SelectedIdentifier: "SelectedIdentifier", ClassName: "ClassName", DefaultSortField: "DefaultSortField", AllowedPageSizes: "AllowedPageSizes" }, outputs: { EmitSelectedItem: "EmitSelectedItem", EmitListDataFilter: "EmitListDataFilter", EmitSearchEvent: "EmitSearchEvent", EmitSortEvent: "EmitSortEvent" }, queries: [{ propertyName: "AdditionalTemplate", first: true, predicate: ["additionalTemplate"], descendants: true }, { propertyName: "AdditionalCentralTemplate", first: true, predicate: ["additionalCentralTemplate"], descendants: true }, { propertyName: "Columns", predicate: ColumnComponent }, { propertyName: "ColumnGroups", predicate: ColumnGroupComponent }, { propertyName: "RowResumenGroups", predicate: RowResumenComponent }], viewQueries: [{ propertyName: "PaginatorTable", first: true, predicate: ["paginatorTable"], descendants: true }, { propertyName: "SearchTable", first: true, predicate: ["searchTable"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"prTable\">\r\n\t<div class=\"prTableTools\">\r\n\t\t<div class=\"prTableTools__new prTableTools__new--left\">\r\n\t\t\t@if (AdditionalTemplate) {\r\n\t\t\t<ng-container *ngTemplateOutlet=\"AdditionalTemplate\"></ng-container>\r\n\t\t\t}\r\n\t\t</div>\r\n\t\t@if (ShowSearch) {\r\n\t\t<intelica-search\r\n\t\t\t#searchTable\r\n\t\t\t[ComponentId]=\"ComponentId + 'Search'\"\r\n\t\t\t(OnSearch)=\"ExecuteSearch($event)\"\r\n\t\t\t[SearchFieldOptions]=\"ListSearchOptionsSimple\"\r\n\t\t\t[SearchOnKeyup]=\"false\"\r\n\t\t\t[SimpleSearchInput]=\"false\"\r\n\t\t\t[ShowTooltip]=\"ShowSearchTooltip\"\r\n\t\t></intelica-search>\r\n\t\t} @if (AdditionalCentralTemplate) {\r\n\t\t<div class=\"prTableTools__new prTableTools__new--right\">\r\n\t\t\t<ng-container *ngTemplateOutlet=\"AdditionalCentralTemplate\"></ng-container>\r\n\t\t</div>\r\n\t\t}\r\n\t</div>\r\n\t<p-table\r\n\t\tclass=\"prTableBasic\"\r\n\t\t[ngClass]=\"ClassName\"\r\n\t\t[value]=\"ListDataTable\"\r\n\t\tresponsiveLayout=\"scroll\"\r\n\t\t[(selection)]=\"ListDataSelectedFilter\"\r\n\t\t(onHeaderCheckboxToggle)=\"SelectAll($event)\"\r\n\t\t(onRowSelect)=\"OnRowSelect($event)\"\r\n\t\t(onRowUnselect)=\"OnRowUnselect($event)\"\r\n\t\t[sortField]=\"DefaultSortField\"\r\n\t\t[sortOrder]=\"-1\"\r\n\t>\r\n\t\t<ng-template pTemplate=\"header\">\r\n\t\t\t@for (level of Levels; track $index) {\r\n\t\t\t<tr>\r\n\t\t\t\t@for (col of ColumnGroupList; track $index) { @if (col.level === level) {\r\n\t\t\t\t<th [attr.colspan]=\"col.colspan\" [attr.rowspan]=\"col.rowspan\" [pSortableColumn]=\"col.sortable ? col.field : ''\" [style.min-width]=\"col.minWidth\" (click)=\"col.sortable && OnSort(col.field)\">\r\n\t\t\t\t\t<div>\r\n\t\t\t\t\t\t<span pTooltip=\"{{ col.header }}\">{{ col.header }}</span>\r\n\t\t\t\t\t\t<p-sortIcon *ngIf=\"col.sortable\" [field]=\"col.field\"></p-sortIcon>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</th>\r\n\t\t\t\t} } @if (ShowCheckbox && level === 0 && ColumnGroupList.length != 0) {\r\n\t\t\t\t<th class=\"text-center\" style=\"width: 4%\" [attr.rowspan]=\"MaxLevel === 1 ? 2 : MaxLevel\">\r\n\t\t\t\t\t<p-tableHeaderCheckbox class=\"prCheckbox\" [ngClass]=\"{ 'prCheckbox--indeterminate': ListDataSelectedTemp.length > 0 && ListDataSelectedTemp.length < ListDataFilter.length }\" />\r\n\t\t\t\t</th>\r\n\t\t\t\t}\r\n\t\t\t</tr>\r\n\t\t\t}\r\n\t\t\t<tr>\r\n\t\t\t\t@for (col of ColumnList; track $index) { @if(col.showHeader ){\r\n\t\t\t\t<th\r\n\t\t\t\t\t[class]=\"col.className\"\r\n\t\t\t\t\t[pSortableColumn]=\"!col.isChecboxColumn && col.sortable ? col.field : ''\"\r\n\t\t\t\t\t[style.width]=\"col.width\"\r\n\t\t\t\t\t[style.min-width]=\"col.minWidth\"\r\n\t\t\t\t\t(click)=\"!col.isChecboxColumn && col.sortable && OnSort(col.field)\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<div>\r\n\t\t\t\t\t\t<span pTooltip=\"{{ col.headerTooltip }}\" tooltipPosition=\"{{ col.headerTooltipPosition }}\">{{ col.header }}</span>\r\n\t\t\t\t\t\t@if(!col.showIndex) { @if(col.isChecboxColumn){\r\n\t\t\t\t\t\t<br />\r\n\t\t\t\t\t\t<p-checkbox [binary]=\"true\" (click)=\"$event.stopPropagation()\" (onChange)=\"OnHeaderCheckboxChange($event, col.field)\" [attr.data-check]=\"col.field\"></p-checkbox>\r\n\t\t\t\t\t\t} @else {\r\n\t\t\t\t\t\t<p-sortIcon *ngIf=\"col.sortable\" [field]=\"col.field\"></p-sortIcon>\r\n\t\t\t\t\t\t} }\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</th>\r\n\t\t\t\t} } @if(ShowCheckbox && ColumnGroupList.length == 0 ){\r\n\t\t\t\t<th class=\"text-center\" style=\"width: 4%\">\r\n\t\t\t\t\t<p-tableHeaderCheckbox class=\"prCheckbox\" [ngClass]=\"{ 'prCheckbox--indeterminate': ListDataSelectedTemp.length > 0 && ListDataSelectedTemp.length < ListDataFilter.length }\" />\r\n\t\t\t\t</th>\r\n\t\t\t\t}\r\n\t\t\t</tr>\r\n\t\t\t@if (ListDataFilter.length > 0) {\r\n\t\t\t<tr class=\"fixedRow\">\r\n\t\t\t\t@for (col of RowResumenList; track $index) {\r\n\t\t\t\t<td [ngClass]=\"col.className\" [attr.colspan]=\"col.colspan\" [attr.rowspan]=\"col.rowspan\">\r\n\t\t\t\t\t@if (col.templateRef) {\r\n\t\t\t\t\t<span>\r\n\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"col.templateRef\"></ng-container>\r\n\t\t\t\t\t</span>\r\n\t\t\t\t\t} @else {\r\n\t\t\t\t\t<ng-template #defaultContent></ng-template>\r\n\t\t\t\t\t}\r\n\t\t\t\t</td>\r\n\t\t\t\t}\r\n\t\t\t</tr>\r\n\t\t\t}\r\n\t\t</ng-template>\r\n\t\t<ng-template pTemplate=\"body\" let-rowData let-rowIndex=\"rowIndex\">\r\n\t\t\t<tr>\r\n\t\t\t\t@for (col of ColumnList; track $index) {\r\n\t\t\t\t<td [ngClass]=\"col.className\">\r\n\t\t\t\t\t@if (col.showIndex) {\r\n\t\t\t\t\t{{ rowIndex + 1 + (CurrentPage - 1) * RowsPerPage }}\r\n\t\t\t\t\t} @else { @if (col.templateRef) {\r\n\t\t\t\t\t<ng-container *ngTemplateOutlet=\"col.templateRef; context: { $implicit: rowData }\"></ng-container>\r\n\t\t\t\t\t} @else if(col.isChecboxColumn){\r\n\t\t\t\t\t<p-checkbox [binary]=\"true\" [(ngModel)]=\"rowData[col.field]\" (onChange)=\"IsInderteminate(col.field)\"></p-checkbox>\r\n\t\t\t\t\t} @else {\r\n\t\t\t\t\t<span class=\"text-breakWord\" pTooltip=\"{{ col.tooltip }}\" tooltipPosition=\"{{ col.tooltipPosition }}\">\r\n\t\t\t\t\t\t{{ rowData[col.field] }}\r\n\t\t\t\t\t</span>\r\n\t\t\t\t\t} }\r\n\t\t\t\t</td>\r\n\t\t\t\t} @if (ShowCheckbox) {\r\n\t\t\t\t<td class=\"text-center\">\r\n\t\t\t\t\t<p-tableCheckbox [value]=\"rowData\" class=\"prCheckbox\" />\r\n\t\t\t\t</td>\r\n\t\t\t\t}\r\n\t\t\t</tr>\r\n\t\t</ng-template>\r\n\t\t<ng-template #emptymessage>\r\n\t\t\t<tr>\r\n\t\t\t\t<td [attr.colspan]=\"ColumnList.length + (ShowCheckbox ? 1 : 0)\" class=\"text-center\">\r\n\t\t\t\t\t{{ \"Nodata\" | term : GlobalTermService.languageCode }}\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t</ng-template>\r\n\t</p-table>\r\n\t<div class=\"prTableToolsBottom\">\r\n\t\t@if(ShowRowPerPage){\r\n\t\t<div class=\"prTableToolsBottom__itemPerPage\">\r\n\t\t\t{{ \"ItemPerPage\" | term : GlobalTermService.languageCode }}\r\n\t\t\t<p-select [options]=\"AllowedPageSizes\" [ngModel]=\"RowsPerPage\" appendTo=\"body\" (onChange)=\"OnRowsPerPageChange($event.value)\" />\r\n\t\t\t<label for=\"pageSize\" class=\"control-label\">\r\n\t\t\t\t{{ 1 + RowsPerPage * (CurrentPage - 1) }} - {{ CurrentPage * RowsPerPage >= TotalRecords ? TotalRecords : CurrentPage * RowsPerPage }} {{ \"Of\" | term : GlobalTermService.languageCode }}\r\n\t\t\t\t{{ TotalRecords }} {{ \"Items\" | term : GlobalTermService.languageCode }}\r\n\t\t\t</label>\r\n\t\t</div>\r\n\t\t} @if (ShowPagination) {\r\n\t\t<intelica-paginator #paginatorTable [TotalItems]=\"ListDataFilter.length\" [ItemsPerPage]=\"RowsPerPage\" (PageChange)=\"OnPageChange($event)\"></intelica-paginator>\r\n\t\t}\r\n\t</div>\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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: "component", type: SearchComponent, selector: "intelica-search", inputs: ["ComponentId", "ShowTooltip", "SearchFieldOptions", "SearchOnKeyup", "SimpleSearchInput", "Placeholder"], outputs: ["OnSearch"] }, { kind: "component", type: PaginatorComponent, selector: "intelica-paginator", inputs: ["TotalItems", "CurrentPage", "ItemsPerPage"], outputs: ["PageChange"] }, { kind: "ngmodule", type: TableModule }, { kind: "component", type: i2$1.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", "size", "showGridlines", "stripedRows", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "virtualRowHeight", "selectAll"], 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: i3$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i2$1.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "component", type: i2$1.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: i2$1.TableCheckbox, selector: "p-tableCheckbox", inputs: ["disabled", "value", "index", "inputId", "name", "required", "ariaLabel"] }, { kind: "component", type: i2$1.TableHeaderCheckbox, selector: "p-tableHeaderCheckbox", inputs: ["disabled", "inputId", "name", "ariaLabel"] }, { kind: "component", type: Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "size", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "fluid", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: BadgeModule }, { kind: "ngmodule", type: TooltipModule }, { 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: "pipe", type: TermPipe, name: "term" }, { kind: "ngmodule", type: CheckboxModule }, { kind: "component", type: i5.Checkbox, selector: "p-checkbox, p-checkBox, p-check-box", inputs: ["value", "name", "disabled", "binary", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "style", "inputStyle", "styleClass", "inputClass", "indeterminate", "size", "formControl", "checkboxIcon", "readonly", "required", "autofocus", "trueValue", "falseValue", "variant"], outputs: ["onChange", "onFocus", "onBlur"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
1873
+ }
1874
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: TableComponent, decorators: [{
1864
1875
  type: Component,
1865
1876
  args: [{ selector: "intelica-table", standalone: true, imports: [CommonModule, SearchComponent, PaginatorComponent, TableModule, Select, BadgeModule, TooltipModule, TermPipe, CheckboxModule, FormsModule], template: "<div class=\"prTable\">\r\n\t<div class=\"prTableTools\">\r\n\t\t<div class=\"prTableTools__new prTableTools__new--left\">\r\n\t\t\t@if (AdditionalTemplate) {\r\n\t\t\t<ng-container *ngTemplateOutlet=\"AdditionalTemplate\"></ng-container>\r\n\t\t\t}\r\n\t\t</div>\r\n\t\t@if (ShowSearch) {\r\n\t\t<intelica-search\r\n\t\t\t#searchTable\r\n\t\t\t[ComponentId]=\"ComponentId + 'Search'\"\r\n\t\t\t(OnSearch)=\"ExecuteSearch($event)\"\r\n\t\t\t[SearchFieldOptions]=\"ListSearchOptionsSimple\"\r\n\t\t\t[SearchOnKeyup]=\"false\"\r\n\t\t\t[SimpleSearchInput]=\"false\"\r\n\t\t\t[ShowTooltip]=\"ShowSearchTooltip\"\r\n\t\t></intelica-search>\r\n\t\t} @if (AdditionalCentralTemplate) {\r\n\t\t<div class=\"prTableTools__new prTableTools__new--right\">\r\n\t\t\t<ng-container *ngTemplateOutlet=\"AdditionalCentralTemplate\"></ng-container>\r\n\t\t</div>\r\n\t\t}\r\n\t</div>\r\n\t<p-table\r\n\t\tclass=\"prTableBasic\"\r\n\t\t[ngClass]=\"ClassName\"\r\n\t\t[value]=\"ListDataTable\"\r\n\t\tresponsiveLayout=\"scroll\"\r\n\t\t[(selection)]=\"ListDataSelectedFilter\"\r\n\t\t(onHeaderCheckboxToggle)=\"SelectAll($event)\"\r\n\t\t(onRowSelect)=\"OnRowSelect($event)\"\r\n\t\t(onRowUnselect)=\"OnRowUnselect($event)\"\r\n\t\t[sortField]=\"DefaultSortField\"\r\n\t\t[sortOrder]=\"-1\"\r\n\t>\r\n\t\t<ng-template pTemplate=\"header\">\r\n\t\t\t@for (level of Levels; track $index) {\r\n\t\t\t<tr>\r\n\t\t\t\t@for (col of ColumnGroupList; track $index) { @if (col.level === level) {\r\n\t\t\t\t<th [attr.colspan]=\"col.colspan\" [attr.rowspan]=\"col.rowspan\" [pSortableColumn]=\"col.sortable ? col.field : ''\" [style.min-width]=\"col.minWidth\" (click)=\"col.sortable && OnSort(col.field)\">\r\n\t\t\t\t\t<div>\r\n\t\t\t\t\t\t<span pTooltip=\"{{ col.header }}\">{{ col.header }}</span>\r\n\t\t\t\t\t\t<p-sortIcon *ngIf=\"col.sortable\" [field]=\"col.field\"></p-sortIcon>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</th>\r\n\t\t\t\t} } @if (ShowCheckbox && level === 0 && ColumnGroupList.length != 0) {\r\n\t\t\t\t<th class=\"text-center\" style=\"width: 4%\" [attr.rowspan]=\"MaxLevel === 1 ? 2 : MaxLevel\">\r\n\t\t\t\t\t<p-tableHeaderCheckbox class=\"prCheckbox\" [ngClass]=\"{ 'prCheckbox--indeterminate': ListDataSelectedTemp.length > 0 && ListDataSelectedTemp.length < ListDataFilter.length }\" />\r\n\t\t\t\t</th>\r\n\t\t\t\t}\r\n\t\t\t</tr>\r\n\t\t\t}\r\n\t\t\t<tr>\r\n\t\t\t\t@for (col of ColumnList; track $index) { @if(col.showHeader ){\r\n\t\t\t\t<th\r\n\t\t\t\t\t[class]=\"col.className\"\r\n\t\t\t\t\t[pSortableColumn]=\"!col.isChecboxColumn && col.sortable ? col.field : ''\"\r\n\t\t\t\t\t[style.width]=\"col.width\"\r\n\t\t\t\t\t[style.min-width]=\"col.minWidth\"\r\n\t\t\t\t\t(click)=\"!col.isChecboxColumn && col.sortable && OnSort(col.field)\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<div>\r\n\t\t\t\t\t\t<span pTooltip=\"{{ col.headerTooltip }}\" tooltipPosition=\"{{ col.headerTooltipPosition }}\">{{ col.header }}</span>\r\n\t\t\t\t\t\t@if(!col.showIndex) { @if(col.isChecboxColumn){\r\n\t\t\t\t\t\t<br />\r\n\t\t\t\t\t\t<p-checkbox [binary]=\"true\" (click)=\"$event.stopPropagation()\" (onChange)=\"OnHeaderCheckboxChange($event, col.field)\" [attr.data-check]=\"col.field\"></p-checkbox>\r\n\t\t\t\t\t\t} @else {\r\n\t\t\t\t\t\t<p-sortIcon *ngIf=\"col.sortable\" [field]=\"col.field\"></p-sortIcon>\r\n\t\t\t\t\t\t} }\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</th>\r\n\t\t\t\t} } @if(ShowCheckbox && ColumnGroupList.length == 0 ){\r\n\t\t\t\t<th class=\"text-center\" style=\"width: 4%\">\r\n\t\t\t\t\t<p-tableHeaderCheckbox class=\"prCheckbox\" [ngClass]=\"{ 'prCheckbox--indeterminate': ListDataSelectedTemp.length > 0 && ListDataSelectedTemp.length < ListDataFilter.length }\" />\r\n\t\t\t\t</th>\r\n\t\t\t\t}\r\n\t\t\t</tr>\r\n\t\t\t@if (ListDataFilter.length > 0) {\r\n\t\t\t<tr class=\"fixedRow\">\r\n\t\t\t\t@for (col of RowResumenList; track $index) {\r\n\t\t\t\t<td [ngClass]=\"col.className\" [attr.colspan]=\"col.colspan\" [attr.rowspan]=\"col.rowspan\">\r\n\t\t\t\t\t@if (col.templateRef) {\r\n\t\t\t\t\t<span>\r\n\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"col.templateRef\"></ng-container>\r\n\t\t\t\t\t</span>\r\n\t\t\t\t\t} @else {\r\n\t\t\t\t\t<ng-template #defaultContent></ng-template>\r\n\t\t\t\t\t}\r\n\t\t\t\t</td>\r\n\t\t\t\t}\r\n\t\t\t</tr>\r\n\t\t\t}\r\n\t\t</ng-template>\r\n\t\t<ng-template pTemplate=\"body\" let-rowData let-rowIndex=\"rowIndex\">\r\n\t\t\t<tr>\r\n\t\t\t\t@for (col of ColumnList; track $index) {\r\n\t\t\t\t<td [ngClass]=\"col.className\">\r\n\t\t\t\t\t@if (col.showIndex) {\r\n\t\t\t\t\t{{ rowIndex + 1 + (CurrentPage - 1) * RowsPerPage }}\r\n\t\t\t\t\t} @else { @if (col.templateRef) {\r\n\t\t\t\t\t<ng-container *ngTemplateOutlet=\"col.templateRef; context: { $implicit: rowData }\"></ng-container>\r\n\t\t\t\t\t} @else if(col.isChecboxColumn){\r\n\t\t\t\t\t<p-checkbox [binary]=\"true\" [(ngModel)]=\"rowData[col.field]\" (onChange)=\"IsInderteminate(col.field)\"></p-checkbox>\r\n\t\t\t\t\t} @else {\r\n\t\t\t\t\t<span class=\"text-breakWord\" pTooltip=\"{{ col.tooltip }}\" tooltipPosition=\"{{ col.tooltipPosition }}\">\r\n\t\t\t\t\t\t{{ rowData[col.field] }}\r\n\t\t\t\t\t</span>\r\n\t\t\t\t\t} }\r\n\t\t\t\t</td>\r\n\t\t\t\t} @if (ShowCheckbox) {\r\n\t\t\t\t<td class=\"text-center\">\r\n\t\t\t\t\t<p-tableCheckbox [value]=\"rowData\" class=\"prCheckbox\" />\r\n\t\t\t\t</td>\r\n\t\t\t\t}\r\n\t\t\t</tr>\r\n\t\t</ng-template>\r\n\t\t<ng-template #emptymessage>\r\n\t\t\t<tr>\r\n\t\t\t\t<td [attr.colspan]=\"ColumnList.length + (ShowCheckbox ? 1 : 0)\" class=\"text-center\">\r\n\t\t\t\t\t{{ \"Nodata\" | term : GlobalTermService.languageCode }}\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t</ng-template>\r\n\t</p-table>\r\n\t<div class=\"prTableToolsBottom\">\r\n\t\t@if(ShowRowPerPage){\r\n\t\t<div class=\"prTableToolsBottom__itemPerPage\">\r\n\t\t\t{{ \"ItemPerPage\" | term : GlobalTermService.languageCode }}\r\n\t\t\t<p-select [options]=\"AllowedPageSizes\" [ngModel]=\"RowsPerPage\" appendTo=\"body\" (onChange)=\"OnRowsPerPageChange($event.value)\" />\r\n\t\t\t<label for=\"pageSize\" class=\"control-label\">\r\n\t\t\t\t{{ 1 + RowsPerPage * (CurrentPage - 1) }} - {{ CurrentPage * RowsPerPage >= TotalRecords ? TotalRecords : CurrentPage * RowsPerPage }} {{ \"Of\" | term : GlobalTermService.languageCode }}\r\n\t\t\t\t{{ TotalRecords }} {{ \"Items\" | term : GlobalTermService.languageCode }}\r\n\t\t\t</label>\r\n\t\t</div>\r\n\t\t} @if (ShowPagination) {\r\n\t\t<intelica-paginator #paginatorTable [TotalItems]=\"ListDataFilter.length\" [ItemsPerPage]=\"RowsPerPage\" (PageChange)=\"OnPageChange($event)\"></intelica-paginator>\r\n\t\t}\r\n\t</div>\r\n</div>\r\n" }]
1866
1877
  }], propDecorators: { ComponentId: [{
@@ -1909,13 +1920,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImpor
1909
1920
  args: ["searchTable"]
1910
1921
  }], Columns: [{
1911
1922
  type: ContentChildren,
1912
- args: [ColumnComponent$1]
1923
+ args: [ColumnComponent]
1913
1924
  }], ColumnGroups: [{
1914
1925
  type: ContentChildren,
1915
- args: [ColumnGroupComponent$1]
1926
+ args: [ColumnGroupComponent]
1916
1927
  }], RowResumenGroups: [{
1917
1928
  type: ContentChildren,
1918
- args: [RowResumenComponent$1]
1929
+ args: [RowResumenComponent]
1919
1930
  }], AdditionalTemplate: [{
1920
1931
  type: ContentChild,
1921
1932
  args: ["additionalTemplate"]
@@ -2477,124 +2488,966 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImpor
2477
2488
  args: [ActionDirective]
2478
2489
  }] } });
2479
2490
 
2480
- class ModalDialogComponent {
2491
+ var FilterTypeEnum;
2492
+ (function (FilterTypeEnum) {
2493
+ FilterTypeEnum[FilterTypeEnum["Select"] = 0] = "Select";
2494
+ FilterTypeEnum[FilterTypeEnum["Text"] = 1] = "Text";
2495
+ FilterTypeEnum[FilterTypeEnum["Checkbox"] = 2] = "Checkbox";
2496
+ FilterTypeEnum[FilterTypeEnum["Date"] = 3] = "Date";
2497
+ FilterTypeEnum[FilterTypeEnum["SelectDetail"] = 4] = "SelectDetail";
2498
+ FilterTypeEnum[FilterTypeEnum["Template"] = 5] = "Template";
2499
+ FilterTypeEnum[FilterTypeEnum["TextArea"] = 6] = "TextArea";
2500
+ FilterTypeEnum[FilterTypeEnum["TextRange"] = 7] = "TextRange";
2501
+ })(FilterTypeEnum || (FilterTypeEnum = {}));
2502
+
2503
+ const noop = () => { };
2504
+ const CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR = {
2505
+ provide: NG_VALUE_ACCESSOR,
2506
+ useExisting: forwardRef(() => FilterDirective),
2507
+ multi: true,
2508
+ };
2509
+ class FilterDirective {
2510
+ name = "";
2511
+ label = "";
2512
+ visible = true;
2513
+ enabled = true;
2514
+ parent = "";
2515
+ placeholder = "";
2516
+ title = "";
2517
+ letterIndex = false;
2518
+ defaultValue;
2519
+ showClean = true;
2520
+ showInAppliedFilter = true;
2521
+ showClass = true;
2522
+ selectClass = null;
2523
+ confirmDateFormat = false;
2524
+ showfilter = false;
2525
+ visibilityRules = [];
2526
+ change = new EventEmitter();
2527
+ innerValue = "";
2528
+ children = [];
2529
+ $changes = new Subject();
2530
+ type;
2531
+ index = -1;
2532
+ get value() {
2533
+ return this.innerValue;
2534
+ }
2535
+ // set accessor including call the onchange callback
2536
+ set value(v) {
2537
+ if (v !== this.innerValue) {
2538
+ this.innerValue = v;
2539
+ this.onChangeCallback(v);
2540
+ }
2541
+ }
2542
+ constructor(filterType) {
2543
+ this.type = filterType;
2544
+ }
2545
+ writeValue(value) {
2546
+ if (value !== this.innerValue) {
2547
+ this.innerValue = value;
2548
+ }
2549
+ }
2550
+ registerOnChange(fn) {
2551
+ this.onChangeCallback = fn;
2552
+ }
2553
+ registerOnTouched(fn) {
2554
+ this.onTouchedCallback = fn;
2555
+ }
2556
+ setDisabledState(isDisabled) { }
2557
+ onBlur() {
2558
+ this.onTouchedCallback();
2559
+ }
2560
+ onTouchedCallback = noop;
2561
+ onChangeCallback = noop;
2562
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: FilterDirective, deps: [{ token: FilterTypeEnum }], target: i0.ɵɵFactoryTarget.Directive });
2563
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.1", type: FilterDirective, isStandalone: true, selector: "filter", inputs: { name: "name", label: "label", visible: "visible", enabled: "enabled", parent: "parent", placeholder: "placeholder", title: "title", letterIndex: "letterIndex", defaultValue: "defaultValue", showClean: "showClean", showInAppliedFilter: "showInAppliedFilter", showClass: "showClass", selectClass: "selectClass", confirmDateFormat: "confirmDateFormat", showfilter: "showfilter", visibilityRules: "visibilityRules" }, outputs: { change: "change" }, providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR], ngImport: i0 });
2564
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: FilterDirective, providedIn: "root" });
2565
+ }
2566
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: FilterDirective, decorators: [{
2567
+ type: Injectable,
2568
+ args: [{
2569
+ providedIn: "root",
2570
+ }]
2571
+ }, {
2572
+ type: Directive,
2573
+ args: [{ selector: "filter", providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR] }]
2574
+ }], ctorParameters: () => [{ type: FilterTypeEnum }], propDecorators: { name: [{
2575
+ type: Input
2576
+ }], label: [{
2577
+ type: Input
2578
+ }], visible: [{
2579
+ type: Input
2580
+ }], enabled: [{
2581
+ type: Input
2582
+ }], parent: [{
2583
+ type: Input
2584
+ }], placeholder: [{
2585
+ type: Input
2586
+ }], title: [{
2587
+ type: Input
2588
+ }], letterIndex: [{
2589
+ type: Input
2590
+ }], defaultValue: [{
2591
+ type: Input
2592
+ }], showClean: [{
2593
+ type: Input
2594
+ }], showInAppliedFilter: [{
2595
+ type: Input
2596
+ }], showClass: [{
2597
+ type: Input
2598
+ }], selectClass: [{
2599
+ type: Input
2600
+ }], confirmDateFormat: [{
2601
+ type: Input
2602
+ }], showfilter: [{
2603
+ type: Input
2604
+ }], visibilityRules: [{
2605
+ type: Input
2606
+ }], change: [{
2607
+ type: Output
2608
+ }] } });
2609
+
2610
+ class SelectFilterDirective extends FilterDirective {
2611
+ constructor() {
2612
+ super(FilterTypeEnum.Select);
2613
+ }
2614
+ options = [];
2615
+ optionLabel = "text";
2616
+ optionValue = "value";
2617
+ showFilter = false;
2618
+ showAll = false;
2619
+ multiple = false;
2620
+ popupWidth = "auto";
2621
+ appendTo = "";
2622
+ panelStyleClass = "prSelect";
2623
+ allText = "All";
2624
+ maxSelectedLabels = 3;
2625
+ virtualScroll = false;
2626
+ selectedItemsLabel = "Selected";
2627
+ ngOnChanges(changes) {
2628
+ this.$changes.next(changes);
2629
+ }
2630
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SelectFilterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2631
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.1", type: SelectFilterDirective, isStandalone: true, selector: "select-filter", inputs: { options: "options", optionLabel: "optionLabel", optionValue: "optionValue", showFilter: "showFilter", showAll: "showAll", multiple: "multiple", popupWidth: "popupWidth", appendTo: "appendTo", panelStyleClass: "panelStyleClass", allText: "allText", maxSelectedLabels: "maxSelectedLabels", virtualScroll: "virtualScroll", selectedItemsLabel: "selectedItemsLabel" }, providers: [{ provide: FilterDirective, useExisting: forwardRef(() => SelectFilterDirective) }], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
2632
+ }
2633
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SelectFilterDirective, decorators: [{
2634
+ type: Directive,
2635
+ args: [{
2636
+ selector: "select-filter",
2637
+ providers: [{ provide: FilterDirective, useExisting: forwardRef(() => SelectFilterDirective) }],
2638
+ }]
2639
+ }], ctorParameters: () => [], propDecorators: { options: [{
2640
+ type: Input
2641
+ }], optionLabel: [{
2642
+ type: Input
2643
+ }], optionValue: [{
2644
+ type: Input
2645
+ }], showFilter: [{
2646
+ type: Input
2647
+ }], showAll: [{
2648
+ type: Input
2649
+ }], multiple: [{
2650
+ type: Input
2651
+ }], popupWidth: [{
2652
+ type: Input
2653
+ }], appendTo: [{
2654
+ type: Input
2655
+ }], panelStyleClass: [{
2656
+ type: Input
2657
+ }], allText: [{
2658
+ type: Input
2659
+ }], maxSelectedLabels: [{
2660
+ type: Input
2661
+ }], virtualScroll: [{
2662
+ type: Input
2663
+ }], selectedItemsLabel: [{
2664
+ type: Input
2665
+ }] } });
2666
+
2667
+ class MultiSelectComponent {
2481
2668
  /**
2482
- * Título del cuadro de diálogo.
2669
+ * @description Id
2670
+ * @default ""
2483
2671
  * @type {string}
2484
2672
  */
2485
- Title = "";
2673
+ id = "";
2486
2674
  /**
2487
- * Tamaño del cuadro de diálogo.
2675
+ * @description Opciones.
2676
+ * @example [{value: string, text: string}]
2677
+ * @type {any[]}
2678
+ */
2679
+ options = [];
2680
+ /**
2681
+ * @description Label name.
2682
+ * @default "text"
2683
+ * @type {{value: string, label: string}[]}
2684
+ */
2685
+ optionLabel = "text";
2686
+ /**
2687
+ * @description Value name.
2688
+ * @default "value"
2689
+ * @type {{value: string, label: string}[]}
2690
+ */
2691
+ optionValue = "value";
2692
+ /**
2693
+ * @description Placeholder
2694
+ * @default "Select an item"
2488
2695
  * @type {string}
2489
2696
  */
2490
- Size = "lg";
2697
+ placeholder = "Select an item";
2491
2698
  /**
2492
- * Controlar el arrastre del cuadro de diálogo.
2699
+ * @description Show filter textbox
2700
+ * @default false
2493
2701
  * @type {boolean}
2494
2702
  */
2495
- Draggable = false;
2703
+ showFilter = false;
2496
2704
  /**
2497
- * Controlar el cierre del cuadro de diálogo.
2705
+ * @description Show All Checkbox
2706
+ * @default false
2498
2707
  * @type {boolean}
2499
2708
  */
2500
- DisableMaskClose = false;
2709
+ showAll = false;
2501
2710
  /**
2502
- * Evento emitido al cerrar el cuadro de diálogo.
2503
- * @type {EventEmitter<boolean>}
2711
+ * @description All | Todo
2712
+ * @default "All"
2713
+ * @type {string}
2504
2714
  */
2505
- EmmitCloseModal = new EventEmitter();
2715
+ allText = "All";
2506
2716
  /**
2507
- * Visibilidad del cuadro de diálogo.
2508
- * @type {string}
2717
+ * @description Number of selected labels to show
2718
+ * @default 3
2719
+ * @type {number}
2509
2720
  */
2510
- Visible = false;
2511
- showDialog() {
2512
- this.Visible = true;
2513
- }
2514
- closeDialog() {
2515
- this.Visible = false;
2516
- this.EmmitCloseModal.emit(false);
2517
- }
2518
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: ModalDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2519
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.1", type: ModalDialogComponent, isStandalone: true, selector: "intelica-modal-dialog", inputs: { Title: "Title", Size: "Size", Draggable: "Draggable", DisableMaskClose: "DisableMaskClose" }, outputs: { EmmitCloseModal: "EmmitCloseModal" }, ngImport: i0, template: "<p-dialog class=\"prDialog prDialog--{{ Size }}\" [modal]=\"true\" [(visible)]=\"Visible\" [draggable]=\"Draggable\" [dismissableMask]=\"!DisableMaskClose\">\r\n\t<ng-template pTemplate=\"header\">\r\n\t\t<div class=\"custom-header\">\r\n\t\t\t<h2>\r\n\t\t\t\t<ng-content select=\"[titleHeaderMenu]\"></ng-content>\r\n\t\t\t</h2>\r\n\t\t\t<button class=\"grButton--icon-close-modal\" (click)=\"closeDialog()\">\r\n\t\t\t\t<i class=\"icon-close1\"></i>\r\n\t\t\t</button>\r\n\t\t</div>\r\n\t</ng-template>\r\n\t<div class=\"prDialog__content\">\r\n\t\t<ng-content select=\"[content]\"></ng-content>\r\n\t</div>\r\n</p-dialog>\r\n", styles: [""], dependencies: [{ kind: "component", type: Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "closeButtonProps", "maximizeButtonProps", "visible", "style", "position", "role", "content", "contentTemplate", "footerTemplate", "closeIconTemplate", "maximizeIconTemplate", "minimizeIconTemplate", "headlessTemplate"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i3$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }] });
2520
- }
2521
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: ModalDialogComponent, decorators: [{
2522
- type: Component,
2523
- args: [{ selector: "intelica-modal-dialog", imports: [Dialog, ButtonModule], template: "<p-dialog class=\"prDialog prDialog--{{ Size }}\" [modal]=\"true\" [(visible)]=\"Visible\" [draggable]=\"Draggable\" [dismissableMask]=\"!DisableMaskClose\">\r\n\t<ng-template pTemplate=\"header\">\r\n\t\t<div class=\"custom-header\">\r\n\t\t\t<h2>\r\n\t\t\t\t<ng-content select=\"[titleHeaderMenu]\"></ng-content>\r\n\t\t\t</h2>\r\n\t\t\t<button class=\"grButton--icon-close-modal\" (click)=\"closeDialog()\">\r\n\t\t\t\t<i class=\"icon-close1\"></i>\r\n\t\t\t</button>\r\n\t\t</div>\r\n\t</ng-template>\r\n\t<div class=\"prDialog__content\">\r\n\t\t<ng-content select=\"[content]\"></ng-content>\r\n\t</div>\r\n</p-dialog>\r\n" }]
2524
- }], propDecorators: { Title: [{
2525
- type: Input
2526
- }], Size: [{
2527
- type: Input
2528
- }], Draggable: [{
2529
- type: Input
2530
- }], DisableMaskClose: [{
2531
- type: Input
2532
- }], EmmitCloseModal: [{
2533
- type: Output
2534
- }] } });
2535
-
2536
- class ItemSplitDirective {
2721
+ maxSelectedLabels = 3;
2537
2722
  /**
2538
- * Nombre de la acción.
2723
+ * @description Append To
2724
+ * @default ""
2539
2725
  * @type {string}
2540
2726
  */
2541
- name = "";
2727
+ appendTo = "";
2542
2728
  /**
2543
- * Indica si los botones asociados a la acción deben ocultarse.
2544
- * @type {boolean}
2545
- * @default false
2729
+ * @description Panel Style Class
2730
+ * @default ""
2731
+ * @type {string}
2546
2732
  */
2547
- hideButtons = false;
2733
+ panelStyleClass = "prMultiselect";
2548
2734
  /**
2549
- * Indica si detener la propagación de eventos al hacer clic en la acción.
2735
+ * @description Enable virtual scroll
2736
+ * @default ""
2550
2737
  * @type {boolean}
2551
- * @default false
2552
2738
  */
2553
- stopPropagation = false;
2739
+ virtualScroll = false;
2554
2740
  /**
2555
- * Evento emitido cuando se hace clic en la acción.
2556
- * @type {EventEmitter<any>}
2741
+ * @description Enable virtual scroll
2742
+ * @default ""
2743
+ * @type {boolean}
2557
2744
  */
2558
- onClick = new EventEmitter();
2745
+ disabled = false;
2559
2746
  /**
2560
- * Referencia al contenido proporcionado por la plantilla.
2561
- * @type {any}
2747
+ * @description Label for the selected items
2748
+ * @default ""
2749
+ * @type {string}
2562
2750
  */
2563
- template;
2751
+ selectedItemsLabel = "Selected";
2564
2752
  /**
2565
- * Indica si la acción está activa o no.
2566
- * @type {boolean}
2567
- * @default false
2753
+ * @description Style por color text
2754
+ * @default ""
2755
+ * @type {string}
2568
2756
  */
2569
- active = false;
2570
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: ItemSplitDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2571
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.1", type: ItemSplitDirective, isStandalone: true, selector: "itemsplit", inputs: { name: "name", hideButtons: "hideButtons", stopPropagation: "stopPropagation" }, outputs: { onClick: "onClick" }, queries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true }], ngImport: i0 });
2572
- }
2573
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: ItemSplitDirective, decorators: [{
2574
- type: Directive,
2575
- args: [{
2576
- selector: "itemsplit",
2577
- }]
2578
- }], propDecorators: { name: [{
2579
- type: Input
2580
- }], hideButtons: [{
2581
- type: Input
2582
- }], stopPropagation: [{
2583
- type: Input
2584
- }], onClick: [{
2585
- type: Output
2586
- }], template: [{
2587
- type: ContentChild,
2588
- args: ["template"]
2589
- }] } });
2590
-
2591
- class ButtonSplitComponent {
2757
+ textColorClass = "";
2592
2758
  /**
2593
- * Directiva que representa una colección de elementos hijos del tipo `ItemSplitDirective`.
2594
- * Se utiliza para acceder a las instancias de la directiva `ItemSplitDirective` dentro de un componente.
2595
- * @type {QueryList<ItemSplitDirective>}
2759
+ * @description Change event
2760
+ * @emits {string[]}
2761
+ * @type {EventEmitter<string[]>}
2596
2762
  */
2597
- itemsSplit;
2763
+ onChangeEvent = new EventEmitter();
2764
+ checked = false;
2765
+ selectedOptions = [];
2766
+ onChangeFn = () => { };
2767
+ onTouchedFn = () => { };
2768
+ writeValue(value) {
2769
+ this.selectedOptions = value || [];
2770
+ this.checked = this.selectedOptions.length === this.options.length;
2771
+ }
2772
+ registerOnChange(fn) {
2773
+ this.onChangeFn = fn;
2774
+ }
2775
+ registerOnTouched(fn) {
2776
+ this.onTouchedFn = fn;
2777
+ }
2778
+ setDisabledState(isDisabled) {
2779
+ /* opcional: implementar si necesitas deshabilitar el componente desde ngModel */
2780
+ }
2781
+ toggleAllSelection(event) {
2782
+ this.selectedOptions = event.checked ? this.options.map(option => option[this.optionValue]) : [];
2783
+ this.emitChangeEvent();
2784
+ this.onChangeFn(this.selectedOptions);
2785
+ this.onTouchedFn();
2786
+ }
2787
+ onChangeSelect(event) {
2788
+ console.log("onChange -> ", event);
2789
+ this.checked = this.selectedOptions.length === this.options.length;
2790
+ this.emitChangeEvent();
2791
+ this.onChangeFn(this.selectedOptions);
2792
+ this.onTouchedFn();
2793
+ }
2794
+ emitChangeEvent() {
2795
+ this.onChangeEvent.emit(this.selectedOptions);
2796
+ this.onChangeFn(this.selectedOptions);
2797
+ this.onTouchedFn();
2798
+ }
2799
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: MultiSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2800
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.1", type: MultiSelectComponent, isStandalone: true, selector: "intelica-multi-select", inputs: { id: "id", options: "options", optionLabel: "optionLabel", optionValue: "optionValue", placeholder: "placeholder", showFilter: "showFilter", showAll: "showAll", allText: "allText", maxSelectedLabels: "maxSelectedLabels", appendTo: "appendTo", panelStyleClass: "panelStyleClass", virtualScroll: "virtualScroll", disabled: "disabled", selectedItemsLabel: "selectedItemsLabel", textColorClass: "textColorClass" }, outputs: { onChangeEvent: "onChange" }, providers: [
2801
+ {
2802
+ provide: NG_VALUE_ACCESSOR,
2803
+ useExisting: forwardRef(() => MultiSelectComponent),
2804
+ multi: true,
2805
+ },
2806
+ ], ngImport: i0, template: "<p-multiSelect\r\n\t[class]=\"textColorClass + ' prMultiselect'\"\r\n\t[disabled]=\"disabled\"\r\n\t[options]=\"options\"\r\n\t[(ngModel)]=\"selectedOptions\"\r\n\t[optionLabel]=\"optionLabel\"\r\n\t[optionValue]=\"optionValue\"\r\n\t[placeholder]=\"placeholder\"\r\n\t[maxSelectedLabels]=\"maxSelectedLabels\"\r\n\t[filter]=\"showFilter\"\r\n\t[showToggleAll]=\"false\"\r\n\t(onChange)=\"onChangeSelect($event)\"\r\n\t[appendTo]=\"appendTo\"\r\n\t[panelStyleClass]=\"panelStyleClass\"\r\n\t[virtualScroll]=\"virtualScroll\"\r\n\t[virtualScrollOptions]=\"{ itemSize: 25, scrollHeight: '200px' }\"\r\n\tselectedItemsLabel=\"{0} {{ selectedItemsLabel }}\"\r\n>\r\n\t@if(showAll){\r\n\t<ng-template #header>\r\n\t\t<div class=\"prMultiselect__all\">\r\n\t\t\t<label [for]=\"id + '-all'\">\r\n\t\t\t\t<p-checkbox [inputId]=\"id + '-all'\" [binary]=\"true\" [(ngModel)]=\"checked\" (onChange)=\"toggleAllSelection($event)\"></p-checkbox>\r\n\t\t\t\t{{ allText }}\r\n\t\t\t</label>\r\n\t\t</div>\r\n\t</ng-template>\r\n\t}\r\n</p-multiSelect>\r\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MultiSelectModule }, { kind: "component", type: i2$2.MultiSelect, selector: "p-multiSelect, p-multiselect, p-multi-select", inputs: ["id", "ariaLabel", "style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "fluid", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "variant", "appendTo", "dataKey", "name", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "chipIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "size", "showClear", "autofocus", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "defaultLabel", "placeholder", "options", "filterValue", "itemSize", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }, { kind: "ngmodule", type: CheckboxModule }, { kind: "component", type: i5.Checkbox, selector: "p-checkbox, p-checkBox, p-check-box", inputs: ["value", "name", "disabled", "binary", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "style", "inputStyle", "styleClass", "inputClass", "indeterminate", "size", "formControl", "checkboxIcon", "readonly", "required", "autofocus", "trueValue", "falseValue", "variant"], outputs: ["onChange", "onFocus", "onBlur"] }] });
2807
+ }
2808
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: MultiSelectComponent, decorators: [{
2809
+ type: Component,
2810
+ args: [{ selector: "intelica-multi-select", imports: [FormsModule, MultiSelectModule, CheckboxModule], providers: [
2811
+ {
2812
+ provide: NG_VALUE_ACCESSOR,
2813
+ useExisting: forwardRef(() => MultiSelectComponent),
2814
+ multi: true,
2815
+ },
2816
+ ], template: "<p-multiSelect\r\n\t[class]=\"textColorClass + ' prMultiselect'\"\r\n\t[disabled]=\"disabled\"\r\n\t[options]=\"options\"\r\n\t[(ngModel)]=\"selectedOptions\"\r\n\t[optionLabel]=\"optionLabel\"\r\n\t[optionValue]=\"optionValue\"\r\n\t[placeholder]=\"placeholder\"\r\n\t[maxSelectedLabels]=\"maxSelectedLabels\"\r\n\t[filter]=\"showFilter\"\r\n\t[showToggleAll]=\"false\"\r\n\t(onChange)=\"onChangeSelect($event)\"\r\n\t[appendTo]=\"appendTo\"\r\n\t[panelStyleClass]=\"panelStyleClass\"\r\n\t[virtualScroll]=\"virtualScroll\"\r\n\t[virtualScrollOptions]=\"{ itemSize: 25, scrollHeight: '200px' }\"\r\n\tselectedItemsLabel=\"{0} {{ selectedItemsLabel }}\"\r\n>\r\n\t@if(showAll){\r\n\t<ng-template #header>\r\n\t\t<div class=\"prMultiselect__all\">\r\n\t\t\t<label [for]=\"id + '-all'\">\r\n\t\t\t\t<p-checkbox [inputId]=\"id + '-all'\" [binary]=\"true\" [(ngModel)]=\"checked\" (onChange)=\"toggleAllSelection($event)\"></p-checkbox>\r\n\t\t\t\t{{ allText }}\r\n\t\t\t</label>\r\n\t\t</div>\r\n\t</ng-template>\r\n\t}\r\n</p-multiSelect>\r\n" }]
2817
+ }], propDecorators: { id: [{
2818
+ type: Input
2819
+ }], options: [{
2820
+ type: Input
2821
+ }], optionLabel: [{
2822
+ type: Input
2823
+ }], optionValue: [{
2824
+ type: Input
2825
+ }], placeholder: [{
2826
+ type: Input
2827
+ }], showFilter: [{
2828
+ type: Input
2829
+ }], showAll: [{
2830
+ type: Input
2831
+ }], allText: [{
2832
+ type: Input
2833
+ }], maxSelectedLabels: [{
2834
+ type: Input
2835
+ }], appendTo: [{
2836
+ type: Input
2837
+ }], panelStyleClass: [{
2838
+ type: Input
2839
+ }], virtualScroll: [{
2840
+ type: Input
2841
+ }], disabled: [{
2842
+ type: Input
2843
+ }], selectedItemsLabel: [{
2844
+ type: Input
2845
+ }], textColorClass: [{
2846
+ type: Input
2847
+ }], onChangeEvent: [{
2848
+ type: Output,
2849
+ args: ["onChange"]
2850
+ }] } });
2851
+
2852
+ class FiltersComponent {
2853
+ cd;
2854
+ GlobalTermService = inject(GlobalTermService);
2855
+ showButtons = true;
2856
+ customClass = "";
2857
+ EmitApply = new EventEmitter();
2858
+ EmitCancel = new EventEmitter();
2859
+ // Suscripciones a eventos
2860
+ subscriptions = [];
2861
+ // Objeto para almacenar términos
2862
+ terms;
2863
+ // Variable para mostrar u ocultar opciones de menú
2864
+ showMenuOptions = false;
2865
+ // Variable para manejar el estilo de altura de pantalla
2866
+ styleHeighScreen = false;
2867
+ // Lista de filtros aplicados
2868
+ _filtersApplied = [];
2869
+ // Clases CSS asociadas a diferentes tipos de controles
2870
+ radioClass = "radioStyle";
2871
+ comboClass = "comboStyle";
2872
+ ddlClass = "ddlStyle";
2873
+ ddtClass = "ddtStyle";
2874
+ dPClass = "dPStyle";
2875
+ mSClass = "mSStyle";
2876
+ // Texto descriptivo para la opción seleccionada
2877
+ selectDescription = "Selected";
2878
+ /**
2879
+ * Colección de elementos filtrados mediante la directiva FilterDirective.
2880
+ * Utilice @ContentChildren para obtener referencias a elementos dentro del contenido proyectado.
2881
+ * @type {QueryList<FilterDirective>}
2882
+ */
2883
+ filterDirectives;
2884
+ /**
2885
+ * Colección de instancias de DropDownListComponent.
2886
+ * Utilice @ViewChildren para obtener referencias a componentes hijos dentro de la vista actual.
2887
+ * @type {QueryList<DropDownListComponent>}
2888
+ */
2889
+ // @ViewChildren(DropDownListComponent) selects!: QueryList<DropDownListComponent>;
2890
+ // Cadena de letras
2891
+ letters = "abcdefghijklmnopqrstuvwxyz";
2892
+ // Arreglo de filtros
2893
+ filters = [];
2894
+ // Enumeración de tipos de filtro
2895
+ filterTypeEnum = FilterTypeEnum;
2896
+ // Índices y longitud de columnas
2897
+ indexArray = [];
2898
+ columnsLengthArray = [];
2899
+ // Idioma default para datepicker
2900
+ language = "en";
2901
+ constructor(cd) {
2902
+ this.cd = cd;
2903
+ }
2904
+ ngOnInit() { }
2905
+ ngOnChanges(changes) {
2906
+ for (const propertyName in changes) {
2907
+ if (propertyName === "columns") {
2908
+ const CHANGE = changes[propertyName];
2909
+ const CURRENT = CHANGE.currentValue;
2910
+ this.columnsLengthArray = Array.from({ length: CURRENT }, (v, i) => i);
2911
+ this.cd.detectChanges();
2912
+ }
2913
+ }
2914
+ }
2915
+ ngOnDestroy() {
2916
+ this.subscriptions.forEach(subscription => {
2917
+ subscription.unsubscribe();
2918
+ });
2919
+ }
2920
+ ngAfterViewInit() {
2921
+ this.filters = this.filterDirectives.toArray();
2922
+ // Vincula hijos con sus padres
2923
+ this.filters.forEach(filter => {
2924
+ if (filter.parent) {
2925
+ const parent = this.filters.find(f => f.name === filter.parent);
2926
+ if (parent) {
2927
+ parent.children.push(filter);
2928
+ }
2929
+ }
2930
+ });
2931
+ this.subscriptions = [];
2932
+ this.filterDirectives.forEach(filter => {
2933
+ if ((filter.value === undefined || filter.value === null || filter.value === "") && filter.defaultValue != null) {
2934
+ filter.value = filter.defaultValue;
2935
+ this.toggleChildrenVisibility(filter);
2936
+ }
2937
+ });
2938
+ this.cd.detectChanges();
2939
+ }
2940
+ onChange($event, filter) {
2941
+ const value = $event?.value !== undefined ? $event.value : $event;
2942
+ filter.value = value;
2943
+ this.toggleChildrenVisibility(filter);
2944
+ if (filter.change) {
2945
+ filter.change.emit({ current: filter, all: this.filterDirectives });
2946
+ }
2947
+ }
2948
+ onChangeCheck($event, filter) {
2949
+ filter.value = $event.checked;
2950
+ if (filter.change) {
2951
+ filter.change.emit({ current: filter, all: this.filterDirectives });
2952
+ }
2953
+ }
2954
+ onChangeMultiple($event, filter) {
2955
+ const value = $event?.value !== undefined ? $event.value : $event;
2956
+ filter.value = value;
2957
+ this.toggleChildrenVisibility(filter);
2958
+ if (filter.change) {
2959
+ filter.change.emit({ current: filter, all: this.filterDirectives });
2960
+ }
2961
+ }
2962
+ toggleChildrenVisibility(filter) {
2963
+ if (!filter.visibilityRules?.length)
2964
+ return;
2965
+ const allFilters = this.filterDirectives.toArray();
2966
+ filter.visibilityRules.forEach(rule => {
2967
+ const child = allFilters.find(f => f.name === rule.child);
2968
+ if (child) {
2969
+ const value = filter.value;
2970
+ const shouldShow = Array.isArray(value) ? value.some(v => rule.allowedValues.includes(v)) : rule.allowedValues.includes(value);
2971
+ child.visible = shouldShow;
2972
+ child.$changes.next({ visible: { currentValue: shouldShow } });
2973
+ }
2974
+ });
2975
+ }
2976
+ onKeyUp($event, filter) {
2977
+ if (filter.change)
2978
+ filter.change.emit({ current: filter, all: this.filterDirectives });
2979
+ }
2980
+ cleanValue(filter) {
2981
+ // Limpiar valor del filtro actual
2982
+ if (filter.defaultValue !== undefined && filter.defaultValue !== null) {
2983
+ filter.value = filter.defaultValue;
2984
+ }
2985
+ else {
2986
+ switch (typeof filter.value) {
2987
+ case "string":
2988
+ filter.value = "";
2989
+ break;
2990
+ case "boolean":
2991
+ filter.value = false;
2992
+ break;
2993
+ default:
2994
+ if (Array.isArray(filter.value)) {
2995
+ filter.value = [];
2996
+ }
2997
+ else {
2998
+ filter.value = null;
2999
+ }
3000
+ break;
3001
+ }
3002
+ }
3003
+ // Si es padre, limpiar hijos
3004
+ if (!filter.parent) {
3005
+ const children = this.filterDirectives.filter(f => f.parent === filter.name);
3006
+ const shouldHideChildren = !(filter.defaultValue !== undefined && filter.defaultValue !== null); // solo ocultar si el padre NO tiene defaultValue
3007
+ children.forEach(child => {
3008
+ if (child.defaultValue !== undefined && child.defaultValue !== null) {
3009
+ child.value = child.defaultValue;
3010
+ }
3011
+ else {
3012
+ switch (typeof child.value) {
3013
+ case "string":
3014
+ child.value = "";
3015
+ break;
3016
+ case "boolean":
3017
+ child.value = false;
3018
+ break;
3019
+ default:
3020
+ if (Array.isArray(child.value)) {
3021
+ child.value = [];
3022
+ }
3023
+ else {
3024
+ child.value = null;
3025
+ }
3026
+ break;
3027
+ }
3028
+ }
3029
+ if (shouldHideChildren) {
3030
+ child.visible = false;
3031
+ }
3032
+ if (child.change) {
3033
+ child.change.emit({ current: child, all: this.filterDirectives });
3034
+ }
3035
+ });
3036
+ }
3037
+ const index = this._filtersApplied.findIndex(x => x.name === filter.name);
3038
+ if (index !== -1)
3039
+ this._filtersApplied.splice(index, 1);
3040
+ if (filter.change) {
3041
+ filter.change.emit({ current: filter, all: this.filterDirectives });
3042
+ }
3043
+ this.cd.detectChanges();
3044
+ }
3045
+ /**
3046
+ * Construye y actualiza la lista de filtros aplicados con la información proporcionada por la directiva de filtro.
3047
+ * @param {FilterDirective} filter - La directiva de filtro que proporciona la información.
3048
+ * @returns {void}
3049
+ */
3050
+ builderFiltersApplied(filter) {
3051
+ if (!filter.showInAppliedFilter)
3052
+ return;
3053
+ let value = filter.value;
3054
+ let text = filter.value;
3055
+ let valueName = [];
3056
+ if (filter.type === FilterTypeEnum.Select) {
3057
+ const selectFilter = filter;
3058
+ if (selectFilter.multiple) {
3059
+ text = "";
3060
+ filter.value.forEach((f) => {
3061
+ let filterSelect = selectFilter.options.filter(x => x[selectFilter.optionValue] === f);
3062
+ if (filterSelect.length)
3063
+ valueName = [...valueName, filterSelect[0][selectFilter.optionLabel]];
3064
+ if (filterSelect.length > 0)
3065
+ text = text + filterSelect[0][selectFilter.optionLabel] + "-";
3066
+ });
3067
+ text = text.slice(0, -1);
3068
+ }
3069
+ else {
3070
+ let filterSelect = selectFilter.options.filter(x => x[selectFilter.optionValue] === filter.value);
3071
+ if (filterSelect.length > 0)
3072
+ text = filterSelect[0][selectFilter.optionLabel];
3073
+ }
3074
+ }
3075
+ let filterApplied = this._filtersApplied.filter(x => x.name === filter.name)[0];
3076
+ if (!filterApplied) {
3077
+ this._filtersApplied.push({
3078
+ name: filter.name,
3079
+ value: value,
3080
+ text: text,
3081
+ title: filter.title,
3082
+ valueName: valueName,
3083
+ });
3084
+ }
3085
+ else {
3086
+ filterApplied.text = text;
3087
+ filterApplied.value = value;
3088
+ }
3089
+ }
3090
+ /**
3091
+ * Obtiene el índice de un filtro en el contexto de todos los filtros visibles, proporcionando una numeración o letras.
3092
+ * @param {FilterDirective} filter - La directiva de filtro para la cual se obtendrá el índice.
3093
+ * @param {FilterDirective} [parentFilter] - La directiva de filtro padre, si existe, en el caso de filtros anidados.
3094
+ * @returns {string} - El índice del filtro en formato de numeración o letras.
3095
+ */
3096
+ getIndex(filter, parentFilter) {
3097
+ const filters = [...this.filterDirectives.filter(x => !x.parent && x.visible)];
3098
+ // Verifica si el filtro está en la lista principal de filtros visibles
3099
+ if (filters.indexOf(filter) > -1) {
3100
+ // Retorna el índice en formato de letras si está definido, de lo contrario, utiliza la numeración
3101
+ if (filter.letterIndex)
3102
+ return this.letters[filters.indexOf(filter)];
3103
+ return (filters.indexOf(filter) + 1).toString();
3104
+ }
3105
+ // Si hay un filtro padre proporcionado
3106
+ if (parentFilter) {
3107
+ const children = [...this.filterDirectives.filter(x => x.parent === parentFilter?.name && x.visible)];
3108
+ let index = "";
3109
+ // Concatena el índice del filtro padre en formato de letras o numeración
3110
+ if (parentFilter.letterIndex)
3111
+ index += this.letters[filters.indexOf(parentFilter)];
3112
+ else
3113
+ index += (filters.indexOf(parentFilter) + 1).toString();
3114
+ // Concatena el índice del filtro actual en formato de letras o numeración
3115
+ if (filter.letterIndex)
3116
+ index += "." + this.letters[children.indexOf(filter)];
3117
+ else
3118
+ index += "." + (children.indexOf(filter) + 1).toString();
3119
+ return index;
3120
+ }
3121
+ // Retorna 'ERROR' si no se cumple ninguna de las condiciones anteriores
3122
+ return "ERROR";
3123
+ }
3124
+ /**
3125
+ * Maneja el evento de hacer clic en el botón "Aplicar" para aplicar los filtros seleccionados.
3126
+ * Limpia la lista de filtros aplicados y construye la lista nuevamente con los valores actuales de los filtros.
3127
+ * Luego, emite el evento `EmitApply` con la lista de filtros aplicados.
3128
+ * @returns {void}
3129
+ */
3130
+ clickApply() {
3131
+ // Limpia la lista de filtros aplicados
3132
+ this._filtersApplied = [];
3133
+ // Itera sobre todas las directivas de filtro
3134
+ this.filterDirectives.forEach(filterDirective => {
3135
+ if (this.validateFilter(filterDirective)) {
3136
+ // Verifica si el tipo de filtro es de texto
3137
+ if (filterDirective.type === FilterTypeEnum.Text) {
3138
+ // Comprueba si el valor de texto no está vacío y agrega el filtro aplicado
3139
+ if (filterDirective.value !== undefined && filterDirective.value !== null && filterDirective.value.trim() !== "") {
3140
+ this.builderFiltersApplied(filterDirective);
3141
+ }
3142
+ }
3143
+ else {
3144
+ // Si el filtro requiere confirmación de formato de fecha, convierte el valor a un objeto de fecha
3145
+ if (filterDirective.confirmDateFormat) {
3146
+ filterDirective.value = new Date(filterDirective.value);
3147
+ }
3148
+ // Comprueba si el valor del filtro es válido y no está vacío, luego agrega el filtro aplicado
3149
+ if (filterDirective.value !== undefined &&
3150
+ filterDirective.value !== null &&
3151
+ (this.validStringValue(filterDirective.value, filterDirective.defaultValue) || filterDirective.value > -1 || Array.isArray(filterDirective.value)) &&
3152
+ filterDirective.value.toString().length > 0) {
3153
+ this.builderFiltersApplied(filterDirective);
3154
+ }
3155
+ }
3156
+ }
3157
+ });
3158
+ this.EmitApply.emit(this._filtersApplied);
3159
+ }
3160
+ validateFilter(filter) {
3161
+ if (filter instanceof SelectFilterDirective) {
3162
+ return filter.options && filter.value ? filter.options.length !== filter.value.length : true;
3163
+ }
3164
+ return true;
3165
+ }
3166
+ validStringValue(value, defaultValue) {
3167
+ return typeof (value == "string" || value === "Object") && value != defaultValue;
3168
+ }
3169
+ clickCancel() {
3170
+ this.filterDirectives.forEach(filter => {
3171
+ // Restaurar valor por default o limpiar
3172
+ if (filter.defaultValue !== undefined && filter.defaultValue !== null) {
3173
+ filter.value = filter.defaultValue;
3174
+ }
3175
+ else {
3176
+ switch (typeof filter.value) {
3177
+ case "string":
3178
+ filter.value = "";
3179
+ break;
3180
+ case "boolean":
3181
+ filter.value = false;
3182
+ break;
3183
+ case "object":
3184
+ if (Array.isArray(filter.value)) {
3185
+ filter.value = [];
3186
+ }
3187
+ else {
3188
+ filter.value = null;
3189
+ }
3190
+ break;
3191
+ default:
3192
+ filter.value = null;
3193
+ break;
3194
+ }
3195
+ }
3196
+ // Ocultar hijos si su padre no tiene defaultValue
3197
+ if (filter.parent) {
3198
+ const parent = this.filterDirectives.find(f => f.name === filter.parent);
3199
+ const parentHasDefault = parent?.defaultValue !== undefined && parent?.defaultValue !== null;
3200
+ if (!parentHasDefault) {
3201
+ filter.visible = false;
3202
+ }
3203
+ }
3204
+ if (filter.change) {
3205
+ filter.change.emit({ current: filter, all: this.filterDirectives });
3206
+ }
3207
+ });
3208
+ this._filtersApplied = [];
3209
+ this.EmitCancel.emit(this.filterDirectives);
3210
+ this.cd.detectChanges();
3211
+ }
3212
+ /**
3213
+ * Evalúa si el valor actual del filtro es diferente al valor predeterminado, considerando el tipo de filtro.
3214
+ * @param {FilterDirective} filter - La directiva de filtro a evaluar.
3215
+ * @returns {boolean} - `true` si el valor actual es diferente al valor predeterminado, `false` de lo contrario.
3216
+ */
3217
+ evaluatecleanvalue(filter) {
3218
+ let isContinue = filter.value != filter.defaultValue;
3219
+ // Si el tipo de filtro es de fecha y el valor predeterminado es un objeto de fecha, compara las fechas en milisegundos
3220
+ if (filter.type === FilterTypeEnum.Date && typeof filter.defaultValue === "object" && filter.defaultValue != null) {
3221
+ isContinue = filter.value.getTime() != filter.defaultValue.getTime();
3222
+ }
3223
+ // Si el tipo de filtro es SelectDetail, compara los primeros elementos de los arreglos
3224
+ if (filter.type === FilterTypeEnum.SelectDetail) {
3225
+ isContinue = filter.value[0] != filter.defaultValue[0];
3226
+ }
3227
+ return isContinue;
3228
+ }
3229
+ /**
3230
+ * Evalúa si el valor actual del filtro de texto es diferente al valor predeterminado y cumple con ciertas condiciones.
3231
+ * @param {FilterDirective} filter - La directiva de filtro de texto a evaluar.
3232
+ * @returns {boolean} - `true` si el valor actual cumple con las condiciones para ser diferente al valor predeterminado, `false` de lo contrario.
3233
+ */
3234
+ evaluatecleanvaluetext(filter) {
3235
+ let isContinue = filter.value != null && filter.value != 0 && filter.value != -1 && filter.value != filter.defaultValue && filter.showClass;
3236
+ if (filter.defaultValue) {
3237
+ isContinue = filter.value != null && filter.value != filter.defaultValue;
3238
+ }
3239
+ // Si el tipo de filtro es de fecha y el valor predeterminado es un objeto de fecha, compara las fechas en milisegundos
3240
+ if (filter.value != null && filter.type === FilterTypeEnum.Date && typeof filter.defaultValue === "object" && filter.defaultValue != null) {
3241
+ isContinue = filter.value.getTime() != filter.defaultValue.getTime();
3242
+ }
3243
+ if (filter.type === FilterTypeEnum.Select) {
3244
+ if (Array.isArray(filter.value) && Array.isArray(filter.defaultValue)) {
3245
+ isContinue = !this.arraysAreEqual(filter.value, filter.defaultValue);
3246
+ }
3247
+ else {
3248
+ isContinue = filter.value != filter.defaultValue;
3249
+ }
3250
+ }
3251
+ return isContinue;
3252
+ }
3253
+ arraysAreEqual(arr1, arr2) {
3254
+ if (arr1.length !== arr2.length)
3255
+ return false;
3256
+ return arr1.every((val, index) => val === arr2[index]);
3257
+ }
3258
+ hasValue(item) {
3259
+ const { value, type } = item;
3260
+ let has = false;
3261
+ if (type === this.filterTypeEnum.Select && Array.isArray(value)) {
3262
+ has = value.length > 0;
3263
+ }
3264
+ else if (type === this.filterTypeEnum.Text || type === this.filterTypeEnum.TextArea) {
3265
+ has = !!value && value.trim() !== "";
3266
+ }
3267
+ else if (type === this.filterTypeEnum.Date && Array.isArray(value)) {
3268
+ has = value.some(v => !!v);
3269
+ }
3270
+ else {
3271
+ has = !!value;
3272
+ }
3273
+ if (has && this.equalsDefault(item)) {
3274
+ return false;
3275
+ }
3276
+ return has;
3277
+ }
3278
+ equalsDefault(item) {
3279
+ const { value, defaultValue, type } = item;
3280
+ if (defaultValue === undefined || defaultValue === null) {
3281
+ return false;
3282
+ }
3283
+ if (type === this.filterTypeEnum.Select && Array.isArray(value) && Array.isArray(defaultValue)) {
3284
+ return value.length === defaultValue.length && value.every((v, i) => v === defaultValue[i]);
3285
+ }
3286
+ if (type === this.filterTypeEnum.Date && Array.isArray(value) && Array.isArray(defaultValue)) {
3287
+ return value.length === defaultValue.length && value.every((v, i) => v instanceof Date && defaultValue[i] instanceof Date && v.getTime() === defaultValue[i].getTime());
3288
+ }
3289
+ if (type === this.filterTypeEnum.Date && value instanceof Date && defaultValue instanceof Date) {
3290
+ return value.getTime() === defaultValue.getTime();
3291
+ }
3292
+ return value === defaultValue;
3293
+ }
3294
+ getDateView(mode) {
3295
+ switch (mode) {
3296
+ case "month":
3297
+ return "month";
3298
+ case "year":
3299
+ return "year";
3300
+ default:
3301
+ return "date";
3302
+ }
3303
+ }
3304
+ getDateFormat(mode) {
3305
+ switch (mode) {
3306
+ case "month":
3307
+ return "mm/yy";
3308
+ case "year":
3309
+ return "yy";
3310
+ default:
3311
+ return "dd/mm/yy";
3312
+ }
3313
+ }
3314
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: FiltersComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
3315
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.1", type: FiltersComponent, isStandalone: true, selector: "intelica-filters", inputs: { showButtons: "showButtons", customClass: "customClass" }, outputs: { EmitApply: "EmitApply", EmitCancel: "EmitCancel" }, queries: [{ propertyName: "filterDirectives", predicate: FilterDirective }], usesOnChanges: true, ngImport: i0, template: "<div [ngClass]=\"customClass\" class=\"contentFilter\">\r\n\t<div class=\"filter-wrapper\">\r\n\t\t@for (filter of filterDirectives; track filter) { @if (filter.visible && !filter.parent) {\r\n\t\t<div class=\"filter-item\">\r\n\t\t\t<ng-container *ngTemplateOutlet=\"template; context: { item: filter, index: getIndex(filter) }\"></ng-container>\r\n\t\t</div>\r\n\r\n\t\t@for (child of filterDirectives; track child) { @if (child.parent && child.parent === filter.name && child.visible) {\r\n\t\t<div class=\"filter-item\">\r\n\t\t\t<ng-container *ngTemplateOutlet=\"template; context: { item: child, index: getIndex(child, filter) }\"></ng-container>\r\n\t\t</div>\r\n\t\t} } } }\r\n\t</div>\r\n</div>\r\n\r\n@if (showButtons) {\r\n<div class=\"btnBox btnBox--center mt-4\">\r\n\t<button pRipple class=\"grButton grButton--primary applyAnalytics\" (click)=\"clickApply()\">\r\n\t\t<span>{{ \"Apply\" | term : GlobalTermService.languageCode }}</span>\r\n\t</button>\r\n\t<button pRipple class=\"grButton grButton--secondary cleanAnalytics\" (click)=\"clickCancel()\">\r\n\t\t<span>{{ \"Clear\" | term : GlobalTermService.languageCode }}</span>\r\n\t</button>\r\n</div>\r\n}\r\n\r\n<!-- Template general -->\r\n<ng-template #template let-item=\"item\" let-index=\"index\">\r\n\t@if (item.visible) {\r\n\t<div class=\"inputColumns\">\r\n\t\t<div [ngClass]=\"{ required: item.required }\" class=\"formRowInput\">\r\n\t\t\t@if (item.label && item.label.length > 0) {\r\n\t\t\t<div class=\"idx-lbl\">\r\n\t\t\t\t<div class=\"formRowInputLeft\">\r\n\t\t\t\t\t<div class=\"formRowInputNumber\">\r\n\t\t\t\t\t\t<span>{{ index }}</span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<label [for]=\"item.name\">\r\n\t\t\t\t\t\t<span>{{ item.label }}</span>\r\n\t\t\t\t\t</label>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t}\r\n\t\t\t<div>\r\n\t\t\t\t@if (item.type === filterTypeEnum.Select) {\r\n\t\t\t\t<ng-container *ngTemplateOutlet=\"select; context: { item: item, index: index }\"></ng-container>\r\n\t\t\t\t} @if (item.type === filterTypeEnum.Text) {\r\n\t\t\t\t<ng-container *ngTemplateOutlet=\"text; context: { item: item, index: index }\"></ng-container>\r\n\t\t\t\t} @if (item.type === filterTypeEnum.Checkbox) {\r\n\t\t\t\t<ng-container *ngTemplateOutlet=\"checkbox; context: { item: item, index: index }\"></ng-container>\r\n\t\t\t\t} @if (item.type === filterTypeEnum.Date) {\r\n\t\t\t\t<ng-container *ngTemplateOutlet=\"date; context: { item: item, index: index }\"></ng-container>\r\n\t\t\t\t} @if (item.type === filterTypeEnum.Template) {\r\n\t\t\t\t<ng-container *ngTemplateOutlet=\"template_filter; context: { item: item, index: index }\"></ng-container>\r\n\t\t\t\t} @if (item.type === filterTypeEnum.TextArea) {\r\n\t\t\t\t<ng-container *ngTemplateOutlet=\"text_area; context: { item: item, index: index }\"></ng-container>\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\r\n\t\t\t@if (item.showClean && hasValue(item)) {\r\n\t\t\t<button class=\"desactive formRowInputClear\" (click)=\"cleanValue(item)\">\r\n\t\t\t\t<i class=\"icon-times\"></i>\r\n\t\t\t</button>\r\n\t\t\t}\r\n\t\t</div>\r\n\t</div>\r\n\t}\r\n</ng-template>\r\n\r\n<!-- Tipos de filtros -->\r\n<ng-template #select let-item=\"item\" let-index=\"index\">\r\n\t@if (item.multiple) {\r\n\t<intelica-multi-select\r\n\t\t[placeholder]=\"item.placeholder\"\r\n\t\t[options]=\"item.options\"\r\n\t\t[showFilter]=\"item.showFilter\"\r\n\t\t[showAll]=\"item.showAll\"\r\n\t\t[optionLabel]=\"item.optionLabel\"\r\n\t\t[optionValue]=\"item.optionValue\"\r\n\t\t[disabled]=\"!item.enabled\"\r\n\t\t[(ngModel)]=\"item.value\"\r\n\t\t(onChange)=\"onChangeMultiple($event, item)\"\r\n\t\t[appendTo]=\"item.appendTo\"\r\n\t\t[panelStyleClass]=\"item.panelStyleClass\"\r\n\t\t[allText]=\"item.allText\"\r\n\t\t[maxSelectedLabels]=\"item.maxSelectedLabels\"\r\n\t\t[virtualScroll]=\"item.virtualScroll\"\r\n\t\t[selectedItemsLabel]=\"item.selectedItemsLabel\"\r\n\t\t[textColorClass]=\"evaluatecleanvaluetext(item) ? 'text-orange' : 'text-blue'\"\r\n\t></intelica-multi-select>\r\n\t} @else {\r\n\t<p-select\r\n\t\t[options]=\"item.options\"\r\n\t\t[(ngModel)]=\"item.value\"\r\n\t\t[optionLabel]=\"item.optionLabel\"\r\n\t\t[optionValue]=\"item.optionValue\"\r\n\t\t[placeholder]=\"item.placeholder\"\r\n\t\t[disabled]=\"!item.enabled\"\r\n\t\t(onChange)=\"onChange($event, item)\"\r\n\t\t[filter]=\"item.showfilter\"\r\n\t\t[appendTo]=\"item.appendTo\"\r\n\t\t[panelStyleClass]=\"item.panelStyleClass\"\r\n\t\t[virtualScroll]=\"item.virtualScroll\"\r\n\t\t[virtualScrollItemSize]=\"25\"\r\n\t\tclass=\"prSelect\"\r\n\t></p-select>\r\n\t}\r\n</ng-template>\r\n\r\n<ng-template #text let-item=\"item\" let-index=\"index\">\r\n\t<input class=\"p-inputtext prInputText\" type=\"text\" [disabled]=\"!item.enabled\" [(ngModel)]=\"item.value\" [placeholder]=\"item.placeholder\" (keyup)=\"onKeyUp($event, item)\" [maxlength]=\"item.maxlength\" />\r\n</ng-template>\r\n\r\n<ng-template #checkbox let-item=\"item\" let-index=\"index\">\r\n\t<p-checkbox class=\"prCheckbox\" [(ngModel)]=\"item.value\" [binary]=\"true\" [disabled]=\"!item.enabled\" (onChange)=\"onChangeCheck($event, item)\"></p-checkbox>\r\n</ng-template>\r\n\r\n<ng-template #date let-item=\"item\" let-index=\"index\">\r\n\t<p-datepicker\r\n\t\t[(ngModel)]=\"item.value\"\r\n\t\t[selectionMode]=\"item.range ? 'range' : 'single'\"\r\n\t\t[disabled]=\"!item.enabled\"\r\n\t\t[iconDisplay]=\"'input'\"\r\n\t\t[showIcon]=\"true\"\r\n\t\t(ngModelChange)=\"onChange($event, item)\"\r\n\t\t[view]=\"getDateView(item.dateMode)\"\r\n\t\t[dateFormat]=\"getDateFormat(item.dateMode)\"\r\n\t\tclass=\"prDatePicker\"\r\n\t\tappendTo=\"body\"\r\n\t></p-datepicker>\r\n</ng-template>\r\n\r\n<ng-template #template_filter let-item=\"item\" let-index=\"index\">\r\n\t<ng-container *ngTemplateOutlet=\"item.content\"></ng-container>\r\n</ng-template>\r\n\r\n<ng-template #text_area let-item=\"item\" let-index=\"index\">\r\n\t<textarea pTextarea class=\"prInputText\" [disabled]=\"!item.enabled\" [(ngModel)]=\"item.value\" [placeholder]=\"item.placeholder\" (keyup)=\"onKeyUp($event, item)\"></textarea>\r\n</ng-template>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: DatePickerModule }, { kind: "component", type: i2$3.DatePicker, selector: "p-datePicker, p-datepicker, p-date-picker", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "fluid", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "size", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: TermPipe, name: "term" }, { kind: "ngmodule", type: ButtonModule }, { kind: "ngmodule", type: InputTextModule }, { kind: "ngmodule", type: CheckboxModule }, { kind: "component", type: i5.Checkbox, selector: "p-checkbox, p-checkBox, p-check-box", inputs: ["value", "name", "disabled", "binary", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "style", "inputStyle", "styleClass", "inputClass", "indeterminate", "size", "formControl", "checkboxIcon", "readonly", "required", "autofocus", "trueValue", "falseValue", "variant"], outputs: ["onChange", "onFocus", "onBlur"] }, { kind: "ngmodule", type: SelectModule }, { kind: "component", type: i5$1.Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "size", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "fluid", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: MultiSelectModule }, { kind: "ngmodule", type: TextareaModule }, { kind: "directive", type: i6.Textarea, selector: "[pTextarea]", inputs: ["autoResize", "variant", "fluid", "pSize"], outputs: ["onResize"] }, { kind: "ngmodule", type: RippleModule }, { kind: "directive", type: i3$2.Ripple, selector: "[pRipple]" }, { kind: "component", type: MultiSelectComponent, selector: "intelica-multi-select", inputs: ["id", "options", "optionLabel", "optionValue", "placeholder", "showFilter", "showAll", "allText", "maxSelectedLabels", "appendTo", "panelStyleClass", "virtualScroll", "disabled", "selectedItemsLabel", "textColorClass"], outputs: ["onChange"] }] });
3316
+ }
3317
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: FiltersComponent, decorators: [{
3318
+ type: Component,
3319
+ args: [{ selector: "intelica-filters", imports: [CommonModule, DatePickerModule, FormsModule, TermPipe, ButtonModule, InputTextModule, CheckboxModule, SelectModule, MultiSelectModule, TextareaModule, RippleModule, MultiSelectComponent], template: "<div [ngClass]=\"customClass\" class=\"contentFilter\">\r\n\t<div class=\"filter-wrapper\">\r\n\t\t@for (filter of filterDirectives; track filter) { @if (filter.visible && !filter.parent) {\r\n\t\t<div class=\"filter-item\">\r\n\t\t\t<ng-container *ngTemplateOutlet=\"template; context: { item: filter, index: getIndex(filter) }\"></ng-container>\r\n\t\t</div>\r\n\r\n\t\t@for (child of filterDirectives; track child) { @if (child.parent && child.parent === filter.name && child.visible) {\r\n\t\t<div class=\"filter-item\">\r\n\t\t\t<ng-container *ngTemplateOutlet=\"template; context: { item: child, index: getIndex(child, filter) }\"></ng-container>\r\n\t\t</div>\r\n\t\t} } } }\r\n\t</div>\r\n</div>\r\n\r\n@if (showButtons) {\r\n<div class=\"btnBox btnBox--center mt-4\">\r\n\t<button pRipple class=\"grButton grButton--primary applyAnalytics\" (click)=\"clickApply()\">\r\n\t\t<span>{{ \"Apply\" | term : GlobalTermService.languageCode }}</span>\r\n\t</button>\r\n\t<button pRipple class=\"grButton grButton--secondary cleanAnalytics\" (click)=\"clickCancel()\">\r\n\t\t<span>{{ \"Clear\" | term : GlobalTermService.languageCode }}</span>\r\n\t</button>\r\n</div>\r\n}\r\n\r\n<!-- Template general -->\r\n<ng-template #template let-item=\"item\" let-index=\"index\">\r\n\t@if (item.visible) {\r\n\t<div class=\"inputColumns\">\r\n\t\t<div [ngClass]=\"{ required: item.required }\" class=\"formRowInput\">\r\n\t\t\t@if (item.label && item.label.length > 0) {\r\n\t\t\t<div class=\"idx-lbl\">\r\n\t\t\t\t<div class=\"formRowInputLeft\">\r\n\t\t\t\t\t<div class=\"formRowInputNumber\">\r\n\t\t\t\t\t\t<span>{{ index }}</span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<label [for]=\"item.name\">\r\n\t\t\t\t\t\t<span>{{ item.label }}</span>\r\n\t\t\t\t\t</label>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t}\r\n\t\t\t<div>\r\n\t\t\t\t@if (item.type === filterTypeEnum.Select) {\r\n\t\t\t\t<ng-container *ngTemplateOutlet=\"select; context: { item: item, index: index }\"></ng-container>\r\n\t\t\t\t} @if (item.type === filterTypeEnum.Text) {\r\n\t\t\t\t<ng-container *ngTemplateOutlet=\"text; context: { item: item, index: index }\"></ng-container>\r\n\t\t\t\t} @if (item.type === filterTypeEnum.Checkbox) {\r\n\t\t\t\t<ng-container *ngTemplateOutlet=\"checkbox; context: { item: item, index: index }\"></ng-container>\r\n\t\t\t\t} @if (item.type === filterTypeEnum.Date) {\r\n\t\t\t\t<ng-container *ngTemplateOutlet=\"date; context: { item: item, index: index }\"></ng-container>\r\n\t\t\t\t} @if (item.type === filterTypeEnum.Template) {\r\n\t\t\t\t<ng-container *ngTemplateOutlet=\"template_filter; context: { item: item, index: index }\"></ng-container>\r\n\t\t\t\t} @if (item.type === filterTypeEnum.TextArea) {\r\n\t\t\t\t<ng-container *ngTemplateOutlet=\"text_area; context: { item: item, index: index }\"></ng-container>\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\r\n\t\t\t@if (item.showClean && hasValue(item)) {\r\n\t\t\t<button class=\"desactive formRowInputClear\" (click)=\"cleanValue(item)\">\r\n\t\t\t\t<i class=\"icon-times\"></i>\r\n\t\t\t</button>\r\n\t\t\t}\r\n\t\t</div>\r\n\t</div>\r\n\t}\r\n</ng-template>\r\n\r\n<!-- Tipos de filtros -->\r\n<ng-template #select let-item=\"item\" let-index=\"index\">\r\n\t@if (item.multiple) {\r\n\t<intelica-multi-select\r\n\t\t[placeholder]=\"item.placeholder\"\r\n\t\t[options]=\"item.options\"\r\n\t\t[showFilter]=\"item.showFilter\"\r\n\t\t[showAll]=\"item.showAll\"\r\n\t\t[optionLabel]=\"item.optionLabel\"\r\n\t\t[optionValue]=\"item.optionValue\"\r\n\t\t[disabled]=\"!item.enabled\"\r\n\t\t[(ngModel)]=\"item.value\"\r\n\t\t(onChange)=\"onChangeMultiple($event, item)\"\r\n\t\t[appendTo]=\"item.appendTo\"\r\n\t\t[panelStyleClass]=\"item.panelStyleClass\"\r\n\t\t[allText]=\"item.allText\"\r\n\t\t[maxSelectedLabels]=\"item.maxSelectedLabels\"\r\n\t\t[virtualScroll]=\"item.virtualScroll\"\r\n\t\t[selectedItemsLabel]=\"item.selectedItemsLabel\"\r\n\t\t[textColorClass]=\"evaluatecleanvaluetext(item) ? 'text-orange' : 'text-blue'\"\r\n\t></intelica-multi-select>\r\n\t} @else {\r\n\t<p-select\r\n\t\t[options]=\"item.options\"\r\n\t\t[(ngModel)]=\"item.value\"\r\n\t\t[optionLabel]=\"item.optionLabel\"\r\n\t\t[optionValue]=\"item.optionValue\"\r\n\t\t[placeholder]=\"item.placeholder\"\r\n\t\t[disabled]=\"!item.enabled\"\r\n\t\t(onChange)=\"onChange($event, item)\"\r\n\t\t[filter]=\"item.showfilter\"\r\n\t\t[appendTo]=\"item.appendTo\"\r\n\t\t[panelStyleClass]=\"item.panelStyleClass\"\r\n\t\t[virtualScroll]=\"item.virtualScroll\"\r\n\t\t[virtualScrollItemSize]=\"25\"\r\n\t\tclass=\"prSelect\"\r\n\t></p-select>\r\n\t}\r\n</ng-template>\r\n\r\n<ng-template #text let-item=\"item\" let-index=\"index\">\r\n\t<input class=\"p-inputtext prInputText\" type=\"text\" [disabled]=\"!item.enabled\" [(ngModel)]=\"item.value\" [placeholder]=\"item.placeholder\" (keyup)=\"onKeyUp($event, item)\" [maxlength]=\"item.maxlength\" />\r\n</ng-template>\r\n\r\n<ng-template #checkbox let-item=\"item\" let-index=\"index\">\r\n\t<p-checkbox class=\"prCheckbox\" [(ngModel)]=\"item.value\" [binary]=\"true\" [disabled]=\"!item.enabled\" (onChange)=\"onChangeCheck($event, item)\"></p-checkbox>\r\n</ng-template>\r\n\r\n<ng-template #date let-item=\"item\" let-index=\"index\">\r\n\t<p-datepicker\r\n\t\t[(ngModel)]=\"item.value\"\r\n\t\t[selectionMode]=\"item.range ? 'range' : 'single'\"\r\n\t\t[disabled]=\"!item.enabled\"\r\n\t\t[iconDisplay]=\"'input'\"\r\n\t\t[showIcon]=\"true\"\r\n\t\t(ngModelChange)=\"onChange($event, item)\"\r\n\t\t[view]=\"getDateView(item.dateMode)\"\r\n\t\t[dateFormat]=\"getDateFormat(item.dateMode)\"\r\n\t\tclass=\"prDatePicker\"\r\n\t\tappendTo=\"body\"\r\n\t></p-datepicker>\r\n</ng-template>\r\n\r\n<ng-template #template_filter let-item=\"item\" let-index=\"index\">\r\n\t<ng-container *ngTemplateOutlet=\"item.content\"></ng-container>\r\n</ng-template>\r\n\r\n<ng-template #text_area let-item=\"item\" let-index=\"index\">\r\n\t<textarea pTextarea class=\"prInputText\" [disabled]=\"!item.enabled\" [(ngModel)]=\"item.value\" [placeholder]=\"item.placeholder\" (keyup)=\"onKeyUp($event, item)\"></textarea>\r\n</ng-template>\r\n" }]
3320
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { showButtons: [{
3321
+ type: Input
3322
+ }], customClass: [{
3323
+ type: Input
3324
+ }], EmitApply: [{
3325
+ type: Output
3326
+ }], EmitCancel: [{
3327
+ type: Output
3328
+ }], filterDirectives: [{
3329
+ type: ContentChildren,
3330
+ args: [FilterDirective]
3331
+ }] } });
3332
+
3333
+ class ModalDialogComponent {
3334
+ /**
3335
+ * Título del cuadro de diálogo.
3336
+ * @type {string}
3337
+ */
3338
+ Title = "";
3339
+ /**
3340
+ * Tamaño del cuadro de diálogo.
3341
+ * @type {string}
3342
+ */
3343
+ Size = "lg";
3344
+ /**
3345
+ * Controlar el arrastre del cuadro de diálogo.
3346
+ * @type {boolean}
3347
+ */
3348
+ Draggable = false;
3349
+ /**
3350
+ * Controlar el cierre del cuadro de diálogo.
3351
+ * @type {boolean}
3352
+ */
3353
+ DisableMaskClose = false;
3354
+ /**
3355
+ * Evento emitido al cerrar el cuadro de diálogo.
3356
+ * @type {EventEmitter<boolean>}
3357
+ */
3358
+ EmmitCloseModal = new EventEmitter();
3359
+ /**
3360
+ * Visibilidad del cuadro de diálogo.
3361
+ * @type {string}
3362
+ */
3363
+ Visible = false;
3364
+ showDialog() {
3365
+ this.Visible = true;
3366
+ }
3367
+ closeDialog() {
3368
+ this.Visible = false;
3369
+ this.EmmitCloseModal.emit(false);
3370
+ }
3371
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: ModalDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3372
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.1", type: ModalDialogComponent, isStandalone: true, selector: "intelica-modal-dialog", inputs: { Title: "Title", Size: "Size", Draggable: "Draggable", DisableMaskClose: "DisableMaskClose" }, outputs: { EmmitCloseModal: "EmmitCloseModal" }, ngImport: i0, template: "<p-dialog class=\"prDialog prDialog--{{ Size }}\" [modal]=\"true\" [(visible)]=\"Visible\" [draggable]=\"Draggable\" [dismissableMask]=\"!DisableMaskClose\">\r\n\t<ng-template pTemplate=\"header\">\r\n\t\t<div class=\"custom-header\">\r\n\t\t\t<h2>\r\n\t\t\t\t<ng-content select=\"[titleHeaderMenu]\"></ng-content>\r\n\t\t\t</h2>\r\n\t\t\t<button class=\"grButton--icon-close-modal\" (click)=\"closeDialog()\">\r\n\t\t\t\t<i class=\"icon-close1\"></i>\r\n\t\t\t</button>\r\n\t\t</div>\r\n\t</ng-template>\r\n\t<div class=\"prDialog__content\">\r\n\t\t<ng-content select=\"[content]\"></ng-content>\r\n\t</div>\r\n</p-dialog>\r\n", styles: [""], dependencies: [{ kind: "component", type: Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "closeButtonProps", "maximizeButtonProps", "visible", "style", "position", "role", "content", "contentTemplate", "footerTemplate", "closeIconTemplate", "maximizeIconTemplate", "minimizeIconTemplate", "headlessTemplate"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i3$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }] });
3373
+ }
3374
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: ModalDialogComponent, decorators: [{
3375
+ type: Component,
3376
+ args: [{ selector: "intelica-modal-dialog", imports: [Dialog, ButtonModule], template: "<p-dialog class=\"prDialog prDialog--{{ Size }}\" [modal]=\"true\" [(visible)]=\"Visible\" [draggable]=\"Draggable\" [dismissableMask]=\"!DisableMaskClose\">\r\n\t<ng-template pTemplate=\"header\">\r\n\t\t<div class=\"custom-header\">\r\n\t\t\t<h2>\r\n\t\t\t\t<ng-content select=\"[titleHeaderMenu]\"></ng-content>\r\n\t\t\t</h2>\r\n\t\t\t<button class=\"grButton--icon-close-modal\" (click)=\"closeDialog()\">\r\n\t\t\t\t<i class=\"icon-close1\"></i>\r\n\t\t\t</button>\r\n\t\t</div>\r\n\t</ng-template>\r\n\t<div class=\"prDialog__content\">\r\n\t\t<ng-content select=\"[content]\"></ng-content>\r\n\t</div>\r\n</p-dialog>\r\n" }]
3377
+ }], propDecorators: { Title: [{
3378
+ type: Input
3379
+ }], Size: [{
3380
+ type: Input
3381
+ }], Draggable: [{
3382
+ type: Input
3383
+ }], DisableMaskClose: [{
3384
+ type: Input
3385
+ }], EmmitCloseModal: [{
3386
+ type: Output
3387
+ }] } });
3388
+
3389
+ class ItemSplitDirective {
3390
+ /**
3391
+ * Nombre de la acción.
3392
+ * @type {string}
3393
+ */
3394
+ name = "";
3395
+ /**
3396
+ * Indica si los botones asociados a la acción deben ocultarse.
3397
+ * @type {boolean}
3398
+ * @default false
3399
+ */
3400
+ hideButtons = false;
3401
+ /**
3402
+ * Indica si detener la propagación de eventos al hacer clic en la acción.
3403
+ * @type {boolean}
3404
+ * @default false
3405
+ */
3406
+ stopPropagation = false;
3407
+ /**
3408
+ * Evento emitido cuando se hace clic en la acción.
3409
+ * @type {EventEmitter<any>}
3410
+ */
3411
+ onClick = new EventEmitter();
3412
+ /**
3413
+ * Referencia al contenido proporcionado por la plantilla.
3414
+ * @type {any}
3415
+ */
3416
+ template;
3417
+ /**
3418
+ * Indica si la acción está activa o no.
3419
+ * @type {boolean}
3420
+ * @default false
3421
+ */
3422
+ active = false;
3423
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: ItemSplitDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3424
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.1", type: ItemSplitDirective, isStandalone: true, selector: "itemsplit", inputs: { name: "name", hideButtons: "hideButtons", stopPropagation: "stopPropagation" }, outputs: { onClick: "onClick" }, queries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true }], ngImport: i0 });
3425
+ }
3426
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: ItemSplitDirective, decorators: [{
3427
+ type: Directive,
3428
+ args: [{
3429
+ selector: "itemsplit",
3430
+ }]
3431
+ }], propDecorators: { name: [{
3432
+ type: Input
3433
+ }], hideButtons: [{
3434
+ type: Input
3435
+ }], stopPropagation: [{
3436
+ type: Input
3437
+ }], onClick: [{
3438
+ type: Output
3439
+ }], template: [{
3440
+ type: ContentChild,
3441
+ args: ["template"]
3442
+ }] } });
3443
+
3444
+ class ButtonSplitComponent {
3445
+ /**
3446
+ * Directiva que representa una colección de elementos hijos del tipo `ItemSplitDirective`.
3447
+ * Se utiliza para acceder a las instancias de la directiva `ItemSplitDirective` dentro de un componente.
3448
+ * @type {QueryList<ItemSplitDirective>}
3449
+ */
3450
+ itemsSplit;
2598
3451
  /**
2599
3452
  * Muestra la plantilla asociada a una acción si se proporciona un manejador de eventos `onClick`.
2600
3453
  * - Emite el evento `onClick` de la acción si está definido.
@@ -3083,201 +3936,34 @@ class TemplateMenuComponent {
3083
3936
  }
3084
3937
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: TemplateMenuComponent, decorators: [{
3085
3938
  type: Component,
3086
- args: [{ selector: "intelica-template-menu", imports: [ButtonModule, InputGroupAddonModule, CommonModule, RippleModule, TermPipe], template: "<div #popoverContainer class=\"grPopoverContainer\">\r\n\t<button #menuButton class=\"grMenuTemplate\" (click)=\"togglePanel($event)\">\r\n\t\t<span class=\"grMenuTemplate__ico\"><i class=\"icon icon-filter-option\"></i></span>\r\n\t\t<span class=\"grMenuTemplate__txt\">{{ \"Filters\" | term : GlobalTermService.languageCode }}</span>\r\n\t</button>\r\n\t<div class=\"grPopover\" #popover>\r\n\t\t<div class=\"grPopoverMenu\" [ngClass]=\"{ hidden: !IsPopoverOpen }\">\r\n\t\t\t<div class=\"grPopoverHeader\">\r\n\t\t\t\t<h3>\r\n\t\t\t\t\t<span>{{ \"Filters\" | term : GlobalTermService.languageCode }}</span>\r\n\t\t\t\t</h3>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"grPopoverBody grPopoverBody--template\">\r\n\t\t\t\t<ng-content></ng-content>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n" }]
3087
- }], ctorParameters: () => [], propDecorators: { Popover: [{
3088
- type: ViewChild,
3089
- args: ["popover"]
3090
- }], MenuButton: [{
3091
- type: ViewChild,
3092
- args: ["menuButton"]
3093
- }], PopoverContainer: [{
3094
- type: ViewChild,
3095
- args: ["popoverContainer"]
3096
- }], openPanelEvent: [{
3097
- type: Output,
3098
- args: ["onOpen"]
3099
- }], closePanelEvent: [{
3100
- type: Output,
3101
- args: ["onClose"]
3102
- }], onMouseDown: [{
3103
- type: HostListener,
3104
- args: ["mousedown", ["$event"]]
3105
- }], onMouseDownOutsideBody: [{
3106
- type: HostListener,
3107
- args: ["window:mousedown", ["$event"]]
3108
- }], onMouseUp: [{
3109
- type: HostListener,
3110
- args: ["mouseup", ["$event"]]
3111
- }], closeAll: [{
3112
- type: HostListener,
3113
- args: ["document:click", ["$event"]]
3114
- }] } });
3115
-
3116
- class MultiSelectComponent {
3117
- /**
3118
- * @description Id
3119
- * @default ""
3120
- * @type {string}
3121
- */
3122
- id = "";
3123
- /**
3124
- * @description Opciones.
3125
- * @example [{value: string, text: string}]
3126
- * @type {any[]}
3127
- */
3128
- options = [];
3129
- /**
3130
- * @description Label name.
3131
- * @default "text"
3132
- * @type {{value: string, label: string}[]}
3133
- */
3134
- optionLabel = "text";
3135
- /**
3136
- * @description Value name.
3137
- * @default "value"
3138
- * @type {{value: string, label: string}[]}
3139
- */
3140
- optionValue = "value";
3141
- /**
3142
- * @description Placeholder
3143
- * @default "Select an item"
3144
- * @type {string}
3145
- */
3146
- placeholder = "Select an item";
3147
- /**
3148
- * @description Show filter textbox
3149
- * @default false
3150
- * @type {boolean}
3151
- */
3152
- showFilter = false;
3153
- /**
3154
- * @description Show All Checkbox
3155
- * @default false
3156
- * @type {boolean}
3157
- */
3158
- showAll = false;
3159
- /**
3160
- * @description All | Todo
3161
- * @default "All"
3162
- * @type {string}
3163
- */
3164
- allText = "All";
3165
- /**
3166
- * @description Number of selected labels to show
3167
- * @default 3
3168
- * @type {number}
3169
- */
3170
- maxSelectedLabels = 3;
3171
- /**
3172
- * @description Append To
3173
- * @default ""
3174
- * @type {string}
3175
- */
3176
- appendTo = "";
3177
- /**
3178
- * @description Panel Style Class
3179
- * @default ""
3180
- * @type {string}
3181
- */
3182
- panelStyleClass = "prMultiselect";
3183
- /**
3184
- * @description Enable virtual scroll
3185
- * @default ""
3186
- * @type {boolean}
3187
- */
3188
- virtualScroll = false;
3189
- /**
3190
- * @description Label for the selected items
3191
- * @default ""
3192
- * @type {string}
3193
- */
3194
- selectedItemsLabel = "Selected";
3195
- /**
3196
- * @description Change event
3197
- * @emits {string[]}
3198
- * @type {EventEmitter<string[]>}
3199
- */
3200
- onChangeEvent = new EventEmitter();
3201
- checked = false;
3202
- selectedOptions = [];
3203
- onChange = () => { };
3204
- onTouched = () => { };
3205
- toggleAllSelection(event) {
3206
- this.selectedOptions = event.checked ? this.options.map(option => option.value) : [];
3207
- this.emitChangeEvent();
3208
- this.onChange(this.selectedOptions);
3209
- this.onTouched();
3210
- }
3211
- onChangeSelect(event) {
3212
- console.log("onChange -> ", event);
3213
- this.checked = this.selectedOptions.length === this.options.length;
3214
- this.emitChangeEvent();
3215
- this.onChange(this.selectedOptions);
3216
- this.onTouched();
3217
- }
3218
- emitChangeEvent() {
3219
- this.onChangeEvent.emit(this.selectedOptions);
3220
- }
3221
- writeValue(value) {
3222
- this.selectedOptions = value || [];
3223
- this.checked = this.selectedOptions.length === this.options.length;
3224
- }
3225
- registerOnChange(fn) {
3226
- this.onChange = fn;
3227
- }
3228
- registerOnTouched(fn) {
3229
- this.onTouched = fn;
3230
- }
3231
- setDisabledState(isDisabled) {
3232
- // Aquí puedes manejar el estado disabled si es necesario
3233
- }
3234
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: MultiSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3235
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.1", type: MultiSelectComponent, isStandalone: true, selector: "intelica-multi-select", inputs: { id: "id", options: "options", optionLabel: "optionLabel", optionValue: "optionValue", placeholder: "placeholder", showFilter: "showFilter", showAll: "showAll", allText: "allText", maxSelectedLabels: "maxSelectedLabels", appendTo: "appendTo", panelStyleClass: "panelStyleClass", virtualScroll: "virtualScroll", selectedItemsLabel: "selectedItemsLabel" }, outputs: { onChangeEvent: "onChange" }, providers: [
3236
- {
3237
- provide: NG_VALUE_ACCESSOR,
3238
- useExisting: forwardRef(() => MultiSelectComponent),
3239
- multi: true,
3240
- },
3241
- ], ngImport: i0, template: "<p-multiSelect\r\n\tclass=\"prMultiselect\"\r\n\t[options]=\"options\"\r\n\t[(ngModel)]=\"selectedOptions\"\r\n\t[optionLabel]=\"optionLabel\"\r\n\t[optionValue]=\"optionValue\"\r\n\t[placeholder]=\"placeholder\"\r\n\t[maxSelectedLabels]=\"maxSelectedLabels\"\r\n\t[filter]=\"showFilter\"\r\n\t[showToggleAll]=\"false\"\r\n\t(onChange)=\"onChangeSelect($event)\"\r\n\t[appendTo]=\"appendTo\"\r\n\t[panelStyleClass]=\"panelStyleClass\"\r\n\t[virtualScroll]=\"virtualScroll\"\r\n\t[virtualScrollOptions]=\"{ itemSize: 25, scrollHeight: '200px' }\"\r\n\tselectedItemsLabel=\"{0} {{ selectedItemsLabel }}\"\r\n>\r\n\t@if(showAll){\r\n\t<ng-template #header>\r\n\t\t<div class=\"prMultiselect__all\">\r\n\t\t\t<label [for]=\"id + '-all'\">\r\n\t\t\t\t<p-checkbox [inputId]=\"id + '-all'\" [binary]=\"true\" [(ngModel)]=\"checked\" (onChange)=\"toggleAllSelection($event)\"></p-checkbox>\r\n\t\t\t\t{{ allText }}\r\n\t\t\t</label>\r\n\t\t</div>\r\n\t</ng-template>\r\n\t}\r\n</p-multiSelect>\r\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MultiSelectModule }, { kind: "component", type: i2$2.MultiSelect, selector: "p-multiSelect, p-multiselect, p-multi-select", inputs: ["id", "ariaLabel", "style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "fluid", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "variant", "appendTo", "dataKey", "name", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "chipIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "size", "showClear", "autofocus", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "defaultLabel", "placeholder", "options", "filterValue", "itemSize", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }, { kind: "ngmodule", type: CheckboxModule }, { kind: "component", type: i5.Checkbox, selector: "p-checkbox, p-checkBox, p-check-box", inputs: ["value", "name", "disabled", "binary", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "style", "inputStyle", "styleClass", "inputClass", "indeterminate", "size", "formControl", "checkboxIcon", "readonly", "required", "autofocus", "trueValue", "falseValue", "variant"], outputs: ["onChange", "onFocus", "onBlur"] }] });
3242
- }
3243
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: MultiSelectComponent, decorators: [{
3244
- type: Component,
3245
- args: [{ selector: "intelica-multi-select", imports: [FormsModule, MultiSelectModule, CheckboxModule], providers: [
3246
- {
3247
- provide: NG_VALUE_ACCESSOR,
3248
- useExisting: forwardRef(() => MultiSelectComponent),
3249
- multi: true,
3250
- },
3251
- ], template: "<p-multiSelect\r\n\tclass=\"prMultiselect\"\r\n\t[options]=\"options\"\r\n\t[(ngModel)]=\"selectedOptions\"\r\n\t[optionLabel]=\"optionLabel\"\r\n\t[optionValue]=\"optionValue\"\r\n\t[placeholder]=\"placeholder\"\r\n\t[maxSelectedLabels]=\"maxSelectedLabels\"\r\n\t[filter]=\"showFilter\"\r\n\t[showToggleAll]=\"false\"\r\n\t(onChange)=\"onChangeSelect($event)\"\r\n\t[appendTo]=\"appendTo\"\r\n\t[panelStyleClass]=\"panelStyleClass\"\r\n\t[virtualScroll]=\"virtualScroll\"\r\n\t[virtualScrollOptions]=\"{ itemSize: 25, scrollHeight: '200px' }\"\r\n\tselectedItemsLabel=\"{0} {{ selectedItemsLabel }}\"\r\n>\r\n\t@if(showAll){\r\n\t<ng-template #header>\r\n\t\t<div class=\"prMultiselect__all\">\r\n\t\t\t<label [for]=\"id + '-all'\">\r\n\t\t\t\t<p-checkbox [inputId]=\"id + '-all'\" [binary]=\"true\" [(ngModel)]=\"checked\" (onChange)=\"toggleAllSelection($event)\"></p-checkbox>\r\n\t\t\t\t{{ allText }}\r\n\t\t\t</label>\r\n\t\t</div>\r\n\t</ng-template>\r\n\t}\r\n</p-multiSelect>\r\n" }]
3252
- }], propDecorators: { id: [{
3253
- type: Input
3254
- }], options: [{
3255
- type: Input
3256
- }], optionLabel: [{
3257
- type: Input
3258
- }], optionValue: [{
3259
- type: Input
3260
- }], placeholder: [{
3261
- type: Input
3262
- }], showFilter: [{
3263
- type: Input
3264
- }], showAll: [{
3265
- type: Input
3266
- }], allText: [{
3267
- type: Input
3268
- }], maxSelectedLabels: [{
3269
- type: Input
3270
- }], appendTo: [{
3271
- type: Input
3272
- }], panelStyleClass: [{
3273
- type: Input
3274
- }], virtualScroll: [{
3275
- type: Input
3276
- }], selectedItemsLabel: [{
3277
- type: Input
3278
- }], onChangeEvent: [{
3939
+ args: [{ selector: "intelica-template-menu", imports: [ButtonModule, InputGroupAddonModule, CommonModule, RippleModule, TermPipe], template: "<div #popoverContainer class=\"grPopoverContainer\">\r\n\t<button #menuButton class=\"grMenuTemplate\" (click)=\"togglePanel($event)\">\r\n\t\t<span class=\"grMenuTemplate__ico\"><i class=\"icon icon-filter-option\"></i></span>\r\n\t\t<span class=\"grMenuTemplate__txt\">{{ \"Filters\" | term : GlobalTermService.languageCode }}</span>\r\n\t</button>\r\n\t<div class=\"grPopover\" #popover>\r\n\t\t<div class=\"grPopoverMenu\" [ngClass]=\"{ hidden: !IsPopoverOpen }\">\r\n\t\t\t<div class=\"grPopoverHeader\">\r\n\t\t\t\t<h3>\r\n\t\t\t\t\t<span>{{ \"Filters\" | term : GlobalTermService.languageCode }}</span>\r\n\t\t\t\t</h3>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"grPopoverBody grPopoverBody--template\">\r\n\t\t\t\t<ng-content></ng-content>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n" }]
3940
+ }], ctorParameters: () => [], propDecorators: { Popover: [{
3941
+ type: ViewChild,
3942
+ args: ["popover"]
3943
+ }], MenuButton: [{
3944
+ type: ViewChild,
3945
+ args: ["menuButton"]
3946
+ }], PopoverContainer: [{
3947
+ type: ViewChild,
3948
+ args: ["popoverContainer"]
3949
+ }], openPanelEvent: [{
3279
3950
  type: Output,
3280
- args: ["onChange"]
3951
+ args: ["onOpen"]
3952
+ }], closePanelEvent: [{
3953
+ type: Output,
3954
+ args: ["onClose"]
3955
+ }], onMouseDown: [{
3956
+ type: HostListener,
3957
+ args: ["mousedown", ["$event"]]
3958
+ }], onMouseDownOutsideBody: [{
3959
+ type: HostListener,
3960
+ args: ["window:mousedown", ["$event"]]
3961
+ }], onMouseUp: [{
3962
+ type: HostListener,
3963
+ args: ["mouseup", ["$event"]]
3964
+ }], closeAll: [{
3965
+ type: HostListener,
3966
+ args: ["document:click", ["$event"]]
3281
3967
  }] } });
3282
3968
 
3283
3969
  class SkeletonService {
@@ -3350,7 +4036,7 @@ class SkeletonTableComponent {
3350
4036
  return new Array(this.rows);
3351
4037
  }
3352
4038
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkeletonTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3353
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.1", type: SkeletonTableComponent, isStandalone: true, selector: "intelica-skeleton-table", inputs: { rows: "rows", columns: "columns", showLeftSkeleton: "showLeftSkeleton", showRightSkeleton: "showRightSkeleton" }, ngImport: i0, template: "<div class=\"skeletonTable\">\r\n\t<div class=\"mb-2 row\" *ngIf=\"showLeftSkeleton || showRightSkeleton\" [ngClass]=\"justifyClass\">\r\n\t\t<div class=\"col-1 px-0\" *ngIf=\"showLeftSkeleton\">\r\n\t\t\t<p-skeleton class=\"prSkeleton\" [height]=\"'3rem'\"></p-skeleton>\r\n\t\t</div>\r\n\t\t<div class=\"col-3 px-0\" *ngIf=\"showRightSkeleton\">\r\n\t\t\t<p-skeleton class=\"prSkeleton\" [height]=\"'3rem'\"></p-skeleton>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<div class=\"row\">\r\n\t\t<div class=\"col-12 px-0 mb-2\">\r\n\t\t\t<p-skeleton class=\"prSkeleton\" [height]=\"'4rem'\"></p-skeleton>\r\n\t\t</div>\r\n\t</div>\r\n\t@for (row of getRows(); track $index) {\r\n\t<div class=\"row borderBottomRow\">\r\n\t\t@for (column of columnSizes; track $index) {\r\n\t\t<div class=\"{{ column }} px-0\">\r\n\t\t\t<div class=\"bodyPaddingTable\">\r\n\t\t\t\t<p-skeleton class=\"prSkeleton\" [height]=\"'2rem'\"></p-skeleton>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t}\r\n\t</div>\r\n\t}\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: SkeletonModule }, { kind: "component", type: i2$3.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "style", "shape", "animation", "borderRadius", "size", "width", "height"] }] });
4039
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.1", type: SkeletonTableComponent, isStandalone: true, selector: "intelica-skeleton-table", inputs: { rows: "rows", columns: "columns", showLeftSkeleton: "showLeftSkeleton", showRightSkeleton: "showRightSkeleton" }, ngImport: i0, template: "<div class=\"skeletonTable\">\r\n\t<div class=\"mb-2 row\" *ngIf=\"showLeftSkeleton || showRightSkeleton\" [ngClass]=\"justifyClass\">\r\n\t\t<div class=\"col-1 px-0\" *ngIf=\"showLeftSkeleton\">\r\n\t\t\t<p-skeleton class=\"prSkeleton\" [height]=\"'3rem'\"></p-skeleton>\r\n\t\t</div>\r\n\t\t<div class=\"col-3 px-0\" *ngIf=\"showRightSkeleton\">\r\n\t\t\t<p-skeleton class=\"prSkeleton\" [height]=\"'3rem'\"></p-skeleton>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<div class=\"row\">\r\n\t\t<div class=\"col-12 px-0 mb-2\">\r\n\t\t\t<p-skeleton class=\"prSkeleton\" [height]=\"'4rem'\"></p-skeleton>\r\n\t\t</div>\r\n\t</div>\r\n\t@for (row of getRows(); track $index) {\r\n\t<div class=\"row borderBottomRow\">\r\n\t\t@for (column of columnSizes; track $index) {\r\n\t\t<div class=\"{{ column }} px-0\">\r\n\t\t\t<div class=\"bodyPaddingTable\">\r\n\t\t\t\t<p-skeleton class=\"prSkeleton\" [height]=\"'2rem'\"></p-skeleton>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t}\r\n\t</div>\r\n\t}\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: SkeletonModule }, { kind: "component", type: i2$4.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "style", "shape", "animation", "borderRadius", "size", "width", "height"] }] });
3354
4040
  }
3355
4041
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkeletonTableComponent, decorators: [{
3356
4042
  type: Component,
@@ -3443,7 +4129,7 @@ class SkeletonChartComponent {
3443
4129
  return Array.from({ length }, (_, i) => i);
3444
4130
  }
3445
4131
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkeletonChartComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3446
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.1", type: SkeletonChartComponent, isStandalone: true, selector: "intelica-skeleton-chart", inputs: { type: "type", series: "series", data: "data", label: "label" }, queries: [{ propertyName: "dataElements", predicate: DataDirective }], ngImport: i0, template: "@switch (type) { @case('bar'){\r\n<div class=\"skeletonGraphic skeletonGraphic--verticalBars\">\r\n\t<div class=\"skeletonGraphic__serie\" *ngFor=\"let i of getArray(series)\">\r\n\t\t<div class=\"skeletonGraphic__data\">\r\n\t\t\t<!-- Si hay etiquetas <data> proyectadas, las usamos con las alturas fijas -->\r\n\t\t\t<ng-container *ngIf=\"dataElements.length > 0\">\r\n\t\t\t\t<ng-container *ngFor=\"let data of dataElements.toArray()\">\r\n\t\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'100%'\" [height]=\"data.size\"></p-skeleton>\r\n\t\t\t\t</ng-container>\r\n\t\t\t</ng-container>\r\n\r\n\t\t\t<!-- Si no hay etiquetas <data>, usamos los valores aleatorios -->\r\n\t\t\t<ng-container *ngIf=\"dataElements.length === 0\">\r\n\t\t\t\t<ng-container *ngFor=\"let j of getArray(data)\">\r\n\t\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'100%'\" [height]=\"randomPercent[i][j]\"></p-skeleton>\r\n\t\t\t\t</ng-container>\r\n\t\t\t</ng-container>\r\n\t\t</div>\r\n\t\t<div class=\"skeletonGraphic__label\" *ngIf=\"label\">\r\n\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'50%'\" [height]=\"'1rem'\"></p-skeleton>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n} @case ('horizontal-bar'){\r\n<div class=\"skeletonGraphic skeletonGraphic--horizontalBars\">\r\n\t<div class=\"skeletonGraphic__serie\" *ngFor=\"let i of getArray(series)\">\r\n\t\t<div class=\"skeletonGraphic__data\">\r\n\t\t\t<!-- Si hay etiquetas <data> proyectadas, las usamos con las alturas fijas -->\r\n\t\t\t<ng-container *ngIf=\"dataElements.length > 0\">\r\n\t\t\t\t<ng-container *ngFor=\"let data of dataElements.toArray()\">\r\n\t\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"data.size\" [height]=\"'100%'\"></p-skeleton>\r\n\t\t\t\t</ng-container>\r\n\t\t\t</ng-container>\r\n\r\n\t\t\t<!-- Si no hay etiquetas <data>, usamos los valores aleatorios -->\r\n\t\t\t<ng-container *ngIf=\"dataElements.length === 0\">\r\n\t\t\t\t<ng-container *ngFor=\"let j of getArray(data)\">\r\n\t\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"randomPercent[i][j]\" [height]=\"'100%'\"></p-skeleton>\r\n\t\t\t\t</ng-container>\r\n\t\t\t</ng-container>\r\n\t\t</div>\r\n\t\t<div class=\"skeletonGraphic__label\" *ngIf=\"label\">\r\n\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'10rem'\" [height]=\"'1rem'\"></p-skeleton>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n} @case ('pie'){\r\n<div class=\"skeletonGraphic skeletonGraphic--pie\">\r\n\t<ng-container *ngTemplateOutlet=\"pieDonutTemplate\"></ng-container>\r\n</div>\r\n} @case ('donut'){\r\n<div class=\"skeletonGraphic skeletonGraphic--pie skeletonGraphic--donut\">\r\n\t<ng-container *ngTemplateOutlet=\"pieDonutTemplate\"></ng-container>\r\n</div>\r\n} @case ('line'){\r\n<div class=\"col-6 mb-3\">\r\n\t<div class=\"row align-items-end\">\r\n\t\t<div class=\"col-1 d-flex justify-content-end\">\r\n\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'0.5rem'\" [height]=\"'25rem'\"></p-skeleton>\r\n\t\t</div>\r\n\t\t<div class=\"col d-flex justify-content-center px-0\">\r\n\t\t\t<div class=\"col-8 px-0\">\r\n\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'100%'\" [height]=\"'10rem'\"></p-skeleton>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"col d-flex justify-content-center px-0\">\r\n\t\t\t<div class=\"col-8 px-0\">\r\n\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'100%'\" [height]=\"'20rem'\"></p-skeleton>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"col d-flex justify-content-center px-0\">\r\n\t\t\t<div class=\"col-8 px-0\">\r\n\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'100%'\" [height]=\"'8rem'\"></p-skeleton>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"col d-flex justify-content-center px-0\">\r\n\t\t\t<div class=\"col-8 px-0\">\r\n\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'100%'\" [height]=\"'15rem'\"></p-skeleton>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"col d-flex justify-content-center px-0\">\r\n\t\t\t<div class=\"col-8 px-0\">\r\n\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'100%'\" [height]=\"'20rem'\"></p-skeleton>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"col d-flex justify-content-center px-0\">\r\n\t\t\t<div class=\"col-8 px-0\">\r\n\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'100%'\" [height]=\"'8rem'\"></p-skeleton>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"row mt-3\">\r\n\t\t<div class=\"col-1\"></div>\r\n\t\t<div class=\"col\">\r\n\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'100%'\" [height]=\"'0.5rem'\"></p-skeleton>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n} }\r\n\r\n<ng-template #pieDonutTemplate>\r\n\t<div class=\"skeletonGraphic__serie\">\r\n\t\t<div class=\"skeletonGraphic__wrap\">\r\n\t\t\t<div class=\"skeletonGraphic__label left\" *ngIf=\"label\">\r\n\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'100%'\" [height]=\"'100%'\"></p-skeleton>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"skeletonGraphic__data\">\r\n\t\t\t\t<p-skeleton class=\"prSkeleton\" shape=\"circle\" [size]=\"'100%'\"></p-skeleton>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"skeletonGraphic__label right\" *ngIf=\"label\">\r\n\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'100%'\" [height]=\"'100%'\"></p-skeleton>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</ng-template>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: SkeletonModule }, { kind: "component", type: i2$3.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "style", "shape", "animation", "borderRadius", "size", "width", "height"] }] });
4132
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.1", type: SkeletonChartComponent, isStandalone: true, selector: "intelica-skeleton-chart", inputs: { type: "type", series: "series", data: "data", label: "label" }, queries: [{ propertyName: "dataElements", predicate: DataDirective }], ngImport: i0, template: "@switch (type) { @case('bar'){\r\n<div class=\"skeletonGraphic skeletonGraphic--verticalBars\">\r\n\t<div class=\"skeletonGraphic__serie\" *ngFor=\"let i of getArray(series)\">\r\n\t\t<div class=\"skeletonGraphic__data\">\r\n\t\t\t<!-- Si hay etiquetas <data> proyectadas, las usamos con las alturas fijas -->\r\n\t\t\t<ng-container *ngIf=\"dataElements.length > 0\">\r\n\t\t\t\t<ng-container *ngFor=\"let data of dataElements.toArray()\">\r\n\t\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'100%'\" [height]=\"data.size\"></p-skeleton>\r\n\t\t\t\t</ng-container>\r\n\t\t\t</ng-container>\r\n\r\n\t\t\t<!-- Si no hay etiquetas <data>, usamos los valores aleatorios -->\r\n\t\t\t<ng-container *ngIf=\"dataElements.length === 0\">\r\n\t\t\t\t<ng-container *ngFor=\"let j of getArray(data)\">\r\n\t\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'100%'\" [height]=\"randomPercent[i][j]\"></p-skeleton>\r\n\t\t\t\t</ng-container>\r\n\t\t\t</ng-container>\r\n\t\t</div>\r\n\t\t<div class=\"skeletonGraphic__label\" *ngIf=\"label\">\r\n\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'50%'\" [height]=\"'1rem'\"></p-skeleton>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n} @case ('horizontal-bar'){\r\n<div class=\"skeletonGraphic skeletonGraphic--horizontalBars\">\r\n\t<div class=\"skeletonGraphic__serie\" *ngFor=\"let i of getArray(series)\">\r\n\t\t<div class=\"skeletonGraphic__data\">\r\n\t\t\t<!-- Si hay etiquetas <data> proyectadas, las usamos con las alturas fijas -->\r\n\t\t\t<ng-container *ngIf=\"dataElements.length > 0\">\r\n\t\t\t\t<ng-container *ngFor=\"let data of dataElements.toArray()\">\r\n\t\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"data.size\" [height]=\"'100%'\"></p-skeleton>\r\n\t\t\t\t</ng-container>\r\n\t\t\t</ng-container>\r\n\r\n\t\t\t<!-- Si no hay etiquetas <data>, usamos los valores aleatorios -->\r\n\t\t\t<ng-container *ngIf=\"dataElements.length === 0\">\r\n\t\t\t\t<ng-container *ngFor=\"let j of getArray(data)\">\r\n\t\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"randomPercent[i][j]\" [height]=\"'100%'\"></p-skeleton>\r\n\t\t\t\t</ng-container>\r\n\t\t\t</ng-container>\r\n\t\t</div>\r\n\t\t<div class=\"skeletonGraphic__label\" *ngIf=\"label\">\r\n\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'10rem'\" [height]=\"'1rem'\"></p-skeleton>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n} @case ('pie'){\r\n<div class=\"skeletonGraphic skeletonGraphic--pie\">\r\n\t<ng-container *ngTemplateOutlet=\"pieDonutTemplate\"></ng-container>\r\n</div>\r\n} @case ('donut'){\r\n<div class=\"skeletonGraphic skeletonGraphic--pie skeletonGraphic--donut\">\r\n\t<ng-container *ngTemplateOutlet=\"pieDonutTemplate\"></ng-container>\r\n</div>\r\n} @case ('line'){\r\n<div class=\"col-6 mb-3\">\r\n\t<div class=\"row align-items-end\">\r\n\t\t<div class=\"col-1 d-flex justify-content-end\">\r\n\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'0.5rem'\" [height]=\"'25rem'\"></p-skeleton>\r\n\t\t</div>\r\n\t\t<div class=\"col d-flex justify-content-center px-0\">\r\n\t\t\t<div class=\"col-8 px-0\">\r\n\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'100%'\" [height]=\"'10rem'\"></p-skeleton>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"col d-flex justify-content-center px-0\">\r\n\t\t\t<div class=\"col-8 px-0\">\r\n\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'100%'\" [height]=\"'20rem'\"></p-skeleton>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"col d-flex justify-content-center px-0\">\r\n\t\t\t<div class=\"col-8 px-0\">\r\n\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'100%'\" [height]=\"'8rem'\"></p-skeleton>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"col d-flex justify-content-center px-0\">\r\n\t\t\t<div class=\"col-8 px-0\">\r\n\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'100%'\" [height]=\"'15rem'\"></p-skeleton>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"col d-flex justify-content-center px-0\">\r\n\t\t\t<div class=\"col-8 px-0\">\r\n\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'100%'\" [height]=\"'20rem'\"></p-skeleton>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"col d-flex justify-content-center px-0\">\r\n\t\t\t<div class=\"col-8 px-0\">\r\n\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'100%'\" [height]=\"'8rem'\"></p-skeleton>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"row mt-3\">\r\n\t\t<div class=\"col-1\"></div>\r\n\t\t<div class=\"col\">\r\n\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'100%'\" [height]=\"'0.5rem'\"></p-skeleton>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n} }\r\n\r\n<ng-template #pieDonutTemplate>\r\n\t<div class=\"skeletonGraphic__serie\">\r\n\t\t<div class=\"skeletonGraphic__wrap\">\r\n\t\t\t<div class=\"skeletonGraphic__label left\" *ngIf=\"label\">\r\n\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'100%'\" [height]=\"'100%'\"></p-skeleton>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"skeletonGraphic__data\">\r\n\t\t\t\t<p-skeleton class=\"prSkeleton\" shape=\"circle\" [size]=\"'100%'\"></p-skeleton>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"skeletonGraphic__label right\" *ngIf=\"label\">\r\n\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'100%'\" [height]=\"'100%'\"></p-skeleton>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</ng-template>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: SkeletonModule }, { kind: "component", type: i2$4.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "style", "shape", "animation", "borderRadius", "size", "width", "height"] }] });
3447
4133
  }
3448
4134
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkeletonChartComponent, decorators: [{
3449
4135
  type: Component,
@@ -3461,115 +4147,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImpor
3461
4147
  args: [DataDirective]
3462
4148
  }] } });
3463
4149
 
3464
- class ColumnComponent {
3465
- field;
3466
- header;
3467
- sortable = false;
3468
- width;
3469
- className;
3470
- headerTooltip = "";
3471
- headerTooltipPosition = "top";
3472
- tooltip = "";
3473
- tooltipPosition = "top";
3474
- showIndex = false;
3475
- showHeader = true;
3476
- minWidth;
3477
- isChecboxColumn = false;
3478
- templateRef;
3479
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: ColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3480
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.1", type: ColumnComponent, isStandalone: true, selector: "column", inputs: { field: "field", header: "header", sortable: "sortable", width: "width", className: "className", headerTooltip: "headerTooltip", headerTooltipPosition: "headerTooltipPosition", tooltip: "tooltip", tooltipPosition: "tooltipPosition", showIndex: "showIndex", showHeader: "showHeader", minWidth: "minWidth", isChecboxColumn: "isChecboxColumn" }, queries: [{ propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0 });
3481
- }
3482
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: ColumnComponent, decorators: [{
3483
- type: Directive,
3484
- args: [{ selector: "column" }]
3485
- }], propDecorators: { field: [{
3486
- type: Input
3487
- }], header: [{
3488
- type: Input
3489
- }], sortable: [{
3490
- type: Input
3491
- }], width: [{
3492
- type: Input
3493
- }], className: [{
3494
- type: Input
3495
- }], headerTooltip: [{
3496
- type: Input
3497
- }], headerTooltipPosition: [{
3498
- type: Input
3499
- }], tooltip: [{
3500
- type: Input
3501
- }], tooltipPosition: [{
3502
- type: Input
3503
- }], showIndex: [{
3504
- type: Input
3505
- }], showHeader: [{
3506
- type: Input
3507
- }], minWidth: [{
3508
- type: Input
3509
- }], isChecboxColumn: [{
3510
- type: Input
3511
- }], templateRef: [{
3512
- type: ContentChild,
3513
- args: [TemplateRef]
3514
- }] } });
3515
- class ColumnGroupComponent {
3516
- field;
3517
- header;
3518
- sortable = false;
3519
- width;
3520
- minWidth;
3521
- colspan = 1;
3522
- rowspan = 1;
3523
- level = 0;
3524
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: ColumnGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3525
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.1", type: ColumnGroupComponent, isStandalone: true, selector: "columnGroup", inputs: { field: "field", header: "header", sortable: "sortable", width: "width", minWidth: "minWidth", colspan: "colspan", rowspan: "rowspan", level: "level" }, ngImport: i0 });
3526
- }
3527
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: ColumnGroupComponent, decorators: [{
3528
- type: Directive,
3529
- args: [{ selector: "columnGroup" }]
3530
- }], propDecorators: { field: [{
3531
- type: Input
3532
- }], header: [{
3533
- type: Input
3534
- }], sortable: [{
3535
- type: Input
3536
- }], width: [{
3537
- type: Input
3538
- }], minWidth: [{
3539
- type: Input
3540
- }], colspan: [{
3541
- type: Input
3542
- }], rowspan: [{
3543
- type: Input
3544
- }], level: [{
3545
- type: Input
3546
- }] } });
3547
- class RowResumenComponent {
3548
- field;
3549
- className;
3550
- colspan = 1;
3551
- rowspan = 1;
3552
- templateRef;
3553
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: RowResumenComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3554
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.1", type: RowResumenComponent, isStandalone: true, selector: "rowResumenComponent", inputs: { field: "field", className: "className", colspan: "colspan", rowspan: "rowspan" }, queries: [{ propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0 });
3555
- }
3556
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: RowResumenComponent, decorators: [{
3557
- type: Directive,
3558
- args: [{ selector: "rowResumenComponent" }]
3559
- }], propDecorators: { field: [{
3560
- type: Input
3561
- }], className: [{
3562
- type: Input
3563
- }], colspan: [{
3564
- type: Input
3565
- }], rowspan: [{
3566
- type: Input
3567
- }], templateRef: [{
3568
- type: ContentChild,
3569
- args: [TemplateRef]
3570
- }] } });
3571
-
3572
- class TableComponent {
4150
+ class TableFetchComponent {
3573
4151
  GlobalTermService = inject(GlobalTermService);
3574
4152
  ComponentId = "";
3575
4153
  ShowRowPerPage = true;
@@ -3608,7 +4186,7 @@ class TableComponent {
3608
4186
  ListDataTable = [];
3609
4187
  ngOnChanges(changes) {
3610
4188
  this.LoadSearchOptions();
3611
- if (changes['FilteredList'] || changes['RowsPerPage'] || changes['CurrentPage']) {
4189
+ if (changes["FilteredList"] || changes["RowsPerPage"] || changes["CurrentPage"]) {
3612
4190
  this.UpdatePages();
3613
4191
  }
3614
4192
  if (changes["sortField"] || changes["SortOrder"]) {
@@ -3640,7 +4218,7 @@ class TableComponent {
3640
4218
  }
3641
4219
  UpdatePages() {
3642
4220
  if (this.ShowPagination) {
3643
- if (this.SearchInput.searchText != '' && this.SearchInput.searchText != undefined) {
4221
+ if (this.SearchInput.searchText != "" && this.SearchInput.searchText != undefined) {
3644
4222
  this.TotalRecords = this.FilteredList.length;
3645
4223
  }
3646
4224
  else {
@@ -3691,10 +4269,10 @@ class TableComponent {
3691
4269
  this.CurrentPage = 1;
3692
4270
  this.ExecuteSearch({});
3693
4271
  }
3694
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: TableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3695
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.1", type: TableComponent, isStandalone: true, selector: "intelica-table-fetch", inputs: { ComponentId: "ComponentId", ShowRowPerPage: "ShowRowPerPage", ShowSearch: "ShowSearch", ListSearchOptions: "ListSearchOptions", ShowPagination: "ShowPagination", RowsPerPage: "RowsPerPage", ShowCheckbox: "ShowCheckbox", ShowIndex: "ShowIndex", ShowSearchTooltip: "ShowSearchTooltip", ClassName: "ClassName", DefaultSortField: "DefaultSortField", AllowedPageSizes: "AllowedPageSizes", FilteredList: "FilteredList", TotalItems: "TotalItems", CurrentPage: "CurrentPage", SortOrder: "SortOrder", SortField: "SortField" }, outputs: { EmitQueryParametersChange: "EmitQueryParametersChange", EmitSortEvent: "EmitSortEvent" }, queries: [{ propertyName: "AdditionalTemplate", first: true, predicate: ["additionalTemplate"], descendants: true }, { propertyName: "AdditionalCentralTemplate", first: true, predicate: ["additionalCentralTemplate"], descendants: true }, { propertyName: "Columns", predicate: ColumnComponent }, { propertyName: "ColumnGroups", predicate: ColumnGroupComponent }, { propertyName: "RowResumenGroups", predicate: RowResumenComponent }], viewQueries: [{ propertyName: "PaginatorTable", first: true, predicate: ["paginatorTable"], descendants: true }, { propertyName: "SearchTable", first: true, predicate: ["searchTable"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"prTable\">\r\n <div class=\"prTableTools\">\r\n <div class=\"prTableTools__new prTableTools__new--left\">\r\n @if (AdditionalTemplate) {\r\n <ng-container *ngTemplateOutlet=\"AdditionalTemplate\"></ng-container>\r\n }\r\n </div>\r\n\r\n @if (ShowSearch) {\r\n <intelica-search\r\n #searchTable\r\n [ComponentId]=\"ComponentId + 'Search'\"\r\n (OnSearch)=\"ExecuteSearch($event)\"\r\n [SearchFieldOptions]=\"ListSearchOptionsSimple\"\r\n [SearchOnKeyup]=\"false\"\r\n [SimpleSearchInput]=\"false\"\r\n [ShowTooltip]=\"ShowSearchTooltip\"\r\n ></intelica-search>\r\n }\r\n\r\n @if (AdditionalCentralTemplate) {\r\n <div class=\"prTableTools__new prTableTools__new--right\">\r\n <ng-container *ngTemplateOutlet=\"AdditionalCentralTemplate\"></ng-container>\r\n </div>\r\n }\r\n </div>\r\n\r\n <!-- Tabla que muestra FilteredList -->\r\n <p-table\r\n class=\"prTableBasic\"\r\n [ngClass]=\"ClassName\"\r\n [value]=\"FilteredList\"\r\n responsiveLayout=\"scroll\"\r\n [sortField]=\"DefaultSortField\"\r\n [sortOrder]=\"SortOrder\"\r\n >\r\n <!-- Cabecera con columnas agrupadas -->\r\n <ng-template pTemplate=\"header\">\r\n @for (level of Levels; track $index) {\r\n <tr>\r\n @for (col of ColumnGroupList; track $index) { @if (col.level === level) {\r\n <th\r\n [attr.colspan]=\"col.colspan\"\r\n [attr.rowspan]=\"col.rowspan\"\r\n [pSortableColumn]=\"col.sortable ? col.field : ''\"\r\n [style.min-width]=\"col.minWidth\"\r\n (click)=\"col.sortable && OnSort(col.field)\"\r\n >\r\n <div>\r\n <span pTooltip=\"{{ col.header }}\">{{ col.header }}</span>\r\n <p-sortIcon *ngIf=\"col.sortable\" [field]=\"col.field\"></p-sortIcon>\r\n </div>\r\n </th>\r\n } }\r\n\r\n @if (ShowCheckbox && level === 0 && ColumnGroupList.length != 0) {\r\n <th class=\"text-center\" style=\"width: 4%\" [attr.rowspan]=\"MaxLevel === 1 ? 2 : MaxLevel\">\r\n <p-tableHeaderCheckbox class=\"prCheckbox\" />\r\n </th>\r\n }\r\n </tr>\r\n }\r\n\r\n <tr>\r\n @for (col of ColumnList; track $index) { @if (col.showHeader) {\r\n <th\r\n [class]=\"col.className\"\r\n [pSortableColumn]=\"!col.isChecboxColumn && col.sortable ? col.field : ''\"\r\n [style.width]=\"col.width\"\r\n [style.min-width]=\"col.minWidth\"\r\n (click)=\"!col.isChecboxColumn && col.sortable && OnSort(col.field)\"\r\n >\r\n <div>\r\n <span pTooltip=\"{{ col.headerTooltip }}\" tooltipPosition=\"{{ col.headerTooltipPosition }}\">\r\n {{ col.header }}\r\n </span>\r\n @if (!col.showIndex) {\r\n <p-sortIcon *ngIf=\"col.sortable\" [field]=\"col.field\"></p-sortIcon>\r\n }\r\n </div>\r\n </th>\r\n } }\r\n @if (ShowCheckbox && ColumnGroupList.length == 0) {\r\n <th class=\"text-center\" style=\"width: 4%\">\r\n <p-tableHeaderCheckbox class=\"prCheckbox\" />\r\n </th>\r\n }\r\n </tr>\r\n\r\n @if (FilteredList.length > 0 && RowResumenList.length > 0) {\r\n <tr class=\"fixedRow\">\r\n @for (col of RowResumenList; track $index) {\r\n <td [ngClass]=\"col.className\" [attr.colspan]=\"col.colspan\" [attr.rowspan]=\"col.rowspan\">\r\n @if (col.templateRef) {\r\n <span>\r\n <ng-container *ngTemplateOutlet=\"col.templateRef\"></ng-container>\r\n </span>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </ng-template>\r\n\r\n <!-- Cuerpo de la tabla -->\r\n <ng-template pTemplate=\"body\" let-rowData let-rowIndex=\"rowIndex\">\r\n <tr>\r\n @for (col of ColumnList; track $index) {\r\n <td [ngClass]=\"col.className\">\r\n @if (col.showIndex) {\r\n {{ rowIndex + 1 + (CurrentPage - 1) * RowsPerPage }}\r\n } @else { @if (col.templateRef) {\r\n <ng-container *ngTemplateOutlet=\"col.templateRef; context: { $implicit: rowData }\"></ng-container>\r\n } @else {\r\n <span class=\"text-breakWord\" pTooltip=\"{{ col.tooltip }}\" tooltipPosition=\"{{ col.tooltipPosition }}\">\r\n {{ rowData[col.field] }}\r\n </span>\r\n } }\r\n </td>\r\n }\r\n\r\n @if (ShowCheckbox) {\r\n <td class=\"text-center\">\r\n <p-tableCheckbox [value]=\"rowData\" class=\"prCheckbox\" />\r\n </td>\r\n }\r\n </tr>\r\n </ng-template>\r\n\r\n <!-- Mensaje cuando no hay datos -->\r\n <ng-template pTemplate=\"emptymessage\">\r\n\t\t\t<tr>\r\n\t\t\t\t<td [attr.colspan]=\"ColumnList.length + (ShowCheckbox ? 1 : 0)\" class=\"text-center\">\r\n\t\t\t\t\t{{ \"Nodata\" | term: GlobalTermService.languageCode }}\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t</ng-template>\r\n </p-table>\r\n\r\n <!-- Paginaci\u00F3n y control de elementos por p\u00E1gina -->\r\n <div class=\"prTableToolsBottom\">\r\n @if(ShowRowPerPage){\r\n\t\t\t<div class=\"prTableToolsBottom__itemPerPage\">\r\n\t\t\t\t{{ \"ItemPerPage\" | term : GlobalTermService.languageCode }}\r\n\t\t\t\t<p-select [options]=\"AllowedPageSizes\" [ngModel]=\"RowsPerPage\" appendTo=\"body\" (onChange)=\"OnRowsPerPageChange($event.value)\" />\r\n\t\t\t\t<label for=\"pageSize\" class=\"control-label\">\r\n\t\t\t\t\t{{ 1 + RowsPerPage * (CurrentPage - 1) }} - {{ CurrentPage * RowsPerPage >= TotalRecords ? TotalRecords : CurrentPage * RowsPerPage }} {{ \"Of\" | term : GlobalTermService.languageCode }}\r\n\t\t\t\t\t{{ TotalRecords }} {{ \"Items\" | term : GlobalTermService.languageCode }}\r\n\t\t\t\t</label>\r\n\t\t\t</div>\r\n\t\t\t} @if (ShowPagination) {\r\n\t\t\t<intelica-paginator #paginatorTable [TotalItems]=\"TotalRecords\" [CurrentPage]=\"CurrentPage\" [ItemsPerPage]=\"RowsPerPage\" (PageChange)=\"OnPageChange($event)\"></intelica-paginator>\r\n\t\t\t}\r\n </div>\r\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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: "ngmodule", type: TableModule }, { kind: "component", type: i2$1.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", "size", "showGridlines", "stripedRows", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "virtualRowHeight", "selectAll"], 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: i3$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i2$1.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "component", type: i2$1.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: i2$1.TableCheckbox, selector: "p-tableCheckbox", inputs: ["disabled", "value", "index", "inputId", "name", "required", "ariaLabel"] }, { kind: "component", type: i2$1.TableHeaderCheckbox, selector: "p-tableHeaderCheckbox", inputs: ["disabled", "inputId", "name", "ariaLabel"] }, { kind: "component", type: Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "size", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "fluid", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: BadgeModule }, { kind: "ngmodule", type: TooltipModule }, { 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: "pipe", type: TermPipe, name: "term" }, { kind: "ngmodule", type: CheckboxModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: SearchComponent, selector: "intelica-search", inputs: ["ComponentId", "ShowTooltip", "SearchFieldOptions", "SearchOnKeyup", "SimpleSearchInput", "Placeholder"], outputs: ["OnSearch"] }, { kind: "component", type: PaginatorComponent, selector: "intelica-paginator", inputs: ["TotalItems", "CurrentPage", "ItemsPerPage"], outputs: ["PageChange"] }] });
4272
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: TableFetchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4273
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.1", type: TableFetchComponent, isStandalone: true, selector: "intelica-table-fetch", inputs: { ComponentId: "ComponentId", ShowRowPerPage: "ShowRowPerPage", ShowSearch: "ShowSearch", ListSearchOptions: "ListSearchOptions", ShowPagination: "ShowPagination", RowsPerPage: "RowsPerPage", ShowCheckbox: "ShowCheckbox", ShowIndex: "ShowIndex", ShowSearchTooltip: "ShowSearchTooltip", ClassName: "ClassName", DefaultSortField: "DefaultSortField", AllowedPageSizes: "AllowedPageSizes", FilteredList: "FilteredList", TotalItems: "TotalItems", CurrentPage: "CurrentPage", SortOrder: "SortOrder", SortField: "SortField" }, outputs: { EmitQueryParametersChange: "EmitQueryParametersChange", EmitSortEvent: "EmitSortEvent" }, queries: [{ propertyName: "AdditionalTemplate", first: true, predicate: ["additionalTemplate"], descendants: true }, { propertyName: "AdditionalCentralTemplate", first: true, predicate: ["additionalCentralTemplate"], descendants: true }, { propertyName: "Columns", predicate: ColumnComponent }, { propertyName: "ColumnGroups", predicate: ColumnGroupComponent }, { propertyName: "RowResumenGroups", predicate: RowResumenComponent }], viewQueries: [{ propertyName: "PaginatorTable", first: true, predicate: ["paginatorTable"], descendants: true }, { propertyName: "SearchTable", first: true, predicate: ["searchTable"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"prTable\">\r\n <div class=\"prTableTools\">\r\n <div class=\"prTableTools__new prTableTools__new--left\">\r\n @if (AdditionalTemplate) {\r\n <ng-container *ngTemplateOutlet=\"AdditionalTemplate\"></ng-container>\r\n }\r\n </div>\r\n\r\n @if (ShowSearch) {\r\n <intelica-search\r\n #searchTable\r\n [ComponentId]=\"ComponentId + 'Search'\"\r\n (OnSearch)=\"ExecuteSearch($event)\"\r\n [SearchFieldOptions]=\"ListSearchOptionsSimple\"\r\n [SearchOnKeyup]=\"false\"\r\n [SimpleSearchInput]=\"false\"\r\n [ShowTooltip]=\"ShowSearchTooltip\"\r\n ></intelica-search>\r\n }\r\n\r\n @if (AdditionalCentralTemplate) {\r\n <div class=\"prTableTools__new prTableTools__new--right\">\r\n <ng-container *ngTemplateOutlet=\"AdditionalCentralTemplate\"></ng-container>\r\n </div>\r\n }\r\n </div>\r\n\r\n <!-- Tabla que muestra FilteredList -->\r\n <p-table\r\n class=\"prTableBasic\"\r\n [ngClass]=\"ClassName\"\r\n [value]=\"FilteredList\"\r\n responsiveLayout=\"scroll\"\r\n [sortField]=\"DefaultSortField\"\r\n [sortOrder]=\"SortOrder\"\r\n >\r\n <!-- Cabecera con columnas agrupadas -->\r\n <ng-template pTemplate=\"header\">\r\n @for (level of Levels; track $index) {\r\n <tr>\r\n @for (col of ColumnGroupList; track $index) { @if (col.level === level) {\r\n <th\r\n [attr.colspan]=\"col.colspan\"\r\n [attr.rowspan]=\"col.rowspan\"\r\n [pSortableColumn]=\"col.sortable ? col.field : ''\"\r\n [style.min-width]=\"col.minWidth\"\r\n (click)=\"col.sortable && OnSort(col.field)\"\r\n >\r\n <div>\r\n <span pTooltip=\"{{ col.header }}\">{{ col.header }}</span>\r\n <p-sortIcon *ngIf=\"col.sortable\" [field]=\"col.field\"></p-sortIcon>\r\n </div>\r\n </th>\r\n } }\r\n\r\n @if (ShowCheckbox && level === 0 && ColumnGroupList.length != 0) {\r\n <th class=\"text-center\" style=\"width: 4%\" [attr.rowspan]=\"MaxLevel === 1 ? 2 : MaxLevel\">\r\n <p-tableHeaderCheckbox class=\"prCheckbox\" />\r\n </th>\r\n }\r\n </tr>\r\n }\r\n\r\n <tr>\r\n @for (col of ColumnList; track $index) { @if (col.showHeader) {\r\n <th\r\n [class]=\"col.className\"\r\n [pSortableColumn]=\"!col.isChecboxColumn && col.sortable ? col.field : ''\"\r\n [style.width]=\"col.width\"\r\n [style.min-width]=\"col.minWidth\"\r\n (click)=\"!col.isChecboxColumn && col.sortable && OnSort(col.field)\"\r\n >\r\n <div>\r\n <span pTooltip=\"{{ col.headerTooltip }}\" tooltipPosition=\"{{ col.headerTooltipPosition }}\">\r\n {{ col.header }}\r\n </span>\r\n @if (!col.showIndex) {\r\n <p-sortIcon *ngIf=\"col.sortable\" [field]=\"col.field\"></p-sortIcon>\r\n }\r\n </div>\r\n </th>\r\n } }\r\n @if (ShowCheckbox && ColumnGroupList.length == 0) {\r\n <th class=\"text-center\" style=\"width: 4%\">\r\n <p-tableHeaderCheckbox class=\"prCheckbox\" />\r\n </th>\r\n }\r\n </tr>\r\n\r\n @if (FilteredList.length > 0 && RowResumenList.length > 0) {\r\n <tr class=\"fixedRow\">\r\n @for (col of RowResumenList; track $index) {\r\n <td [ngClass]=\"col.className\" [attr.colspan]=\"col.colspan\" [attr.rowspan]=\"col.rowspan\">\r\n @if (col.templateRef) {\r\n <span>\r\n <ng-container *ngTemplateOutlet=\"col.templateRef\"></ng-container>\r\n </span>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </ng-template>\r\n\r\n <!-- Cuerpo de la tabla -->\r\n <ng-template pTemplate=\"body\" let-rowData let-rowIndex=\"rowIndex\">\r\n <tr>\r\n @for (col of ColumnList; track $index) {\r\n <td [ngClass]=\"col.className\">\r\n @if (col.showIndex) {\r\n {{ rowIndex + 1 + (CurrentPage - 1) * RowsPerPage }}\r\n } @else { @if (col.templateRef) {\r\n <ng-container *ngTemplateOutlet=\"col.templateRef; context: { $implicit: rowData }\"></ng-container>\r\n } @else {\r\n <span class=\"text-breakWord\" pTooltip=\"{{ col.tooltip }}\" tooltipPosition=\"{{ col.tooltipPosition }}\">\r\n {{ rowData[col.field] }}\r\n </span>\r\n } }\r\n </td>\r\n }\r\n\r\n @if (ShowCheckbox) {\r\n <td class=\"text-center\">\r\n <p-tableCheckbox [value]=\"rowData\" class=\"prCheckbox\" />\r\n </td>\r\n }\r\n </tr>\r\n </ng-template>\r\n\r\n <!-- Mensaje cuando no hay datos -->\r\n <ng-template pTemplate=\"emptymessage\">\r\n\t\t\t<tr>\r\n\t\t\t\t<td [attr.colspan]=\"ColumnList.length + (ShowCheckbox ? 1 : 0)\" class=\"text-center\">\r\n\t\t\t\t\t{{ \"Nodata\" | term: GlobalTermService.languageCode }}\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t</ng-template>\r\n </p-table>\r\n\r\n <!-- Paginaci\u00F3n y control de elementos por p\u00E1gina -->\r\n <div class=\"prTableToolsBottom\">\r\n @if(ShowRowPerPage){\r\n\t\t\t<div class=\"prTableToolsBottom__itemPerPage\">\r\n\t\t\t\t{{ \"ItemPerPage\" | term : GlobalTermService.languageCode }}\r\n\t\t\t\t<p-select [options]=\"AllowedPageSizes\" [ngModel]=\"RowsPerPage\" appendTo=\"body\" (onChange)=\"OnRowsPerPageChange($event.value)\" />\r\n\t\t\t\t<label for=\"pageSize\" class=\"control-label\">\r\n\t\t\t\t\t{{ 1 + RowsPerPage * (CurrentPage - 1) }} - {{ CurrentPage * RowsPerPage >= TotalRecords ? TotalRecords : CurrentPage * RowsPerPage }} {{ \"Of\" | term : GlobalTermService.languageCode }}\r\n\t\t\t\t\t{{ TotalRecords }} {{ \"Items\" | term : GlobalTermService.languageCode }}\r\n\t\t\t\t</label>\r\n\t\t\t</div>\r\n\t\t\t} @if (ShowPagination) {\r\n\t\t\t<intelica-paginator #paginatorTable [TotalItems]=\"TotalRecords\" [CurrentPage]=\"CurrentPage\" [ItemsPerPage]=\"RowsPerPage\" (PageChange)=\"OnPageChange($event)\"></intelica-paginator>\r\n\t\t\t}\r\n </div>\r\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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: "ngmodule", type: TableModule }, { kind: "component", type: i2$1.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", "size", "showGridlines", "stripedRows", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "virtualRowHeight", "selectAll"], 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: i3$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i2$1.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "component", type: i2$1.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: i2$1.TableCheckbox, selector: "p-tableCheckbox", inputs: ["disabled", "value", "index", "inputId", "name", "required", "ariaLabel"] }, { kind: "component", type: i2$1.TableHeaderCheckbox, selector: "p-tableHeaderCheckbox", inputs: ["disabled", "inputId", "name", "ariaLabel"] }, { kind: "component", type: Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "size", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "fluid", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: BadgeModule }, { kind: "ngmodule", type: TooltipModule }, { 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: "pipe", type: TermPipe, name: "term" }, { kind: "ngmodule", type: CheckboxModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: SearchComponent, selector: "intelica-search", inputs: ["ComponentId", "ShowTooltip", "SearchFieldOptions", "SearchOnKeyup", "SimpleSearchInput", "Placeholder"], outputs: ["OnSearch"] }, { kind: "component", type: PaginatorComponent, selector: "intelica-paginator", inputs: ["TotalItems", "CurrentPage", "ItemsPerPage"], outputs: ["PageChange"] }] });
3696
4274
  }
3697
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: TableComponent, decorators: [{
4275
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: TableFetchComponent, decorators: [{
3698
4276
  type: Component,
3699
4277
  args: [{ selector: "intelica-table-fetch", standalone: true, imports: [CommonModule, TableModule, Select, BadgeModule, TooltipModule, TermPipe, CheckboxModule, FormsModule, SearchComponent, PaginatorComponent], template: "<div class=\"prTable\">\r\n <div class=\"prTableTools\">\r\n <div class=\"prTableTools__new prTableTools__new--left\">\r\n @if (AdditionalTemplate) {\r\n <ng-container *ngTemplateOutlet=\"AdditionalTemplate\"></ng-container>\r\n }\r\n </div>\r\n\r\n @if (ShowSearch) {\r\n <intelica-search\r\n #searchTable\r\n [ComponentId]=\"ComponentId + 'Search'\"\r\n (OnSearch)=\"ExecuteSearch($event)\"\r\n [SearchFieldOptions]=\"ListSearchOptionsSimple\"\r\n [SearchOnKeyup]=\"false\"\r\n [SimpleSearchInput]=\"false\"\r\n [ShowTooltip]=\"ShowSearchTooltip\"\r\n ></intelica-search>\r\n }\r\n\r\n @if (AdditionalCentralTemplate) {\r\n <div class=\"prTableTools__new prTableTools__new--right\">\r\n <ng-container *ngTemplateOutlet=\"AdditionalCentralTemplate\"></ng-container>\r\n </div>\r\n }\r\n </div>\r\n\r\n <!-- Tabla que muestra FilteredList -->\r\n <p-table\r\n class=\"prTableBasic\"\r\n [ngClass]=\"ClassName\"\r\n [value]=\"FilteredList\"\r\n responsiveLayout=\"scroll\"\r\n [sortField]=\"DefaultSortField\"\r\n [sortOrder]=\"SortOrder\"\r\n >\r\n <!-- Cabecera con columnas agrupadas -->\r\n <ng-template pTemplate=\"header\">\r\n @for (level of Levels; track $index) {\r\n <tr>\r\n @for (col of ColumnGroupList; track $index) { @if (col.level === level) {\r\n <th\r\n [attr.colspan]=\"col.colspan\"\r\n [attr.rowspan]=\"col.rowspan\"\r\n [pSortableColumn]=\"col.sortable ? col.field : ''\"\r\n [style.min-width]=\"col.minWidth\"\r\n (click)=\"col.sortable && OnSort(col.field)\"\r\n >\r\n <div>\r\n <span pTooltip=\"{{ col.header }}\">{{ col.header }}</span>\r\n <p-sortIcon *ngIf=\"col.sortable\" [field]=\"col.field\"></p-sortIcon>\r\n </div>\r\n </th>\r\n } }\r\n\r\n @if (ShowCheckbox && level === 0 && ColumnGroupList.length != 0) {\r\n <th class=\"text-center\" style=\"width: 4%\" [attr.rowspan]=\"MaxLevel === 1 ? 2 : MaxLevel\">\r\n <p-tableHeaderCheckbox class=\"prCheckbox\" />\r\n </th>\r\n }\r\n </tr>\r\n }\r\n\r\n <tr>\r\n @for (col of ColumnList; track $index) { @if (col.showHeader) {\r\n <th\r\n [class]=\"col.className\"\r\n [pSortableColumn]=\"!col.isChecboxColumn && col.sortable ? col.field : ''\"\r\n [style.width]=\"col.width\"\r\n [style.min-width]=\"col.minWidth\"\r\n (click)=\"!col.isChecboxColumn && col.sortable && OnSort(col.field)\"\r\n >\r\n <div>\r\n <span pTooltip=\"{{ col.headerTooltip }}\" tooltipPosition=\"{{ col.headerTooltipPosition }}\">\r\n {{ col.header }}\r\n </span>\r\n @if (!col.showIndex) {\r\n <p-sortIcon *ngIf=\"col.sortable\" [field]=\"col.field\"></p-sortIcon>\r\n }\r\n </div>\r\n </th>\r\n } }\r\n @if (ShowCheckbox && ColumnGroupList.length == 0) {\r\n <th class=\"text-center\" style=\"width: 4%\">\r\n <p-tableHeaderCheckbox class=\"prCheckbox\" />\r\n </th>\r\n }\r\n </tr>\r\n\r\n @if (FilteredList.length > 0 && RowResumenList.length > 0) {\r\n <tr class=\"fixedRow\">\r\n @for (col of RowResumenList; track $index) {\r\n <td [ngClass]=\"col.className\" [attr.colspan]=\"col.colspan\" [attr.rowspan]=\"col.rowspan\">\r\n @if (col.templateRef) {\r\n <span>\r\n <ng-container *ngTemplateOutlet=\"col.templateRef\"></ng-container>\r\n </span>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </ng-template>\r\n\r\n <!-- Cuerpo de la tabla -->\r\n <ng-template pTemplate=\"body\" let-rowData let-rowIndex=\"rowIndex\">\r\n <tr>\r\n @for (col of ColumnList; track $index) {\r\n <td [ngClass]=\"col.className\">\r\n @if (col.showIndex) {\r\n {{ rowIndex + 1 + (CurrentPage - 1) * RowsPerPage }}\r\n } @else { @if (col.templateRef) {\r\n <ng-container *ngTemplateOutlet=\"col.templateRef; context: { $implicit: rowData }\"></ng-container>\r\n } @else {\r\n <span class=\"text-breakWord\" pTooltip=\"{{ col.tooltip }}\" tooltipPosition=\"{{ col.tooltipPosition }}\">\r\n {{ rowData[col.field] }}\r\n </span>\r\n } }\r\n </td>\r\n }\r\n\r\n @if (ShowCheckbox) {\r\n <td class=\"text-center\">\r\n <p-tableCheckbox [value]=\"rowData\" class=\"prCheckbox\" />\r\n </td>\r\n }\r\n </tr>\r\n </ng-template>\r\n\r\n <!-- Mensaje cuando no hay datos -->\r\n <ng-template pTemplate=\"emptymessage\">\r\n\t\t\t<tr>\r\n\t\t\t\t<td [attr.colspan]=\"ColumnList.length + (ShowCheckbox ? 1 : 0)\" class=\"text-center\">\r\n\t\t\t\t\t{{ \"Nodata\" | term: GlobalTermService.languageCode }}\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t</ng-template>\r\n </p-table>\r\n\r\n <!-- Paginaci\u00F3n y control de elementos por p\u00E1gina -->\r\n <div class=\"prTableToolsBottom\">\r\n @if(ShowRowPerPage){\r\n\t\t\t<div class=\"prTableToolsBottom__itemPerPage\">\r\n\t\t\t\t{{ \"ItemPerPage\" | term : GlobalTermService.languageCode }}\r\n\t\t\t\t<p-select [options]=\"AllowedPageSizes\" [ngModel]=\"RowsPerPage\" appendTo=\"body\" (onChange)=\"OnRowsPerPageChange($event.value)\" />\r\n\t\t\t\t<label for=\"pageSize\" class=\"control-label\">\r\n\t\t\t\t\t{{ 1 + RowsPerPage * (CurrentPage - 1) }} - {{ CurrentPage * RowsPerPage >= TotalRecords ? TotalRecords : CurrentPage * RowsPerPage }} {{ \"Of\" | term : GlobalTermService.languageCode }}\r\n\t\t\t\t\t{{ TotalRecords }} {{ \"Items\" | term : GlobalTermService.languageCode }}\r\n\t\t\t\t</label>\r\n\t\t\t</div>\r\n\t\t\t} @if (ShowPagination) {\r\n\t\t\t<intelica-paginator #paginatorTable [TotalItems]=\"TotalRecords\" [CurrentPage]=\"CurrentPage\" [ItemsPerPage]=\"RowsPerPage\" (PageChange)=\"OnPageChange($event)\"></intelica-paginator>\r\n\t\t\t}\r\n </div>\r\n</div>" }]
3700
4278
  }], propDecorators: { ComponentId: [{
@@ -3758,6 +4336,200 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImpor
3758
4336
  type: Input
3759
4337
  }] } });
3760
4338
 
4339
+ class CheckboxFilterDirective extends FilterDirective {
4340
+ constructor() {
4341
+ super(FilterTypeEnum.Checkbox);
4342
+ }
4343
+ modeCheckBox = "";
4344
+ ngOnChanges(changes) {
4345
+ this.$changes.next(changes);
4346
+ }
4347
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: CheckboxFilterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
4348
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.1", type: CheckboxFilterDirective, isStandalone: true, selector: "checkbox-filter", inputs: { modeCheckBox: "modeCheckBox" }, providers: [{ provide: FilterDirective, useExisting: forwardRef(() => CheckboxFilterDirective) }], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
4349
+ }
4350
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: CheckboxFilterDirective, decorators: [{
4351
+ type: Directive,
4352
+ args: [{
4353
+ selector: "checkbox-filter",
4354
+ providers: [{ provide: FilterDirective, useExisting: forwardRef(() => CheckboxFilterDirective) }],
4355
+ }]
4356
+ }], ctorParameters: () => [], propDecorators: { modeCheckBox: [{
4357
+ type: Input
4358
+ }] } });
4359
+
4360
+ class DateFilterDirective extends FilterDirective {
4361
+ constructor() {
4362
+ super(FilterTypeEnum.Date);
4363
+ }
4364
+ format = "MM-yyyy";
4365
+ start = "year";
4366
+ depth = "Year";
4367
+ strictMode = false;
4368
+ min = new Date(1970, 0, 1);
4369
+ max = new Date();
4370
+ showTodayButton = false;
4371
+ allowEdit = true;
4372
+ range = false;
4373
+ dateMode = "day";
4374
+ open = new EventEmitter();
4375
+ navigated = new EventEmitter();
4376
+ ngOnChanges(changes) {
4377
+ this.$changes.next(changes);
4378
+ }
4379
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: DateFilterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
4380
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.1", type: DateFilterDirective, isStandalone: true, selector: "date-filter", inputs: { format: "format", start: "start", depth: "depth", strictMode: "strictMode", min: "min", max: "max", showTodayButton: "showTodayButton", allowEdit: "allowEdit", range: "range", dateMode: "dateMode" }, outputs: { open: "open", navigated: "navigated" }, providers: [{ provide: FilterDirective, useExisting: forwardRef(() => DateFilterDirective) }], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
4381
+ }
4382
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: DateFilterDirective, decorators: [{
4383
+ type: Directive,
4384
+ args: [{
4385
+ selector: "date-filter",
4386
+ providers: [{ provide: FilterDirective, useExisting: forwardRef(() => DateFilterDirective) }],
4387
+ }]
4388
+ }], ctorParameters: () => [], propDecorators: { format: [{
4389
+ type: Input
4390
+ }], start: [{
4391
+ type: Input
4392
+ }], depth: [{
4393
+ type: Input
4394
+ }], strictMode: [{
4395
+ type: Input
4396
+ }], min: [{
4397
+ type: Input
4398
+ }], max: [{
4399
+ type: Input
4400
+ }], showTodayButton: [{
4401
+ type: Input
4402
+ }], allowEdit: [{
4403
+ type: Input
4404
+ }], range: [{
4405
+ type: Input
4406
+ }], dateMode: [{
4407
+ type: Input
4408
+ }], open: [{
4409
+ type: Output
4410
+ }], navigated: [{
4411
+ type: Output
4412
+ }] } });
4413
+
4414
+ class SelectDetailFilterDirective extends FilterDirective {
4415
+ constructor() {
4416
+ super(FilterTypeEnum.SelectDetail);
4417
+ }
4418
+ id = "";
4419
+ fieldText = "";
4420
+ fieldValue = "";
4421
+ fieldDetail = "";
4422
+ data = [];
4423
+ ngOnChanges(changes) {
4424
+ this.$changes.next(changes);
4425
+ }
4426
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SelectDetailFilterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
4427
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.1", type: SelectDetailFilterDirective, isStandalone: true, selector: "select-detail-filter", inputs: { id: "id", fieldText: "fieldText", fieldValue: "fieldValue", fieldDetail: "fieldDetail", data: "data" }, providers: [{ provide: FilterDirective, useExisting: forwardRef(() => SelectDetailFilterDirective) }], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
4428
+ }
4429
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SelectDetailFilterDirective, decorators: [{
4430
+ type: Directive,
4431
+ args: [{
4432
+ selector: "select-detail-filter",
4433
+ providers: [{ provide: FilterDirective, useExisting: forwardRef(() => SelectDetailFilterDirective) }],
4434
+ }]
4435
+ }], ctorParameters: () => [], propDecorators: { id: [{
4436
+ type: Input
4437
+ }], fieldText: [{
4438
+ type: Input
4439
+ }], fieldValue: [{
4440
+ type: Input
4441
+ }], fieldDetail: [{
4442
+ type: Input
4443
+ }], data: [{
4444
+ type: Input
4445
+ }] } });
4446
+
4447
+ class TemplateDirective extends FilterDirective {
4448
+ constructor() {
4449
+ super(FilterTypeEnum.Template);
4450
+ }
4451
+ content;
4452
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: TemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
4453
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.1", type: TemplateDirective, isStandalone: true, selector: "template-filter", providers: [{ provide: FilterDirective, useExisting: forwardRef(() => TemplateDirective) }], queries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }], usesInheritance: true, ngImport: i0 });
4454
+ }
4455
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: TemplateDirective, decorators: [{
4456
+ type: Directive,
4457
+ args: [{
4458
+ selector: "template-filter",
4459
+ providers: [{ provide: FilterDirective, useExisting: forwardRef(() => TemplateDirective) }],
4460
+ }]
4461
+ }], ctorParameters: () => [], propDecorators: { content: [{
4462
+ type: ContentChild,
4463
+ args: ["content"]
4464
+ }] } });
4465
+
4466
+ class TextAreaFilterDirective extends FilterDirective {
4467
+ constructor() {
4468
+ super(FilterTypeEnum.TextArea);
4469
+ }
4470
+ ngOnChanges(changes) {
4471
+ this.$changes.next(changes);
4472
+ }
4473
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: TextAreaFilterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
4474
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.1", type: TextAreaFilterDirective, isStandalone: true, selector: "view-text-area-filter", providers: [{ provide: FilterDirective, useExisting: forwardRef(() => TextAreaFilterDirective) }], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
4475
+ }
4476
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: TextAreaFilterDirective, decorators: [{
4477
+ type: Directive,
4478
+ args: [{
4479
+ selector: "view-text-area-filter",
4480
+ providers: [{ provide: FilterDirective, useExisting: forwardRef(() => TextAreaFilterDirective) }],
4481
+ }]
4482
+ }], ctorParameters: () => [] });
4483
+
4484
+ class TextFilterDirective extends FilterDirective {
4485
+ constructor() {
4486
+ super(FilterTypeEnum.Text);
4487
+ }
4488
+ ngOnChanges(changes) {
4489
+ this.$changes.next(changes);
4490
+ }
4491
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: TextFilterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
4492
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.1", type: TextFilterDirective, isStandalone: true, selector: "text-filter", providers: [{ provide: FilterDirective, useExisting: forwardRef(() => TextFilterDirective) }], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
4493
+ }
4494
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: TextFilterDirective, decorators: [{
4495
+ type: Directive,
4496
+ args: [{
4497
+ selector: "text-filter",
4498
+ providers: [{ provide: FilterDirective, useExisting: forwardRef(() => TextFilterDirective) }],
4499
+ standalone: true,
4500
+ }]
4501
+ }], ctorParameters: () => [] });
4502
+
4503
+ class TextRangeFilterDirective extends FilterDirective {
4504
+ constructor() {
4505
+ super(FilterTypeEnum.TextRange);
4506
+ }
4507
+ minRange = "";
4508
+ maxRange = "";
4509
+ minLabel = "";
4510
+ maxLabel = "";
4511
+ ngOnChanges(changes) {
4512
+ this.$changes.next(changes);
4513
+ }
4514
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: TextRangeFilterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
4515
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.1", type: TextRangeFilterDirective, isStandalone: true, selector: "text-range-filter", inputs: { minRange: "minRange", maxRange: "maxRange", minLabel: "minLabel", maxLabel: "maxLabel" }, providers: [{ provide: FilterDirective, useExisting: forwardRef(() => TextRangeFilterDirective) }], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
4516
+ }
4517
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: TextRangeFilterDirective, decorators: [{
4518
+ type: Directive,
4519
+ args: [{
4520
+ selector: "text-range-filter",
4521
+ providers: [{ provide: FilterDirective, useExisting: forwardRef(() => TextRangeFilterDirective) }],
4522
+ }]
4523
+ }], ctorParameters: () => [], propDecorators: { minRange: [{
4524
+ type: Input
4525
+ }], maxRange: [{
4526
+ type: Input
4527
+ }], minLabel: [{
4528
+ type: Input
4529
+ }], maxLabel: [{
4530
+ type: Input
4531
+ }] } });
4532
+
3761
4533
  class HtmlToExcelService {
3762
4534
  ExportTOExcel(idTabla, html, filename, tabname, extension) {
3763
4535
  let Table = document.getElementById(idTabla);
@@ -7018,5 +7790,5 @@ const IntelicaTheme = definePreset(Aura, {
7018
7790
  * Generated bundle index. Do not edit.
7019
7791
  */
7020
7792
 
7021
- export { ActionDirective, ActionsMenuComponent, ButtonSplitComponent, Color, ColumnComponent$1 as ColumnComponent, ColumnGroupComponent$1 as ColumnGroupComponent, ColumnComponent as ColumnTableFetchComponent, CompareByField, ConfigService, CookieAttributesGeneral, DataDirective, DynamicInputValidation, EchartComponent, EchartService, EmailInputValidation, ErrorInterceptor, FeatureFlagService, FormatAmountPipe, GetCookieAttributes, GlobalFeatureFlagService, GlobalTermService, HtmlToExcelService, InitializeConfigService, InputValidation, IntelicaTheme, ItemSplitDirective, LanguageService, MatrixColumnComponent, MatrixColumnGroupComponent, MatrixTableComponent, ModalDialogComponent, MultiSelectComponent, OrderConstants, PaginatorComponent, Patterns, PopoverComponent, ProfileService, RecordPerPageComponent, RefreshTokenInterceptor, RouteGuard, RowResumenComponent$1 as RowResumenComponent, SearchComponent, SharedService, SkeletonChartComponent, SkeletonComponent, SkeletonService, SkeletonTableComponent, SortingComponent, SpinnerComponent, SpinnerService, SweetAlertService, TableComponent$1 as TableComponent, TableComponent as TableFetchComponent, TemplateMenuComponent, TermGuard, TermPipe, TermService, TreeColumnComponent, TreeColumnGroupComponent, TreeTableComponent, TruncatePipe, decryptData, encryptData, getColor };
7793
+ export { ActionDirective, ActionsMenuComponent, ButtonSplitComponent, CheckboxFilterDirective, Color, ColumnComponent, ColumnGroupComponent, CompareByField, ConfigService, CookieAttributesGeneral, DataDirective, DateFilterDirective, DateModeOptions, DynamicInputValidation, EchartComponent, EchartService, EmailInputValidation, ErrorInterceptor, FeatureFlagService, FiltersComponent, FormatAmountPipe, GetCookieAttributes, GlobalFeatureFlagService, GlobalTermService, HtmlToExcelService, InitializeConfigService, InputValidation, IntelicaTheme, ItemSplitDirective, LanguageService, MatrixColumnComponent, MatrixColumnGroupComponent, MatrixTableComponent, ModalDialogComponent, MultiSelectComponent, OrderConstants, PaginatorComponent, Patterns, PopoverComponent, ProfileService, RecordPerPageComponent, RefreshTokenInterceptor, RouteGuard, RowResumenComponent, SearchComponent, SelectDetailFilterDirective, SelectFilterDirective, SharedService, SkeletonChartComponent, SkeletonComponent, SkeletonService, SkeletonTableComponent, SortingComponent, SpinnerComponent, SpinnerService, SweetAlertService, TableComponent, TableFetchComponent, TemplateDirective, TemplateMenuComponent, TermGuard, TermPipe, TermService, TextAreaFilterDirective, TextFilterDirective, TextRangeFilterDirective, TreeColumnComponent, TreeColumnGroupComponent, TreeTableComponent, TruncatePipe, decryptData, encryptData, getColor };
7022
7794
  //# sourceMappingURL=intelica-library-ui.mjs.map