intelica-library-ui 0.1.188 → 0.1.189

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.
@@ -5,7 +5,7 @@ import { HttpClient, HttpHeaders } from '@angular/common/http';
5
5
  import { BehaviorSubject, catchError, throwError, from, switchMap, Subject, Subscription, of, tap, map } from 'rxjs';
6
6
  import Swal from 'sweetalert2';
7
7
  import * as i1 from '@angular/common';
8
- import { CommonModule, DatePipe, isPlatformBrowser } from '@angular/common';
8
+ import { CommonModule, DatePipe, isPlatformBrowser, NgIf } from '@angular/common';
9
9
  import * as i1$1 from '@angular/forms';
10
10
  import { FormsModule, FormBuilder, ReactiveFormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
11
11
  import { BadgeModule } from 'primeng/badge';
@@ -16,7 +16,7 @@ import { TableModule } from 'primeng/table';
16
16
  import * as i4 from 'primeng/tooltip';
17
17
  import { TooltipModule } from 'primeng/tooltip';
18
18
  import moment from 'moment';
19
- import * as _ from 'lodash';
19
+ import _ from 'lodash';
20
20
  import * as i2 from 'primeng/button';
21
21
  import { ButtonModule } from 'primeng/button';
22
22
  import * as i3 from 'primeng/radiobutton';
@@ -41,6 +41,10 @@ import { Dialog } from 'primeng/dialog';
41
41
  import * as echarts from 'echarts';
42
42
  import * as i2$4 from 'primeng/skeleton';
43
43
  import { SkeletonModule } from 'primeng/skeleton';
44
+ import { DropdownModule } from 'primeng/dropdown';
45
+ import { OverlayPanelModule } from 'primeng/overlaypanel';
46
+ import * as i4$2 from 'primeng/accordion';
47
+ import { AccordionModule } from 'primeng/accordion';
44
48
  import * as XLSX from 'xlsx';
45
49
  import { Workbook } from 'exceljs';
46
50
  import { saveAs } from 'file-saver';
@@ -610,8 +614,81 @@ class FormatDateConstants {
610
614
  static YYYYMMDD_SLASH = "YYYY/MM/DD";
611
615
  }
612
616
 
617
+ class GroupRegCountryBankConstants {
618
+ //IDS
619
+ static COLUMN_GROUP_ID = 'groupId';
620
+ static COLUMN_REGION_ID = 'regionId';
621
+ static COLUMN_COUNTRY_ID = 'countryId';
622
+ static COLUMN_BANK_ID = 'bankId';
623
+ //DESCRIPTION BD
624
+ static COLUMN_GROUP_NAME = 'groupName';
625
+ static COLUMN_REGION_NAME = 'regionName';
626
+ static COLUMN_COUNTRY_NAME = 'countryName';
627
+ static COLUMN_BANK_NAME = 'bankName';
628
+ static COLUMN_BANK_NAME_COMERCIAL = 'bankNameCommercial';
629
+ //DESCRIPTION GROUP COMBO
630
+ static GLOBAL = {
631
+ 325: 'Global',
632
+ 327: 'Global'
633
+ };
634
+ static GROUP = {
635
+ 325: 'Group',
636
+ 327: 'Grupo'
637
+ };
638
+ static REGION = {
639
+ 325: 'Region',
640
+ 327: 'Región'
641
+ };
642
+ static COUNTRY = {
643
+ 325: 'Country',
644
+ 327: 'País'
645
+ };
646
+ static BANK = {
647
+ 325: 'Client',
648
+ 327: 'Cliente'
649
+ };
650
+ //DESCRIPCION BY
651
+ static GROUP_BY = 'groupBy';
652
+ static GROUP_TEXT = 'name';
653
+ static GROUP_INDEX = 'index';
654
+ }
655
+ class GroupRegionCountryBankModel {
656
+ index = 0;
657
+ groupId = 0;
658
+ groupName = '';
659
+ regionId = 0;
660
+ regionName = '';
661
+ countryId = 0;
662
+ countryName = '';
663
+ bankId = 0;
664
+ bankName = '';
665
+ nivel = 0;
666
+ bankNameCommercial = '';
667
+ }
668
+ class GlobalConstants {
669
+ static STRING_ALL = 'All';
670
+ static NUMBER_ALL = -1;
671
+ static REGION_EUROPE = 7;
672
+ static KEY_ENCRIPT = 'abcdefghijklmnopqrstuvwx';
673
+ static IV_ENCRIPT = '1234567890123456';
674
+ }
675
+
676
+ class OrderConstants {
677
+ //DESCRIPTION
678
+ static ORDER_BY_DESC = "desc";
679
+ static ORDER_BY_ASC = "asc";
680
+ //VALUES
681
+ static ORDER_BY_DESC_VALUE = "1";
682
+ static ORDER_BY_ASC_VALUE = "0";
683
+ }
684
+
685
+ class Constants {
686
+ static REGION_EUROPE = 7;
687
+ }
688
+
613
689
  class SharedService {
614
690
  location;
691
+ termsPipe;
615
692
  configObservable = new Subject();
616
693
  isLoading = new BehaviorSubject(false);
617
694
  isLoadingHeader = new BehaviorSubject(true);
@@ -654,8 +731,10 @@ class SharedService {
654
731
  ],
655
732
  };
656
733
  subtitleDescriptionNotification$;
657
- constructor(location) {
734
+ GlobalTermService = inject(GlobalTermService);
735
+ constructor(location, termsPipe) {
658
736
  this.location = location;
737
+ this.termsPipe = termsPipe;
659
738
  }
660
739
  ///METODOS GLOBALS.
661
740
  IsNumberRate(n) {
@@ -1342,7 +1421,84 @@ class SharedService {
1342
1421
  },
1343
1422
  ], [criteria]);
1344
1423
  }
