@annalib/anna-core 7.2.4 → 7.2.6

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 (156) hide show
  1. package/annalib-anna-core.d.ts +5 -0
  2. package/esm2020/annalib-anna-core.mjs +5 -0
  3. package/esm2020/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.mjs +15 -0
  4. package/esm2020/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.mjs +35 -0
  5. package/esm2020/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.mjs +15 -0
  6. package/esm2020/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.mjs +22 -0
  7. package/esm2020/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.mjs +15 -0
  8. package/esm2020/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.mjs +21 -0
  9. package/esm2020/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.mjs +15 -0
  10. package/esm2020/lib/anna-core-shared-lib/constants/shared.constant.mjs +35 -0
  11. package/esm2020/lib/anna-core-shared-lib/directives/digits-only/digits-only.directive.mjs +282 -0
  12. package/esm2020/lib/anna-core-shared-lib/directives/show-ellipsis-text/show-ellipsis-text.directive.mjs +27 -0
  13. package/esm2020/lib/anna-core-shared-lib/models/anna-generic-data-type.model.mjs +2 -0
  14. package/esm2020/lib/anna-core-shared-lib/models/anna-global-dropdown-config.model.mjs +2 -0
  15. package/esm2020/lib/anna-core-shared-lib/models/anna-manage-users.model.mjs +8 -0
  16. package/esm2020/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.mjs +2 -0
  17. package/esm2020/lib/anna-core-shared-lib/models/anna-sort.model.mjs +7 -0
  18. package/esm2020/lib/anna-core-shared-lib/models/anna-tooltip.model.mjs +30 -0
  19. package/esm2020/lib/anna-core-shared-lib/pipes/annaConvertZeroOrNullOrUndefined.pipe.mjs +26 -0
  20. package/esm2020/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.mjs +46 -0
  21. package/esm2020/lib/anna-core-shared-lib/pipes/annaReplaceChar.pipe.mjs +25 -0
  22. package/esm2020/lib/anna-core-shared-lib/pipes/annaTypeOfData.pipe.mjs +16 -0
  23. package/esm2020/lib/anna-core-shared-lib/services/anna-date-time-format.service.mjs +199 -0
  24. package/esm2020/lib/anna-core-shared-lib/services/anna-filter.service.mjs +469 -0
  25. package/esm2020/lib/anna-core-shared-lib/services/anna-generic-table.service.mjs +124 -0
  26. package/esm2020/lib/anna-core-shared-lib/services/anna-global-config.service.mjs +133 -0
  27. package/esm2020/lib/anna-core-shared-lib/services/anna-number-format.service.mjs +41 -0
  28. package/esm2020/lib/anna-core-shared-lib/services/anna-sort.service.mjs +147 -0
  29. package/esm2020/lib/anna-core.module.mjs +180 -0
  30. package/esm2020/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.mjs +101 -0
  31. package/esm2020/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.mjs +364 -0
  32. package/esm2020/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.mjs +1834 -0
  33. package/esm2020/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.mjs +69 -0
  34. package/esm2020/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.mjs +357 -0
  35. package/esm2020/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/anna-fixed-row-size-table-virtual-scroll-strategy.directive.mjs +189 -0
  36. package/esm2020/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/index.mjs +2 -0
  37. package/esm2020/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.mjs +178 -0
  38. package/esm2020/lib/anna-generic-table-lib/directives/anna-virtual-table/index.mjs +2 -0
  39. package/esm2020/public-api.mjs +50 -0
  40. package/fesm2015/annalib-anna-core.mjs +4875 -0
  41. package/fesm2015/annalib-anna-core.mjs.map +1 -0
  42. package/fesm2020/annalib-anna-core.mjs +4868 -0
  43. package/fesm2020/annalib-anna-core.mjs.map +1 -0
  44. package/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.d.ts +8 -0
  45. package/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.d.ts +16 -0
  46. package/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.d.ts +8 -0
  47. package/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.d.ts +11 -0
  48. package/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.d.ts +8 -0
  49. package/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.d.ts +11 -0
  50. package/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.d.ts +8 -0
  51. package/lib/anna-core-shared-lib/constants/shared.constant.d.ts +33 -0
  52. package/lib/anna-core-shared-lib/directives/digits-only/digits-only.directive.d.ts +34 -0
  53. package/lib/anna-core-shared-lib/directives/show-ellipsis-text/show-ellipsis-text.directive.d.ts +9 -0
  54. package/lib/anna-core-shared-lib/models/anna-generic-data-type.model.d.ts +16 -0
  55. package/{src/lib/anna-core-shared-lib/models/anna-global-dropdown-config.model.ts → lib/anna-core-shared-lib/models/anna-global-dropdown-config.model.d.ts} +9 -21
  56. package/lib/anna-core-shared-lib/models/anna-manage-users.model.d.ts +6 -0
  57. package/{src/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.ts → lib/anna-core-shared-lib/models/anna-non-editable-gt-models.d.ts} +17 -28
  58. package/lib/anna-core-shared-lib/models/anna-sort.model.d.ts +11 -0
  59. package/lib/anna-core-shared-lib/models/anna-tooltip.model.d.ts +25 -0
  60. package/lib/anna-core-shared-lib/pipes/annaConvertZeroOrNullOrUndefined.pipe.d.ts +9 -0
  61. package/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.d.ts +9 -0
  62. package/lib/anna-core-shared-lib/pipes/annaReplaceChar.pipe.d.ts +9 -0
  63. package/lib/anna-core-shared-lib/pipes/annaTypeOfData.pipe.d.ts +7 -0
  64. package/lib/anna-core-shared-lib/services/anna-date-time-format.service.d.ts +27 -0
  65. package/lib/anna-core-shared-lib/services/anna-filter.service.d.ts +74 -0
  66. package/lib/anna-core-shared-lib/services/anna-generic-table.service.d.ts +28 -0
  67. package/lib/anna-core-shared-lib/services/anna-global-config.service.d.ts +21 -0
  68. package/lib/anna-core-shared-lib/services/anna-number-format.service.d.ts +7 -0
  69. package/lib/anna-core-shared-lib/services/anna-sort.service.d.ts +16 -0
  70. package/lib/anna-core.module.d.ts +36 -0
  71. package/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.d.ts +34 -0
  72. package/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.d.ts +70 -0
  73. package/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.d.ts +283 -0
  74. package/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.d.ts +17 -0
  75. package/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.d.ts +141 -0
  76. package/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/anna-fixed-row-size-table-virtual-scroll-strategy.directive.d.ts +89 -0
  77. package/{src/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/index.ts → lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/index.d.ts} +0 -0
  78. package/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.d.ts +45 -0
  79. package/{src/lib/anna-generic-table-lib/directives/anna-virtual-table/index.ts → lib/anna-generic-table-lib/directives/anna-virtual-table/index.d.ts} +0 -0
  80. package/package.json +39 -19
  81. package/{src/public-api.ts → public-api.d.ts} +0 -28
  82. package/.browserslistrc +0 -16
  83. package/karma.conf.js +0 -44
  84. package/ng-package.json +0 -14
  85. package/src/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.html +0 -22
  86. package/src/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.scss +0 -0
  87. package/src/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.spec.ts +0 -25
  88. package/src/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.ts +0 -16
  89. package/src/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.html +0 -33
  90. package/src/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.scss +0 -0
  91. package/src/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.spec.ts +0 -25
  92. package/src/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.ts +0 -28
  93. package/src/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.html +0 -20
  94. package/src/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.scss +0 -0
  95. package/src/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.spec.ts +0 -25
  96. package/src/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.ts +0 -16
  97. package/src/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.html +0 -3
  98. package/src/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.scss +0 -17
  99. package/src/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.spec.ts +0 -24
  100. package/src/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.ts +0 -20
  101. package/src/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.html +0 -23
  102. package/src/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.scss +0 -0
  103. package/src/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.spec.ts +0 -25
  104. package/src/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.ts +0 -16
  105. package/src/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.html +0 -15
  106. package/src/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.scss +0 -0
  107. package/src/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.spec.ts +0 -25
  108. package/src/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.ts +0 -19
  109. package/src/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.html +0 -14
  110. package/src/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.scss +0 -0
  111. package/src/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.spec.ts +0 -25
  112. package/src/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.ts +0 -16
  113. package/src/lib/anna-core-shared-lib/constants/shared.constant.ts +0 -35
  114. package/src/lib/anna-core-shared-lib/directives/digits-only/digits-only.directive.ts +0 -307
  115. package/src/lib/anna-core-shared-lib/directives/show-ellipsis-text/show-ellipsis-text.directive.ts +0 -19
  116. package/src/lib/anna-core-shared-lib/models/anna-generic-data-type.model.ts +0 -19
  117. package/src/lib/anna-core-shared-lib/models/anna-manage-users.model.ts +0 -6
  118. package/src/lib/anna-core-shared-lib/models/anna-sort.model.ts +0 -13
  119. package/src/lib/anna-core-shared-lib/models/anna-tooltip.model.ts +0 -44
  120. package/src/lib/anna-core-shared-lib/pipes/annaConvertZeroOrNullOrUndefined.pipe.ts +0 -20
  121. package/src/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.ts +0 -43
  122. package/src/lib/anna-core-shared-lib/pipes/annaReplaceChar.pipe.ts +0 -19
  123. package/src/lib/anna-core-shared-lib/pipes/annaTypeOfData.pipe.ts +0 -12
  124. package/src/lib/anna-core-shared-lib/services/anna-date-time-format.service.ts +0 -219
  125. package/src/lib/anna-core-shared-lib/services/anna-filter.service.ts +0 -563
  126. package/src/lib/anna-core-shared-lib/services/anna-generic-table.service.ts +0 -136
  127. package/src/lib/anna-core-shared-lib/services/anna-global-config.service.ts +0 -170
  128. package/src/lib/anna-core-shared-lib/services/anna-number-format.service.ts +0 -43
  129. package/src/lib/anna-core-shared-lib/services/anna-sort.service.ts +0 -179
  130. package/src/lib/anna-core.module.ts +0 -112
  131. package/src/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.html +0 -46
  132. package/src/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.scss +0 -153
  133. package/src/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.spec.ts +0 -24
  134. package/src/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.ts +0 -106
  135. package/src/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.html +0 -129
  136. package/src/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.scss +0 -275
  137. package/src/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.spec.ts +0 -24
  138. package/src/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.ts +0 -414
  139. package/src/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.html +0 -1080
  140. package/src/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.scss +0 -668
  141. package/src/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.spec.ts +0 -25
  142. package/src/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.ts +0 -2186
  143. package/src/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.html +0 -10
  144. package/src/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.scss +0 -1
  145. package/src/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.spec.ts +0 -24
  146. package/src/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.ts +0 -69
  147. package/src/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.html +0 -13
  148. package/src/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.scss +0 -88
  149. package/src/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.spec.ts +0 -25
  150. package/src/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.ts +0 -460
  151. package/src/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/anna-fixed-row-size-table-virtual-scroll-strategy.directive.ts +0 -237
  152. package/src/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.ts +0 -204
  153. package/src/test.ts +0 -27
  154. package/tsconfig.lib.json +0 -19
  155. package/tsconfig.lib.prod.json +0 -10
  156. package/tsconfig.spec.json +0 -17
