intelica-library-ui 0.1.128 → 0.1.130

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);
@@ -2019,13 +2030,20 @@ class TreeTableComponent {
2019
2030
  ClassName = "";
2020
2031
  groupRowsBy = "";
2021
2032
  dataKey = "";
2033
+ DefaultSortField = "";
2022
2034
  Columns;
2023
2035
  ColumnGroups;
2036
+ EmitSortEvent = new EventEmitter();
2037
+ ListDataFilter = [];
2024
2038
  ColumnList = [];
2025
2039
  ColumnGroupList = [];
2026
2040
  MaxLevel = 0;
2027
2041
  Levels = [];
2028
- ngOnChanges() { }
2042
+ SortOrder = 1;
2043
+ SortField = null;
2044
+ ngOnChanges() {
2045
+ this.ListDataFilter = [...this.ListData];
2046
+ }
2029
2047
  ngAfterContentInit() {
2030
2048
  this.ColumnList = this.Columns.toArray();
2031
2049
  this.ColumnGroupList = this.ColumnGroups.toArray();
@@ -2037,12 +2055,34 @@ class TreeTableComponent {
2037
2055
  return "";
2038
2056
  return String.fromCharCode(97 + index);
2039
2057
  }
2058
+ OnSort(field) {
2059
+ if (this.SortField === field) {
2060
+ this.SortOrder *= -1;
2061
+ }
2062
+ else {
2063
+ this.SortField = field;
2064
+ this.SortOrder = 1;
2065
+ }
2066
+ this.SortPages();
2067
+ }
2068
+ SortPages() {
2069
+ const order = this.SortOrder === 1 ? "asc" : "desc";
2070
+ const field = this.SortField;
2071
+ const sampleValue = this.ListDataFilter.find(item => item[field] !== null && item[field] !== undefined)?.[field];
2072
+ if (typeof sampleValue === "number") {
2073
+ this.ListDataFilter = this.SharedService.SortRecursiveNumber([...this.ListDataFilter], field, order);
2074
+ }
2075
+ else {
2076
+ this.ListDataFilter = this.SharedService.SortRecursivePrimeNg([...this.ListDataFilter], field, order);
2077
+ }
2078
+ this.EmitSortEvent.emit([{ sortOrder: this.SortOrder, sortField: this.SortField?.toString() ?? "" }]);
2079
+ }
2040
2080
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: TreeTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2041
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.1", type: TreeTableComponent, isStandalone: true, selector: "intelica-tree-table", inputs: { ComponentId: "ComponentId", ListData: "ListData", ClassName: "ClassName", groupRowsBy: "groupRowsBy", dataKey: "dataKey" }, queries: [{ propertyName: "Columns", predicate: TreeColumnComponent }, { propertyName: "ColumnGroups", predicate: TreeColumnGroupComponent }], usesOnChanges: true, ngImport: i0, template: "<div class=\"prTable\">\r\n\t<p-table class=\"prTableBasic\" [value]=\"ListData\" [ngClass]=\"ClassName\" responsiveLayout=\"scroll\" [sortOrder]=\"-1\" [groupRowsBy]=\"groupRowsBy\" dataKey=\"dataKey\">\r\n\t\t<ng-template pTemplate=\"header\">\r\n\t\t\t@for (level of Levels; track $index) {\r\n\r\n\t\t\t<tr>\r\n\t\t\t\t@for (col of ColumnGroupList; track $index) { @if (col.level === level) {\r\n\r\n\t\t\t\t<th [attr.colspan]=\"col.colspan\" [attr.rowspan]=\"col.rowspan\" [style.min-width]=\"col.minWidth\">\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</div>\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 [class]=\"col.className\" [style.width]=\"col.width\" [style.min-width]=\"col.minWidth\">\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</div>\r\n\t\t\t\t</th>\r\n\t\t\t\t} }\r\n\t\t\t</tr>\r\n\t\t</ng-template>\r\n\t\t<ng-template pTemplate=\"body\" let-rowData let-rowIndex=\"rowIndex\" let-expanded=\"expanded\">\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.field === 'name' && rowData.children && rowData.children.length > 0) {\r\n\t\t\t\t\t<!-- Bot\u00F3n de expansi\u00F3n -->\r\n\t\t\t\t\t<div class=\"prTable__expandToggleRow\">\r\n\t\t\t\t\t\t<!-- <p-button type=\"button\" pRipple [pRowToggler]=\"rowData\" [text]=\"true\" [rounded]=\"true\" [plain]=\"true\" [icon]=\"expanded ? 'pi pi-chevron-down' : 'pi pi-chevron-right'\"></p-button> -->\r\n\t\t\t\t\t\t<p-button [pRowToggler]=\"rowData\" class=\"prButton prButton--icon prButton--iconBlue\">\r\n\t\t\t\t\t\t\t<i [class]=\"expanded ? 'icon icon-collapse-rows' : 'icon icon-expand-rows'\"></i>\r\n\t\t\t\t\t\t</p-button>\r\n\r\n\t\t\t\t\t\t<!-- Texto de la columna \"name\" -->\r\n\t\t\t\t\t\t<span class=\"text-breakWord\" pTooltip=\"{{ col.tooltip }}\" tooltipPosition=\"{{ col.tooltipPosition }}\">\r\n\t\t\t\t\t\t\t{{ rowData[col.field] }}\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t} @else {\r\n\t\t\t\t\t<!-- Otras columnas -->\r\n\t\t\t\t\t@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 {\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\r\n\t\t\t\t}\r\n\t\t\t</tr>\r\n\t\t</ng-template>\r\n\t\t<ng-template pTemplate=\"expandedrow\" let-rowData let-rowIndex=\"rowIndex\">\r\n\t\t\t<ng-container *ngIf=\"rowData.children?.length\">\r\n\t\t\t\t<tr *ngFor=\"let childRow of rowData.children; let i = index\" class=\"subRow\">\r\n\t\t\t\t\t<td *ngFor=\"let col of ColumnList; let j = index\" [ngClass]=\"col.className\">\r\n\t\t\t\t\t\t<span class=\"text-breakWord\" pTooltip=\"{{ col.tooltip }}\" tooltipPosition=\"{{ col.tooltipPosition }}\">\r\n\t\t\t\t\t\t\t<ng-container *ngIf=\"col.showIndex && j === 0; else normalCell\">\r\n\t\t\t\t\t\t\t\t<!-- \u00CDndice tipo 4.a, 4.b, etc -->\r\n\t\t\t\t\t\t\t\t{{ rowIndex + 1 + \".\" + getLetter(i) }}\r\n\t\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t\t\t<ng-template #normalCell>\r\n\t\t\t\t\t\t\t\t<!-- {{ col.field === \"id\" && i < 26 ? childRow[col.field] + \".\" + getLetter(i) : childRow[col.field] }} -->\r\n\t\t\t\t\t\t\t\t@if(col.field === \"id\" && i < 26) {\r\n\t\t\t\t\t\t\t\t<span>{{ childRow[col.field] + \".\" + getLetter(i) }}</span>\r\n\t\t\t\t\t\t\t\t} @else {\r\n\t\t\t\t\t\t\t\t<span [class]=\"col.field === 'name' ? 'prTable__expandIdentText' : ''\">{{ childRow[col.field] }}</span>\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t</tr>\r\n\t\t\t</ng-container>\r\n\t\t</ng-template>\r\n\r\n\t\t<ng-template #emptymessage>\r\n\t\t\t<tr>\r\n\t\t\t\t<td [attr.colspan]=\"ColumnList.length\" 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</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "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.RowToggler, selector: "[pRowToggler]", inputs: ["pRowToggler", "pRowTogglerDisabled"] }, { 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: "ngmodule", type: ButtonModule }, { kind: "component", type: i2.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }] });
2081
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.1", type: TreeTableComponent, isStandalone: true, selector: "intelica-tree-table", inputs: { ComponentId: "ComponentId", ListData: "ListData", ClassName: "ClassName", groupRowsBy: "groupRowsBy", dataKey: "dataKey", DefaultSortField: "DefaultSortField" }, outputs: { EmitSortEvent: "EmitSortEvent" }, queries: [{ propertyName: "Columns", predicate: TreeColumnComponent }, { propertyName: "ColumnGroups", predicate: TreeColumnGroupComponent }], usesOnChanges: true, ngImport: i0, template: "<div class=\"prTable\">\r\n\t<p-table class=\"prTableBasic\" [value]=\"ListDataFilter\" [ngClass]=\"ClassName\" responsiveLayout=\"scroll\" [sortOrder]=\"-1\" [groupRowsBy]=\"groupRowsBy\" dataKey=\"dataKey\">\r\n\t\t<ng-template pTemplate=\"header\">\r\n\t\t\t@for (level of Levels; track $index) {\r\n\r\n\t\t\t<tr>\r\n\t\t\t\t@for (col of ColumnGroupList; track $index) { @if (col.level === level) {\r\n\r\n\t\t\t\t<th [attr.colspan]=\"col.colspan\" [attr.rowspan]=\"col.rowspan\" [style.min-width]=\"col.minWidth\">\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</div>\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 [class]=\"col.className\" [pSortableColumn]=\"col.sortable ? col.field : ''\" [style.width]=\"col.width\" [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.headerTooltip }}\" tooltipPosition=\"{{ col.headerTooltipPosition }}\">{{ 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} }\r\n\t\t\t</tr>\r\n\t\t</ng-template>\r\n\t\t<ng-template pTemplate=\"body\" let-rowData let-rowIndex=\"rowIndex\" let-expanded=\"expanded\">\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.field === 'name' && rowData.children && rowData.children.length > 0) {\r\n\t\t\t\t\t<!-- Bot\u00F3n de expansi\u00F3n -->\r\n\t\t\t\t\t<div class=\"prTable__expandToggleRow\">\r\n\t\t\t\t\t\t<!-- <p-button type=\"button\" pRipple [pRowToggler]=\"rowData\" [text]=\"true\" [rounded]=\"true\" [plain]=\"true\" [icon]=\"expanded ? 'pi pi-chevron-down' : 'pi pi-chevron-right'\"></p-button> -->\r\n\t\t\t\t\t\t<p-button [pRowToggler]=\"rowData\" class=\"prButton prButton--icon prButton--iconBlue\">\r\n\t\t\t\t\t\t\t<i [class]=\"expanded ? 'icon icon-collapse-rows' : 'icon icon-expand-rows'\"></i>\r\n\t\t\t\t\t\t</p-button>\r\n\r\n\t\t\t\t\t\t<!-- Texto de la columna \"name\" -->\r\n\t\t\t\t\t\t<span class=\"text-breakWord\" pTooltip=\"{{ col.tooltip }}\" tooltipPosition=\"{{ col.tooltipPosition }}\">\r\n\t\t\t\t\t\t\t{{ rowData[col.field] }}\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t} @else {\r\n\t\t\t\t\t<!-- Otras columnas -->\r\n\t\t\t\t\t@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 {\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\r\n\t\t\t\t}\r\n\t\t\t</tr>\r\n\t\t</ng-template>\r\n\t\t<ng-template pTemplate=\"expandedrow\" let-rowData let-rowIndex=\"rowIndex\">\r\n\t\t\t<ng-container *ngIf=\"rowData.children?.length\">\r\n\t\t\t\t<tr *ngFor=\"let childRow of rowData.children; let i = index\" class=\"subRow\">\r\n\t\t\t\t\t<td *ngFor=\"let col of ColumnList; let j = index\" [ngClass]=\"col.className\">\r\n\t\t\t\t\t\t<span class=\"text-breakWord\" pTooltip=\"{{ col.tooltip }}\" tooltipPosition=\"{{ col.tooltipPosition }}\">\r\n\t\t\t\t\t\t\t<ng-container *ngIf=\"col.showIndex && j === 0; else normalCell\">\r\n\t\t\t\t\t\t\t\t<!-- \u00CDndice tipo 4.a, 4.b, etc -->\r\n\t\t\t\t\t\t\t\t{{ rowIndex + 1 + \".\" + getLetter(i) }}\r\n\t\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t\t\t<ng-template #normalCell>\r\n\t\t\t\t\t\t\t\t<!-- {{ col.field === \"id\" && i < 26 ? childRow[col.field] + \".\" + getLetter(i) : childRow[col.field] }} -->\r\n\t\t\t\t\t\t\t\t@if(col.field === \"id\" && i < 26) {\r\n\t\t\t\t\t\t\t\t<span>{{ childRow[col.field] + \".\" + getLetter(i) }}</span>\r\n\t\t\t\t\t\t\t\t} @else {\r\n\t\t\t\t\t\t\t\t<span [class]=\"col.field === 'name' ? 'prTable__expandIdentText' : ''\">{{ childRow[col.field] }}</span>\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t</tr>\r\n\t\t\t</ng-container>\r\n\t\t</ng-template>\r\n\r\n\t\t<ng-template #emptymessage>\r\n\t\t\t<tr>\r\n\t\t\t\t<td [attr.colspan]=\"ColumnList.length\" 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</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "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: "directive", type: i2$1.RowToggler, selector: "[pRowToggler]", inputs: ["pRowToggler", "pRowTogglerDisabled"] }, { kind: "component", type: i2$1.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { 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: "ngmodule", type: ButtonModule }, { kind: "component", type: i2.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }] });
2042
2082
  }
