@annalib/anna-core 20.3.0 → 20.3.2

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 (175) hide show
  1. package/README.md +28 -24
  2. package/{esm2020 → esm2022}/annalib-anna-core.mjs +4 -4
  3. package/esm2022/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.mjs +12 -0
  4. package/esm2022/lib/anna-core-shared-lib/components/anna-deleted-order-icon-template/anna-deleted-order-icon-template.component.mjs +11 -0
  5. package/esm2022/lib/anna-core-shared-lib/components/anna-est-icon-template/anna-est-icon-template.component.mjs +11 -0
  6. package/esm2022/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.mjs +46 -0
  7. package/esm2022/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.mjs +12 -0
  8. package/esm2022/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.mjs +22 -0
  9. package/esm2022/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.mjs +11 -0
  10. package/esm2022/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.mjs +20 -0
  11. package/esm2022/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.mjs +12 -0
  12. package/esm2022/lib/anna-core-shared-lib/constants/shared.constant.mjs +47 -0
  13. package/esm2022/lib/anna-core-shared-lib/directives/digits-only/digits-only.directive.mjs +266 -0
  14. package/esm2022/lib/anna-core-shared-lib/directives/fixed-rows-popup-table/fixed-rows-popup-table.directive.mjs +46 -0
  15. package/esm2022/lib/anna-core-shared-lib/directives/show-ellipsis-text/show-ellipsis-text.directive.mjs +41 -0
  16. package/esm2022/lib/anna-core-shared-lib/models/anna-generic-data-type.model.mjs +2 -0
  17. package/esm2022/lib/anna-core-shared-lib/models/anna-global-dropdown-config.model.mjs +2 -0
  18. package/esm2022/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.mjs +22 -0
  19. package/esm2022/lib/anna-core-shared-lib/models/anna-sort.model.mjs +7 -0
  20. package/{esm2020 → esm2022}/lib/anna-core-shared-lib/models/anna-tooltip.model.mjs +30 -30
  21. package/esm2022/lib/anna-core-shared-lib/pipes/annaConvertArrayToCommaSeperatedValue.pipe.mjs +39 -0
  22. package/esm2022/lib/anna-core-shared-lib/pipes/annaConvertZeroOrNullOrUndefined.pipe.mjs +27 -0
  23. package/esm2022/lib/anna-core-shared-lib/pipes/annaDateFormatter.pipe.mjs +21 -0
  24. package/esm2022/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.mjs +53 -0
  25. package/esm2022/lib/anna-core-shared-lib/pipes/annaReplaceChar.pipe.mjs +27 -0
  26. package/esm2022/lib/anna-core-shared-lib/pipes/annaTypeOfData.pipe.mjs +17 -0
  27. package/esm2022/lib/anna-core-shared-lib/services/anna-date-time-format.service.mjs +229 -0
  28. package/esm2022/lib/anna-core-shared-lib/services/anna-filter.service.mjs +1265 -0
  29. package/esm2022/lib/anna-core-shared-lib/services/anna-generic-table.service.mjs +149 -0
  30. package/esm2022/lib/anna-core-shared-lib/services/anna-global-config.service.mjs +135 -0
  31. package/esm2022/lib/anna-core-shared-lib/services/anna-number-format.service.mjs +59 -0
  32. package/esm2022/lib/anna-core-shared-lib/services/anna-persisting-filter.service.mjs +64 -0
  33. package/esm2022/lib/anna-core-shared-lib/services/anna-sort.service.mjs +176 -0
  34. package/esm2022/lib/anna-core.module.mjs +222 -0
  35. package/esm2022/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.mjs +160 -0
  36. package/esm2022/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.mjs +359 -0
  37. package/esm2022/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-checkbox-filter/anna-column-checkbox-filter.component.mjs +256 -0
  38. package/esm2022/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-date-range-filter/anna-column-date-range-filter.component.mjs +186 -0
  39. package/esm2022/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-slider-filter/anna-column-slider-filter.component.mjs +316 -0
  40. package/esm2022/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-time-filter/anna-column-time-filter.component.mjs +295 -0
  41. package/esm2022/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.mjs +870 -0
  42. package/esm2022/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.mjs +68 -0
  43. package/esm2022/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.mjs +353 -0
  44. package/esm2022/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/anna-fixed-row-size-table-virtual-scroll-strategy.directive.mjs +204 -0
  45. package/{esm2020 → esm2022}/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/index.mjs +1 -1
  46. package/esm2022/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.mjs +186 -0
  47. package/{esm2020 → esm2022}/lib/anna-generic-table-lib/directives/anna-virtual-table/index.mjs +1 -1
  48. package/esm2022/public-api.mjs +59 -0
  49. package/fesm2022/annalib-anna-core.mjs +6111 -0
  50. package/fesm2022/annalib-anna-core.mjs.map +1 -0
  51. package/index.d.ts +5 -5
  52. package/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.d.ts +5 -8
  53. package/lib/anna-core-shared-lib/components/anna-deleted-order-icon-template/anna-deleted-order-icon-template.component.d.ts +5 -8
  54. package/lib/anna-core-shared-lib/components/anna-est-icon-template/anna-est-icon-template.component.d.ts +5 -0
  55. package/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.d.ts +15 -17
  56. package/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.d.ts +5 -8
  57. package/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.d.ts +11 -11
  58. package/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.d.ts +5 -8
  59. package/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.d.ts +9 -12
  60. package/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.d.ts +5 -8
  61. package/lib/anna-core-shared-lib/constants/shared.constant.d.ts +45 -41
  62. package/lib/anna-core-shared-lib/directives/digits-only/digits-only.directive.d.ts +34 -34
  63. package/lib/anna-core-shared-lib/directives/fixed-rows-popup-table/fixed-rows-popup-table.directive.d.ts +16 -16
  64. package/lib/anna-core-shared-lib/directives/show-ellipsis-text/show-ellipsis-text.directive.d.ts +10 -10
  65. package/lib/anna-core-shared-lib/models/anna-generic-data-type.model.d.ts +16 -16
  66. package/lib/anna-core-shared-lib/models/anna-global-dropdown-config.model.d.ts +97 -97
  67. package/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.d.ts +128 -118
  68. package/lib/anna-core-shared-lib/models/anna-sort.model.d.ts +11 -11
  69. package/lib/anna-core-shared-lib/models/anna-tooltip.model.d.ts +25 -25
  70. package/lib/anna-core-shared-lib/pipes/annaConvertArrayToCommaSeperatedValue.pipe.d.ts +9 -0
  71. package/lib/anna-core-shared-lib/pipes/annaConvertZeroOrNullOrUndefined.pipe.d.ts +9 -9
  72. package/lib/anna-core-shared-lib/pipes/annaDateFormatter.pipe.d.ts +7 -8
  73. package/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.d.ts +9 -9
  74. package/lib/anna-core-shared-lib/pipes/annaReplaceChar.pipe.d.ts +9 -9
  75. package/lib/anna-core-shared-lib/pipes/annaTypeOfData.pipe.d.ts +7 -7
  76. package/lib/anna-core-shared-lib/services/anna-date-time-format.service.d.ts +30 -28
  77. package/lib/anna-core-shared-lib/services/anna-filter.service.d.ts +154 -154
  78. package/lib/anna-core-shared-lib/services/anna-generic-table.service.d.ts +27 -27
  79. package/lib/anna-core-shared-lib/services/anna-global-config.service.d.ts +21 -21
  80. package/lib/anna-core-shared-lib/services/anna-number-format.service.d.ts +8 -8
  81. package/lib/anna-core-shared-lib/services/anna-persisting-filter.service.d.ts +8 -9
  82. package/lib/anna-core-shared-lib/services/anna-sort.service.d.ts +18 -18
  83. package/lib/anna-core.module.d.ts +45 -43
  84. package/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.d.ts +45 -45
  85. package/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.d.ts +70 -70
  86. package/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-checkbox-filter/anna-column-checkbox-filter.component.d.ts +60 -60
  87. package/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-date-range-filter/anna-column-date-range-filter.component.d.ts +53 -53
  88. package/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-slider-filter/anna-column-slider-filter.component.d.ts +65 -65
  89. package/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-time-filter/anna-column-time-filter.component.d.ts +83 -83
  90. package/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.d.ts +175 -174
  91. package/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.d.ts +17 -17
  92. package/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.d.ts +141 -141
  93. 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 -89
  94. package/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/index.d.ts +1 -1
  95. package/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.d.ts +45 -45
  96. package/lib/anna-generic-table-lib/directives/anna-virtual-table/index.d.ts +1 -1
  97. package/package.json +13 -18
  98. package/public-api.d.ts +42 -41
  99. package/src/lib/anna-common-scss/_animate.scss +27 -27
  100. package/src/lib/anna-common-scss/_application-spacing.scss +7 -6
  101. package/src/lib/anna-common-scss/_bootstrap-tooltip.scss +27 -25
  102. package/src/lib/anna-common-scss/_button.scss +18 -18
  103. package/src/lib/anna-common-scss/_colors.scss +107 -107
  104. package/src/lib/anna-common-scss/_common-order-listing-table.scss +176 -165
  105. package/src/lib/anna-common-scss/_custom-anna-datepicker.scss +14 -14
  106. package/src/lib/anna-common-scss/_customDropdown.scss +123 -122
  107. package/src/lib/anna-common-scss/_dashboard-partials.scss +106 -104
  108. package/src/lib/anna-common-scss/_date-picker-form.scss +87 -87
  109. package/src/lib/anna-common-scss/_easy-filter.scss +138 -158
  110. package/src/lib/anna-common-scss/_edit-filter-popup.scss +70 -71
  111. package/src/lib/anna-common-scss/_filters.scss +724 -713
  112. package/src/lib/anna-common-scss/_font.scss +9 -10
  113. package/src/lib/anna-common-scss/_fonts.scss +86 -86
  114. package/src/lib/anna-common-scss/_generic-modal.scss +63 -59
  115. package/src/lib/anna-common-scss/_generic-table-common.scss +198 -203
  116. package/src/lib/anna-common-scss/_gt-table.scss +425 -434
  117. package/src/lib/anna-common-scss/_icons.scss +3 -0
  118. package/src/lib/anna-common-scss/_legend.scss +11 -11
  119. package/src/lib/anna-common-scss/_mat-button-toggle.scss +38 -38
  120. package/src/lib/anna-common-scss/_mat-menu.scss +17 -17
  121. package/src/lib/anna-common-scss/_mixins.scss +187 -188
  122. package/src/lib/anna-common-scss/_modal.scss +37 -37
  123. package/src/lib/anna-common-scss/_popup-filter-toggle-button.scss +36 -0
  124. package/src/lib/anna-common-scss/_scrollbar.scss +14 -14
  125. package/src/lib/anna-common-scss/_sort.scss +30 -30
  126. package/src/lib/anna-common-scss/_toggle.scss +86 -84
  127. package/src/lib/anna-common-scss/style.scss +1 -1
  128. package/src/lib/anna-common-scss/third-party-lib/_angular-material-mat-radio.scss +25 -21
  129. package/src/lib/anna-common-scss/third-party-lib/_anna-mat-button-toggle-group-size-lg.scss +34 -0
  130. package/src/lib/anna-common-scss/third-party-lib/_mat-autocomplete.scss +31 -28
  131. package/esm2020/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.mjs +0 -15
  132. package/esm2020/lib/anna-core-shared-lib/components/anna-deleted-order-icon-template/anna-deleted-order-icon-template.component.mjs +0 -14
  133. package/esm2020/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.mjs +0 -36
  134. package/esm2020/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.mjs +0 -15
  135. package/esm2020/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.mjs +0 -22
  136. package/esm2020/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.mjs +0 -14
  137. package/esm2020/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.mjs +0 -23
  138. package/esm2020/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.mjs +0 -15
  139. package/esm2020/lib/anna-core-shared-lib/constants/shared.constant.mjs +0 -43
  140. package/esm2020/lib/anna-core-shared-lib/directives/digits-only/digits-only.directive.mjs +0 -284
  141. package/esm2020/lib/anna-core-shared-lib/directives/fixed-rows-popup-table/fixed-rows-popup-table.directive.mjs +0 -43
  142. package/esm2020/lib/anna-core-shared-lib/directives/show-ellipsis-text/show-ellipsis-text.directive.mjs +0 -36
  143. package/esm2020/lib/anna-core-shared-lib/models/anna-generic-data-type.model.mjs +0 -2
  144. package/esm2020/lib/anna-core-shared-lib/models/anna-global-dropdown-config.model.mjs +0 -2
  145. package/esm2020/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.mjs +0 -11
  146. package/esm2020/lib/anna-core-shared-lib/models/anna-sort.model.mjs +0 -7
  147. package/esm2020/lib/anna-core-shared-lib/pipes/annaConvertZeroOrNullOrUndefined.pipe.mjs +0 -26
  148. package/esm2020/lib/anna-core-shared-lib/pipes/annaDateFormatter.pipe.mjs +0 -22
  149. package/esm2020/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.mjs +0 -53
  150. package/esm2020/lib/anna-core-shared-lib/pipes/annaReplaceChar.pipe.mjs +0 -25
  151. package/esm2020/lib/anna-core-shared-lib/pipes/annaTypeOfData.pipe.mjs +0 -16
  152. package/esm2020/lib/anna-core-shared-lib/services/anna-date-time-format.service.mjs +0 -208
  153. package/esm2020/lib/anna-core-shared-lib/services/anna-filter.service.mjs +0 -1145
  154. package/esm2020/lib/anna-core-shared-lib/services/anna-generic-table.service.mjs +0 -151
  155. package/esm2020/lib/anna-core-shared-lib/services/anna-global-config.service.mjs +0 -132
  156. package/esm2020/lib/anna-core-shared-lib/services/anna-number-format.service.mjs +0 -53
  157. package/esm2020/lib/anna-core-shared-lib/services/anna-persisting-filter.service.mjs +0 -66
  158. package/esm2020/lib/anna-core-shared-lib/services/anna-sort.service.mjs +0 -175
  159. package/esm2020/lib/anna-core.module.mjs +0 -213
  160. package/esm2020/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.mjs +0 -151
  161. package/esm2020/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.mjs +0 -364
  162. package/esm2020/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-checkbox-filter/anna-column-checkbox-filter.component.mjs +0 -237
  163. package/esm2020/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-date-range-filter/anna-column-date-range-filter.component.mjs +0 -180
  164. package/esm2020/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-slider-filter/anna-column-slider-filter.component.mjs +0 -306
  165. package/esm2020/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-time-filter/anna-column-time-filter.component.mjs +0 -291
  166. package/esm2020/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.mjs +0 -781
  167. package/esm2020/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.mjs +0 -64
  168. package/esm2020/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.mjs +0 -357
  169. 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 +0 -189
  170. package/esm2020/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.mjs +0 -178
  171. package/esm2020/public-api.mjs +0 -57
  172. package/fesm2015/annalib-anna-core.mjs +0 -5782
  173. package/fesm2015/annalib-anna-core.mjs.map +0 -1
  174. package/fesm2020/annalib-anna-core.mjs +0 -5774
  175. package/fesm2020/annalib-anna-core.mjs.map +0 -1
