intelica-library-ui 0.1.166 → 0.1.167

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.
@@ -3171,6 +3171,7 @@ class FilterDirective {
3171
3171
  showClass = true;
3172
3172
  selectClass = null;
3173
3173
  confirmDateFormat = false;
3174
+ hasFilterActionsButton = false;
3174
3175
  visibilityRules = [];
3175
3176
  change = new EventEmitter();
3176
3177
  innerValue = "";
@@ -3209,7 +3210,7 @@ class FilterDirective {
3209
3210
  onTouchedCallback = noop;
3210
3211
  onChangeCallback = noop;
3211
3212
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: FilterDirective, deps: [{ token: FilterTypeEnum }], target: i0.ɵɵFactoryTarget.Directive });
3212
- 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", filterClass: "filterClass", letterIndex: "letterIndex", defaultValue: "defaultValue", showClean: "showClean", showInAppliedFilter: "showInAppliedFilter", showClass: "showClass", selectClass: "selectClass", confirmDateFormat: "confirmDateFormat", visibilityRules: "visibilityRules" }, outputs: { change: "change" }, providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR], ngImport: i0 });
3213
+ 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", filterClass: "filterClass", letterIndex: "letterIndex", defaultValue: "defaultValue", showClean: "showClean", showInAppliedFilter: "showInAppliedFilter", showClass: "showClass", selectClass: "selectClass", confirmDateFormat: "confirmDateFormat", hasFilterActionsButton: "hasFilterActionsButton", visibilityRules: "visibilityRules" }, outputs: { change: "change" }, providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR], ngImport: i0 });
3213
3214
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: FilterDirective, providedIn: "root" });
3214
3215
  }
3215
3216
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: FilterDirective, decorators: [{
@@ -3219,7 +3220,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImpor
3219
3220
  }]