@@ -1,563 +0,0 @@
1
- // Angular import statements
2
- import { Options } from '@angular-slider/ngx-slider';
3
- import { Injectable } from "@angular/core";
4
-
5
- // Third party import statements
6
- import { min, max, map, sortBy, uniq, cloneDeep, isEqual } from "lodash-es";
7
- import dayjs from "dayjs";
8
- import minMax from "dayjs/plugin/minMax";
9
- import isBetween from "dayjs/plugin/isBetween";
10
- import { SortType, SortTypeEnum } from '../models/anna-sort.model';
11
-
12
- // User defined import statements
13
- import { AnnaDateTimeFormatService, NgbDateType } from './anna-date-time-format.service';
14
- import { AnnaSortService } from './anna-sort.service';
15
-
16
- @Injectable({
17
- providedIn: 'root'
18
- })
19
- export class AnnaFilterService {
20
-
21
- tooltipMap = new Map();
22
- tooltipSelectedMap = new Map();
23
- initialValueMap: Map<string, any>;
24
- translateFunc: string;
25
- selectedRadio: string;
26
- subRadioButton: string;
27
-
28
- calendarSet: Set<string>;
29
- sliderSet: Set<string>;
30
- timeSet: Set<string>;
31
-
32
- includeMultiTime: boolean;
33
- includeZeroTime: boolean;
34
- includeTimeRange: boolean;
35
-
36
- appliedFiltersArray: string[] = [];
37
- flightDateRange: { minSelectedDate: any, maxSelectedDate: any };
38
- sliderData: { min: any, max: any };
39
- ngxSliderObj: Options;
40
- sliderCurrencySet = new Set([
41
- 'booked',
42
- 'cpp',
43
- 'cpm',
44
- 'rcvPreempt',
45
- 'osPreempt',
46
- 'postedAdu',
47
- 'scheduledAdu',
48
- 'audienceDeficit',
49
- 'Rate',
50
- 'userADUs',
51
- 'buyerChanges',
52
- 'userChanges',
53
- 'userMG',
54
- ]);
55
-
56
- public static bufferSize = 20;
57
- isFilterSortActive: any = null;
58
- resetFilterSortActiveStatus: boolean = true;
59
-
60
- constructor(private dateTimeFormatService: AnnaDateTimeFormatService, private annaSortService: AnnaSortService) {
61
- dayjs.extend(minMax);
62
- dayjs.extend(isBetween);
63
- console.log("AnnaFilterService service created.")
64
- const sliderArr = [
65
- "rcvPreempt",
66
- "osPreempt",
67
- "rcvUnderDly",
68
- "postedAudPercent",
69
- "booked",
70
- "spots",
71
- "grp",
72
- "cpp",
73
- "imps",
74
- "cpm",
75
- "osUnderDly",
76
- "totalWeeks",
77
- "WeekNumber",
78
- "Rate",
79
- "OrderedRatingsOrImpressions",
80
- "PostedRatingsOrImpressions", ,
81
- "postedAudPercent",
82
- "postedAdu",
83
- "scheduledAdu",
84
- "audienceDeficit",
85
- "offeredMGs",
86
- "outstandingPE",
87
- "offeredADUs",
88
- "udDeficitValue",
89
- "bookedValue",
90
- "bookedSpots",
91
- "userChanges",
92
- "UDGrp",
93
- "UDImps",
94
- "ODGrp",
95
- "ODImps",
96
- "udImpsPercent",
97
- "udGrpPercent",
98
- "odImpsPercent",
99
- "odGrpPercent",
100
- "userADUs",
101
- "buyerChanges",
102
- "userChanges",
103
- "userMG",
104
- "WeeklyAUR",
105
- "WeeklyAURatingOrImpressions"
106
- ];
107
- const calendarArr = ["period", "AirDate", "flightStartDate", "flightEndDate","date", "startDate", "endDate", "revisionStartDate"];
108
- const timeArr = ["StartTimeForFilter", "EndTimeForFilter", "time",
109
- "start_time_for_filter", "end_time_for_filter", "startEndTimeMulti", "startEndTime"];
110
- this.sliderSet = new Set(sliderArr);
111
- this.calendarSet = new Set(calendarArr);
112
- this.timeSet = new Set(timeArr);
113
- }
114
-
115
- returnMaxAndMinValue(data: any[], key: string, isMin: boolean) {
116
- data = data.filter((obj) => !["", "-", null].includes(obj[key]));
117
- const values = data.map((x) => x[key]);
118
- let valueToReturn = isMin ? min(values) : max(values);
119
- return valueToReturn;
120
- }
121
-
122
- returnMinAndMaxDate(data: any[], key: string) {
123
- data = data.filter((obj) => !["", "-", null].includes(obj[key]));
124
- let DateArr = data.map((obj) => dayjs(obj[key]));
125
- let minDate = dayjs.min(DateArr);
126
- let maxDate = dayjs.max(DateArr);
127
-
128
-
129
- return [minDate, maxDate];
130
- }
131
-
132
- isTooltipActive(header: string[], sortMap: Map<string, SortType>): boolean {
133
- let set: Set<string> = new Set(this.appliedFiltersArray);
134
- let isSortMapForHeader0Active = sortMap.has(header[0]) && (sortMap.get(header[0]) != SortTypeEnum.DEFAULT);
135
- let isSortMapForHeader1Active = sortMap.has(header[1]) && (sortMap.get(header[1]) != SortTypeEnum.DEFAULT);
136
-
137
- if(header.length == 1){
138
- return ( (sortMap.size > 0 && isSortMapForHeader0Active) || set.has(header[0]));
139
- }
140
-
141
- return ( (sortMap.size > 0 && sortMap.has(header[0]) && isSortMapForHeader0Active) || (sortMap.size > 0 && sortMap.has(header[1]) && isSortMapForHeader1Active) || set.has(header[0]) || set.has(header[1]));
142
-
143
- }
144
-
145
- clearColumnFilter() {
146
- if(this.tooltipSelectedMap.has(this.selectedRadio)){
147
- this.tooltipSelectedMap.delete(this.selectedRadio);
148
- let appliedFilterSet: Set<string> = new Set(this.appliedFiltersArray);
149
- appliedFilterSet.delete(this.selectedRadio);
150
- this.appliedFiltersArray = [...appliedFilterSet];
151
- }
152
-
153
- if(this.annaSortService.columnSortState.has(this.selectedRadio)){
154
- this.annaSortService.columnSortState.delete(this.selectedRadio);
155
- }
156
-
157
- }
158
-
159
- setOptionValues(minValue: number, maxValue: number) {
160
- return {
161
- floor: minValue,
162
- ceil: maxValue,
163
- disabled: true,
164
- translate: this.normalTranslateFunction
165
- };
166
- }
167
-
168
- percentTranslateFunction = (data: number): string => {
169
-
170
- if (Math.abs(data) >= 1000) {
171
- let isNegVal = data < 0;
172
- const val = (Math.abs(data) / 1000).toFixed(1) + "k%";
173
- return isNegVal ? "-" + val : val;
174
-
175
- } else {
176
- let isNegVal = data < 0;
177
- let isWholeNum = parseInt(data.toString()) == data;
178
- let val = isWholeNum ? Math.abs(data).toString() : Math.abs(data).toFixed(1);
179
- return isNegVal ? "-" + val + "%" : val + "%";
180
- }
181
-
182
- };
183
-
184
- currencyTranslateFunction = (data: number): string => {
185
- if (Math.abs(data) >= 1000) {
186
- let isNegVal = data < 0;
187
- const val = "$" + (Math.abs(data) / 1000).toFixed(1) + "k";
188
- return isNegVal ? "-" + val : val;
189
-
190
- } else {
191
- let isNegVal = data < 0;
192
- let isWholeNum = parseInt(data.toString()) == data;
193
- let val = isWholeNum ? Math.abs(data).toString() : Math.abs(data).toFixed(1);
194
- return isNegVal ? "-$" + val : "$" + val;
195
- }
196
- };
197
-
198
- normalTranslateFunction = (data: number): string => {
199
- if (data >= 1000) {
200
- const val = (data / 1000).toFixed(1) + "k";
201
- return val;
202
- } else if (data != Math.floor(data)) {
203
- return data.toFixed(1).toString();
204
- }
205
- return data.toString();
206
- };
207
-
208
- findUniqueDatesWithData(data: any[]) {
209
- let uniqueDates = uniq(data.map((u) => u["date"]));
210
- let uniqueDatesInNgbDateFormat: NgbDateType[] = [];
211
- uniqueDates.forEach((date: any) => {
212
- uniqueDatesInNgbDateFormat.push(
213
- this.dateTimeFormatService.convertToNgbDateStandardFormat(dayjs(date, "MM/DD/YY").format("MM/DD/YYYY"))
214
- );
215
- });
216
- return uniqueDatesInNgbDateFormat;
217
- }
218
-
219
- reOrderAppliedFiltersArray(isHierarchialUserFiltered: boolean, date?: any) {
220
- let isFiltered = true;
221
- isFiltered = this.checkIfDataIsFiltered(isFiltered, isHierarchialUserFiltered, date);
222
- this.removeOrChangeLatestFilterIndex(isFiltered);
223
- }
224
-
225
- checkIfDataIsFiltered(isFiltered: boolean, isHierarchialUserFiltered: boolean, date?: any) {
226
- if (this.selectedRadio == "user" && !this.tooltipMap.has("user")) {
227
- isFiltered = cloneDeep(isHierarchialUserFiltered);
228
- } else if (this.selectedRadio == "StartTimeForFilter" || this.selectedRadio == "EndTimeForFilter" || this.selectedRadio == "time"
229
- || this.selectedRadio == "start_time_for_filter" || this.selectedRadio == "end_time_for_filter" || this.selectedRadio == "startEndTimeMulti") {
230
- isFiltered = !isEqual(
231
- this.initialValueMap.get(this.selectedRadio),
232
- this.tooltipSelectedMap.get(this.selectedRadio)
233
- ) || !this.includeZeroTime || !this.includeMultiTime;
234
- }
235
- else if (this.selectedRadio == "startEndTime" || this.selectedRadio == "TimeBand") {
236
- isFiltered = !isEqual(this.initialValueMap.get(this.selectedRadio), this.tooltipSelectedMap.get(this.selectedRadio)) || !this.includeZeroTime || !this.includeMultiTime;
237
- }
238
- else if (this.sliderSet.has(this.selectedRadio)) {
239
- isFiltered = !isEqual(this.initialValueMap.get(this.selectedRadio), this.tooltipSelectedMap.get(this.selectedRadio)) && !isEqual(this.tooltipSelectedMap.get(this.selectedRadio), this.sliderData);
240
- if (this.selectedRadio == "postedAdu" && this.subRadioButton == "notRequired") {
241
- isFiltered = true;
242
- }
243
- if (!isFiltered && this.tooltipSelectedMap.has(this.selectedRadio)) {
244
- this.tooltipSelectedMap.delete(this.selectedRadio);
245
- }
246
- } else if (
247
- this.selectedRadio == "startDate" ||
248
- this.selectedRadio == "endDate" ||
249
- this.selectedRadio == "period" ||
250
- this.selectedRadio == "AirDate" ||
251
- this.selectedRadio === "flightStartDate" ||
252
- this.selectedRadio === "flightEndDate" ||
253
- this.selectedRadio == "date" ||
254
- this.selectedRadio == "revisionStartDate"
255
- ) {
256
- isFiltered =
257
- !isEqual(this.initialValueMap.get(this.selectedRadio), this.tooltipSelectedMap.get(this.selectedRadio)) &&
258
- !isEqual(this.tooltipSelectedMap.get(this.selectedRadio), this.flightDateRange);
259
- if (!isFiltered && this.tooltipSelectedMap.has(this.selectedRadio)) {
260
- this.tooltipSelectedMap.delete(this.selectedRadio);
261
- }
262
- } else {
263
- let totalOptionsCount = this.tooltipMap.get(this.selectedRadio).filter((x: any) => !x.isHidden).length;
264
- let selectedOptionsCount = this.tooltipMap.get(this.selectedRadio).filter((x: any) => !x.isHidden && x.isSelected).length;
265
- isFiltered = selectedOptionsCount > 0 && selectedOptionsCount != totalOptionsCount ? true : false;
266
- }
267
- return isFiltered;
268
- }
269
-
270
- removeOrChangeLatestFilterIndex(isFiltered: boolean) {
271
- let set = new Set(this.appliedFiltersArray);
272
-
273
- if (isFiltered && !set.has(this.selectedRadio)) {
274
- set.add(this.selectedRadio);
275
- } else if (isFiltered && set.has(this.selectedRadio)) {
276
- set.delete(this.selectedRadio);
277
- set.add(this.selectedRadio);
278
- } else {
279
- set.delete(this.selectedRadio);
280
- }
281
- this.appliedFiltersArray = [...set];
282
- }
283
-
284
- filterData(originalData: any[], keyToSkip: string) {
285
- let filteredData = [...originalData];
286
-
287
- this.tooltipSelectedMap.forEach((value, key) => {
288
- if (key != keyToSkip) {
289
- if (this.sliderSet.has(key)) {
290
- filteredData = filteredData.filter((obj) => obj[key] >= value.min && obj[key] <= value.max);
291
- }
292
- else if (key === "startDate" || key === "endDate" || key === "AirDate" || key === "flightStartDate" || key === "flightEndDate" || key == "date" || key == "revisionStartDate") {
293
- filteredData = filteredData.filter((obj) => this.isObjectInTheRange(obj, value, key));
294
- } else if (key === "period" ) {
295
- filteredData = filteredData.filter((obj) => this.getDataInTheDateRange(obj, value, key));
296
- }
297
- else if (key === "StartTimeForFilter" || key === "EndTimeForFilter"
298
- || key === "start_time_for_filter" || key === "end_time_for_filter" || key == "time") {
299
- filteredData = filteredData.filter((obj) => this.returnDataForFromAndToTimeRange(obj, value, key));
300
- }
301
- else if (key === "startEndTimeMulti" || key == "startEndTime" || key === "TimeBand") {
302
- filteredData = filteredData.filter((obj) => this.returnDataForStartAndEndTimeRange(obj, value, key));
303
- }
304
- else if (value.length > 0) {
305
- filteredData = filteredData.filter((u) => value.includes(u[key]));
306
- }
307
- }
308
- });
309
- return filteredData;
310
- }
311
-
312
- returnOrdersInTheRange(order: any, range: any, key: any) {
313
- let isDateBetweenTheSelectedRange = dayjs(order[key]).isBetween(range.minSelectedDate, range.maxSelectedDate);
314
- let isDateSameAsTheMinSelectedDate = dayjs(order[key]).isSame(range.minSelectedDate);
315
- let isDateSameAsTheMaxSelectedDate = dayjs(order[key]).isSame(range.maxSelectedDate);
316
- return isDateBetweenTheSelectedRange || isDateSameAsTheMinSelectedDate || isDateSameAsTheMaxSelectedDate;
317
- }
318
-
319
- returnDataForTimeRange(obj: any, selectedData: any) {
320
- let format = "HH:mm:ss";
321
- let selectedStartDate = dayjs(selectedData.startTime, format);
322
- let selectedEndDate = dayjs(selectedData.endTime, format);
323
- let startTime = dayjs(obj.startTime, format);
324
- let endTime = dayjs(obj.endTime, format);
325
-
326
- let isStartTimeSameAsSelectedStartTime = startTime.isSame(selectedStartDate);
327
- let isStartTimeBetweenSelectedStartAndEndTime = startTime.isBetween(selectedStartDate, selectedEndDate);
328
- let isEndTimeSameAsSelectedEndTime = endTime.isSame(selectedEndDate);
329
- let isEndTimeBetweenSelectedStartAndEndTime = endTime.isBetween(selectedStartDate, selectedEndDate);
330
-
331
- return (
332
- (isStartTimeBetweenSelectedStartAndEndTime && isEndTimeBetweenSelectedStartAndEndTime) ||
333
- (isStartTimeSameAsSelectedStartTime && isEndTimeSameAsSelectedEndTime) ||
334
- (isStartTimeSameAsSelectedStartTime && isEndTimeBetweenSelectedStartAndEndTime) ||
335
- (isStartTimeBetweenSelectedStartAndEndTime && isEndTimeSameAsSelectedEndTime)
336
- );
337
- }
338
-
339
- returnDataForFromAndToTimeRange(obj: any, selectedData: any, key: any) {
340
- let format = "HH:mm:ss";
341
- let selectedFromTime = dayjs(selectedData.fromTime, format);
342
- let selectedToTime = dayjs(selectedData.toTime, format);
343
- let objTime = obj[key];
344
-
345
- if (["", "-", null].includes(objTime)) {
346
- return false;
347
- }
348
- if (selectedData.includeMulti && obj[key] == "<multi>") {
349
- return true;
350
- }
351
- if (!selectedData.includeMulti && obj[key] == "<multi>") {
352
- return false;
353
- }
354
- if (selectedData.includeZero && obj[key] == "0") {
355
- return true;
356
- }
357
- if (!selectedData.includeZero && obj[key] == "0") {
358
- return false;
359
- }
360
- if (!selectedData.includeTimeRange) {
361
- return false;
362
- }
363
-
364
-
365
- let dayjsTime = dayjs(objTime,format);
366
-
367
- let isObjTimeSameAsSelectedFromTime = dayjsTime.isSame(selectedFromTime);
368
- let isObjTimeSameAsSelectedToTime = dayjsTime.isSame(selectedToTime);
369
- let isObjTimeBetweenSelectedFromTimeAndToTime = dayjsTime.isBetween(selectedFromTime, selectedToTime);
370
-
371
- return (
372
- isObjTimeSameAsSelectedFromTime ||
373
- isObjTimeSameAsSelectedToTime ||
374
- isObjTimeBetweenSelectedFromTimeAndToTime
375
- );
376
- }
377
-
378
- returnDataForStartAndEndTimeRange(obj: any, selectedData:any, key: string) {
379
- let format = "HH:mm:ss";
380
- let selectedFromTime = dayjs(selectedData.fromTime, format);
381
- let selectedToTime = dayjs(selectedData.toTime, format);
382
-
383
- if(selectedData.includeMulti && obj[key][0] == "<multi>") {
384
- return true;
385
- }
386
-
387
- if(!selectedData.includeMulti && obj[key][0] == "<multi>") {
388
- return false;
389
- }
390
-
391
- if(selectedData.includeZero && obj[key][0] == "0") {
392
- return true;
393
- }
394
-
395
- if(!selectedData.includeZero && obj[key][0] == "0") {
396
- return false;
397
- }
398
-
399
- if(!selectedData.includeTimeRange) {
400
- return false;
401
- }
402
-
403
- let startTime = dayjs(obj[key][1], format);
404
- let endTime = dayjs(obj[key][2], format);
405
-
406
- let isStartTimeSameAsSelectedStartTime = startTime.isSame(selectedFromTime);
407
- let isStartTimeBetweenSelectedStartAndEndTime = startTime.isBetween(selectedFromTime, selectedToTime);
408
- let isEndTimeSameAsSelectedEndTime = endTime.isSame(selectedToTime);
409
- let isEndTimeBetweenSelectedStartAndEndTime = endTime.isBetween(selectedFromTime, selectedToTime);
410
-
411
- return (
412
- (isStartTimeBetweenSelectedStartAndEndTime && isEndTimeBetweenSelectedStartAndEndTime) ||
413
- (isStartTimeSameAsSelectedStartTime && isEndTimeSameAsSelectedEndTime) ||
414
- (isStartTimeSameAsSelectedStartTime && isEndTimeBetweenSelectedStartAndEndTime) ||
415
- (isStartTimeBetweenSelectedStartAndEndTime && isEndTimeSameAsSelectedEndTime)
416
- );
417
-
418
- }
419
-
420
- getDataInTheDateRange(obj: any, value: any, key: any) {
421
- let parsingFormat: string;
422
- if (key === "period") {
423
- parsingFormat = "YYYY-MM-DD";
424
-
425
- let dayjsStartDate = dayjs(obj.startDate);
426
- let dayjsEndDate = dayjs(obj.endDate);
427
-
428
- let startDateIsBetweenSelDate = dayjsStartDate.isBetween(
429
- value.fromDate,
430
- value.toDate
431
- );
432
- let endDateIsBetweenSelDate = dayjsEndDate.isBetween(
433
- value.fromDate,
434
- value.toDate
435
- );
436
-
437
-
438
- let startDateIsSameAsSelStartDate = value.fromDate.isSame(dayjsStartDate);
439
- let endDateIsSameAsSelEndDate = value.toDate.isSame(dayjsEndDate);
440
-
441
- return (
442
- (startDateIsBetweenSelDate || startDateIsSameAsSelStartDate) &&
443
- (endDateIsBetweenSelDate || endDateIsSameAsSelEndDate)
444
- );
445
- } else if (key === "AirDate" || key === "flightStartDate" || key === "flightEndDate") {
446
- parsingFormat = "MM/DD/YYYY";
447
- let dateIsBetweenSelDate = dayjs(obj[key], parsingFormat).isBetween(value.minSelectedDate, value.maxSelectedDate);
448
-
449
- let dateIsSameAsSelStartDate = dayjs(obj[key], parsingFormat).isSame(value.minSelectedDate);
450
- let dateIsSameAsSelEndDate = dayjs(obj[key], parsingFormat).isSame(value.maxSelectedDate);
451
-
452
- return dateIsBetweenSelDate || dateIsSameAsSelStartDate || dateIsSameAsSelEndDate;
453
- }
454
- }
455
-
456
-
457
- public initializeTimeFilterData(clonedData: any[], key = "startEndTime") {
458
- let startTimeArr = map(clonedData, "startTime");
459
- let endTimeArr = map(clonedData, "endTime");
460
-
461
- startTimeArr.sort((a: any, b: any) => {
462
- return this.dateTimeFormatService.sortByTimeAscending(a, b);
463
- });
464
-
465
- endTimeArr.sort((a: any, b: any) => {
466
- return this.dateTimeFormatService.sortByTimeDescending(a, b);
467
- });
468
-
469
- let initialStartEndTime = {
470
- startTime: startTimeArr[0],
471
- endTime: endTimeArr[0],
472
- };
473
- this.initialValueMap.set(key, initialStartEndTime);
474
- }
475
-
476
- returnColumnFilterStatus(data: any[], headerName: string | number) {
477
-
478
- if(headerName == "startEndTime"){
479
- let time = data.map(u => u[headerName][0]);
480
- let uniqTime = uniq(time);
481
- return uniqTime.length == 0;
482
- }
483
-
484
- return uniq(data.map((u) => u[headerName])).length > 1 ? false : true;
485
- }
486
-
487
- getFilterOptionsData(data: any[], clonedData: any[], key?: string){
488
- let appliedFilterSet = new Set(this.appliedFiltersArray);
489
- key = key ? key : this.selectedRadio;
490
- if(appliedFilterSet.has(key)){
491
- return this.filterData(clonedData, key);
492
- }
493
- else{
494
- return data;
495
- }
496
- }
497
-
498
- reOrderAppliedFiltersState(clonedData: any[], value: any){
499
- let isFiltered = true;
500
- isFiltered = this.checkIfFilterIsApplied(clonedData,value);
501
- this.removeOrChangeLatestFilterIndex(isFiltered);
502
- return isFiltered;
503
- }
504
-
505
- checkIfFilterIsApplied(clonedData: any[],value: any){
506
- let initialValueOfColumn = sortBy(clonedData.map(item => item[this.selectedRadio]));
507
- let currentValueOfColumn = sortBy(this.applyFilter(clonedData,value).map(item => item[this.selectedRadio]));
508
- return !isEqual(initialValueOfColumn, currentValueOfColumn);
509
- }
510
-
511
- applyFilter(data: any[],value: any){
512
- let filteredData = data;
513
- let key = this.selectedRadio;
514
- if (this.sliderSet.has(key)) {
515
- filteredData = filteredData.filter((obj) => obj[key] >= value.min && obj[key] <= value.max);
516
- }
517
- else if (key === "startDate" || key === "endDate" || key === "AirDate" || key === "flightStartDate" || key === "flightEndDate" || key == "date" || key == "revisionStartDate") {
518
- filteredData = filteredData.filter((obj) => this.isObjectInTheRange(obj, value, key));
519
- } else if (key === "period" ) {
520
- filteredData = filteredData.filter((obj) => this.getDataInTheDateRange(obj, value, key));
521
- }
522
- else if (key === "StartTimeForFilter" || key === "EndTimeForFilter"
523
- || key === "start_time_for_filter" || key === "end_time_for_filter" || key == "time") {
524
- filteredData = filteredData.filter((obj) => this.returnDataForFromAndToTimeRange(obj, value, key));
525
- }
526
- else if (key === "startEndTimeMulti" || key == "startEndTime" || key === "TimeBand") {
527
- filteredData = filteredData.filter((obj) => this.returnDataForStartAndEndTimeRange(obj, value, key));
528
- }
529
- else if (value.length > 0) {
530
- filteredData = filteredData.filter((u) => value.includes(u[key]));
531
- }
532
- return filteredData;
533
- }
534
-
535
- isObjectInTheRange(obj: any, value: {fromDate: dayjs.Dayjs, toDate: dayjs.Dayjs},key:string){
536
- let objVal = obj[key];
537
- let dayjsDate = dayjs(objVal);
538
- let isDateSameAsStartOfTheRange = value.fromDate.isSame(objVal);
539
- let isDateSameAsEndOfTheRange = value.toDate.isSame(objVal);
540
- let isDateBetweenTheStartAndEndOfRange = dayjsDate.isBetween(value.fromDate,value.toDate);
541
- return isDateSameAsStartOfTheRange || isDateSameAsEndOfTheRange || isDateBetweenTheStartAndEndOfRange;
542
- }
543
-
544
- updateStateOfTheCurrentFilterTab(sortMap: Map<string, SortType>){
545
- let activeKey = this.selectedRadio;
546
- let keyArr: string[] = [];
547
- Object.keys(this.isFilterSortActive).forEach(key => {
548
- if(key.includes(activeKey)){
549
- keyArr = key.split(",");
550
- this.isFilterSortActive[key] = this.isTooltipActive(keyArr, sortMap);
551
- }
552
- });
553
-
554
- }
555
-
556
- updateStateOfAllTheKeys(sortMap: Map<string, SortType>){
557
- Object.keys(this.isFilterSortActive).forEach(key => {
558
- let keyArr = key.split(",");
559
- this.isFilterSortActive[key] = this.isTooltipActive(keyArr,sortMap);
560
- })
561
- }
562
-
563
- }
@@ -1,136 +0,0 @@
1
- // Angular import statements
2
- import { Injectable } from "@angular/core";
3
- import { ActivatedRoute, Router } from '@angular/router';
4
-
5
- // Third party import statements
6
- import { Subject } from "rxjs";
7
- import { cloneDeep } from "lodash-es";
8
-
9
- //sub-entries of anna lib import statement
10
- import { AnnaFilterService } from "./anna-filter.service";
11
- import { AnnaSortService } from "./anna-sort.service";
12
-
13
- @Injectable({
14
- providedIn: "root",
15
- })
16
- export class AnnaGtHelperService {
17
-
18
- virtualScrollSubject = new Subject();
19
- constructor(
20
- private annaFilterService: AnnaFilterService,
21
- private router: Router,
22
- private route: ActivatedRoute,
23
- private annaSortService: AnnaSortService){
24
- console.log(this.annaFilterService)
25
- console.log(this.annaSortService)
26
- }
27
-
28
- calculateNumberOfSkeletonColumnsForTable(tableHeaders: any[]): number[][] {
29
- let numberOfSkeletonColumns: any[][] = [];
30
- var headersInEachColumn = 0;
31
- tableHeaders.forEach((column) => {
32
- if (column.visible) {
33
- headersInEachColumn = 0;
34
- column.headerInfo.forEach(() => {
35
- headersInEachColumn++;
36
- })
37
- numberOfSkeletonColumns.push(Array(headersInEachColumn).fill(0));
38
- }
39
- })
40
- return numberOfSkeletonColumns;
41
- }
42
-
43
- initColumnFilterAndSorting() {
44
- this.annaFilterService.tooltipSelectedMap = new Map();
45
- this.annaFilterService.selectedRadio = null;
46
- this.annaFilterService.appliedFiltersArray = [];
47
- this.annaFilterService.initialValueMap = new Map();
48
- this.annaSortService.columnSortState = new Map();
49
- this.annaSortService.noSortingAppliedData = [];
50
- }
51
-
52
-
53
- enableOrDisableClearAllBtn(): boolean {
54
- let isFilterApplied = this.annaFilterService.appliedFiltersArray.length > 0;
55
-
56
- let isSortApplied = false;
57
- for (let val of this.annaSortService.columnSortState.values()) {
58
- if (val == "ASC" || val == "DESC") {
59
- isSortApplied = true;
60
- }
61
- }
62
- return isFilterApplied || isSortApplied ? false : true;
63
- }
64
-
65
- updateFiltersInURL(){
66
- let latestQueryParams = this.prepareQueryParamsOnFilter();
67
- this.router.navigate([],{
68
- queryParams: { filters: JSON.stringify(latestQueryParams) },
69
- relativeTo: this.route.parent,
70
- queryParamsHandling: 'merge'
71
- });
72
- }
73
-
74
- prepareQueryParamsOnFilter() {
75
- if(!this.annaFilterService.appliedFiltersArray.length &&
76
- !this.annaFilterService.tooltipSelectedMap.size &&
77
- !this.annaSortService.columnSortState.size) {
78
- return null;
79
- }
80
-
81
- let query = {
82
- appliedFilters: this.annaFilterService.appliedFiltersArray,
83
- selectedFilterData: JSON.stringify(Array.from(this.annaFilterService.tooltipSelectedMap)),
84
- sortState: JSON.stringify(Array.from(this.annaSortService.columnSortState))
85
- }
86
- return query;
87
- }
88
-
89
- initTableFilters(clonedTableData: any) {
90
- this.annaFilterService.tooltipSelectedMap = new Map();
91
- this.annaFilterService.selectedRadio = null;
92
- this.annaFilterService.appliedFiltersArray = [];
93
-
94
- this.annaSortService.columnSortState = new Map();
95
-
96
- this.annaSortService.noSortingAppliedData = cloneDeep(clonedTableData);
97
- this.annaFilterService.updateStateOfAllTheKeys(this.annaSortService.columnSortState);
98
- }
99
-
100
- initFilters(){
101
- this.annaFilterService.tooltipSelectedMap = new Map();
102
- this.annaFilterService.appliedFiltersArray = [];
103
- }
104
-
105
- setDataAsPerPersistingFilter(isPersistingFilter: boolean, clonedTable: any, filters: any): any{
106
- let usersTable;
107
- if(isPersistingFilter){
108
- usersTable = this.annaFilterService.filterData(clonedTable, "");
109
- this.annaSortService.noSortingAppliedData = cloneDeep(usersTable);
110
-
111
- this.annaSortService.columnSortState = new Map(JSON.parse(filters.sortState));
112
- this.annaFilterService.updateStateOfAllTheKeys(this.annaSortService.columnSortState);
113
- usersTable = this.callSort(usersTable);
114
- }
115
- else {
116
- usersTable = clonedTable;
117
- this.annaSortService.noSortingAppliedData = cloneDeep(usersTable);
118
- }
119
- return usersTable;
120
- }
121
-
122
- callSort(usersTable: any): any {
123
- for (let [key, value] of this.annaSortService.columnSortState) {
124
- if (value == "ASC") {
125
- usersTable = this.annaSortService.sortDataForComponentOtherThanLurAndCsrPage(true, usersTable, key);
126
- }
127
- else if (value == "DESC") {
128
- usersTable = this.annaSortService.sortDataForComponentOtherThanLurAndCsrPage(false, usersTable, key);
129
- }
130
- }
131
- return usersTable;
132
- }
133
-
134
-
135
-
136
- }