intelica-library-ui 0.1.162 → 0.1.164
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.
|
@@ -3210,10 +3210,14 @@ class FiltersComponent {
|
|
|
3210
3210
|
columnsLengthArray = [];
|
|
3211
3211
|
// Idioma default para datepicker
|
|
3212
3212
|
language = "en";
|
|
3213
|
+
//Cantidad limite para mostrar buscador en select-filter
|
|
3214
|
+
filterThreshold = 10;
|
|
3213
3215
|
constructor(cd) {
|
|
3214
3216
|
this.cd = cd;
|
|
3215
3217
|
}
|
|
3216
|
-
ngOnInit() {
|
|
3218
|
+
ngOnInit() {
|
|
3219
|
+
this.columnsLengthArray = Array.from({ length: this.columns }, (_, i) => i);
|
|
3220
|
+
}
|
|
3217
3221
|
ngOnChanges(changes) {
|
|
3218
3222
|
for (const propertyName in changes) {
|
|
3219
3223
|
if (propertyName === "columns") {
|
|
@@ -3230,8 +3234,8 @@ class FiltersComponent {
|
|
|
3230
3234
|
});
|
|
3231
3235
|
}
|
|
3232
3236
|
ngAfterViewInit() {
|
|
3237
|
+
this.setColumnSize();
|
|
3233
3238
|
this.filters = this.filterDirectives.toArray();
|
|
3234
|
-
// Vincula hijos con sus padres
|
|
3235
3239
|
this.filters.forEach((filter) => {
|
|
3236
3240
|
if (filter.parent) {
|
|
3237
3241
|
const parent = this.filters.find((f) => f.name === filter.parent);
|
|
@@ -3252,6 +3256,18 @@ class FiltersComponent {
|
|
|
3252
3256
|
});
|
|
3253
3257
|
this.cd.detectChanges();
|
|
3254
3258
|
}
|
|
3259
|
+
getOptionCount(item) {
|
|
3260
|
+
if (!item.options || !Array.isArray(item.options))
|
|
3261
|
+
return 0;
|
|
3262
|
+
if (item.group) {
|
|
3263
|
+
return item.options.reduce((total, group) => {
|
|
3264
|
+
return total + (Array.isArray(group.items) ? group.items.length : 0);
|
|
3265
|
+
}, 0);
|
|
3266
|
+
}
|
|
3267
|
+
else {
|
|
3268
|
+
return item.options.length;
|
|
3269
|
+
}
|
|
3270
|
+
}
|
|
3255
3271
|
onChange($event, filter) {
|
|
3256
3272
|
const value = $event?.value !== undefined ? $event.value : $event;
|
|
3257
3273
|
filter.value = value;
|
|
@@ -3692,8 +3708,48 @@ class FiltersComponent {
|
|
|
3692
3708
|
return "d/m/yy";
|
|
3693
3709
|
}
|
|
3694
3710
|
}
|
|
3711
|
+
setColumnSize() {
|
|
3712
|
+
let response = "col-md-6";
|
|
3713
|
+
if (this.filterDirectives) {
|
|
3714
|
+
const visibleParents = this.filterDirectives.filter(x => x.visible && !x.parent);
|
|
3715
|
+
const columnBreak = Math.ceil(visibleParents.length / this.columns);
|
|
3716
|
+
for (const ind of this.columnsLengthArray) {
|
|
3717
|
+
const pageNumber = ind + 1;
|
|
3718
|
+
const parentsInCol = visibleParents
|
|
3719
|
+
.slice((pageNumber - 1) * columnBreak, pageNumber * columnBreak);
|
|
3720
|
+
for (const parent of parentsInCol) {
|
|
3721
|
+
parent.index = ind;
|
|
3722
|
+
const children = this.filterDirectives.filter(x => x.visible && x.parent === parent.name);
|
|
3723
|
+
for (const child of children) {
|
|
3724
|
+
child.index = ind;
|
|
3725
|
+
}
|
|
3726
|
+
}
|
|
3727
|
+
}
|
|
3728
|
+
}
|
|
3729
|
+
switch (this.columns) {
|
|
3730
|
+
case 1:
|
|
3731
|
+
response = "col-md-12";
|
|
3732
|
+
break;
|
|
3733
|
+
case 2:
|
|
3734
|
+
response = "col-md-6";
|
|
3735
|
+
break;
|
|
3736
|
+
case 3:
|
|
3737
|
+
response = "col-md-4";
|
|
3738
|
+
break;
|
|
3739
|
+
case 4:
|
|
3740
|
+
response = "col-md-3";
|
|
3741
|
+
break;
|
|
3742
|
+
case 6:
|
|
3743
|
+
response = "col-md-2";
|
|
3744
|
+
break;
|
|
3745
|
+
default:
|
|
3746
|
+
response = "col-md-6";
|
|
3747
|
+
break;
|
|
3748
|
+
}
|
|
3749
|
+
return response;
|
|
3750
|
+
}
|
|
3695
3751
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: FiltersComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
3696
|
-
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=\"inputColumns\" [ngClass]=\"customClass\" [style.grid-template-columns]=\"'repeat(' + columns + ', 1fr)'\">\r\n @for (filter of filterDirectives; track filter) {\r\n <!-- BEGIN filters -->\r\n @if (filter.visible && !filter.parent) {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n template;\r\n context: { item: filter, index: getIndex(filter) }\r\n \"\r\n ></ng-container>\r\n @for (child of filterDirectives; track child) { @if (child.parent &&\r\n child.parent === filter.name && child.visible) {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n template;\r\n context: { item: child, index: getIndex(child, filter) }\r\n \"\r\n ></ng-container>\r\n } } }\r\n <!-- END filters -->\r\n }\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]=\"item.showFilter\"\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]=\"item.showFilter\"\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: "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"] }] });
|
|
3752
|
+
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"] }] });
|
|
3697
3753
|
}
|
|
3698
3754
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: FiltersComponent, decorators: [{
|
|
3699
3755
|
type: Component,
|
|
@@ -3710,7 +3766,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImpor
|
|
|
3710
3766
|
TextareaModule,
|
|
3711
3767
|
RippleModule,
|
|
3712
3768
|
MultiSelectComponent,
|
|
3713
|
-
], template: "<div class=\"
|
|
3769
|
+
], 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" }]
|
|
3714
3770
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { showButtons: [{
|
|
3715
3771
|
type: Input
|
|
3716
3772
|
}], customClass: [{
|