@annalib/anna-core 0.0.4 → 1.0.0

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.
Files changed (57) hide show
  1. package/esm2020/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.mjs +1 -1
  2. package/esm2020/lib/anna-core-shared-lib/models/anna-sort.model.mjs +2 -0
  3. package/esm2020/lib/anna-core-shared-lib/models/anna-tooltip.model.mjs +5 -3
  4. package/esm2020/lib/anna-core-shared-lib/public-api.mjs +2 -1
  5. package/esm2020/lib/anna-core-shared-lib/services/anna-filter.service.mjs +111 -59
  6. package/esm2020/lib/anna-core-shared-lib/services/anna-generic-table.service.mjs +4 -8
  7. package/esm2020/lib/anna-core-shared-lib/services/anna-sort.service.mjs +83 -123
  8. package/esm2020/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.mjs +26 -12
  9. package/esm2020/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.mjs +737 -336
  10. package/esm2020/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.mjs +38 -108
  11. package/esm2020/src/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.mjs +1 -1
  12. package/esm2020/src/lib/anna-core-shared-lib/models/anna-sort.model.mjs +2 -0
  13. package/esm2020/src/lib/anna-core-shared-lib/models/anna-tooltip.model.mjs +5 -3
  14. package/esm2020/src/lib/anna-core-shared-lib/public-api.mjs +2 -1
  15. package/esm2020/src/lib/anna-core-shared-lib/services/anna-filter.service.mjs +111 -59
  16. package/esm2020/src/lib/anna-core-shared-lib/services/anna-generic-table.service.mjs +4 -8
  17. package/esm2020/src/lib/anna-core-shared-lib/services/anna-sort.service.mjs +83 -123
  18. package/esm2020/src/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.mjs +26 -12
  19. package/esm2020/src/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.mjs +737 -336
  20. package/esm2020/src/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.mjs +38 -108
  21. package/fesm2015/annalib-anna-core-src-lib-anna-core-shared-lib.mjs +232 -219
  22. package/fesm2015/annalib-anna-core-src-lib-anna-core-shared-lib.mjs.map +1 -1
  23. package/fesm2015/annalib-anna-core-src-lib-anna-dropdown-lib.mjs +22 -10
  24. package/fesm2015/annalib-anna-core-src-lib-anna-dropdown-lib.mjs.map +1 -1
  25. package/fesm2015/annalib-anna-core-src-lib-anna-generic-table-lib.mjs +772 -437
  26. package/fesm2015/annalib-anna-core-src-lib-anna-generic-table-lib.mjs.map +1 -1
  27. package/fesm2015/annalib-anna-core.mjs +1024 -664
  28. package/fesm2015/annalib-anna-core.mjs.map +1 -1
  29. package/fesm2020/annalib-anna-core-src-lib-anna-core-shared-lib.mjs +232 -219
  30. package/fesm2020/annalib-anna-core-src-lib-anna-core-shared-lib.mjs.map +1 -1
  31. package/fesm2020/annalib-anna-core-src-lib-anna-dropdown-lib.mjs +22 -10
  32. package/fesm2020/annalib-anna-core-src-lib-anna-dropdown-lib.mjs.map +1 -1
  33. package/fesm2020/annalib-anna-core-src-lib-anna-generic-table-lib.mjs +772 -437
  34. package/fesm2020/annalib-anna-core-src-lib-anna-generic-table-lib.mjs.map +1 -1
  35. package/fesm2020/annalib-anna-core.mjs +1024 -664
  36. package/fesm2020/annalib-anna-core.mjs.map +1 -1
  37. package/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.d.ts +8 -8
  38. package/lib/anna-core-shared-lib/models/anna-sort.model.d.ts +6 -0
  39. package/lib/anna-core-shared-lib/models/anna-tooltip.model.d.ts +4 -2
  40. package/lib/anna-core-shared-lib/public-api.d.ts +1 -0
  41. package/lib/anna-core-shared-lib/services/anna-filter.service.d.ts +17 -5
  42. package/lib/anna-core-shared-lib/services/anna-generic-table.service.d.ts +1 -1
  43. package/lib/anna-core-shared-lib/services/anna-sort.service.d.ts +5 -14
  44. package/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.d.ts +7 -4
  45. package/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.d.ts +36 -16
  46. package/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.d.ts +9 -22
  47. package/package.json +1 -1
  48. package/src/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.d.ts +8 -8
  49. package/src/lib/anna-core-shared-lib/models/anna-sort.model.d.ts +6 -0
  50. package/src/lib/anna-core-shared-lib/models/anna-tooltip.model.d.ts +4 -2
  51. package/src/lib/anna-core-shared-lib/public-api.d.ts +1 -0
  52. package/src/lib/anna-core-shared-lib/services/anna-filter.service.d.ts +17 -5
  53. package/src/lib/anna-core-shared-lib/services/anna-generic-table.service.d.ts +1 -1
  54. package/src/lib/anna-core-shared-lib/services/anna-sort.service.d.ts +5 -14
  55. package/src/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.d.ts +7 -4
  56. package/src/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.d.ts +36 -16
  57. package/src/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.d.ts +9 -22
@@ -474,7 +474,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
474
474
  }]
475
475
  }], ctorParameters: function () { return []; } });
476
476
 