1345
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SharedService, deps: [{ token: i1.Location }], target: i0.ɵɵFactoryTarget.Injectable });
1424
+ //TITLES
1425
+ setTitles(ListGeneralGroupRegionCountryBank, groupId, regId, countryId, bankId, isInternal) {
1426
+ let res = "";
1427
+ const ListGeneralGroupAll = _.orderBy(_.uniqBy(ListGeneralGroupRegionCountryBank, GroupRegCountryBankConstants.COLUMN_GROUP_ID), [GroupRegCountryBankConstants.COLUMN_GROUP_NAME], [OrderConstants.ORDER_BY_ASC]);
1428
+ const ListGeneralRegionAll = _.orderBy(_.uniqBy(ListGeneralGroupRegionCountryBank, GroupRegCountryBankConstants.COLUMN_REGION_ID), [GroupRegCountryBankConstants.COLUMN_REGION_NAME], [OrderConstants.ORDER_BY_ASC]);
1429
+ const ListGeneralCountryAll = _.orderBy(_.uniqBy(ListGeneralGroupRegionCountryBank, GroupRegCountryBankConstants.COLUMN_COUNTRY_ID), [GroupRegCountryBankConstants.COLUMN_COUNTRY_NAME], [OrderConstants.ORDER_BY_ASC]);
1430
+ const ListGeneralBankAll = _.orderBy(_.uniqBy(ListGeneralGroupRegionCountryBank, GroupRegCountryBankConstants.COLUMN_BANK_ID), [GroupRegCountryBankConstants.COLUMN_BANK_NAME], [OrderConstants.ORDER_BY_ASC]);
1431
+ const CurrentGroup = this.getCurrentGroup(ListGeneralGroupAll, ListGeneralRegionAll, groupId, regId);
1432
+ const CurrentRegion = this.getCurrentRegion(ListGeneralRegionAll, regId, countryId);
1433
+ const CurrentCountry = countryId > 0 ? ListGeneralCountryAll.filter((f) => f.countryId === countryId)[0] : undefined;
1434
+ const CurrentBank = bankId > 0 ? ListGeneralBankAll.filter((f) => f.bankId === bankId)[0] : undefined;
1435
+ if (isInternal) {
1436
+ res = CurrentGroup ? CurrentGroup.groupName : "";
1437
+ res = CurrentRegion ? this.getTitleByRegionOrCountry(CurrentGroup, CurrentRegion, "regionName") : res;
1438
+ res = CurrentCountry ? this.getTitleByRegionOrCountry(CurrentGroup, CurrentCountry, "countryName") : res;
1439
+ res = CurrentBank ? CurrentBank.bankName : res;
1440
+ }
1441
+ else {
1442
+ res = CurrentGroup ? CurrentGroup.groupName : "";
1443
+ res = CurrentRegion ? CurrentRegion.groupName + " " + CurrentRegion.regionName : res;
1444
+ res = CurrentCountry ? CurrentCountry.bankName + " " + CurrentCountry.countryName : res;
1445
+ res = CurrentBank ? this.getTitleByBank(ListGeneralCountryAll, CurrentBank) : res;
1446
+ res = ListGeneralGroupRegionCountryBank.length > 1 ? res : "";
1447
+ }
1448
+ return res;
1449
+ }
1450
+ getCurrentGroup(ListGeneralGroupAll, ListGeneralRegionAll, groupId, regId) {
1451
+ if (ListGeneralGroupAll.length === 1) {
1452
+ return ListGeneralGroupAll[0];
1453
+ }
1454
+ if (groupId > 0) {
1455
+ return ListGeneralGroupAll.filter((f) => f.groupId === groupId)[0];
1456
+ }
1457
+ if ((regId === Constants.REGION_EUROPE || regId === -1) && ListGeneralRegionAll.length === 3) {
1458
+ return ListGeneralRegionAll[0];
1459
+ }
1460
+ return undefined;
1461
+ }
1462
+ getCurrentRegion(ListGeneralRegionAll, regId, countryId) {
1463
+ if ((regId === Constants.REGION_EUROPE || regId === -1) && ListGeneralRegionAll.length === 3) {
1464
+ return undefined;
1465
+ }
1466
+ if (regId > 0 && countryId < 1) {
1467
+ return ListGeneralRegionAll.filter((f) => f.regionId === regId)[0];
1468
+ }
1469
+ return undefined;
1470
+ }
1471
+ getTitleByRegionOrCountry(CurrentGroup, Current, field) {
1472
+ return CurrentGroup ? CurrentGroup.groupName + " - " + Current[field] : Current[field];
1473
+ }
1474
+ getTitleByBank(ListGeneralCountryAll, CurrentBank) {
1475
+ return ListGeneralCountryAll.length > 1 ? CurrentBank.groupName + " - " + CurrentBank.countryName + " - " + CurrentBank.bankNameCommercial : CurrentBank.bankNameCommercial;
1476
+ }
1477
+ getTermTextByCode(code, mode = 1) {
1478
+ return this.termsPipe.transform(code, "", mode);
1479
+ }
1480
+ isEmpty(value) {
1481
+ return value === null || value === "" || value === undefined;
1482
+ }
1483
+ groupByColumn(data, columnGroup) {
1484
+ let colUnique = [];
1485
+ if (columnGroup != "") {
1486
+ colUnique = [
1487
+ ...new Set(data.map(item => {
1488
+ return item[columnGroup];
1489
+ })),
1490
+ ].filter(unique => !this.isEmpty(unique));
1491
+ }
1492
+ else {
1493
+ colUnique = [
1494
+ ...new Set(data.map(item => {
1495
+ return item;
1496
+ })),
1497
+ ].filter(unique => !this.isEmpty(unique));
1498
+ }
1499
+ return colUnique;
1500
+ }
1501
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SharedService, deps: [{ token: i1.Location }, { token: TermPipe }], target: i0.ɵɵFactoryTarget.Injectable });
1346
1502
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SharedService, providedIn: "root" });
1347
1503
  }
1348
1504
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SharedService, decorators: [{
@@ -1350,7 +1506,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImpor
1350
1506
  args: [{
1351
1507
  providedIn: "root",
1352
1508
  }]
1353
- }], ctorParameters: () => [{ type: i1.Location }] });
1509
+ }], ctorParameters: () => [{ type: i1.Location }, { type: TermPipe }] });
1354
1510
 
1355
1511
  class PositiveNumberDirective {
1356
1512
  el;
@@ -4501,15 +4657,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImpor
4501
4657
  type: Output
4502
4658
  }] } });
4503
4659
 