@@ -0,0 +1,149 @@
1
+ import { Injectable } from "@angular/core";
2
+ import { ActivatedRoute, Router } from "@angular/router";
3
+ import { cloneDeep } from "lodash-es";
4
+ import { Subject } from "rxjs";
5
+ import { AnnaFilterService } from "./anna-filter.service";
6
+ import { AnnaSortService } from "./anna-sort.service";
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "./anna-filter.service";
9
+ import * as i2 from "@angular/router";
10
+ import * as i3 from "./anna-sort.service";
11
+ export class AnnaGtHelperService {
12
+ constructor(annaFilterService, router, route, annaSortService) {
13
+ this.annaFilterService = annaFilterService;
14
+ this.router = router;
15
+ this.route = route;
16
+ this.annaSortService = annaSortService;
17
+ this.virtualScrollSubject = new Subject();
18
+ }
19
+ calculateNumberOfSkeletonColumnsForTable(tableHeaders) {
20
+ const numberOfSkeletonColumns = [];
21
+ let headersInEachColumn = 0;
22
+ tableHeaders.forEach((column) => {
23
+ if (column.visible) {
24
+ headersInEachColumn = 0;
25
+ column.headerInfo.forEach(() => {
26
+ headersInEachColumn += 1;
27
+ });
28
+ numberOfSkeletonColumns.push(Array(headersInEachColumn).fill(0));
29
+ }
30
+ });
31
+ return numberOfSkeletonColumns;
32
+ }
33
+ initColumnFilterAndSorting() {
34
+ this.annaFilterService.tooltipSelectedMap = new Map();
35
+ this.annaFilterService.selectedRadio = null;
36
+ this.annaFilterService.appliedFiltersArray = [];
37
+ this.annaFilterService.initialValueMap = new Map();
38
+ this.annaSortService.columnSortState = new Map();
39
+ this.annaSortService.noSortingAppliedData = [];
40
+ }
41
+ enableOrDisableClearAllBtn() {
42
+ const isFilterApplied = this.annaFilterService.appliedFiltersArray.length > 0;
43
+ const isSortApplied = this.isSortingAppliedToTable();
44
+ return !(isFilterApplied || isSortApplied);
45
+ }
46
+ updateFiltersInURL() {
47
+ const latestQueryParams = this.prepareQueryParamsOnFilter();
48
+ if (Object.keys(latestQueryParams).length > 0) {
49
+ this.router.navigate([], {
50
+ queryParams: { filters: JSON.stringify(latestQueryParams) },
51
+ relativeTo: this.route.parent,
52
+ queryParamsHandling: "merge",
53
+ });
54
+ }
55
+ else {
56
+ this.router.navigate([], {
57
+ relativeTo: this.route.parent,
58
+ });
59
+ }
60
+ }
61
+ prepareQueryParamsOnFilter() {
62
+ const query = {};
63
+ if (this.annaFilterService.appliedFiltersArray.length > 0) {
64
+ query.appliedFilters = this.annaFilterService.appliedFiltersArray;
65
+ query.selectedFilterData = JSON.stringify(Array.from(this.annaFilterService.tooltipSelectedMap));
66
+ }
67
+ if (this.checkIfSortingIsApplied()) {
68
+ query.sortState = JSON.stringify(Array.from(this.annaSortService.columnSortState));
69
+ }
70
+ return query;
71
+ }
72
+ checkIfSortingIsApplied() {
73
+ let isSortingApplied = false;
74
+ this.annaSortService.columnSortState.forEach((value, key) => {
75
+ if (value === "ASC" || value === "DESC") {
76
+ isSortingApplied = true;
77
+ }
78
+ });
79
+ return isSortingApplied;
80
+ }
81
+ initTableFilters(clonedTableData) {
82
+ this.annaFilterService.tooltipSelectedMap = new Map();
83
+ this.annaFilterService.selectedRadio = null;
84
+ this.annaFilterService.appliedFiltersArray = [];
85
+ this.annaSortService.columnSortState = new Map();
86
+ this.annaSortService.noSortingAppliedData = cloneDeep(clonedTableData);
87
+ this.annaFilterService.updateStateOfAllTheKeys(this.annaSortService.columnSortState);
88
+ }
89
+ initFilters() {
90
+ this.annaFilterService.tooltipSelectedMap = new Map();
91
+ this.annaFilterService.appliedFiltersArray = [];
92
+ }
93
+ setDataAsPerPersistingFilter(isPersistingFilter, clonedTable, filters) {
94
+ let usersTable;
95
+ if (isPersistingFilter) {
96
+ usersTable = this.annaFilterService.filterData(clonedTable, "");
97
+ this.annaSortService.noSortingAppliedData = cloneDeep(usersTable);
98
+ }
99
+ else {
100
+ usersTable = clonedTable;
101
+ this.annaSortService.noSortingAppliedData = cloneDeep(usersTable);
102
+ }
103
+ if (filters?.sortState) {
104
+ this.annaSortService.columnSortState = new Map(JSON.parse(filters.sortState));
105
+ usersTable = this.callSort(usersTable);
106
+ }
107
+ this.annaFilterService.updateStateOfAllTheKeys(this.annaSortService.columnSortState);
108
+ return usersTable;
109
+ }
110
+ callSort(usersTable) {
111
+ let sortedUsersTableData = usersTable;
112
+ this.annaSortService.columnSortState.forEach((value, key) => {
113
+ if (value === "ASC") {
114
+ sortedUsersTableData = this.annaSortService.sortDataForComponentOtherThanLurAndCsrPage(true, usersTable, key);
115
+ }
116
+ else if (value === "DESC") {
117
+ sortedUsersTableData = this.annaSortService.sortDataForComponentOtherThanLurAndCsrPage(false, usersTable, key);
118
+ }
119
+ });
120
+ return sortedUsersTableData;
121
+ }
122
+ isSortingAppliedToTable() {
123
+ let isSortingApplied = false;
124
+ this.annaSortService.columnSortState.forEach((value, key) => {
125
+ if (value === "ASC" || value === "DESC") {
126
+ isSortingApplied = true;
127
+ }
128
+ });
129
+ return isSortingApplied;
130
+ }
131
+ updateQueryParamsFilter(key, value, operation, queryParamObj) {
132
+ if (operation === "ADD") {
133
+ queryParamObj[key] = value;
134
+ }
135
+ else if (operation === "DELETE") {
136
+ delete queryParamObj[key];
137
+ }
138
+ return queryParamObj;
139
+ }
140
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaGtHelperService, deps: [{ token: i1.AnnaFilterService }, { token: i2.Router }, { token: i2.ActivatedRoute }, { token: i3.AnnaSortService }], target: i0.ɵɵFactoryTarget.Injectable }); }
141
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaGtHelperService, providedIn: "root" }); }
142
+ }
143
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaGtHelperService, decorators: [{
144
+ type: Injectable,
145
+ args: [{
146
+ providedIn: "root",
147
+ }]
148
+ }], ctorParameters: function () { return [{ type: i1.AnnaFilterService }, { type: i2.Router }, { type: i2.ActivatedRoute }, { type: i3.AnnaSortService }]; } });
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1nZW5lcmljLXRhYmxlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLWdlbmVyaWMtdGFibGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7QUFLdEQsTUFBTSxPQUFPLG1CQUFtQjtJQUU1QixZQUNZLGlCQUFvQyxFQUNwQyxNQUFjLEVBQ2QsS0FBcUIsRUFDckIsZUFBZ0M7UUFIaEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBTDVDLHlCQUFvQixHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFNbEMsQ0FBQztJQUVKLHdDQUF3QyxDQUFDLFlBQW1CO1FBQ3hELE1BQU0sdUJBQXVCLEdBQVksRUFBRSxDQUFDO1FBQzVDLElBQUksbUJBQW1CLEdBQUcsQ0FBQyxDQUFDO1FBQzVCLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUM1QixJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUU7Z0JBQ2hCLG1CQUFtQixHQUFHLENB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QUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUN4RCxJQUFJLEtBQUssS0FBSyxLQUFLLElBQUksS0FBSyxLQUFLLE1BQU0sRUFBRTtnQkFDckMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO2FBQzNCO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLGdCQUFnQixDQUFDO0lBQzVCLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxHQUFXLEVBQUUsS0FBVSxFQUFFLFNBQTJCLEVBQUUsYUFBa0I7UUFDNUYsSUFBSSxTQUFTLEtBQUssS0FBSyxFQUFFO1lBQ3JCLGFBQWEsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7U0FDOUI7YUFBTSxJQUFJLFNBQVMsS0FBSyxRQUFRLEVBQUU7WUFDL0IsT0FBTyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDN0I7UUFDRCxPQUFPLGFBQWEsQ0FBQztJQUN6QixDQUFDOytHQTlKUSxtQkFBbUI7bUhBQW5CLG1CQUFtQixjQUZoQixNQUFNOzs0RkFFVCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IGNsb25lRGVlcCB9IGZyb20gXCJsb2Rhc2gtZXNcIjtcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG5pbXBvcnQgeyBBbm5hRmlsdGVyU2VydmljZSB9IGZyb20gXCIuL2FubmEtZmlsdGVyLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQW5uYVNvcnRTZXJ2aWNlIH0gZnJvbSBcIi4vYW5uYS1zb3J0LnNlcnZpY2VcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46IFwicm9vdFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5uYUd0SGVscGVyU2VydmljZSB7XHJcbiAgICB2aXJ0dWFsU2Nyb2xsU3ViamVjdCA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIGFubmFGaWx0ZXJTZXJ2aWNlOiBBbm5hRmlsdGVyU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgICAgIHByaXZhdGUgYW5uYVNvcnRTZXJ2aWNlOiBBbm5hU29ydFNlcnZpY2UsXHJcbiAgICApIHt9XHJcblxyXG4gICAgY2FsY3VsYXRlTnVtYmVyT2ZTa2VsZXRvbkNvbHVtbnNGb3JUYWJsZSh0YWJsZUhlYWRlcnM6IGFueVtdKTogbnVtYmVyW11bXSB7XHJcbiAgICAgICAgY29uc3QgbnVtYmVyT2ZTa2VsZXRvbkNvbHVtbnM6IGFueVtdW10gPSBbXTtcclxuICAgICAgICBsZXQgaGVhZGVyc0luRWFjaENvbHVtbiA9IDA7XHJcbiAgICAgICAgdGFibGVIZWFkZXJzLmZvckVhY2goKGNvbHVtbikgPT4ge1xyXG4gICAgICAgICAgICBpZiAoY29sdW1uLnZpc2libGUpIHtcclxuICAgICAgICAgICAgICAgIGhlYWRlcnNJbkVhY2hDb2x1bW4gPSAwO1xyXG4gICAgICAgICAgICAgICAgY29sdW1uLmhlYWRlckluZm8uZm9yRWFjaCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyc0luRWFjaENvbHVtbiArPSAxO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICBudW1iZXJPZlNrZWxldG9uQ29sdW1ucy5wdXNoKEFycmF5KGhlYWRlcnNJbkVhY2hDb2x1bW4pLmZpbGwoMCkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIG51bWJlck9mU2tlbGV0b25Db2x1bW5zO1xyXG4gICAgfVxyXG5cclxuICAgIGluaXRDb2x1bW5GaWx0ZXJBbmRTb3J0aW5nKCkge1xyXG4gICAgICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2UudG9vbHRpcFNlbGVjdGVkTWFwID0gbmV3IE1hcCgpO1xyXG4gICAgICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2Uuc2VsZWN0ZWRSYWRpbyA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS5hcHBsaWVkRmlsdGVyc0FycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS5pbml0aWFsVmFsdWVNYXAgPSBuZXcgTWFwKCk7XHJcbiAgICAgICAgdGhpcy5hbm5hU29ydFNlcnZpY2UuY29sdW1uU29ydFN0YXRlID0gbmV3IE1hcCgpO1xyXG4gICAgICAgIHRoaXMuYW5uYVNvcnRTZXJ2aWNlLm5vU29ydGluZ0FwcGxpZWREYXRhID0gW107XHJcbiAgICB9XHJcblxyXG4gICAgZW5hYmxlT3JEaXNhYmxlQ2xlYXJBbGxCdG4oKTogYm9vbGVhbiB7XHJcbiAgICAgICAgY29uc3QgaXNGaWx0ZXJBcHBsaWVkID0gdGhpcy5hbm5hRmlsdGVyU2VydmljZS5hcHBsaWVkRmlsdGVyc0FycmF5Lmxlbmd0aCA+IDA7XHJcbiAgICAgICAgY29uc3QgaXNTb3J0QXBwbGllZCA9IHRoaXMuaXNTb3J0aW5nQXBwbGllZFRvVGFibGUoKTtcclxuXHJcbiAgICAgICAgcmV0dXJuICEoaXNGaWx0ZXJBcHBsaWVkIHx8IGlzU29ydEFwcGxpZWQpO1xyXG4gICAgfVxyXG5cclxuICAgIHVwZGF0ZUZpbHRlcnNJblVSTCgpIHtcclxuICAgICAgICBjb25zdCBsYXRlc3RRdWVyeVBhcmFtcyA9IHRoaXMucHJlcGFyZVF1ZXJ5UGFyYW1zT25GaWx0ZXIoKTtcclxuXHJcbiAgICAgICAgaWYgKE9iamVjdC5rZXlzKGxhdGVzdFF1ZXJ5UGFyYW1zKS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtdLCB7XHJcbiAgICAgICAgICAgICAgICBxdWVyeVBhcmFtczogeyBmaWx0ZXJzOiBKU09OLnN0cmluZ2lmeShsYXRlc3RRdWVyeVBhcmFtcykgfSxcclxuICAgICAgICAgICAgICAgIHJlbGF0aXZlVG86IHRoaXMucm91dGUucGFyZW50LFxyXG4gICAgICAgICAgICAgICAgcXVlcnlQYXJhbXNIYW5kbGluZzogXCJtZXJnZVwiLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXSwge1xyXG4gICAgICAgICAgICAgICAgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZS5wYXJlbnQsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcmVwYXJlUXVlcnlQYXJhbXNPbkZpbHRlcigpIHtcclxuICAgICAgICBjb25zdCBxdWVyeTogYW55ID0ge307XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmFwcGxpZWRGaWx0ZXJzQXJyYXkubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICBxdWVyeS5hcHBsaWVkRmlsdGVycyA9IHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuYXBwbGllZEZpbHRlcnNBcnJheTtcclxuICAgICAgICAgICAgcXVlcnkuc2VsZWN0ZWRGaWx0ZXJEYXRhID0gSlNPTi5zdHJpbmdpZnkoQXJyYXkuZnJvbSh0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLnRvb2x0aXBTZWxlY3RlZE1hcCkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMuY2hlY2tJZlNvcnRpbmdJc0FwcGxpZWQoKSkge1xyXG4gICAgICAgICAgICBxdWVyeS5zb3J0U3RhdGUgPSBKU09OLnN0cmluZ2lmeShBcnJheS5mcm9tKHRoaXMuYW5uYVNvcnRTZXJ2aWNlLmNvbHVtblNvcnRTdGF0ZSkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHF1ZXJ5O1xyXG4gICAgfVxyXG5cclxuICAgIGNoZWNrSWZTb3J0aW5nSXNBcHBsaWVkKCkge1xyXG4gICAgICAgIGxldCBpc1NvcnRpbmdBcHBsaWVkID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5hbm5hU29ydFNlcnZpY2UuY29sdW1uU29ydFN0YXRlLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcclxuICAgICAgICAgICAgaWYgKHZhbHVlID09PSBcIkFTQ1wiIHx8IHZhbHVlID09PSBcIkRFU0NcIikge1xyXG4gICAgICAgICAgICAgICAgaXNTb3J0aW5nQXBwbGllZCA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGlzU29ydGluZ0FwcGxpZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgaW5pdFRhYmxlRmlsdGVycyhjbG9uZWRUYWJsZURhdGE6IGFueSkge1xyXG4gICAgICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2UudG9vbHRpcFNlbGVjdGVkTWFwID0gbmV3IE1hcCgpO1xyXG4gICAgICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2Uuc2VsZWN0ZWRSYWRpbyA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS5hcHBsaWVkRmlsdGVyc0FycmF5ID0gW107XHJcblxyXG4gICAgICAgIHRoaXMuYW5uYVNvcnRTZXJ2aWNlLmNvbHVtblNvcnRTdGF0ZSA9IG5ldyBNYXAoKTtcclxuXHJcbiAgICAgICAgdGhpcy5hbm5hU29ydFNlcnZpY2Uubm9Tb3J0aW5nQXBwbGllZERhdGEgPSBjbG9uZURlZXAoY2xvbmVkVGFibGVEYXRhKTtcclxuICAgICAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLnVwZGF0ZVN0YXRlT2ZBbGxUaGVLZXlzKHRoaXMuYW5uYVNvcnRTZXJ2aWNlLmNvbHVtblNvcnRTdGF0ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgaW5pdEZpbHRlcnMoKSB7XHJcbiAgICAgICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS50b29sdGlwU2VsZWN0ZWRNYXAgPSBuZXcgTWFwKCk7XHJcbiAgICAgICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS5hcHBsaWVkRmlsdGVyc0FycmF5ID0gW107XHJcbiAgICB9XHJcblxyXG4gICAgc2V0RGF0YUFzUGVyUGVyc2lzdGluZ0ZpbHRlcihpc1BlcnNpc3RpbmdGaWx0ZXI6IGJvb2xlYW4sIGNsb25lZFRhYmxlOiBhbnksIGZpbHRlcnM6IGFueSk6IGFueSB7XHJcbiAgICAgICAgbGV0IHVzZXJzVGFibGU7XHJcbiAgICAgICAgaWYgKGlzUGVyc2lzdGluZ0ZpbHRlcikge1xyXG4gICAgICAgICAgICB1c2Vyc1RhYmxlID0gdGhpcy5hbm5hRmlsdGVyU2VydmljZS5maWx0ZXJEYXRhKGNsb25lZFRhYmxlLCBcIlwiKTtcclxuICAgICAgICAgICAgdGhpcy5hbm5hU29ydFNlcnZpY2Uubm9Tb3J0aW5nQXBwbGllZERhdGEgPSBjbG9uZURlZXAodXNlcnNUYWJsZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdXNlcnNUYWJsZSA9IGNsb25lZFRhYmxlO1xyXG4gICAgICAgICAgICB0aGlzLmFubmFTb3J0U2VydmljZS5ub1NvcnRpbmdBcHBsaWVkRGF0YSA9IGNsb25lRGVlcCh1c2Vyc1RhYmxlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChmaWx0ZXJzPy5zb3J0U3RhdGUpIHtcclxuICAgICAgICAgICAgdGhpcy5hbm5hU29ydFNlcnZpY2UuY29sdW1uU29ydFN0YXRlID0gbmV3IE1hcChKU09OLnBhcnNlKGZpbHRlcnMuc29ydFN0YXRlKSk7XHJcbiAgICAgICAgICAgIHVzZXJzVGFibGUgPSB0aGlzLmNhbGxTb3J0KHVzZXJzVGFibGUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS51cGRhdGVTdGF0ZU9mQWxsVGhlS2V5cyh0aGlzLmFubmFTb3J0U2VydmljZS5jb2x1bW5Tb3J0U3RhdGUpO1xyXG5cclxuICAgICAgICByZXR1cm4gdXNlcnNUYWJsZTtcclxuICAgIH1cclxuXHJcbiAgICBjYWxsU29ydCh1c2Vyc1RhYmxlOiBhbnkpOiBhbnkge1xyXG4gICAgICAgIGxldCBzb3J0ZWRVc2Vyc1RhYmxlRGF0YSA9IHVzZXJzVGFibGU7XHJcbiAgICAgICAgdGhpcy5hbm5hU29ydFNlcnZpY2UuY29sdW1uU29ydFN0YXRlLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcclxuICAgICAgICAgICAgaWYgKHZhbHVlID09PSBcIkFTQ1wiKSB7XHJcbiAgICAgICAgICAgICAgICBzb3J0ZWRVc2Vyc1RhYmxlRGF0YSA9IHRoaXMuYW5uYVNvcnRTZXJ2aWNlLnNvcnREYXRhRm9yQ29tcG9uZW50T3RoZXJUaGFuTHVyQW5kQ3NyUGFnZShcclxuICAgICAgICAgICAgICAgICAgICB0cnVlLFxyXG4gICAgICAgICAgICAgICAgICAgIHVzZXJzVGFibGUsXHJcbiAgICAgICAgICAgICAgICAgICAga2V5LFxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gXCJERVNDXCIpIHtcclxuICAgICAgICAgICAgICAgIHNvcnRlZFVzZXJzVGFibGVEYXRhID0gdGhpcy5hbm5hU29ydFNlcnZpY2Uuc29ydERhdGFGb3JDb21wb25lbnRPdGhlclRoYW5MdXJBbmRDc3JQYWdlKFxyXG4gICAgICAgICAgICAgICAgICAgIGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgICAgIHVzZXJzVGFibGUsXHJcbiAgICAgICAgICAgICAgICAgICAga2V5LFxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICByZXR1cm4gc29ydGVkVXNlcnNUYWJsZURhdGE7XHJcbiAgICB9XHJcblxyXG4gICAgaXNTb3J0aW5nQXBwbGllZFRvVGFibGUoKSB7XHJcbiAgICAgICAgbGV0IGlzU29ydGluZ0FwcGxpZWQgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgdGhpcy5hbm5hU29ydFNlcnZpY2UuY29sdW1uU29ydFN0YXRlLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcclxuICAgICAgICAgICAgaWYgKHZhbHVlID09PSBcIkFTQ1wiIHx8IHZhbHVlID09PSBcIkRFU0NcIikge1xyXG4gICAgICAgICAgICAgICAgaXNTb3J0aW5nQXBwbGllZCA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGlzU29ydGluZ0FwcGxpZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlUXVlcnlQYXJhbXNGaWx0ZXIoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnksIG9wZXJhdGlvbjogXCJBRERcIiB8IFwiREVMRVRFXCIsIHF1ZXJ5UGFyYW1PYmo6IGFueSkge1xyXG4gICAgICAgIGlmIChvcGVyYXRpb24gPT09IFwiQUREXCIpIHtcclxuICAgICAgICAgICAgcXVlcnlQYXJhbU9ialtrZXldID0gdmFsdWU7XHJcbiAgICAgICAgfSBlbHNlIGlmIChvcGVyYXRpb24gPT09IFwiREVMRVRFXCIpIHtcclxuICAgICAgICAgICAgZGVsZXRlIHF1ZXJ5UGFyYW1PYmpba2V5XTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHF1ZXJ5UGFyYW1PYmo7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,135 @@
1
+ import { Injectable } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export class AnnaGlobalConfigService {
4
+ /*
5
+ Initializing all default settings
6
+ */
7
+ constructor() {
8
+ this.defaultAngular2MultiSelectSettings = {
9
+ text: "Select option",
10
+ selectAllText: "Select All",
11
+ unSelectAllText: "UnSelect All",
12
+ badgeShowLimit: 1,
13
+ singleSelection: false,
14
+ classes: "filter-dropdowns",
15
+ enableSearchFilter: true,
16
+ enableCheckAll: true,
17
+ autoPosition: false,
18
+ disabled: false,
19
+ position: "bottom",
20
+ lazyLoading: false,
21
+ showCheckbox: true,
22
+ maxHeight: 300,
23
+ enableFilterSelectAll: true,
24
+ };
25
+ this.defaultNgxAsideSettings = {
26
+ title: '"Filters"',
27
+ cancelButtonTitle: '"Cancel"',
28
+ submitButtonTitle: '"Apply"',
29
+ closeOnEscape: false,
30
+ showOverlay: false,
31
+ showDefaultFooter: false,
32
+ showDefaultHeader: false,
33
+ };
34
+ this.defaultNgbDatePickerSettings = {
35
+ autoClose: false,
36
+ placeholder: "mm-dd-yyyy",
37
+ displayMonths: 1,
38
+ firstDayOfWeek: 1,
39
+ showWeekNumbers: false,
40
+ readonly: true,
41
+ };
42
+ this.defaultNgSelectSettings = {
43
+ allowClear: false,
44
+ placeholder: "Select",
45
+ };
46
+ this.defaultNgxInfiniteScrollSettings = {
47
+ infiniteScrollDistance: 1,
48
+ infiniteScrollUpDistance: 2,
49
+ infiniteScrollThrottle: 300,
50
+ scrollWindow: false,
51
+ };
52
+ this.defaultNgxSkeletonLoaderSettings = {
53
+ numberOfSkeletonRows: Array(6).fill(0),
54
+ };
55
+ this.defaultRadioButtonsComponentConfig = {
56
+ heading: "Select Option",
57
+ radioButtons: [
58
+ {
59
+ value: "Yes",
60
+ isDisabled: false,
61
+ label: "Yes",
62
+ class: "",
63
+ },
64
+ {
65
+ value: "No",
66
+ isDisabled: false,
67
+ label: "No",
68
+ class: "",
69
+ },
70
+ ],
71
+ };
72
+ this.defaultConfirmationPopupConfig = {
73
+ showCancelButton: true,
74
+ title: "Are you sure ?",
75
+ showConfirmButton: true,
76
+ cancelButtonLabel: "No",
77
+ confirmButtonLabel: "Yes",
78
+ showCloseIcon: true,
79
+ backdrop: "static",
80
+ windowClass: "",
81
+ size: "sm",
82
+ keyboard: false,
83
+ };
84
+ this.defaultWeekCalendarConfig = {
85
+ firstDayOfWeek: 1,
86
+ showWeekNumbers: true,
87
+ dateFormatToDisplay: "d MMM y",
88
+ dateFormatForRequest: "y-MM-dd",
89
+ maxWeeksToShowWithRemainingCount: 2,
90
+ numberOfMonthsToEnableInPast: 1,
91
+ selectMultipleWeeks: false,
92
+ customClass: "",
93
+ emitMultipleWeekObjects: true,
94
+ maxWeeksToSelect: 0,
95
+ showAsDropdown: true,
96
+ selectCurrentWeek: true,
97
+ };
98
+ this.defaultGtHeaderConfig = {
99
+ iconColumn: false,
100
+ checkboxColumn: false,
101
+ lastColumnKeys: [],
102
+ };
103
+ this.defaultGtGeneralConfig = {
104
+ component: "",
105
+ totalRow: false,
106
+ isHeaderChecked: false,
107
+ disableHeaderCheckbox: false,
108
+ verticalScrollOffsetForFilterTooltip: 0,
109
+ isGrouped: false,
110
+ showAllColumnFilter: true,
111
+ bufferSize: 20,
112
+ page: "",
113
+ };
114
+ this.defaultSingleSelectConfig = {
115
+ showSearchBar: false,
116
+ placeholder: "Select",
117
+ classes: "",
118
+ position: "BOTTOM",
119
+ maxHeightOfList: 200,
120
+ };
121
+ this.defaultMultiSelectConfig = {
122
+ ...this.defaultSingleSelectConfig,
123
+ ...{ showErrorWhenNoOptionSelected: true },
124
+ };
125
+ }
126
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaGlobalConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
127
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaGlobalConfigService, providedIn: "root" }); }
128
+ }
129
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaGlobalConfigService, decorators: [{
130
+ type: Injectable,
131
+ args: [{
132
+ providedIn: "root",
133
+ }]
134
+ }], ctorParameters: function () { return []; } });
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1nbG9iYWwtY29uZmlnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLWdsb2JhbC1jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQW9CM0MsTUFBTSxPQUFPLHVCQUF1QjtJQWVoQzs7TUFFRTtJQUNGO1FBQ0ksSUFBSSxDQUFDLGtDQUFrQyxHQUFHO1lBQ3RDLElBQUksRUFBRSxlQUFlO1lBQ3JCLGFBQWEsRUFBRSxZQUFZO1lBQzNCLGVBQWUsRUFBRSxjQUFjO1lBQy9CLGNBQWMsRUFBRSxDQUFDO1lBQ2pCLGVBQWUsRUFBRSxLQUFLO1lBQ3RCLE9BQU8sRUFBRSxrQkFBa0I7WUFDM0Isa0JBQWtCLEVBQUUsSUFBSTtZQUN4QixjQUFjLEVBQUUsSUFBSTtZQUNwQixZQUFZLEVBQUUsS0FBSztZQUNuQixRQUFRLEVBQUUsS0FBSztZQUNmLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLFlBQVksRUFBRSxJQUFJO1lBQ2xCLFNBQVMsRUFBRSxHQUFHO1lBQ2QscUJBQXFCLEVBQUUsSUFBSTtTQUM5QixDQUFDO1FBRUYsSUFBSSxDQUFDLHVCQUF1QixHQUFHO1lBQzNCLEtBQUssRUFBRSxXQUFXO1lBQ2xCLGlCQUFpQixFQUFFLFVBQVU7WUFDN0IsaUJBQWlCLEVBQUUsU0FBUztZQUM1QixhQUFhLEVBQUUsS0FBSztZQUNwQixXQUFXLEVBQUUsS0FBSztZQUNsQixpQkFBaUIsRUFBRSxLQUFLO1lBQ3hCLGlCQUFpQixFQUFFLEtBQUs7U0FDM0IsQ0FBQztRQUVGLElBQUksQ0FBQyw0QkFBNEIsR0FBRztZQUNoQyxTQUFTLEVBQUUsS0FBSztZQUNoQixXQUFX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QUFFLElBQUksRUFBRTtTQUM3QyxDQUFDO0lBQ04sQ0FBQzsrR0FwSlEsdUJBQXVCO21IQUF2Qix1QkFBdUIsY0FGcEIsTUFBTTs7NEZBRVQsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuaW1wb3J0IHtcclxuICAgIElBbmd1bGFyMk11bHRpU2VsZWN0U2V0dGluZ3MsXHJcbiAgICBJQ29uZmlybWF0aW9uUG9wdXBDb25maWcsXHJcbiAgICBJQ3VzdG9tTXVsdGlTZWxlY3QsXHJcbiAgICBJQ3VzdG9tU2luZ2xlU2VsZWN0LFxyXG4gICAgSU5nYkRhdGVQaWNrZXJTZXR0aW5ncyxcclxuICAgIElOZ1NlbGVjdFNldHRpbmdzLFxyXG4gICAgSU5neEFzaWRlU2V0dGluZ3MsXHJcbiAgICBJTmd4SW5maW5pdGVTY3JvbGxTZXR0aW5ncyxcclxuICAgIElOZ3hTa2VsZXRvbkxvYWRlclNldHRpbmdzLFxyXG4gICAgSVJhZGlvQnV0dG9uQ29tcG9uZW50Q29uZmlnLFxyXG4gICAgSVdlZWtDYWxlbmRhcixcclxufSBmcm9tIFwiLi4vbW9kZWxzL2FubmEtZ2xvYmFsLWRyb3Bkb3duLWNvbmZpZy5tb2RlbFwiO1xyXG5pbXBvcnQgeyBJR3RHZW5lcmFsQ29uZmlnLCBJR3RIZWFkZXJDb25maWcgfSBmcm9tIFwiLi4vbW9kZWxzL2FubmEtbm9uLWVkaXRhYmxlLWd0LW1vZGVsc1wiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogXCJyb290XCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbm5hR2xvYmFsQ29uZmlnU2VydmljZSB7XHJcbiAgICByZWFkb25seSBkZWZhdWx0QW5ndWxhcjJNdWx0aVNlbGVjdFNldHRpbmdzOiBJQW5ndWxhcjJNdWx0aVNlbGVjdFNldHRpbmdzO1xyXG4gICAgcmVhZG9ubHkgZGVmYXVsdE5neEFzaWRlU2V0dGluZ3M6IElOZ3hBc2lkZVNldHRpbmdzO1xyXG4gICAgcmVhZG9ubHkgZGVmYXVsdE5nYkRhdGVQaWNrZXJTZXR0aW5nczogSU5nYkRhdGVQaWNrZXJTZXR0aW5ncztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHROZ1NlbGVjdFNldHRpbmdzOiBJTmdTZWxlY3RTZXR0aW5ncztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHROZ3hJbmZpbml0ZVNjcm9sbFNldHRpbmdzOiBJTmd4SW5maW5pdGVTY3JvbGxTZXR0aW5ncztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHROZ3hTa2VsZXRvbkxvYWRlclNldHRpbmdzOiBJTmd4U2tlbGV0b25Mb2FkZXJTZXR0aW5ncztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHRSYWRpb0J1dHRvbnNDb21wb25lbnRDb25maWc6IElSYWRpb0J1dHRvbkNvbXBvbmVudENvbmZpZztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHRDb25maXJtYXRpb25Qb3B1cENvbmZpZzogSUNvbmZpcm1hdGlvblBvcHVwQ29uZmlnO1xyXG4gICAgcmVhZG9ubHkgZGVmYXVsdFdlZWtDYWxlbmRhckNvbmZpZzogSVdlZWtDYWxlbmRhcjtcclxuICAgIHJlYWRvbmx5IGRlZmF1bHRHdEhlYWRlckNvbmZpZzogSUd0SGVhZGVyQ29uZmlnO1xyXG4gICAgcmVhZG9ubHkgZGVmYXVsdEd0R2VuZXJhbENvbmZpZzogSUd0R2VuZXJhbENvbmZpZztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHRTaW5nbGVTZWxlY3RDb25maWc6IElDdXN0b21TaW5nbGVTZWxlY3Q7XHJcbiAgICByZWFkb25seSBkZWZhdWx0TXVsdGlTZWxlY3RDb25maWc6IElDdXN0b21NdWx0aVNlbGVjdDtcclxuXHJcbiAgICAvKlxyXG4gICAgIEluaXRpYWxpemluZyBhbGwgZGVmYXVsdCBzZXR0aW5nc1xyXG4gICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHRoaXMuZGVmYXVsdEFuZ3VsYXIyTXVsdGlTZWxlY3RTZXR0aW5ncyA9IHtcclxuICAgICAgICAgICAgdGV4dDogXCJTZWxlY3Qgb3B0aW9uXCIsXHJcbiAgICAgICAgICAgIHNlbGVjdEFsbFRleHQ6IFwiU2VsZWN0IEFsbFwiLFxyXG4gICAgICAgICAgICB1blNlbGVjdEFsbFRleHQ6IFwiVW5TZWxlY3QgQWxsXCIsXHJcbiAgICAgICAgICAgIGJhZGdlU2hvd0xpbWl0OiAxLFxyXG4gICAgICAgICAgICBzaW5nbGVTZWxlY3Rpb246IGZhbHNlLFxyXG4gICAgICAgICAgICBjbGFzc2VzOiBcImZpbHRlci1kcm9wZG93bnNcIixcclxuICAgICAgICAgICAgZW5hYmxlU2VhcmNoRmlsdGVyOiB0cnVlLFxyXG4gICAgICAgICAgICBlbmFibGVDaGVja0FsbDogdHJ1ZSxcclxuICAgICAgICAgICAgYXV0b1Bvc2l0aW9uOiBmYWxzZSxcclxuICAgICAgICAgICAgZGlzYWJsZWQ6IGZhbHNlLFxyXG4gICAgICAgICAgICBwb3NpdGlvbjogXCJib3R0b21cIixcclxuICAgICAgICAgICAgbGF6eUxvYWRpbmc6IGZhbHNlLFxyXG4gICAgICAgICAgICBzaG93Q2hlY2tib3g6IHRydWUsXHJcbiAgICAgICAgICAgIG1heEhlaWdodDogMzAwLFxyXG4gICAgICAgICAgICBlbmFibGVGaWx0ZXJTZWxlY3RBbGw6IHRydWUsXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0Tmd4QXNpZGVTZXR0aW5ncyA9IHtcclxuICAgICAgICAgICAgdGl0bGU6ICdcIkZpbHRlcnNcIicsXHJcbiAgICAgICAgICAgIGNhbmNlbEJ1dHRvblRpdGxlOiAnXCJDYW5jZWxcIicsXHJcbiAgICAgICAgICAgIHN1Ym1pdEJ1dHRvblRpdGxlOiAnXCJBcHBseVwiJyxcclxuICAgICAgICAgICAgY2xvc2VPbkVzY2FwZTogZmFsc2UsXHJcbiAgICAgICAgICAgIHNob3dPdmVybGF5OiBmYWxzZSxcclxuICAgICAgICAgICAgc2hvd0RlZmF1bHRGb290ZXI6IGZhbHNlLFxyXG4gICAgICAgICAgICBzaG93RGVmYXVsdEhlYWRlcjogZmFsc2UsXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0TmdiRGF0ZVBpY2tlclNldHRpbmdzID0ge1xyXG4gICAgICAgICAgICBhdXRvQ2xvc2U6IGZhbHNlLFxyXG4gICAgICAgICAgICBwbGFjZWhvbGRlcjogXCJtbS1kZC15eXl5XCIsXHJcbiAgICAgICAgICAgIGRpc3BsYXlNb250aHM6IDEsXHJcbiAgICAgICAgICAgIGZpcnN0RGF5T2ZXZWVrOiAxLFxyXG4gICAgICAgICAgICBzaG93V2Vla051bWJlcnM6IGZhbHNlLFxyXG4gICAgICAgICAgICByZWFkb25seTogdHJ1ZSxcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLmRlZmF1bHROZ1NlbGVjdFNldHRpbmdzID0ge1xyXG4gICAgICAgICAgICBhbGxvd0NsZWFyOiBmYWxzZSxcclxuICAgICAgICAgICAgcGxhY2Vob2xkZXI6IFwiU2VsZWN0XCIsXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0Tmd4SW5maW5pdGVTY3JvbGxTZXR0aW5ncyA9IHtcclxuICAgICAgICAgICAgaW5maW5pdGVTY3JvbGxEaXN0YW5jZTogMSxcclxuICAgICAgICAgICAgaW5maW5pdGVTY3JvbGxVcERpc3RhbmNlOiAyLFxyXG4gICAgICAgICAgICBpbmZpbml0ZVNjcm9sbFRocm90dGxlOiAzMDAsXHJcbiAgICAgICAgICAgIHNjcm9sbFdpbmRvdzogZmFsc2UsXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0Tmd4U2tlbGV0b25Mb2FkZXJTZXR0aW5ncyA9IHtcclxuICAgICAgICAgICAgbnVtYmVyT2ZTa2VsZXRvblJvd3M6IEFycmF5KDYpLmZpbGwoMCksXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0UmFkaW9CdXR0b25zQ29tcG9uZW50Q29uZmlnID0ge1xyXG4gICAgICAgICAgICBoZWFkaW5nOiBcIlNlbGVjdCBPcHRpb25cIixcclxuICAgICAgICAgICAgcmFkaW9CdXR0b25zOiBbXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IFwiWWVzXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgaXNEaXNhYmxlZDogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFwiWWVzXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M6IFwiXCIsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBcIk5vXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgaXNEaXNhYmxlZDogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFwiTm9cIixcclxuICAgICAgICAgICAgICAgICAgICBjbGFzczogXCJcIixcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIF0sXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0Q29uZmlybWF0aW9uUG9wdXBDb25maWcgPSB7XHJcbiAgICAgICAgICAgIHNob3dDYW5jZWxCdXR0b246IHRydWUsXHJcbiAgICAgICAgICAgIHRpdGxlOiBcIkFyZSB5b3Ugc3VyZSA/XCIsXHJcbiAgICAgICAgICAgIHNob3dDb25maXJtQnV0dG9uOiB0cnVlLFxyXG4gICAgICAgICAgICBjYW5jZWxCdXR0b25MYWJlbDogXCJOb1wiLFxyXG4gICAgICAgICAgICBjb25maXJtQnV0dG9uTGFiZWw6IFwiWWVzXCIsXHJcbiAgICAgICAgICAgIHNob3dDbG9zZUljb246IHRydWUsXHJcbiAgICAgICAgICAgIGJhY2tkcm9wOiBcInN0YXRpY1wiLFxyXG4gICAgICAgICAgICB3aW5kb3dDbGFzczogXCJcIixcclxuICAgICAgICAgICAgc2l6ZTogXCJzbVwiLFxyXG4gICAgICAgICAgICBrZXlib2FyZDogZmFsc2UsXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0V2Vla0NhbGVuZGFyQ29uZmlnID0ge1xyXG4gICAgICAgICAgICBmaXJzdERheU9mV2VlazogMSxcclxuICAgICAgICAgICAgc2hvd1dlZWtOdW1iZXJzOiB0cnVlLFxyXG4gICAgICAgICAgICBkYXRlRm9ybWF0VG9EaXNwbGF5OiBcImQgTU1NIHlcIixcclxuICAgICAgICAgICAgZGF0ZUZvcm1hdEZvclJlcXVlc3Q6IFwieS1NTS1kZFwiLFxyXG4gICAgICAgICAgICBtYXhXZWVrc1RvU2hvd1dpdGhSZW1haW5pbmdDb3VudDogMixcclxuICAgICAgICAgICAgbnVtYmVyT2ZNb250aHNUb0VuYWJsZUluUGFzdDogMSxcclxuICAgICAgICAgICAgc2VsZWN0TXVsdGlwbGVXZWVrczogZmFsc2UsXHJcbiAgICAgICAgICAgIGN1c3RvbUNsYXNzOiBcIlwiLFxyXG4gICAgICAgICAgICBlbWl0TXVsdGlwbGVXZWVrT2JqZWN0czogdHJ1ZSxcclxuICAgICAgICAgICAgbWF4V2Vla3NUb1NlbGVjdDogMCxcclxuICAgICAgICAgICAgc2hvd0FzRHJvcGRvd246IHRydWUsXHJcbiAgICAgICAgICAgIHNlbGVjdEN1cnJlbnRXZWVrOiB0cnVlLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuZGVmYXVsdEd0SGVhZGVyQ29uZmlnID0ge1xyXG4gICAgICAgICAgICBpY29uQ29sdW1uOiBmYWxzZSxcclxuICAgICAgICAgICAgY2hlY2tib3hDb2x1bW46IGZhbHNlLFxyXG4gICAgICAgICAgICBsYXN0Q29sdW1uS2V5czogW10sXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0R3RHZW5lcmFsQ29uZmlnID0ge1xyXG4gICAgICAgICAgICBjb21wb25lbnQ6IFwiXCIsXHJcbiAgICAgICAgICAgIHRvdGFsUm93OiBmYWxzZSxcclxuICAgICAgICAgICAgaXNIZWFkZXJDaGVja2VkOiBmYWxzZSxcclxuICAgICAgICAgICAgZGlzYWJsZUhlYWRlckNoZWNrYm94OiBmYWxzZSxcclxuICAgICAgICAgICAgdmVydGljYWxTY3JvbGxPZmZzZXRGb3JGaWx0ZXJUb29sdGlwOiAwLFxyXG4gICAgICAgICAgICBpc0dyb3VwZWQ6IGZhbHNlLFxyXG4gICAgICAgICAgICBzaG93QWxsQ29sdW1uRmlsdGVyOiB0cnVlLFxyXG4gICAgICAgICAgICBidWZmZXJTaXplOiAyMCxcclxuICAgICAgICAgICAgcGFnZTogXCJcIixcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLmRlZmF1bHRTaW5nbGVTZWxlY3RDb25maWcgPSB7XHJcbiAgICAgICAgICAgIHNob3dTZWFyY2hCYXI6IGZhbHNlLFxyXG4gICAgICAgICAgICBwbGFjZWhvbGRlcjogXCJTZWxlY3RcIixcclxuICAgICAgICAgICAgY2xhc3NlczogXCJcIixcclxuICAgICAgICAgICAgcG9zaXRpb246IFwiQk9UVE9NXCIsXHJcbiAgICAgICAgICAgIG1heEhlaWdodE9mTGlzdDogMjAwLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuZGVmYXVsdE11bHRpU2VsZWN0Q29uZmlnID0ge1xyXG4gICAgICAgICAgICAuLi50aGlzLmRlZmF1bHRTaW5nbGVTZWxlY3RDb25maWcsXHJcbiAgICAgICAgICAgIC4uLnsgc2hvd0Vycm9yV2hlbk5vT3B0aW9uU2VsZWN0ZWQ6IHRydWUgfSxcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,59 @@
1
+ import { Injectable } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export class AnnaNumberFormatService {
4
+ static GetRoundedValueWithUnits(inputValue, digitsToRoundDecimalPoint = 2) {
5
+ const result = AnnaNumberFormatService.GetValueInUnits(Math.abs(inputValue));
6
+ let value = result[0];
7
+ const unit = result[1];
8
+ value = +(+value).toFixed(digitsToRoundDecimalPoint);
9
+ if (inputValue < 0) {
10
+ value *= -1;
11
+ }
12
+ return value.toString() + unit;
13
+ // return (Math.Round(value, digitsToRoundDecimalPoint, MidpointRounding.AwayFromZero) + unit);
14
+ }
15
+ static GetRoundedImpressionsWithUnits(inputValue, digitsToRoundDecimalPoint = 0) {
16
+ const result = this.GetValueInUnits(Math.abs(inputValue));
17
+ let value = result[0];
18
+ const unit = result[1];
19
+ value = +value;
20
+ if (inputValue < 0) {
21
+ value *= -1;
22
+ }
23
+ let digitToRoundOff = digitsToRoundDecimalPoint;
24
+ if (digitsToRoundDecimalPoint === 0 && (unit === "M" || unit === "B" || unit === "K")) {
25
+ digitToRoundOff = 2;
26
+ }
27
+ return Number.isInteger(value) ? value.toString() + unit : value.toFixed(digitToRoundOff) + unit;
28
+ // return (Math.round(value, digitsToRoundDecimalPoint, MidpointRounding.AwayFromZero) + unit);
29
+ }
30
+ static GetValueInUnits(inputValue) {
31
+ let unit = "";
32
+ let updatedInputValue = inputValue;
33
+ const thousand = 1000;
34
+ const million = 1000000;
35
+ const billion = 1000000000;
36
+ if (inputValue >= thousand && inputValue < million) {
37
+ updatedInputValue = inputValue / thousand;
38
+ unit = "K";
39
+ }
40
+ else if (inputValue >= million && inputValue < billion) {
41
+ updatedInputValue = inputValue / million;
42
+ unit = "M";
43
+ }
44
+ else if (inputValue >= billion) {
45
+ updatedInputValue = inputValue / billion;
46
+ unit = "B";
47
+ }
48
+ return [updatedInputValue, unit];
49
+ }
50
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaNumberFormatService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
51
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaNumberFormatService, providedIn: "root" }); }
52
+ }
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaNumberFormatService, decorators: [{
54
+ type: Injectable,
55
+ args: [{
56
+ providedIn: "root",
57
+ }]
58
+ }] });
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1udW1iZXItZm9ybWF0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLW51bWJlci1mb3JtYXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sdUJBQXVCO0lBQ3pCLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxVQUFrQixFQUFFLHlCQUF5QixHQUFHLENBQUM7UUFDcEYsTUFBTSxNQUFNLEdBQUcsdUJBQXVCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUM3RSxJQUFJLEtBQUssR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEIsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXZCLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUNyRCxJQUFJLFVBQVUsR0FBRyxDQUFDLEVBQUU7WUFDaEIsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQ2Y7UUFDRCxPQUFPLEtBQUssQ0FBQyxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDL0IsaUdBQWlHO0lBQ3JHLENBQUM7SUFFTSxNQUFNLENBQUMsOEJBQThCLENBQUMsVUFBa0IsRUFBRSw0QkFBb0MsQ0FBQztRQUNsRyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUMxRCxJQUFJLEtBQUssR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEIsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXZCLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQztRQUNmLElBQUksVUFBVSxHQUFHLENBQUMsRUFBRTtZQUNoQixLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDZjtRQUVELElBQUksZUFBZSxHQUFHLHlCQUF5QixDQUFDO1FBQ2hELElBQUkseUJBQXlCLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLEdBQUcsSUFBSSxJQUFJLEtBQUssR0FBRyxJQUFJLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRTtZQUNuRixlQUFlLEdBQUcsQ0FBQyxDQUFDO1NBQ3ZCO1FBQ0QsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUNqRywrRkFBK0Y7SUFDbkcsQ0FBQztJQUVNLE1BQU0sQ0FBQyxlQUFlLENBQUMsVUFBa0I7UUFDNUMsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2QsSUFBSSxpQkFBaUIsR0FBRyxVQUFVLENBQUM7UUFDbkMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN4QixNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUM7UUFFM0IsSUFBSSxVQUFVLElBQUksUUFBUSxJQUFJLFVBQVUsR0FBRyxPQUFPLEVBQUU7WUFDaEQsaUJBQWlCLEdBQUcsVUFBVSxHQUFHLFFBQVEsQ0FBQztZQUMxQyxJQUFJLEdBQUcsR0FBRyxDQUFDO1NBQ2Q7YUFBTSxJQUFJLFVBQVUsSUFBSSxPQUFPLElBQUksVUFBVSxHQUFHLE9BQU8sRUFBRTtZQUN0RCxpQkFBaUIsR0FBRyxVQUFVLEdBQUcsT0FBTyxDQUFDO1lBQ3pDLElBQUksR0FBRyxHQUFHLENBQUM7U0FDZDthQUFNLElBQUksVUFBVSxJQUFJLE9BQU8sRUFBRTtZQUM5QixpQkFBaUIsR0FBRyxVQUFVLEdBQUcsT0FBTyxDQUFDO1lBQ3pDLElBQUksR0FBRyxHQUFHLENBQUM7U0FDZDtRQUVELE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNyQyxDQUFDOytHQW5EUSx1QkFBdUI7bUhBQXZCLHVCQUF1QixjQUZwQixNQUFNOzs0RkFFVCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiBcInJvb3RcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIEFubmFOdW1iZXJGb3JtYXRTZXJ2aWNlIHtcclxuICAgIHB1YmxpYyBzdGF0aWMgR2V0Um91bmRlZFZhbHVlV2l0aFVuaXRzKGlucHV0VmFsdWU6IG51bWJlciwgZGlnaXRzVG9Sb3VuZERlY2ltYWxQb2ludCA9IDIpIHtcclxuICAgICAgICBjb25zdCByZXN1bHQgPSBBbm5hTnVtYmVyRm9ybWF0U2VydmljZS5HZXRWYWx1ZUluVW5pdHMoTWF0aC5hYnMoaW5wdXRWYWx1ZSkpO1xyXG4gICAgICAgIGxldCB2YWx1ZSA9IHJlc3VsdFswXTtcclxuICAgICAgICBjb25zdCB1bml0ID0gcmVzdWx0WzFdO1xyXG5cclxuICAgICAgICB2YWx1ZSA9ICsoK3ZhbHVlKS50b0ZpeGVkKGRpZ2l0c1RvUm91bmREZWNpbWFsUG9pbnQpO1xyXG4gICAgICAgIGlmIChpbnB1dFZhbHVlIDwgMCkge1xyXG4gICAgICAgICAgICB2YWx1ZSAqPSAtMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlLnRvU3RyaW5nKCkgKyB1bml0O1xyXG4gICAgICAgIC8vICAgcmV0dXJuIChNYXRoLlJvdW5kKHZhbHVlLCBkaWdpdHNUb1JvdW5kRGVjaW1hbFBvaW50LCBNaWRwb2ludFJvdW5kaW5nLkF3YXlGcm9tWmVybykgKyB1bml0KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIEdldFJvdW5kZWRJbXByZXNzaW9uc1dpdGhVbml0cyhpbnB1dFZhbHVlOiBudW1iZXIsIGRpZ2l0c1RvUm91bmREZWNpbWFsUG9pbnQ6IG51bWJlciA9IDApIHtcclxuICAgICAgICBjb25zdCByZXN1bHQgPSB0aGlzLkdldFZhbHVlSW5Vbml0cyhNYXRoLmFicyhpbnB1dFZhbHVlKSk7XHJcbiAgICAgICAgbGV0IHZhbHVlID0gcmVzdWx0WzBdO1xyXG4gICAgICAgIGNvbnN0IHVuaXQgPSByZXN1bHRbMV07XHJcblxyXG4gICAgICAgIHZhbHVlID0gK3ZhbHVlO1xyXG4gICAgICAgIGlmIChpbnB1dFZhbHVlIDwgMCkge1xyXG4gICAgICAgICAgICB2YWx1ZSAqPSAtMTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCBkaWdpdFRvUm91bmRPZmYgPSBkaWdpdHNUb1JvdW5kRGVjaW1hbFBvaW50O1xyXG4gICAgICAgIGlmIChkaWdpdHNUb1JvdW5kRGVjaW1hbFBvaW50ID09PSAwICYmICh1bml0ID09PSBcIk1cIiB8fCB1bml0ID09PSBcIkJcIiB8fCB1bml0ID09PSBcIktcIikpIHtcclxuICAgICAgICAgICAgZGlnaXRUb1JvdW5kT2ZmID0gMjtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIE51bWJlci5pc0ludGVnZXIodmFsdWUpID8gdmFsdWUudG9TdHJpbmcoKSArIHVuaXQgOiB2YWx1ZS50b0ZpeGVkKGRpZ2l0VG9Sb3VuZE9mZikgKyB1bml0O1xyXG4gICAgICAgIC8vIHJldHVybiAoTWF0aC5yb3VuZCh2YWx1ZSwgZGlnaXRzVG9Sb3VuZERlY2ltYWxQb2ludCwgTWlkcG9pbnRSb3VuZGluZy5Bd2F5RnJvbVplcm8pICsgdW5pdCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBHZXRWYWx1ZUluVW5pdHMoaW5wdXRWYWx1ZTogbnVtYmVyKSB7XHJcbiAgICAgICAgbGV0IHVuaXQgPSBcIlwiO1xyXG4gICAgICAgIGxldCB1cGRhdGVkSW5wdXRWYWx1ZSA9IGlucHV0VmFsdWU7XHJcbiAgICAgICAgY29uc3QgdGhvdXNhbmQgPSAxMDAwO1xyXG4gICAgICAgIGNvbnN0IG1pbGxpb24gPSAxMDAwMDAwO1xyXG4gICAgICAgIGNvbnN0IGJpbGxpb24gPSAxMDAwMDAwMDAwO1xyXG5cclxuICAgICAgICBpZiAoaW5wdXRWYWx1ZSA+PSB0aG91c2FuZCAmJiBpbnB1dFZhbHVlIDwgbWlsbGlvbikge1xyXG4gICAgICAgICAgICB1cGRhdGVkSW5wdXRWYWx1ZSA9IGlucHV0VmFsdWUgLyB0aG91c2FuZDtcclxuICAgICAgICAgICAgdW5pdCA9IFwiS1wiO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoaW5wdXRWYWx1ZSA+PSBtaWxsaW9uICYmIGlucHV0VmFsdWUgPCBiaWxsaW9uKSB7XHJcbiAgICAgICAgICAgIHVwZGF0ZWRJbnB1dFZhbHVlID0gaW5wdXRWYWx1ZSAvIG1pbGxpb247XHJcbiAgICAgICAgICAgIHVuaXQgPSBcIk1cIjtcclxuICAgICAgICB9IGVsc2UgaWYgKGlucHV0VmFsdWUgPj0gYmlsbGlvbikge1xyXG4gICAgICAgICAgICB1cGRhdGVkSW5wdXRWYWx1ZSA9IGlucHV0VmFsdWUgLyBiaWxsaW9uO1xyXG4gICAgICAgICAgICB1bml0ID0gXCJCXCI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gW3VwZGF0ZWRJbnB1dFZhbHVlLCB1bml0XTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,64 @@
1
+ import { Injectable } from "@angular/core";
2
+ import hash from "object-hash";
3
+ import * as i0 from "@angular/core";
4
+ export class AnnaPersistingFilterService {
5
+ storeKeyValueInLocalStorage(val, isFilterKey = true) {
6
+ let filterOrdering;
7
+ if (!localStorage.getItem("filterOrdering")) {
8
+ filterOrdering = [];
9
+ }
10
+ else {
11
+ filterOrdering = JSON.parse(localStorage.getItem("filterOrdering"));
12
+ }
13
+ const filterOrderingSet = new Set(filterOrdering);
14
+ let hashCode = null;
15
+ let key = null;
16
+ try {
17
+ hashCode = hash(val);
18
+ key = isFilterKey ? `filter_${hashCode}` : hashCode;
19
+ localStorage.setItem(key, JSON.stringify(val));
20
+ if (isFilterKey) {
21
+ if (filterOrderingSet.has(key)) {
22
+ filterOrderingSet.delete(key);
23
+ }
24
+ filterOrderingSet.add(key);
25
+ localStorage.setItem("filterOrdering", JSON.stringify(Array.from(filterOrderingSet)));
26
+ }
27
+ }
28
+ catch (e) {
29
+ const halfArrayLength = filterOrdering.length / 2;
30
+ for (let i = 0; i < halfArrayLength; i++) {
31
+ localStorage.removeItem(filterOrdering[i]);
32
+ }
33
+ filterOrdering.splice(0, filterOrdering.length / 2);
34
+ hashCode = hash(val);
35
+ key = isFilterKey ? `filter_${hashCode}` : hashCode;
36
+ localStorage.setItem(key, JSON.stringify(val));
37
+ if (isFilterKey) {
38
+ if (filterOrderingSet.has(key)) {
39
+ filterOrderingSet.delete(key);
40
+ }
41
+ filterOrderingSet.add(key);
42
+ localStorage.setItem("filterOrdering", JSON.stringify(Array.from(filterOrderingSet)));
43
+ }
44
+ }
45
+ return key;
46
+ }
47
+ getActualQueryParams(key) {
48
+ return localStorage.getItem(key);
49
+ }
50
+ convertObjToQueryString(paramsObject) {
51
+ return Object.keys(paramsObject)
52
+ .map((key) => `${encodeURIComponent(key)}=${encodeURIComponent(paramsObject[key])}`)
53
+ .join("&");
54
+ }
55
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaPersistingFilterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
56
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaPersistingFilterService, providedIn: "root" }); }
57
+ }
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaPersistingFilterService, decorators: [{
59
+ type: Injectable,
60
+ args: [{
61
+ providedIn: "root",
62
+ }]
63
+ }] });
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1wZXJzaXN0aW5nLWZpbHRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvc2VydmljZXMvYW5uYS1wZXJzaXN0aW5nLWZpbHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDOztBQUsvQixNQUFNLE9BQU8sMkJBQTJCO0lBQ3BDLDJCQUEyQixDQUFDLEdBQVEsRUFBRSxXQUFXLEdBQUcsSUFBSTtRQUNwRCxJQUFJLGNBQXFCLENBQUM7UUFFMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtZQUN6QyxjQUFjLEdBQUcsRUFBRSxDQUFDO1NBQ3ZCO2FBQU07WUFDSCxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztTQUN2RTtRQUVELE1BQU0saUJBQWlCLEdBQUcsSUFBSSxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDbEQsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQztRQUVmLElBQUk7WUFDQSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3JCLEdBQUcsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLFVBQVUsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztZQUNwRCxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFFL0MsSUFBSSxXQUFXLEVBQUU7Z0JBQ2IsSUFBSSxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQzVCLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDakM7Z0JBQ0QsaUJBQWlCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUMzQixZQUFZLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUN6RjtTQUNKO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDUixNQUFNLGVBQWUsR0FBRyxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUVsRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsZUFBZSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUN0QyxZQUFZLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzlDO1lBRUQsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztZQUVwRCxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3JCLEdBQUcsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLFVBQVUsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztZQUNwRCxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFFL0MsSUFBSSxXQUFXLEVBQUU7Z0JBQ2IsSUFBSSxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQzVCLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDakM7Z0JBQ0QsaUJBQWlCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUMzQixZQUFZLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUN6RjtTQUNKO1FBRUQsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0lBRUQsb0JBQW9CLENBQUMsR0FBVztRQUM1QixPQUFPLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELHVCQUF1QixDQUFDLFlBQWlCO1FBQ3JDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7YUFDM0IsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxJQUFJLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7YUFDbkYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25CLENBQUM7K0dBM0RRLDJCQUEyQjttSEFBM0IsMkJBQTJCLGNBRnhCLE1BQU07OzRGQUVULDJCQUEyQjtrQkFIdkMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IGhhc2ggZnJvbSBcIm9iamVjdC1oYXNoXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiBcInJvb3RcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIEFubmFQZXJzaXN0aW5nRmlsdGVyU2VydmljZSB7XHJcbiAgICBzdG9yZUtleVZhbHVlSW5Mb2NhbFN0b3JhZ2UodmFsOiBhbnksIGlzRmlsdGVyS2V5ID0gdHJ1ZSkge1xyXG4gICAgICAgIGxldCBmaWx0ZXJPcmRlcmluZzogYW55W107XHJcblxyXG4gICAgICAgIGlmICghbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJmaWx0ZXJPcmRlcmluZ1wiKSkge1xyXG4gICAgICAgICAgICBmaWx0ZXJPcmRlcmluZyA9IFtdO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGZpbHRlck9yZGVyaW5nID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImZpbHRlck9yZGVyaW5nXCIpKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGZpbHRlck9yZGVyaW5nU2V0ID0gbmV3IFNldChmaWx0ZXJPcmRlcmluZyk7XHJcbiAgICAgICAgbGV0IGhhc2hDb2RlID0gbnVsbDtcclxuICAgICAgICBsZXQga2V5ID0gbnVsbDtcclxuXHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgaGFzaENvZGUgPSBoYXNoKHZhbCk7XHJcbiAgICAgICAgICAgIGtleSA9IGlzRmlsdGVyS2V5ID8gYGZpbHRlcl8ke2hhc2hDb2RlfWAgOiBoYXNoQ29kZTtcclxuICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oa2V5LCBKU09OLnN0cmluZ2lmeSh2YWwpKTtcclxuXHJcbiAgICAgICAgICAgIGlmIChpc0ZpbHRlcktleSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKGZpbHRlck9yZGVyaW5nU2V0LmhhcyhrZXkpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyT3JkZXJpbmdTZXQuZGVsZXRlKGtleSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBmaWx0ZXJPcmRlcmluZ1NldC5hZGQoa2V5KTtcclxuICAgICAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFwiZmlsdGVyT3JkZXJpbmdcIiwgSlNPTi5zdHJpbmdpZnkoQXJyYXkuZnJvbShmaWx0ZXJPcmRlcmluZ1NldCkpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgY29uc3QgaGFsZkFycmF5TGVuZ3RoID0gZmlsdGVyT3JkZXJpbmcubGVuZ3RoIC8gMjtcclxuXHJcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaGFsZkFycmF5TGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGZpbHRlck9yZGVyaW5nW2ldKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgZmlsdGVyT3JkZXJpbmcuc3BsaWNlKDAsIGZpbHRlck9yZGVyaW5nLmxlbmd0aCAvIDIpO1xyXG5cclxuICAgICAgICAgICAgaGFzaENvZGUgPSBoYXNoKHZhbCk7XHJcbiAgICAgICAgICAgIGtleSA9IGlzRmlsdGVyS2V5ID8gYGZpbHRlcl8ke2hhc2hDb2RlfWAgOiBoYXNoQ29kZTtcclxuICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oa2V5LCBKU09OLnN0cmluZ2lmeSh2YWwpKTtcclxuXHJcbiAgICAgICAgICAgIGlmIChpc0ZpbHRlcktleSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKGZpbHRlck9yZGVyaW5nU2V0LmhhcyhrZXkpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyT3JkZXJpbmdTZXQuZGVsZXRlKGtleSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBmaWx0ZXJPcmRlcmluZ1NldC5hZGQoa2V5KTtcclxuICAgICAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFwiZmlsdGVyT3JkZXJpbmdcIiwgSlNPTi5zdHJpbmdpZnkoQXJyYXkuZnJvbShmaWx0ZXJPcmRlcmluZ1NldCkpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGtleTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRBY3R1YWxRdWVyeVBhcmFtcyhrZXk6IHN0cmluZykge1xyXG4gICAgICAgIHJldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnZlcnRPYmpUb1F1ZXJ5U3RyaW5nKHBhcmFtc09iamVjdDogYW55KSB7XHJcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKHBhcmFtc09iamVjdClcclxuICAgICAgICAgICAgLm1hcCgoa2V5KSA9PiBgJHtlbmNvZGVVUklDb21wb25lbnQoa2V5KX09JHtlbmNvZGVVUklDb21wb25lbnQocGFyYW1zT2JqZWN0W2tleV0pfWApXHJcbiAgICAgICAgICAgIC5qb2luKFwiJlwiKTtcclxuICAgIH1cclxufVxyXG4iXX0=