2043
2083
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: TreeTableComponent, decorators: [{
2044
2084
  type: Component,
2045
- args: [{ selector: "intelica-tree-table", standalone: true, imports: [CommonModule, TableModule, BadgeModule, TooltipModule, TermPipe, CheckboxModule, FormsModule, ButtonModule], template: "<div class=\"prTable\">\r\n\t<p-table class=\"prTableBasic\" [value]=\"ListData\" [ngClass]=\"ClassName\" responsiveLayout=\"scroll\" [sortOrder]=\"-1\" [groupRowsBy]=\"groupRowsBy\" dataKey=\"dataKey\">\r\n\t\t<ng-template pTemplate=\"header\">\r\n\t\t\t@for (level of Levels; track $index) {\r\n\r\n\t\t\t<tr>\r\n\t\t\t\t@for (col of ColumnGroupList; track $index) { @if (col.level === level) {\r\n\r\n\t\t\t\t<th [attr.colspan]=\"col.colspan\" [attr.rowspan]=\"col.rowspan\" [style.min-width]=\"col.minWidth\">\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</div>\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 [class]=\"col.className\" [style.width]=\"col.width\" [style.min-width]=\"col.minWidth\">\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</div>\r\n\t\t\t\t</th>\r\n\t\t\t\t} }\r\n\t\t\t</tr>\r\n\t\t</ng-template>\r\n\t\t<ng-template pTemplate=\"body\" let-rowData let-rowIndex=\"rowIndex\" let-expanded=\"expanded\">\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.field === 'name' && rowData.children && rowData.children.length > 0) {\r\n\t\t\t\t\t<!-- Bot\u00F3n de expansi\u00F3n -->\r\n\t\t\t\t\t<div class=\"prTable__expandToggleRow\">\r\n\t\t\t\t\t\t<!-- <p-button type=\"button\" pRipple [pRowToggler]=\"rowData\" [text]=\"true\" [rounded]=\"true\" [plain]=\"true\" [icon]=\"expanded ? 'pi pi-chevron-down' : 'pi pi-chevron-right'\"></p-button> -->\r\n\t\t\t\t\t\t<p-button [pRowToggler]=\"rowData\" class=\"prButton prButton--icon prButton--iconBlue\">\r\n\t\t\t\t\t\t\t<i [class]=\"expanded ? 'icon icon-collapse-rows' : 'icon icon-expand-rows'\"></i>\r\n\t\t\t\t\t\t</p-button>\r\n\r\n\t\t\t\t\t\t<!-- Texto de la columna \"name\" -->\r\n\t\t\t\t\t\t<span class=\"text-breakWord\" pTooltip=\"{{ col.tooltip }}\" tooltipPosition=\"{{ col.tooltipPosition }}\">\r\n\t\t\t\t\t\t\t{{ rowData[col.field] }}\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t} @else {\r\n\t\t\t\t\t<!-- Otras columnas -->\r\n\t\t\t\t\t@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 {\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\r\n\t\t\t\t}\r\n\t\t\t</tr>\r\n\t\t</ng-template>\r\n\t\t<ng-template pTemplate=\"expandedrow\" let-rowData let-rowIndex=\"rowIndex\">\r\n\t\t\t<ng-container *ngIf=\"rowData.children?.length\">\r\n\t\t\t\t<tr *ngFor=\"let childRow of rowData.children; let i = index\" class=\"subRow\">\r\n\t\t\t\t\t<td *ngFor=\"let col of ColumnList; let j = index\" [ngClass]=\"col.className\">\r\n\t\t\t\t\t\t<span class=\"text-breakWord\" pTooltip=\"{{ col.tooltip }}\" tooltipPosition=\"{{ col.tooltipPosition }}\">\r\n\t\t\t\t\t\t\t<ng-container *ngIf=\"col.showIndex && j === 0; else normalCell\">\r\n\t\t\t\t\t\t\t\t<!-- \u00CDndice tipo 4.a, 4.b, etc -->\r\n\t\t\t\t\t\t\t\t{{ rowIndex + 1 + \".\" + getLetter(i) }}\r\n\t\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t\t\t<ng-template #normalCell>\r\n\t\t\t\t\t\t\t\t<!-- {{ col.field === \"id\" && i < 26 ? childRow[col.field] + \".\" + getLetter(i) : childRow[col.field] }} -->\r\n\t\t\t\t\t\t\t\t@if(col.field === \"id\" && i < 26) {\r\n\t\t\t\t\t\t\t\t<span>{{ childRow[col.field] + \".\" + getLetter(i) }}</span>\r\n\t\t\t\t\t\t\t\t} @else {\r\n\t\t\t\t\t\t\t\t<span [class]=\"col.field === 'name' ? 'prTable__expandIdentText' : ''\">{{ childRow[col.field] }}</span>\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t</tr>\r\n\t\t\t</ng-container>\r\n\t\t</ng-template>\r\n\r\n\t\t<ng-template #emptymessage>\r\n\t\t\t<tr>\r\n\t\t\t\t<td [attr.colspan]=\"ColumnList.length\" 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</div>\r\n" }]
2085
+ args: [{ selector: "intelica-tree-table", standalone: true, imports: [CommonModule, TableModule, BadgeModule, TooltipModule, TermPipe, CheckboxModule, FormsModule, ButtonModule], template: "<div class=\"prTable\">\r\n\t<p-table class=\"prTableBasic\" [value]=\"ListDataFilter\" [ngClass]=\"ClassName\" responsiveLayout=\"scroll\" [sortOrder]=\"-1\" [groupRowsBy]=\"groupRowsBy\" dataKey=\"dataKey\">\r\n\t\t<ng-template pTemplate=\"header\">\r\n\t\t\t@for (level of Levels; track $index) {\r\n\r\n\t\t\t<tr>\r\n\t\t\t\t@for (col of ColumnGroupList; track $index) { @if (col.level === level) {\r\n\r\n\t\t\t\t<th [attr.colspan]=\"col.colspan\" [attr.rowspan]=\"col.rowspan\" [style.min-width]=\"col.minWidth\">\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</div>\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 [class]=\"col.className\" [pSortableColumn]=\"col.sortable ? col.field : ''\" [style.width]=\"col.width\" [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.headerTooltip }}\" tooltipPosition=\"{{ col.headerTooltipPosition }}\">{{ 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} }\r\n\t\t\t</tr>\r\n\t\t</ng-template>\r\n\t\t<ng-template pTemplate=\"body\" let-rowData let-rowIndex=\"rowIndex\" let-expanded=\"expanded\">\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.field === 'name' && rowData.children && rowData.children.length > 0) {\r\n\t\t\t\t\t<!-- Bot\u00F3n de expansi\u00F3n -->\r\n\t\t\t\t\t<div class=\"prTable__expandToggleRow\">\r\n\t\t\t\t\t\t<!-- <p-button type=\"button\" pRipple [pRowToggler]=\"rowData\" [text]=\"true\" [rounded]=\"true\" [plain]=\"true\" [icon]=\"expanded ? 'pi pi-chevron-down' : 'pi pi-chevron-right'\"></p-button> -->\r\n\t\t\t\t\t\t<p-button [pRowToggler]=\"rowData\" class=\"prButton prButton--icon prButton--iconBlue\">\r\n\t\t\t\t\t\t\t<i [class]=\"expanded ? 'icon icon-collapse-rows' : 'icon icon-expand-rows'\"></i>\r\n\t\t\t\t\t\t</p-button>\r\n\r\n\t\t\t\t\t\t<!-- Texto de la columna \"name\" -->\r\n\t\t\t\t\t\t<span class=\"text-breakWord\" pTooltip=\"{{ col.tooltip }}\" tooltipPosition=\"{{ col.tooltipPosition }}\">\r\n\t\t\t\t\t\t\t{{ rowData[col.field] }}\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t} @else {\r\n\t\t\t\t\t<!-- Otras columnas -->\r\n\t\t\t\t\t@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 {\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\r\n\t\t\t\t}\r\n\t\t\t</tr>\r\n\t\t</ng-template>\r\n\t\t<ng-template pTemplate=\"expandedrow\" let-rowData let-rowIndex=\"rowIndex\">\r\n\t\t\t<ng-container *ngIf=\"rowData.children?.length\">\r\n\t\t\t\t<tr *ngFor=\"let childRow of rowData.children; let i = index\" class=\"subRow\">\r\n\t\t\t\t\t<td *ngFor=\"let col of ColumnList; let j = index\" [ngClass]=\"col.className\">\r\n\t\t\t\t\t\t<span class=\"text-breakWord\" pTooltip=\"{{ col.tooltip }}\" tooltipPosition=\"{{ col.tooltipPosition }}\">\r\n\t\t\t\t\t\t\t<ng-container *ngIf=\"col.showIndex && j === 0; else normalCell\">\r\n\t\t\t\t\t\t\t\t<!-- \u00CDndice tipo 4.a, 4.b, etc -->\r\n\t\t\t\t\t\t\t\t{{ rowIndex + 1 + \".\" + getLetter(i) }}\r\n\t\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t\t\t<ng-template #normalCell>\r\n\t\t\t\t\t\t\t\t<!-- {{ col.field === \"id\" && i < 26 ? childRow[col.field] + \".\" + getLetter(i) : childRow[col.field] }} -->\r\n\t\t\t\t\t\t\t\t@if(col.field === \"id\" && i < 26) {\r\n\t\t\t\t\t\t\t\t<span>{{ childRow[col.field] + \".\" + getLetter(i) }}</span>\r\n\t\t\t\t\t\t\t\t} @else {\r\n\t\t\t\t\t\t\t\t<span [class]=\"col.field === 'name' ? 'prTable__expandIdentText' : ''\">{{ childRow[col.field] }}</span>\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t</tr>\r\n\t\t\t</ng-container>\r\n\t\t</ng-template>\r\n\r\n\t\t<ng-template #emptymessage>\r\n\t\t\t<tr>\r\n\t\t\t\t<td [attr.colspan]=\"ColumnList.length\" 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</div>\r\n" }]
2046
2086
  }], propDecorators: { ComponentId: [{
2047
2087
  type: Input
2048
2088
  }], ListData: [{
@@ -2053,12 +2093,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImpor
2053
2093
  type: Input
2054
2094
  }], dataKey: [{
2055
2095
  type: Input
2096
+ }], DefaultSortField: [{
2097
+ type: Input
2056
2098
  }], Columns: [{
2057
2099
  type: ContentChildren,
2058
2100
  args: [TreeColumnComponent]
2059
2101
  }], ColumnGroups: [{
2060
2102
  type: ContentChildren,
2061
2103
  args: [TreeColumnGroupComponent]
2104
+ }], EmitSortEvent: [{
2105
+ type: Output
2062
2106
  }] } });
