intelica-library-ui 0.1.25 → 0.1.27

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.
@@ -448,6 +448,7 @@ var SearchInputEnum;
448
448
  })(SearchInputEnum || (SearchInputEnum = {}));
449
449
 
450
450
  class SearchComponent {
451
+ GlobalTermService = inject(GlobalTermService);
451
452
  /**
452
453
  * Indica el componente del que proviene.
453
454
  * @type {string}
@@ -525,7 +526,7 @@ class SearchComponent {
525
526
  });
526
527
  //loadTerms
527
528
  if (this.Placeholder === "")
528
- this.Placeholder = "Search a value in";
529
+ this.Placeholder = "SearchPlaceholder";
529
530
  this.SearchOperatorOptions ??= this.GetSearchOperatorOptions();
530
531
  this.SearchFieldOptions ??= this.GetSearchFieldOptions();
531
532
  this.InitializeForm();
@@ -611,16 +612,16 @@ class SearchComponent {
611
612
  provide: NG_VALUE_ACCESSOR,
612
613
  useExisting: forwardRef(() => SearchComponent),
613
614
  },
614
- ], ngImport: i0, template: "<form [formGroup]=\"SearchForm\">\r\n\t<div class=\"prSearchBar\">\r\n\t\t<div class=\"prSearchBar__dropdown\" (click)=\"op.toggle($event)\">\r\n\t\t\t<div class=\"prSearchBar__dropdown--label\" [pTooltip]=\"GetSelectedValues()\" tooltipPosition=\"top\">{{ GetSelectedFieldValue() }}</div>\r\n\t\t\t<div class=\"prSearchBar__dropdown--icon\">\r\n\t\t\t\t<i [ngClass]=\"IsDropdownOpen ? 'icon-arrow-up' : 'icon-arrow-down'\"></i>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<p-popover #op (onShow)=\"DropDownChange(true)\" (onHide)=\"DropDownChange(false)\" class=\"prSearchBar__popover\">\r\n\t\t\t<div class=\"searchDropDown\">\r\n\t\t\t\t<div class=\"searchDropDown__group\">\r\n\t\t\t\t\t<div class=\"searchDropDown__title\">Select an operator</div>\r\n\t\t\t\t\t<div class=\"searchDropDown__listOption\">\r\n\t\t\t\t\t\t@for ( option of SearchOperatorOptions ; track option.id; let index = $index){\r\n\t\t\t\t\t\t<div class=\"searchDropDown__option\">\r\n\t\t\t\t\t\t\t<p-radiobutton [inputId]=\"ComponentId + option.id\" class=\"prRadioButton\" [value]=\"option.id\" formControlName=\"operatorId\" (change)=\"OnSearchKeyup()\" />\r\n\t\t\t\t\t\t\t<label [for]=\"ComponentId + option.id\" class=\"prRadioButton--label\">{{ option.value }}</label>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<hr />\r\n\t\t\t\t<div class=\"searchDropDown__group\">\r\n\t\t\t\t\t<div class=\"searchDropDown__title\">Select a field</div>\r\n\t\t\t\t\t@for ( option of SearchFieldOptions ; track option.id; let index = $index){\r\n\t\t\t\t\t<div class=\"searchDropDown__option\">\r\n\t\t\t\t\t\t<p-radiobutton [inputId]=\"ComponentId + 'fieldId_' + option.id\" class=\"prRadioButton\" [value]=\"option.id\" formControlName=\"fieldId\" (change)=\"OnSearchKeyup()\" />\r\n\t\t\t\t\t\t<label [for]=\"ComponentId + 'fieldId_' + option.id\" class=\"prRadioButton--label\">{{ option.value }}</label>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t}\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</p-popover>\r\n\t\t<div class=\"prSearchBar__content\">\r\n\t\t\t<div class=\"prSearchBar__btn\">\r\n\t\t\t\t<button pButton type=\"button\" class=\"prSearchBar__btn-action\" (click)=\"ClearSearchText()\" *ngIf=\"HasSearchText\">\r\n\t\t\t\t\t<i class=\"icon-times\"></i>\r\n\t\t\t\t</button>\r\n\t\t\t\t<button pButton type=\"button\" class=\"prSearchBar__btn-action\" (click)=\"OnSearch()\">\r\n\t\t\t\t\t<i class=\"icon-search\"></i>\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\t\t\t<input pInputText type=\"text\" class=\"prSearchBar__input\" formControlName=\"searchText\" [placeholder]=\"Placeholder\" (keyup.enter)=\"OnSearchEnter()\" (keyup)=\"OnSearchKeyup()\" />\r\n\t\t</div>\r\n\t</div>\r\n</form>\r\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: RadioButtonModule }, { kind: "component", type: i2.RadioButton, selector: "p-radioButton, p-radiobutton, p-radio-button", inputs: ["value", "formControlName", "name", "disabled", "variant", "size", "tabindex", "inputId", "ariaLabelledBy", "ariaLabel", "style", "styleClass", "autofocus", "binary"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: Popover, selector: "p-popover", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "directive", type: InputText, selector: "[pInputText]", inputs: ["variant", "fluid", "pSize"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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"] }] });
615
+ ], ngImport: i0, template: "<form [formGroup]=\"SearchForm\">\r\n\t<div class=\"prSearchBar\">\r\n\t\t<div class=\"prSearchBar__dropdown\" (click)=\"op.toggle($event)\">\r\n\t\t\t<div\r\n\t\t\t\tclass=\"prSearchBar__dropdown--label\"\r\n\t\t\t\t[pTooltip]=\"(GetSelectedOperatorValue() | term : GlobalTermService.languageCode) + ', ' + (GetSelectedFieldValue() | term : GlobalTermService.languageCode)\"\r\n\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t>\r\n\t\t\t\t{{ GetSelectedFieldValue() | term : GlobalTermService.languageCode }}\r\n\t\t\t</div>\r\n\t\t\t<div class=\"prSearchBar__dropdown--icon\">\r\n\t\t\t\t<i [ngClass]=\"IsDropdownOpen ? 'icon-arrow-up' : 'icon-arrow-down'\"></i>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<p-popover #op (onShow)=\"DropDownChange(true)\" (onHide)=\"DropDownChange(false)\" class=\"prSearchBar__popover\">\r\n\t\t\t<div class=\"searchDropDown\">\r\n\t\t\t\t<div class=\"searchDropDown__group\">\r\n\t\t\t\t\t<div class=\"searchDropDown__title\">{{ \"Selectoperator\" | term : GlobalTermService.languageCode }}</div>\r\n\t\t\t\t\t<div class=\"searchDropDown__listOption\">\r\n\t\t\t\t\t\t@for ( option of SearchOperatorOptions ; track option.id; let index = $index){\r\n\t\t\t\t\t\t<div class=\"searchDropDown__option\">\r\n\t\t\t\t\t\t\t<p-radiobutton [inputId]=\"ComponentId + option.id\" class=\"prRadioButton\" [value]=\"option.id\" formControlName=\"operatorId\" (change)=\"OnSearchKeyup()\" />\r\n\t\t\t\t\t\t\t<label [for]=\"ComponentId + option.id\" class=\"prRadioButton--label\">{{ option.value | term : GlobalTermService.languageCode }}</label>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<hr />\r\n\t\t\t\t<div class=\"searchDropDown__group\">\r\n\t\t\t\t\t<div class=\"searchDropDown__title\">{{ \"Selectfield\" | term : GlobalTermService.languageCode }}</div>\r\n\t\t\t\t\t@for ( option of SearchFieldOptions ; track option.id; let index = $index){\r\n\t\t\t\t\t<div class=\"searchDropDown__option\">\r\n\t\t\t\t\t\t<p-radiobutton [inputId]=\"ComponentId + 'fieldId_' + option.id\" class=\"prRadioButton\" [value]=\"option.id\" formControlName=\"fieldId\" (change)=\"OnSearchKeyup()\" />\r\n\t\t\t\t\t\t<label [for]=\"ComponentId + 'fieldId_' + option.id\" class=\"prRadioButton--label\">{{ option.value | term : GlobalTermService.languageCode }}</label>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t}\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</p-popover>\r\n\t\t<div class=\"prSearchBar__content\">\r\n\t\t\t<div class=\"prSearchBar__btn\">\r\n\t\t\t\t<button pButton type=\"button\" class=\"prSearchBar__btn-action\" (click)=\"ClearSearchText()\" *ngIf=\"HasSearchText\">\r\n\t\t\t\t\t<i class=\"icon-times\"></i>\r\n\t\t\t\t</button>\r\n\t\t\t\t<button pButton type=\"button\" class=\"prSearchBar__btn-action\" (click)=\"OnSearch()\">\r\n\t\t\t\t\t<i class=\"icon-search\"></i>\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\t\t\t<input\r\n\t\t\t\tpInputText\r\n\t\t\t\ttype=\"text\"\r\n\t\t\t\tclass=\"prSearchBar__input\"\r\n\t\t\t\tformControlName=\"searchText\"\r\n\t\t\t\t[placeholder]=\"Placeholder | term : GlobalTermService.languageCode\"\r\n\t\t\t\t(keyup.enter)=\"OnSearchEnter()\"\r\n\t\t\t\t(keyup)=\"OnSearchKeyup()\"\r\n\t\t\t/>\r\n\t\t</div>\r\n\t</div>\r\n</form>\r\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: RadioButtonModule }, { kind: "component", type: i2.RadioButton, selector: "p-radioButton, p-radiobutton, p-radio-button", inputs: ["value", "formControlName", "name", "disabled", "variant", "size", "tabindex", "inputId", "ariaLabelledBy", "ariaLabel", "style", "styleClass", "autofocus", "binary"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: Popover, selector: "p-popover", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "directive", type: InputText, selector: "[pInputText]", inputs: ["variant", "fluid", "pSize"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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" }] });
615
616
  }
616
617
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SearchComponent, decorators: [{
617
618
  type: Component,
618
- args: [{ selector: "intelica-search", imports: [FormsModule, ReactiveFormsModule, RadioButtonModule, Popover, InputText, CommonModule, TooltipModule], providers: [
619
+ args: [{ selector: "intelica-search", imports: [FormsModule, ReactiveFormsModule, RadioButtonModule, Popover, InputText, CommonModule, TooltipModule, TermPipe], providers: [
619
620
  {
620
621
  provide: NG_VALUE_ACCESSOR,
621
622
  useExisting: forwardRef(() => SearchComponent),
622
623
  },
623
- ], template: "<form [formGroup]=\"SearchForm\">\r\n\t<div class=\"prSearchBar\">\r\n\t\t<div class=\"prSearchBar__dropdown\" (click)=\"op.toggle($event)\">\r\n\t\t\t<div class=\"prSearchBar__dropdown--label\" [pTooltip]=\"GetSelectedValues()\" tooltipPosition=\"top\">{{ GetSelectedFieldValue() }}</div>\r\n\t\t\t<div class=\"prSearchBar__dropdown--icon\">\r\n\t\t\t\t<i [ngClass]=\"IsDropdownOpen ? 'icon-arrow-up' : 'icon-arrow-down'\"></i>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<p-popover #op (onShow)=\"DropDownChange(true)\" (onHide)=\"DropDownChange(false)\" class=\"prSearchBar__popover\">\r\n\t\t\t<div class=\"searchDropDown\">\r\n\t\t\t\t<div class=\"searchDropDown__group\">\r\n\t\t\t\t\t<div class=\"searchDropDown__title\">Select an operator</div>\r\n\t\t\t\t\t<div class=\"searchDropDown__listOption\">\r\n\t\t\t\t\t\t@for ( option of SearchOperatorOptions ; track option.id; let index = $index){\r\n\t\t\t\t\t\t<div class=\"searchDropDown__option\">\r\n\t\t\t\t\t\t\t<p-radiobutton [inputId]=\"ComponentId + option.id\" class=\"prRadioButton\" [value]=\"option.id\" formControlName=\"operatorId\" (change)=\"OnSearchKeyup()\" />\r\n\t\t\t\t\t\t\t<label [for]=\"ComponentId + option.id\" class=\"prRadioButton--label\">{{ option.value }}</label>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<hr />\r\n\t\t\t\t<div class=\"searchDropDown__group\">\r\n\t\t\t\t\t<div class=\"searchDropDown__title\">Select a field</div>\r\n\t\t\t\t\t@for ( option of SearchFieldOptions ; track option.id; let index = $index){\r\n\t\t\t\t\t<div class=\"searchDropDown__option\">\r\n\t\t\t\t\t\t<p-radiobutton [inputId]=\"ComponentId + 'fieldId_' + option.id\" class=\"prRadioButton\" [value]=\"option.id\" formControlName=\"fieldId\" (change)=\"OnSearchKeyup()\" />\r\n\t\t\t\t\t\t<label [for]=\"ComponentId + 'fieldId_' + option.id\" class=\"prRadioButton--label\">{{ option.value }}</label>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t}\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</p-popover>\r\n\t\t<div class=\"prSearchBar__content\">\r\n\t\t\t<div class=\"prSearchBar__btn\">\r\n\t\t\t\t<button pButton type=\"button\" class=\"prSearchBar__btn-action\" (click)=\"ClearSearchText()\" *ngIf=\"HasSearchText\">\r\n\t\t\t\t\t<i class=\"icon-times\"></i>\r\n\t\t\t\t</button>\r\n\t\t\t\t<button pButton type=\"button\" class=\"prSearchBar__btn-action\" (click)=\"OnSearch()\">\r\n\t\t\t\t\t<i class=\"icon-search\"></i>\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\t\t\t<input pInputText type=\"text\" class=\"prSearchBar__input\" formControlName=\"searchText\" [placeholder]=\"Placeholder\" (keyup.enter)=\"OnSearchEnter()\" (keyup)=\"OnSearchKeyup()\" />\r\n\t\t</div>\r\n\t</div>\r\n</form>\r\n" }]
624
+ ], template: "<form [formGroup]=\"SearchForm\">\r\n\t<div class=\"prSearchBar\">\r\n\t\t<div class=\"prSearchBar__dropdown\" (click)=\"op.toggle($event)\">\r\n\t\t\t<div\r\n\t\t\t\tclass=\"prSearchBar__dropdown--label\"\r\n\t\t\t\t[pTooltip]=\"(GetSelectedOperatorValue() | term : GlobalTermService.languageCode) + ', ' + (GetSelectedFieldValue() | term : GlobalTermService.languageCode)\"\r\n\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t>\r\n\t\t\t\t{{ GetSelectedFieldValue() | term : GlobalTermService.languageCode }}\r\n\t\t\t</div>\r\n\t\t\t<div class=\"prSearchBar__dropdown--icon\">\r\n\t\t\t\t<i [ngClass]=\"IsDropdownOpen ? 'icon-arrow-up' : 'icon-arrow-down'\"></i>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<p-popover #op (onShow)=\"DropDownChange(true)\" (onHide)=\"DropDownChange(false)\" class=\"prSearchBar__popover\">\r\n\t\t\t<div class=\"searchDropDown\">\r\n\t\t\t\t<div class=\"searchDropDown__group\">\r\n\t\t\t\t\t<div class=\"searchDropDown__title\">{{ \"Selectoperator\" | term : GlobalTermService.languageCode }}</div>\r\n\t\t\t\t\t<div class=\"searchDropDown__listOption\">\r\n\t\t\t\t\t\t@for ( option of SearchOperatorOptions ; track option.id; let index = $index){\r\n\t\t\t\t\t\t<div class=\"searchDropDown__option\">\r\n\t\t\t\t\t\t\t<p-radiobutton [inputId]=\"ComponentId + option.id\" class=\"prRadioButton\" [value]=\"option.id\" formControlName=\"operatorId\" (change)=\"OnSearchKeyup()\" />\r\n\t\t\t\t\t\t\t<label [for]=\"ComponentId + option.id\" class=\"prRadioButton--label\">{{ option.value | term : GlobalTermService.languageCode }}</label>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<hr />\r\n\t\t\t\t<div class=\"searchDropDown__group\">\r\n\t\t\t\t\t<div class=\"searchDropDown__title\">{{ \"Selectfield\" | term : GlobalTermService.languageCode }}</div>\r\n\t\t\t\t\t@for ( option of SearchFieldOptions ; track option.id; let index = $index){\r\n\t\t\t\t\t<div class=\"searchDropDown__option\">\r\n\t\t\t\t\t\t<p-radiobutton [inputId]=\"ComponentId + 'fieldId_' + option.id\" class=\"prRadioButton\" [value]=\"option.id\" formControlName=\"fieldId\" (change)=\"OnSearchKeyup()\" />\r\n\t\t\t\t\t\t<label [for]=\"ComponentId + 'fieldId_' + option.id\" class=\"prRadioButton--label\">{{ option.value | term : GlobalTermService.languageCode }}</label>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t}\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</p-popover>\r\n\t\t<div class=\"prSearchBar__content\">\r\n\t\t\t<div class=\"prSearchBar__btn\">\r\n\t\t\t\t<button pButton type=\"button\" class=\"prSearchBar__btn-action\" (click)=\"ClearSearchText()\" *ngIf=\"HasSearchText\">\r\n\t\t\t\t\t<i class=\"icon-times\"></i>\r\n\t\t\t\t</button>\r\n\t\t\t\t<button pButton type=\"button\" class=\"prSearchBar__btn-action\" (click)=\"OnSearch()\">\r\n\t\t\t\t\t<i class=\"icon-search\"></i>\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\t\t\t<input\r\n\t\t\t\tpInputText\r\n\t\t\t\ttype=\"text\"\r\n\t\t\t\tclass=\"prSearchBar__input\"\r\n\t\t\t\tformControlName=\"searchText\"\r\n\t\t\t\t[placeholder]=\"Placeholder | term : GlobalTermService.languageCode\"\r\n\t\t\t\t(keyup.enter)=\"OnSearchEnter()\"\r\n\t\t\t\t(keyup)=\"OnSearchKeyup()\"\r\n\t\t\t/>\r\n\t\t</div>\r\n\t</div>\r\n</form>\r\n" }]
624
625
  }], ctorParameters: () => [], propDecorators: { ComponentId: [{
625
626
  type: Input
626
627
  }], SearchFieldOptions: [{
@@ -1 +1 @@
1
- {"version":3,"file":"intelica-library-ui.mjs","sources":["../../../projects/intelica-library-ui/src/lib/intelica-library-ui.component.ts","../../../projects/intelica-library-ui/src/lib/services/config.service.ts","../../../projects/intelica-library-ui/src/lib/services/term.service.ts","../../../projects/intelica-library-ui/src/lib/services/globalTerm.service.ts","../../../projects/intelica-library-ui/src/lib/pipes/term.pipes.ts","../../../projects/intelica-library-ui/src/lib/services/spinner.service.ts","../../../projects/intelica-library-ui/src/lib/services/sweet-alert.service.ts","../../../projects/intelica-library-ui/src/lib/constants/cookieConfiguration.constants.ts","../../../projects/intelica-library-ui/src/lib/services/featureFlag.service.ts","../../../projects/intelica-library-ui/src/lib/services/globalFeatureFlag.service.ts","../../../projects/intelica-library-ui/src/lib/interceptor/error.interceptor.ts","../../../projects/intelica-library-ui/src/lib/interceptor/refreshToken.interceptor.ts","../../../projects/intelica-library-ui/src/lib/services/language.service.ts","../../../projects/intelica-library-ui/src/lib/components/spinner/spinner.component.ts","../../../projects/intelica-library-ui/src/lib/components/spinner/spinner.component.html","../../../projects/intelica-library-ui/src/lib/components/table/column.component.ts","../../../projects/intelica-library-ui/src/lib/components/search/enums/search.enum.ts","../../../projects/intelica-library-ui/src/lib/components/search/search.component.ts","../../../projects/intelica-library-ui/src/lib/components/search/search.component.html","../../../projects/intelica-library-ui/src/lib/directives/positive-number.directive.ts","../../../projects/intelica-library-ui/src/lib/components/paginator/paginator.component.ts","../../../projects/intelica-library-ui/src/lib/components/paginator/paginator.component.html","../../../projects/intelica-library-ui/src/lib/constants/format-date.constants.ts","../../../projects/intelica-library-ui/src/lib/services/shared.service.ts","../../../projects/intelica-library-ui/src/lib/components/table/table.component.ts","../../../projects/intelica-library-ui/src/lib/components/table/table.component.html","../../../projects/intelica-library-ui/src/intelica-library-ui.ts"],"sourcesContent":["import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-intelica-library-ui',\r\n imports: [],\r\n template: `\r\n <p>\r\n intelica-library-ui works!\r\n </p>\r\n `,\r\n styles: ``\r\n})\r\nexport class IntelicaLibraryUiComponent {\r\n\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { inject, Injectable } from \"@angular/core\";\r\nimport { BehaviorSubject } from \"rxjs\";\r\nimport { Observable } from \"rxjs/internal/Observable\";\r\nimport { getCookie } from \"typescript-cookie\";\r\nimport { environment } from \"../dto/environment\";\r\nimport { SessionInformation } from \"../dto/sessionInformation\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class ConfigService {\r\n\tprivate readonly Http = inject(HttpClient);\r\n\tenvironment?: environment;\r\n\tSessionInformation: SessionInformation | null = null;\r\n\tprivate userDataSubject = new BehaviorSubject<string>(\"\");\r\n\tpublic userData$: Observable<string> = this.userDataSubject.asObservable();\r\n\tasync init() {\r\n\t\tconst environment = `${window.location.protocol}//${window.location.hostname}${window.location.hostname === \"localhost\" ? \":9000\" : \"\"}/environment/environment.json`;\r\n\t\tif (getCookie(\"data\") != undefined) this.SessionInformation = JSON.parse(getCookie(\"data\") ?? \"\");\r\n\t\tthis.environment = await this.Http.get<environment>(environment).toPromise();\r\n\t\tconsole.log(\"getCookie('data')\", getCookie(\"data\"));\r\n\t\tconsole.log(\"this.environment\", this.environment);\r\n\t}\r\n\tSetSessionInformation() {\r\n\t\tthis.SessionInformation = JSON.parse(getCookie(\"data\") ?? \"\");\r\n\t}\r\n\tsetUserData(userData: string): void {\r\n\t\tthis.userDataSubject.next(userData);\r\n\t}\r\n\tgetUserData(): string {\r\n\t\treturn this.userDataSubject.value;\r\n\t}\r\n}\r\n\r\nexport function InitializeConfigService(confg: ConfigService) {\r\n\treturn () => confg.init();\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { inject, Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { TermPageResponse } from \"../dto/term\";\r\nimport { ConfigService } from \"./config.service\";\r\n@Injectable({ providedIn: \"root\" })\r\nexport class TermService {\r\n\tprivate readonly _http = inject(HttpClient);\r\n\tprivate readonly _config = inject(ConfigService);\r\n\tGetTerms(languageCode: string, pageRoot: string): Observable<TermPageResponse[]> {\r\n\t\treturn this._http.get<TermPageResponse[]>(`${this._config.environment?.configurationPath}/TermPage/GetPageTerm/${languageCode}/${pageRoot}`);\r\n\t}\r\n}\r\n","import { inject, Injectable, signal } from \"@angular/core\";\r\nimport { getCookie } from \"typescript-cookie\";\r\nimport { TermPageResponse } from \"../dto/term\";\r\nimport { TermService } from \"./term.service\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class GlobalTermService {\r\n\tterms: TermPageResponse[] = [];\r\n\tlanguageCode: string = \"\";\r\n\tTermsReady = signal<boolean>(false);\r\n\tPageRoot: string = \"\";\r\n\tprivate readonly termService = inject(TermService);\r\n\r\n\tInitialize(pageRoot: string): void {\r\n\t\tlet languageCode = getCookie(\"language\") ?? \"EN\";\r\n\t\tthis.PageRoot = pageRoot;\r\n\t\tif (pageRoot == \"\") {\r\n\t\t\tthis.TermsReady.set(true);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.termService.GetTerms(languageCode, pageRoot).subscribe(response => {\r\n\t\t\tthis.terms = response;\r\n\t\t\tthis.TermsReady.set(true);\r\n\t\t\tthis.SetTerms();\r\n\t\t\tthis.languageCode = languageCode;\r\n\t\t});\r\n\t}\r\n\r\n\tasync SetTerms() {\r\n\t\twhile (true) {\r\n\t\t\tawait sleep(10);\r\n\t\t\tif (document.querySelectorAll(\"[data-term]\").length > 1) break;\r\n\t\t}\r\n\t\tlet textsToChange = document.querySelectorAll(\"[data-term]\");\r\n\t\ttextsToChange.forEach(async element => {\r\n\t\t\tlet dataValue = element.getAttribute(\"data-term\");\r\n\t\t\tlet newText = this.terms.find(x => x.termName == dataValue)?.termValue ?? \"\";\r\n\t\t\telement.innerHTML = newText;\r\n\t\t\telement.setAttribute(\"placeholder\", newText);\r\n\t\t});\r\n\t}\r\n}\r\n\r\nfunction sleep(ms: number): Promise<void> {\r\n\treturn new Promise(resolve => setTimeout(resolve, ms));\r\n}\r\n","import { inject, Injectable, Pipe, PipeTransform } from \"@angular/core\";\r\nimport { GlobalTermService } from \"../services/globalTerm.service\";\r\n// import GlobalTermService from \"../services/globalTerm.service\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\n@Pipe({ name: \"term\" })\r\nexport class TermPipe implements PipeTransform {\r\n\tprivate readonly globalTermService = inject(GlobalTermService);\r\n\ttransform(termName: string, language: string, mode: number = 1): string {\r\n\t\tlet term = this.globalTermService.terms.find(x => x.termName == termName)?.termValue ?? \"-\";\r\n\t\tif (mode == 2) term = term.substring(0, 1);\r\n\t\tif (mode == 3) term = term.toUpperCase();\r\n\t\treturn term;\r\n\t}\r\n}\r\n","import { Injectable, signal } from \"@angular/core\";\r\n@Injectable({ providedIn: \"root\" })\r\nexport class SpinnerService {\r\n\tisLoading = signal<boolean>(false);\r\n\tpublic hide() {\r\n\t\tthis.isLoading.set(false);\r\n\t}\r\n\tpublic show() {\r\n\t\tthis.isLoading.set(true);\r\n\t}\r\n}","import { Injectable } from \"@angular/core\";\r\nimport Swal, { SweetAlertOptions, SweetAlertResult } from \"sweetalert2\";\r\n\r\n@Injectable({\r\n\tprovidedIn: \"root\",\r\n})\r\nexport class SweetAlertService {\r\n\toptions: SweetAlertOptions = {\r\n\t\ttext: \"\",\r\n\t\tcustomClass: {\r\n\t\t\timage: \"image-class-custom\",\r\n\t\t\tcontainer: \"container-class-custom\",\r\n\t\t\tconfirmButton: \"confirm-class-custom\",\r\n\t\t\tcancelButton: \"cancel-class-custom\",\r\n\t\t},\r\n\t\tshowCloseButton: true,\r\n\t\tcloseButtonHtml: '<i class=\"fa fa-times\"></i>',\r\n\t\timageUrl: `${window.location.origin}/assets/images/logo-incontrol.svg`,\r\n\t\tshowCancelButton: false,\r\n\t\tconfirmButtonText: \"Ok\",\r\n\t\tcancelButtonText: \"\",\r\n\t\thtml: \"\",\r\n\t};\r\n\r\n\tmessageBox(message: string): Promise<SweetAlertResult<any>> {\r\n\t\tlet options = { ...this.options };\r\n\t\toptions.showCancelButton = false;\r\n\t\toptions.text = message;\r\n\t\treturn Swal.fire(options);\r\n\t}\r\n\r\n\tmessageTextBox(message: string = \"\", swHtml: boolean = false) {\r\n\t\tlet options = this.options;\r\n\t\toptions.showCancelButton = false;\r\n\t\tif (!swHtml) options.text = message.length === 0 ? \"Something went wrong!\" : message;\r\n\t\telse options.html = message;\r\n\t\tSwal.fire(options);\r\n\t}\r\n\r\n\tconfirmBox(message: string, confirmButtonText: string, cancelButtonText: string, title?: string, html?: string, popupClass?: string): Promise<SweetAlertResult<any>> {\r\n\t\tlet options = { ...this.options };\r\n\t\toptions.title = title ?? \"\";\r\n\t\toptions.showCancelButton = cancelButtonText == \"\" ? false : true;\r\n\t\toptions.text = message;\r\n\t\toptions.confirmButtonText = confirmButtonText;\r\n\t\toptions.cancelButtonText = cancelButtonText;\r\n\t\toptions.html = html;\r\n\t\tif (popupClass) {\r\n\t\t\toptions.customClass = {\r\n\t\t\t\tpopup: popupClass,\r\n\t\t\t};\r\n\t\t}\r\n\t\treturn Swal.fire(options);\r\n\t}\r\n\r\n\tmessageHTMLBox(title: string, html: string, confirmButtonText: string): Promise<SweetAlertResult<any>> {\r\n\t\tlet options = { ...this.options };\r\n\t\toptions.showCancelButton = false;\r\n\t\toptions.title = title;\r\n\t\toptions.html = html;\r\n\t\toptions.confirmButtonText = confirmButtonText;\r\n\t\treturn Swal.fire(options);\r\n\t}\r\n}\r\n","// import { CookieAttributes } from \"typescript-cookie/dist/types\";\r\nconst domain = window.location.hostname.split(\".\").slice(-2).join(\".\");\r\nconst secure = !domain.includes(\"localhost\");\r\nexport const CookieAttributesGeneral: CookieAttributes = { domain: domain, path: \"/\", secure: secure };\r\n\r\nexport interface CookieAttributes {\r\n\tpath?: string;\r\n\tdomain?: string;\r\n\texpires?: number | Date;\r\n\tsameSite?: \"strict\" | \"Strict\" | \"lax\" | \"Lax\" | \"none\" | \"None\";\r\n\tsecure?: boolean;\r\n\t[property: string]: any;\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable, inject } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { ConfigService } from \"./config.service\";\r\nimport { FeatureFlagPageRootResponse } from \"../dto/featureFlagResponses\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class FeatureFlagService {\r\n\tprivate readonly _http = inject(HttpClient);\r\n\tprivate readonly _configService = inject(ConfigService);\r\n\tGetByPageRoot(pageRoot: string): Observable<FeatureFlagPageRootResponse[]> {\r\n\t\treturn this._http.get<FeatureFlagPageRootResponse[]>(`${this._configService.environment?.configurationPath}/FeatureFlag/${pageRoot}`);\r\n\t}\r\n}\r\n","import { Injectable, signal } from \"@angular/core\";\r\nimport { FeatureFlagService } from \"./featureFlag.service\";\r\nimport { FeatureFlagPageRootResponse } from \"../dto/featureFlagResponses\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class GlobalFeatureFlagService {\r\n\tprivate pageRoot: string = \"\";\r\n\tIsReady = signal<boolean>(false);\r\n\tFeatureFlagsSignal = signal<FeatureFlagPageRootResponse[]>([]);\r\n\r\n\tconstructor(private featureFlagDataService: FeatureFlagService) {}\r\n\tInitialize(pageRoot: string): void {\r\n\t\tthis.pageRoot = pageRoot;\r\n\t\tthis.IsReady.set(true);\r\n\t\t// this.featureFlagDataService.GetByPageRoot(pageRoot).subscribe(response => {\r\n\t\t// \t//\t\tthis.FeatureFlags = response;\r\n\t\t// \tthis.FeatureFlagsSignal.set(response);\r\n\t\t// \tthis.IsReady.set(true);\r\n\t\t// });\r\n\t}\r\n\tExists(featureFlagName: string): boolean {\r\n\t\treturn !(this.FeatureFlagsSignal().find(x => x.name == featureFlagName) == null);\r\n\t}\r\n\tRefresh(): void {\r\n\t\tthis.Initialize(this.pageRoot);\r\n\t}\r\n\tGetPageRoot(): string {\r\n\t\treturn this.pageRoot;\r\n\t}\r\n}\r\n","import { HttpErrorResponse, HttpHeaders, HttpInterceptorFn } from \"@angular/common/http\";\r\nimport { inject } from \"@angular/core\";\r\nimport { catchError, throwError } from \"rxjs\";\r\nimport { getCookie } from \"typescript-cookie\";\r\nimport { GlobalFeatureFlagService } from \"../services/globalFeatureFlag.service\";\r\nimport { ConfigService } from \"../services/config.service\";\r\nimport { SweetAlertService } from \"../services/sweet-alert.service\";\r\nimport { SpinnerService } from \"../services/spinner.service\";\r\n\r\nexport const ErrorInterceptor: HttpInterceptorFn = (req, next) => {\r\n\tconst commonFeatureFlagService = inject(GlobalFeatureFlagService);\r\n\tconst spinnerService = inject(SpinnerService);\r\n\tconst sweetAlertService = inject(SweetAlertService);\r\n\tconst configService: ConfigService = inject(ConfigService);\r\n\tconst HeaderSettings: { [name: string]: string | string[] } = {};\r\n\r\n\tif (!req.url.includes(\"environment.json\")) {\r\n\t\tHeaderSettings[\"Accept\"] = \"application/json\";\r\n\t\tHeaderSettings[\"Content-Type\"] = \"application/json\";\r\n\t\tHeaderSettings[\"Authorization\"] = getCookie(\"token\") ?? \"\";\r\n\t\tHeaderSettings[\"RefreshToken\"] = getCookie(\"refreshToken\") ?? \"\";\r\n\t\tHeaderSettings[\"ClientID\"] = configService.environment?.clientID ?? \"\";\r\n\t\tHeaderSettings[\"PageRoot\"] = commonFeatureFlagService.GetPageRoot();\r\n\t\tHeaderSettings[\"LanguageCode\"] = getCookie(\"language\") ?? \"\";\r\n\t}\r\n\r\n\tlet _request = req.clone({ headers: new HttpHeaders(HeaderSettings) });\r\n\treturn next(_request).pipe(catchError(handleErrorResponse));\r\n\r\n\tfunction handleErrorResponse(error: HttpErrorResponse) {\r\n\t\tconsole.log(error, \"error\");\r\n\t\tspinnerService.hide();\r\n\t\tif (error.status == 500) sweetAlertService.messageBox(error.error.message);\r\n\t\tif (error.status == 400) sweetAlertService.messageBox(error.error.message);\r\n\t\tif (error.status == 409) sweetAlertService.messageBox(error.error.message);\r\n\t\tif (error.status == 401) sweetAlertService.messageBox(\"No tiene acceso al recurso solicitado\");\r\n\t\tif (error.status == 503 || error.status == 0) sweetAlertService.messageBox(\"El servicio que se necesita consumir no esta activo o no responde.\");\r\n\t\tif (error.status == 405) sweetAlertService.messageBox(\"Los parametros enviados al servicio no coinciden.\");\r\n\t\tif (error.status == 404) sweetAlertService.messageBox(\"Recurso no encontrado.\");\r\n\t\treturn throwError(() => {\r\n\t\t\terror.error, error.message;\r\n\t\t});\r\n\t}\r\n};\r\n","import { GlobalFeatureFlagService } from \"../services/globalFeatureFlag.service\";\r\nimport { HttpClient, HttpInterceptorFn } from \"@angular/common/http\";\r\nimport { inject } from \"@angular/core\";\r\nimport { from, switchMap } from \"rxjs\";\r\nimport { getCookie, setCookie, Cookies } from \"typescript-cookie\";\r\nimport { ConfigService } from \"../services/config.service\";\r\nimport { ValidateTokenQuery, ValidateTokenResponse } from \"../dto/authentication\";\r\nimport { CookieAttributesGeneral } from \"../constants/cookieConfiguration.constants\";\r\n\r\nexport const RefreshTokenInterceptor: HttpInterceptorFn = (req, next) => {\r\n\tconst configService: ConfigService = inject(ConfigService);\r\n\tconst httpClient = inject(HttpClient);\r\n\tconst commonFeatureFlagService = inject(GlobalFeatureFlagService);\r\n\tlet _request = req.clone();\r\n\tlet authenticationLocation = `${configService.environment?.authenticationWeb}?callback=${window.location.href}&clientID=${configService.environment?.clientID}`;\r\n\tlet path = `${configService.environment?.authenticationPath ?? \"\"}/Authenticate/ValidateToken`;\r\n\r\n\tlet validateTokenQuery: ValidateTokenQuery = {\r\n\t\ttoken: getCookie(\"token\") ?? \"\",\r\n\t\trefreshToken: getCookie(\"refreshToken\") ?? \"\",\r\n\t\tip: req.url,\r\n\t\tclientID: configService.environment?.clientID ?? \"\",\r\n\t\tpageRoot: commonFeatureFlagService.GetPageRoot(),\r\n\t\tcontroller: \"\",\r\n\t\thttpVerb: \"GET\",\r\n\t\tbusinessUserClientGroupID: getCookie(\"businessUserClientGroupID\") ?? \"\",\r\n\t};\r\n\r\n\tif (!req.url.includes(\"ValidateToken\") && !req.url.includes(\"environment.json\") && !req.url.includes(\"GetAuthenticationFromCache\"))\r\n\t\treturn from(httpClient.post<ValidateTokenResponse>(path, validateTokenQuery)).pipe(\r\n\t\t\tswitchMap((response: ValidateTokenResponse) => {\r\n\t\t\t\tif (response.expired) {\r\n\t\t\t\t\tCookies.remove(\"token\", CookieAttributesGeneral);\r\n\t\t\t\t\tCookies.remove(\"refreshToken\", CookieAttributesGeneral);\r\n\t\t\t\t\tCookies.remove(\"data\", CookieAttributesGeneral);\r\n\t\t\t\t\tCookies.remove(\"businessUserClientGroupID\", CookieAttributesGeneral);\r\n\t\t\t\t\tCookies.remove(\"defaultClientID\", CookieAttributesGeneral);\r\n\t\t\t\t\tCookies.remove(\"defaultClientGroupID\", CookieAttributesGeneral);\r\n\t\t\t\t\twindow.location.href = authenticationLocation;\r\n\t\t\t\t\treturn next(_request);\r\n\t\t\t\t}\r\n\t\t\t\tif (response.unauthorized) window.location.href = window.location.origin;\r\n\t\t\t\tif (response.newToken != \"\") setCookie(\"token\", response.newToken, CookieAttributesGeneral);\r\n\t\t\t\treturn next(_request);\r\n\t\t\t})\r\n\t\t);\r\n\telse return next(_request);\r\n};\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { inject, Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { LanguageSimpleResponse } from \"../dto/languageResponses\";\r\nimport { ConfigService } from \"./config.service\";\r\n\r\n@Injectable({\r\n\tprovidedIn: \"root\",\r\n})\r\nexport class LanguageService {\r\n\tprivate readonly _http = inject(HttpClient);\r\n\tprivate readonly _configService = inject(ConfigService);\r\n\tGetAllLanguage(): Observable<LanguageSimpleResponse[]> {\r\n\t\treturn this._http.get<LanguageSimpleResponse[]>(`${this._configService.environment?.configurationPath}/Language`);\r\n\t}\r\n}\r\n","import { Component, inject } from \"@angular/core\";\r\nimport { SpinnerService } from \"../../services/spinner.service\";\r\n@Component({\r\n\tselector: \"app-spinner\",\r\n\timports: [],\r\n\ttemplateUrl: \"./spinner.component.html\",\r\n\tstyleUrl: \"./spinner.component.css\",\r\n})\r\nexport class SpinnerComponent {\r\n\tprivate readonly spinerService = inject(SpinnerService);\r\n\tisLoading = this.spinerService.isLoading;\r\n\tLoadingLogo: string = `${window.location.origin}/assets/images/loading_intelica.gif`;\r\n}\r\n","@if (isLoading()){\r\n<div id=\"overlay\">\r\n\t<div class=\"loading\">\r\n\t\t<div class=\"content-center\">\r\n\t\t\t<img alt=\"Intelica\" [src]=\"LoadingLogo\" />\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n}\r\n","import { ContentChild, Directive, Input, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({ selector: \"intelica-column\" })\r\nexport class ColumnComponent<T = any> {\r\n\t@Input() field!: string;\r\n\t@Input() header!: string;\r\n\t@Input() sortable: boolean = false;\r\n\t@Input() width?: string;\r\n\t@Input() className?: string;\r\n\t@Input() headerTooltip: string = \"\";\r\n\t@Input() headerTooltipPosition: \"top\" | \"bottom\" | \"left\" | \"right\" = \"top\";\r\n\t@Input() tooltip: string = \"\";\r\n\t@Input() tooltipPosition: \"top\" | \"bottom\" | \"left\" | \"right\" = \"top\";\r\n\t@Input() showIndex: boolean = false;\r\n\t@ContentChild(TemplateRef) templateRef?: TemplateRef<any>;\r\n}\r\n\r\n// @Input() headerText: string | undefined;\r\n// @Input() field: string;\r\n// @Input() fieldDetail: string;\r\n// @Input() className: string;\r\n// @Input() order: boolean = false;\r\n// @Input() width: string;\r\n// @Input() isNumber: boolean = false;\r\n// @Input() isRowNumber: boolean = false;\r\n// @Input() isPercent: boolean = false;\r\n// @Input() isInteger: boolean = false;\r\n// @Input() setContainer: boolean = true;\r\n// @Input() hideRowInDetail: boolean = false;\r\n// @Input() prefix: string;\r\n// @Input() headerWidth: number = 0;\r\n// @Input() headerLineBreak: boolean = false;\r\n// @Input() numberFormat: string = '1.2-2';\r\n// @Input() columnHasDateFormat: boolean = false;\r\n// @Input() dateFormat: string = '';\r\n// @Input() isSelectableColum: boolean = false;\r\n// @Input() isHeaderClickable: boolean = false;\r\n// @Input() classNameHeader: string = '';\r\n// @Input() isActiveHeader: boolean = false;\r\n// @Input() classNameActiveHeader: string = '';\r\n// @Input() isCellClickable: boolean = false;\r\n// @Input() isAveragePercent: boolean = false;\r\n// @Input() visible: boolean = true;\r\n// @Input() hasAmountNaming: boolean = false;\r\n// @Input() computedField: string;\r\n// @Input() isOrderedDesc: boolean = false;\r\n// @Input() isOrderedAsc: boolean = false;\r\n// @Input() containDetails: boolean = false;\r\n// @Input() isChecboxColumn: boolean = false;\r\n\r\n// isGrouped: boolean = false;\r\n// isGroup: boolean = false;\r\n// colspan: number = 1;\r\n// columnsForCompare: string = '';\r\n// @ContentChild('detail') detail!: any;\r\n// @ContentChild('content') content!: any;\r\n","export enum SearchInputEnum {\r\n\tOperatorId = \"operatorId\",\r\n\tFieldId = \"fieldId\",\r\n\tSearchText = \"searchText\",\r\n}\r\n","import { Component, EventEmitter, forwardRef, inject, Input, OnDestroy, OnInit, Output } from \"@angular/core\";\r\nimport { FormsModule, ReactiveFormsModule, FormBuilder, FormGroup, NG_VALUE_ACCESSOR } from \"@angular/forms\";\r\nimport { RadioButtonModule } from \"primeng/radiobutton\";\r\nimport { Popover } from \"primeng/popover\";\r\nimport { InputText } from \"primeng/inputtext\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { SearchInputModel } from \"./model/search.model\";\r\nimport { SearchInputEnum } from \"./enums/search.enum\";\r\nimport { TooltipModule } from \"primeng/tooltip\";\r\n\r\n@Component({\r\n\tselector: \"intelica-search\",\r\n\timports: [FormsModule, ReactiveFormsModule, RadioButtonModule, Popover, InputText, CommonModule, TooltipModule],\r\n\ttemplateUrl: \"./search.component.html\",\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: NG_VALUE_ACCESSOR,\r\n\t\t\tuseExisting: forwardRef(() => SearchComponent),\r\n\t\t},\r\n\t],\r\n\t// styleUrl: \"./search.component.css\",\r\n})\r\nexport class SearchComponent implements OnDestroy, OnInit {\r\n\t/**\r\n\t * Indica el componente del que proviene.\r\n\t * @type {string}\r\n\t */\r\n\t@Input() ComponentId: string = \"\";\r\n\r\n\t/**\r\n\t * Opciones para campos de búsqueda.\r\n\t * @type {{ id: number; value: string }[]}\r\n\t */\r\n\t@Input() SearchFieldOptions!: { id: number; value: string }[];\r\n\r\n\t/**\r\n\t * Indica si realizar la búsqueda al soltar una tecla.\r\n\t * @type {boolean}\r\n\t */\r\n\t@Input() SearchOnKeyup!: boolean;\r\n\r\n\t/**\r\n\t * @deprecated No debe ser utilizado. Es sólo para uso interno y no para módulos.\r\n\t * @type {boolean}\r\n\t * @default false\r\n\t */\r\n\t@Input() SimpleSearchInput: boolean = false;\r\n\r\n\t/**\r\n\t * Placeholder para el componente de búsqueda.\r\n\t * @type {string}\r\n\t */\r\n\t@Input() Placeholder: string = \"\";\r\n\r\n\t/**\r\n\t * Evento emitido al realizar una búsqueda.\r\n\t * @type {EventEmitter<{ operatorId: number; operatorText: string, fieldId: number, fieldText: string, searchText: string }>}\r\n\t */\r\n\t@Output(\"OnSearch\") OnSearchEvent = new EventEmitter<SearchInputModel>();\r\n\r\n\tprivate readonly FormBuilder = inject(FormBuilder);\r\n\r\n\t// Option!: string;\r\n\t// Placeholder!: string;\r\n\r\n\t/**\r\n\t * Indica si el dropdown está abierto\r\n\t * @type {boolean}\r\n\t * @default false\r\n\t */\r\n\tIsDropdownOpen: boolean = false;\r\n\r\n\t/**\r\n\t * Formulario para manejar los parámetros de búsqueda\r\n\t * @type {FormGroup}\r\n\t */\r\n\tSearchForm!: FormGroup;\r\n\r\n\t/**\r\n\t * Suscripción a los valores del formulario.\r\n\t * @type {Subscription}\r\n\t */\r\n\tFormValuesSubscription!: Subscription;\r\n\r\n\t/**\r\n\t * Opciones para operadores de búsqueda.\r\n\t * @type {{ id: number; value: string }[]}\r\n\t */\r\n\tSearchOperatorOptions!: { id: number; value: string }[];\r\n\r\n\t/**\r\n\t * Función llamada cuando cambia el valor del campo de búsqueda.\r\n\t * @type {() => void}\r\n\t */\r\n\tOnChange: (value: SearchInputModel) => void = () => {};\r\n\r\n\t/**\r\n\t * Función llamada cuando el componente de búsqueda es tocado.\r\n\t * @type {() => void}\r\n\t */\r\n\tOnTouched: () => void = () => {};\r\n\r\n\tconstructor() {}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.SearchForm = this.FormBuilder.group({\r\n\t\t\toperatorId: 0,\r\n\t\t\tfieldId: 0,\r\n\t\t\tsearchText: \"\",\r\n\t\t});\r\n\r\n\t\tthis.FormValuesSubscription = this.SearchForm.valueChanges.subscribe(value => {\r\n\t\t\tthis.OnChange(value);\r\n\t\t});\r\n\r\n\t\t//loadTerms\r\n\t\tif (this.Placeholder === \"\") this.Placeholder = \"Search a value in\";\r\n\t\tthis.SearchOperatorOptions ??= this.GetSearchOperatorOptions();\r\n\t\tthis.SearchFieldOptions ??= this.GetSearchFieldOptions();\r\n\r\n\t\tthis.InitializeForm();\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis.FormValuesSubscription.unsubscribe();\r\n\t}\r\n\r\n\tInitializeForm() {\r\n\t\tthis.SearchForm.setValue({\r\n\t\t\toperatorId: this.SearchOperatorOptions[0].id,\r\n\t\t\tfieldId: this.SearchFieldOptions.length > 0 ? this.SearchFieldOptions[0].id : 0,\r\n\t\t\tsearchText: \"\",\r\n\t\t});\r\n\t}\r\n\r\n\tDropDownChange(isOpen: boolean) {\r\n\t\tthis.IsDropdownOpen = isOpen;\r\n\t}\r\n\r\n\tOnSearchEnter(): void {\r\n\t\tif (!this.SearchOnKeyup) this.OnSearch();\r\n\t}\r\n\r\n\tOnSearchKeyup() {\r\n\t\tif (this.SearchOnKeyup) this.OnSearch();\r\n\t}\r\n\r\n\tOnSearch(): void {\r\n\t\tconst value = this.SearchForm.value as SearchInputModel;\r\n\t\tvalue.operatorText = this.SearchOperatorOptions.find(o => o.id === value.operatorId)?.value || \"\";\r\n\t\tvalue.fieldText = this.SearchFieldOptions.find(f => f.id === value.fieldId)?.value || \"\";\r\n\t\tthis.OnChange(value);\r\n\t\tthis.OnTouched();\r\n\t\tthis.OnSearchEvent.emit(value);\r\n\t}\r\n\r\n\tClearSearchText(emitEvent: boolean = true) {\r\n\t\tthis.SearchForm.get(SearchInputEnum.SearchText)?.setValue(\"\");\r\n\t\tif (emitEvent) {\r\n\t\t\tthis.OnSearch();\r\n\t\t}\r\n\t}\r\n\r\n\tget HasSearchText(): boolean {\r\n\t\tconst searchText = this.SearchForm.get(SearchInputEnum.SearchText)?.value;\r\n\t\treturn searchText && searchText.length > 0;\r\n\t}\r\n\r\n\tGetSelectedOperatorValue(): string {\r\n\t\tconst selectedId = this.SearchForm.get(SearchInputEnum.OperatorId)?.value;\r\n\t\tconst selectedItem = this.SearchOperatorOptions?.find(item => item.id === selectedId);\r\n\t\treturn selectedItem ? selectedItem.value : \"\";\r\n\t}\r\n\r\n\tGetSelectedFieldValue(): string {\r\n\t\tconst selectedId = this.SearchForm.get(SearchInputEnum.FieldId)?.value;\r\n\t\tconst selectedItem = this.SearchFieldOptions?.find(item => item.id === selectedId);\r\n\t\treturn selectedItem ? selectedItem.value : \"\";\r\n\t}\r\n\r\n\tGetSelectedValues(): string {\r\n\t\treturn `${this.GetSelectedOperatorValue()}, ${this.GetSelectedFieldValue()}`;\r\n\t}\r\n\r\n\tSetSearchTextValue(text: string) {\r\n\t\tthis.SearchForm.get(SearchInputEnum.SearchText)?.setValue(text);\r\n\t}\r\n\r\n\tSetOperatorValue(value: number) {\r\n\t\tthis.SearchForm.get(SearchInputEnum.OperatorId)?.setValue(value ?? 0);\r\n\t}\r\n\r\n\tSetFieldValue(value: number) {\r\n\t\tthis.SearchForm.get(SearchInputEnum.FieldId)?.setValue(value ?? 0);\r\n\t}\r\n\r\n\tGetSearchOperatorOptions() {\r\n\t\treturn [\r\n\t\t\t{ id: 0, value: \"Contains\" },\r\n\t\t\t{ id: 1, value: \"Exact\" },\r\n\t\t\t{ id: 2, value: \"Begin\" },\r\n\t\t\t{ id: 3, value: \"Ends\" },\r\n\t\t];\r\n\t}\r\n\r\n\tGetSearchFieldOptions() {\r\n\t\treturn [\r\n\t\t\t{ id: 0, value: \"code\" },\r\n\t\t\t{ id: 1, value: \"name\" },\r\n\t\t];\r\n\t}\r\n}\r\n","<form [formGroup]=\"SearchForm\">\r\n\t<div class=\"prSearchBar\">\r\n\t\t<div class=\"prSearchBar__dropdown\" (click)=\"op.toggle($event)\">\r\n\t\t\t<div class=\"prSearchBar__dropdown--label\" [pTooltip]=\"GetSelectedValues()\" tooltipPosition=\"top\">{{ GetSelectedFieldValue() }}</div>\r\n\t\t\t<div class=\"prSearchBar__dropdown--icon\">\r\n\t\t\t\t<i [ngClass]=\"IsDropdownOpen ? 'icon-arrow-up' : 'icon-arrow-down'\"></i>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<p-popover #op (onShow)=\"DropDownChange(true)\" (onHide)=\"DropDownChange(false)\" class=\"prSearchBar__popover\">\r\n\t\t\t<div class=\"searchDropDown\">\r\n\t\t\t\t<div class=\"searchDropDown__group\">\r\n\t\t\t\t\t<div class=\"searchDropDown__title\">Select an operator</div>\r\n\t\t\t\t\t<div class=\"searchDropDown__listOption\">\r\n\t\t\t\t\t\t@for ( option of SearchOperatorOptions ; track option.id; let index = $index){\r\n\t\t\t\t\t\t<div class=\"searchDropDown__option\">\r\n\t\t\t\t\t\t\t<p-radiobutton [inputId]=\"ComponentId + option.id\" class=\"prRadioButton\" [value]=\"option.id\" formControlName=\"operatorId\" (change)=\"OnSearchKeyup()\" />\r\n\t\t\t\t\t\t\t<label [for]=\"ComponentId + option.id\" class=\"prRadioButton--label\">{{ option.value }}</label>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<hr />\r\n\t\t\t\t<div class=\"searchDropDown__group\">\r\n\t\t\t\t\t<div class=\"searchDropDown__title\">Select a field</div>\r\n\t\t\t\t\t@for ( option of SearchFieldOptions ; track option.id; let index = $index){\r\n\t\t\t\t\t<div class=\"searchDropDown__option\">\r\n\t\t\t\t\t\t<p-radiobutton [inputId]=\"ComponentId + 'fieldId_' + option.id\" class=\"prRadioButton\" [value]=\"option.id\" formControlName=\"fieldId\" (change)=\"OnSearchKeyup()\" />\r\n\t\t\t\t\t\t<label [for]=\"ComponentId + 'fieldId_' + option.id\" class=\"prRadioButton--label\">{{ option.value }}</label>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t}\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</p-popover>\r\n\t\t<div class=\"prSearchBar__content\">\r\n\t\t\t<div class=\"prSearchBar__btn\">\r\n\t\t\t\t<button pButton type=\"button\" class=\"prSearchBar__btn-action\" (click)=\"ClearSearchText()\" *ngIf=\"HasSearchText\">\r\n\t\t\t\t\t<i class=\"icon-times\"></i>\r\n\t\t\t\t</button>\r\n\t\t\t\t<button pButton type=\"button\" class=\"prSearchBar__btn-action\" (click)=\"OnSearch()\">\r\n\t\t\t\t\t<i class=\"icon-search\"></i>\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\t\t\t<input pInputText type=\"text\" class=\"prSearchBar__input\" formControlName=\"searchText\" [placeholder]=\"Placeholder\" (keyup.enter)=\"OnSearchEnter()\" (keyup)=\"OnSearchKeyup()\" />\r\n\t\t</div>\r\n\t</div>\r\n</form>\r\n","import { Directive, ElementRef, HostListener } from \"@angular/core\";\r\n\r\n@Directive({\r\n\tselector: \"[positiveNumber]\",\r\n})\r\nexport class PositiveNumberDirective {\r\n\tconstructor(private el: ElementRef) {}\r\n\r\n\t@HostListener(\"input\", [\"$event\"]) onInputChange(event: Event) {\r\n\t\tconst initalValue = this.el.nativeElement.value;\r\n\t\tthis.el.nativeElement.value = initalValue.replace(/[^0-9]*/g, \"\");\r\n\t\tif (initalValue !== this.el.nativeElement.value) {\r\n\t\t\tevent.stopPropagation();\r\n\t\t}\r\n\t}\r\n}\r\n","import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from \"@angular/core\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { ButtonModule } from \"primeng/button\";\r\nimport { PositiveNumberDirective } from \"../../directives/positive-number.directive\";\r\n\r\n@Component({\r\n\tselector: \"intelica-paginator\",\r\n\timports: [FormsModule, ButtonModule, PositiveNumberDirective],\r\n\ttemplateUrl: \"./paginator.component.html\",\r\n\t// styleUrl: './paginator.component.css'\r\n})\r\nexport class PaginatorComponent implements OnChanges {\r\n\t/**\r\n\t * Número total de elementos que se están paginando.\r\n\t * @type {number}\r\n\t */\r\n\t@Input() TotalItems: number = 0;\r\n\r\n\t/**\r\n\t * Página actual.\r\n\t * @type {number}\r\n\t */\r\n\t@Input() CurrentPage: number = 1;\r\n\r\n\t/**\r\n\t * Número de elementos por página.\r\n\t * @type {number}\r\n\t * @default 10\r\n\t */\r\n\t@Input() ItemsPerPage: number = 10;\r\n\r\n\t/**\r\n\t * Evento emitido cuando cambia la página.\r\n\t * @type {EventEmitter<any>}\r\n\t */\r\n\t@Output() PageChange: EventEmitter<any> = new EventEmitter();\r\n\r\n\t/**\r\n\t * Número total de páginas calculado internamente.\r\n\t * @type {number}\r\n\t */\r\n\tTotalPages: number = 1;\r\n\r\n\tngOnChanges(changes: SimpleChanges): void {\r\n\t\tthis.TotalPageCalculator();\r\n\t}\r\n\r\n\tTotalPageCalculator() {\r\n\t\tthis.TotalPages = Math.ceil(this.TotalItems / this.ItemsPerPage);\r\n\t}\r\n\r\n\tGoToFirstPage() {\r\n\t\tthis.CurrentPage = 1;\r\n\t\tthis.EmitPageChange();\r\n\t}\r\n\r\n\tGoToPreviousPage() {\r\n\t\tconst pageNumber = Number(this.CurrentPage);\r\n\t\tthis.CurrentPage = isNaN(pageNumber) || pageNumber === 0 ? 1 : pageNumber;\r\n\t\tif (this.CurrentPage > 1) this.CurrentPage -= 1;\r\n\t\tthis.EmitPageChange();\r\n\t}\r\n\r\n\tGoToNextPage() {\r\n\t\tconst pageNumber = Number(this.CurrentPage);\r\n\t\tthis.CurrentPage = isNaN(pageNumber) ? 0 : pageNumber;\r\n\t\tif (this.CurrentPage < this.TotalPages) this.CurrentPage += 1;\r\n\t\tthis.EmitPageChange();\r\n\t}\r\n\r\n\tGoToLastPage() {\r\n\t\tthis.CurrentPage = this.TotalPages;\r\n\t\tthis.EmitPageChange();\r\n\t}\r\n\r\n\tEmitPageChange() {\r\n\t\tthis.PageChange.emit(this.CurrentPage);\r\n\t}\r\n\r\n\tonKeyUp(event: any) {\r\n\t\tconst eventValue: string = event.target.value;\r\n\t\tif (eventValue === \"\" || isNaN(parseInt(eventValue)) || eventValue === \"0\" || eventValue.indexOf(\"-\") >= 0) {\r\n\t\t\tthis.CurrentPage = 1;\r\n\t\t\tthis.EmitPageChange();\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.CurrentPage = parseInt(eventValue);\r\n\r\n\t\tif (this.CurrentPage > this.TotalPages) {\r\n\t\t\tthis.CurrentPage = this.TotalPages;\r\n\t\t}\r\n\t\tthis.EmitPageChange();\r\n\t}\r\n}\r\n","<div class=\"prPaginator\">\r\n\t<span class=\"prPaginator__info\">{{ TotalItems }} Records</span>\r\n\t<div class=\"prPaginator__controls\">\r\n\t\t<button pButton type=\"button\" class=\"prPaginator__btn prPaginator__btn--first\" [disabled]=\"CurrentPage === 1\" (click)=\"GoToFirstPage()\"></button>\r\n\t\t<button pButton type=\"button\" class=\"prPaginator__btn prPaginator__btn--previous\" [disabled]=\"CurrentPage === 1\" (click)=\"GoToPreviousPage()\"></button>\r\n\t\t<input pInputText type=\"text\" (keydown.enter)=\"$event.preventDefault()\" [(ngModel)]=\"CurrentPage\" positiveNumber class=\"prPaginator__input\" (keyup.enter)=\"onKeyUp($event)\" />\r\n\t\t<span class=\"prPaginator__total\">Of {{ TotalPages }}</span>\r\n\t\t<button pButton type=\"button\" class=\"prPaginator__btn prPaginator__btn--next\" [disabled]=\"CurrentPage === TotalPages\" (click)=\"GoToNextPage()\"></button>\r\n\t\t<button pButton type=\"button\" class=\"prPaginator__btn prPaginator__btn--last\" [disabled]=\"CurrentPage === TotalPages\" (click)=\"GoToLastPage()\"></button>\r\n\t</div>\r\n</div>\r\n","export class FormatDateConstants {\r\n\tpublic static readonly DMYY: string = \"d/M/yy\";\r\n\tpublic static readonly MMYY: string = \"MMMM yyyy\";\r\n\tpublic static readonly YYMD: string = \"yyMd\";\r\n\tpublic static readonly DMYY_MOMENT: string = \"D/M/YY\";\r\n\tpublic static readonly YYMD_MOMENT: string = \"YYMD\";\r\n\tpublic static readonly DDMMYYYY: string = \"dd_MM_YYYY\";\r\n\tpublic static readonly DDMMYYYY_: string = \"DD/MM/YYYY\";\r\n\tpublic static readonly YYYYMMDD: string = \"YYYY-MM-DD\";\r\n\tpublic static readonly YYYYMMDD_: string = \"yyyyMMdd\";\r\n\tpublic static readonly YYYYMMDD_SLASH: string = \"YYYY/MM/DD\";\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { BehaviorSubject, Observable, Subject } from \"rxjs\";\r\nimport { Location } from \"@angular/common\";\r\nimport { FormatDateConstants } from \"../constants/format-date.constants\";\r\ndeclare var require: any;\r\nimport moment from \"moment\";\r\nimport * as _ from \"lodash\";\r\n@Injectable({\r\n\tprovidedIn: \"root\",\r\n})\r\nexport class SharedService {\r\n\tpublic configObservable = new Subject<boolean>();\r\n\tisLoading = new BehaviorSubject(false);\r\n\tisLoadingHeader = new BehaviorSubject(true);\r\n\tisExpandedContent = new BehaviorSubject(false);\r\n\tisLoadingPageInfo = new BehaviorSubject(true);\r\n\tnotifyProfileType = new Subject<string>();\r\n\tcharges = 0;\r\n\tshowHelper = new BehaviorSubject(false);\r\n\theaderPathName = new BehaviorSubject<string[]>([]);\r\n\tpageId: number | undefined = 0;\r\n\topenActionMenu$: Subject<boolean> = new Subject<boolean>();\r\n\tmonths = {\r\n\t\ten: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\r\n\t\tes: [\"Enero\", \"Febrero\", \"Marzo\", \"Abril\", \"Mayo\", \"Junio\", \"Julio\", \"Agosto\", \"Septiembre\", \"Octubre\", \"Noviembre\", \"Diciembre\"],\r\n\t};\r\n\tsubtitleDescriptionNotification$!: Observable<string>;\r\n\tconstructor(private location: Location) {}\r\n\t///METODOS GLOBALS.\r\n\tIsNumberRate(n: any) {\r\n\t\treturn !isNaN(parseFloat(n)) && !isNaN(n - 0);\r\n\t}\r\n\tRemovePercentage(string: string) {\r\n\t\tif (string.length > 0) {\r\n\t\t\tif (string.startsWith(\"%\")) string = string.substring(1);\r\n\t\t\tlet last = string.length - 1;\r\n\t\t\tif (string.endsWith(\"%\")) string = string.substring(0, last);\r\n\t\t}\r\n\t\treturn string;\r\n\t}\r\n\tGetTotalAmountByCrncy(col: string, listGeneral: any): number {\r\n\t\treturn listGeneral.reduce((a: any, b: any) => a + (b[col] || 0), 0);\r\n\t}\r\n\tGetTotalAverageByColumn(col: string, listGeneral: any): number {\r\n\t\treturn listGeneral.reduce((a: any, b: any) => a + (b[col] || 0), 0) / (listGeneral.length || 1);\r\n\t}\r\n\tGetTotalByGroup(col: string, listGeneral: any[], groupBy: string[] | undefined): any[] {\r\n\t\tif (!groupBy?.length) return [listGeneral.reduce((a: any, b: any) => a + (b[col] || 0), 0)];\r\n\r\n\t\tlet result: { [key: string]: any } = listGeneral.reduce((acc: { [key: string]: any }, item: any) => {\r\n\t\t\tconst groupKey = groupBy.map(prop => item[prop]).join(\"||\");\r\n\t\t\tacc[groupKey] = (acc[groupKey] || 0) + item[col];\r\n\t\t\treturn acc;\r\n\t\t}, {});\r\n\t\tconst propiedades = Object.keys(result).sort();\r\n\t\tconst indexGroup = groupBy.indexOf(col);\r\n\t\tif (indexGroup != -1) return propiedades.map(propiedad => propiedad.split(\"||\")[indexGroup]);\r\n\t\treturn propiedades.map(propiedad => result[propiedad]);\r\n\t}\r\n\tTransformNegative(value: string): string {\r\n\t\tvalue = value?.toString() ?? \"0.00\";\r\n\t\tif (value?.indexOf(\"-\") > -1) return \"(\" + value.replace(\"-\", \"\") + \")\";\r\n\t\telse return value.toString();\r\n\t}\r\n\tFormatNumber(value: number, decimalMax: number, decimalMin: number) {\r\n\t\treturn value.toLocaleString(\"en-US\", { maximumFractionDigits: decimalMax, minimumFractionDigits: decimalMin });\r\n\t}\r\n\tClickOutSideValidator(event: any): boolean {\r\n\t\tlet res = false;\r\n\t\tif (event !== undefined) {\r\n\t\t\tconst src = (event as Event).srcElement as Element;\r\n\t\t\tres = src.id !== \"button-alignment\" && !this.CheckParents(src, 0);\r\n\t\t}\r\n\t\treturn res;\r\n\t}\r\n\tCheckParents(src: Element, c: number): boolean {\r\n\t\tvar ids = [];\r\n\t\tids.push(\"HamburgerMenu\");\r\n\t\tvar strings = [];\r\n\t\tstrings.push(\"swal2-container\");\r\n\t\tif (src.className.includes(\"backdrop-visible\")) return false;\r\n\t\tvar res = ids.some(function (v) {\r\n\t\t\treturn src.id === v;\r\n\t\t});\r\n\t\tif (!res && (src.tagName === \"BODY\" || src.parentElement === null) && c === 0) {\r\n\t\t\tres = true;\r\n\t\t}\r\n\t\tif (\r\n\t\t\t!res &&\r\n\t\t\tstrings.some(function (v) {\r\n\t\t\t\treturn src.classList.contains(v);\r\n\t\t\t})\r\n\t\t)\r\n\t\t\tres = true;\r\n\t\tif (src.parentElement && !res) {\r\n\t\t\tc++;\r\n\t\t\tres = this.CheckParents(src.parentElement, c);\r\n\t\t}\r\n\t\treturn res;\r\n\t}\r\n\tGetTitleByRegionOrCountry(CurrentGroup: any, Current: any, field: string) {\r\n\t\treturn CurrentGroup ? CurrentGroup.groupName + \" - \" + Current[field] : Current[field];\r\n\t}\r\n\tGetTitleByBank(ListGeneralCountryAll: any[], CurrentBank: any) {\r\n\t\treturn ListGeneralCountryAll.length > 1 ? CurrentBank.groupName + \" - \" + CurrentBank.countryName + \" - \" + CurrentBank.bankNameCommercial : CurrentBank.bankNameCommercial;\r\n\t}\r\n\tRoundgen(value: any, precision: any) {\r\n\t\tvar multiplier = Math.pow(10, precision || 0);\r\n\t\treturn Math.round(value * multiplier) / multiplier;\r\n\t}\r\n\tReturnAmountPercen(amount: any): string {\r\n\t\tif (isNaN(amount)) amount = 0;\r\n\t\tlet resultado: string = \"\";\r\n\t\tlet AmountStr = amount === 0 ? \"0\" : amount.toLocaleString(\"en-US\", { maximumFractionDigits: 1, minimumFractionDigits: 1 });\r\n\t\tif (AmountStr.indexOf(\".0\") !== -1) AmountStr = amount.toLocaleString(\"en-US\", { maximumFractionDigits: 0, minimumFractionDigits: 0 });\r\n\t\tif (amount < 0 && parseInt(amount.toString()) * -1 === 0) {\r\n\t\t\tresultado = amount.toLocaleString(\"en-US\", { maximumFractionDigits: 1, minimumFractionDigits: 1 }).replace(\"-\", \"(\") + \"%)\";\r\n\t\t} else if (amount < 0) resultado = AmountStr.replace(\"-\", \"(\") + \"%)\";\r\n\t\telse resultado = AmountStr + \"%\";\r\n\t\tif (Number.NEGATIVE_INFINITY === amount || Number.POSITIVE_INFINITY === amount) resultado = \"\";\r\n\t\treturn resultado;\r\n\t}\r\n\tReturAmountFormat(amount: any): string {\r\n\t\tif (isNaN(amount)) amount = 0;\r\n\t\tamount = this.Roundgen(amount, 2);\r\n\t\tlet resultado: string = \"\";\r\n\t\tif (amount < 0 && parseInt(amount.toString()) * -1 === 0) resultado = amount.toString().replace(\"-\", \"(\") + \")\";\r\n\t\telse if (amount < 0 && amount > -1000) {\r\n\t\t\tresultado = this.Roundgen(amount, 0).toString().replace(\"-\", \"(\") + \")\";\r\n\t\t} else if (amount < 0 && -1000000000 >= amount) {\r\n\t\t\tresultado =\r\n\t\t\t\tthis.Roundgen(amount / 1000000000, 1)\r\n\t\t\t\t\t.toString()\r\n\t\t\t\t\t.replace(\"-\", \"(\") + \" B)\";\r\n\t\t} else if (amount < 0 && -1000000 >= amount) {\r\n\t\t\tresultado =\r\n\t\t\t\tthis.Roundgen(amount / 1000000, 1)\r\n\t\t\t\t\t.toString()\r\n\t\t\t\t\t.replace(\"-\", \"(\") + \" M)\";\r\n\t\t} else if (amount < 0) {\r\n\t\t\tresultado =\r\n\t\t\t\tthis.Roundgen(amount / 1000, 1)\r\n\t\t\t\t\t.toString()\r\n\t\t\t\t\t.replace(\"-\", \"(\") + \" K)\";\r\n\t\t} else if (amount < 1000) resultado = this.Roundgen(amount, 1).toString();\r\n\t\telse if (1000000000 < amount) resultado = this.Roundgen(amount / 1000000000, 1).toString() + \" B\";\r\n\t\telse if (1000000 < amount) resultado = this.Roundgen(amount / 1000000, 1).toString() + \" M\";\r\n\t\telse resultado = this.Roundgen(amount / 1000, 1).toString() + \" K\";\r\n\t\tif (resultado.indexOf(\".\") === -1 && amount !== 0) {\r\n\t\t\tlet a = resultado;\r\n\t\t\tlet b = \".0\";\r\n\t\t\tlet output = a + b;\r\n\r\n\t\t\tif (resultado.indexOf(\" \") !== -1) {\r\n\t\t\t\tlet position = resultado.indexOf(\" \");\r\n\t\t\t\toutput = [a.slice(0, position), b, a.slice(position)].join(\"\");\r\n\t\t\t} else if (resultado.indexOf(\" \") === -1 && resultado.indexOf(\")\") !== -1) {\r\n\t\t\t\tlet position = resultado.indexOf(\")\");\r\n\t\t\t\toutput = [a.slice(0, position), b, a.slice(position)].join(\"\");\r\n\t\t\t}\r\n\r\n\t\t\tresultado = output;\r\n\t\t}\r\n\t\treturn resultado;\r\n\t}\r\n\tDownloadFile(fileName: string, blob: any): void {\r\n\t\tconst nav = window.navigator as any;\r\n\t\tif (nav.msSaveOrOpenBlob) {\r\n\t\t\tnav.msSaveOrOpenBlob(blob, fileName);\r\n\t\t} else {\r\n\t\t\tconst link = document.createElement(\"a\");\r\n\t\t\tlink.setAttribute(\"type\", \"hidden\");\r\n\t\t\tlink.download = fileName;\r\n\t\t\tlink.href = window.URL.createObjectURL(blob.body);\r\n\t\t\tdocument.body.appendChild(link);\r\n\t\t\tlink.click();\r\n\t\t}\r\n\t}\r\n\tViewFile(response: any) {\r\n\t\tconst a = document.createElement(\"a\");\r\n\t\ta.setAttribute(\"style\", \"display:none;\");\r\n\t\tdocument.body.appendChild(a);\r\n\t\ta.href = URL.createObjectURL(response.body);\r\n\t\ta.target = \"_blank\";\r\n\t\ta.click();\r\n\t\tdocument.body.removeChild(a);\r\n\t}\r\n\tGetNumberCurrency(amount: number): string {\r\n\t\treturn amount === 0 ? \"0\" : amount.toLocaleString(\"en-US\", { maximumFractionDigits: 2, minimumFractionDigits: 2 });\r\n\t}\r\n\tCountDecimals(param: number) {\r\n\t\tif (Math.floor(param) === param) return 0;\r\n\t\treturn param.toString().split(\".\")[1].length || 0;\r\n\t}\r\n\tIsEmpty(value: any) {\r\n\t\treturn value === null || value === \"\" || value === undefined;\r\n\t}\r\n\tGroupByColumn(data: any[], columnGroup: string): any[] {\r\n\t\tlet colUnique = [];\r\n\t\tif (columnGroup != \"\") {\r\n\t\t\tcolUnique = [\r\n\t\t\t\t...new Set(\r\n\t\t\t\t\tdata.map(item => {\r\n\t\t\t\t\t\treturn item[columnGroup];\r\n\t\t\t\t\t})\r\n\t\t\t\t),\r\n\t\t\t].filter(unique => !this.IsEmpty(unique));\r\n\t\t} else {\r\n\t\t\tcolUnique = [\r\n\t\t\t\t...new Set(\r\n\t\t\t\t\tdata.map(item => {\r\n\t\t\t\t\t\treturn item;\r\n\t\t\t\t\t})\r\n\t\t\t\t),\r\n\t\t\t].filter(unique => !this.IsEmpty(unique));\r\n\t\t}\r\n\t\treturn colUnique;\r\n\t}\r\n\tGetRoswpanbyData(column: string, index: number, data: Array<any>): number {\r\n\t\tlet ValOfAgruppated = null;\r\n\t\tlet rowspanI = 1;\r\n\t\tfor (let i: number = index - 1; i < data.length; i++) {\r\n\t\t\tlet val = data[i][column];\r\n\t\t\tif (ValOfAgruppated == null) {\r\n\t\t\t\tValOfAgruppated = val;\r\n\t\t\t} else if (val !== null && ValOfAgruppated == val) {\r\n\t\t\t\trowspanI++;\r\n\t\t\t} else if (val !== null && ValOfAgruppated != val) {\r\n\t\t\t\tValOfAgruppated = null;\r\n\t\t\t\treturn rowspanI;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn rowspanI;\r\n\t}\r\n\tFormatterStringJsonByKey(data: any[], key: string, separador: string): string {\r\n\t\tlet result = \"\";\r\n\t\tlet colUnique: string[] = [];\r\n\t\tdata.forEach(element => {\r\n\t\t\tcolUnique.push(element[key]);\r\n\t\t});\r\n\t\tresult = colUnique.join(separador);\r\n\t\treturn result;\r\n\t}\r\n\tGroupByKey(xs: any, key: any) {\r\n\t\treturn xs.reduce(function (rv: any, x: any) {\r\n\t\t\t(rv[x[key]] = rv[x[key]] || []).push(x);\r\n\t\t\treturn rv;\r\n\t\t}, {});\r\n\t}\r\n\tLoadProjectsCss(route: string) {\r\n\t\tconst elements = this.CheckProjectsCss(route);\r\n\t\tif (elements.length === 0) {\r\n\t\t\tconst node = document.createElement(\"link\");\r\n\t\t\tnode.href = \"./assets/css/projects/\" + route + \".css\";\r\n\t\t\tnode.rel = \"stylesheet\";\r\n\t\t\tdocument.getElementsByTagName(\"head\")[0].appendChild(node);\r\n\t\t}\r\n\t}\r\n\tRemoveProjectsCss(route: string) {\r\n\t\tconst elements = this.CheckProjectsCss(route);\r\n\t\telements.forEach(element => {\r\n\t\t\tdocument.getElementsByTagName(\"head\")[0].removeChild(element);\r\n\t\t});\r\n\t}\r\n\tCheckProjectsCss(route: string): any[] {\r\n\t\tconst parent = document.getElementsByTagName(\"head\")[0];\r\n\t\tconst elements: any[] = [];\r\n\t\tparent.childNodes.forEach((element: any) => {\r\n\t\t\tvar a = element as object;\r\n\r\n\t\t\tif (element.nodeName === \"LINK\") {\r\n\t\t\t\tvar elemethref = element[\"href\"];\r\n\t\t\t\tif (elemethref && elemethref.indexOf(route) > 0) {\r\n\t\t\t\t\telements.push(element);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn elements;\r\n\t}\r\n\tCountDecimalsDigits(numero: any) {\r\n\t\tif (this.IsEmpty(numero)) return 0;\r\n\t\tnumero = parseFloat(numero);\r\n\t\tlet arrayNumero = numero.toString().split(\".\");\r\n\t\tnumero = arrayNumero.length > 1 ? arrayNumero[1] : \"\";\r\n\t\treturn numero.length;\r\n\t}\r\n\tGetMaxNumberDecimals(data: any[], key: string): number {\r\n\t\tlet arrCountDecimals: number[] = [];\r\n\t\tdata.forEach(element => {\r\n\t\t\tlet decimals = this.CountDecimalsDigits(element[key]);\r\n\t\t\tarrCountDecimals.push(decimals);\r\n\t\t});\r\n\t\tvar maxDecimal = Math.max(...arrCountDecimals);\r\n\t\treturn maxDecimal;\r\n\t}\r\n\tSetHeaderPathName(name: string[]) {\r\n\t\tthis.headerPathName.next(name);\r\n\t}\r\n\tFormatDate(date: string, format: string): string {\r\n\t\treturn moment(date).format(format);\r\n\t}\r\n\tCopyTo(src: any, dest: any) {\r\n\t\tObject.keys(src).forEach(property => {\r\n\t\t\tdest[property] = src[property];\r\n\t\t});\r\n\t}\r\n\tIsValidEmail(email: string): boolean {\r\n\t\tconst emailPattern = /^\\w+([.-]?\\w+)*@\\w+([.-]?\\w+)*(\\.\\w{2,3})+$/;\r\n\t\treturn emailPattern.test(email);\r\n\t}\r\n\tIsGuid(str: string): boolean {\r\n\t\tconst guidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;\r\n\t\treturn guidRegex.test(str);\r\n\t}\r\n\tContainsSpecialCharacters(str: string): boolean {\r\n\t\tconst specialCharacter = /^[^\\\\/?%*:|\"<>]+$/;\r\n\t\treturn !specialCharacter.test(str);\r\n\t}\r\n\tIsNumber(value: any): boolean {\r\n\t\treturn /^-?\\d+(\\.\\d+)?$/.test(value);\r\n\t}\r\n\tCalculatePreviousDate(date: Date, monthsAgo: number) {\r\n\t\tdate.setMonth(date.getMonth() - monthsAgo);\r\n\t\tconst newDate = moment(date).format(FormatDateConstants.DMYY_MOMENT);\r\n\r\n\t\treturn newDate;\r\n\t}\r\n\tGetFilteredSearchKey(listTempAll: any[], key: string, value: any, operatorId: number) {\r\n\t\tlet listFilter = [];\r\n\t\tswitch (operatorId) {\r\n\t\t\tcase 0: //'Contains'\r\n\t\t\t\tlet word = value.split(\"&\", 100);\r\n\t\t\t\tlet count: number = 0;\r\n\t\t\t\tlet listTemp: any;\r\n\t\t\t\tif (word.length > 1) {\r\n\t\t\t\t\tword.forEach((element: any) => {\r\n\t\t\t\t\t\tif (count === 0) {\r\n\t\t\t\t\t\t\tlistTemp = listTempAll.filter(a => a[key]?.toString()?.toLowerCase().includes(element.toLowerCase()));\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tlistTemp = listTemp.filter((a: any) => a[key]?.toString()?.toLowerCase().includes(element.toLowerCase()));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tcount++;\r\n\t\t\t\t\t});\r\n\t\t\t\t\tlistFilter = listTemp;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tlistFilter = listTempAll.filter(a => a[key]?.toString()?.toLowerCase().includes(value));\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\tcase 1: //'Exact'\r\n\t\t\t\tlistFilter = value ? listTempAll.filter(a => a[key]?.toString()?.toLowerCase() === value) : listTempAll;\r\n\t\t\t\tbreak;\r\n\t\t\tcase 2: //'Begin'\r\n\t\t\t\tlistFilter = listTempAll.filter(a => a[key]?.toString()?.toLowerCase().startsWith(value));\r\n\t\t\t\tbreak;\r\n\t\t\tcase 3: //'Ends'\r\n\t\t\t\tlistFilter = listTempAll.filter(a => a[key]?.toString()?.toLowerCase().endsWith(value));\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tlistFilter = listTempAll.filter(a => a[key]?.toString()?.toLowerCase().includes(value));\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t\treturn listFilter;\r\n\t}\r\n\tGetFilteredSearchKeyV2(listTempAll: any[], key: string, value: any, operatorId: number, subKey: any = null) {\r\n\t\tif (value.length == 0) return listTempAll;\r\n\t\tif (!listTempAll || !key || value == null) return [];\r\n\t\tlet listFilter = listTempAll;\r\n\t\tvalue = value.toString().toLowerCase();\r\n\t\tconst words = value.includes(\"&\") ? value.split(\"&\").filter(Boolean) : [value];\r\n\t\tconst filterFunction = (item: any) => {\r\n\t\t\tconst itemValue = item[key]?.toString()?.toLowerCase();\r\n\t\t\tswitch (operatorId) {\r\n\t\t\t\tcase 0: // 'Contains'\r\n\t\t\t\t\treturn words.every((word: any) => itemValue?.includes(word));\r\n\t\t\t\tcase 1: // 'Exact'\r\n\t\t\t\t\treturn itemValue === value;\r\n\t\t\t\tcase 2: // 'Begin'\r\n\t\t\t\t\treturn itemValue?.startsWith(value);\r\n\t\t\t\tcase 3: // 'Ends'\r\n\t\t\t\t\treturn itemValue?.endsWith(value);\r\n\t\t\t\tdefault:\r\n\t\t\t\t\treturn itemValue?.includes(value);\r\n\t\t\t}\r\n\t\t};\r\n\t\tif (subKey) {\r\n\t\t\t// Filtrar primero a nivel de sublista\r\n\t\t\tlistFilter = listFilter.map(filter => {\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...filter,\r\n\t\t\t\t\t[subKey]: filter[subKey]?.filter((item: any) => filterFunction(item)),\r\n\t\t\t\t};\r\n\t\t\t});\r\n\t\t\t// Filtrar luego la lista principal basado en si la sublista contiene elementos\r\n\t\t\tlistFilter = listFilter.filter(filter => filter[subKey].length > 0);\r\n\t\t} else {\r\n\t\t\t// Filtrar solo la lista principal\r\n\t\t\tlistFilter = listFilter.filter(filterFunction);\r\n\t\t}\r\n\t\treturn listFilter;\r\n\t}\r\n\tpublic TransformArrayToHashTable<T, TypeKey extends string | number>(arr: T[], getKey: (p: T) => TypeKey): { [key in TypeKey]: T } {\r\n\t\t//example of Use:\r\n\t\t// this.transformArrayToHashTable<any,string>([{id:1,prop1:\"prop1Value\"}],(o)=>o.id.toString())\r\n\t\tconst hashTable: { [key in TypeKey]: T } = {} as { [key in TypeKey]: T };\r\n\t\tarr.forEach((object: T) => (hashTable[getKey(object)] = object));\r\n\t\treturn hashTable;\r\n\t}\r\n\tpublic TransformArrayToMap<TypeKey, T>(arr: T[], getKey: (p: T) => TypeKey): Map<TypeKey, T> {\r\n\t\t//example of Use:\r\n\t\t// this.transformArrayToMap<string,any>([{id:1,prop1:\"prop1Value\"}],(o)=>o.id.toString())\r\n\t\treturn new Map(arr.map(obj => [getKey(obj), obj]));\r\n\t}\r\n\tUrlHasQaUatSubdomain() {\r\n\t\tconst { hostname } = new URL(window.location.href);\r\n\t\tconst [subdomain] = hostname.split(\".\");\r\n\t\treturn [\"qa\", \"uat\"].includes(subdomain);\r\n\t}\r\n\tUrlHasQaSubdomain() {\r\n\t\tconst { hostname } = new URL(window.location.href);\r\n\t\tconst [subdomain] = hostname.split(\".\");\r\n\t\treturn [\"qa\"].includes(subdomain);\r\n\t}\r\n\tGetLastSegmentUrl(): string {\r\n\t\tconst segments = this.location.path().split(\"/\");\r\n\t\tconst lastSegment = segments[segments.length - 1];\r\n\t\tconst numberMappings: { [key: string]: string } = {\r\n\t\t\t\"0\": \"intelica-allocated\",\r\n\t\t\t\"1\": \"penalty-summary\",\r\n\t\t};\r\n\t\t// Verifica si lastSegment es un número y si tiene un mapeo correspondiente\r\n\t\tif (!isNaN(Number(lastSegment)) && numberMappings.hasOwnProperty(lastSegment)) return numberMappings[lastSegment];\r\n\t\telse return lastSegment;\r\n\t}\r\n\tOnChangeMultiple($event: any, selectDescription: string): void {\r\n\t\tlet select = $event != null ? $event.element.ej2_instances[0] : null;\r\n\t\tif (select?.value.length > 0) {\r\n\t\t\tselect.viewWrapper.innerHTML = `${select.value.length} ${selectDescription}`;\r\n\t\t}\r\n\t}\r\n\tRemoveParamsAndSegments(url: string): string {\r\n\t\t// Remover parámetros de consultanom\r\n\t\tconst urlWithoutParams = url.split(\"?\")[0];\r\n\t\t// Remover segmentos de ruta dinámicos\r\n\t\tconst regex = /\\/\\d+(?=\\/|$)(?!$)/g; // Encuentra segmentos de ruta que consisten en números\r\n\t\treturn urlWithoutParams.replace(regex, \"\");\r\n\t}\r\n\tOpenActionMenu() {\r\n\t\tthis.openActionMenu$.next(true);\r\n\t}\r\n\tAbbreviateNumber(number: number, fixed: number = 2): string {\r\n\t\tif (number == 0.0 || number == 0 || number == 0.0) {\r\n\t\t\treturn \"0\";\r\n\t\t}\r\n\t\tlet formatCant = \"\";\r\n\t\tlet numberOriginal = number;\r\n\t\tif (number < 0) {\r\n\t\t\tnumber = Math.abs(number);\r\n\t\t}\r\n\t\tif (number >= 1000 && number < 1000000) {\r\n\t\t\tnumber = parseFloat((number / 1000).toFixed(fixed));\r\n\t\t\tformatCant = \" K\";\r\n\t\t} else if (number >= 1000000 && number < 1000000000) {\r\n\t\t\tnumber = parseFloat((number / 1000000).toFixed(fixed));\r\n\t\t\tformatCant = \" M\";\r\n\t\t} else if (number >= 1000000000 && number <= 1000000000000) {\r\n\t\t\tnumber = parseFloat((number / 1000000000).toFixed(fixed));\r\n\t\t\tformatCant = \" B\";\r\n\t\t} else {\r\n\t\t\tnumber = this.NumberFormatByNumberCriteria(number, fixed);\r\n\t\t}\r\n\t\treturn numberOriginal < 0 ? `(${number}${formatCant})` : `${number}${formatCant}`;\r\n\t}\r\n\tNumberFormatByNumberCriteria(number: number, fixed: number = 4): any {\r\n\t\tconst rounded = (Math.round(number * Math.pow(10, fixed)) / Math.pow(10, fixed)).toFixed(fixed);\r\n\t\treturn rounded;\r\n\t}\r\n\tFormatPercentage(number: number, decimal: number = 2) {\r\n\t\tlet numberInit = number;\r\n\t\tif (number < 0) number = Math.abs(number);\r\n\t\tnumber = parseFloat(number.toFixed(decimal));\r\n\t\tlet finalNumber = `${number.toLocaleString(\"en-US\")}%`;\r\n\t\treturn numberInit < 0 ? `(${finalNumber})` : `${finalNumber}`;\r\n\t}\r\n\tGetMonthName(monthIndex: number, lang: \"en\" | \"es\" = \"en\"): string {\r\n\t\treturn this.months[lang][monthIndex];\r\n\t}\r\n\tFormatNumberWithSuffix(number: number, decimalPlaces: number = 0): string {\r\n\t\tif (number === 0) {\r\n\t\t\treturn \"0\";\r\n\t\t}\r\n\t\tconst isNegative = number < 0;\r\n\t\tconst absoluteValue = Math.abs(number);\r\n\t\tconst scaledNumber = parseFloat((absoluteValue / 1000).toFixed(decimalPlaces)).toLocaleString(\"en-US\");\r\n\t\tconst suffix = \" K\";\r\n\r\n\t\treturn isNegative ? `(${scaledNumber}${suffix})` : `${scaledNumber}${suffix}`;\r\n\t}\r\n\t//SYNFCUNTION\r\n\tGenerateGUID(): string {\r\n\t\tlet uuid = \"\",\r\n\t\t\ti,\r\n\t\t\trandom;\r\n\t\tfor (i = 0; i < 32; i++) {\r\n\t\t\trandom = (Math.random() * 16) | 0;\r\n\t\t\tif (i === 8 || i === 12 || i === 16 || i === 20) {\r\n\t\t\t\tuuid += \"-\";\r\n\t\t\t}\r\n\t\t\tuuid += (i === 12 ? 4 : i === 16 ? (random & 3) | 8 : random).toString(16);\r\n\t\t}\r\n\t\treturn uuid;\r\n\t}\r\n\tAttachDataLabelClickEvent(chartElementId: string, dataArray: any[], onClickCallback: (clickedData: any) => void): void {\r\n\t\tconst chartElement = document.getElementById(chartElementId);\r\n\t\tif (!chartElement) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst dataLabels = chartElement.querySelectorAll('[id*=\"_DataLabel_\"]');\r\n\t\tconst dataLabelsArray = Array.prototype.slice.call(dataLabels) as HTMLElement[];\r\n\t\tdataLabelsArray.forEach((label, index) => {\r\n\t\t\t// Calcula el índice ajustado para obtener el dato correcto\r\n\t\t\tconst adjustedIndex = index % dataArray.length;\r\n\r\n\t\t\tlabel.addEventListener(\"click\", () => {\r\n\t\t\t\tconst clickedData = dataArray[adjustedIndex];\r\n\t\t\t\tif (clickedData) {\r\n\t\t\t\t\tonClickCallback(clickedData);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\tFormatNumberAbsolute(number: number) {\r\n\t\tconst isNegative = number < 0;\r\n\t\tif (number < 0) {\r\n\t\t\tnumber = Math.abs(number);\r\n\t\t}\r\n\r\n\t\tlet finalNumber = `${number.toLocaleString(\"en-US\")}`;\r\n\t\treturn isNegative ? `(${finalNumber})` : `${finalNumber}`;\r\n\t}\r\n\tSortRecursive(data: any[], column: any, criteria: string) {\r\n\t\treturn _.orderBy(\r\n\t\t\tdata.map(item => {\r\n\t\t\t\tObject.keys(item).forEach(key => {\r\n\t\t\t\t\tif (Array.isArray(item[key])) {\r\n\t\t\t\t\t\titem[key] = this.SortRecursive(item[key], column, criteria);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\treturn item;\r\n\t\t\t}),\r\n\t\t\t[(elm: any) => (typeof elm[column] === \"string\" ? elm[column].toLowerCase() : elm[column])],\r\n\t\t\t[criteria as \"asc\" | \"desc\"]\r\n\t\t);\r\n\t}\r\n}\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { AfterContentInit, Component, ContentChildren, EventEmitter, inject, Input, NO_ERRORS_SCHEMA, OnChanges, Output, QueryList, SimpleChanges, ViewChild } from \"@angular/core\";\r\nimport { TableModule } from \"primeng/table\";\r\nimport { BadgeModule } from \"primeng/badge\";\r\nimport { Popover } from \"primeng/popover\";\r\nimport { ColumnComponent } from \"./column.component\";\r\nimport { SearchFieldModel } from \"./model/search.model\";\r\nimport { TooltipModule } from \"primeng/tooltip\";\r\nimport { SearchComponent } from \"../search/search.component\";\r\nimport { PaginatorComponent } from \"../paginator/paginator.component\";\r\nimport { SharedService } from \"../../services/shared.service\";\r\n\r\n@Component({\r\n\tselector: \"intelica-table\",\r\n\tstandalone: true,\r\n\timports: [CommonModule, SearchComponent, PaginatorComponent, TableModule, BadgeModule, Popover, ColumnComponent, TooltipModule],\r\n\ttemplateUrl: \"./table.component.html\",\r\n})\r\nexport class TableComponent<T> implements OnChanges, AfterContentInit {\r\n\tprivate readonly SharedService = inject(SharedService);\r\n\t@Input() ComponentId: string = \"\";\r\n\t@Input() ListData: T[] = [];\r\n\t@Input() ShowSearch: boolean = false;\r\n\t@Input() ListSearchOptions: SearchFieldModel[] = [];\r\n\t@Input() ShowPagination: boolean = false;\r\n\t@Input() RowsPerPage: number = 10;\r\n\t@Input() ShowCheckbox: boolean = false;\r\n\t@Input() ListDataSelected: T[] = [];\r\n\t@Input() SelectedIdentifier: keyof T | null = null;\r\n\tColumnList: ColumnComponent[] = [];\r\n\tListDataFilter: T[] = [];\r\n\tListDataTable: T[] = [];\r\n\tListDataSelectedFilter: T[] = [];\r\n\tListDataSelectedTemp: T[] = [];\r\n\tListSearchOptionsSimple: { id: number; value: string }[] = [];\r\n\tTotalRecords: number = 0;\r\n\tCurrentPage: number = 1;\r\n\tSortOrder: number = 1;\r\n\tSortField: keyof T | null = null;\r\n\t@Output() EmmitSelectedItem = new EventEmitter<T[]>();\r\n\t@ViewChild(\"paginatorTable\") PaginatorTable?: PaginatorComponent;\r\n\t@ViewChild(\"searchTable\") SearchTable?: SearchComponent;\r\n\t@ContentChildren(ColumnComponent) Columns!: QueryList<ColumnComponent>;\r\n\tconstructor() {}\r\n\tngOnChanges(changes: SimpleChanges): void {\r\n\t\tthis.LoadSearchOptions();\r\n\t\tthis.ExecuteSearch({});\r\n\t\tthis.ValidateSelect();\r\n\t}\r\n\tngAfterContentInit() {\r\n\t\tthis.ColumnList = this.Columns.toArray();\r\n\t}\r\n\tLoadSearchOptions() {\r\n\t\tthis.ListSearchOptionsSimple = this.ListSearchOptions.map(item => ({\r\n\t\t\tid: item.id,\r\n\t\t\tvalue: item.name,\r\n\t\t}));\r\n\t}\r\n\tOnSort(field: string) {\r\n\t\tif (this.SortField === field) {\r\n\t\t\tthis.SortOrder *= -1;\r\n\t\t} else {\r\n\t\t\tthis.SortField = field as keyof T;\r\n\t\t\tthis.SortOrder = 1;\r\n\t\t}\r\n\t\tthis.SortPages();\r\n\t}\r\n\tOnPageChange(pageIndex: number) {\r\n\t\tthis.CurrentPage = pageIndex;\r\n\t\tthis.UpdatePages();\r\n\t}\r\n\tExecuteSearch(event: any): void {\r\n\t\tthis.ListDataFilter = [...this.ListData];\r\n\t\tif (event?.searchText !== undefined && event?.searchText !== \"\" && this.ListSearchOptions.length > 0) {\r\n\t\t\tlet Search = event.searchText?.trim()?.toLowerCase();\r\n\t\t\tlet searchValue = this.ListSearchOptions.find(item => item.id === event.fieldId)?.field || \"code\";\r\n\t\t\tthis.ListDataFilter = this.SharedService.GetFilteredSearchKey([...this.ListData], searchValue, Search, event.operatorId);\r\n\t\t\tif (this.PaginatorTable) {\r\n\t\t\t\tthis.PaginatorTable.CurrentPage = 1;\r\n\t\t\t\tthis.CurrentPage = 1;\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.SortPages();\r\n\t}\r\n\tSortPages() {\r\n\t\tconst order = this.SortOrder === 1 ? \"asc\" : \"desc\";\r\n\t\tconst field = this.SortField as keyof T;\r\n\t\tthis.ListDataFilter = this.SharedService.SortRecursive([...this.ListDataFilter], field, order);\r\n\t\tthis.UpdatePages();\r\n\t}\r\n\tUpdatePages() {\r\n\t\tif (this.ShowPagination) {\r\n\t\t\tthis.TotalRecords = this.ListDataFilter.length;\r\n\t\t\tconst start = (this.CurrentPage - 1) * this.RowsPerPage;\r\n\t\t\tconst end = start + this.RowsPerPage;\r\n\t\t\tthis.ListDataTable = this.ListDataFilter.slice(start, end);\r\n\t\t} else {\r\n\t\t\tthis.ListDataTable = this.ListDataFilter;\r\n\t\t}\r\n\t\tif (this.ShowCheckbox) this.ListDataSelectedFilter = [...this.ListDataSelectedTemp];\r\n\t}\r\n\tValidateSelect() {\r\n\t\tif (!this.SelectedIdentifier && this.ShowCheckbox) {\r\n\t\t\tthis.ShowCheckbox = false;\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst selectedIds = new Set(this.ListDataSelected.map(item => item[this.SelectedIdentifier as keyof T]));\r\n\t\tthis.ListDataSelectedTemp = this.ListData.filter(item => selectedIds.has(item[this.SelectedIdentifier as keyof T]));\r\n\t\tthis.ListDataSelectedFilter = [...this.ListDataSelectedTemp];\r\n\t}\r\n\tSelectAll(event: any) {\r\n\t\tif (!this.SelectedIdentifier && this.ShowCheckbox) return;\r\n\t\tif (event.checked) {\r\n\t\t\tconst idsSelected = new Set(this.ListDataSelectedTemp.map(item => item[this.SelectedIdentifier as keyof T]));\r\n\t\t\tthis.ListDataFilter.forEach(item => {\r\n\t\t\t\tif (!idsSelected.has(item[this.SelectedIdentifier as keyof T])) {\r\n\t\t\t\t\tthis.ListDataSelectedTemp.push(item);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tconst idsSelected = new Set(this.ListDataFilter.map(item => item[this.SelectedIdentifier as keyof T]));\r\n\t\t\tthis.ListDataSelectedTemp = this.ListDataSelectedTemp.filter(item => !idsSelected.has(item[this.SelectedIdentifier as keyof T]));\r\n\t\t}\r\n\t\tthis.EmmitSelectedItem.emit(this.ListDataSelectedTemp);\r\n\t}\r\n\tOnRowSelect(event: any) {\r\n\t\tif (!this.SelectedIdentifier && this.ShowCheckbox) return;\r\n\t\tconst selectedItem = event.data;\r\n\t\tconst exists = this.ListDataSelectedTemp.some(item => item[this.SelectedIdentifier as keyof T] === selectedItem[this.SelectedIdentifier as keyof T]);\r\n\t\tif (!exists) {\r\n\t\t\tthis.ListDataSelectedTemp.push(selectedItem);\r\n\t\t}\r\n\t\tthis.EmmitSelectedItem.emit(this.ListDataSelectedTemp);\r\n\t}\r\n\tOnRowUnselect(event: any) {\r\n\t\tif (!this.SelectedIdentifier && this.ShowCheckbox) return;\r\n\t\tconst unselectedItem = event.data;\r\n\t\tthis.ListDataSelectedTemp = this.ListDataSelectedTemp.filter(item => item[this.SelectedIdentifier as keyof T] !== unselectedItem[this.SelectedIdentifier as keyof T]);\r\n\t\tthis.EmmitSelectedItem.emit(this.ListDataSelectedTemp);\r\n\t}\r\n}\r\n","<div class=\"prTable\">\r\n\t<div class=\"prTableTools\">\r\n\t\t<intelica-search\r\n\t\t\t#searchTable\r\n\t\t\t*ngIf=\"ShowSearch\"\r\n\t\t\t[ComponentId]=\"ComponentId + 'Search'\"\r\n\t\t\t(OnSearch)=\"ExecuteSearch($event)\"\r\n\t\t\t[SearchFieldOptions]=\"ListSearchOptionsSimple\"\r\n\t\t\t[SearchOnKeyup]=\"false\"\r\n\t\t\t[SimpleSearchInput]=\"false\"\r\n\t\t></intelica-search>\r\n\t\t<intelica-paginator #paginatorTable *ngIf=\"ShowPagination\" [TotalItems]=\"ListDataFilter.length\" [ItemsPerPage]=\"RowsPerPage\" (PageChange)=\"OnPageChange($event)\"></intelica-paginator>\r\n\t</div>\r\n\t<p-table\r\n\t\tclass=\"prTableBasic\"\r\n\t\t[value]=\"ListDataTable\"\r\n\t\tresponsiveLayout=\"scroll\"\r\n\t\t[(selection)]=\"ListDataSelectedFilter\"\r\n\t\t(onHeaderCheckboxToggle)=\"SelectAll($event)\"\r\n\t\t(onRowSelect)=\"OnRowSelect($event)\"\r\n\t\t(onRowUnselect)=\"OnRowUnselect($event)\"\r\n\t>\r\n\t\t<!-- Encabezados -->\r\n\t\t<ng-template pTemplate=\"header\">\r\n\t\t\t<tr>\r\n\t\t\t\t<th *ngFor=\"let col of ColumnList\" [class]=\"col.className\" [pSortableColumn]=\"col.sortable ? col.field : ''\" [style.width]=\"col.width\" (click)=\"OnSort(col.field)\">\r\n\t\t\t\t\t<span pTooltip=\"{{ col.headerTooltip }}\" tooltipPosition=\"{{ col.headerTooltipPosition }}\">\r\n\t\t\t\t\t\t{{ col.header }}\r\n\t\t\t\t\t</span>\r\n\t\t\t\t\t<p-sortIcon *ngIf=\"col.sortable\" [field]=\"col.field\"></p-sortIcon>\r\n\t\t\t\t</th>\r\n\t\t\t\t<th *ngIf=\"ShowCheckbox\" class=\"text-center\" style=\"width: 4%\">\r\n\t\t\t\t\t<p-tableHeaderCheckbox class=\"prCheckbox\" [ngClass]=\"{ 'prCheckbox--indeterminate': ListDataSelectedTemp.length > 0 && ListDataSelectedTemp.length < ListDataFilter.length }\" />\r\n\t\t\t\t</th>\r\n\t\t\t</tr>\r\n\t\t</ng-template>\r\n\r\n\t\t<!-- Cuerpo de la tabla -->\r\n\t\t<ng-template pTemplate=\"body\" let-rowData let-rowIndex=\"rowIndex\">\r\n\t\t\t<tr>\r\n\t\t\t\t<td *ngFor=\"let col of ColumnList; let i = index\" [ngClass]=\"col.className\">\r\n\t\t\t\t\t<ng-container *ngIf=\"col.showIndex; else columnContent\">\r\n\t\t\t\t\t\t{{ rowIndex + 1 + (CurrentPage - 1) * RowsPerPage }}\r\n\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t<ng-template #columnContent>\r\n\t\t\t\t\t\t<ng-container *ngIf=\"col.templateRef; else defaultContent\">\r\n\t\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"col.templateRef; context: { $implicit: rowData }\"></ng-container>\r\n\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t\t<ng-template #defaultContent>\r\n\t\t\t\t\t\t\t<span pTooltip=\"{{ rowData[col.tooltip] }}\" tooltipPosition=\"{{ col.tooltipPosition }}\">\r\n\t\t\t\t\t\t\t\t{{ rowData[col.field] }}\r\n\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t</ng-template>\r\n\t\t\t\t</td>\r\n\t\t\t\t<td *ngIf=\"ShowCheckbox\" class=\"text-center\">\r\n\t\t\t\t\t<p-tableCheckbox [value]=\"rowData\" class=\"prCheckbox\" />\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t</ng-template>\r\n\t</p-table>\r\n</div>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.FeatureFlagService","i1","i2"],"mappings":"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"}
1
+ {"version":3,"file":"intelica-library-ui.mjs","sources":["../../../projects/intelica-library-ui/src/lib/intelica-library-ui.component.ts","../../../projects/intelica-library-ui/src/lib/services/config.service.ts","../../../projects/intelica-library-ui/src/lib/services/term.service.ts","../../../projects/intelica-library-ui/src/lib/services/globalTerm.service.ts","../../../projects/intelica-library-ui/src/lib/pipes/term.pipes.ts","../../../projects/intelica-library-ui/src/lib/services/spinner.service.ts","../../../projects/intelica-library-ui/src/lib/services/sweet-alert.service.ts","../../../projects/intelica-library-ui/src/lib/constants/cookieConfiguration.constants.ts","../../../projects/intelica-library-ui/src/lib/services/featureFlag.service.ts","../../../projects/intelica-library-ui/src/lib/services/globalFeatureFlag.service.ts","../../../projects/intelica-library-ui/src/lib/interceptor/error.interceptor.ts","../../../projects/intelica-library-ui/src/lib/interceptor/refreshToken.interceptor.ts","../../../projects/intelica-library-ui/src/lib/services/language.service.ts","../../../projects/intelica-library-ui/src/lib/components/spinner/spinner.component.ts","../../../projects/intelica-library-ui/src/lib/components/spinner/spinner.component.html","../../../projects/intelica-library-ui/src/lib/components/table/column.component.ts","../../../projects/intelica-library-ui/src/lib/components/search/enums/search.enum.ts","../../../projects/intelica-library-ui/src/lib/components/search/search.component.ts","../../../projects/intelica-library-ui/src/lib/components/search/search.component.html","../../../projects/intelica-library-ui/src/lib/directives/positive-number.directive.ts","../../../projects/intelica-library-ui/src/lib/components/paginator/paginator.component.ts","../../../projects/intelica-library-ui/src/lib/components/paginator/paginator.component.html","../../../projects/intelica-library-ui/src/lib/constants/format-date.constants.ts","../../../projects/intelica-library-ui/src/lib/services/shared.service.ts","../../../projects/intelica-library-ui/src/lib/components/table/table.component.ts","../../../projects/intelica-library-ui/src/lib/components/table/table.component.html","../../../projects/intelica-library-ui/src/intelica-library-ui.ts"],"sourcesContent":["import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-intelica-library-ui',\r\n imports: [],\r\n template: `\r\n <p>\r\n intelica-library-ui works!\r\n </p>\r\n `,\r\n styles: ``\r\n})\r\nexport class IntelicaLibraryUiComponent {\r\n\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { inject, Injectable } from \"@angular/core\";\r\nimport { BehaviorSubject } from \"rxjs\";\r\nimport { Observable } from \"rxjs/internal/Observable\";\r\nimport { getCookie } from \"typescript-cookie\";\r\nimport { environment } from \"../dto/environment\";\r\nimport { SessionInformation } from \"../dto/sessionInformation\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class ConfigService {\r\n\tprivate readonly Http = inject(HttpClient);\r\n\tenvironment?: environment;\r\n\tSessionInformation: SessionInformation | null = null;\r\n\tprivate userDataSubject = new BehaviorSubject<string>(\"\");\r\n\tpublic userData$: Observable<string> = this.userDataSubject.asObservable();\r\n\tasync init() {\r\n\t\tconst environment = `${window.location.protocol}//${window.location.hostname}${window.location.hostname === \"localhost\" ? \":9000\" : \"\"}/environment/environment.json`;\r\n\t\tif (getCookie(\"data\") != undefined) this.SessionInformation = JSON.parse(getCookie(\"data\") ?? \"\");\r\n\t\tthis.environment = await this.Http.get<environment>(environment).toPromise();\r\n\t\tconsole.log(\"getCookie('data')\", getCookie(\"data\"));\r\n\t\tconsole.log(\"this.environment\", this.environment);\r\n\t}\r\n\tSetSessionInformation() {\r\n\t\tthis.SessionInformation = JSON.parse(getCookie(\"data\") ?? \"\");\r\n\t}\r\n\tsetUserData(userData: string): void {\r\n\t\tthis.userDataSubject.next(userData);\r\n\t}\r\n\tgetUserData(): string {\r\n\t\treturn this.userDataSubject.value;\r\n\t}\r\n}\r\n\r\nexport function InitializeConfigService(confg: ConfigService) {\r\n\treturn () => confg.init();\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { inject, Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { TermPageResponse } from \"../dto/term\";\r\nimport { ConfigService } from \"./config.service\";\r\n@Injectable({ providedIn: \"root\" })\r\nexport class TermService {\r\n\tprivate readonly _http = inject(HttpClient);\r\n\tprivate readonly _config = inject(ConfigService);\r\n\tGetTerms(languageCode: string, pageRoot: string): Observable<TermPageResponse[]> {\r\n\t\treturn this._http.get<TermPageResponse[]>(`${this._config.environment?.configurationPath}/TermPage/GetPageTerm/${languageCode}/${pageRoot}`);\r\n\t}\r\n}\r\n","import { inject, Injectable, signal } from \"@angular/core\";\r\nimport { getCookie } from \"typescript-cookie\";\r\nimport { TermPageResponse } from \"../dto/term\";\r\nimport { TermService } from \"./term.service\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class GlobalTermService {\r\n\tterms: TermPageResponse[] = [];\r\n\tlanguageCode: string = \"\";\r\n\tTermsReady = signal<boolean>(false);\r\n\tPageRoot: string = \"\";\r\n\tprivate readonly termService = inject(TermService);\r\n\r\n\tInitialize(pageRoot: string): void {\r\n\t\tlet languageCode = getCookie(\"language\") ?? \"EN\";\r\n\t\tthis.PageRoot = pageRoot;\r\n\t\tif (pageRoot == \"\") {\r\n\t\t\tthis.TermsReady.set(true);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.termService.GetTerms(languageCode, pageRoot).subscribe(response => {\r\n\t\t\tthis.terms = response;\r\n\t\t\tthis.TermsReady.set(true);\r\n\t\t\tthis.SetTerms();\r\n\t\t\tthis.languageCode = languageCode;\r\n\t\t});\r\n\t}\r\n\r\n\tasync SetTerms() {\r\n\t\twhile (true) {\r\n\t\t\tawait sleep(10);\r\n\t\t\tif (document.querySelectorAll(\"[data-term]\").length > 1) break;\r\n\t\t}\r\n\t\tlet textsToChange = document.querySelectorAll(\"[data-term]\");\r\n\t\ttextsToChange.forEach(async element => {\r\n\t\t\tlet dataValue = element.getAttribute(\"data-term\");\r\n\t\t\tlet newText = this.terms.find(x => x.termName == dataValue)?.termValue ?? \"\";\r\n\t\t\telement.innerHTML = newText;\r\n\t\t\telement.setAttribute(\"placeholder\", newText);\r\n\t\t});\r\n\t}\r\n}\r\n\r\nfunction sleep(ms: number): Promise<void> {\r\n\treturn new Promise(resolve => setTimeout(resolve, ms));\r\n}\r\n","import { inject, Injectable, Pipe, PipeTransform } from \"@angular/core\";\r\nimport { GlobalTermService } from \"../services/globalTerm.service\";\r\n// import GlobalTermService from \"../services/globalTerm.service\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\n@Pipe({ name: \"term\" })\r\nexport class TermPipe implements PipeTransform {\r\n\tprivate readonly globalTermService = inject(GlobalTermService);\r\n\ttransform(termName: string, language: string, mode: number = 1): string {\r\n\t\tlet term = this.globalTermService.terms.find(x => x.termName == termName)?.termValue ?? \"-\";\r\n\t\tif (mode == 2) term = term.substring(0, 1);\r\n\t\tif (mode == 3) term = term.toUpperCase();\r\n\t\treturn term;\r\n\t}\r\n}\r\n","import { Injectable, signal } from \"@angular/core\";\r\n@Injectable({ providedIn: \"root\" })\r\nexport class SpinnerService {\r\n\tisLoading = signal<boolean>(false);\r\n\tpublic hide() {\r\n\t\tthis.isLoading.set(false);\r\n\t}\r\n\tpublic show() {\r\n\t\tthis.isLoading.set(true);\r\n\t}\r\n}","import { Injectable } from \"@angular/core\";\r\nimport Swal, { SweetAlertOptions, SweetAlertResult } from \"sweetalert2\";\r\n\r\n@Injectable({\r\n\tprovidedIn: \"root\",\r\n})\r\nexport class SweetAlertService {\r\n\toptions: SweetAlertOptions = {\r\n\t\ttext: \"\",\r\n\t\tcustomClass: {\r\n\t\t\timage: \"image-class-custom\",\r\n\t\t\tcontainer: \"container-class-custom\",\r\n\t\t\tconfirmButton: \"confirm-class-custom\",\r\n\t\t\tcancelButton: \"cancel-class-custom\",\r\n\t\t},\r\n\t\tshowCloseButton: true,\r\n\t\tcloseButtonHtml: '<i class=\"fa fa-times\"></i>',\r\n\t\timageUrl: `${window.location.origin}/assets/images/logo-incontrol.svg`,\r\n\t\tshowCancelButton: false,\r\n\t\tconfirmButtonText: \"Ok\",\r\n\t\tcancelButtonText: \"\",\r\n\t\thtml: \"\",\r\n\t};\r\n\r\n\tmessageBox(message: string): Promise<SweetAlertResult<any>> {\r\n\t\tlet options = { ...this.options };\r\n\t\toptions.showCancelButton = false;\r\n\t\toptions.text = message;\r\n\t\treturn Swal.fire(options);\r\n\t}\r\n\r\n\tmessageTextBox(message: string = \"\", swHtml: boolean = false) {\r\n\t\tlet options = this.options;\r\n\t\toptions.showCancelButton = false;\r\n\t\tif (!swHtml) options.text = message.length === 0 ? \"Something went wrong!\" : message;\r\n\t\telse options.html = message;\r\n\t\tSwal.fire(options);\r\n\t}\r\n\r\n\tconfirmBox(message: string, confirmButtonText: string, cancelButtonText: string, title?: string, html?: string, popupClass?: string): Promise<SweetAlertResult<any>> {\r\n\t\tlet options = { ...this.options };\r\n\t\toptions.title = title ?? \"\";\r\n\t\toptions.showCancelButton = cancelButtonText == \"\" ? false : true;\r\n\t\toptions.text = message;\r\n\t\toptions.confirmButtonText = confirmButtonText;\r\n\t\toptions.cancelButtonText = cancelButtonText;\r\n\t\toptions.html = html;\r\n\t\tif (popupClass) {\r\n\t\t\toptions.customClass = {\r\n\t\t\t\tpopup: popupClass,\r\n\t\t\t};\r\n\t\t}\r\n\t\treturn Swal.fire(options);\r\n\t}\r\n\r\n\tmessageHTMLBox(title: string, html: string, confirmButtonText: string): Promise<SweetAlertResult<any>> {\r\n\t\tlet options = { ...this.options };\r\n\t\toptions.showCancelButton = false;\r\n\t\toptions.title = title;\r\n\t\toptions.html = html;\r\n\t\toptions.confirmButtonText = confirmButtonText;\r\n\t\treturn Swal.fire(options);\r\n\t}\r\n}\r\n","// import { CookieAttributes } from \"typescript-cookie/dist/types\";\r\nconst domain = window.location.hostname.split(\".\").slice(-2).join(\".\");\r\nconst secure = !domain.includes(\"localhost\");\r\nexport const CookieAttributesGeneral: CookieAttributes = { domain: domain, path: \"/\", secure: secure };\r\n\r\nexport interface CookieAttributes {\r\n\tpath?: string;\r\n\tdomain?: string;\r\n\texpires?: number | Date;\r\n\tsameSite?: \"strict\" | \"Strict\" | \"lax\" | \"Lax\" | \"none\" | \"None\";\r\n\tsecure?: boolean;\r\n\t[property: string]: any;\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable, inject } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { ConfigService } from \"./config.service\";\r\nimport { FeatureFlagPageRootResponse } from \"../dto/featureFlagResponses\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class FeatureFlagService {\r\n\tprivate readonly _http = inject(HttpClient);\r\n\tprivate readonly _configService = inject(ConfigService);\r\n\tGetByPageRoot(pageRoot: string): Observable<FeatureFlagPageRootResponse[]> {\r\n\t\treturn this._http.get<FeatureFlagPageRootResponse[]>(`${this._configService.environment?.configurationPath}/FeatureFlag/${pageRoot}`);\r\n\t}\r\n}\r\n","import { Injectable, signal } from \"@angular/core\";\r\nimport { FeatureFlagService } from \"./featureFlag.service\";\r\nimport { FeatureFlagPageRootResponse } from \"../dto/featureFlagResponses\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class GlobalFeatureFlagService {\r\n\tprivate pageRoot: string = \"\";\r\n\tIsReady = signal<boolean>(false);\r\n\tFeatureFlagsSignal = signal<FeatureFlagPageRootResponse[]>([]);\r\n\r\n\tconstructor(private featureFlagDataService: FeatureFlagService) {}\r\n\tInitialize(pageRoot: string): void {\r\n\t\tthis.pageRoot = pageRoot;\r\n\t\tthis.IsReady.set(true);\r\n\t\t// this.featureFlagDataService.GetByPageRoot(pageRoot).subscribe(response => {\r\n\t\t// \t//\t\tthis.FeatureFlags = response;\r\n\t\t// \tthis.FeatureFlagsSignal.set(response);\r\n\t\t// \tthis.IsReady.set(true);\r\n\t\t// });\r\n\t}\r\n\tExists(featureFlagName: string): boolean {\r\n\t\treturn !(this.FeatureFlagsSignal().find(x => x.name == featureFlagName) == null);\r\n\t}\r\n\tRefresh(): void {\r\n\t\tthis.Initialize(this.pageRoot);\r\n\t}\r\n\tGetPageRoot(): string {\r\n\t\treturn this.pageRoot;\r\n\t}\r\n}\r\n","import { HttpErrorResponse, HttpHeaders, HttpInterceptorFn } from \"@angular/common/http\";\r\nimport { inject } from \"@angular/core\";\r\nimport { catchError, throwError } from \"rxjs\";\r\nimport { getCookie } from \"typescript-cookie\";\r\nimport { GlobalFeatureFlagService } from \"../services/globalFeatureFlag.service\";\r\nimport { ConfigService } from \"../services/config.service\";\r\nimport { SweetAlertService } from \"../services/sweet-alert.service\";\r\nimport { SpinnerService } from \"../services/spinner.service\";\r\n\r\nexport const ErrorInterceptor: HttpInterceptorFn = (req, next) => {\r\n\tconst commonFeatureFlagService = inject(GlobalFeatureFlagService);\r\n\tconst spinnerService = inject(SpinnerService);\r\n\tconst sweetAlertService = inject(SweetAlertService);\r\n\tconst configService: ConfigService = inject(ConfigService);\r\n\tconst HeaderSettings: { [name: string]: string | string[] } = {};\r\n\r\n\tif (!req.url.includes(\"environment.json\")) {\r\n\t\tHeaderSettings[\"Accept\"] = \"application/json\";\r\n\t\tHeaderSettings[\"Content-Type\"] = \"application/json\";\r\n\t\tHeaderSettings[\"Authorization\"] = getCookie(\"token\") ?? \"\";\r\n\t\tHeaderSettings[\"RefreshToken\"] = getCookie(\"refreshToken\") ?? \"\";\r\n\t\tHeaderSettings[\"ClientID\"] = configService.environment?.clientID ?? \"\";\r\n\t\tHeaderSettings[\"PageRoot\"] = commonFeatureFlagService.GetPageRoot();\r\n\t\tHeaderSettings[\"LanguageCode\"] = getCookie(\"language\") ?? \"\";\r\n\t}\r\n\r\n\tlet _request = req.clone({ headers: new HttpHeaders(HeaderSettings) });\r\n\treturn next(_request).pipe(catchError(handleErrorResponse));\r\n\r\n\tfunction handleErrorResponse(error: HttpErrorResponse) {\r\n\t\tconsole.log(error, \"error\");\r\n\t\tspinnerService.hide();\r\n\t\tif (error.status == 500) sweetAlertService.messageBox(error.error.message);\r\n\t\tif (error.status == 400) sweetAlertService.messageBox(error.error.message);\r\n\t\tif (error.status == 409) sweetAlertService.messageBox(error.error.message);\r\n\t\tif (error.status == 401) sweetAlertService.messageBox(\"No tiene acceso al recurso solicitado\");\r\n\t\tif (error.status == 503 || error.status == 0) sweetAlertService.messageBox(\"El servicio que se necesita consumir no esta activo o no responde.\");\r\n\t\tif (error.status == 405) sweetAlertService.messageBox(\"Los parametros enviados al servicio no coinciden.\");\r\n\t\tif (error.status == 404) sweetAlertService.messageBox(\"Recurso no encontrado.\");\r\n\t\treturn throwError(() => {\r\n\t\t\terror.error, error.message;\r\n\t\t});\r\n\t}\r\n};\r\n","import { GlobalFeatureFlagService } from \"../services/globalFeatureFlag.service\";\r\nimport { HttpClient, HttpInterceptorFn } from \"@angular/common/http\";\r\nimport { inject } from \"@angular/core\";\r\nimport { from, switchMap } from \"rxjs\";\r\nimport { getCookie, setCookie, Cookies } from \"typescript-cookie\";\r\nimport { ConfigService } from \"../services/config.service\";\r\nimport { ValidateTokenQuery, ValidateTokenResponse } from \"../dto/authentication\";\r\nimport { CookieAttributesGeneral } from \"../constants/cookieConfiguration.constants\";\r\n\r\nexport const RefreshTokenInterceptor: HttpInterceptorFn = (req, next) => {\r\n\tconst configService: ConfigService = inject(ConfigService);\r\n\tconst httpClient = inject(HttpClient);\r\n\tconst commonFeatureFlagService = inject(GlobalFeatureFlagService);\r\n\tlet _request = req.clone();\r\n\tlet authenticationLocation = `${configService.environment?.authenticationWeb}?callback=${window.location.href}&clientID=${configService.environment?.clientID}`;\r\n\tlet path = `${configService.environment?.authenticationPath ?? \"\"}/Authenticate/ValidateToken`;\r\n\r\n\tlet validateTokenQuery: ValidateTokenQuery = {\r\n\t\ttoken: getCookie(\"token\") ?? \"\",\r\n\t\trefreshToken: getCookie(\"refreshToken\") ?? \"\",\r\n\t\tip: req.url,\r\n\t\tclientID: configService.environment?.clientID ?? \"\",\r\n\t\tpageRoot: commonFeatureFlagService.GetPageRoot(),\r\n\t\tcontroller: \"\",\r\n\t\thttpVerb: \"GET\",\r\n\t\tbusinessUserClientGroupID: getCookie(\"businessUserClientGroupID\") ?? \"\",\r\n\t};\r\n\r\n\tif (!req.url.includes(\"ValidateToken\") && !req.url.includes(\"environment.json\") && !req.url.includes(\"GetAuthenticationFromCache\"))\r\n\t\treturn from(httpClient.post<ValidateTokenResponse>(path, validateTokenQuery)).pipe(\r\n\t\t\tswitchMap((response: ValidateTokenResponse) => {\r\n\t\t\t\tif (response.expired) {\r\n\t\t\t\t\tCookies.remove(\"token\", CookieAttributesGeneral);\r\n\t\t\t\t\tCookies.remove(\"refreshToken\", CookieAttributesGeneral);\r\n\t\t\t\t\tCookies.remove(\"data\", CookieAttributesGeneral);\r\n\t\t\t\t\tCookies.remove(\"businessUserClientGroupID\", CookieAttributesGeneral);\r\n\t\t\t\t\tCookies.remove(\"defaultClientID\", CookieAttributesGeneral);\r\n\t\t\t\t\tCookies.remove(\"defaultClientGroupID\", CookieAttributesGeneral);\r\n\t\t\t\t\twindow.location.href = authenticationLocation;\r\n\t\t\t\t\treturn next(_request);\r\n\t\t\t\t}\r\n\t\t\t\tif (response.unauthorized) window.location.href = window.location.origin;\r\n\t\t\t\tif (response.newToken != \"\") setCookie(\"token\", response.newToken, CookieAttributesGeneral);\r\n\t\t\t\treturn next(_request);\r\n\t\t\t})\r\n\t\t);\r\n\telse return next(_request);\r\n};\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { inject, Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { LanguageSimpleResponse } from \"../dto/languageResponses\";\r\nimport { ConfigService } from \"./config.service\";\r\n\r\n@Injectable({\r\n\tprovidedIn: \"root\",\r\n})\r\nexport class LanguageService {\r\n\tprivate readonly _http = inject(HttpClient);\r\n\tprivate readonly _configService = inject(ConfigService);\r\n\tGetAllLanguage(): Observable<LanguageSimpleResponse[]> {\r\n\t\treturn this._http.get<LanguageSimpleResponse[]>(`${this._configService.environment?.configurationPath}/Language`);\r\n\t}\r\n}\r\n","import { Component, inject } from \"@angular/core\";\r\nimport { SpinnerService } from \"../../services/spinner.service\";\r\n@Component({\r\n\tselector: \"app-spinner\",\r\n\timports: [],\r\n\ttemplateUrl: \"./spinner.component.html\",\r\n\tstyleUrl: \"./spinner.component.css\",\r\n})\r\nexport class SpinnerComponent {\r\n\tprivate readonly spinerService = inject(SpinnerService);\r\n\tisLoading = this.spinerService.isLoading;\r\n\tLoadingLogo: string = `${window.location.origin}/assets/images/loading_intelica.gif`;\r\n}\r\n","@if (isLoading()){\r\n<div id=\"overlay\">\r\n\t<div class=\"loading\">\r\n\t\t<div class=\"content-center\">\r\n\t\t\t<img alt=\"Intelica\" [src]=\"LoadingLogo\" />\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n}\r\n","import { ContentChild, Directive, Input, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({ selector: \"intelica-column\" })\r\nexport class ColumnComponent<T = any> {\r\n\t@Input() field!: string;\r\n\t@Input() header!: string;\r\n\t@Input() sortable: boolean = false;\r\n\t@Input() width?: string;\r\n\t@Input() className?: string;\r\n\t@Input() headerTooltip: string = \"\";\r\n\t@Input() headerTooltipPosition: \"top\" | \"bottom\" | \"left\" | \"right\" = \"top\";\r\n\t@Input() tooltip: string = \"\";\r\n\t@Input() tooltipPosition: \"top\" | \"bottom\" | \"left\" | \"right\" = \"top\";\r\n\t@Input() showIndex: boolean = false;\r\n\t@ContentChild(TemplateRef) templateRef?: TemplateRef<any>;\r\n}\r\n\r\n// @Input() headerText: string | undefined;\r\n// @Input() field: string;\r\n// @Input() fieldDetail: string;\r\n// @Input() className: string;\r\n// @Input() order: boolean = false;\r\n// @Input() width: string;\r\n// @Input() isNumber: boolean = false;\r\n// @Input() isRowNumber: boolean = false;\r\n// @Input() isPercent: boolean = false;\r\n// @Input() isInteger: boolean = false;\r\n// @Input() setContainer: boolean = true;\r\n// @Input() hideRowInDetail: boolean = false;\r\n// @Input() prefix: string;\r\n// @Input() headerWidth: number = 0;\r\n// @Input() headerLineBreak: boolean = false;\r\n// @Input() numberFormat: string = '1.2-2';\r\n// @Input() columnHasDateFormat: boolean = false;\r\n// @Input() dateFormat: string = '';\r\n// @Input() isSelectableColum: boolean = false;\r\n// @Input() isHeaderClickable: boolean = false;\r\n// @Input() classNameHeader: string = '';\r\n// @Input() isActiveHeader: boolean = false;\r\n// @Input() classNameActiveHeader: string = '';\r\n// @Input() isCellClickable: boolean = false;\r\n// @Input() isAveragePercent: boolean = false;\r\n// @Input() visible: boolean = true;\r\n// @Input() hasAmountNaming: boolean = false;\r\n// @Input() computedField: string;\r\n// @Input() isOrderedDesc: boolean = false;\r\n// @Input() isOrderedAsc: boolean = false;\r\n// @Input() containDetails: boolean = false;\r\n// @Input() isChecboxColumn: boolean = false;\r\n\r\n// isGrouped: boolean = false;\r\n// isGroup: boolean = false;\r\n// colspan: number = 1;\r\n// columnsForCompare: string = '';\r\n// @ContentChild('detail') detail!: any;\r\n// @ContentChild('content') content!: any;\r\n","export enum SearchInputEnum {\r\n\tOperatorId = \"operatorId\",\r\n\tFieldId = \"fieldId\",\r\n\tSearchText = \"searchText\",\r\n}\r\n","import { Component, EventEmitter, forwardRef, inject, Input, OnDestroy, OnInit, Output } from \"@angular/core\";\r\nimport { FormsModule, ReactiveFormsModule, FormBuilder, FormGroup, NG_VALUE_ACCESSOR } from \"@angular/forms\";\r\nimport { RadioButtonModule } from \"primeng/radiobutton\";\r\nimport { Popover } from \"primeng/popover\";\r\nimport { InputText } from \"primeng/inputtext\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { SearchInputModel } from \"./model/search.model\";\r\nimport { SearchInputEnum } from \"./enums/search.enum\";\r\nimport { TooltipModule } from \"primeng/tooltip\";\r\nimport { TermPipe } from \"../../pipes/term.pipes\";\r\nimport { GlobalTermService } from \"../../services/globalTerm.service\";\r\n\r\n@Component({\r\n\tselector: \"intelica-search\",\r\n\timports: [FormsModule, ReactiveFormsModule, RadioButtonModule, Popover, InputText, CommonModule, TooltipModule, TermPipe],\r\n\ttemplateUrl: \"./search.component.html\",\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: NG_VALUE_ACCESSOR,\r\n\t\t\tuseExisting: forwardRef(() => SearchComponent),\r\n\t\t},\r\n\t],\r\n\t// styleUrl: \"./search.component.css\",\r\n})\r\nexport class SearchComponent implements OnDestroy, OnInit {\r\n\treadonly GlobalTermService = inject(GlobalTermService);\r\n\t/**\r\n\t * Indica el componente del que proviene.\r\n\t * @type {string}\r\n\t */\r\n\t@Input() ComponentId: string = \"\";\r\n\r\n\t/**\r\n\t * Opciones para campos de búsqueda.\r\n\t * @type {{ id: number; value: string }[]}\r\n\t */\r\n\t@Input() SearchFieldOptions!: { id: number; value: string }[];\r\n\r\n\t/**\r\n\t * Indica si realizar la búsqueda al soltar una tecla.\r\n\t * @type {boolean}\r\n\t */\r\n\t@Input() SearchOnKeyup!: boolean;\r\n\r\n\t/**\r\n\t * @deprecated No debe ser utilizado. Es sólo para uso interno y no para módulos.\r\n\t * @type {boolean}\r\n\t * @default false\r\n\t */\r\n\t@Input() SimpleSearchInput: boolean = false;\r\n\r\n\t/**\r\n\t * Placeholder para el componente de búsqueda.\r\n\t * @type {string}\r\n\t */\r\n\t@Input() Placeholder: string = \"\";\r\n\r\n\t/**\r\n\t * Evento emitido al realizar una búsqueda.\r\n\t * @type {EventEmitter<{ operatorId: number; operatorText: string, fieldId: number, fieldText: string, searchText: string }>}\r\n\t */\r\n\t@Output(\"OnSearch\") OnSearchEvent = new EventEmitter<SearchInputModel>();\r\n\r\n\tprivate readonly FormBuilder = inject(FormBuilder);\r\n\r\n\t// Option!: string;\r\n\t// Placeholder!: string;\r\n\r\n\t/**\r\n\t * Indica si el dropdown está abierto\r\n\t * @type {boolean}\r\n\t * @default false\r\n\t */\r\n\tIsDropdownOpen: boolean = false;\r\n\r\n\t/**\r\n\t * Formulario para manejar los parámetros de búsqueda\r\n\t * @type {FormGroup}\r\n\t */\r\n\tSearchForm!: FormGroup;\r\n\r\n\t/**\r\n\t * Suscripción a los valores del formulario.\r\n\t * @type {Subscription}\r\n\t */\r\n\tFormValuesSubscription!: Subscription;\r\n\r\n\t/**\r\n\t * Opciones para operadores de búsqueda.\r\n\t * @type {{ id: number; value: string }[]}\r\n\t */\r\n\tSearchOperatorOptions!: { id: number; value: string }[];\r\n\r\n\t/**\r\n\t * Función llamada cuando cambia el valor del campo de búsqueda.\r\n\t * @type {() => void}\r\n\t */\r\n\tOnChange: (value: SearchInputModel) => void = () => {};\r\n\r\n\t/**\r\n\t * Función llamada cuando el componente de búsqueda es tocado.\r\n\t * @type {() => void}\r\n\t */\r\n\tOnTouched: () => void = () => {};\r\n\r\n\tconstructor() {}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.SearchForm = this.FormBuilder.group({\r\n\t\t\toperatorId: 0,\r\n\t\t\tfieldId: 0,\r\n\t\t\tsearchText: \"\",\r\n\t\t});\r\n\r\n\t\tthis.FormValuesSubscription = this.SearchForm.valueChanges.subscribe(value => {\r\n\t\t\tthis.OnChange(value);\r\n\t\t});\r\n\r\n\t\t//loadTerms\r\n\t\tif (this.Placeholder === \"\") this.Placeholder = \"SearchPlaceholder\";\r\n\t\tthis.SearchOperatorOptions ??= this.GetSearchOperatorOptions();\r\n\t\tthis.SearchFieldOptions ??= this.GetSearchFieldOptions();\r\n\r\n\t\tthis.InitializeForm();\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis.FormValuesSubscription.unsubscribe();\r\n\t}\r\n\r\n\tInitializeForm() {\r\n\t\tthis.SearchForm.setValue({\r\n\t\t\toperatorId: this.SearchOperatorOptions[0].id,\r\n\t\t\tfieldId: this.SearchFieldOptions.length > 0 ? this.SearchFieldOptions[0].id : 0,\r\n\t\t\tsearchText: \"\",\r\n\t\t});\r\n\t}\r\n\r\n\tDropDownChange(isOpen: boolean) {\r\n\t\tthis.IsDropdownOpen = isOpen;\r\n\t}\r\n\r\n\tOnSearchEnter(): void {\r\n\t\tif (!this.SearchOnKeyup) this.OnSearch();\r\n\t}\r\n\r\n\tOnSearchKeyup() {\r\n\t\tif (this.SearchOnKeyup) this.OnSearch();\r\n\t}\r\n\r\n\tOnSearch(): void {\r\n\t\tconst value = this.SearchForm.value as SearchInputModel;\r\n\t\tvalue.operatorText = this.SearchOperatorOptions.find(o => o.id === value.operatorId)?.value || \"\";\r\n\t\tvalue.fieldText = this.SearchFieldOptions.find(f => f.id === value.fieldId)?.value || \"\";\r\n\t\tthis.OnChange(value);\r\n\t\tthis.OnTouched();\r\n\t\tthis.OnSearchEvent.emit(value);\r\n\t}\r\n\r\n\tClearSearchText(emitEvent: boolean = true) {\r\n\t\tthis.SearchForm.get(SearchInputEnum.SearchText)?.setValue(\"\");\r\n\t\tif (emitEvent) {\r\n\t\t\tthis.OnSearch();\r\n\t\t}\r\n\t}\r\n\r\n\tget HasSearchText(): boolean {\r\n\t\tconst searchText = this.SearchForm.get(SearchInputEnum.SearchText)?.value;\r\n\t\treturn searchText && searchText.length > 0;\r\n\t}\r\n\r\n\tGetSelectedOperatorValue(): string {\r\n\t\tconst selectedId = this.SearchForm.get(SearchInputEnum.OperatorId)?.value;\r\n\t\tconst selectedItem = this.SearchOperatorOptions?.find(item => item.id === selectedId);\r\n\t\treturn selectedItem ? selectedItem.value : \"\";\r\n\t}\r\n\r\n\tGetSelectedFieldValue(): string {\r\n\t\tconst selectedId = this.SearchForm.get(SearchInputEnum.FieldId)?.value;\r\n\t\tconst selectedItem = this.SearchFieldOptions?.find(item => item.id === selectedId);\r\n\t\treturn selectedItem ? selectedItem.value : \"\";\r\n\t}\r\n\r\n\tGetSelectedValues(): string {\r\n\t\treturn `${this.GetSelectedOperatorValue()}, ${this.GetSelectedFieldValue()}`;\r\n\t}\r\n\r\n\tSetSearchTextValue(text: string) {\r\n\t\tthis.SearchForm.get(SearchInputEnum.SearchText)?.setValue(text);\r\n\t}\r\n\r\n\tSetOperatorValue(value: number) {\r\n\t\tthis.SearchForm.get(SearchInputEnum.OperatorId)?.setValue(value ?? 0);\r\n\t}\r\n\r\n\tSetFieldValue(value: number) {\r\n\t\tthis.SearchForm.get(SearchInputEnum.FieldId)?.setValue(value ?? 0);\r\n\t}\r\n\r\n\tGetSearchOperatorOptions() {\r\n\t\treturn [\r\n\t\t\t{ id: 0, value: \"Contains\" },\r\n\t\t\t{ id: 1, value: \"Exact\" },\r\n\t\t\t{ id: 2, value: \"Begin\" },\r\n\t\t\t{ id: 3, value: \"Ends\" },\r\n\t\t];\r\n\t}\r\n\r\n\tGetSearchFieldOptions() {\r\n\t\treturn [\r\n\t\t\t{ id: 0, value: \"code\" },\r\n\t\t\t{ id: 1, value: \"name\" },\r\n\t\t];\r\n\t}\r\n}\r\n","<form [formGroup]=\"SearchForm\">\r\n\t<div class=\"prSearchBar\">\r\n\t\t<div class=\"prSearchBar__dropdown\" (click)=\"op.toggle($event)\">\r\n\t\t\t<div\r\n\t\t\t\tclass=\"prSearchBar__dropdown--label\"\r\n\t\t\t\t[pTooltip]=\"(GetSelectedOperatorValue() | term : GlobalTermService.languageCode) + ', ' + (GetSelectedFieldValue() | term : GlobalTermService.languageCode)\"\r\n\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t>\r\n\t\t\t\t{{ GetSelectedFieldValue() | term : GlobalTermService.languageCode }}\r\n\t\t\t</div>\r\n\t\t\t<div class=\"prSearchBar__dropdown--icon\">\r\n\t\t\t\t<i [ngClass]=\"IsDropdownOpen ? 'icon-arrow-up' : 'icon-arrow-down'\"></i>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<p-popover #op (onShow)=\"DropDownChange(true)\" (onHide)=\"DropDownChange(false)\" class=\"prSearchBar__popover\">\r\n\t\t\t<div class=\"searchDropDown\">\r\n\t\t\t\t<div class=\"searchDropDown__group\">\r\n\t\t\t\t\t<div class=\"searchDropDown__title\">{{ \"Selectoperator\" | term : GlobalTermService.languageCode }}</div>\r\n\t\t\t\t\t<div class=\"searchDropDown__listOption\">\r\n\t\t\t\t\t\t@for ( option of SearchOperatorOptions ; track option.id; let index = $index){\r\n\t\t\t\t\t\t<div class=\"searchDropDown__option\">\r\n\t\t\t\t\t\t\t<p-radiobutton [inputId]=\"ComponentId + option.id\" class=\"prRadioButton\" [value]=\"option.id\" formControlName=\"operatorId\" (change)=\"OnSearchKeyup()\" />\r\n\t\t\t\t\t\t\t<label [for]=\"ComponentId + option.id\" class=\"prRadioButton--label\">{{ option.value | term : GlobalTermService.languageCode }}</label>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<hr />\r\n\t\t\t\t<div class=\"searchDropDown__group\">\r\n\t\t\t\t\t<div class=\"searchDropDown__title\">{{ \"Selectfield\" | term : GlobalTermService.languageCode }}</div>\r\n\t\t\t\t\t@for ( option of SearchFieldOptions ; track option.id; let index = $index){\r\n\t\t\t\t\t<div class=\"searchDropDown__option\">\r\n\t\t\t\t\t\t<p-radiobutton [inputId]=\"ComponentId + 'fieldId_' + option.id\" class=\"prRadioButton\" [value]=\"option.id\" formControlName=\"fieldId\" (change)=\"OnSearchKeyup()\" />\r\n\t\t\t\t\t\t<label [for]=\"ComponentId + 'fieldId_' + option.id\" class=\"prRadioButton--label\">{{ option.value | term : GlobalTermService.languageCode }}</label>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t}\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</p-popover>\r\n\t\t<div class=\"prSearchBar__content\">\r\n\t\t\t<div class=\"prSearchBar__btn\">\r\n\t\t\t\t<button pButton type=\"button\" class=\"prSearchBar__btn-action\" (click)=\"ClearSearchText()\" *ngIf=\"HasSearchText\">\r\n\t\t\t\t\t<i class=\"icon-times\"></i>\r\n\t\t\t\t</button>\r\n\t\t\t\t<button pButton type=\"button\" class=\"prSearchBar__btn-action\" (click)=\"OnSearch()\">\r\n\t\t\t\t\t<i class=\"icon-search\"></i>\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\t\t\t<input\r\n\t\t\t\tpInputText\r\n\t\t\t\ttype=\"text\"\r\n\t\t\t\tclass=\"prSearchBar__input\"\r\n\t\t\t\tformControlName=\"searchText\"\r\n\t\t\t\t[placeholder]=\"Placeholder | term : GlobalTermService.languageCode\"\r\n\t\t\t\t(keyup.enter)=\"OnSearchEnter()\"\r\n\t\t\t\t(keyup)=\"OnSearchKeyup()\"\r\n\t\t\t/>\r\n\t\t</div>\r\n\t</div>\r\n</form>\r\n","import { Directive, ElementRef, HostListener } from \"@angular/core\";\r\n\r\n@Directive({\r\n\tselector: \"[positiveNumber]\",\r\n})\r\nexport class PositiveNumberDirective {\r\n\tconstructor(private el: ElementRef) {}\r\n\r\n\t@HostListener(\"input\", [\"$event\"]) onInputChange(event: Event) {\r\n\t\tconst initalValue = this.el.nativeElement.value;\r\n\t\tthis.el.nativeElement.value = initalValue.replace(/[^0-9]*/g, \"\");\r\n\t\tif (initalValue !== this.el.nativeElement.value) {\r\n\t\t\tevent.stopPropagation();\r\n\t\t}\r\n\t}\r\n}\r\n","import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from \"@angular/core\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { ButtonModule } from \"primeng/button\";\r\nimport { PositiveNumberDirective } from \"../../directives/positive-number.directive\";\r\n\r\n@Component({\r\n\tselector: \"intelica-paginator\",\r\n\timports: [FormsModule, ButtonModule, PositiveNumberDirective],\r\n\ttemplateUrl: \"./paginator.component.html\",\r\n\t// styleUrl: './paginator.component.css'\r\n})\r\nexport class PaginatorComponent implements OnChanges {\r\n\t/**\r\n\t * Número total de elementos que se están paginando.\r\n\t * @type {number}\r\n\t */\r\n\t@Input() TotalItems: number = 0;\r\n\r\n\t/**\r\n\t * Página actual.\r\n\t * @type {number}\r\n\t */\r\n\t@Input() CurrentPage: number = 1;\r\n\r\n\t/**\r\n\t * Número de elementos por página.\r\n\t * @type {number}\r\n\t * @default 10\r\n\t */\r\n\t@Input() ItemsPerPage: number = 10;\r\n\r\n\t/**\r\n\t * Evento emitido cuando cambia la página.\r\n\t * @type {EventEmitter<any>}\r\n\t */\r\n\t@Output() PageChange: EventEmitter<any> = new EventEmitter();\r\n\r\n\t/**\r\n\t * Número total de páginas calculado internamente.\r\n\t * @type {number}\r\n\t */\r\n\tTotalPages: number = 1;\r\n\r\n\tngOnChanges(changes: SimpleChanges): void {\r\n\t\tthis.TotalPageCalculator();\r\n\t}\r\n\r\n\tTotalPageCalculator() {\r\n\t\tthis.TotalPages = Math.ceil(this.TotalItems / this.ItemsPerPage);\r\n\t}\r\n\r\n\tGoToFirstPage() {\r\n\t\tthis.CurrentPage = 1;\r\n\t\tthis.EmitPageChange();\r\n\t}\r\n\r\n\tGoToPreviousPage() {\r\n\t\tconst pageNumber = Number(this.CurrentPage);\r\n\t\tthis.CurrentPage = isNaN(pageNumber) || pageNumber === 0 ? 1 : pageNumber;\r\n\t\tif (this.CurrentPage > 1) this.CurrentPage -= 1;\r\n\t\tthis.EmitPageChange();\r\n\t}\r\n\r\n\tGoToNextPage() {\r\n\t\tconst pageNumber = Number(this.CurrentPage);\r\n\t\tthis.CurrentPage = isNaN(pageNumber) ? 0 : pageNumber;\r\n\t\tif (this.CurrentPage < this.TotalPages) this.CurrentPage += 1;\r\n\t\tthis.EmitPageChange();\r\n\t}\r\n\r\n\tGoToLastPage() {\r\n\t\tthis.CurrentPage = this.TotalPages;\r\n\t\tthis.EmitPageChange();\r\n\t}\r\n\r\n\tEmitPageChange() {\r\n\t\tthis.PageChange.emit(this.CurrentPage);\r\n\t}\r\n\r\n\tonKeyUp(event: any) {\r\n\t\tconst eventValue: string = event.target.value;\r\n\t\tif (eventValue === \"\" || isNaN(parseInt(eventValue)) || eventValue === \"0\" || eventValue.indexOf(\"-\") >= 0) {\r\n\t\t\tthis.CurrentPage = 1;\r\n\t\t\tthis.EmitPageChange();\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.CurrentPage = parseInt(eventValue);\r\n\r\n\t\tif (this.CurrentPage > this.TotalPages) {\r\n\t\t\tthis.CurrentPage = this.TotalPages;\r\n\t\t}\r\n\t\tthis.EmitPageChange();\r\n\t}\r\n}\r\n","<div class=\"prPaginator\">\r\n\t<span class=\"prPaginator__info\">{{ TotalItems }} Records</span>\r\n\t<div class=\"prPaginator__controls\">\r\n\t\t<button pButton type=\"button\" class=\"prPaginator__btn prPaginator__btn--first\" [disabled]=\"CurrentPage === 1\" (click)=\"GoToFirstPage()\"></button>\r\n\t\t<button pButton type=\"button\" class=\"prPaginator__btn prPaginator__btn--previous\" [disabled]=\"CurrentPage === 1\" (click)=\"GoToPreviousPage()\"></button>\r\n\t\t<input pInputText type=\"text\" (keydown.enter)=\"$event.preventDefault()\" [(ngModel)]=\"CurrentPage\" positiveNumber class=\"prPaginator__input\" (keyup.enter)=\"onKeyUp($event)\" />\r\n\t\t<span class=\"prPaginator__total\">Of {{ TotalPages }}</span>\r\n\t\t<button pButton type=\"button\" class=\"prPaginator__btn prPaginator__btn--next\" [disabled]=\"CurrentPage === TotalPages\" (click)=\"GoToNextPage()\"></button>\r\n\t\t<button pButton type=\"button\" class=\"prPaginator__btn prPaginator__btn--last\" [disabled]=\"CurrentPage === TotalPages\" (click)=\"GoToLastPage()\"></button>\r\n\t</div>\r\n</div>\r\n","export class FormatDateConstants {\r\n\tpublic static readonly DMYY: string = \"d/M/yy\";\r\n\tpublic static readonly MMYY: string = \"MMMM yyyy\";\r\n\tpublic static readonly YYMD: string = \"yyMd\";\r\n\tpublic static readonly DMYY_MOMENT: string = \"D/M/YY\";\r\n\tpublic static readonly YYMD_MOMENT: string = \"YYMD\";\r\n\tpublic static readonly DDMMYYYY: string = \"dd_MM_YYYY\";\r\n\tpublic static readonly DDMMYYYY_: string = \"DD/MM/YYYY\";\r\n\tpublic static readonly YYYYMMDD: string = \"YYYY-MM-DD\";\r\n\tpublic static readonly YYYYMMDD_: string = \"yyyyMMdd\";\r\n\tpublic static readonly YYYYMMDD_SLASH: string = \"YYYY/MM/DD\";\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { BehaviorSubject, Observable, Subject } from \"rxjs\";\r\nimport { Location } from \"@angular/common\";\r\nimport { FormatDateConstants } from \"../constants/format-date.constants\";\r\ndeclare var require: any;\r\nimport moment from \"moment\";\r\nimport * as _ from \"lodash\";\r\n@Injectable({\r\n\tprovidedIn: \"root\",\r\n})\r\nexport class SharedService {\r\n\tpublic configObservable = new Subject<boolean>();\r\n\tisLoading = new BehaviorSubject(false);\r\n\tisLoadingHeader = new BehaviorSubject(true);\r\n\tisExpandedContent = new BehaviorSubject(false);\r\n\tisLoadingPageInfo = new BehaviorSubject(true);\r\n\tnotifyProfileType = new Subject<string>();\r\n\tcharges = 0;\r\n\tshowHelper = new BehaviorSubject(false);\r\n\theaderPathName = new BehaviorSubject<string[]>([]);\r\n\tpageId: number | undefined = 0;\r\n\topenActionMenu$: Subject<boolean> = new Subject<boolean>();\r\n\tmonths = {\r\n\t\ten: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\r\n\t\tes: [\"Enero\", \"Febrero\", \"Marzo\", \"Abril\", \"Mayo\", \"Junio\", \"Julio\", \"Agosto\", \"Septiembre\", \"Octubre\", \"Noviembre\", \"Diciembre\"],\r\n\t};\r\n\tsubtitleDescriptionNotification$!: Observable<string>;\r\n\tconstructor(private location: Location) {}\r\n\t///METODOS GLOBALS.\r\n\tIsNumberRate(n: any) {\r\n\t\treturn !isNaN(parseFloat(n)) && !isNaN(n - 0);\r\n\t}\r\n\tRemovePercentage(string: string) {\r\n\t\tif (string.length > 0) {\r\n\t\t\tif (string.startsWith(\"%\")) string = string.substring(1);\r\n\t\t\tlet last = string.length - 1;\r\n\t\t\tif (string.endsWith(\"%\")) string = string.substring(0, last);\r\n\t\t}\r\n\t\treturn string;\r\n\t}\r\n\tGetTotalAmountByCrncy(col: string, listGeneral: any): number {\r\n\t\treturn listGeneral.reduce((a: any, b: any) => a + (b[col] || 0), 0);\r\n\t}\r\n\tGetTotalAverageByColumn(col: string, listGeneral: any): number {\r\n\t\treturn listGeneral.reduce((a: any, b: any) => a + (b[col] || 0), 0) / (listGeneral.length || 1);\r\n\t}\r\n\tGetTotalByGroup(col: string, listGeneral: any[], groupBy: string[] | undefined): any[] {\r\n\t\tif (!groupBy?.length) return [listGeneral.reduce((a: any, b: any) => a + (b[col] || 0), 0)];\r\n\r\n\t\tlet result: { [key: string]: any } = listGeneral.reduce((acc: { [key: string]: any }, item: any) => {\r\n\t\t\tconst groupKey = groupBy.map(prop => item[prop]).join(\"||\");\r\n\t\t\tacc[groupKey] = (acc[groupKey] || 0) + item[col];\r\n\t\t\treturn acc;\r\n\t\t}, {});\r\n\t\tconst propiedades = Object.keys(result).sort();\r\n\t\tconst indexGroup = groupBy.indexOf(col);\r\n\t\tif (indexGroup != -1) return propiedades.map(propiedad => propiedad.split(\"||\")[indexGroup]);\r\n\t\treturn propiedades.map(propiedad => result[propiedad]);\r\n\t}\r\n\tTransformNegative(value: string): string {\r\n\t\tvalue = value?.toString() ?? \"0.00\";\r\n\t\tif (value?.indexOf(\"-\") > -1) return \"(\" + value.replace(\"-\", \"\") + \")\";\r\n\t\telse return value.toString();\r\n\t}\r\n\tFormatNumber(value: number, decimalMax: number, decimalMin: number) {\r\n\t\treturn value.toLocaleString(\"en-US\", { maximumFractionDigits: decimalMax, minimumFractionDigits: decimalMin });\r\n\t}\r\n\tClickOutSideValidator(event: any): boolean {\r\n\t\tlet res = false;\r\n\t\tif (event !== undefined) {\r\n\t\t\tconst src = (event as Event).srcElement as Element;\r\n\t\t\tres = src.id !== \"button-alignment\" && !this.CheckParents(src, 0);\r\n\t\t}\r\n\t\treturn res;\r\n\t}\r\n\tCheckParents(src: Element, c: number): boolean {\r\n\t\tvar ids = [];\r\n\t\tids.push(\"HamburgerMenu\");\r\n\t\tvar strings = [];\r\n\t\tstrings.push(\"swal2-container\");\r\n\t\tif (src.className.includes(\"backdrop-visible\")) return false;\r\n\t\tvar res = ids.some(function (v) {\r\n\t\t\treturn src.id === v;\r\n\t\t});\r\n\t\tif (!res && (src.tagName === \"BODY\" || src.parentElement === null) && c === 0) {\r\n\t\t\tres = true;\r\n\t\t}\r\n\t\tif (\r\n\t\t\t!res &&\r\n\t\t\tstrings.some(function (v) {\r\n\t\t\t\treturn src.classList.contains(v);\r\n\t\t\t})\r\n\t\t)\r\n\t\t\tres = true;\r\n\t\tif (src.parentElement && !res) {\r\n\t\t\tc++;\r\n\t\t\tres = this.CheckParents(src.parentElement, c);\r\n\t\t}\r\n\t\treturn res;\r\n\t}\r\n\tGetTitleByRegionOrCountry(CurrentGroup: any, Current: any, field: string) {\r\n\t\treturn CurrentGroup ? CurrentGroup.groupName + \" - \" + Current[field] : Current[field];\r\n\t}\r\n\tGetTitleByBank(ListGeneralCountryAll: any[], CurrentBank: any) {\r\n\t\treturn ListGeneralCountryAll.length > 1 ? CurrentBank.groupName + \" - \" + CurrentBank.countryName + \" - \" + CurrentBank.bankNameCommercial : CurrentBank.bankNameCommercial;\r\n\t}\r\n\tRoundgen(value: any, precision: any) {\r\n\t\tvar multiplier = Math.pow(10, precision || 0);\r\n\t\treturn Math.round(value * multiplier) / multiplier;\r\n\t}\r\n\tReturnAmountPercen(amount: any): string {\r\n\t\tif (isNaN(amount)) amount = 0;\r\n\t\tlet resultado: string = \"\";\r\n\t\tlet AmountStr = amount === 0 ? \"0\" : amount.toLocaleString(\"en-US\", { maximumFractionDigits: 1, minimumFractionDigits: 1 });\r\n\t\tif (AmountStr.indexOf(\".0\") !== -1) AmountStr = amount.toLocaleString(\"en-US\", { maximumFractionDigits: 0, minimumFractionDigits: 0 });\r\n\t\tif (amount < 0 && parseInt(amount.toString()) * -1 === 0) {\r\n\t\t\tresultado = amount.toLocaleString(\"en-US\", { maximumFractionDigits: 1, minimumFractionDigits: 1 }).replace(\"-\", \"(\") + \"%)\";\r\n\t\t} else if (amount < 0) resultado = AmountStr.replace(\"-\", \"(\") + \"%)\";\r\n\t\telse resultado = AmountStr + \"%\";\r\n\t\tif (Number.NEGATIVE_INFINITY === amount || Number.POSITIVE_INFINITY === amount) resultado = \"\";\r\n\t\treturn resultado;\r\n\t}\r\n\tReturAmountFormat(amount: any): string {\r\n\t\tif (isNaN(amount)) amount = 0;\r\n\t\tamount = this.Roundgen(amount, 2);\r\n\t\tlet resultado: string = \"\";\r\n\t\tif (amount < 0 && parseInt(amount.toString()) * -1 === 0) resultado = amount.toString().replace(\"-\", \"(\") + \")\";\r\n\t\telse if (amount < 0 && amount > -1000) {\r\n\t\t\tresultado = this.Roundgen(amount, 0).toString().replace(\"-\", \"(\") + \")\";\r\n\t\t} else if (amount < 0 && -1000000000 >= amount) {\r\n\t\t\tresultado =\r\n\t\t\t\tthis.Roundgen(amount / 1000000000, 1)\r\n\t\t\t\t\t.toString()\r\n\t\t\t\t\t.replace(\"-\", \"(\") + \" B)\";\r\n\t\t} else if (amount < 0 && -1000000 >= amount) {\r\n\t\t\tresultado =\r\n\t\t\t\tthis.Roundgen(amount / 1000000, 1)\r\n\t\t\t\t\t.toString()\r\n\t\t\t\t\t.replace(\"-\", \"(\") + \" M)\";\r\n\t\t} else if (amount < 0) {\r\n\t\t\tresultado =\r\n\t\t\t\tthis.Roundgen(amount / 1000, 1)\r\n\t\t\t\t\t.toString()\r\n\t\t\t\t\t.replace(\"-\", \"(\") + \" K)\";\r\n\t\t} else if (amount < 1000) resultado = this.Roundgen(amount, 1).toString();\r\n\t\telse if (1000000000 < amount) resultado = this.Roundgen(amount / 1000000000, 1).toString() + \" B\";\r\n\t\telse if (1000000 < amount) resultado = this.Roundgen(amount / 1000000, 1).toString() + \" M\";\r\n\t\telse resultado = this.Roundgen(amount / 1000, 1).toString() + \" K\";\r\n\t\tif (resultado.indexOf(\".\") === -1 && amount !== 0) {\r\n\t\t\tlet a = resultado;\r\n\t\t\tlet b = \".0\";\r\n\t\t\tlet output = a + b;\r\n\r\n\t\t\tif (resultado.indexOf(\" \") !== -1) {\r\n\t\t\t\tlet position = resultado.indexOf(\" \");\r\n\t\t\t\toutput = [a.slice(0, position), b, a.slice(position)].join(\"\");\r\n\t\t\t} else if (resultado.indexOf(\" \") === -1 && resultado.indexOf(\")\") !== -1) {\r\n\t\t\t\tlet position = resultado.indexOf(\")\");\r\n\t\t\t\toutput = [a.slice(0, position), b, a.slice(position)].join(\"\");\r\n\t\t\t}\r\n\r\n\t\t\tresultado = output;\r\n\t\t}\r\n\t\treturn resultado;\r\n\t}\r\n\tDownloadFile(fileName: string, blob: any): void {\r\n\t\tconst nav = window.navigator as any;\r\n\t\tif (nav.msSaveOrOpenBlob) {\r\n\t\t\tnav.msSaveOrOpenBlob(blob, fileName);\r\n\t\t} else {\r\n\t\t\tconst link = document.createElement(\"a\");\r\n\t\t\tlink.setAttribute(\"type\", \"hidden\");\r\n\t\t\tlink.download = fileName;\r\n\t\t\tlink.href = window.URL.createObjectURL(blob.body);\r\n\t\t\tdocument.body.appendChild(link);\r\n\t\t\tlink.click();\r\n\t\t}\r\n\t}\r\n\tViewFile(response: any) {\r\n\t\tconst a = document.createElement(\"a\");\r\n\t\ta.setAttribute(\"style\", \"display:none;\");\r\n\t\tdocument.body.appendChild(a);\r\n\t\ta.href = URL.createObjectURL(response.body);\r\n\t\ta.target = \"_blank\";\r\n\t\ta.click();\r\n\t\tdocument.body.removeChild(a);\r\n\t}\r\n\tGetNumberCurrency(amount: number): string {\r\n\t\treturn amount === 0 ? \"0\" : amount.toLocaleString(\"en-US\", { maximumFractionDigits: 2, minimumFractionDigits: 2 });\r\n\t}\r\n\tCountDecimals(param: number) {\r\n\t\tif (Math.floor(param) === param) return 0;\r\n\t\treturn param.toString().split(\".\")[1].length || 0;\r\n\t}\r\n\tIsEmpty(value: any) {\r\n\t\treturn value === null || value === \"\" || value === undefined;\r\n\t}\r\n\tGroupByColumn(data: any[], columnGroup: string): any[] {\r\n\t\tlet colUnique = [];\r\n\t\tif (columnGroup != \"\") {\r\n\t\t\tcolUnique = [\r\n\t\t\t\t...new Set(\r\n\t\t\t\t\tdata.map(item => {\r\n\t\t\t\t\t\treturn item[columnGroup];\r\n\t\t\t\t\t})\r\n\t\t\t\t),\r\n\t\t\t].filter(unique => !this.IsEmpty(unique));\r\n\t\t} else {\r\n\t\t\tcolUnique = [\r\n\t\t\t\t...new Set(\r\n\t\t\t\t\tdata.map(item => {\r\n\t\t\t\t\t\treturn item;\r\n\t\t\t\t\t})\r\n\t\t\t\t),\r\n\t\t\t].filter(unique => !this.IsEmpty(unique));\r\n\t\t}\r\n\t\treturn colUnique;\r\n\t}\r\n\tGetRoswpanbyData(column: string, index: number, data: Array<any>): number {\r\n\t\tlet ValOfAgruppated = null;\r\n\t\tlet rowspanI = 1;\r\n\t\tfor (let i: number = index - 1; i < data.length; i++) {\r\n\t\t\tlet val = data[i][column];\r\n\t\t\tif (ValOfAgruppated == null) {\r\n\t\t\t\tValOfAgruppated = val;\r\n\t\t\t} else if (val !== null && ValOfAgruppated == val) {\r\n\t\t\t\trowspanI++;\r\n\t\t\t} else if (val !== null && ValOfAgruppated != val) {\r\n\t\t\t\tValOfAgruppated = null;\r\n\t\t\t\treturn rowspanI;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn rowspanI;\r\n\t}\r\n\tFormatterStringJsonByKey(data: any[], key: string, separador: string): string {\r\n\t\tlet result = \"\";\r\n\t\tlet colUnique: string[] = [];\r\n\t\tdata.forEach(element => {\r\n\t\t\tcolUnique.push(element[key]);\r\n\t\t});\r\n\t\tresult = colUnique.join(separador);\r\n\t\treturn result;\r\n\t}\r\n\tGroupByKey(xs: any, key: any) {\r\n\t\treturn xs.reduce(function (rv: any, x: any) {\r\n\t\t\t(rv[x[key]] = rv[x[key]] || []).push(x);\r\n\t\t\treturn rv;\r\n\t\t}, {});\r\n\t}\r\n\tLoadProjectsCss(route: string) {\r\n\t\tconst elements = this.CheckProjectsCss(route);\r\n\t\tif (elements.length === 0) {\r\n\t\t\tconst node = document.createElement(\"link\");\r\n\t\t\tnode.href = \"./assets/css/projects/\" + route + \".css\";\r\n\t\t\tnode.rel = \"stylesheet\";\r\n\t\t\tdocument.getElementsByTagName(\"head\")[0].appendChild(node);\r\n\t\t}\r\n\t}\r\n\tRemoveProjectsCss(route: string) {\r\n\t\tconst elements = this.CheckProjectsCss(route);\r\n\t\telements.forEach(element => {\r\n\t\t\tdocument.getElementsByTagName(\"head\")[0].removeChild(element);\r\n\t\t});\r\n\t}\r\n\tCheckProjectsCss(route: string): any[] {\r\n\t\tconst parent = document.getElementsByTagName(\"head\")[0];\r\n\t\tconst elements: any[] = [];\r\n\t\tparent.childNodes.forEach((element: any) => {\r\n\t\t\tvar a = element as object;\r\n\r\n\t\t\tif (element.nodeName === \"LINK\") {\r\n\t\t\t\tvar elemethref = element[\"href\"];\r\n\t\t\t\tif (elemethref && elemethref.indexOf(route) > 0) {\r\n\t\t\t\t\telements.push(element);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn elements;\r\n\t}\r\n\tCountDecimalsDigits(numero: any) {\r\n\t\tif (this.IsEmpty(numero)) return 0;\r\n\t\tnumero = parseFloat(numero);\r\n\t\tlet arrayNumero = numero.toString().split(\".\");\r\n\t\tnumero = arrayNumero.length > 1 ? arrayNumero[1] : \"\";\r\n\t\treturn numero.length;\r\n\t}\r\n\tGetMaxNumberDecimals(data: any[], key: string): number {\r\n\t\tlet arrCountDecimals: number[] = [];\r\n\t\tdata.forEach(element => {\r\n\t\t\tlet decimals = this.CountDecimalsDigits(element[key]);\r\n\t\t\tarrCountDecimals.push(decimals);\r\n\t\t});\r\n\t\tvar maxDecimal = Math.max(...arrCountDecimals);\r\n\t\treturn maxDecimal;\r\n\t}\r\n\tSetHeaderPathName(name: string[]) {\r\n\t\tthis.headerPathName.next(name);\r\n\t}\r\n\tFormatDate(date: string, format: string): string {\r\n\t\treturn moment(date).format(format);\r\n\t}\r\n\tCopyTo(src: any, dest: any) {\r\n\t\tObject.keys(src).forEach(property => {\r\n\t\t\tdest[property] = src[property];\r\n\t\t});\r\n\t}\r\n\tIsValidEmail(email: string): boolean {\r\n\t\tconst emailPattern = /^\\w+([.-]?\\w+)*@\\w+([.-]?\\w+)*(\\.\\w{2,3})+$/;\r\n\t\treturn emailPattern.test(email);\r\n\t}\r\n\tIsGuid(str: string): boolean {\r\n\t\tconst guidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;\r\n\t\treturn guidRegex.test(str);\r\n\t}\r\n\tContainsSpecialCharacters(str: string): boolean {\r\n\t\tconst specialCharacter = /^[^\\\\/?%*:|\"<>]+$/;\r\n\t\treturn !specialCharacter.test(str);\r\n\t}\r\n\tIsNumber(value: any): boolean {\r\n\t\treturn /^-?\\d+(\\.\\d+)?$/.test(value);\r\n\t}\r\n\tCalculatePreviousDate(date: Date, monthsAgo: number) {\r\n\t\tdate.setMonth(date.getMonth() - monthsAgo);\r\n\t\tconst newDate = moment(date).format(FormatDateConstants.DMYY_MOMENT);\r\n\r\n\t\treturn newDate;\r\n\t}\r\n\tGetFilteredSearchKey(listTempAll: any[], key: string, value: any, operatorId: number) {\r\n\t\tlet listFilter = [];\r\n\t\tswitch (operatorId) {\r\n\t\t\tcase 0: //'Contains'\r\n\t\t\t\tlet word = value.split(\"&\", 100);\r\n\t\t\t\tlet count: number = 0;\r\n\t\t\t\tlet listTemp: any;\r\n\t\t\t\tif (word.length > 1) {\r\n\t\t\t\t\tword.forEach((element: any) => {\r\n\t\t\t\t\t\tif (count === 0) {\r\n\t\t\t\t\t\t\tlistTemp = listTempAll.filter(a => a[key]?.toString()?.toLowerCase().includes(element.toLowerCase()));\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tlistTemp = listTemp.filter((a: any) => a[key]?.toString()?.toLowerCase().includes(element.toLowerCase()));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tcount++;\r\n\t\t\t\t\t});\r\n\t\t\t\t\tlistFilter = listTemp;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tlistFilter = listTempAll.filter(a => a[key]?.toString()?.toLowerCase().includes(value));\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\tcase 1: //'Exact'\r\n\t\t\t\tlistFilter = value ? listTempAll.filter(a => a[key]?.toString()?.toLowerCase() === value) : listTempAll;\r\n\t\t\t\tbreak;\r\n\t\t\tcase 2: //'Begin'\r\n\t\t\t\tlistFilter = listTempAll.filter(a => a[key]?.toString()?.toLowerCase().startsWith(value));\r\n\t\t\t\tbreak;\r\n\t\t\tcase 3: //'Ends'\r\n\t\t\t\tlistFilter = listTempAll.filter(a => a[key]?.toString()?.toLowerCase().endsWith(value));\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tlistFilter = listTempAll.filter(a => a[key]?.toString()?.toLowerCase().includes(value));\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t\treturn listFilter;\r\n\t}\r\n\tGetFilteredSearchKeyV2(listTempAll: any[], key: string, value: any, operatorId: number, subKey: any = null) {\r\n\t\tif (value.length == 0) return listTempAll;\r\n\t\tif (!listTempAll || !key || value == null) return [];\r\n\t\tlet listFilter = listTempAll;\r\n\t\tvalue = value.toString().toLowerCase();\r\n\t\tconst words = value.includes(\"&\") ? value.split(\"&\").filter(Boolean) : [value];\r\n\t\tconst filterFunction = (item: any) => {\r\n\t\t\tconst itemValue = item[key]?.toString()?.toLowerCase();\r\n\t\t\tswitch (operatorId) {\r\n\t\t\t\tcase 0: // 'Contains'\r\n\t\t\t\t\treturn words.every((word: any) => itemValue?.includes(word));\r\n\t\t\t\tcase 1: // 'Exact'\r\n\t\t\t\t\treturn itemValue === value;\r\n\t\t\t\tcase 2: // 'Begin'\r\n\t\t\t\t\treturn itemValue?.startsWith(value);\r\n\t\t\t\tcase 3: // 'Ends'\r\n\t\t\t\t\treturn itemValue?.endsWith(value);\r\n\t\t\t\tdefault:\r\n\t\t\t\t\treturn itemValue?.includes(value);\r\n\t\t\t}\r\n\t\t};\r\n\t\tif (subKey) {\r\n\t\t\t// Filtrar primero a nivel de sublista\r\n\t\t\tlistFilter = listFilter.map(filter => {\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...filter,\r\n\t\t\t\t\t[subKey]: filter[subKey]?.filter((item: any) => filterFunction(item)),\r\n\t\t\t\t};\r\n\t\t\t});\r\n\t\t\t// Filtrar luego la lista principal basado en si la sublista contiene elementos\r\n\t\t\tlistFilter = listFilter.filter(filter => filter[subKey].length > 0);\r\n\t\t} else {\r\n\t\t\t// Filtrar solo la lista principal\r\n\t\t\tlistFilter = listFilter.filter(filterFunction);\r\n\t\t}\r\n\t\treturn listFilter;\r\n\t}\r\n\tpublic TransformArrayToHashTable<T, TypeKey extends string | number>(arr: T[], getKey: (p: T) => TypeKey): { [key in TypeKey]: T } {\r\n\t\t//example of Use:\r\n\t\t// this.transformArrayToHashTable<any,string>([{id:1,prop1:\"prop1Value\"}],(o)=>o.id.toString())\r\n\t\tconst hashTable: { [key in TypeKey]: T } = {} as { [key in TypeKey]: T };\r\n\t\tarr.forEach((object: T) => (hashTable[getKey(object)] = object));\r\n\t\treturn hashTable;\r\n\t}\r\n\tpublic TransformArrayToMap<TypeKey, T>(arr: T[], getKey: (p: T) => TypeKey): Map<TypeKey, T> {\r\n\t\t//example of Use:\r\n\t\t// this.transformArrayToMap<string,any>([{id:1,prop1:\"prop1Value\"}],(o)=>o.id.toString())\r\n\t\treturn new Map(arr.map(obj => [getKey(obj), obj]));\r\n\t}\r\n\tUrlHasQaUatSubdomain() {\r\n\t\tconst { hostname } = new URL(window.location.href);\r\n\t\tconst [subdomain] = hostname.split(\".\");\r\n\t\treturn [\"qa\", \"uat\"].includes(subdomain);\r\n\t}\r\n\tUrlHasQaSubdomain() {\r\n\t\tconst { hostname } = new URL(window.location.href);\r\n\t\tconst [subdomain] = hostname.split(\".\");\r\n\t\treturn [\"qa\"].includes(subdomain);\r\n\t}\r\n\tGetLastSegmentUrl(): string {\r\n\t\tconst segments = this.location.path().split(\"/\");\r\n\t\tconst lastSegment = segments[segments.length - 1];\r\n\t\tconst numberMappings: { [key: string]: string } = {\r\n\t\t\t\"0\": \"intelica-allocated\",\r\n\t\t\t\"1\": \"penalty-summary\",\r\n\t\t};\r\n\t\t// Verifica si lastSegment es un número y si tiene un mapeo correspondiente\r\n\t\tif (!isNaN(Number(lastSegment)) && numberMappings.hasOwnProperty(lastSegment)) return numberMappings[lastSegment];\r\n\t\telse return lastSegment;\r\n\t}\r\n\tOnChangeMultiple($event: any, selectDescription: string): void {\r\n\t\tlet select = $event != null ? $event.element.ej2_instances[0] : null;\r\n\t\tif (select?.value.length > 0) {\r\n\t\t\tselect.viewWrapper.innerHTML = `${select.value.length} ${selectDescription}`;\r\n\t\t}\r\n\t}\r\n\tRemoveParamsAndSegments(url: string): string {\r\n\t\t// Remover parámetros de consultanom\r\n\t\tconst urlWithoutParams = url.split(\"?\")[0];\r\n\t\t// Remover segmentos de ruta dinámicos\r\n\t\tconst regex = /\\/\\d+(?=\\/|$)(?!$)/g; // Encuentra segmentos de ruta que consisten en números\r\n\t\treturn urlWithoutParams.replace(regex, \"\");\r\n\t}\r\n\tOpenActionMenu() {\r\n\t\tthis.openActionMenu$.next(true);\r\n\t}\r\n\tAbbreviateNumber(number: number, fixed: number = 2): string {\r\n\t\tif (number == 0.0 || number == 0 || number == 0.0) {\r\n\t\t\treturn \"0\";\r\n\t\t}\r\n\t\tlet formatCant = \"\";\r\n\t\tlet numberOriginal = number;\r\n\t\tif (number < 0) {\r\n\t\t\tnumber = Math.abs(number);\r\n\t\t}\r\n\t\tif (number >= 1000 && number < 1000000) {\r\n\t\t\tnumber = parseFloat((number / 1000).toFixed(fixed));\r\n\t\t\tformatCant = \" K\";\r\n\t\t} else if (number >= 1000000 && number < 1000000000) {\r\n\t\t\tnumber = parseFloat((number / 1000000).toFixed(fixed));\r\n\t\t\tformatCant = \" M\";\r\n\t\t} else if (number >= 1000000000 && number <= 1000000000000) {\r\n\t\t\tnumber = parseFloat((number / 1000000000).toFixed(fixed));\r\n\t\t\tformatCant = \" B\";\r\n\t\t} else {\r\n\t\t\tnumber = this.NumberFormatByNumberCriteria(number, fixed);\r\n\t\t}\r\n\t\treturn numberOriginal < 0 ? `(${number}${formatCant})` : `${number}${formatCant}`;\r\n\t}\r\n\tNumberFormatByNumberCriteria(number: number, fixed: number = 4): any {\r\n\t\tconst rounded = (Math.round(number * Math.pow(10, fixed)) / Math.pow(10, fixed)).toFixed(fixed);\r\n\t\treturn rounded;\r\n\t}\r\n\tFormatPercentage(number: number, decimal: number = 2) {\r\n\t\tlet numberInit = number;\r\n\t\tif (number < 0) number = Math.abs(number);\r\n\t\tnumber = parseFloat(number.toFixed(decimal));\r\n\t\tlet finalNumber = `${number.toLocaleString(\"en-US\")}%`;\r\n\t\treturn numberInit < 0 ? `(${finalNumber})` : `${finalNumber}`;\r\n\t}\r\n\tGetMonthName(monthIndex: number, lang: \"en\" | \"es\" = \"en\"): string {\r\n\t\treturn this.months[lang][monthIndex];\r\n\t}\r\n\tFormatNumberWithSuffix(number: number, decimalPlaces: number = 0): string {\r\n\t\tif (number === 0) {\r\n\t\t\treturn \"0\";\r\n\t\t}\r\n\t\tconst isNegative = number < 0;\r\n\t\tconst absoluteValue = Math.abs(number);\r\n\t\tconst scaledNumber = parseFloat((absoluteValue / 1000).toFixed(decimalPlaces)).toLocaleString(\"en-US\");\r\n\t\tconst suffix = \" K\";\r\n\r\n\t\treturn isNegative ? `(${scaledNumber}${suffix})` : `${scaledNumber}${suffix}`;\r\n\t}\r\n\t//SYNFCUNTION\r\n\tGenerateGUID(): string {\r\n\t\tlet uuid = \"\",\r\n\t\t\ti,\r\n\t\t\trandom;\r\n\t\tfor (i = 0; i < 32; i++) {\r\n\t\t\trandom = (Math.random() * 16) | 0;\r\n\t\t\tif (i === 8 || i === 12 || i === 16 || i === 20) {\r\n\t\t\t\tuuid += \"-\";\r\n\t\t\t}\r\n\t\t\tuuid += (i === 12 ? 4 : i === 16 ? (random & 3) | 8 : random).toString(16);\r\n\t\t}\r\n\t\treturn uuid;\r\n\t}\r\n\tAttachDataLabelClickEvent(chartElementId: string, dataArray: any[], onClickCallback: (clickedData: any) => void): void {\r\n\t\tconst chartElement = document.getElementById(chartElementId);\r\n\t\tif (!chartElement) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst dataLabels = chartElement.querySelectorAll('[id*=\"_DataLabel_\"]');\r\n\t\tconst dataLabelsArray = Array.prototype.slice.call(dataLabels) as HTMLElement[];\r\n\t\tdataLabelsArray.forEach((label, index) => {\r\n\t\t\t// Calcula el índice ajustado para obtener el dato correcto\r\n\t\t\tconst adjustedIndex = index % dataArray.length;\r\n\r\n\t\t\tlabel.addEventListener(\"click\", () => {\r\n\t\t\t\tconst clickedData = dataArray[adjustedIndex];\r\n\t\t\t\tif (clickedData) {\r\n\t\t\t\t\tonClickCallback(clickedData);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\tFormatNumberAbsolute(number: number) {\r\n\t\tconst isNegative = number < 0;\r\n\t\tif (number < 0) {\r\n\t\t\tnumber = Math.abs(number);\r\n\t\t}\r\n\r\n\t\tlet finalNumber = `${number.toLocaleString(\"en-US\")}`;\r\n\t\treturn isNegative ? `(${finalNumber})` : `${finalNumber}`;\r\n\t}\r\n\tSortRecursive(data: any[], column: any, criteria: string) {\r\n\t\treturn _.orderBy(\r\n\t\t\tdata.map(item => {\r\n\t\t\t\tObject.keys(item).forEach(key => {\r\n\t\t\t\t\tif (Array.isArray(item[key])) {\r\n\t\t\t\t\t\titem[key] = this.SortRecursive(item[key], column, criteria);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\treturn item;\r\n\t\t\t}),\r\n\t\t\t[(elm: any) => (typeof elm[column] === \"string\" ? elm[column].toLowerCase() : elm[column])],\r\n\t\t\t[criteria as \"asc\" | \"desc\"]\r\n\t\t);\r\n\t}\r\n}\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { AfterContentInit, Component, ContentChildren, EventEmitter, inject, Input, NO_ERRORS_SCHEMA, OnChanges, Output, QueryList, SimpleChanges, ViewChild } from \"@angular/core\";\r\nimport { TableModule } from \"primeng/table\";\r\nimport { BadgeModule } from \"primeng/badge\";\r\nimport { Popover } from \"primeng/popover\";\r\nimport { ColumnComponent } from \"./column.component\";\r\nimport { SearchFieldModel } from \"./model/search.model\";\r\nimport { TooltipModule } from \"primeng/tooltip\";\r\nimport { SearchComponent } from \"../search/search.component\";\r\nimport { PaginatorComponent } from \"../paginator/paginator.component\";\r\nimport { SharedService } from \"../../services/shared.service\";\r\n\r\n@Component({\r\n\tselector: \"intelica-table\",\r\n\tstandalone: true,\r\n\timports: [CommonModule, SearchComponent, PaginatorComponent, TableModule, BadgeModule, Popover, ColumnComponent, TooltipModule],\r\n\ttemplateUrl: \"./table.component.html\",\r\n})\r\nexport class TableComponent<T> implements OnChanges, AfterContentInit {\r\n\tprivate readonly SharedService = inject(SharedService);\r\n\t@Input() ComponentId: string = \"\";\r\n\t@Input() ListData: T[] = [];\r\n\t@Input() ShowSearch: boolean = false;\r\n\t@Input() ListSearchOptions: SearchFieldModel[] = [];\r\n\t@Input() ShowPagination: boolean = false;\r\n\t@Input() RowsPerPage: number = 10;\r\n\t@Input() ShowCheckbox: boolean = false;\r\n\t@Input() ListDataSelected: T[] = [];\r\n\t@Input() SelectedIdentifier: keyof T | null = null;\r\n\tColumnList: ColumnComponent[] = [];\r\n\tListDataFilter: T[] = [];\r\n\tListDataTable: T[] = [];\r\n\tListDataSelectedFilter: T[] = [];\r\n\tListDataSelectedTemp: T[] = [];\r\n\tListSearchOptionsSimple: { id: number; value: string }[] = [];\r\n\tTotalRecords: number = 0;\r\n\tCurrentPage: number = 1;\r\n\tSortOrder: number = 1;\r\n\tSortField: keyof T | null = null;\r\n\t@Output() EmmitSelectedItem = new EventEmitter<T[]>();\r\n\t@ViewChild(\"paginatorTable\") PaginatorTable?: PaginatorComponent;\r\n\t@ViewChild(\"searchTable\") SearchTable?: SearchComponent;\r\n\t@ContentChildren(ColumnComponent) Columns!: QueryList<ColumnComponent>;\r\n\tconstructor() {}\r\n\tngOnChanges(changes: SimpleChanges): void {\r\n\t\tthis.LoadSearchOptions();\r\n\t\tthis.ExecuteSearch({});\r\n\t\tthis.ValidateSelect();\r\n\t}\r\n\tngAfterContentInit() {\r\n\t\tthis.ColumnList = this.Columns.toArray();\r\n\t}\r\n\tLoadSearchOptions() {\r\n\t\tthis.ListSearchOptionsSimple = this.ListSearchOptions.map(item => ({\r\n\t\t\tid: item.id,\r\n\t\t\tvalue: item.name,\r\n\t\t}));\r\n\t}\r\n\tOnSort(field: string) {\r\n\t\tif (this.SortField === field) {\r\n\t\t\tthis.SortOrder *= -1;\r\n\t\t} else {\r\n\t\t\tthis.SortField = field as keyof T;\r\n\t\t\tthis.SortOrder = 1;\r\n\t\t}\r\n\t\tthis.SortPages();\r\n\t}\r\n\tOnPageChange(pageIndex: number) {\r\n\t\tthis.CurrentPage = pageIndex;\r\n\t\tthis.UpdatePages();\r\n\t}\r\n\tExecuteSearch(event: any): void {\r\n\t\tthis.ListDataFilter = [...this.ListData];\r\n\t\tif (event?.searchText !== undefined && event?.searchText !== \"\" && this.ListSearchOptions.length > 0) {\r\n\t\t\tlet Search = event.searchText?.trim()?.toLowerCase();\r\n\t\t\tlet searchValue = this.ListSearchOptions.find(item => item.id === event.fieldId)?.field || \"code\";\r\n\t\t\tthis.ListDataFilter = this.SharedService.GetFilteredSearchKey([...this.ListData], searchValue, Search, event.operatorId);\r\n\t\t\tif (this.PaginatorTable) {\r\n\t\t\t\tthis.PaginatorTable.CurrentPage = 1;\r\n\t\t\t\tthis.CurrentPage = 1;\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.SortPages();\r\n\t}\r\n\tSortPages() {\r\n\t\tconst order = this.SortOrder === 1 ? \"asc\" : \"desc\";\r\n\t\tconst field = this.SortField as keyof T;\r\n\t\tthis.ListDataFilter = this.SharedService.SortRecursive([...this.ListDataFilter], field, order);\r\n\t\tthis.UpdatePages();\r\n\t}\r\n\tUpdatePages() {\r\n\t\tif (this.ShowPagination) {\r\n\t\t\tthis.TotalRecords = this.ListDataFilter.length;\r\n\t\t\tconst start = (this.CurrentPage - 1) * this.RowsPerPage;\r\n\t\t\tconst end = start + this.RowsPerPage;\r\n\t\t\tthis.ListDataTable = this.ListDataFilter.slice(start, end);\r\n\t\t} else {\r\n\t\t\tthis.ListDataTable = this.ListDataFilter;\r\n\t\t}\r\n\t\tif (this.ShowCheckbox) this.ListDataSelectedFilter = [...this.ListDataSelectedTemp];\r\n\t}\r\n\tValidateSelect() {\r\n\t\tif (!this.SelectedIdentifier && this.ShowCheckbox) {\r\n\t\t\tthis.ShowCheckbox = false;\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst selectedIds = new Set(this.ListDataSelected.map(item => item[this.SelectedIdentifier as keyof T]));\r\n\t\tthis.ListDataSelectedTemp = this.ListData.filter(item => selectedIds.has(item[this.SelectedIdentifier as keyof T]));\r\n\t\tthis.ListDataSelectedFilter = [...this.ListDataSelectedTemp];\r\n\t}\r\n\tSelectAll(event: any) {\r\n\t\tif (!this.SelectedIdentifier && this.ShowCheckbox) return;\r\n\t\tif (event.checked) {\r\n\t\t\tconst idsSelected = new Set(this.ListDataSelectedTemp.map(item => item[this.SelectedIdentifier as keyof T]));\r\n\t\t\tthis.ListDataFilter.forEach(item => {\r\n\t\t\t\tif (!idsSelected.has(item[this.SelectedIdentifier as keyof T])) {\r\n\t\t\t\t\tthis.ListDataSelectedTemp.push(item);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tconst idsSelected = new Set(this.ListDataFilter.map(item => item[this.SelectedIdentifier as keyof T]));\r\n\t\t\tthis.ListDataSelectedTemp = this.ListDataSelectedTemp.filter(item => !idsSelected.has(item[this.SelectedIdentifier as keyof T]));\r\n\t\t}\r\n\t\tthis.EmmitSelectedItem.emit(this.ListDataSelectedTemp);\r\n\t}\r\n\tOnRowSelect(event: any) {\r\n\t\tif (!this.SelectedIdentifier && this.ShowCheckbox) return;\r\n\t\tconst selectedItem = event.data;\r\n\t\tconst exists = this.ListDataSelectedTemp.some(item => item[this.SelectedIdentifier as keyof T] === selectedItem[this.SelectedIdentifier as keyof T]);\r\n\t\tif (!exists) {\r\n\t\t\tthis.ListDataSelectedTemp.push(selectedItem);\r\n\t\t}\r\n\t\tthis.EmmitSelectedItem.emit(this.ListDataSelectedTemp);\r\n\t}\r\n\tOnRowUnselect(event: any) {\r\n\t\tif (!this.SelectedIdentifier && this.ShowCheckbox) return;\r\n\t\tconst unselectedItem = event.data;\r\n\t\tthis.ListDataSelectedTemp = this.ListDataSelectedTemp.filter(item => item[this.SelectedIdentifier as keyof T] !== unselectedItem[this.SelectedIdentifier as keyof T]);\r\n\t\tthis.EmmitSelectedItem.emit(this.ListDataSelectedTemp);\r\n\t}\r\n}\r\n","<div class=\"prTable\">\r\n\t<div class=\"prTableTools\">\r\n\t\t<intelica-search\r\n\t\t\t#searchTable\r\n\t\t\t*ngIf=\"ShowSearch\"\r\n\t\t\t[ComponentId]=\"ComponentId + 'Search'\"\r\n\t\t\t(OnSearch)=\"ExecuteSearch($event)\"\r\n\t\t\t[SearchFieldOptions]=\"ListSearchOptionsSimple\"\r\n\t\t\t[SearchOnKeyup]=\"false\"\r\n\t\t\t[SimpleSearchInput]=\"false\"\r\n\t\t></intelica-search>\r\n\t\t<intelica-paginator #paginatorTable *ngIf=\"ShowPagination\" [TotalItems]=\"ListDataFilter.length\" [ItemsPerPage]=\"RowsPerPage\" (PageChange)=\"OnPageChange($event)\"></intelica-paginator>\r\n\t</div>\r\n\t<p-table\r\n\t\tclass=\"prTableBasic\"\r\n\t\t[value]=\"ListDataTable\"\r\n\t\tresponsiveLayout=\"scroll\"\r\n\t\t[(selection)]=\"ListDataSelectedFilter\"\r\n\t\t(onHeaderCheckboxToggle)=\"SelectAll($event)\"\r\n\t\t(onRowSelect)=\"OnRowSelect($event)\"\r\n\t\t(onRowUnselect)=\"OnRowUnselect($event)\"\r\n\t>\r\n\t\t<!-- Encabezados -->\r\n\t\t<ng-template pTemplate=\"header\">\r\n\t\t\t<tr>\r\n\t\t\t\t<th *ngFor=\"let col of ColumnList\" [class]=\"col.className\" [pSortableColumn]=\"col.sortable ? col.field : ''\" [style.width]=\"col.width\" (click)=\"OnSort(col.field)\">\r\n\t\t\t\t\t<span pTooltip=\"{{ col.headerTooltip }}\" tooltipPosition=\"{{ col.headerTooltipPosition }}\">\r\n\t\t\t\t\t\t{{ col.header }}\r\n\t\t\t\t\t</span>\r\n\t\t\t\t\t<p-sortIcon *ngIf=\"col.sortable\" [field]=\"col.field\"></p-sortIcon>\r\n\t\t\t\t</th>\r\n\t\t\t\t<th *ngIf=\"ShowCheckbox\" class=\"text-center\" style=\"width: 4%\">\r\n\t\t\t\t\t<p-tableHeaderCheckbox class=\"prCheckbox\" [ngClass]=\"{ 'prCheckbox--indeterminate': ListDataSelectedTemp.length > 0 && ListDataSelectedTemp.length < ListDataFilter.length }\" />\r\n\t\t\t\t</th>\r\n\t\t\t</tr>\r\n\t\t</ng-template>\r\n\r\n\t\t<!-- Cuerpo de la tabla -->\r\n\t\t<ng-template pTemplate=\"body\" let-rowData let-rowIndex=\"rowIndex\">\r\n\t\t\t<tr>\r\n\t\t\t\t<td *ngFor=\"let col of ColumnList; let i = index\" [ngClass]=\"col.className\">\r\n\t\t\t\t\t<ng-container *ngIf=\"col.showIndex; else columnContent\">\r\n\t\t\t\t\t\t{{ rowIndex + 1 + (CurrentPage - 1) * RowsPerPage }}\r\n\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t<ng-template #columnContent>\r\n\t\t\t\t\t\t<ng-container *ngIf=\"col.templateRef; else defaultContent\">\r\n\t\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"col.templateRef; context: { $implicit: rowData }\"></ng-container>\r\n\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t\t<ng-template #defaultContent>\r\n\t\t\t\t\t\t\t<span pTooltip=\"{{ rowData[col.tooltip] }}\" tooltipPosition=\"{{ col.tooltipPosition }}\">\r\n\t\t\t\t\t\t\t\t{{ rowData[col.field] }}\r\n\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t</ng-template>\r\n\t\t\t\t</td>\r\n\t\t\t\t<td *ngIf=\"ShowCheckbox\" class=\"text-center\">\r\n\t\t\t\t\t<p-tableCheckbox [value]=\"rowData\" class=\"prCheckbox\" />\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t</ng-template>\r\n\t</p-table>\r\n</div>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.FeatureFlagService","i3","i1","i2"],"mappings":"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"}
@@ -2,8 +2,10 @@ import { EventEmitter, OnDestroy, OnInit } from "@angular/core";
2
2
  import { FormGroup } from "@angular/forms";
3
3
  import { Subscription } from "rxjs";
4
4
  import { SearchInputModel } from "./model/search.model";
5
+ import { GlobalTermService } from "../../services/globalTerm.service";
5
6
  import * as i0 from "@angular/core";
6
7
  export declare class SearchComponent implements OnDestroy, OnInit {
8
+ readonly GlobalTermService: GlobalTermService;
7
9
  /**
8
10
  * Indica el componente del que proviene.
9
11
  * @type {string}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "intelica-library-ui",
3
- "version": "0.1.25",
3
+ "version": "0.1.27",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^19.2.0",
6
6
  "@angular/core": "^19.2.0"