@annalib/anna-core 0.0.2 → 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.
- package/README.md +24 -24
- package/esm2020/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.mjs +1 -1
- package/esm2020/lib/anna-core-shared-lib/models/anna-sort.model.mjs +2 -0
- package/esm2020/lib/anna-core-shared-lib/models/anna-tooltip.model.mjs +5 -3
- package/esm2020/lib/anna-core-shared-lib/public-api.mjs +2 -1
- package/esm2020/lib/anna-core-shared-lib/services/anna-filter.service.mjs +112 -60
- package/esm2020/lib/anna-core-shared-lib/services/anna-generic-table.service.mjs +4 -8
- package/esm2020/lib/anna-core-shared-lib/services/anna-sort.service.mjs +83 -123
- package/esm2020/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.mjs +26 -12
- package/esm2020/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.mjs +737 -336
- package/esm2020/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.mjs +38 -108
- package/esm2020/src/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.mjs +1 -1
- package/esm2020/src/lib/anna-core-shared-lib/models/anna-sort.model.mjs +2 -0
- package/esm2020/src/lib/anna-core-shared-lib/models/anna-tooltip.model.mjs +5 -3
- package/esm2020/src/lib/anna-core-shared-lib/public-api.mjs +2 -1
- package/esm2020/src/lib/anna-core-shared-lib/services/anna-filter.service.mjs +112 -60
- package/esm2020/src/lib/anna-core-shared-lib/services/anna-generic-table.service.mjs +4 -8
- package/esm2020/src/lib/anna-core-shared-lib/services/anna-sort.service.mjs +83 -123
- package/esm2020/src/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.mjs +26 -12
- package/esm2020/src/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.mjs +737 -336
- package/esm2020/src/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.mjs +38 -108
- package/fesm2015/annalib-anna-core-src-lib-anna-core-shared-lib.mjs +233 -220
- package/fesm2015/annalib-anna-core-src-lib-anna-core-shared-lib.mjs.map +1 -1
- package/fesm2015/annalib-anna-core-src-lib-anna-dropdown-lib.mjs +22 -10
- package/fesm2015/annalib-anna-core-src-lib-anna-dropdown-lib.mjs.map +1 -1
- package/fesm2015/annalib-anna-core-src-lib-anna-generic-table-lib.mjs +772 -437
- package/fesm2015/annalib-anna-core-src-lib-anna-generic-table-lib.mjs.map +1 -1
- package/fesm2015/annalib-anna-core.mjs +1025 -665
- package/fesm2015/annalib-anna-core.mjs.map +1 -1
- package/fesm2020/annalib-anna-core-src-lib-anna-core-shared-lib.mjs +233 -220
- package/fesm2020/annalib-anna-core-src-lib-anna-core-shared-lib.mjs.map +1 -1
- package/fesm2020/annalib-anna-core-src-lib-anna-dropdown-lib.mjs +22 -10
- package/fesm2020/annalib-anna-core-src-lib-anna-dropdown-lib.mjs.map +1 -1
- package/fesm2020/annalib-anna-core-src-lib-anna-generic-table-lib.mjs +772 -437
- package/fesm2020/annalib-anna-core-src-lib-anna-generic-table-lib.mjs.map +1 -1
- package/fesm2020/annalib-anna-core.mjs +1025 -665
- package/fesm2020/annalib-anna-core.mjs.map +1 -1
- package/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.d.ts +8 -8
- package/lib/anna-core-shared-lib/models/anna-sort.model.d.ts +6 -0
- package/lib/anna-core-shared-lib/models/anna-tooltip.model.d.ts +4 -2
- package/lib/anna-core-shared-lib/public-api.d.ts +1 -0
- package/lib/anna-core-shared-lib/services/anna-filter.service.d.ts +17 -5
- package/lib/anna-core-shared-lib/services/anna-generic-table.service.d.ts +1 -1
- package/lib/anna-core-shared-lib/services/anna-sort.service.d.ts +5 -14
- package/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.d.ts +7 -4
- package/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.d.ts +36 -16
- package/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.d.ts +9 -22
- package/package.json +1 -1
- package/src/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.d.ts +8 -8
- package/src/lib/anna-core-shared-lib/models/anna-sort.model.d.ts +6 -0
- package/src/lib/anna-core-shared-lib/models/anna-tooltip.model.d.ts +4 -2
- package/src/lib/anna-core-shared-lib/public-api.d.ts +1 -0
- package/src/lib/anna-core-shared-lib/services/anna-filter.service.d.ts +17 -5
- package/src/lib/anna-core-shared-lib/services/anna-generic-table.service.d.ts +1 -1
- package/src/lib/anna-core-shared-lib/services/anna-sort.service.d.ts +5 -14
- package/src/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.d.ts +7 -4
- package/src/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.d.ts +36 -16
- 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
|
|
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;
|
|
@@ -560,9 +563,9 @@ class AnnaFilterService {
|
|
|
560
563
|
"bookedSpots",
|
|
561
564
|
"userChanges"
|
|
562
565
|
];
|
|
563
|
-
const calendarArr = ["period", "AirDate", "flightStartDate", "flightEndDate", "date"];
|
|
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
|
-
|
|
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.
|
|
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"
|
|
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 (
|
|
909
|
+
if (selectedData.includeMulti && obj[key] == "<multi>") {
|
|
924
910
|
return true;
|
|
925
911
|
}
|
|
926
|
-
if (!
|
|
912
|
+
if (!selectedData.includeMulti && obj[key] == "<multi>") {
|
|
927
913
|
return false;
|
|
928
914
|
}
|
|
929
|
-
if (
|
|
915
|
+
if (selectedData.includeZero && obj[key] == "0") {
|
|
930
916
|
return true;
|
|
931
917
|
}
|
|
932
|
-
if (!
|
|
918
|
+
if (!selectedData.includeZero && obj[key] == "0") {
|
|
933
919
|
return false;
|
|
934
920
|
}
|
|
935
|
-
if (!
|
|
921
|
+
if (!selectedData.includeTimeRange) {
|
|
936
922
|
return false;
|
|
937
923
|
}
|
|
938
|
-
objTime = this.dateTimeFormatService.formatToTwelveHrs(objTime, true);
|
|
939
|
-
objTime = this.dateTimeFormatService.convertTotwentyFourHrsFormat(
|
|
940
|
-
objTime
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
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
|
-
|
|
954
|
-
if (this.includeMultiTime && obj[key][0] == "<multi>") {
|
|
946
|
+
if (selectedData.includeMulti && obj[key][0] == "<multi>") {
|
|
955
947
|
return true;
|
|
956
948
|
}
|
|
957
|
-
if (!
|
|
949
|
+
if (!selectedData.includeMulti && obj[key][0] == "<multi>") {
|
|
958
950
|
return false;
|
|
959
951
|
}
|
|
960
|
-
if (
|
|
952
|
+
if (selectedData.includeZero && obj[key][0] == "0") {
|
|
961
953
|
return true;
|
|
962
954
|
}
|
|
963
|
-
if (!
|
|
955
|
+
if (!selectedData.includeZero && obj[key][0] == "0") {
|
|
964
956
|
return false;
|
|
965
957
|
}
|
|
966
|
-
if (!
|
|
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
|
|
985
|
-
let
|
|
986
|
-
let
|
|
987
|
-
let
|
|
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,
|
|
1017
|
-
|
|
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.
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
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
|
-
|
|
1084
|
-
const dataToExclude = [];
|
|
1085
|
-
const dataToInclude = [];
|
|
1100
|
+
sortDataForComponentOtherThanLurAndCsrPage(isAsc, data, key) {
|
|
1086
1101
|
let param1;
|
|
1087
1102
|
let param2;
|
|
1088
|
-
if (this.dateSet.has(
|
|
1103
|
+
if (this.dateSet.has(key)) {
|
|
1089
1104
|
data.sort((a, b) => {
|
|
1090
|
-
return this.annaDateTimeFormatService.compareDate(a[
|
|
1105
|
+
return this.annaDateTimeFormatService.compareDate(a[key], b[key], isAsc);
|
|
1091
1106
|
});
|
|
1092
1107
|
}
|
|
1093
|
-
else if (
|
|
1108
|
+
else if (key === 'AirDateAndTime') {
|
|
1094
1109
|
data.sort((a, b) => {
|
|
1095
1110
|
let first, second;
|
|
1096
|
-
if (a[
|
|
1111
|
+
if (a[key] == '-') {
|
|
1097
1112
|
return 1;
|
|
1098
1113
|
}
|
|
1099
|
-
if (b[
|
|
1114
|
+
if (b[key] == '-') {
|
|
1100
1115
|
return -1;
|
|
1101
1116
|
}
|
|
1102
1117
|
else {
|
|
1103
|
-
first =
|
|
1104
|
-
|
|
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 (
|
|
1127
|
+
else if (key == 'startEndTime' || key == 'TimeBand') {
|
|
1111
1128
|
data.sort((a, b) => {
|
|
1112
1129
|
if (isAsc) {
|
|
1113
|
-
param1 = a[
|
|
1114
|
-
param2 = b[
|
|
1130
|
+
param1 = a[key][1];
|
|
1131
|
+
param2 = b[key][1];
|
|
1115
1132
|
}
|
|
1116
1133
|
else {
|
|
1117
|
-
param1 = a[
|
|
1118
|
-
param2 = b[
|
|
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.
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
if (
|
|
1139
|
-
|
|
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
|
-
|
|
1147
|
-
|
|
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
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
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 (
|
|
1158
|
-
param2 =
|
|
1159
|
-
|
|
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
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
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
|
-
|
|
1196
|
-
|
|
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
|
-
|
|
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:
|
|
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:
|
|
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.
|
|
1270
|
-
this.annaSortService.
|
|
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,
|
|
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
|