2063
2107
 
2064
2108
  class MatrixColumnComponent {
@@ -2477,108 +2521,950 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImpor
2477
2521
  args: [ActionDirective]
2478
2522
  }] } });
2479
2523
 
2480
- class ModalDialogComponent {
2524
+ var FilterTypeEnum;
2525
+ (function (FilterTypeEnum) {
2526
+ FilterTypeEnum[FilterTypeEnum["Select"] = 0] = "Select";
2527
+ FilterTypeEnum[FilterTypeEnum["Text"] = 1] = "Text";
2528
+ FilterTypeEnum[FilterTypeEnum["Checkbox"] = 2] = "Checkbox";
2529
+ FilterTypeEnum[FilterTypeEnum["Date"] = 3] = "Date";
2530
+ FilterTypeEnum[FilterTypeEnum["SelectDetail"] = 4] = "SelectDetail";
2531
+ FilterTypeEnum[FilterTypeEnum["Template"] = 5] = "Template";
2532
+ FilterTypeEnum[FilterTypeEnum["TextArea"] = 6] = "TextArea";
2533
+ FilterTypeEnum[FilterTypeEnum["TextRange"] = 7] = "TextRange";
2534
+ })(FilterTypeEnum || (FilterTypeEnum = {}));
2535
+
2536
+ const noop = () => { };
2537
+ const CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR = {
2538
+ provide: NG_VALUE_ACCESSOR,
2539
+ useExisting: forwardRef(() => FilterDirective),
2540
+ multi: true,
2541
+ };
2542
+ class FilterDirective {
2543
+ name = "";
2544
+ label = "";
2545
+ visible = true;
2546
+ enabled = true;
2547
+ parent = "";
2548
+ placeholder = "";
2549
+ title = "";
2550
+ letterIndex = false;
2551
+ defaultValue;
2552
+ showClean = true;
2553
+ showInAppliedFilter = true;
2554
+ showClass = true;
2555
+ selectClass = null;
2556
+ confirmDateFormat = false;
2557
+ showfilter = false;
2558
+ visibilityRules = [];
2559
+ change = new EventEmitter();
2560
+ innerValue = "";
2561
+ children = [];
2562
+ $changes = new Subject();
2563
+ type;
2564
+ index = -1;
2565
+ get value() {
2566
+ return this.innerValue;
2567
+ }
2568
+ // set accessor including call the onchange callback
2569
+ set value(v) {
2570
+ if (v !== this.innerValue) {
2571
+ this.innerValue = v;
2572
+ this.onChangeCallback(v);
2573
+ }
2574
+ }
2575
+ constructor(filterType) {
2576
+ this.type = filterType;
2577
+ }
2578
+ writeValue(value) {
2579
+ if (value !== this.innerValue) {
2580
+ this.innerValue = value;
2581
+ }
2582
+ }
2583
+ registerOnChange(fn) {
2584
+ this.onChangeCallback = fn;
2585
+ }
2586
+ registerOnTouched(fn) {
2587
+ this.onTouchedCallback = fn;
2588
+ }
2589
+ setDisabledState(isDisabled) { }
2590
+ onBlur() {
2591
+ this.onTouchedCallback();
2592
+ }
2593
+ onTouchedCallback = noop;
2594
+ onChangeCallback = noop;
2595
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: FilterDirective, deps: [{ token: FilterTypeEnum }], target: i0.ɵɵFactoryTarget.Directive });
2596
+ 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 });
2597
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: FilterDirective, providedIn: "root" });
2598
+ }
2599
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: FilterDirective, decorators: [{
2600
+ type: Injectable,
2601
+ args: [{
2602
+ providedIn: "root",
2603
+ }]
2604
+ }, {
2605
+ type: Directive,
2606
+ args: [{ selector: "filter", providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR] }]
2607
+ }], ctorParameters: () => [{ type: FilterTypeEnum }], propDecorators: { name: [{
2608
+ type: Input
2609
+ }], label: [{
2610
+ type: Input
2611
+ }], visible: [{
2612
+ type: Input
2613
+ }], enabled: [{
2614
+ type: Input
2615
+ }], parent: [{
2616
+ type: Input
2617
+ }], placeholder: [{
2618
+ type: Input
2619
+ }], title: [{
2620
+ type: Input
2621
+ }], letterIndex: [{
2622
+ type: Input
2623
+ }], defaultValue: [{
2624
+ type: Input
2625
+ }], showClean: [{
2626
+ type: Input
2627
+ }], showInAppliedFilter: [{
2628
+ type: Input
2629
+ }], showClass: [{
2630
+ type: Input
2631
+ }], selectClass: [{
2632
+ type: Input
2633
+ }], confirmDateFormat: [{
2634
+ type: Input
2635
+ }], showfilter: [{
2636
+ type: Input
2637
+ }], visibilityRules: [{
2638
+ type: Input
2639
+ }], change: [{
2640
+ type: Output
2641
+ }] } });
2642
+
2643
+ class SelectFilterDirective extends FilterDirective {
2644
+ constructor() {
2645
+ super(FilterTypeEnum.Select);
2646
+ }
2647
+ options = [];
2648
+ optionLabel = "text";
2649
+ optionValue = "value";
2650
+ showFilter = false;
2651
+ showAll = false;
2652
+ multiple = false;
2653
+ popupWidth = "auto";
2654
+ appendTo = "";
2655
+ panelStyleClass = "prSelect";
2656
+ allText = "All";
2657
+ maxSelectedLabels = 3;
2658
+ virtualScroll = false;
2659
+ selectedItemsLabel = "Selected";
2660
+ ngOnChanges(changes) {
2661
+ this.$changes.next(changes);
2662
+ }
2663
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SelectFilterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2664
+ 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 });
2665
+ }
2666
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SelectFilterDirective, decorators: [{
2667
+ type: Directive,
2668
+ args: [{
2669
+ selector: "select-filter",
2670
+ providers: [{ provide: FilterDirective, useExisting: forwardRef(() => SelectFilterDirective) }],
2671
+ }]
2672
+ }], ctorParameters: () => [], propDecorators: { options: [{
2673
+ type: Input
2674
+ }], optionLabel: [{
2675
+ type: Input
2676
+ }], optionValue: [{
2677
+ type: Input
2678
+ }], showFilter: [{
2679
+ type: Input
2680
+ }], showAll: [{
2681
+ type: Input
2682
+ }], multiple: [{
2683
+ type: Input
2684
+ }], popupWidth: [{
2685
+ type: Input
2686
+ }], appendTo: [{
2687
+ type: Input
2688
+ }], panelStyleClass: [{
2689
+ type: Input
2690
+ }], allText: [{
2691
+ type: Input
2692
+ }], maxSelectedLabels: [{
2693
+ type: Input
2694
+ }], virtualScroll: [{
2695
+ type: Input
2696
+ }], selectedItemsLabel: [{
2697
+ type: Input
2698
+ }] } });
2699
+
2700
+ class MultiSelectComponent {
2481
2701
  /**
2482
- * Título del cuadro de diálogo.
2702
+ * @description Id
2703
+ * @default ""
2483
2704
  * @type {string}
2484
2705
  */
2485
- Title = "";
2706
+ id = "";
2486
2707
  /**
2487
- * Tamaño del cuadro de diálogo.
2708
+ * @description Opciones.
2709
+ * @example [{value: string, text: string}]
2710
+ * @type {any[]}
2711
+ */
2712
+ options = [];
2713
+ /**
2714
+ * @description Label name.
2715
+ * @default "text"
2716
+ * @type {{value: string, label: string}[]}
2717
+ */
2718
+ optionLabel = "text";
2719
+ /**
2720
+ * @description Value name.
2721
+ * @default "value"
2722
+ * @type {{value: string, label: string}[]}
2723
+ */
2724
+ optionValue = "value";
2725
+ /**
2726
+ * @description Placeholder
2727
+ * @default "Select an item"
2488
2728
  * @type {string}
2489
2729
  */
2490
- Size = "lg";
2730
+ placeholder = "Select an item";
2491
2731
  /**
2492
- * Controlar el arrastre del cuadro de diálogo.
2732
+ * @description Show filter textbox
2733
+ * @default false
2493
2734
  * @type {boolean}
2494
2735
  */
2495
- Draggable = false;
2736
+ showFilter = false;
2496
2737
  /**
2497
- * Controlar el cierre del cuadro de diálogo.
2738
+ * @description Show All Checkbox
2739
+ * @default false
2498
2740
  * @type {boolean}
2499
2741
  */
2500
- DisableMaskClose = false;
2742
+ showAll = false;
2501
2743
  /**
2502
- * Evento emitido al cerrar el cuadro de diálogo.
2503
- * @type {EventEmitter<boolean>}
2744
+ * @description All | Todo
2745
+ * @default "All"
2746
+ * @type {string}
2504
2747
  */
2505
- EmmitCloseModal = new EventEmitter();
2748
+ allText = "All";
2506
2749
  /**
2507
- * Visibilidad del cuadro de diálogo.
2750
+ * @description Number of selected labels to show
2751
+ * @default 3
2752
+ * @type {number}
2753
+ */
2754
+ maxSelectedLabels = 3;
2755
+ /**
2756
+ * @description Append To
2757
+ * @default ""
2508
2758
  * @type {string}
2509
2759
  */
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 {
2760
+ appendTo = "";
2537
2761
  /**
2538
- * Nombre de la acción.
2762
+ * @description Panel Style Class
2763
+ * @default ""
2539
2764
  * @type {string}
2540
2765
  */
2541
- name = "";
2766
+ panelStyleClass = "prMultiselect";
2542
2767
  /**
2543
- * Indica si los botones asociados a la acción deben ocultarse.
2768
+ * @description Enable virtual scroll
2769
+ * @default ""
2544
2770
  * @type {boolean}
2545
- * @default false
2546
2771
  */
2547
- hideButtons = false;
2772
+ virtualScroll = false;
2548
2773
  /**
2549
- * Indica si detener la propagación de eventos al hacer clic en la acción.
2774
+ * @description Enable virtual scroll
2775
+ * @default ""
2550
2776
  * @type {boolean}
2551
- * @default false
2552
2777
  */
2553
- stopPropagation = false;
2778
+ disabled = false;
2554
2779
  /**
2555
- * Evento emitido cuando se hace clic en la acción.
2556
- * @type {EventEmitter<any>}
2780
+ * @description Label for the selected items
2781
+ * @default ""
2782
+ * @type {string}
2557
2783
  */
2558
- onClick = new EventEmitter();
2784
+ selectedItemsLabel = "Selected";
2559
2785
  /**
2560
- * Referencia al contenido proporcionado por la plantilla.
2561
- * @type {any}
2786
+ * @description Style por color text
2787
+ * @default ""
2788
+ * @type {string}
2562
2789
  */
2563
- template;
2790
+ textColorClass = "";
2564
2791
  /**
2565
- * Indica si la acción está activa o no.
2566
- * @type {boolean}
2567
- * @default false
2792
+ * @description Change event
2793
+ * @emits {string[]}
2794
+ * @type {EventEmitter<string[]>}
2568
2795
  */
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
2796
+ onChangeEvent = new EventEmitter();
2797
+ checked = false;
2798
+ selectedOptions = [];
2799
+ onChangeFn = () => { };
2800
+ onTouchedFn = () => { };
2801
+ writeValue(value) {
2802
+ this.selectedOptions = value || [];
2803
+ this.checked = this.selectedOptions.length === this.options.length;
2804
+ }
2805
+ registerOnChange(fn) {
2806
+ this.onChangeFn = fn;
2807
+ }
2808
+ registerOnTouched(fn) {
2809
+ this.onTouchedFn = fn;
2810
+ }
2811
+ setDisabledState(isDisabled) {
2812
+ /* opcional: implementar si necesitas deshabilitar el componente desde ngModel */
2813
+ }
2814
+ toggleAllSelection(event) {
2815
+ this.selectedOptions = event.checked ? this.options.map(option => option[this.optionValue]) : [];
2816
+ this.emitChangeEvent();
2817
+ this.onChangeFn(this.selectedOptions);
2818
+ this.onTouchedFn();
2819
+ }
2820
+ onChangeSelect(event) {
2821
+ console.log("onChange -> ", event);
2822
+ this.checked = this.selectedOptions.length === this.options.length;
2823
+ this.emitChangeEvent();
2824
+ this.onChangeFn(this.selectedOptions);
2825
+ this.onTouchedFn();
2826
+ }
2827
+ emitChangeEvent() {
2828
+ this.onChangeEvent.emit(this.selectedOptions);
2829
+ this.onChangeFn(this.selectedOptions);
2830
+ this.onTouchedFn();
2831
+ }
2832
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: MultiSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2833
+ 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: [
2834
+ {
2835
+ provide: NG_VALUE_ACCESSOR,
2836
+ useExisting: forwardRef(() => MultiSelectComponent),
2837
+ multi: true,
2838
+ },
2839
+ ], 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"] }] });
2840
+ }
2841
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: MultiSelectComponent, decorators: [{
2842
+ type: Component,
2843
+ args: [{ selector: "intelica-multi-select", imports: [FormsModule, MultiSelectModule, CheckboxModule], providers: [
2844
+ {
2845
+ provide: NG_VALUE_ACCESSOR,
2846
+ useExisting: forwardRef(() => MultiSelectComponent),
2847
+ multi: true,
2848
+ },
2849
+ ], 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" }]
2850
+ }], propDecorators: { id: [{
2851
+ type: Input
2852
+ }], options: [{
2853
+ type: Input
2854
+ }], optionLabel: [{
2855
+ type: Input
2856
+ }], optionValue: [{
2857
+ type: Input
2858
+ }], placeholder: [{
2859
+ type: Input
2860
+ }], showFilter: [{
2861
+ type: Input
2862
+ }], showAll: [{
2863
+ type: Input
2864
+ }], allText: [{
2865
+ type: Input
2866
+ }], maxSelectedLabels: [{
2867
+ type: Input
2868
+ }], appendTo: [{
2869
+ type: Input
2870
+ }], panelStyleClass: [{
2871
+ type: Input
2872
+ }], virtualScroll: [{
2873
+ type: Input
2874
+ }], disabled: [{
2875
+ type: Input
2876
+ }], selectedItemsLabel: [{
2877
+ type: Input
2878
+ }], textColorClass: [{
2879
+ type: Input
2880
+ }], onChangeEvent: [{
2881
+ type: Output,
2882
+ args: ["onChange"]
2883
+ }] } });
2884
+
2885
+ class FiltersComponent {
2886
+ cd;
2887
+ GlobalTermService = inject(GlobalTermService);
2888
+ showButtons = true;
2889
+ customClass = "";
2890
+ EmitApply = new EventEmitter();
2891
+ EmitCancel = new EventEmitter();
2892
+ // Suscripciones a eventos
2893
+ subscriptions = [];
2894
+ // Objeto para almacenar términos
2895
+ terms;
2896
+ // Variable para mostrar u ocultar opciones de menú
2897
+ showMenuOptions = false;
2898
+ // Variable para manejar el estilo de altura de pantalla
2899
+ styleHeighScreen = false;
2900
+ // Lista de filtros aplicados
2901
+ _filtersApplied = [];
2902
+ // Clases CSS asociadas a diferentes tipos de controles
2903
+ radioClass = "radioStyle";
2904
+ comboClass = "comboStyle";
2905
+ ddlClass = "ddlStyle";
2906
+ ddtClass = "ddtStyle";
2907
+ dPClass = "dPStyle";
2908
+ mSClass = "mSStyle";
2909
+ // Texto descriptivo para la opción seleccionada
2910
+ selectDescription = "Selected";
2911
+ /**
2912
+ * Colección de elementos filtrados mediante la directiva FilterDirective.
2913
+ * Utilice @ContentChildren para obtener referencias a elementos dentro del contenido proyectado.
2914
+ * @type {QueryList<FilterDirective>}
2915
+ */
2916
+ filterDirectives;
2917
+ /**
2918
+ * Colección de instancias de DropDownListComponent.
2919
+ * Utilice @ViewChildren para obtener referencias a componentes hijos dentro de la vista actual.
2920
+ * @type {QueryList<DropDownListComponent>}
2921
+ */
2922
+ // @ViewChildren(DropDownListComponent) selects!: QueryList<DropDownListComponent>;
2923
+ // Cadena de letras
2924
+ letters = "abcdefghijklmnopqrstuvwxyz";
2925
+ // Arreglo de filtros
2926
+ filters = [];
2927
+ // Enumeración de tipos de filtro
2928
+ filterTypeEnum = FilterTypeEnum;
2929
+ // Índices y longitud de columnas
2930
+ indexArray = [];
2931
+ columnsLengthArray = [];
2932
+ // Idioma default para datepicker
2933
+ language = "en";
2934
+ constructor(cd) {
2935
+ this.cd = cd;
2936
+ }
2937
+ ngOnInit() { }
2938
+ ngOnChanges(changes) {
2939
+ for (const propertyName in changes) {
2940
+ if (propertyName === "columns") {
2941
+ const CHANGE = changes[propertyName];
2942
+ const CURRENT = CHANGE.currentValue;
2943
+ this.columnsLengthArray = Array.from({ length: CURRENT }, (v, i) => i);
2944
+ this.cd.detectChanges();
2945
+ }
2946
+ }
2947
+ }
2948
+ ngOnDestroy() {
2949
+ this.subscriptions.forEach(subscription => {
2950
+ subscription.unsubscribe();
2951
+ });
2952
+ }
2953
+ ngAfterViewInit() {
2954
+ this.filters = this.filterDirectives.toArray();
2955
+ // Vincula hijos con sus padres
2956
+ this.filters.forEach(filter => {
2957
+ if (filter.parent) {
2958
+ const parent = this.filters.find(f => f.name === filter.parent);
2959
+ if (parent) {
2960
+ parent.children.push(filter);
2961
+ }
2962
+ }
2963
+ });
2964
+ this.subscriptions = [];
2965
+ this.filterDirectives.forEach(filter => {
2966
+ if ((filter.value === undefined || filter.value === null || filter.value === "") && filter.defaultValue != null) {
2967
+ filter.value = filter.defaultValue;
2968
+ this.toggleChildrenVisibility(filter);
2969
+ }
2970
+ });
2971
+ this.cd.detectChanges();
2972
+ }
2973
+ onChange($event, filter) {
2974
+ const value = $event?.value !== undefined ? $event.value : $event;
2975
+ filter.value = value;
2976
+ this.toggleChildrenVisibility(filter);
2977
+ if (filter.change) {
2978
+ filter.change.emit({ current: filter, all: this.filterDirectives });
2979
+ }
2980
+ }
2981
+ onChangeCheck($event, filter) {
2982
+ filter.value = $event.checked;
2983
+ if (filter.change) {
2984
+ filter.change.emit({ current: filter, all: this.filterDirectives });
2985
+ }
2986
+ }
2987
+ onChangeMultiple($event, filter) {
2988
+ const value = $event?.value !== undefined ? $event.value : $event;
2989
+ filter.value = value;
2990
+ this.toggleChildrenVisibility(filter);
2991
+ if (filter.change) {
2992
+ filter.change.emit({ current: filter, all: this.filterDirectives });
2993
+ }
2994
+ }
2995
+ toggleChildrenVisibility(filter) {
2996
+ if (!filter.visibilityRules?.length)
2997
+ return;
2998
+ const allFilters = this.filterDirectives.toArray();
2999
+ filter.visibilityRules.forEach(rule => {
3000
+ const child = allFilters.find(f => f.name === rule.child);
3001
+ if (child) {
3002
+ const value = filter.value;
3003
+ const shouldShow = Array.isArray(value) ? value.some(v => rule.allowedValues.includes(v)) : rule.allowedValues.includes(value);
3004
+ child.visible = shouldShow;
3005
+ child.$changes.next({ visible: { currentValue: shouldShow } });
3006
+ }
3007
+ });
3008
+ }
3009
+ onKeyUp($event, filter) {
3010
+ if (filter.change)
3011
+ filter.change.emit({ current: filter, all: this.filterDirectives });
3012
+ }
3013
+ cleanValue(filter) {
3014
+ // Limpiar valor del filtro actual
3015
+ if (filter.defaultValue !== undefined && filter.defaultValue !== null) {
3016
+ filter.value = filter.defaultValue;
3017
+ }
3018
+ else {
3019
+ switch (typeof filter.value) {
3020
+ case "string":
3021
+ filter.value = "";
3022
+ break;
3023
+ case "boolean":
3024
+ filter.value = false;
3025
+ break;
3026
+ default:
3027
+ if (Array.isArray(filter.value)) {
3028
+ filter.value = [];
3029
+ }
3030
+ else {
3031
+ filter.value = null;
3032
+ }
3033
+ break;
3034
+ }
3035
+ }
3036
+ // Si es padre, limpiar hijos
3037
+ if (!filter.parent) {
3038
+ const children = this.filterDirectives.filter(f => f.parent === filter.name);
3039
+ const shouldHideChildren = !(filter.defaultValue !== undefined && filter.defaultValue !== null); // solo ocultar si el padre NO tiene defaultValue
3040
+ children.forEach(child => {
3041
+ if (child.defaultValue !== undefined && child.defaultValue !== null) {
3042
+ child.value = child.defaultValue;
3043
+ }
3044
+ else {
3045
+ switch (typeof child.value) {
3046
+ case "string":
3047
+ child.value = "";
3048
+ break;
3049
+ case "boolean":
3050
+ child.value = false;
3051
+ break;
3052
+ default:
3053
+ if (Array.isArray(child.value)) {
3054
+ child.value = [];
3055
+ }
3056
+ else {
3057
+ child.value = null;
3058
+ }
3059
+ break;
3060
+ }
3061
+ }
3062
+ if (shouldHideChildren) {
3063
+ child.visible = false;
3064
+ }
3065
+ if (child.change) {
3066
+ child.change.emit({ current: child, all: this.filterDirectives });
3067
+ }
3068
+ });
3069
+ }
3070
+ const index = this._filtersApplied.findIndex(x => x.name === filter.name);
3071
+ if (index !== -1)
3072
+ this._filtersApplied.splice(index, 1);
3073
+ if (filter.change) {
3074
+ filter.change.emit({ current: filter, all: this.filterDirectives });
3075
+ }
3076
+ this.cd.detectChanges();
3077
+ }
3078
+ /**
3079
+ * Construye y actualiza la lista de filtros aplicados con la información proporcionada por la directiva de filtro.
3080
+ * @param {FilterDirective} filter - La directiva de filtro que proporciona la información.
3081
+ * @returns {void}
3082
+ */
3083
+ builderFiltersApplied(filter) {
3084
+ if (!filter.showInAppliedFilter)
3085
+ return;
3086
+ let value = filter.value;
3087
+ let text = filter.value;
3088
+ let valueName = [];
3089
+ if (filter.type === FilterTypeEnum.Select) {
3090
+ const selectFilter = filter;
3091
+ if (selectFilter.multiple) {
3092
+ text = "";
3093
+ filter.value.forEach((f) => {
3094
+ let filterSelect = selectFilter.options.filter(x => x[selectFilter.optionValue] === f);
3095
+ if (filterSelect.length)
3096
+ valueName = [...valueName, filterSelect[0][selectFilter.optionLabel]];
3097
+ if (filterSelect.length > 0)
3098
+ text = text + filterSelect[0][selectFilter.optionLabel] + "-";
3099
+ });
3100
+ text = text.slice(0, -1);
3101
+ }
3102
+ else {
3103
+ let filterSelect = selectFilter.options.filter(x => x[selectFilter.optionValue] === filter.value);
3104
+ if (filterSelect.length > 0)
3105
+ text = filterSelect[0][selectFilter.optionLabel];
3106
+ }
3107
+ }
3108
+ let filterApplied = this._filtersApplied.filter(x => x.name === filter.name)[0];
3109
+ if (!filterApplied) {
3110
+ this._filtersApplied.push({
3111
+ name: filter.name,
3112
+ value: value,
3113
+ text: text,
3114
+ title: filter.title,
3115
+ valueName: valueName,
3116
+ });
3117
+ }
3118
+ else {
3119
+ filterApplied.text = text;
3120
+ filterApplied.value = value;
3121
+ }
3122
+ }
3123
+ /**
3124
+ * Obtiene el índice de un filtro en el contexto de todos los filtros visibles, proporcionando una numeración o letras.
3125
+ * @param {FilterDirective} filter - La directiva de filtro para la cual se obtendrá el índice.
3126
+ * @param {FilterDirective} [parentFilter] - La directiva de filtro padre, si existe, en el caso de filtros anidados.
3127
+ * @returns {string} - El índice del filtro en formato de numeración o letras.
3128
+ */
3129
+ getIndex(filter, parentFilter) {
3130
+ const filters = [...this.filterDirectives.filter(x => !x.parent && x.visible)];
3131
+ // Verifica si el filtro está en la lista principal de filtros visibles
3132
+ if (filters.indexOf(filter) > -1) {
3133
+ // Retorna el índice en formato de letras si está definido, de lo contrario, utiliza la numeración
3134
+ if (filter.letterIndex)
3135
+ return this.letters[filters.indexOf(filter)];
3136
+ return (filters.indexOf(filter) + 1).toString();
3137
+ }
3138
+ // Si hay un filtro padre proporcionado
3139
+ if (parentFilter) {
3140
+ const children = [...this.filterDirectives.filter(x => x.parent === parentFilter?.name && x.visible)];
3141
+ let index = "";
3142
+ // Concatena el índice del filtro padre en formato de letras o numeración
3143
+ if (parentFilter.letterIndex)
3144
+ index += this.letters[filters.indexOf(parentFilter)];
3145
+ else
3146
+ index += (filters.indexOf(parentFilter) + 1).toString();
3147
+ // Concatena el índice del filtro actual en formato de letras o numeración
3148
+ if (filter.letterIndex)
3149
+ index += "." + this.letters[children.indexOf(filter)];
3150
+ else
3151
+ index += "." + (children.indexOf(filter) + 1).toString();
3152
+ return index;
3153
+ }
3154
+ // Retorna 'ERROR' si no se cumple ninguna de las condiciones anteriores
3155
+ return "ERROR";
3156
+ }
3157
+ /**
3158
+ * Maneja el evento de hacer clic en el botón "Aplicar" para aplicar los filtros seleccionados.
3159
+ * Limpia la lista de filtros aplicados y construye la lista nuevamente con los valores actuales de los filtros.
3160
+ * Luego, emite el evento `EmitApply` con la lista de filtros aplicados.
3161
+ * @returns {void}
3162
+ */
3163
+ clickApply() {
3164
+ // Limpia la lista de filtros aplicados
3165
+ this._filtersApplied = [];
3166
+ // Itera sobre todas las directivas de filtro
3167
+ this.filterDirectives.forEach(filterDirective => {
3168
+ if (this.validateFilter(filterDirective)) {
3169
+ // Verifica si el tipo de filtro es de texto
3170
+ if (filterDirective.type === FilterTypeEnum.Text) {
3171
+ // Comprueba si el valor de texto no está vacío y agrega el filtro aplicado
3172
+ if (filterDirective.value !== undefined && filterDirective.value !== null && filterDirective.value.trim() !== "") {
3173
+ this.builderFiltersApplied(filterDirective);
3174
+ }
3175
+ }
3176
+ else {
3177
+ // Si el filtro requiere confirmación de formato de fecha, convierte el valor a un objeto de fecha
3178
+ if (filterDirective.confirmDateFormat) {
3179
+ filterDirective.value = new Date(filterDirective.value);
3180
+ }
3181
+ // Comprueba si el valor del filtro es válido y no está vacío, luego agrega el filtro aplicado
3182
+ if (filterDirective.value !== undefined &&
3183
+ filterDirective.value !== null &&
3184
+ (this.validStringValue(filterDirective.value, filterDirective.defaultValue) || filterDirective.value > -1 || Array.isArray(filterDirective.value)) &&
3185
+ filterDirective.value.toString().length > 0) {
3186
+ this.builderFiltersApplied(filterDirective);
3187
+ }
3188
+ }
3189
+ }
3190
+ });
3191
+ this.EmitApply.emit(this._filtersApplied);
3192
+ }
3193
+ validateFilter(filter) {
3194
+ if (filter instanceof SelectFilterDirective) {
3195
+ return filter.options && filter.value ? filter.options.length !== filter.value.length : true;
3196
+ }
3197
+ return true;
3198
+ }
3199
+ validStringValue(value, defaultValue) {
3200
+ return typeof (value == "string" || value === "Object") && value != defaultValue;
3201
+ }
3202
+ clickCancel() {
3203
+ this.filterDirectives.forEach(filter => {
3204
+ // Restaurar valor por default o limpiar
3205
+ if (filter.defaultValue !== undefined && filter.defaultValue !== null) {
3206
+ filter.value = filter.defaultValue;
3207
+ }
3208
+ else {
3209
+ switch (typeof filter.value) {
3210
+ case "string":
3211
+ filter.value = "";
3212
+ break;
3213
+ case "boolean":
3214
+ filter.value = false;
3215
+ break;
3216
+ case "object":
3217
+ if (Array.isArray(filter.value)) {
3218
+ filter.value = [];
3219
+ }
3220
+ else {
3221
+ filter.value = null;
3222
+ }
3223
+ break;
3224
+ default:
3225
+ filter.value = null;
3226
+ break;
3227
+ }
3228
+ }
3229
+ // Ocultar hijos si su padre no tiene defaultValue
3230
+ if (filter.parent) {
3231
+ const parent = this.filterDirectives.find(f => f.name === filter.parent);
3232
+ const parentHasDefault = parent?.defaultValue !== undefined && parent?.defaultValue !== null;
3233
+ if (!parentHasDefault) {
3234
+ filter.visible = false;
3235
+ }
3236
+ }
3237
+ if (filter.change) {
3238
+ filter.change.emit({ current: filter, all: this.filterDirectives });
3239
+ }
3240
+ });
3241
+ this._filtersApplied = [];
3242
+ this.EmitCancel.emit(this.filterDirectives);
3243
+ this.cd.detectChanges();
3244
+ }
3245
+ /**
3246
+ * Evalúa si el valor actual del filtro es diferente al valor predeterminado, considerando el tipo de filtro.
3247
+ * @param {FilterDirective} filter - La directiva de filtro a evaluar.
3248
+ * @returns {boolean} - `true` si el valor actual es diferente al valor predeterminado, `false` de lo contrario.
3249
+ */
3250
+ evaluatecleanvalue(filter) {
3251
+ let isContinue = filter.value != filter.defaultValue;
3252
+ // Si el tipo de filtro es de fecha y el valor predeterminado es un objeto de fecha, compara las fechas en milisegundos
3253
+ if (filter.type === FilterTypeEnum.Date && typeof filter.defaultValue === "object" && filter.defaultValue != null) {
3254
+ isContinue = filter.value.getTime() != filter.defaultValue.getTime();
3255
+ }
3256
+ // Si el tipo de filtro es SelectDetail, compara los primeros elementos de los arreglos
3257
+ if (filter.type === FilterTypeEnum.SelectDetail) {
3258
+ isContinue = filter.value[0] != filter.defaultValue[0];
3259
+ }
3260
+ return isContinue;
3261
+ }
3262
+ /**
3263
+ * Evalúa si el valor actual del filtro de texto es diferente al valor predeterminado y cumple con ciertas condiciones.
3264
+ * @param {FilterDirective} filter - La directiva de filtro de texto a evaluar.
3265
+ * @returns {boolean} - `true` si el valor actual cumple con las condiciones para ser diferente al valor predeterminado, `false` de lo contrario.
3266
+ */
3267
+ evaluatecleanvaluetext(filter) {
3268
+ let isContinue = filter.value != null && filter.value != 0 && filter.value != -1 && filter.value != filter.defaultValue && filter.showClass;
3269
+ if (filter.defaultValue) {
3270
+ isContinue = filter.value != null && filter.value != filter.defaultValue;
3271
+ }
3272
+ // Si el tipo de filtro es de fecha y el valor predeterminado es un objeto de fecha, compara las fechas en milisegundos
3273
+ if (filter.value != null && filter.type === FilterTypeEnum.Date && typeof filter.defaultValue === "object" && filter.defaultValue != null) {
3274
+ isContinue = filter.value.getTime() != filter.defaultValue.getTime();
3275
+ }
3276
+ if (filter.type === FilterTypeEnum.Select) {
3277
+ if (Array.isArray(filter.value) && Array.isArray(filter.defaultValue)) {
3278
+ isContinue = !this.arraysAreEqual(filter.value, filter.defaultValue);
3279
+ }
3280
+ else {
3281
+ isContinue = filter.value != filter.defaultValue;
3282
+ }
3283
+ }
3284
+ return isContinue;
3285
+ }
3286
+ arraysAreEqual(arr1, arr2) {
3287
+ if (arr1.length !== arr2.length)
3288
+ return false;
3289
+ return arr1.every((val, index) => val === arr2[index]);
3290
+ }
3291
+ hasValue(item) {
3292
+ const { value, type } = item;
3293
+ let has = false;
3294
+ if (type === this.filterTypeEnum.Select && Array.isArray(value)) {
3295
+ has = value.length > 0;
3296
+ }
3297
+ else if (type === this.filterTypeEnum.Text || type === this.filterTypeEnum.TextArea) {
3298
+ has = !!value && value.trim() !== "";
3299
+ }
3300
+ else if (type === this.filterTypeEnum.Date && Array.isArray(value)) {
3301
+ has = value.some(v => !!v);
3302
+ }
3303
+ else {
3304
+ has = !!value;
3305
+ }
3306
+ if (has && this.equalsDefault(item)) {
3307
+ return false;
3308
+ }
3309
+ return has;
3310
+ }
3311
+ equalsDefault(item) {
3312
+ const { value, defaultValue, type } = item;
3313
+ if (defaultValue === undefined || defaultValue === null) {
3314
+ return false;
3315
+ }
3316
+ if (type === this.filterTypeEnum.Select && Array.isArray(value) && Array.isArray(defaultValue)) {
3317
+ return value.length === defaultValue.length && value.every((v, i) => v === defaultValue[i]);
3318
+ }
3319
+ if (type === this.filterTypeEnum.Date && Array.isArray(value) && Array.isArray(defaultValue)) {
3320
+ return value.length === defaultValue.length && value.every((v, i) => v instanceof Date && defaultValue[i] instanceof Date && v.getTime() === defaultValue[i].getTime());
3321
+ }
3322
+ if (type === this.filterTypeEnum.Date && value instanceof Date && defaultValue instanceof Date) {
3323
+ return value.getTime() === defaultValue.getTime();
3324
+ }
3325
+ return value === defaultValue;
3326
+ }
3327
+ getDateView(mode) {
3328
+ switch (mode) {
3329
+ case "month":
3330
+ return "month";
3331
+ case "year":
3332
+ return "year";
3333
+ default:
3334
+ return "date";
3335
+ }
3336
+ }
3337
+ getDateFormat(mode) {
3338
+ switch (mode) {
3339
+ case "month":
3340
+ return "mm/yy";
3341
+ case "year":
3342
+ return "yy";
3343
+ default:
3344
+ return "dd/mm/yy";
3345
+ }
3346
+ }
3347
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: FiltersComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
3348
+ 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"] }] });
3349
+ }
3350
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: FiltersComponent, decorators: [{
3351
+ type: Component,
3352
+ 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" }]
3353
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { showButtons: [{
3354
+ type: Input
3355
+ }], customClass: [{
3356
+ type: Input
3357
+ }], EmitApply: [{
3358
+ type: Output
3359
+ }], EmitCancel: [{
3360
+ type: Output
3361
+ }], filterDirectives: [{
3362
+ type: ContentChildren,
3363
+ args: [FilterDirective]
3364
+ }] } });
3365
+
3366
+ class ModalDialogComponent {
3367
+ /**
3368
+ * Título del cuadro de diálogo.
3369
+ * @type {string}
3370
+ */
3371
+ Title = "";
3372
+ /**
3373
+ * Tamaño del cuadro de diálogo.
3374
+ * @type {string}
3375
+ */
3376
+ Size = "lg";
3377
+ /**
3378
+ * Controlar el arrastre del cuadro de diálogo.
3379
+ * @type {boolean}
3380
+ */
3381
+ Draggable = false;
3382
+ /**
3383
+ * Controlar el cierre del cuadro de diálogo.
3384
+ * @type {boolean}
3385
+ */
3386
+ DisableMaskClose = false;
3387
+ /**
3388
+ * Evento emitido al cerrar el cuadro de diálogo.
3389
+ * @type {EventEmitter<boolean>}
3390
+ */
3391
+ EmmitCloseModal = new EventEmitter();
3392
+ /**
3393
+ * Visibilidad del cuadro de diálogo.
3394
+ * @type {string}
3395
+ */
3396
+ Visible = false;
3397
+ showDialog() {
3398
+ this.Visible = true;
3399
+ }
3400
+ closeDialog() {
3401
+ this.Visible = false;
3402
+ this.EmmitCloseModal.emit(false);
3403
+ }
3404
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: ModalDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3405
+ 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"] }] });
3406
+ }
3407
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: ModalDialogComponent, decorators: [{
3408
+ type: Component,
3409
+ 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" }]
3410
+ }], propDecorators: { Title: [{
3411
+ type: Input
3412
+ }], Size: [{
3413
+ type: Input
3414
+ }], Draggable: [{
3415
+ type: Input
3416
+ }], DisableMaskClose: [{
3417
+ type: Input
3418
+ }], EmmitCloseModal: [{
3419
+ type: Output
3420
+ }] } });
3421
+
3422
+ class ItemSplitDirective {
3423
+ /**
3424
+ * Nombre de la acción.
3425
+ * @type {string}
3426
+ */
3427
+ name = "";
3428
+ /**
3429
+ * Indica si los botones asociados a la acción deben ocultarse.
3430
+ * @type {boolean}
3431
+ * @default false
3432
+ */
3433
+ hideButtons = false;
3434
+ /**
3435
+ * Indica si detener la propagación de eventos al hacer clic en la acción.
3436
+ * @type {boolean}
3437
+ * @default false
3438
+ */
3439
+ stopPropagation = false;
3440
+ /**
3441
+ * Evento emitido cuando se hace clic en la acción.
3442
+ * @type {EventEmitter<any>}
3443
+ */
3444
+ onClick = new EventEmitter();
3445
+ /**
3446
+ * Referencia al contenido proporcionado por la plantilla.
3447
+ * @type {any}
3448
+ */
3449
+ template;
3450
+ /**
3451
+ * Indica si la acción está activa o no.
3452
+ * @type {boolean}
3453
+ * @default false
3454
+ */
3455
+ active = false;
3456
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: ItemSplitDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3457
+ 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 });
3458
+ }
3459
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: ItemSplitDirective, decorators: [{
3460
+ type: Directive,
3461
+ args: [{
3462
+ selector: "itemsplit",
3463
+ }]
3464
+ }], propDecorators: { name: [{
3465
+ type: Input
3466
+ }], hideButtons: [{
3467
+ type: Input
2582
3468
  }], stopPropagation: [{
2583
3469
  type: Input
2584
3470
  }], onClick: [{
@@ -3113,173 +3999,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImpor
3113
3999
  args: ["document:click", ["$event"]]
3114
4000
  }] } });