477
- class tooltipModel {
477
+ class TooltipModel {
478
478
  constructor(obj) {
479
479
  this.data = obj;
480
480
  this.isSelected = false;
@@ -488,9 +488,11 @@ class tooltipModelForColumnLevelFiltering {
488
488
  }
489
489
  }
490
490
  class radioButtonModel {
491
- constructor(key, value) {
491
+ constructor(key, value, sort, filter) {
492
492
  this.key = key;
493
493
  this.label = value;
494
+ this.isSortRequired = sort;
495
+ this.isFilterRequired = filter;
494
496
  }
495
497
  }
496
498
  var AllSelectedStatus;
@@ -506,6 +508,7 @@ class AnnaFilterService {
506
508
  this.tooltipMap = new Map();
507
509
  this.tooltipSelectedMap = new Map();
508
510
  this.appliedFiltersArray = [];
511
+ this.sliderCurrencySet = new Set(["booked", "cpp", "cpm", "rcvPreempt", "osPreempt", "postedAdu", "scheduledAdu", "audienceDeficit", "Rate"]);
509
512
  this.percentTranslateFunction = (data) => {
510
513
  const val = data.toFixed(1) + "%";
511
514
  return val;
@@ -562,7 +565,7 @@ class AnnaFilterService {
562
565
  ];
563
566
  const calendarArr = ["period", "AirDate", "flightStartDate", "flightEndDate", "date", "startDate", "endDate"];
564
567
  const timeArr = ["StartTimeForFilter", "EndTimeForFilter",
565
- "start_time_for_filter", "end_time_for_filter", "startEndTimeMulti"];
568
+ "start_time_for_filter", "end_time_for_filter", "startEndTimeMulti", "startEndTime"];
566
569
  this.sliderSet = new Set(sliderArr);
567
570
  this.calendarSet = new Set(calendarArr);
568
571
  this.timeSet = new Set(timeArr);
@@ -580,19 +583,15 @@ class AnnaFilterService {
580
583
  let maxDate = moment.max(DateArr);
581
584
  return [minDate, maxDate];
582
585
  }
583
- isTooltipActive(header) {
586
+ isTooltipActive(header, sortMap) {
584
587
  let set = new Set(this.appliedFiltersArray);
585
- return (set.has(header[0])) || (set.has(header[1]));
588
+ if (header.length == 1) {
589
+ return ((sortMap.size > 0 && sortMap.get(header[0]) != "DEFAULT") || set.has(header[0]));
590
+ }
591
+ return ((sortMap.size > 0 && sortMap.get(header[0]) != "DEFAULT") || (sortMap.size > 0 && sortMap.get(header[1]) != "DEFAULT") || set.has(header[0]) || set.has(header[1]));
586
592
  }
587
593
  clearColumnFilter() {
588
594
  this.tooltipSelectedMap.delete(this.selectedRadio);
589
- if (this.tooltipMap.has(this.selectedRadio)) {
590
- this.tooltipMap.delete(this.selectedRadio);
591
- }
592
- if (this.selectedRadio === "postedAdu") {
593
- this.subRadioButton = "required";
594
- this.tooltipSelectedMap.delete("isAudRequired");
595
- }
596
595
  let appliedFilterSet = new Set(this.appliedFiltersArray);
597
596
  appliedFilterSet.delete(this.selectedRadio);
598
597
  this.appliedFiltersArray = [...appliedFilterSet];
@@ -636,7 +635,9 @@ class AnnaFilterService {
636
635
  setOptionValues(minValue, maxValue) {
637
636
  return {
638
637
  floor: minValue,
639
- ceil: maxValue
638
+ ceil: maxValue,
639
+ disabled: true,
640
+ translate: this.normalTranslateFunction
640
641
  };
641
642
  }
642
643
  populateTooltip(selectedColumnName, completeData, filteredData) {
@@ -668,7 +669,7 @@ class AnnaFilterService {
668
669
  else {
669
670
  //get the unique values from the column and save it in the map
670
671
  this.selectedRadio = value[0];
671
- const data = sortBy(originalData.map((u) => u[this.selectedRadio])).filter(n => n !== null); //sorting the data in alphabetical order
672
+ const data = sortBy(originalData.map((u) => u[this.selectedRadio])).filter((n) => n !== null); //sorting the data in alphabetical order
672
673
  const dataSet = new Set(data); //created a set from the data
673
674
  const toolTipdata = [...dataSet].map((x) => new tooltipModelForColumnLevelFiltering(x));
674
675
  this.tooltipMap.set(value[0], toolTipdata); //setting the key value pair in the tooltipMap
@@ -850,40 +851,25 @@ class AnnaFilterService {
850
851
  this.appliedFiltersArray = [...set];
851
852
  }
852
853
  filterData(originalData, keyToSkip) {
853
- let filteredData = originalData;
854
+ let filteredData = [...originalData];
854
855
  this.tooltipSelectedMap.forEach((value, key) => {
855
856
  if (key != keyToSkip) {
856
857
  if (this.sliderSet.has(key)) {
857
858
  filteredData = filteredData.filter((obj) => obj[key] >= value.min && obj[key] <= value.max);
858
859
  }
859
- else if (key === "startDate" || key === "endDate") {
860
- filteredData = filteredData.filter((obj) => this.returnOrdersInTheRange(obj, value, key));
860
+ else if (key === "startDate" || key === "endDate" || key === "AirDate" || key === "flightStartDate" || key === "flightEndDate" || key == "date") {
861
+ filteredData = filteredData.filter((obj) => this.isObjectInTheRange(obj, value, key));
861
862
  }
862
- else if (key === "period" || key === "AirDate" || key === "flightStartDate" || key === "flightEndDate" || key == "date") {
863
+ else if (key === "period") {
863
864
  filteredData = filteredData.filter((obj) => this.getDataInTheDateRange(obj, value, key));
864
865
  }
865
866
  else if (key === "StartTimeForFilter" || key === "EndTimeForFilter"
866
867
  || key === "start_time_for_filter" || key === "end_time_for_filter") {
867
868
  filteredData = filteredData.filter((obj) => this.returnDataForFromAndToTimeRange(obj, value, key));
868
869
  }
869
- else if (key === "startEndTimeMulti") {
870
+ else if (key === "startEndTimeMulti" || key == "startEndTime" || key === "TimeBand") {
870
871
  filteredData = filteredData.filter((obj) => this.returnDataForStartAndEndTimeRange(obj, value, key));
871
872
  }
872
- else if (key === "startEndTime" || key === "TimeBand") {
873
- let filteredMulti = [];
874
- let filteredZero = [];
875
- let filteredTimeRange = [];
876
- if (this.includeTimeRange) {
877
- filteredTimeRange = filteredData.filter((obj) => this.returnDataForTimeRange(obj, value));
878
- }
879
- if (this.includeMultiTime) {
880
- filteredMulti = filteredData.filter((obj) => obj[key][0] == "<multi>");
881
- }
882
- if (this.includeZeroTime) {
883
- filteredZero = filteredData.filter((obj) => obj[key][0] == "0");
884
- }
885
- filteredData = [...filteredMulti, ...filteredZero, ...filteredTimeRange];
886
- }
887
873
  else if (value.length > 0) {
888
874
  filteredData = filteredData.filter((u) => value.includes(u[key]));
889
875
  }
@@ -920,28 +906,35 @@ class AnnaFilterService {
920
906
  if (["", "-", null].includes(objTime)) {
921
907
  return false;
922
908
  }
923
- if (this.includeMultiTime && obj[key] == "<multi>") {
909
+ if (selectedData.includeMulti && obj[key] == "<multi>") {
924
910
  return true;
925
911
  }
926
- if (!this.includeMultiTime && obj[key] == "<multi>") {
912
+ if (!selectedData.includeMulti && obj[key] == "<multi>") {
927
913
  return false;
928
914
  }
929
- if (this.includeZeroTime && obj[key] == "0") {
915
+ if (selectedData.includeZero && obj[key] == "0") {
930
916
  return true;
931
917
  }
932
- if (!this.includeZeroTime && obj[key] == "0") {
918
+ if (!selectedData.includeZero && obj[key] == "0") {
933
919
  return false;
934
920
  }
935
- if (!this.includeTimeRange) {
921
+ if (!selectedData.includeTimeRange) {
936
922
  return false;
937
923
  }
938
- objTime = this.dateTimeFormatService.formatToTwelveHrs(objTime, true);
939
- objTime = this.dateTimeFormatService.convertTotwentyFourHrsFormat(objTime[0] + ":" + objTime[1] + " " + objTime[2], true);
940
- objTime = objTime[0] + ":" + objTime[1] + ":00";
941
- objTime = moment(objTime, format);
942
- let isObjTimeSameAsSelectedFromTime = objTime.isSame(selectedFromTime);
943
- let isObjTimeSameAsSelectedToTime = objTime.isSame(selectedToTime);
944
- let isObjTimeBetweenSelectedFromTimeAndToTime = objTime.isBetween(selectedFromTime, selectedToTime);
924
+ // objTime = this.dateTimeFormatService.formatToTwelveHrs(objTime, true);
925
+ // objTime = this.dateTimeFormatService.convertTotwentyFourHrsFormat(
926
+ // objTime[0] + ":" + objTime[1] + " " + objTime[2],
927
+ // true
928
+ // );
929
+ // objTime = objTime[0] + ":" + objTime[1] + ":00";
930
+ // objTime = moment(objTime, format);
931
+ let momentTime = moment(objTime, format);
932
+ console.log(momentTime);
933
+ console.log(selectedFromTime);
934
+ console.log(selectedToTime);
935
+ let isObjTimeSameAsSelectedFromTime = momentTime.isSame(selectedFromTime);
936
+ let isObjTimeSameAsSelectedToTime = momentTime.isSame(selectedToTime);
937
+ let isObjTimeBetweenSelectedFromTimeAndToTime = momentTime.isBetween(selectedFromTime, selectedToTime);
945
938
  return (isObjTimeSameAsSelectedFromTime ||
946
939
  isObjTimeSameAsSelectedToTime ||
947
940
  isObjTimeBetweenSelectedFromTimeAndToTime);
@@ -950,20 +943,19 @@ class AnnaFilterService {
950
943
  let format = "HH:mm:ss";
951
944
  let selectedFromTime = moment(selectedData.fromTime, format);
952
945
  let selectedToTime = moment(selectedData.toTime, format);
953
- let objTime = obj[key];
954
- if (this.includeMultiTime && obj[key][0] == "<multi>") {
946
+ if (selectedData.includeMulti && obj[key][0] == "<multi>") {
955
947
  return true;
956
948
  }
957
- if (!this.includeMultiTime && obj[key][0] == "<multi>") {
949
+ if (!selectedData.includeMulti && obj[key][0] == "<multi>") {
958
950
  return false;
959
951
  }
960
- if (this.includeZeroTime && obj[key][0] == "0") {
952
+ if (selectedData.includeZero && obj[key][0] == "0") {
961
953
  return true;
962
954
  }
963
- if (!this.includeZeroTime && obj[key][0] == "0") {
955
+ if (!selectedData.includeZero && obj[key][0] == "0") {
964
956
  return false;
965
957
  }
966
- if (!this.includeTimeRange) {
958
+ if (!selectedData.includeTimeRange) {
967
959
  return false;
968
960
  }
969
961
  let startTime = moment(obj[key][1], format);
@@ -981,10 +973,13 @@ class AnnaFilterService {
981
973
  let parsingFormat;
982
974
  if (key === "period") {
983
975
  parsingFormat = "YYYY-MM-DD";
984
- let startDateIsBetweenSelDate = moment(obj.startDate, parsingFormat).isBetween(value.minSelectedDate, value.maxSelectedDate);
985
- let endDateIsBetweenSelDate = moment(obj.endDate, parsingFormat).isBetween(value.minSelectedDate, value.maxSelectedDate);
986
- let startDateIsSameAsSelStartDate = moment(obj.startDate, parsingFormat).isSame(value.minSelectedDate);
987
- let endDateIsSameAsSelEndDate = moment(obj.endDate, parsingFormat).isSame(value.maxSelectedDate);
976
+ let momentStartDate = moment(obj.startDate);
977
+ let momentEndDate = moment(obj.endDate);
978
+ let startDateIsBetweenSelDate = momentStartDate.isBetween(value.fromDate, value.toDate);
979
+ let endDateIsBetweenSelDate = momentEndDate.isBetween(value.fromDate, value.toDate);
980
+ console.log(moment(obj.startDate, parsingFormat));
981
+ let startDateIsSameAsSelStartDate = value.fromDate.isSame(momentStartDate);
982
+ let endDateIsSameAsSelEndDate = value.toDate.isSame(momentEndDate);
988
983
  return ((startDateIsBetweenSelDate || startDateIsSameAsSelStartDate) &&
989
984
  (endDateIsBetweenSelDate || endDateIsSameAsSelEndDate));
990
985
  }
@@ -995,8 +990,6 @@ class AnnaFilterService {
995
990
  let dateIsSameAsSelEndDate = moment(obj[key], parsingFormat).isSame(value.maxSelectedDate);
996
991
  return dateIsBetweenSelDate || dateIsSameAsSelStartDate || dateIsSameAsSelEndDate;
997
992
  }
998
- else {
999
- }
1000
993
  }
1001
994
  initializeTimeFilterData(clonedData, key = "startEndTime") {
1002
995
  let startTimeArr = map(clonedData, "startTime");
@@ -1013,8 +1006,69 @@ class AnnaFilterService {
1013
1006
  };
1014
1007
  this.initialValueMap.set(key, initialStartEndTime);
1015
1008
  }
1016
- returnColumnFilterStatus(data, headername) {
1017
- return uniq(data.map((u) => u[headername])).length > 1 ? false : true;
1009
+ returnColumnFilterStatus(data, headerName) {
1010
+ if (headerName == "startEndTime") {
1011
+ let time = data.map(u => u[headerName][0]);
1012
+ let uniqTime = uniq(time);
1013
+ return uniqTime.length == 0;
1014
+ }
1015
+ return uniq(data.map((u) => u[headerName])).length > 1 ? false : true;
1016
+ }
1017
+ getFilterOptionsData(data, clonedData) {
1018
+ let appliedFilterSet = new Set(this.appliedFiltersArray);
1019
+ console.log("appliedFilterSet");
1020
+ console.log(appliedFilterSet);
1021
+ if (appliedFilterSet.has(this.selectedRadio)) {
1022
+ return this.filterData(clonedData, this.selectedRadio);
1023
+ }
1024
+ else {
1025
+ return data;
1026
+ }
1027
+ }
1028
+ reOrderAppliedFiltersState(clonedData, value) {
1029
+ let isFiltered = true;
1030
+ isFiltered = this.checkIfFilterIsApplied(clonedData, value);
1031
+ this.removeOrChangeLatestFilterIndex(isFiltered);
1032
+ return isFiltered;
1033
+ }
1034
+ checkIfFilterIsApplied(clonedData, value) {
1035
+ let initialValueOfColumn = sortBy(clonedData.map(item => item[this.selectedRadio]));
1036
+ let currentValueOfColumn = sortBy(this.applyFilter(clonedData, value).map(item => item[this.selectedRadio]));
1037
+ return !isEqual(initialValueOfColumn, currentValueOfColumn);
1038
+ }
1039
+ applyFilter(data, value) {
1040
+ let filteredData = data;
1041
+ let key = this.selectedRadio;
1042
+ if (this.sliderSet.has(key)) {
1043
+ filteredData = filteredData.filter((obj) => obj[key] >= value.min && obj[key] <= value.max);
1044
+ }
1045
+ else if (key === "startDate" || key === "endDate" || key === "AirDate" || key === "flightStartDate" || key === "flightEndDate" || key == "date") {
1046
+ filteredData = filteredData.filter((obj) => this.isObjectInTheRange(obj, value, key));
1047
+ }
1048
+ else if (key === "period") {
1049
+ filteredData = filteredData.filter((obj) => this.getDataInTheDateRange(obj, value, key));
1050
+ }
1051
+ else if (key === "StartTimeForFilter" || key === "EndTimeForFilter"
1052
+ || key === "start_time_for_filter" || key === "end_time_for_filter") {
1053
+ filteredData = filteredData.filter((obj) => this.returnDataForFromAndToTimeRange(obj, value, key));
1054
+ }
1055
+ else if (key === "startEndTimeMulti" || key == "startEndTime" || key === "TimeBand") {
1056
+ filteredData = filteredData.filter((obj) => this.returnDataForStartAndEndTimeRange(obj, value, key));
1057
+ }
1058
+ else if (value.length > 0) {
1059
+ filteredData = filteredData.filter((u) => value.includes(u[key]));
1060
+ }
1061
+ return filteredData;
1062
+ }
1063
+ isObjectInTheRange(obj, value, key) {
1064
+ let objVal = obj[key];
1065
+ let momentDate = moment(objVal);
1066
+ console.log(objVal);
1067
+ console.log(value.fromDate);
1068
+ let isDateSameAsStartOfTheRange = value.fromDate.isSame(objVal);
1069
+ let isDateSameAsEndOfTheRange = value.toDate.isSame(objVal);
1070
+ let isDateBetweenTheStartAndEndOfRange = momentDate.isBetween(value.fromDate, value.toDate);
1071
+ return isDateSameAsStartOfTheRange || isDateSameAsEndOfTheRange || isDateBetweenTheStartAndEndOfRange;
1018
1072
  }
1019
1073
  }
1020
1074
  AnnaFilterService.bufferSize = 20;
@@ -1027,95 +1081,58 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
1027
1081
  }]
1028
1082
  }], ctorParameters: function () { return [{ type: AnnaDateTimeFormatService }]; } });
1029
1083
 
1030
- class Constants {
1031
- }
1032
- Constants.SUCCESS_STRING = "success";
1033
- Constants.BACKEND_SERVER_URL = "/server/public/index.php/api";
1034
- Constants.ERROR_MSG = "Error occurred please try again.";
1035
- Constants.NO_DATA_MSG = "No Data to display";
1036
- Constants.SERVER_ERROR = "Server error. Please try Again";
1037
- Constants.USER_ORIGIN = "ANNA";
1038
- Constants.ACTIVE_USER_STATUS = "active";
1039
- Constants.DELETED_USER_STATUS = "deleted";
1040
- Constants.INACTIVE_USER_STATUS = "inactive";
1041
- Constants.OGAdminRole = "OG-admin";
1042
- Constants.dollars = "$";
1043
- class ErrorCodes {
1044
- }
1045
- ErrorCodes.BAD_REQUEST = 400;
1046
- ErrorCodes.SERVER_ERROR = 500;
1047
- ErrorCodes.SUCCESS_CODE = 200;
1048
- ErrorCodes.SUCCESS_CODE_GET = 200;
1049
- ErrorCodes.SUCCESS_CODE_POST = 201;
1050
- ErrorCodes.SUCCESS_CODE_PATCH = 204;
1051
- ErrorCodes.NO_CONTENT = 204;
1052
- ErrorCodes.under_review = 409;
1053
- var Days;
1054
- (function (Days) {
1055
- Days[Days["M"] = 1] = "M";
1056
- Days[Days["Tu"] = 2] = "Tu";
1057
- Days[Days["We"] = 3] = "We";
1058
- Days[Days["Th"] = 4] = "Th";
1059
- Days[Days["F"] = 5] = "F";
1060
- Days[Days["Sa"] = 6] = "Sa";
1061
- Days[Days["Su"] = 7] = "Su";
1062
- })(Days || (Days = {}));
1063
-
1064
1084
  // Angular import statements
1085
+ // Third party import statements
1086
+ // User defined import statements
1065
1087
  class AnnaSortService {
1066
1088
  constructor(annaDateTimeFormatService) {
1067
1089
  this.annaDateTimeFormatService = annaDateTimeFormatService;
1068
- this.sortByAsc = new Map();
1069
- this.sortByDesc = new Map();
1070
- this.dateSet = new Set(["endDate", "startDate", "end_date", "start_date", "flightStartDate", "flightEndDate"]);
1071
- console.log("AnnaTableColumnSortService sevice created.");
1072
- }
1073
- checkIfSortingIsApplied(sortMap, setValueTo) {
1074
- let obj = { key: "", setValueTo: null };
1075
- for (let [key, value] of sortMap.entries()) {
1076
- if (value) {
1077
- obj = { key, setValueTo };
1078
- break;
1079
- }
1080
- }
1081
- return obj;
1090
+ this.dateSet = new Set([
1091
+ 'endDate',
1092
+ 'startDate',
1093
+ 'end_date',
1094
+ 'start_date',
1095
+ 'flightStartDate',
1096
+ 'flightEndDate',
1097
+ ]);
1098
+ console.log('AnnaTableColumnSortService sevice created.');
1082
1099
  }
1083
- sort(isAsc, data, sortBy) {
1084
- const dataToExclude = [];
1085
- const dataToInclude = [];
1100
+ sortDataForComponentOtherThanLurAndCsrPage(isAsc, data, key) {
1086
1101
  let param1;
1087
1102
  let param2;
1088
- if (this.dateSet.has(sortBy)) {
1103
+ if (this.dateSet.has(key)) {
1089
1104
  data.sort((a, b) => {
1090
- return this.annaDateTimeFormatService.compareDate(a[sortBy], b[sortBy], isAsc);
1105
+ return this.annaDateTimeFormatService.compareDate(a[key], b[key], isAsc);
1091
1106
  });
1092
1107
  }
1093
- else if (sortBy === "AirDateAndTime") {
1108
+ else if (key === 'AirDateAndTime') {
1094
1109
  data.sort((a, b) => {
1095
1110
  let first, second;
1096
- if (a[sortBy] == "-") {
1111
+ if (a[key] == '-') {
1097
1112
  return 1;
1098
1113
  }
1099
- if (b[sortBy] == "-") {
1114
+ if (b[key] == '-') {
1100
1115
  return -1;
1101
1116
  }
1102
1117
  else {
1103
- first = this.annaDateTimeFormatService.formatDateAndHHMMATimeToStandardFormat(a[sortBy]);
1104
- second = this.annaDateTimeFormatService.formatDateAndHHMMATimeToStandardFormat(b[sortBy]);
1118
+ first =
1119
+ this.annaDateTimeFormatService.formatDateAndHHMMATimeToStandardFormat(a[key]);
1120
+ second =
1121
+ this.annaDateTimeFormatService.formatDateAndHHMMATimeToStandardFormat(b[key]);
1105
1122
  let compareDate = this.annaDateTimeFormatService.compareDate(first, second, isAsc);
1106
1123
  return compareDate;
1107
1124
  }
1108
1125
  });
1109
1126
  }
1110
- else if (sortBy === "startEndTime" || sortBy === "TimeBand") {
1127
+ else if (key == 'startEndTime' || key == 'TimeBand') {
1111
1128
  data.sort((a, b) => {
1112
1129
  if (isAsc) {
1113
- param1 = a[sortBy][1];
1114
- param2 = b[sortBy][1];
1130
+ param1 = a[key][1];
1131
+ param2 = b[key][1];
1115
1132
  }
1116
1133
  else {
1117
- param1 = a[sortBy][2];
1118
- param2 = b[sortBy][2];
1134
+ param1 = a[key][2];
1135
+ param2 = b[key][2];
1119
1136
  }
1120
1137
  let val = isAsc
1121
1138
  ? this.annaDateTimeFormatService.sortByTimeAscending(param1, param2)
@@ -1123,119 +1140,85 @@ class AnnaSortService {
1123
1140
  return val;
1124
1141
  });
1125
1142
  }
1126
- else if (sortBy === "days") {
1127
- data.sort((a, b) => {
1128
- param1 = a[sortBy].includes("-") ? Days[a[sortBy].split("-")[0]] : Days[a[sortBy]];
1129
- param2 = b[sortBy].includes("-") ? Days[b[sortBy].split("-")[0]] : Days[b[sortBy]];
1130
- return this.annaDateTimeFormatService.compare(param1, param2, isAsc);
1131
- });
1132
- }
1133
- //sort by string or number
1134
1143
  else {
1135
- data.forEach((a) => {
1136
- // if(a['sort'] == undefined) //
1137
- //for component other than enter/edit lur page
1138
- if (!("sort" in a)) {
1139
- dataToInclude.push(a);
1140
- }
1141
- //for enter/edit lur page
1142
- else {
1143
- dataToExclude.push(a);
1144
+ data.sort((a, b) => {
1145
+ param1 = a[key];
1146
+ param2 = b[key];
1147
+ if (param1 !== param2) {
1148
+ return this.annaDateTimeFormatService.compare(param1, param2, isAsc);
1144
1149
  }
1150
+ return 0;
1145
1151
  });
1146
- data = [];
1147
- data = dataToInclude;
1152
+ }
1153
+ return data;
1154
+ }
1155
+ sortEnterEditLurAndCsrPage(isAsc, data, key) {
1156
+ let param1;
1157
+ let param2;
1158
+ if (key.includes('_')) {
1159
+ let keys = key.split('_');
1160
+ let weekNumber = keys[0];
1161
+ let sortKey = keys[1];
1162
+ if (keys.length > 2) {
1163
+ sortKey =
1164
+ keys[2] == true
1165
+ ? 'BookedAurIncludingNoChargeSpots'
1166
+ : 'BookedAurExcludingNoChargeSpots';
1167
+ }
1148
1168
  data.sort((a, b) => {
1149
- param1 = a[sortBy];
1150
- param2 = b[sortBy];
1151
- if (Array.isArray(a[sortBy])) {
1152
- param1 = a[sortBy][0] === "-" ? 0 : a[sortBy][0];
1153
- if (a[sortBy][0].includes(Constants.dollars)) {
1154
- param1 = +a[sortBy][0].split(Constants.dollars)[1];
1155
- }
1169
+ let aInventoryCodeWeekWiseKey = Object.keys(a.WeekWiseInventoryCodeData).filter((key) => key.split('_')[1] == weekNumber);
1170
+ let bInventoryCodeWeekWiseKey = Object.keys(b.WeekWiseInventoryCodeData).filter((key) => key.split('_')[1] == weekNumber);
1171
+ param1 = null;
1172
+ param2 = null;
1173
+ if (aInventoryCodeWeekWiseKey.length > 0) {
1174
+ param1 =
1175
+ a.WeekWiseInventoryCodeData[aInventoryCodeWeekWiseKey[0]][sortKey][1];
1156
1176
  }
1157
- if (Array.isArray(b[sortBy])) {
1158
- param2 = b[sortBy][0] == "-" ? 0 : b[sortBy][0];
1159
- if (b[sortBy][0].includes(Constants.dollars)) {
1160
- param2 = +b[sortBy][0].split(Constants.dollars)[1];
1161
- }
1177
+ if (bInventoryCodeWeekWiseKey.length > 0) {
1178
+ param2 =
1179
+ b.WeekWiseInventoryCodeData[bInventoryCodeWeekWiseKey[0]][sortKey][1];
1162
1180
  }
1163
1181
  if (param1 !== param2) {
1164
1182
  return this.annaDateTimeFormatService.compare(param1, param2, isAsc);
1165
1183
  }
1166
- // CHANGES@ANNALIB changed it to from false to 0
1167
1184
  return 0;
1168
1185
  });
1169
- if (dataToExclude.length > 0) {
1170
- if (sortBy.includes("_")) {
1171
- let keys = sortBy.split("_");
1172
- let weekNumber = keys[0];
1173
- let sortKey = keys[1];
1174
- if (keys.length > 2) {
1175
- sortKey = keys[2] == true ? "BookedAurIncludingNoChargeSpots" : "BookedAurExcludingNoChargeSpots";
1176
- }
1177
- dataToExclude.sort((a, b) => {
1178
- let aInventoryCodeWeekWiseKey = Object.keys(a.WeekWiseInventoryCodeData).filter((key) => key.split("_")[1] == weekNumber);
1179
- let bInventoryCodeWeekWiseKey = Object.keys(b.WeekWiseInventoryCodeData).filter((key) => key.split("_")[1] == weekNumber);
1180
- param1 = null;
1181
- param2 = null;
1182
- if (aInventoryCodeWeekWiseKey.length > 0) {
1183
- param1 = a.WeekWiseInventoryCodeData[aInventoryCodeWeekWiseKey[0]][sortKey][1];
1184
- }
1185
- if (bInventoryCodeWeekWiseKey.length > 0) {
1186
- param2 = b.WeekWiseInventoryCodeData[bInventoryCodeWeekWiseKey[0]][sortKey][1];
1187
- }
1188
- if (param1 !== param2) {
1189
- return this.annaDateTimeFormatService.compare(param1, param2, isAsc);
1190
- }
1191
- return 0;
1192
- });
1186
+ }
1187
+ else if (key == 'TimeBand') {
1188
+ data.sort((a, b) => {
1189
+ if (isAsc) {
1190
+ param1 = a[key][1];
1191
+ param2 = b[key][1];
1193
1192
  }
1194
1193
  else {
1195
- dataToExclude.sort((a, b) => {
1196
- param1 = a[sortBy];
1197
- param2 = b[sortBy];
1198
- if (param1 !== param2) {
1199
- return this.annaDateTimeFormatService.compare(param1, param2, isAsc);
1200
- }
1201
- return 0;
1202
- });
1203
- }
1204
- }
1205
- }
1206
- return { data: [...data, ...dataToExclude], type: isAsc };
1207
- }
1208
- callSort(data) {
1209
- let sortBy = null;
1210
- let isAsc;
1211
- this.sortByAsc.forEach((value, key) => {
1212
- if (value === true) {
1213
- sortBy = key;
1214
- isAsc = true;
1215
- }
1216
- });
1217
- if (sortBy == null) {
1218
- this.sortByDesc.forEach((value, key) => {
1219
- if (value === true) {
1220
- sortBy = key;
1221
- isAsc = false;
1194
+ param1 = a[key][2];
1195
+ param2 = b[key][2];
1222
1196
  }
1197
+ let val = isAsc
1198
+ ? this.annaDateTimeFormatService.sortByTimeAscending(param1, param2)
1199
+ : this.annaDateTimeFormatService.sortByTimeDescending(param1, param2);
1200
+ return val;
1223
1201
  });
1224
1202
  }
1225
- if (sortBy != null) {
1226
- return this.sort(isAsc, data, sortBy).data;
1227
- }
1228
1203
  else {
1229
- return data;
1204
+ data.sort((a, b) => {
1205
+ param1 = a[key];
1206
+ param2 = b[key];
1207
+ if (param1 !== param2) {
1208
+ return this.annaDateTimeFormatService.compare(param1, param2, isAsc);
1209
+ }
1210
+ return 0;
1211
+ });
1230
1212
  }
1213
+ return data;
1231
1214
  }
1232
1215
  }
1233
1216
  AnnaSortService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaSortService, deps: [{ token: AnnaDateTimeFormatService }], target: i0.ɵɵFactoryTarget.Injectable });
1234
- AnnaSortService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaSortService, providedIn: "root" });
1217
+ AnnaSortService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaSortService, providedIn: 'root' });
1235
1218
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaSortService, decorators: [{
1236
1219
  type: Injectable,
1237
1220
  args: [{
1238
- providedIn: "root",
1221
+ providedIn: 'root',
1239
1222
  }]
1240
1223
  }], ctorParameters: function () { return [{ type: AnnaDateTimeFormatService }]; } });
1241
1224
 
@@ -1261,16 +1244,12 @@ class AnnaGenericTableService {
1261
1244
  return numberOfSkeletonColumns;
1262
1245
  }
1263
1246
  initColumnFilterAndSorting() {
1264
- this.annaFilterService.tooltipMap = new Map();
1265
1247
  this.annaFilterService.tooltipSelectedMap = new Map();
1266
1248
  this.annaFilterService.selectedRadio = null;
1267
1249
  this.annaFilterService.appliedFiltersArray = [];
1268
1250
  this.annaFilterService.initialValueMap = new Map();
1269
- this.annaSortService.tooltip = null;
1270
- this.annaSortService.sortByAsc = new Map();
1271
- this.annaSortService.sortByDesc = new Map();
1272
- this.annaSortService.keySorted = null;
1273
- this.annaSortService.isAsc = false;
1251
+ this.annaSortService.columnSortState = new Map();
1252
+ this.annaSortService.noSortingAppliedData = [];
1274
1253
  }
1275
1254
  }
1276
1255
  AnnaGenericTableService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaGenericTableService, deps: [{ token: AnnaFilterService }, { token: AnnaSortService }], target: i0.ɵɵFactoryTarget.Injectable });
@@ -1284,11 +1263,45 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
1284
1263
 
1285
1264
  ;
1286
1265
 
1266
+ class Constants {
1267
+ }
1268
+ Constants.SUCCESS_STRING = "success";
1269
+ Constants.BACKEND_SERVER_URL = "/server/public/index.php/api";
1270
+ Constants.ERROR_MSG = "Error occurred please try again.";
1271
+ Constants.NO_DATA_MSG = "No Data to display";
1272
+ Constants.SERVER_ERROR = "Server error. Please try Again";
1273
+ Constants.USER_ORIGIN = "ANNA";
1274
+ Constants.ACTIVE_USER_STATUS = "active";
1275
+ Constants.DELETED_USER_STATUS = "deleted";
1276
+ Constants.INACTIVE_USER_STATUS = "inactive";
1277
+ Constants.OGAdminRole = "OG-admin";
1278
+ Constants.dollars = "$";
1279
+ class ErrorCodes {
1280
+ }
1281
+ ErrorCodes.BAD_REQUEST = 400;
1282
+ ErrorCodes.SERVER_ERROR = 500;
1283
+ ErrorCodes.SUCCESS_CODE = 200;
1284
+ ErrorCodes.SUCCESS_CODE_GET = 200;
1285
+ ErrorCodes.SUCCESS_CODE_POST = 201;
1286
+ ErrorCodes.SUCCESS_CODE_PATCH = 204;
1287
+ ErrorCodes.NO_CONTENT = 204;
1288
+ ErrorCodes.under_review = 409;
1289
+ var Days;
1290
+ (function (Days) {
1291
+ Days[Days["M"] = 1] = "M";
1292
+ Days[Days["Tu"] = 2] = "Tu";
1293
+ Days[Days["We"] = 3] = "We";
1294
+ Days[Days["Th"] = 4] = "Th";
1295
+ Days[Days["F"] = 5] = "F";
1296
+ Days[Days["Sa"] = 6] = "Sa";
1297
+ Days[Days["Su"] = 7] = "Su";
1298
+ })(Days || (Days = {}));
1299
+
1287
1300
  //Modules
1288
1301
 
1289
1302
  /**
1290
1303
  * Generated bundle index. Do not edit.
1291
1304
  */
1292
1305
 
1293
- export { AllSelectedStatus, AnnaBuyerApprovalIconTemplateComponent, AnnaCoreSharedLibModule, AnnaDateTimeFormatService, AnnaFilterSearchedTextPipe, AnnaFilterService, AnnaGenericTableService, AnnaGlobalConfigService, AnnaLiveIconTemplateComponent, AnnaNoDataComponent, AnnaNotifyIconTemplateComponent, AnnaPayForPerformanceIconTemplateComponent, AnnaRejectedIconTemplateComponent, AnnaSortService, Constants, Days, ErrorCodes, radioButtonModel, tooltipModel, tooltipModelForColumnLevelFiltering };
1306
+ export { AllSelectedStatus, AnnaBuyerApprovalIconTemplateComponent, AnnaCoreSharedLibModule, AnnaDateTimeFormatService, AnnaFilterSearchedTextPipe, AnnaFilterService, AnnaGenericTableService, AnnaGlobalConfigService, AnnaLiveIconTemplateComponent, AnnaNoDataComponent, AnnaNotifyIconTemplateComponent, AnnaPayForPerformanceIconTemplateComponent, AnnaRejectedIconTemplateComponent, AnnaSortService, Constants, Days, ErrorCodes, TooltipModel, radioButtonModel, tooltipModelForColumnLevelFiltering };
1294
1307
  //# sourceMappingURL=annalib-anna-core-src-lib-anna-core-shared-lib.mjs.map