3220
3221
  }, {
3221
3222
  type: Directive,
3222
- args: [{ selector: "filter", providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR] }]
3223
+ args: [{
3224
+ selector: "filter",
3225
+ providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR],
3226
+ }]
3223
3227
  }], ctorParameters: () => [{ type: FilterTypeEnum }], propDecorators: { name: [{
3224
3228
  type: Input
3225
3229
  }], label: [{
@@ -3250,6 +3254,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImpor
3250
3254
  type: Input
3251
3255
  }], confirmDateFormat: [{
3252
3256
  type: Input
3257
+ }], hasFilterActionsButton: [{
3258
+ type: Input
3253
3259
  }], visibilityRules: [{
3254
3260
  type: Input
3255
3261
  }], change: [{
@@ -3349,10 +3355,10 @@ class MultiSelectComponent {
3349
3355
  */
3350
3356
  textColorClass = "";
3351
3357
  /**
3352
- * @description Enable group
3353
- * @default ""
3354
- * @type {boolean}
3355
- */
3358
+ * @description Enable group
3359
+ * @default ""
3360
+ * @type {boolean}
3361
+ */
3356
3362
  group = false;
3357
3363
  /**
3358
3364
  * @description Change event
@@ -3395,11 +3401,11 @@ class MultiSelectComponent {
3395
3401
  else {
3396
3402
  if (this.group) {
3397
3403
  // Agrupadas: aplanar todos los items
3398
- this.selectedOptions = this.options.flatMap(group => group.items.map((item) => this.optionValue ? item[this.optionValue] : item));
3404
+ this.selectedOptions = this.options.flatMap((group) => group.items.map((item) => this.optionValue ? item[this.optionValue] : item));
3399
3405
  }
3400
3406
  else {
3401
3407
  // Sin agrupar
3402
- this.selectedOptions = this.options.map(option => this.optionValue ? option[this.optionValue] : option);
3408
+ this.selectedOptions = this.options.map((option) => this.optionValue ? option[this.optionValue] : option);
3403
3409
  }
3404
3410
  }
3405
3411
  this.checked = this.selectedOptions.length > 0;
@@ -3429,11 +3435,17 @@ class MultiSelectComponent {
3429
3435
  useExisting: forwardRef(() => MultiSelectComponent),
3430
3436
  multi: true,
3431
3437
  },
3432
- ], ngImport: i0, template: "<p-multiSelect\r\n [class]=\"textColorClass + ' prMultiselect'\"\r\n [disabled]=\"disabled\"\r\n [options]=\"options\"\r\n [(ngModel)]=\"selectedOptions\"\r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue\"\r\n [placeholder]=\"placeholder\"\r\n [maxSelectedLabels]=\"maxSelectedLabels\"\r\n [filter]=\"showFilter\"\r\n [showToggleAll]=\"false\"\r\n (onChange)=\"onChangeSelect($event)\"\r\n (onPanelHide)=\"onPanelHide($event)\"\r\n (onPanelShow)=\"onPanelShow($event)\"\r\n [appendTo]=\"appendTo\"\r\n [panelStyleClass]=\"panelStyleClass\"\r\n [virtualScroll]=\"virtualScroll\"\r\n [virtualScrollOptions]=\"{ itemSize: 25, scrollHeight: '200px' }\"\r\n selectedItemsLabel=\"{0} {{\r\n selectedItemsLabel | term : GlobalTermService.languageCode\r\n }}\"\r\n [group]=\"group\"\r\n>\r\n @if(showAll){\r\n <ng-template #header>\r\n <div class=\"prMultiselect__all\">\r\n <label [for]=\"id + '-all'\">\r\n <p-checkbox\r\n [inputId]=\"id + '-all'\"\r\n [binary]=\"true\"\r\n [(ngModel)]=\"checked\"\r\n (onChange)=\"toggleAllSelection($event)\"\r\n ></p-checkbox>\r\n {{ allText | term : GlobalTermService.languageCode }}\r\n </label>\r\n </div>\r\n </ng-template>\r\n }\r\n <ng-template let-group #group *ngIf=\"group\">\r\n <div class=\"flex items-center\">\r\n <span>{{ group.label }}</span>\r\n </div>\r\n </ng-template>\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"] }, { kind: "pipe", type: TermPipe, name: "term" }] });
3438
+ ], ngImport: i0, template: "<p-multiSelect\r\n [class]=\"textColorClass + ' prMultiselect'\"\r\n [disabled]=\"disabled\"\r\n [options]=\"options\"\r\n [(ngModel)]=\"selectedOptions\"\r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue\"\r\n [placeholder]=\"placeholder\"\r\n [maxSelectedLabels]=\"maxSelectedLabels\"\r\n [filter]=\"showFilter\"\r\n [showToggleAll]=\"false\"\r\n (onChange)=\"onChangeSelect($event)\"\r\n (onPanelHide)=\"onPanelHide($event)\"\r\n (onPanelShow)=\"onPanelShow($event)\"\r\n [appendTo]=\"appendTo\"\r\n [panelStyleClass]=\"panelStyleClass\"\r\n [virtualScroll]=\"virtualScroll\"\r\n [virtualScrollOptions]=\"{ itemSize: 25, scrollHeight: '200px' }\"\r\n selectedItemsLabel=\"{0} {{\r\n selectedItemsLabel | term : GlobalTermService.languageCode\r\n }}\"\r\n [group]=\"group\"\r\n>\r\n @if(showAll){\r\n <ng-template #header>\r\n <div class=\"prMultiselect__all\">\r\n <label [for]=\"id + '-all'\">\r\n <p-checkbox\r\n [inputId]=\"id + '-all'\"\r\n [binary]=\"true\"\r\n [(ngModel)]=\"checked\"\r\n (onChange)=\"toggleAllSelection($event)\"\r\n ></p-checkbox>\r\n {{ allText | term : GlobalTermService.languageCode }}\r\n </label>\r\n </div>\r\n </ng-template>\r\n }\r\n <ng-template let-group #group *ngIf=\"group\">\r\n <div class=\"flex items-center\">\r\n <span>{{ group.label }}</span>\r\n </div>\r\n </ng-template>\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"] }, { kind: "pipe", type: TermPipe, name: "term" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
3433
3439
  }
3434
3440
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: MultiSelectComponent, decorators: [{
3435
3441
  type: Component,
3436
- args: [{ selector: "intelica-multi-select", imports: [FormsModule, MultiSelectModule, CheckboxModule, TermPipe], providers: [
3442
+ args: [{ selector: "intelica-multi-select", imports: [
3443
+ FormsModule,
3444
+ MultiSelectModule,
3445
+ CheckboxModule,
3446
+ TermPipe,
3447
+ CommonModule,
3448
+ ], providers: [
3437
3449
  {
3438
3450
  provide: NG_VALUE_ACCESSOR,
3439
3451
  useExisting: forwardRef(() => MultiSelectComponent),
@@ -3516,6 +3528,8 @@ class FiltersComponent {
3516
3528
  * @type {QueryList<FilterDirective>}
3517
3529
  */
3518
3530
  filterDirectives;
3531
+ // Referencia al ng-template filterActionsButton
3532
+ filterActionsButtonTemplate;
3519
3533
  /**
3520
3534
  * Colección de instancias de DropDownListComponent.
3521
3535
  * Utilice @ViewChildren para obtener referencias a componentes hijos dentro de la vista actual.
@@ -3826,7 +3840,9 @@ class FiltersComponent {
3826
3840
  // Si el filtro requiere confirmación de formato de fecha, convierte el valor a un objeto de fecha
3827
3841
  if (filterDirective.confirmDateFormat) {
3828
3842
  const parsedDate = new Date(filterDirective.value);
3829
- filterDirective.value = this.isValidDate(parsedDate) ? parsedDate : null;
3843
+ filterDirective.value = this.isValidDate(parsedDate)
3844
+ ? parsedDate
3845
+ : null;
3830
3846
  }
3831
3847
  // Comprueba si el valor del filtro es válido y no está vacío, luego agrega el filtro aplicado
3832
3848
  if (filterDirective.value !== undefined &&
@@ -4034,15 +4050,14 @@ class FiltersComponent {
4034
4050
  setColumnSize() {
4035
4051
  let response = "col-md-6";
4036
4052
  if (this.filterDirectives) {
4037
- const visibleParents = this.filterDirectives.filter(x => x.visible && !x.parent);
4053
+ const visibleParents = this.filterDirectives.filter((x) => x.visible && !x.parent);
4038
4054
  const columnBreak = Math.ceil(visibleParents.length / this.columns);
4039
4055
  for (const ind of this.columnsLengthArray) {
4040
4056
  const pageNumber = ind + 1;
4041
- const parentsInCol = visibleParents
4042
- .slice((pageNumber - 1) * columnBreak, pageNumber * columnBreak);
4057
+ const parentsInCol = visibleParents.slice((pageNumber - 1) * columnBreak, pageNumber * columnBreak);
4043
4058
  for (const parent of parentsInCol) {
4044
4059
  parent.index = ind;
4045
- const children = this.filterDirectives.filter(x => x.visible && x.parent === parent.name);
4060
+ const children = this.filterDirectives.filter((x) => x.visible && x.parent === parent.name);
4046
4061
  for (const child of children) {
4047
4062
  child.index = ind;
4048
4063
  }
@@ -4072,7 +4087,7 @@ class FiltersComponent {
4072
4087
  return response;
4073
4088
  }
4074
4089
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: FiltersComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
4075
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.1", type: FiltersComponent, isStandalone: true, selector: "intelica-filters", inputs: { showButtons: "showButtons", customClass: "customClass", columns: "columns" }, outputs: { EmitApply: "EmitApply", EmitCancel: "EmitCancel" }, queries: [{ propertyName: "filterDirectives", predicate: FilterDirective }], usesOnChanges: true, ngImport: i0, template: "<div class=\"container overflow-hidden\" [ngStyle]=\"{'min-width' : 313 * columns + 'px' }\">\r\n <div class=\"row gy-3 filtersAnalytics\">\r\n\r\n @for (colIndex of columnsLengthArray; track colIndex) {\r\n <div class=\"inputRowGap\" [ngClass]=\"setColumnSize()\">\r\n\r\n @for (filter of filterDirectives; track filter) {\r\n @if (filter.visible && !filter.parent && filter.index == colIndex) {\r\n <div class=\"mb-3\">\r\n <ng-container *ngTemplateOutlet=\"template; context: { item: filter, index: getIndex(filter) }\"></ng-container>\r\n </div>\r\n\r\n @for (child of filterDirectives; track child) {\r\n @if (child.visible && child.parent === filter.name && child.index == colIndex) {\r\n <div class=\"mb-3\">\r\n <ng-container *ngTemplateOutlet=\"template; context: { item: child, index: getIndex(child, filter) }\"></ng-container>\r\n </div>\r\n }\r\n }\r\n }\r\n }\r\n\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n\r\n@if (showButtons) {\r\n<div class=\"btnBox btnBox--center mt-4\">\r\n <button\r\n pRipple\r\n class=\"grButton grButton--primary applyAnalytics\"\r\n (click)=\"clickApply()\"\r\n >\r\n <span>{{ \"Apply\" | term : GlobalTermService.languageCode }}</span>\r\n </button>\r\n <button\r\n pRipple\r\n class=\"grButton grButton--secondary cleanAnalytics\"\r\n (click)=\"clickCancel()\"\r\n >\r\n <span>{{ \"Clear\" | term : GlobalTermService.languageCode }}</span>\r\n </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 @if (item.visible) {\r\n <div\r\n class=\"formRowInput {{ item.filterClass }}\"\r\n [ngClass]=\"{ required: item.required }\"\r\n >\r\n @if (item.label && item.label.length > 0) {\r\n <div class=\"formRowInputLeft align-items-baseline\">\r\n <div class=\"formRowInputNumber\">\r\n <span>{{ index }}</span>\r\n </div>\r\n <label [for]=\"item.name\">\r\n <span>{{ item.label }}</span>\r\n </label>\r\n </div>\r\n }\r\n <div class=\"formRowInputWrap align-items-center\">\r\n @if (item.type === filterTypeEnum.Select) {\r\n <ng-container\r\n *ngTemplateOutlet=\"select; context: { item: item, index: index }\"\r\n ></ng-container>\r\n }\r\n <!---->\r\n @if (item.type === filterTypeEnum.Text) {\r\n <ng-container\r\n *ngTemplateOutlet=\"text; context: { item: item, index: index }\"\r\n ></ng-container>\r\n }\r\n <!---->\r\n @if (item.type === filterTypeEnum.Checkbox) {\r\n <ng-container\r\n *ngTemplateOutlet=\"checkbox; context: { item: item, index: index }\"\r\n ></ng-container>\r\n }\r\n <!---->\r\n @if (item.type === filterTypeEnum.Date) {\r\n <ng-container\r\n *ngTemplateOutlet=\"date; context: { item: item, index: index }\"\r\n ></ng-container>\r\n }\r\n <!---->\r\n @if (item.type === filterTypeEnum.Template) {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n template_filter;\r\n context: { item: item, index: index }\r\n \"\r\n ></ng-container>\r\n }\r\n <!---->\r\n @if (item.type === filterTypeEnum.TextArea) {\r\n <ng-container\r\n *ngTemplateOutlet=\"text_area; context: { item: item, index: index }\"\r\n ></ng-container>\r\n }\r\n </div>\r\n @if (item.showClean && hasValue(item)) {\r\n <button class=\"desactive formRowInputClear\" (click)=\"cleanValue(item)\">\r\n <i class=\"icon-times\"></i>\r\n </button>\r\n }\r\n </div>\r\n }\r\n</ng-template>\r\n\r\n<!-- Tipos de filtros -->\r\n<ng-template #select let-item=\"item\" let-index=\"index\">\r\n @if (item.multiple) {\r\n <intelica-multi-select\r\n [placeholder]=\"item.placeholder\"\r\n [options]=\"item.options\"\r\n [showFilter]=\"getOptionCount(item) > filterThreshold\"\r\n [showAll]=\"item.showAll\"\r\n [optionLabel]=\"item.optionLabel\"\r\n [optionValue]=\"item.optionValue\"\r\n [disabled]=\"!item.enabled\"\r\n [(ngModel)]=\"item.value\"\r\n (onChange)=\"onChangeMultiple($event, item)\"\r\n [appendTo]=\"item.appendTo\"\r\n [panelStyleClass]=\"item.panelStyleClass\"\r\n [allText]=\"item.allText\"\r\n [maxSelectedLabels]=\"item.maxSelectedLabels\"\r\n [virtualScroll]=\"item.virtualScroll\"\r\n [selectedItemsLabel]=\"item.selectedItemsLabel\"\r\n [group]=\"item.group\"\r\n class=\"fullWidth\"\r\n ></intelica-multi-select>\r\n } @else {\r\n <p-select\r\n [options]=\"item.options\"\r\n [(ngModel)]=\"item.value\"\r\n [optionLabel]=\"item.optionLabel\"\r\n [optionValue]=\"item.optionValue\"\r\n [placeholder]=\"item.placeholder\"\r\n [disabled]=\"!item.enabled\"\r\n (onChange)=\"onChange($event, item)\"\r\n [filter]=\"getOptionCount(item) > filterThreshold\"\r\n [appendTo]=\"item.appendTo\"\r\n [panelStyleClass]=\"item.panelStyleClass\"\r\n [virtualScroll]=\"item.virtualScroll\"\r\n [virtualScrollItemSize]=\"25\"\r\n [group]=\"item.group\"\r\n class=\"prSelect\"\r\n appendTo=\"body\"\r\n panelStyleClass=\"prSelect\"\r\n >\r\n <ng-template let-group #group *ngIf=\"item.group\">\r\n <div class=\"flex items-center\">\r\n <span>{{ group.label }}</span>\r\n </div>\r\n </ng-template>\r\n </p-select>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #text let-item=\"item\" let-index=\"index\">\r\n <input\r\n pInputText\r\n class=\"prInputText\"\r\n type=\"text\"\r\n [disabled]=\"!item.enabled\"\r\n [(ngModel)]=\"item.value\"\r\n [placeholder]=\"item.placeholder\"\r\n (keyup)=\"onKeyUp($event, item)\"\r\n [maxlength]=\"item.maxlength\"\r\n />\r\n</ng-template>\r\n\r\n<ng-template #checkbox let-item=\"item\" let-index=\"index\">\r\n <p-checkbox\r\n class=\"prCheckbox\"\r\n [(ngModel)]=\"item.value\"\r\n [binary]=\"true\"\r\n [disabled]=\"!item.enabled\"\r\n (onChange)=\"onChangeCheck($event, item)\"\r\n ></p-checkbox>\r\n</ng-template>\r\n\r\n<ng-template #date let-item=\"item\" let-index=\"index\">\r\n <p-datepicker\r\n [(ngModel)]=\"item.value\"\r\n [selectionMode]=\"item.range ? 'range' : 'single'\"\r\n [disabled]=\"!item.enabled\"\r\n [iconDisplay]=\"'input'\"\r\n [showIcon]=\"true\"\r\n (ngModelChange)=\"onChange($event, item)\"\r\n [view]=\"getDateView(item.dateMode)\"\r\n [dateFormat]=\"getDateFormat(item.dateMode)\"\r\n class=\"prDatePicker\"\r\n appendTo=\"body\"\r\n panelStyleClass=\"prDatePicker\"\r\n [placeholder]=\"getDateFormatPlaceholder(item.dateMode)\"\r\n [readonlyInput]=\"item.isReadOnly\"\r\n [minDate]=\"item.min\"\r\n [maxDate]=\"item.max\"\r\n ></p-datepicker>\r\n</ng-template>\r\n\r\n<ng-template #template_filter let-item=\"item\" let-index=\"index\">\r\n <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 <textarea\r\n pTextarea\r\n class=\"prInputText\"\r\n [disabled]=\"!item.enabled\"\r\n [(ngModel)]=\"item.value\"\r\n [placeholder]=\"item.placeholder\"\r\n (keyup)=\"onKeyUp($event, item)\"\r\n ></textarea>\r\n</ng-template>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { 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: "directive", type: i4$1.InputText, selector: "[pInputText]", inputs: ["variant", "fluid", "pSize"] }, { 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: i6.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: i7.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", "group"], outputs: ["onChange", "onPanelShow", "onPanelHide"] }] });
4090
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.1", type: FiltersComponent, isStandalone: true, selector: "intelica-filters", inputs: { showButtons: "showButtons", customClass: "customClass", columns: "columns" }, outputs: { EmitApply: "EmitApply", EmitCancel: "EmitCancel" }, queries: [{ propertyName: "filterActionsButtonTemplate", first: true, predicate: ["filterActionsButton"], descendants: true, static: true }, { propertyName: "filterDirectives", predicate: FilterDirective }], usesOnChanges: true, ngImport: i0, template: "<div class=\"container overflow-hidden\" [ngStyle]=\"{ 'min-width': 313 * columns + 'px' }\">\r\n\t<div class=\"row gy-3 filtersAnalytics\">\r\n\t\t@for (colIndex of columnsLengthArray; track colIndex) {\r\n\t\t<div class=\"inputRowGap\" [ngClass]=\"setColumnSize()\">\r\n\t\t\t@for (filter of filterDirectives; track filter) { @if (filter.visible && !filter.parent && filter.index == colIndex) {\r\n\t\t\t<div class=\"mb-3\">\r\n\t\t\t\t<ng-container *ngTemplateOutlet=\"template; context: { item: filter, index: getIndex(filter) }\"></ng-container>\r\n\t\t\t</div>\r\n\r\n\t\t\t@for (child of filterDirectives; track child) { @if (child.visible && child.parent === filter.name && child.index == colIndex) {\r\n\t\t\t<div class=\"mb-3\">\r\n\t\t\t\t<ng-container *ngTemplateOutlet=\"template; context: { item: child, index: getIndex(child, filter) }\"></ng-container>\r\n\t\t\t</div>\r\n\t\t\t} } } }\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=\"formRowInput {{ item.filterClass }}\" [ngClass]=\"{ required: item.required }\">\r\n\t\t@if (item.label && item.label.length > 0) {\r\n\t\t<div class=\"formRowInputLeft\">\r\n\t\t\t<div class=\"formRowInputNumber\">\r\n\t\t\t\t<span>{{ index }}</span>\r\n\t\t\t</div>\r\n\t\t\t<label [for]=\"item.name\">\r\n\t\t\t\t<span>{{ item.label }}</span>\r\n\t\t\t</label>\r\n\t\t</div>\r\n\t\t}\r\n\t\t<div class=\"formRowInputWrap align-items-center\">\r\n\t\t\t@if (item.type === filterTypeEnum.Select) {\r\n\t\t\t<ng-container *ngTemplateOutlet=\"select; context: { item: item, index: index }\"></ng-container>\r\n\t\t\t}\r\n\t\t\t<!---->\r\n\t\t\t@if (item.type === filterTypeEnum.Text) {\r\n\t\t\t<ng-container *ngTemplateOutlet=\"text; context: { item: item, index: index }\"></ng-container>\r\n\t\t\t}\r\n\t\t\t<!---->\r\n\t\t\t@if (item.type === filterTypeEnum.Checkbox) {\r\n\t\t\t<ng-container *ngTemplateOutlet=\"checkbox; context: { item: item, index: index }\"></ng-container>\r\n\t\t\t}\r\n\t\t\t<!---->\r\n\t\t\t@if (item.type === filterTypeEnum.Date) {\r\n\t\t\t<ng-container *ngTemplateOutlet=\"date; context: { item: item, index: index }\"></ng-container>\r\n\t\t\t}\r\n\t\t\t<!---->\r\n\t\t\t@if (item.type === filterTypeEnum.Template) {\r\n\t\t\t<ng-container *ngTemplateOutlet=\"template_filter; context: { item: item, index: index }\"></ng-container>\r\n\t\t\t}\r\n\t\t\t<!---->\r\n\t\t\t@if (item.type === filterTypeEnum.TextArea) {\r\n\t\t\t<ng-container *ngTemplateOutlet=\"text_area; context: { item: item, index: index }\"></ng-container>\r\n\t\t\t}\r\n\t\t\t@if (filterActionsButtonTemplate && item.hasFilterActionsButton) {\r\n\t\t\t\t<ng-container *ngTemplateOutlet=\"filterActionsButtonTemplate\"></ng-container>\r\n\t\t\t}\r\n\t\t</div>\r\n\t\t @if (item.showClean && hasValue(item)) {\r\n\t\t<button class=\"desactive formRowInputClear\" (click)=\"cleanValue(item)\">\r\n\t\t\t<i class=\"icon-times\"></i>\r\n\t\t</button>\r\n\t\t}\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]=\"getOptionCount(item) > filterThreshold\"\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[group]=\"item.group\"\r\n\t\tclass=\"fullWidth\"\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]=\"getOptionCount(item) > filterThreshold\"\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\t[group]=\"item.group\"\r\n\t\tclass=\"prSelect\"\r\n\t\tappendTo=\"body\"\r\n\t\tpanelStyleClass=\"prSelect\"\r\n\t>\r\n\t\t<ng-template let-group #group *ngIf=\"item.group\">\r\n\t\t\t<div class=\"flex items-center\">\r\n\t\t\t\t<span>{{ group.label }}</span>\r\n\t\t\t</div>\r\n\t\t</ng-template>\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 pInputText class=\"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\tpanelStyleClass=\"prDatePicker\"\r\n\t\t[placeholder]=\"getDateFormatPlaceholder(item.dateMode)\"\r\n\t\t[readonlyInput]=\"item.isReadOnly\"\r\n\t\t[minDate]=\"item.min\"\r\n\t\t[maxDate]=\"item.max\"\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", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { 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: "directive", type: i4$1.InputText, selector: "[pInputText]", inputs: ["variant", "fluid", "pSize"] }, { 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: i6.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: i7.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", "group"], outputs: ["onChange", "onPanelShow", "onPanelHide"] }] });
4076
4091
  }
4077
4092
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: FiltersComponent, decorators: [{
4078
4093
  type: Component,
@@ -4089,7 +4104,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImpor
4089
4104
  TextareaModule,
4090
4105
  RippleModule,
4091
4106
  MultiSelectComponent,
4092
- ], template: "<div class=\"container overflow-hidden\" [ngStyle]=\"{'min-width' : 313 * columns + 'px' }\">\r\n <div class=\"row gy-3 filtersAnalytics\">\r\n\r\n @for (colIndex of columnsLengthArray; track colIndex) {\r\n <div class=\"inputRowGap\" [ngClass]=\"setColumnSize()\">\r\n\r\n @for (filter of filterDirectives; track filter) {\r\n @if (filter.visible && !filter.parent && filter.index == colIndex) {\r\n <div class=\"mb-3\">\r\n <ng-container *ngTemplateOutlet=\"template; context: { item: filter, index: getIndex(filter) }\"></ng-container>\r\n </div>\r\n\r\n @for (child of filterDirectives; track child) {\r\n @if (child.visible && child.parent === filter.name && child.index == colIndex) {\r\n <div class=\"mb-3\">\r\n <ng-container *ngTemplateOutlet=\"template; context: { item: child, index: getIndex(child, filter) }\"></ng-container>\r\n </div>\r\n }\r\n }\r\n }\r\n }\r\n\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n\r\n@if (showButtons) {\r\n<div class=\"btnBox btnBox--center mt-4\">\r\n <button\r\n pRipple\r\n class=\"grButton grButton--primary applyAnalytics\"\r\n (click)=\"clickApply()\"\r\n >\r\n <span>{{ \"Apply\" | term : GlobalTermService.languageCode }}</span>\r\n </button>\r\n <button\r\n pRipple\r\n class=\"grButton grButton--secondary cleanAnalytics\"\r\n (click)=\"clickCancel()\"\r\n >\r\n <span>{{ \"Clear\" | term : GlobalTermService.languageCode }}</span>\r\n </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 @if (item.visible) {\r\n <div\r\n class=\"formRowInput {{ item.filterClass }}\"\r\n [ngClass]=\"{ required: item.required }\"\r\n >\r\n @if (item.label && item.label.length > 0) {\r\n <div class=\"formRowInputLeft align-items-baseline\">\r\n <div class=\"formRowInputNumber\">\r\n <span>{{ index }}</span>\r\n </div>\r\n <label [for]=\"item.name\">\r\n <span>{{ item.label }}</span>\r\n </label>\r\n </div>\r\n }\r\n <div class=\"formRowInputWrap align-items-center\">\r\n @if (item.type === filterTypeEnum.Select) {\r\n <ng-container\r\n *ngTemplateOutlet=\"select; context: { item: item, index: index }\"\r\n ></ng-container>\r\n }\r\n <!---->\r\n @if (item.type === filterTypeEnum.Text) {\r\n <ng-container\r\n *ngTemplateOutlet=\"text; context: { item: item, index: index }\"\r\n ></ng-container>\r\n }\r\n <!---->\r\n @if (item.type === filterTypeEnum.Checkbox) {\r\n <ng-container\r\n *ngTemplateOutlet=\"checkbox; context: { item: item, index: index }\"\r\n ></ng-container>\r\n }\r\n <!---->\r\n @if (item.type === filterTypeEnum.Date) {\r\n <ng-container\r\n *ngTemplateOutlet=\"date; context: { item: item, index: index }\"\r\n ></ng-container>\r\n }\r\n <!---->\r\n @if (item.type === filterTypeEnum.Template) {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n template_filter;\r\n context: { item: item, index: index }\r\n \"\r\n ></ng-container>\r\n }\r\n <!---->\r\n @if (item.type === filterTypeEnum.TextArea) {\r\n <ng-container\r\n *ngTemplateOutlet=\"text_area; context: { item: item, index: index }\"\r\n ></ng-container>\r\n }\r\n </div>\r\n @if (item.showClean && hasValue(item)) {\r\n <button class=\"desactive formRowInputClear\" (click)=\"cleanValue(item)\">\r\n <i class=\"icon-times\"></i>\r\n </button>\r\n }\r\n </div>\r\n }\r\n</ng-template>\r\n\r\n<!-- Tipos de filtros -->\r\n<ng-template #select let-item=\"item\" let-index=\"index\">\r\n @if (item.multiple) {\r\n <intelica-multi-select\r\n [placeholder]=\"item.placeholder\"\r\n [options]=\"item.options\"\r\n [showFilter]=\"getOptionCount(item) > filterThreshold\"\r\n [showAll]=\"item.showAll\"\r\n [optionLabel]=\"item.optionLabel\"\r\n [optionValue]=\"item.optionValue\"\r\n [disabled]=\"!item.enabled\"\r\n [(ngModel)]=\"item.value\"\r\n (onChange)=\"onChangeMultiple($event, item)\"\r\n [appendTo]=\"item.appendTo\"\r\n [panelStyleClass]=\"item.panelStyleClass\"\r\n [allText]=\"item.allText\"\r\n [maxSelectedLabels]=\"item.maxSelectedLabels\"\r\n [virtualScroll]=\"item.virtualScroll\"\r\n [selectedItemsLabel]=\"item.selectedItemsLabel\"\r\n [group]=\"item.group\"\r\n class=\"fullWidth\"\r\n ></intelica-multi-select>\r\n } @else {\r\n <p-select\r\n [options]=\"item.options\"\r\n [(ngModel)]=\"item.value\"\r\n [optionLabel]=\"item.optionLabel\"\r\n [optionValue]=\"item.optionValue\"\r\n [placeholder]=\"item.placeholder\"\r\n [disabled]=\"!item.enabled\"\r\n (onChange)=\"onChange($event, item)\"\r\n [filter]=\"getOptionCount(item) > filterThreshold\"\r\n [appendTo]=\"item.appendTo\"\r\n [panelStyleClass]=\"item.panelStyleClass\"\r\n [virtualScroll]=\"item.virtualScroll\"\r\n [virtualScrollItemSize]=\"25\"\r\n [group]=\"item.group\"\r\n class=\"prSelect\"\r\n appendTo=\"body\"\r\n panelStyleClass=\"prSelect\"\r\n >\r\n <ng-template let-group #group *ngIf=\"item.group\">\r\n <div class=\"flex items-center\">\r\n <span>{{ group.label }}</span>\r\n </div>\r\n </ng-template>\r\n </p-select>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #text let-item=\"item\" let-index=\"index\">\r\n <input\r\n pInputText\r\n class=\"prInputText\"\r\n type=\"text\"\r\n [disabled]=\"!item.enabled\"\r\n [(ngModel)]=\"item.value\"\r\n [placeholder]=\"item.placeholder\"\r\n (keyup)=\"onKeyUp($event, item)\"\r\n [maxlength]=\"item.maxlength\"\r\n />\r\n</ng-template>\r\n\r\n<ng-template #checkbox let-item=\"item\" let-index=\"index\">\r\n <p-checkbox\r\n class=\"prCheckbox\"\r\n [(ngModel)]=\"item.value\"\r\n [binary]=\"true\"\r\n [disabled]=\"!item.enabled\"\r\n (onChange)=\"onChangeCheck($event, item)\"\r\n ></p-checkbox>\r\n</ng-template>\r\n\r\n<ng-template #date let-item=\"item\" let-index=\"index\">\r\n <p-datepicker\r\n [(ngModel)]=\"item.value\"\r\n [selectionMode]=\"item.range ? 'range' : 'single'\"\r\n [disabled]=\"!item.enabled\"\r\n [iconDisplay]=\"'input'\"\r\n [showIcon]=\"true\"\r\n (ngModelChange)=\"onChange($event, item)\"\r\n [view]=\"getDateView(item.dateMode)\"\r\n [dateFormat]=\"getDateFormat(item.dateMode)\"\r\n class=\"prDatePicker\"\r\n appendTo=\"body\"\r\n panelStyleClass=\"prDatePicker\"\r\n [placeholder]=\"getDateFormatPlaceholder(item.dateMode)\"\r\n [readonlyInput]=\"item.isReadOnly\"\r\n [minDate]=\"item.min\"\r\n [maxDate]=\"item.max\"\r\n ></p-datepicker>\r\n</ng-template>\r\n\r\n<ng-template #template_filter let-item=\"item\" let-index=\"index\">\r\n <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 <textarea\r\n pTextarea\r\n class=\"prInputText\"\r\n [disabled]=\"!item.enabled\"\r\n [(ngModel)]=\"item.value\"\r\n [placeholder]=\"item.placeholder\"\r\n (keyup)=\"onKeyUp($event, item)\"\r\n ></textarea>\r\n</ng-template>\r\n" }]
4107
+ ], template: "<div class=\"container overflow-hidden\" [ngStyle]=\"{ 'min-width': 313 * columns + 'px' }\">\r\n\t<div class=\"row gy-3 filtersAnalytics\">\r\n\t\t@for (colIndex of columnsLengthArray; track colIndex) {\r\n\t\t<div class=\"inputRowGap\" [ngClass]=\"setColumnSize()\">\r\n\t\t\t@for (filter of filterDirectives; track filter) { @if (filter.visible && !filter.parent && filter.index == colIndex) {\r\n\t\t\t<div class=\"mb-3\">\r\n\t\t\t\t<ng-container *ngTemplateOutlet=\"template; context: { item: filter, index: getIndex(filter) }\"></ng-container>\r\n\t\t\t</div>\r\n\r\n\t\t\t@for (child of filterDirectives; track child) { @if (child.visible && child.parent === filter.name && child.index == colIndex) {\r\n\t\t\t<div class=\"mb-3\">\r\n\t\t\t\t<ng-container *ngTemplateOutlet=\"template; context: { item: child, index: getIndex(child, filter) }\"></ng-container>\r\n\t\t\t</div>\r\n\t\t\t} } } }\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=\"formRowInput {{ item.filterClass }}\" [ngClass]=\"{ required: item.required }\">\r\n\t\t@if (item.label && item.label.length > 0) {\r\n\t\t<div class=\"formRowInputLeft\">\r\n\t\t\t<div class=\"formRowInputNumber\">\r\n\t\t\t\t<span>{{ index }}</span>\r\n\t\t\t</div>\r\n\t\t\t<label [for]=\"item.name\">\r\n\t\t\t\t<span>{{ item.label }}</span>\r\n\t\t\t</label>\r\n\t\t</div>\r\n\t\t}\r\n\t\t<div class=\"formRowInputWrap align-items-center\">\r\n\t\t\t@if (item.type === filterTypeEnum.Select) {\r\n\t\t\t<ng-container *ngTemplateOutlet=\"select; context: { item: item, index: index }\"></ng-container>\r\n\t\t\t}\r\n\t\t\t<!---->\r\n\t\t\t@if (item.type === filterTypeEnum.Text) {\r\n\t\t\t<ng-container *ngTemplateOutlet=\"text; context: { item: item, index: index }\"></ng-container>\r\n\t\t\t}\r\n\t\t\t<!---->\r\n\t\t\t@if (item.type === filterTypeEnum.Checkbox) {\r\n\t\t\t<ng-container *ngTemplateOutlet=\"checkbox; context: { item: item, index: index }\"></ng-container>\r\n\t\t\t}\r\n\t\t\t<!---->\r\n\t\t\t@if (item.type === filterTypeEnum.Date) {\r\n\t\t\t<ng-container *ngTemplateOutlet=\"date; context: { item: item, index: index }\"></ng-container>\r\n\t\t\t}\r\n\t\t\t<!---->\r\n\t\t\t@if (item.type === filterTypeEnum.Template) {\r\n\t\t\t<ng-container *ngTemplateOutlet=\"template_filter; context: { item: item, index: index }\"></ng-container>\r\n\t\t\t}\r\n\t\t\t<!---->\r\n\t\t\t@if (item.type === filterTypeEnum.TextArea) {\r\n\t\t\t<ng-container *ngTemplateOutlet=\"text_area; context: { item: item, index: index }\"></ng-container>\r\n\t\t\t}\r\n\t\t\t@if (filterActionsButtonTemplate && item.hasFilterActionsButton) {\r\n\t\t\t\t<ng-container *ngTemplateOutlet=\"filterActionsButtonTemplate\"></ng-container>\r\n\t\t\t}\r\n\t\t</div>\r\n\t\t @if (item.showClean && hasValue(item)) {\r\n\t\t<button class=\"desactive formRowInputClear\" (click)=\"cleanValue(item)\">\r\n\t\t\t<i class=\"icon-times\"></i>\r\n\t\t</button>\r\n\t\t}\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]=\"getOptionCount(item) > filterThreshold\"\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[group]=\"item.group\"\r\n\t\tclass=\"fullWidth\"\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]=\"getOptionCount(item) > filterThreshold\"\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\t[group]=\"item.group\"\r\n\t\tclass=\"prSelect\"\r\n\t\tappendTo=\"body\"\r\n\t\tpanelStyleClass=\"prSelect\"\r\n\t>\r\n\t\t<ng-template let-group #group *ngIf=\"item.group\">\r\n\t\t\t<div class=\"flex items-center\">\r\n\t\t\t\t<span>{{ group.label }}</span>\r\n\t\t\t</div>\r\n\t\t</ng-template>\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 pInputText class=\"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\tpanelStyleClass=\"prDatePicker\"\r\n\t\t[placeholder]=\"getDateFormatPlaceholder(item.dateMode)\"\r\n\t\t[readonlyInput]=\"item.isReadOnly\"\r\n\t\t[minDate]=\"item.min\"\r\n\t\t[maxDate]=\"item.max\"\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" }]
4093
4108
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { showButtons: [{
4094
4109
  type: Input
4095
4110
  }], customClass: [{
@@ -4103,6 +4118,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImpor
4103
4118
  }], filterDirectives: [{
4104
4119
  type: ContentChildren,
4105
4120
  args: [FilterDirective]
4121
+ }], filterActionsButtonTemplate: [{
4122
+ type: ContentChild,
4123
+ args: ["filterActionsButton", { static: true }]
4106
4124
  }] } });
4107
4125
 
4108
4126
  class ModalDialogComponent {