4504
- class OrderConstants {
4505
- //DESCRIPTION
4506
- static ORDER_BY_DESC = "desc";
4507
- static ORDER_BY_ASC = "asc";
4508
- //VALUES
4509
- static ORDER_BY_DESC_VALUE = "1";
4510
- static ORDER_BY_ASC_VALUE = "0";
4511
- }
4512
-
4513
4660
  class SortingComponent {
4514
4661
  /**
4515
4662
  * Suscripción a un observable.
@@ -5348,6 +5495,451 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImpor
5348
5495
  type: Input
5349
5496
  }] } });
5350
5497
 
5498
+ class TitlesComponent {
5499
+ globalTerms = inject(GlobalTermService);
5500
+ SharedService = inject(SharedService);
5501
+ /** Modelo de selección de filtro. */
5502
+ setFilter;
5503
+ /** Título y subtítulo */
5504
+ title = "";
5505
+ subTitle = "";
5506
+ /** Mostrar filtros en cabecera */
5507
+ showFilterHead = true;
5508
+ /** Agregar opción Global (-1,-1,-1,-1) */
5509
+ addGlobal = false;
5510
+ /** ID para helper */
5511
+ helperId = "";
5512
+ /** Evento de cambio */
5513
+ changeCboTitle = new EventEmitter();
5514
+ /** Dropdown alterno (caja grande) */
5515
+ showAlterFilterHead = false;
5516
+ subShowAlterFilterHead = false;
5517
+ /** Filtros alternos (categoría / subcategoría) */
5518
+ alterFilterValues = [];
5519
+ alterFilterValue = 0;
5520
+ subAlterFilterValues = [];
5521
+ subAlterFilterValue = 0;
5522
+ /** Bancos disponibles (para filtrar) */
5523
+ bankIdListAvaliable = [];
5524
+ /** Dropdown alterno (caja grande) */
5525
+ isInternal = true;
5526
+ currentUser;
5527
+ applyFilterClick = new EventEmitter();
5528
+ clearFilterClick = new EventEmitter();
5529
+ /** Estado interno */
5530
+ titlePage = "";
5531
+ selectIndex = 0;
5532
+ filterHead = "";
5533
+ placeholder = "";
5534
+ subscription = new Subscription();
5535
+ userBanks = [];
5536
+ existEurope = false;
5537
+ isDropdownOpen = false;
5538
+ groupValues = [];
5539
+ dropdownOptions = [];
5540
+ groupIds = [];
5541
+ countryIds = [];
5542
+ regionIds = [];
5543
+ isFilterAvaliable = false;
5544
+ dropdownMenuId = "";
5545
+ tempCategoryId = 0;
5546
+ tempSubcategoryId = 0;
5547
+ tempGroupId = 0;
5548
+ filterSubCategories = [];
5549
+ langId = 325;
5550
+ IsTitleDropdownOpen = false;
5551
+ demoRadioButtonRegion;
5552
+ selectedRadioButtonRegion = null;
5553
+ demoRadioButtonCountry;
5554
+ selectedRadioButtonCountry = null;
5555
+ demoRadioButtonClient;
5556
+ selectedRadioButtonClient = null;
5557
+ demoRadioButtonCategory;
5558
+ selectedRadioButtonCategory = null;
5559
+ demoRadioButtonSubCategory;
5560
+ selectedRadioButtonSubCategory = null;
5561
+ demoRadioButtonMonthly;
5562
+ selectedRadioButtonMonthly = null;
5563
+ constructor() {
5564
+ this.subscription = this.SharedService.isLoadingPageInfo.subscribe({
5565
+ next: isLoadingPageInfo => {
5566
+ if (!isLoadingPageInfo) {
5567
+ this.loadData();
5568
+ this.dropdownMenuId = this.SharedService.GetLastSegmentUrl() + "-analytics";
5569
+ }
5570
+ },
5571
+ });
5572
+ }
5573
+ OnTitleDropdownClickOutside(event) {
5574
+ const dropdownElement = document.querySelector(".titleDropdown");
5575
+ if (dropdownElement && !dropdownElement.contains(event.target)) {
5576
+ this.IsTitleDropdownOpen = false;
5577
+ }
5578
+ }
5579
+ OnTitleDropdownToggle(event) {
5580
+ event.stopPropagation();
5581
+ this.IsTitleDropdownOpen = !this.IsTitleDropdownOpen;
5582
+ }
5583
+ ApplyFilter() {
5584
+ const model = this.buildTitleSelect(this.selectIndex);
5585
+ this.changeCboTitle.emit(model);
5586
+ this.applyFilterClick.emit(model);
5587
+ this.IsTitleDropdownOpen = false;
5588
+ }
5589
+ ClearFilter() {
5590
+ this.alterFilterValue = 0;
5591
+ this.subAlterFilterValue = 0;
5592
+ this.changeCategories();
5593
+ const model = this.buildTitleSelect(this.selectIndex);
5594
+ this.changeCboTitle.emit(model);
5595
+ this.clearFilterClick.emit();
5596
+ this.IsTitleDropdownOpen = false;
5597
+ }
5598
+ buildTitleSelect(index) {
5599
+ const titleSelect = {
5600
+ groupId: GlobalConstants.NUMBER_ALL,
5601
+ regionId: GlobalConstants.NUMBER_ALL,
5602
+ countryId: GlobalConstants.NUMBER_ALL,
5603
+ bankId: GlobalConstants.NUMBER_ALL,
5604
+ banksId: "",
5605
+ group: "",
5606
+ addValue1: 0,
5607
+ addValue2: 0,
5608
+ };
5609
+ const objSelect = this.userBanks.find(model => model.index === index) ?? {};
5610
+ titleSelect.group = objSelect.groupBy;
5611
+ switch (objSelect.groupBy) {
5612
+ case GroupRegCountryBankConstants.GROUP[this.langId]:
5613
+ titleSelect.groupId = objSelect.id;
5614
+ break;
5615
+ case GroupRegCountryBankConstants.REGION[this.langId]: {
5616
+ const region = this.currentUser.listRegionAll.find(r => r.regionId === objSelect.id);
5617
+ titleSelect.regionId = region?.regionId ?? -1;
5618
+ break;
5619
+ }
5620
+ case GroupRegCountryBankConstants.COUNTRY[this.langId]: {
5621
+ const country = this.currentUser.listCountryAll.find(c => c.countryId === objSelect.id);
5622
+ titleSelect.countryId = country?.countryId ?? -1;
5623
+ break;
5624
+ }
5625
+ default: {
5626
+ const bank = this.currentUser.listBankAll.find(b => b.bankId === objSelect.id);
5627
+ if (this.currentUser.IsGroupProfile) {
5628
+ titleSelect.countryId = bank?.countryId ?? -1;
5629
+ }
5630
+ titleSelect.bankId = bank?.bankId ?? -1;
5631
+ break;
5632
+ }
5633
+ }
5634
+ titleSelect.banksId = this.getAllBanks(objSelect);
5635
+ titleSelect.addValue1 = this.alterFilterValue ?? 0;
5636
+ titleSelect.addValue2 = this.subAlterFilterValue ?? 0;
5637
+ return titleSelect;
5638
+ }
5639
+ writeValue(obj) {
5640
+ }
5641
+ registerOnChange(fn) {
5642
+ }
5643
+ registerOnTouched(fn) {
5644
+ }
5645
+ setDisabledState(isDisabled) {
5646
+ }
5647
+ loadData() {
5648
+ this.langId = this.currentUser.LangSite;
5649
+ this.filterHead = this.SharedService.setTitles(this.currentUser.ListGroupRegionCountryBank, -1, -1, -1, -1, this.isInternal);
5650
+ this.title = this.titlePage;
5651
+ this.setGroupRegionCountryBankAll();
5652
+ this.setTitleFilter(this.setFilter);
5653
+ }
5654
+ ngOnChanges(changes) {
5655
+ if (changes.setFilter) {
5656
+ if (this.bankIdListAvaliable.length > 0 && this.currentUser.IsIntelicaUser) {
5657
+ this.filterBankListAvaliable();
5658
+ this.setTitleFilter(changes.setFilter.currentValue);
5659
+ }
5660
+ else {
5661
+ this.isFilterAvaliable = false;
5662
+ this.setGroupRegionCountryBankAll();
5663
+ this.setTitleFilter(changes.setFilter.currentValue);
5664
+ }
5665
+ }
5666
+ if (changes.title) {
5667
+ this.titlePage = this.title;
5668
+ }
5669
+ if (changes.alterFilterValue) {
5670
+ this.tempCategoryId = this.alterFilterValue !== null && this.alterFilterValue !== undefined ? this.alterFilterValue : 0;
5671
+ }
5672
+ if (changes.subAlterFilterValue) {
5673
+ this.tempSubcategoryId = this.subAlterFilterValue !== null && this.subAlterFilterValue !== undefined ? this.subAlterFilterValue : 0;
5674
+ }
5675
+ if (changes.subAlterFilterValues) {
5676
+ this.changeCategories();
5677
+ }
5678
+ if (this.tempSubcategoryId === -1) {
5679
+ this.tempSubcategoryId = 0;
5680
+ }
5681
+ }
5682
+ setGroupRegionCountryBankAll() {
5683
+ let regionValue = this.SharedService.getTermTextByCode("LBL_BANK_REGION");
5684
+ let countryValue = this.SharedService.getTermTextByCode("LBL_BANK_COUNTRY");
5685
+ let bankValue = this.SharedService.getTermTextByCode("LBL_BANK");
5686
+ let globalValue = this.SharedService.getTermTextByCode("LBL_TITLE_GLOBAL");
5687
+ let allValue = this.SharedService.getTermTextByCode("LBL_ALL");
5688
+ this.userBanks = [];
5689
+ if (this.currentUser) {
5690
+ if (this.addGlobal) {
5691
+ this.setNewField(globalValue, globalValue, GlobalConstants.NUMBER_ALL);
5692
+ }
5693
+ if (this.currentUser && this.currentUser.ListGroupRegionCountryBank.length == 1) {
5694
+ this.setNewField(bankValue !== "" ? bankValue : GroupRegCountryBankConstants.BANK[this.langId], this.currentUser.ListGroupRegionCountryBank[0].bankNameCommercial, this.currentUser.ListGroupRegionCountryBank[0].bankId);
5695
+ return;
5696
+ }
5697
+ let listGroupAll = this.fillGeneralListFilter(this.currentUser.listGroupAll, this.groupIds, 0, this.isFilterAvaliable);
5698
+ this.fillGeneralList(listGroupAll, GroupRegCountryBankConstants.GROUP[this.langId], true);
5699
+ if (this.validateEuropeAll() && !this.currentUser.PerfilInternal) {
5700
+ this.setNewField(regionValue !== "" ? regionValue : GroupRegCountryBankConstants.REGION[this.langId], allValue !== "" ? allValue : GlobalConstants.STRING_ALL, GlobalConstants.NUMBER_ALL);
5701
+ }
5702
+ let listRegionAll = this.fillGeneralListFilter(this.currentUser.listRegionAll, this.regionIds, 1, this.isFilterAvaliable);
5703
+ this.fillGeneralList(listRegionAll, GroupRegCountryBankConstants.REGION[this.langId]);
5704
+ if (this.hasNotPreviousGroup(this.currentUser.listCountryAll)) {
5705
+ this.setNewField(countryValue !== "" ? countryValue : GroupRegCountryBankConstants.COUNTRY[this.langId], allValue !== "" ? allValue : GlobalConstants.STRING_ALL, GlobalConstants.NUMBER_ALL);
5706
+ }
5707
+ let listCountryAll = this.fillGeneralListFilter(this.currentUser.listCountryAll, this.countryIds, 2, this.isFilterAvaliable);
5708
+ this.fillGeneralList(listCountryAll, GroupRegCountryBankConstants.COUNTRY[this.langId]);
5709
+ if (this.hasNotPreviousGroup(this.currentUser.listBankAll)) {
5710
+ this.setNewField(bankValue !== "" ? bankValue : GroupRegCountryBankConstants.BANK[this.langId], allValue !== "" ? allValue : GlobalConstants.STRING_ALL, GlobalConstants.NUMBER_ALL);
5711
+ }
5712
+ let listBankAll = this.fillGeneralListFilter(this.currentUser.listBankAll, this.bankIdListAvaliable, 3, this.isFilterAvaliable);
5713
+ listBankAll.forEach(bank => {
5714
+ if (this.existsMoreThanOneBankOrPerfilInternal(bank)) {
5715
+ this.setNewField(bankValue !== "" ? bankValue : GroupRegCountryBankConstants.BANK[this.langId], this.currentUser.PerfilInternal ? bank.bankName : bank.bankNameCommercial, bank.bankId);
5716
+ }
5717
+ });
5718
+ this.groupValues = [];
5719
+ var groupValues = this.SharedService.groupByColumn(this.userBanks, "groupBy");
5720
+ groupValues.forEach(element => {
5721
+ this.groupValues.push({ groupname: element, values: this.userBanks.filter(uB => uB.groupBy === element) });
5722
+ });
5723
+ }
5724
+ }
5725
+ fillGeneralList(listAll, groupBy, setSelectIndex = false) {
5726
+ const groupValue = this.SharedService.getTermTextByCode("LBL_BANK_GROUP");
5727
+ const regionValue = this.SharedService.getTermTextByCode("LBL_BANK_REGION");
5728
+ const countryValue = this.SharedService.getTermTextByCode("LBL_BANK_COUNTRY");
5729
+ [...listAll].forEach(model => {
5730
+ if (!(listAll.length > 1 || this.currentUser.PerfilInternal)) {
5731
+ return;
5732
+ }
5733
+ switch (groupBy) {
5734
+ case GroupRegCountryBankConstants.GROUP[this.langId]:
5735
+ this.setNewField(groupValue, model.groupName, model.groupId);
5736
+ break;
5737
+ case GroupRegCountryBankConstants.REGION[this.langId]:
5738
+ this.setNewField(regionValue, model.regionName, model.regionId);
5739
+ break;
5740
+ case GroupRegCountryBankConstants.COUNTRY[this.langId]:
5741
+ this.setNewField(countryValue, model.countryName, model.countryId);
5742
+ break;
5743
+ }
5744
+ });
5745
+ if (setSelectIndex) {
5746
+ this.selectIndex = this.currentUser.PerfilInternal ? this.userBanks.length : this.selectIndex;
5747
+ }
5748
+ }
5749
+ existsMoreThanOneBankOrPerfilInternal(bank) {
5750
+ return this.currentUser.listBankAll.filter(altBank => altBank.countryId === bank.countryId).length > 1 || this.currentUser.PerfilInternal;
5751
+ }
5752
+ hasNotPreviousGroup(listAll) {
5753
+ return !this.currentUser.PerfilInternal && listAll.length > 1 && !this.userBanks.some(field => field.id === -1) && !this.existEurope;
5754
+ }
5755
+ setNewField(groupBy, name, id) {
5756
+ const field = {
5757
+ groupBy: groupBy,
5758
+ name: name,
5759
+ id: id,
5760
+ index: this.userBanks.length,
5761
+ };
5762
+ this.userBanks.push(field);
5763
+ }
5764
+ validateEuropeAll() {
5765
+ this.existEurope = this.currentUser.listRegionAll.some(region => region.regionId === GlobalConstants.REGION_EUROPE);
5766
+ return (this.existEurope && this.currentUser.listRegionAll.length > 3) || (!this.existEurope && this.currentUser.listRegionAll.length > 1);
5767
+ }
5768
+ setTitleFilter(filter) {
5769
+ if (!filter)
5770
+ return;
5771
+ let groupBy = "";
5772
+ let id = GlobalConstants.NUMBER_ALL;
5773
+ filter.groupId = filter.groupId > 0 ? filter.groupId : GlobalConstants.NUMBER_ALL;
5774
+ filter.regionId = filter.regionId > 0 ? filter.regionId : GlobalConstants.NUMBER_ALL;
5775
+ filter.countryId = filter.countryId > 0 ? filter.countryId : GlobalConstants.NUMBER_ALL;
5776
+ filter.bankId = filter.bankId > 0 ? filter.bankId : GlobalConstants.NUMBER_ALL;
5777
+ const groupValue = this.SharedService.getTermTextByCode("LBL_BANK_GROUP");
5778
+ const regionValue = this.SharedService.getTermTextByCode("LBL_BANK_REGION");
5779
+ const countryValue = this.SharedService.getTermTextByCode("LBL_BANK_COUNTRY");
5780
+ const bankValue = this.SharedService.getTermTextByCode("LBL_BANK");
5781
+ if (filter.groupId !== GlobalConstants.NUMBER_ALL) {
5782
+ groupBy = groupValue !== "" ? groupValue : GroupRegCountryBankConstants.GROUP[this.langId];
5783
+ id = filter.groupId;
5784
+ }
5785
+ if (filter.regionId !== GlobalConstants.NUMBER_ALL) {
5786
+ groupBy = regionValue !== "" ? regionValue : GroupRegCountryBankConstants.REGION[this.langId];
5787
+ id = filter.regionId;
5788
+ }
5789
+ if (filter.countryId !== GlobalConstants.NUMBER_ALL) {
5790
+ groupBy = countryValue !== "" ? countryValue : GroupRegCountryBankConstants.COUNTRY[this.langId];
5791
+ id = filter.countryId;
5792
+ }
5793
+ if (filter.bankId !== GlobalConstants.NUMBER_ALL) {
5794
+ groupBy = bankValue !== "" ? bankValue : GroupRegCountryBankConstants.BANK[this.langId];
5795
+ id = filter.bankId;
5796
+ }
5797
+ const selected = this.userBanks.find(option => option.groupBy === groupBy && option.id === id) ?? this.userBanks[0];
5798
+ if (selected) {
5799
+ this.selectIndex = selected.index;
5800
+ this.tempGroupId = this.selectIndex;
5801
+ }
5802
+ this.filterHead = this.SharedService.setTitles(this.currentUser.ListGroupRegionCountryBank, filter.groupId, filter.regionId, filter.countryId, filter.bankId, this.isInternal);
5803
+ if (this.addGlobal && filter.groupId === -1 && filter.regionId === -1 && filter.countryId === -1 && filter.bankId === -1) {
5804
+ this.filterHead = this.SharedService.getTermTextByCode("LBL_TITLE_GLOBAL");
5805
+ }
5806
+ }
5807
+ showFilter() {
5808
+ return this.userBanks.length > 1 && this.showFilterHead;
5809
+ }
5810
+ /** PrimeNG emite { originalEvent, value } */
5811
+ changeFilter(event) {
5812
+ if (event?.value !== undefined) {
5813
+ this.emitSelectFilter(event.value);
5814
+ }
5815
+ }
5816
+ emitSelectFilter(index) {
5817
+ const titleSelect = this.buildTitleSelect(index);
5818
+ this.filterHead = this.SharedService.setTitles(this.currentUser.ListGroupRegionCountryBank, titleSelect.groupId, titleSelect.regionId, titleSelect.countryId, titleSelect.bankId, this.isInternal);
5819
+ if (this.addGlobal &&
5820
+ (titleSelect.groupId == null || titleSelect.groupId === -1) &&
5821
+ (titleSelect.regionId == null || titleSelect.regionId === -1) &&
5822
+ (titleSelect.countryId == null || titleSelect.countryId === -1) &&
5823
+ (titleSelect.bankId == null || titleSelect.bankId === -1)) {
5824
+ this.filterHead = this.SharedService.getTermTextByCode("LBL_TITLE_GLOBAL");
5825
+ }
5826
+ this.changeCboTitle.emit(titleSelect);
5827
+ }
5828
+ getAllBanks(filter) {
5829
+ let banks = "";
5830
+ const banksFiltered = this.currentUser.ListGroupRegionCountryBank.filter(bank => {
5831
+ let validate = false;
5832
+ switch (filter.groupBy) {
5833
+ case GroupRegCountryBankConstants.GROUP[this.langId]:
5834
+ validate = bank.groupId === filter.id;
5835
+ break;
5836
+ case GroupRegCountryBankConstants.REGION[this.langId]:
5837
+ validate = bank.regionId === filter.id;
5838
+ break;
5839
+ case GroupRegCountryBankConstants.COUNTRY[this.langId]:
5840
+ validate = bank.countryId === filter.id;
5841
+ break;
5842
+ default:
5843
+ validate = bank.bankId === filter.id;
5844
+ break;
5845
+ }
5846
+ return validate || filter.id === GlobalConstants.NUMBER_ALL;
5847
+ });
5848
+ banksFiltered.forEach(b => banks += "|" + b.bankId);
5849
+ return banks.substring(1);
5850
+ }
5851
+ transformNegative(val) {
5852
+ return this.SharedService.TransformNegative(val.toString());
5853
+ }
5854
+ ngOnDestroy() {
5855
+ this.subscription.unsubscribe();
5856
+ }
5857
+ filterBankListAvaliable() {
5858
+ const banksAll = [...this.currentUser.ListGroupRegionCountryBank].filter(item => this.bankIdListAvaliable.includes(item.bankId));
5859
+ this.groupIds = [...new Set(banksAll.map(item => item.groupId))];
5860
+ this.countryIds = [...new Set(banksAll.map(item => item.countryId))];
5861
+ this.regionIds = [...new Set(banksAll.map(item => item.regionId))];
5862
+ this.isFilterAvaliable = true;
5863
+ this.setGroupRegionCountryBankAll();
5864
+ }
5865
+ fillGeneralListFilter(listAll, listIds, column, isFilterAvaliable = false) {
5866
+ return isFilterAvaliable
5867
+ ? [...listAll].filter(item => listIds.includes(item[column === 0 ? "groupId" : column === 1 ? "regionId" : column === 2 ? "countryId" : "bankId"]))
5868
+ : [...listAll];
5869
+ }
5870
+ changeCategories() {
5871
+ this.filterSubCategories = this.subAlterFilterValues.filter(f => f.feeStypId === this.alterFilterValue || this.alterFilterValue === 0);
5872
+ if (this.tempCategoryId !== this.alterFilterValue) {
5873
+ this.subAlterFilterValue = 0;
5874
+ }
5875
+ }
5876
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: TitlesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5877
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.1", type: TitlesComponent, isStandalone: true, selector: "intelica-titles", inputs: { setFilter: "setFilter", title: "title", subTitle: "subTitle", showFilterHead: "showFilterHead", addGlobal: "addGlobal", helperId: "helperId", showAlterFilterHead: "showAlterFilterHead", subShowAlterFilterHead: "subShowAlterFilterHead", alterFilterValues: "alterFilterValues", alterFilterValue: "alterFilterValue", subAlterFilterValues: "subAlterFilterValues", subAlterFilterValue: "subAlterFilterValue", bankIdListAvaliable: "bankIdListAvaliable", isInternal: "isInternal", currentUser: "currentUser" }, outputs: { changeCboTitle: "changeCboTitle", applyFilterClick: "applyFilterClick", clearFilterClick: "clearFilterClick" }, providers: [
5878
+ {
5879
+ provide: NG_VALUE_ACCESSOR,
5880
+ useExisting: forwardRef(() => TitlesComponent),
5881
+ multi: true,
5882
+ },
5883
+ ], usesOnChanges: true, ngImport: i0, template: "<div class=\"cs-client\" [id]=\"helperId\">\r\n <div class=\"client\">\r\n <div class=\"autoLine d-flex\">\r\n <div class=\"position-relative\">\r\n <ng-container *ngIf=\"!showAlterFilterHead\">\r\n <b><span>{{ titlePage }}</span></b>\r\n <b><span *ngIf=\"showFilter()\">&nbsp;- {{ filterHead }}</span></b>\r\n <b><span *ngIf=\"subTitle.length > 0\">&nbsp;- {{ subTitle }}</span></b>\r\n </ng-container>\r\n \r\n <ng-container>\r\n <div class=\"titleDropdown titleDropdown--minHeight\" [ngClass]=\"{ 'is-dropdown': IsTitleDropdownOpen }\">\r\n <div class=\"titleDropdown__toggle\" (click)=\"OnTitleDropdownToggle($event)\">\r\n <div class=\"titleDropdown__label\">\r\n <span class=\"client\">\r\n <b><span class=\"titleCategoryAnalytics\">{{ titlePage }}</span></b>\r\n <b><span *ngIf=\"showFilter()\">&nbsp;- {{ filterHead }}</span></b>\r\n <b><span *ngIf=\"subTitle.length > 0\">&nbsp;- {{ subTitle }}</span></b>\r\n </span>\r\n </div>\r\n <div class=\"titleDropdown__icon\"><i class=\"icon-arrow-down\"></i></div>\r\n </div>\r\n <div class=\"titleDropdown__dropdown\">\r\n <p-accordion class=\"prAccordionTitleDropdown\" [multiple]=\"true\">\r\n\r\n <!-- Panels din\u00E1micos basados en groupValues (Group / Region / Country / Bank) -->\r\n <p-accordion-panel *ngFor=\"let g of groupValues; let gi = index\" [value]=\"gi\">\r\n <p-accordion-header>\r\n <div class=\"accordion-container-header\">{{ g.groupname }}</div>\r\n </p-accordion-header>\r\n \r\n <p-accordion-content>\r\n <div class=\"prRadioButtonGroup\" *ngFor=\"let v of g.values\">\r\n <p-radiobutton\r\n class=\"prRadioButton\"\r\n [inputId]=\"'optSort-' + gi + '-' + v.index\"\r\n [name]=\"'optSort_' + gi\"\r\n [value]=\"v.index\"\r\n [(ngModel)]=\"selectIndex\" />\r\n <label class=\"prRadioButtonLabel\" [for]=\"'optSort-' + gi + '-' + v.index\">\r\n {{ v.name }}\r\n </label>\r\n </div>\r\n </p-accordion-content>\r\n </p-accordion-panel>\r\n \r\n <!-- Category (usa tu alterFilterValues / alterFilterValue) -->\r\n <p-accordion-panel *ngIf=\"alterFilterValues?.length\" value=\"category\">\r\n <p-accordion-header>\r\n <div class=\"accordion-container-header\">{{'LBL_CATEGORY' | term : globalTerms.languageCode}}</div>\r\n </p-accordion-header>\r\n \r\n <p-accordion-content>\r\n <!-- ALL -->\r\n <div class=\"prRadioButtonGroup\">\r\n <p-radiobutton\r\n class=\"prRadioButton\"\r\n inputId=\"cat-all\"\r\n name=\"category\"\r\n [value]=\"0\"\r\n [(ngModel)]=\"alterFilterValue\"\r\n (onClick)=\"changeCategories()\" />\r\n <label class=\"prRadioButtonLabel\" for=\"cat-all\">{{'LBL_ALL' | term : globalTerms.languageCode}}</label>\r\n </div>\r\n \r\n <!-- Lista de categor\u00EDas -->\r\n <div class=\"prRadioButtonGroup\" *ngFor=\"let cat of alterFilterValues\">\r\n <p-radiobutton\r\n class=\"prRadioButton\"\r\n [inputId]=\"'cat-' + cat.feeStypId\"\r\n name=\"category\"\r\n [value]=\"cat.feeStypId\"\r\n [(ngModel)]=\"alterFilterValue\"\r\n (onClick)=\"changeCategories()\" />\r\n <label class=\"prRadioButtonLabel\" [for]=\"'cat-' + cat.feeStypId\">\r\n {{ cat.feeStypDesc }}\r\n </label>\r\n </div>\r\n </p-accordion-content>\r\n </p-accordion-panel>\r\n \r\n <!-- SubCategory (filtrado por changeCategories -> filterSubCategories) -->\r\n <p-accordion-panel *ngIf=\"filterSubCategories?.length\" value=\"subcategory\">\r\n <p-accordion-header>\r\n <div class=\"accordion-container-header\">{{'LBL_SUBCATEGORY' | term : globalTerms.languageCode}}</div>\r\n </p-accordion-header>\r\n \r\n <p-accordion-content>\r\n <!-- ALL -->\r\n <div class=\"prRadioButtonGroup\">\r\n <p-radiobutton\r\n class=\"prRadioButton\"\r\n inputId=\"subcat-all\"\r\n name=\"subcategory\"\r\n [value]=\"0\"\r\n [(ngModel)]=\"subAlterFilterValue\" />\r\n <label class=\"prRadioButtonLabel\" for=\"subcat-all\">{{'LBL_ALL' | term : globalTerms.languageCode}}</label>\r\n </div>\r\n \r\n <!-- Lista subcategor\u00EDas filtradas -->\r\n <div class=\"prRadioButtonGroup\" *ngFor=\"let sub of filterSubCategories\">\r\n <p-radiobutton\r\n class=\"prRadioButton\"\r\n [inputId]=\"'sub-' + sub.feeStypSubId\"\r\n name=\"subcategory\"\r\n [value]=\"sub.feeStypSubId\"\r\n [(ngModel)]=\"subAlterFilterValue\" />\r\n <label class=\"prRadioButtonLabel\" [for]=\"'sub-' + sub.feeStypSubId\">\r\n {{ sub.feeStypSubDesc }}\r\n </label>\r\n </div>\r\n </p-accordion-content>\r\n </p-accordion-panel>\r\n \r\n </p-accordion>\r\n \r\n <div class=\"titleDropdown__action\">\r\n <div class=\"btnBox btnBox--center\">\r\n <p-button class=\"prButton prButton--primary\" label=\"Apply\" severity=\"primary\" (click)=\"ApplyFilter()\" />\r\n <p-button class=\"prButton prButton--primary\" label=\"Clear\" severity=\"secondary\" (click)=\"ClearFilter()\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"d-flex\">\r\n <span class=\"range mt-1\"><ng-content></ng-content></span>\r\n </div>\r\n </div>\r\n ", styles: [".range{font-size:12px;color:var(--main-blue)}.client{font-size:14px;color:var(--main-blue)}.midLine{top:-3px;height:20px;width:105%;position:absolute;padding:0}.contentSelections{padding:16px;max-height:370px;overflow:auto}.contentSelections hr{margin:10px 0 0}.form-check label{font-size:11px;margin-left:2px}.subtitleSelections{font-size:12px;color:var(--main-blue);display:block;font-weight:700}.listOperators{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr}.containerDropDown{border:.5px solid var(--main-gray)}.listOperators>div{padding-right:15px}.listOperators>div:nth-child(2n){padding-right:0}.contentBoxSection{margin-top:12px}.contentBoxSection:first-child{margin-top:0}.dropdown-toggle i{font-size:9px;margin-left:5px}.border-gray-bottom{border-bottom:1px solid gray;display:block;margin-top:16px}.cs-DataArea .cs-client{margin-top:10px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "pipe", type: TermPipe, name: "term" }, { kind: "ngmodule", type: OverlayPanelModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i2.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: AccordionModule }, { kind: "component", type: i4$2.Accordion, selector: "p-accordion", inputs: ["value", "multiple", "style", "styleClass", "expandIcon", "collapseIcon", "selectOnFocus", "transitionOptions", "activeIndex", "headerAriaLevel"], outputs: ["valueChange", "activeIndexChange", "onClose", "onOpen"] }, { kind: "component", type: i4$2.AccordionPanel, selector: "p-accordion-panel, p-accordionpanel", inputs: ["value", "disabled"], outputs: ["valueChange"] }, { kind: "component", type: i4$2.AccordionHeader, selector: "p-accordion-header, p-accordionheader" }, { kind: "component", type: i4$2.AccordionContent, selector: "p-accordion-content, p-accordioncontent" }, { kind: "ngmodule", type: PopoverModule }, { kind: "ngmodule", type: RadioButtonModule }, { kind: "component", type: i3.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"] }] });
5884
+ }
5885
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: TitlesComponent, decorators: [{
5886
+ type: Component,
5887
+ args: [{ selector: "intelica-titles", providers: [
5888
+ {
5889
+ provide: NG_VALUE_ACCESSOR,
5890
+ useExisting: forwardRef(() => TitlesComponent),
5891
+ multi: true,
5892
+ },
5893
+ ], imports: [
5894
+ CommonModule,
5895
+ FormsModule,
5896
+ DropdownModule,
5897
+ TermPipe,
5898
+ OverlayPanelModule,
5899
+ ButtonModule,
5900
+ NgIf,
5901
+ AccordionModule,
5902
+ PopoverModule,
5903
+ RadioButtonModule,
5904
+ ], template: "<div class=\"cs-client\" [id]=\"helperId\">\r\n <div class=\"client\">\r\n <div class=\"autoLine d-flex\">\r\n <div class=\"position-relative\">\r\n <ng-container *ngIf=\"!showAlterFilterHead\">\r\n <b><span>{{ titlePage }}</span></b>\r\n <b><span *ngIf=\"showFilter()\">&nbsp;- {{ filterHead }}</span></b>\r\n <b><span *ngIf=\"subTitle.length > 0\">&nbsp;- {{ subTitle }}</span></b>\r\n </ng-container>\r\n \r\n <ng-container>\r\n <div class=\"titleDropdown titleDropdown--minHeight\" [ngClass]=\"{ 'is-dropdown': IsTitleDropdownOpen }\">\r\n <div class=\"titleDropdown__toggle\" (click)=\"OnTitleDropdownToggle($event)\">\r\n <div class=\"titleDropdown__label\">\r\n <span class=\"client\">\r\n <b><span class=\"titleCategoryAnalytics\">{{ titlePage }}</span></b>\r\n <b><span *ngIf=\"showFilter()\">&nbsp;- {{ filterHead }}</span></b>\r\n <b><span *ngIf=\"subTitle.length > 0\">&nbsp;- {{ subTitle }}</span></b>\r\n </span>\r\n </div>\r\n <div class=\"titleDropdown__icon\"><i class=\"icon-arrow-down\"></i></div>\r\n </div>\r\n <div class=\"titleDropdown__dropdown\">\r\n <p-accordion class=\"prAccordionTitleDropdown\" [multiple]=\"true\">\r\n\r\n <!-- Panels din\u00E1micos basados en groupValues (Group / Region / Country / Bank) -->\r\n <p-accordion-panel *ngFor=\"let g of groupValues; let gi = index\" [value]=\"gi\">\r\n <p-accordion-header>\r\n <div class=\"accordion-container-header\">{{ g.groupname }}</div>\r\n </p-accordion-header>\r\n \r\n <p-accordion-content>\r\n <div class=\"prRadioButtonGroup\" *ngFor=\"let v of g.values\">\r\n <p-radiobutton\r\n class=\"prRadioButton\"\r\n [inputId]=\"'optSort-' + gi + '-' + v.index\"\r\n [name]=\"'optSort_' + gi\"\r\n [value]=\"v.index\"\r\n [(ngModel)]=\"selectIndex\" />\r\n <label class=\"prRadioButtonLabel\" [for]=\"'optSort-' + gi + '-' + v.index\">\r\n {{ v.name }}\r\n </label>\r\n </div>\r\n </p-accordion-content>\r\n </p-accordion-panel>\r\n \r\n <!-- Category (usa tu alterFilterValues / alterFilterValue) -->\r\n <p-accordion-panel *ngIf=\"alterFilterValues?.length\" value=\"category\">\r\n <p-accordion-header>\r\n <div class=\"accordion-container-header\">{{'LBL_CATEGORY' | term : globalTerms.languageCode}}</div>\r\n </p-accordion-header>\r\n \r\n <p-accordion-content>\r\n <!-- ALL -->\r\n <div class=\"prRadioButtonGroup\">\r\n <p-radiobutton\r\n class=\"prRadioButton\"\r\n inputId=\"cat-all\"\r\n name=\"category\"\r\n [value]=\"0\"\r\n [(ngModel)]=\"alterFilterValue\"\r\n (onClick)=\"changeCategories()\" />\r\n <label class=\"prRadioButtonLabel\" for=\"cat-all\">{{'LBL_ALL' | term : globalTerms.languageCode}}</label>\r\n </div>\r\n \r\n <!-- Lista de categor\u00EDas -->\r\n <div class=\"prRadioButtonGroup\" *ngFor=\"let cat of alterFilterValues\">\r\n <p-radiobutton\r\n class=\"prRadioButton\"\r\n [inputId]=\"'cat-' + cat.feeStypId\"\r\n name=\"category\"\r\n [value]=\"cat.feeStypId\"\r\n [(ngModel)]=\"alterFilterValue\"\r\n (onClick)=\"changeCategories()\" />\r\n <label class=\"prRadioButtonLabel\" [for]=\"'cat-' + cat.feeStypId\">\r\n {{ cat.feeStypDesc }}\r\n </label>\r\n </div>\r\n </p-accordion-content>\r\n </p-accordion-panel>\r\n \r\n <!-- SubCategory (filtrado por changeCategories -> filterSubCategories) -->\r\n <p-accordion-panel *ngIf=\"filterSubCategories?.length\" value=\"subcategory\">\r\n <p-accordion-header>\r\n <div class=\"accordion-container-header\">{{'LBL_SUBCATEGORY' | term : globalTerms.languageCode}}</div>\r\n </p-accordion-header>\r\n \r\n <p-accordion-content>\r\n <!-- ALL -->\r\n <div class=\"prRadioButtonGroup\">\r\n <p-radiobutton\r\n class=\"prRadioButton\"\r\n inputId=\"subcat-all\"\r\n name=\"subcategory\"\r\n [value]=\"0\"\r\n [(ngModel)]=\"subAlterFilterValue\" />\r\n <label class=\"prRadioButtonLabel\" for=\"subcat-all\">{{'LBL_ALL' | term : globalTerms.languageCode}}</label>\r\n </div>\r\n \r\n <!-- Lista subcategor\u00EDas filtradas -->\r\n <div class=\"prRadioButtonGroup\" *ngFor=\"let sub of filterSubCategories\">\r\n <p-radiobutton\r\n class=\"prRadioButton\"\r\n [inputId]=\"'sub-' + sub.feeStypSubId\"\r\n name=\"subcategory\"\r\n [value]=\"sub.feeStypSubId\"\r\n [(ngModel)]=\"subAlterFilterValue\" />\r\n <label class=\"prRadioButtonLabel\" [for]=\"'sub-' + sub.feeStypSubId\">\r\n {{ sub.feeStypSubDesc }}\r\n </label>\r\n </div>\r\n </p-accordion-content>\r\n </p-accordion-panel>\r\n \r\n </p-accordion>\r\n \r\n <div class=\"titleDropdown__action\">\r\n <div class=\"btnBox btnBox--center\">\r\n <p-button class=\"prButton prButton--primary\" label=\"Apply\" severity=\"primary\" (click)=\"ApplyFilter()\" />\r\n <p-button class=\"prButton prButton--primary\" label=\"Clear\" severity=\"secondary\" (click)=\"ClearFilter()\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"d-flex\">\r\n <span class=\"range mt-1\"><ng-content></ng-content></span>\r\n </div>\r\n </div>\r\n ", styles: [".range{font-size:12px;color:var(--main-blue)}.client{font-size:14px;color:var(--main-blue)}.midLine{top:-3px;height:20px;width:105%;position:absolute;padding:0}.contentSelections{padding:16px;max-height:370px;overflow:auto}.contentSelections hr{margin:10px 0 0}.form-check label{font-size:11px;margin-left:2px}.subtitleSelections{font-size:12px;color:var(--main-blue);display:block;font-weight:700}.listOperators{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr}.containerDropDown{border:.5px solid var(--main-gray)}.listOperators>div{padding-right:15px}.listOperators>div:nth-child(2n){padding-right:0}.contentBoxSection{margin-top:12px}.contentBoxSection:first-child{margin-top:0}.dropdown-toggle i{font-size:9px;margin-left:5px}.border-gray-bottom{border-bottom:1px solid gray;display:block;margin-top:16px}.cs-DataArea .cs-client{margin-top:10px}\n"] }]
5905
+ }], ctorParameters: () => [], propDecorators: { setFilter: [{
5906
+ type: Input
5907
+ }], title: [{
5908
+ type: Input
5909
+ }], subTitle: [{
5910
+ type: Input
5911
+ }], showFilterHead: [{
5912
+ type: Input
5913
+ }], addGlobal: [{
5914
+ type: Input
5915
+ }], helperId: [{
5916
+ type: Input
5917
+ }], changeCboTitle: [{
5918
+ type: Output
5919
+ }], showAlterFilterHead: [{
5920
+ type: Input
5921
+ }], subShowAlterFilterHead: [{
5922
+ type: Input
5923
+ }], alterFilterValues: [{
5924
+ type: Input
5925
+ }], alterFilterValue: [{
5926
+ type: Input
5927
+ }], subAlterFilterValues: [{
5928
+ type: Input
5929
+ }], subAlterFilterValue: [{
5930
+ type: Input
5931
+ }], bankIdListAvaliable: [{
5932
+ type: Input
5933
+ }], isInternal: [{
5934
+ type: Input
5935
+ }], currentUser: [{
5936
+ type: Input
5937
+ }], applyFilterClick: [{
5938
+ type: Output
5939
+ }], clearFilterClick: [{
5940
+ type: Output
5941
+ }] } });
5942
+
5351
5943
  class CheckboxFilterDirective extends FilterDirective {
5352
5944
  constructor() {
5353
5945
  super(FilterTypeEnum.Checkbox);
@@ -9190,5 +9782,5 @@ const IntelicaTheme = definePreset(Aura, {
9190
9782
  * Generated bundle index. Do not edit.
9191
9783
  */
9192
9784
 
9193
- export { ActionDirective, ActionsMenuComponent, ButtonSplitComponent, CheckboxFilterDirective, Color, ColumnComponent, ColumnGroupComponent, CompareByField, ConfigService, CookieAttributesGeneral, DataDirective, DateFilterDirective, DateModeOptions, DynamicInputValidation, EchartComponent, EchartService, ElementService, EmailInputValidation, ErrorInterceptor, FeatureFlagService, FilterChipsComponent, FiltersComponent, FormatAmountPipe, GetCookieAttributes, GlobalFeatureFlagService, GlobalTermService, HtmlToExcelService, InitializeConfigService, InputValidation, IntelicaCellCheckboxDirective, IntelicaTheme, ItemSplitDirective, LanguageService, MatrixColumnComponent, MatrixColumnGroupComponent, MatrixTableComponent, ModalDialogComponent, MultiSelectComponent, OrderConstants, PaginatorComponent, Patterns, PopoverComponent, ProfileService, RecordPerPageComponent, RefreshTokenInterceptor, RouteGuard, RowResumenComponent, RowResumenTreeComponent, SearchComponent, SelectDetailFilterDirective, SelectFilterDirective, SharedService, SkeletonChartComponent, SkeletonComponent, SkeletonService, SkeletonTableComponent, SortingComponent, SpinnerComponent, SpinnerService, SweetAlertService, TableComponent, TableFetchComponent, TableSortOrder, TemplateDirective, TemplateMenuComponent, TermGuard, TermPipe, TermService, TextAreaFilterDirective, TextFilterDirective, TextRangeFilterDirective, TreeColumnComponent, TreeColumnGroupComponent, TreeTableComponent, TruncatePipe, decryptData, encryptData, getColor };
9785
+ export { ActionDirective, ActionsMenuComponent, ButtonSplitComponent, CheckboxFilterDirective, Color, ColumnComponent, ColumnGroupComponent, CompareByField, ConfigService, CookieAttributesGeneral, DataDirective, DateFilterDirective, DateModeOptions, DynamicInputValidation, EchartComponent, EchartService, ElementService, EmailInputValidation, ErrorInterceptor, FeatureFlagService, FilterChipsComponent, FiltersComponent, FormatAmountPipe, GetCookieAttributes, GlobalFeatureFlagService, GlobalTermService, HtmlToExcelService, InitializeConfigService, InputValidation, IntelicaCellCheckboxDirective, IntelicaTheme, ItemSplitDirective, LanguageService, MatrixColumnComponent, MatrixColumnGroupComponent, MatrixTableComponent, ModalDialogComponent, MultiSelectComponent, OrderConstants, PaginatorComponent, Patterns, PopoverComponent, ProfileService, RecordPerPageComponent, RefreshTokenInterceptor, RouteGuard, RowResumenComponent, RowResumenTreeComponent, SearchComponent, SelectDetailFilterDirective, SelectFilterDirective, SharedService, SkeletonChartComponent, SkeletonComponent, SkeletonService, SkeletonTableComponent, SortingComponent, SpinnerComponent, SpinnerService, SweetAlertService, TableComponent, TableFetchComponent, TableSortOrder, TemplateDirective, TemplateMenuComponent, TermGuard, TermPipe, TermService, TextAreaFilterDirective, TextFilterDirective, TextRangeFilterDirective, TitlesComponent, TreeColumnComponent, TreeColumnGroupComponent, TreeTableComponent, TruncatePipe, decryptData, encryptData, getColor };
9194
9786
  //# sourceMappingURL=intelica-library-ui.mjs.map