3115
4001
 
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: [{
3279
- type: Output,
3280
- args: ["onChange"]
3281
- }] } });
3282
-
3283
4002
  class SkeletonService {
3284
4003
  isLoading = signal(false);
3285
4004
  hide() {
@@ -3350,7 +4069,7 @@ class SkeletonTableComponent {
3350
4069
  return new Array(this.rows);
3351
4070
  }
3352
4071
  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"] }] });
4072
+ 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
4073
  }
3355
4074
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkeletonTableComponent, decorators: [{
3356
4075
  type: Component,
@@ -3443,7 +4162,7 @@ class SkeletonChartComponent {
3443
4162
  return Array.from({ length }, (_, i) => i);
3444
4163
  }
3445
4164
  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"] }] });
4165
+ 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
4166
  }
3448
4167
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkeletonChartComponent, decorators: [{
3449
4168
  type: Component,
@@ -3650,6 +4369,200 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImpor
3650
4369
  type: Input
3651
4370
  }] } });
3652
4371
 
4372
+ class CheckboxFilterDirective extends FilterDirective {
4373
+ constructor() {
4374
+ super(FilterTypeEnum.Checkbox);
4375
+ }
4376
+ modeCheckBox = "";
4377
+ ngOnChanges(changes) {
4378
+ this.$changes.next(changes);
4379
+ }
4380
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: CheckboxFilterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
4381
+ 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 });
4382
+ }
4383
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: CheckboxFilterDirective, decorators: [{
4384
+ type: Directive,
4385
+ args: [{
4386
+ selector: "checkbox-filter",
4387
+ providers: [{ provide: FilterDirective, useExisting: forwardRef(() => CheckboxFilterDirective) }],
4388
+ }]
4389
+ }], ctorParameters: () => [], propDecorators: { modeCheckBox: [{
4390
+ type: Input
4391
+ }] } });
4392
+
4393
+ class DateFilterDirective extends FilterDirective {
4394
+ constructor() {
4395
+ super(FilterTypeEnum.Date);
4396
+ }
4397
+ format = "MM-yyyy";
4398
+ start = "year";
4399
+ depth = "Year";
4400
+ strictMode = false;
4401
+ min = new Date(1970, 0, 1);
4402
+ max = new Date();
4403
+ showTodayButton = false;
4404
+ allowEdit = true;
4405
+ range = false;
4406
+ dateMode = "day";
4407
+ open = new EventEmitter();
4408
+ navigated = new EventEmitter();
4409
+ ngOnChanges(changes) {
4410
+ this.$changes.next(changes);
4411
+ }
4412
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: DateFilterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
4413
+ 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 });
4414
+ }
4415
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: DateFilterDirective, decorators: [{
4416
+ type: Directive,
4417
+ args: [{
4418
+ selector: "date-filter",
4419
+ providers: [{ provide: FilterDirective, useExisting: forwardRef(() => DateFilterDirective) }],
4420
+ }]
4421
+ }], ctorParameters: () => [], propDecorators: { format: [{
4422
+ type: Input
4423
+ }], start: [{
4424
+ type: Input
4425
+ }], depth: [{
4426
+ type: Input
4427
+ }], strictMode: [{
4428
+ type: Input
4429
+ }], min: [{
4430
+ type: Input
4431
+ }], max: [{
4432
+ type: Input
4433
+ }], showTodayButton: [{
4434
+ type: Input
4435
+ }], allowEdit: [{
4436
+ type: Input
4437
+ }], range: [{
4438
+ type: Input
4439
+ }], dateMode: [{
4440
+ type: Input
4441
+ }], open: [{
4442
+ type: Output
4443
+ }], navigated: [{
4444
+ type: Output
4445
+ }] } });
4446
+
4447
+ class SelectDetailFilterDirective extends FilterDirective {
4448
+ constructor() {
4449
+ super(FilterTypeEnum.SelectDetail);
4450
+ }
4451
+ id = "";
4452
+ fieldText = "";
4453
+ fieldValue = "";
4454
+ fieldDetail = "";
4455
+ data = [];
4456
+ ngOnChanges(changes) {
4457
+ this.$changes.next(changes);
4458
+ }
4459
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SelectDetailFilterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
4460
+ 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 });
4461
+ }
4462
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SelectDetailFilterDirective, decorators: [{
4463
+ type: Directive,
4464
+ args: [{
4465
+ selector: "select-detail-filter",
4466
+ providers: [{ provide: FilterDirective, useExisting: forwardRef(() => SelectDetailFilterDirective) }],
4467
+ }]
4468
+ }], ctorParameters: () => [], propDecorators: { id: [{
4469
+ type: Input
4470
+ }], fieldText: [{
4471
+ type: Input
4472
+ }], fieldValue: [{
4473
+ type: Input
4474
+ }], fieldDetail: [{
4475
+ type: Input
4476
+ }], data: [{
4477
+ type: Input
4478
+ }] } });
4479
+
4480
+ class TemplateDirective extends FilterDirective {
4481
+ constructor() {
4482
+ super(FilterTypeEnum.Template);
4483
+ }
4484
+ content;
4485
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: TemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
4486
+ 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 });
4487
+ }
4488
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: TemplateDirective, decorators: [{
4489
+ type: Directive,
4490
+ args: [{
4491
+ selector: "template-filter",
4492
+ providers: [{ provide: FilterDirective, useExisting: forwardRef(() => TemplateDirective) }],
4493
+ }]
4494
+ }], ctorParameters: () => [], propDecorators: { content: [{
4495
+ type: ContentChild,
4496
+ args: ["content"]
4497
+ }] } });
4498
+
4499
+ class TextAreaFilterDirective extends FilterDirective {
4500
+ constructor() {
4501
+ super(FilterTypeEnum.TextArea);
4502
+ }
4503
+ ngOnChanges(changes) {
4504
+ this.$changes.next(changes);
4505
+ }
4506
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: TextAreaFilterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
4507
+ 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 });
4508
+ }
4509
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: TextAreaFilterDirective, decorators: [{
4510
+ type: Directive,
4511
+ args: [{
4512
+ selector: "view-text-area-filter",
4513
+ providers: [{ provide: FilterDirective, useExisting: forwardRef(() => TextAreaFilterDirective) }],
4514
+ }]
4515
+ }], ctorParameters: () => [] });
4516
+
4517
+ class TextFilterDirective extends FilterDirective {
4518
+ constructor() {
4519
+ super(FilterTypeEnum.Text);
4520
+ }
4521
+ ngOnChanges(changes) {
4522
+ this.$changes.next(changes);
4523
+ }
4524
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: TextFilterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
4525
+ 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 });
4526
+ }
4527
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: TextFilterDirective, decorators: [{
4528
+ type: Directive,
4529
+ args: [{
4530
+ selector: "text-filter",
4531
+ providers: [{ provide: FilterDirective, useExisting: forwardRef(() => TextFilterDirective) }],
4532
+ standalone: true,
4533
+ }]
4534
+ }], ctorParameters: () => [] });
4535
+
4536
+ class TextRangeFilterDirective extends FilterDirective {
4537
+ constructor() {
4538
+ super(FilterTypeEnum.TextRange);
4539
+ }
4540
+ minRange = "";
4541
+ maxRange = "";
4542
+ minLabel = "";
4543
+ maxLabel = "";
4544
+ ngOnChanges(changes) {
4545
+ this.$changes.next(changes);
4546
+ }
4547
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: TextRangeFilterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
4548
+ 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 });
4549
+ }
4550
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: TextRangeFilterDirective, decorators: [{
4551
+ type: Directive,
4552
+ args: [{
4553
+ selector: "text-range-filter",
4554
+ providers: [{ provide: FilterDirective, useExisting: forwardRef(() => TextRangeFilterDirective) }],
4555
+ }]
4556
+ }], ctorParameters: () => [], propDecorators: { minRange: [{
4557
+ type: Input
4558
+ }], maxRange: [{
4559
+ type: Input
4560
+ }], minLabel: [{
4561
+ type: Input
4562
+ }], maxLabel: [{
4563
+ type: Input
4564
+ }] } });
4565
+
3653
4566
  class HtmlToExcelService {
3654
4567
  ExportTOExcel(idTabla, html, filename, tabname, extension) {
3655
4568
  let Table = document.getElementById(idTabla);
@@ -6910,5 +7823,5 @@ const IntelicaTheme = definePreset(Aura, {
6910
7823
  * Generated bundle index. Do not edit.
6911
7824
  */
6912
7825
 
6913
- export { ActionDirective, ActionsMenuComponent, ButtonSplitComponent, Color, ColumnComponent, ColumnGroupComponent, 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, SearchComponent, SharedService, SkeletonChartComponent, SkeletonComponent, SkeletonService, SkeletonTableComponent, SortingComponent, SpinnerComponent, SpinnerService, SweetAlertService, TableComponent, TableFetchComponent, TemplateMenuComponent, TermGuard, TermPipe, TermService, TreeColumnComponent, TreeColumnGroupComponent, TreeTableComponent, TruncatePipe, decryptData, encryptData, getColor };
7826
+ 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 };
6914
7827
  //# sourceMappingURL=intelica-library-ui.mjs.map