@annalib/anna-core 4.2.5 → 4.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 (147) 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 +34 -0
  11. package/esm2020/lib/anna-core-shared-lib/directives/show-ellipsis-text/show-ellipsis-text.directive.mjs +27 -0
  12. package/esm2020/lib/anna-core-shared-lib/models/anna-generic-data-type.model.mjs +2 -0
  13. package/esm2020/lib/anna-core-shared-lib/models/anna-global-dropdown-config.model.mjs +2 -0
  14. package/esm2020/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.mjs +3 -0
  15. package/esm2020/lib/anna-core-shared-lib/models/anna-sort.model.mjs +2 -0
  16. package/esm2020/lib/anna-core-shared-lib/models/anna-tooltip.model.mjs +30 -0
  17. package/esm2020/lib/anna-core-shared-lib/pipes/annaConvertZeroOrNullOrUndefined.pipe.mjs +26 -0
  18. package/esm2020/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.mjs +46 -0
  19. package/esm2020/lib/anna-core-shared-lib/pipes/annaReplaceChar.pipe.mjs +25 -0
  20. package/esm2020/lib/anna-core-shared-lib/pipes/annaTypeOfData.pipe.mjs +16 -0
  21. package/esm2020/lib/anna-core-shared-lib/services/anna-date-time-format.service.mjs +196 -0
  22. package/esm2020/lib/anna-core-shared-lib/services/anna-filter.service.mjs +426 -0
  23. package/esm2020/lib/anna-core-shared-lib/services/anna-generic-table.service.mjs +48 -0
  24. package/esm2020/lib/anna-core-shared-lib/services/anna-global-config.service.mjs +133 -0
  25. package/esm2020/lib/anna-core-shared-lib/services/anna-sort.service.mjs +147 -0
  26. package/esm2020/lib/anna-core.module.mjs +175 -0
  27. package/esm2020/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.mjs +100 -0
  28. package/esm2020/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.mjs +362 -0
  29. package/esm2020/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.mjs +1730 -0
  30. package/esm2020/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.mjs +67 -0
  31. package/esm2020/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.mjs +357 -0
  32. 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
  33. package/esm2020/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/index.mjs +2 -0
  34. package/esm2020/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.mjs +178 -0
  35. package/esm2020/lib/anna-generic-table-lib/directives/anna-virtual-table/index.mjs +2 -0
  36. package/esm2020/public-api.mjs +47 -0
  37. package/fesm2015/annalib-anna-core.mjs +4308 -0
  38. package/fesm2015/annalib-anna-core.mjs.map +1 -0
  39. package/fesm2020/annalib-anna-core.mjs +4305 -0
  40. package/fesm2020/annalib-anna-core.mjs.map +1 -0
  41. package/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.d.ts +8 -0
  42. package/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.d.ts +16 -0
  43. package/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.d.ts +8 -0
  44. package/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.d.ts +11 -0
  45. package/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.d.ts +8 -0
  46. package/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.d.ts +11 -0
  47. package/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.d.ts +8 -0
  48. package/lib/anna-core-shared-lib/constants/shared.constant.d.ts +32 -0
  49. package/lib/anna-core-shared-lib/directives/show-ellipsis-text/show-ellipsis-text.directive.d.ts +9 -0
  50. package/lib/anna-core-shared-lib/models/anna-generic-data-type.model.d.ts +16 -0
  51. 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
  52. 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 -27
  53. package/lib/anna-core-shared-lib/models/anna-sort.model.d.ts +6 -0
  54. package/lib/anna-core-shared-lib/models/anna-tooltip.model.d.ts +25 -0
  55. package/lib/anna-core-shared-lib/pipes/annaConvertZeroOrNullOrUndefined.pipe.d.ts +9 -0
  56. package/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.d.ts +9 -0
  57. package/lib/anna-core-shared-lib/pipes/annaReplaceChar.pipe.d.ts +9 -0
  58. package/lib/anna-core-shared-lib/pipes/annaTypeOfData.pipe.d.ts +7 -0
  59. package/lib/anna-core-shared-lib/services/anna-date-time-format.service.d.ts +27 -0
  60. package/lib/anna-core-shared-lib/services/anna-filter.service.d.ts +73 -0
  61. package/lib/anna-core-shared-lib/services/anna-generic-table.service.d.ts +14 -0
  62. package/lib/anna-core-shared-lib/services/anna-global-config.service.d.ts +21 -0
  63. package/lib/anna-core-shared-lib/services/anna-sort.service.d.ts +16 -0
  64. package/lib/anna-core.module.d.ts +35 -0
  65. package/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.d.ts +34 -0
  66. package/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.d.ts +70 -0
  67. package/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.d.ts +271 -0
  68. package/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.d.ts +17 -0
  69. package/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.d.ts +141 -0
  70. 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
  71. 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
  72. package/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.d.ts +45 -0
  73. 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
  74. package/package.json +38 -18
  75. package/{src/public-api.ts → public-api.d.ts} +0 -28
  76. package/.browserslistrc +0 -16
  77. package/karma.conf.js +0 -44
  78. package/ng-package.json +0 -14
  79. package/src/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.html +0 -22
  80. package/src/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.scss +0 -0
  81. package/src/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.spec.ts +0 -25
  82. package/src/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.ts +0 -16
  83. package/src/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.html +0 -33
  84. package/src/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.scss +0 -0
  85. package/src/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.spec.ts +0 -25
  86. package/src/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.ts +0 -28
  87. package/src/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.html +0 -20
  88. package/src/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.scss +0 -0
  89. package/src/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.spec.ts +0 -25
  90. package/src/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.ts +0 -16
  91. package/src/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.html +0 -3
  92. package/src/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.scss +0 -17
  93. package/src/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.spec.ts +0 -24
  94. package/src/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.ts +0 -20
  95. package/src/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.html +0 -23
  96. package/src/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.scss +0 -0
  97. package/src/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.spec.ts +0 -25
  98. package/src/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.ts +0 -16
  99. package/src/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.html +0 -15
  100. package/src/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.scss +0 -0
  101. 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
  102. package/src/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.ts +0 -19
  103. package/src/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.html +0 -14
  104. package/src/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.scss +0 -0
  105. package/src/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.spec.ts +0 -25
  106. package/src/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.ts +0 -16
  107. package/src/lib/anna-core-shared-lib/constants/shared.constant.ts +0 -34
  108. package/src/lib/anna-core-shared-lib/directives/show-ellipsis-text/show-ellipsis-text.directive.ts +0 -19
  109. package/src/lib/anna-core-shared-lib/models/anna-generic-data-type.model.ts +0 -19
  110. package/src/lib/anna-core-shared-lib/models/anna-sort.model.ts +0 -7
  111. package/src/lib/anna-core-shared-lib/models/anna-tooltip.model.ts +0 -44
  112. package/src/lib/anna-core-shared-lib/pipes/annaConvertZeroOrNullOrUndefined.pipe.ts +0 -20
  113. package/src/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.ts +0 -43
  114. package/src/lib/anna-core-shared-lib/pipes/annaReplaceChar.pipe.ts +0 -19
  115. package/src/lib/anna-core-shared-lib/pipes/annaTypeOfData.pipe.ts +0 -12
  116. package/src/lib/anna-core-shared-lib/services/anna-date-time-format.service.ts +0 -216
  117. package/src/lib/anna-core-shared-lib/services/anna-filter.service.ts +0 -514
  118. package/src/lib/anna-core-shared-lib/services/anna-generic-table.service.ts +0 -44
  119. package/src/lib/anna-core-shared-lib/services/anna-global-config.service.ts +0 -170
  120. package/src/lib/anna-core-shared-lib/services/anna-sort.service.ts +0 -179
  121. package/src/lib/anna-core.module.ts +0 -110
  122. package/src/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.html +0 -46
  123. package/src/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.scss +0 -153
  124. package/src/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.spec.ts +0 -24
  125. package/src/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.ts +0 -106
  126. package/src/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.html +0 -129
  127. package/src/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.scss +0 -275
  128. package/src/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.spec.ts +0 -24
  129. package/src/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.ts +0 -412
  130. package/src/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.html +0 -926
  131. package/src/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.scss +0 -628
  132. package/src/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.spec.ts +0 -25
  133. package/src/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.ts +0 -2064
  134. package/src/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.html +0 -10
  135. package/src/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.scss +0 -1
  136. package/src/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.spec.ts +0 -24
  137. package/src/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.ts +0 -70
  138. package/src/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.html +0 -13
  139. package/src/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.scss +0 -88
  140. package/src/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.spec.ts +0 -25
  141. package/src/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.ts +0 -460
  142. 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
  143. package/src/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.ts +0 -204
  144. package/src/test.ts +0 -27
  145. package/tsconfig.lib.json +0 -19
  146. package/tsconfig.lib.prod.json +0 -10
  147. package/tsconfig.spec.json +0 -17
@@ -0,0 +1,133 @@
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
+ console.log("AnnaGlobalConfigService service created.");
9
+ this.defaultAngular2MultiSelectSettings = {
10
+ text: "Select option",
11
+ selectAllText: "Select All",
12
+ unSelectAllText: "UnSelect All",
13
+ badgeShowLimit: 1,
14
+ singleSelection: false,
15
+ classes: "filter-dropdowns",
16
+ enableSearchFilter: true,
17
+ enableCheckAll: true,
18
+ autoPosition: false,
19
+ disabled: false,
20
+ position: "bottom",
21
+ lazyLoading: false,
22
+ showCheckbox: true,
23
+ maxHeight: 300,
24
+ enableFilterSelectAll: true,
25
+ };
26
+ this.defaultNgxAsideSettings = {
27
+ title: '"Filters"',
28
+ cancelButtonTitle: '"Cancel"',
29
+ submitButtonTitle: '"Apply"',
30
+ closeOnEscape: false,
31
+ showOverlay: false,
32
+ showDefaultFooter: false,
33
+ showDefaultHeader: false,
34
+ };
35
+ this.defaultNgbDatePickerSettings = {
36
+ autoClose: false,
37
+ placeholder: "mm-dd-yyyy",
38
+ displayMonths: 1,
39
+ firstDayOfWeek: 1,
40
+ showWeekNumbers: false,
41
+ readonly: true,
42
+ };
43
+ this.defaultNgSelectSettings = {
44
+ allowClear: false,
45
+ placeholder: "Select",
46
+ };
47
+ this.defaultNgxInfiniteScrollSettings = {
48
+ infiniteScrollDistance: 1,
49
+ infiniteScrollUpDistance: 2,
50
+ infiniteScrollThrottle: 300,
51
+ scrollWindow: false,
52
+ };
53
+ this.defaultNgxSkeletonLoaderSettings = {
54
+ numberOfSkeletonRows: Array(6).fill(0),
55
+ };
56
+ this.defaultRadioButtonsComponentConfig = {
57
+ heading: "Select Option",
58
+ radioButtons: [
59
+ {
60
+ value: "Yes",
61
+ isDisabled: false,
62
+ label: "Yes",
63
+ class: "",
64
+ },
65
+ {
66
+ value: "No",
67
+ isDisabled: false,
68
+ label: "No",
69
+ class: "",
70
+ },
71
+ ],
72
+ };
73
+ this.defaultConfirmationPopupConfig = {
74
+ showCancelButton: true,
75
+ title: "Are you sure ?",
76
+ showConfirmButton: true,
77
+ cancelButtonLabel: "No",
78
+ confirmButtonLabel: "Yes",
79
+ showCloseIcon: true,
80
+ backdrop: "static",
81
+ windowClass: "",
82
+ size: "sm",
83
+ keyboard: false,
84
+ };
85
+ this.defaultWeekCalendarConfig = {
86
+ firstDayOfWeek: 1,
87
+ showWeekNumbers: true,
88
+ dateFormatToDisplay: "d MMM y",
89
+ dateFormatForRequest: "y-MM-dd",
90
+ maxWeeksToShowWithRemainingCount: 2,
91
+ numberOfMonthsToEnableInPast: 1,
92
+ selectMultipleWeeks: false,
93
+ customClass: "",
94
+ emitMultipleWeekObjects: true,
95
+ maxWeeksToSelect: 0,
96
+ showAsDropdown: true,
97
+ selectCurrentWeek: true,
98
+ };
99
+ this.defaultGtHeaderConfig = {
100
+ iconColumn: false,
101
+ checkboxColumn: false,
102
+ lastColumnKeys: []
103
+ };
104
+ this.defaultGtGeneralConfig = {
105
+ component: "",
106
+ totalRow: false,
107
+ isHeaderChecked: false,
108
+ disableHeaderCheckbox: false,
109
+ verticalScrollOffsetForFilterTooltip: 0,
110
+ isGrouped: false,
111
+ showAllColumnFilter: true,
112
+ bufferSize: 20,
113
+ page: ""
114
+ };
115
+ this.defaultSingleSelectConfig = {
116
+ showSearchBar: false,
117
+ placeholder: "Select",
118
+ classes: "",
119
+ position: "BOTTOM",
120
+ maxHeightOfList: 200
121
+ };
122
+ this.defaultMultiSelectConfig = { ...this.defaultSingleSelectConfig, ...{ showErrorWhenNoOptionSelected: true } };
123
+ }
124
+ }
125
+ AnnaGlobalConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaGlobalConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
126
+ AnnaGlobalConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaGlobalConfigService, providedIn: "root" });
127
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaGlobalConfigService, decorators: [{
128
+ type: Injectable,
129
+ args: [{
130
+ providedIn: "root",
131
+ }]
132
+ }], ctorParameters: function () { return []; } });
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1nbG9iYWwtY29uZmlnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLWdsb2JhbC1jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQXNCM0MsTUFBTSxPQUFPLHVCQUF1QjtJQWVoQzs7TUFFRTtJQUNGO1FBQ0ksT0FBTyxDQUFDLEdBQUcsQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxrQ0FBa0MsR0FBRztZQUN0QyxJQUFJLEVBQUUsZUFBZTtZQUNyQixhQUFhLEVBQUUsWUFBWTtZQUMzQixlQUFlLEVBQUUsY0FBYztZQUMvQixjQUFjLEVBQUUsQ0FBQztZQUNqQixlQUFlLEVBQUUsS0FBSztZQUN0QixPQUFPLEVBQUUsa0JBQWtCO1lBQzNCLGtCQUFrQixFQUFFLElBQUk7WUFDeEIsY0FBYyxFQUFFLElBQUk7WUFDcEIsWUFBWSxFQUFFLEtBQUs7WUFDbkIsUUFBUSxFQUFFLEtBQUs7WUFDZixRQUFRLEVBQUUsUUFBUTtZQUNsQixXQUFXLEVBQUUsS0FBSztZQUNsQixZQUFZLEVBQUUsSUFBSTtZQUNsQixTQUFTLEVBQUUsR0FBRztZQUNkLHFCQUFxQixFQUFFLElBQUk7U0FDOUIsQ0FBQztRQUVGLElBQUksQ0FBQyx1QkFBdUIsR0FBRztZQUMzQixLQUFLLEVBQUUsV0FBVztZQUNsQixpQkFBaUIsRUFBRSxVQUFVO1lBQzdCLGlCQUFpQixFQUFFLFNBQVM7WUFDNUIsYUFBYSxFQUFFLEtBQUs7WUFDcEIsV0FBVyxFQUFFLEtBQUs7WUFDbEIsaUJBQWlCLEVBQUUsS0FBSztZQUN4QixpQkFBaUIsRUFBRSxLQUFLO1NBQzNCLENBQUM7UUFFRixJQUFJLENBQUMs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LElBQUksQ0FBQyx5QkFBeUIsRUFBRSxHQUFHLEVBQUMsNkJBQTZCLEVBQUUsSUFBSSxFQUFDLEVBQUMsQ0FBQztJQUNsSCxDQUFDOztvSEFsSlEsdUJBQXVCO3dIQUF2Qix1QkFBdUIsY0FGcEIsTUFBTTsyRkFFVCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7XHJcbiAgICBJQW5ndWxhcjJNdWx0aVNlbGVjdFNldHRpbmdzLFxyXG4gICAgSU5neEFzaWRlU2V0dGluZ3MsXHJcbiAgICBJTmdiRGF0ZVBpY2tlclNldHRpbmdzLFxyXG4gICAgSU5nU2VsZWN0U2V0dGluZ3MsXHJcbiAgICBJTmd4SW5maW5pdGVTY3JvbGxTZXR0aW5ncyxcclxuICAgIElOZ3hTa2VsZXRvbkxvYWRlclNldHRpbmdzLFxyXG4gICAgSVJhZGlvQnV0dG9uQ29tcG9uZW50Q29uZmlnLFxyXG4gICAgSUNvbmZpcm1hdGlvblBvcHVwQ29uZmlnLFxyXG4gICAgSVdlZWtDYWxlbmRhcixcclxuICAgIElDdXN0b21TaW5nbGVTZWxlY3QsXHJcbiAgICBJQ3VzdG9tTXVsdGlTZWxlY3QsXHJcbn0gZnJvbSBcIi4uL21vZGVscy9hbm5hLWdsb2JhbC1kcm9wZG93bi1jb25maWcubW9kZWxcIjtcclxuaW1wb3J0IHtcclxuICAgIElHdEhlYWRlckNvbmZpZyxcclxuICAgIElHdEdlbmVyYWxDb25maWdcclxufSBmcm9tIFwiLi4vbW9kZWxzL2FubmEtbm9uLWVkaXRhYmxlLWd0LW1vZGVsc1wiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogXCJyb290XCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbm5hR2xvYmFsQ29uZmlnU2VydmljZSB7XHJcbiAgICByZWFkb25seSBkZWZhdWx0QW5ndWxhcjJNdWx0aVNlbGVjdFNldHRpbmdzOiBJQW5ndWxhcjJNdWx0aVNlbGVjdFNldHRpbmdzO1xyXG4gICAgcmVhZG9ubHkgZGVmYXVsdE5neEFzaWRlU2V0dGluZ3M6IElOZ3hBc2lkZVNldHRpbmdzO1xyXG4gICAgcmVhZG9ubHkgZGVmYXVsdE5nYkRhdGVQaWNrZXJTZXR0aW5nczogSU5nYkRhdGVQaWNrZXJTZXR0aW5ncztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHROZ1NlbGVjdFNldHRpbmdzOiBJTmdTZWxlY3RTZXR0aW5ncztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHROZ3hJbmZpbml0ZVNjcm9sbFNldHRpbmdzOiBJTmd4SW5maW5pdGVTY3JvbGxTZXR0aW5ncztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHROZ3hTa2VsZXRvbkxvYWRlclNldHRpbmdzOiBJTmd4U2tlbGV0b25Mb2FkZXJTZXR0aW5ncztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHRSYWRpb0J1dHRvbnNDb21wb25lbnRDb25maWc6IElSYWRpb0J1dHRvbkNvbXBvbmVudENvbmZpZztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHRDb25maXJtYXRpb25Qb3B1cENvbmZpZzogSUNvbmZpcm1hdGlvblBvcHVwQ29uZmlnO1xyXG4gICAgcmVhZG9ubHkgZGVmYXVsdFdlZWtDYWxlbmRhckNvbmZpZzogSVdlZWtDYWxlbmRhcjtcclxuICAgIHJlYWRvbmx5IGRlZmF1bHRHdEhlYWRlckNvbmZpZzogSUd0SGVhZGVyQ29uZmlnO1xyXG4gICAgcmVhZG9ubHkgZGVmYXVsdEd0R2VuZXJhbENvbmZpZzogSUd0R2VuZXJhbENvbmZpZztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHRTaW5nbGVTZWxlY3RDb25maWc6IElDdXN0b21TaW5nbGVTZWxlY3Q7XHJcbiAgICByZWFkb25seSBkZWZhdWx0TXVsdGlTZWxlY3RDb25maWc6IElDdXN0b21NdWx0aVNlbGVjdDtcclxuXHJcbiAgICAvKlxyXG4gICAgIEluaXRpYWxpemluZyBhbGwgZGVmYXVsdCBzZXR0aW5nc1xyXG4gICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwiQW5uYUdsb2JhbENvbmZpZ1NlcnZpY2Ugc2VydmljZSBjcmVhdGVkLlwiKTtcclxuICAgICAgICB0aGlzLmRlZmF1bHRBbmd1bGFyMk11bHRpU2VsZWN0U2V0dGluZ3MgPSB7XHJcbiAgICAgICAgICAgIHRleHQ6IFwiU2VsZWN0IG9wdGlvblwiLFxyXG4gICAgICAgICAgICBzZWxlY3RBbGxUZXh0OiBcIlNlbGVjdCBBbGxcIixcclxuICAgICAgICAgICAgdW5TZWxlY3RBbGxUZXh0OiBcIlVuU2VsZWN0IEFsbFwiLFxyXG4gICAgICAgICAgICBiYWRnZVNob3dMaW1pdDogMSxcclxuICAgICAgICAgICAgc2luZ2xlU2VsZWN0aW9uOiBmYWxzZSxcclxuICAgICAgICAgICAgY2xhc3NlczogXCJmaWx0ZXItZHJvcGRvd25zXCIsXHJcbiAgICAgICAgICAgIGVuYWJsZVNlYXJjaEZpbHRlcjogdHJ1ZSxcclxuICAgICAgICAgICAgZW5hYmxlQ2hlY2tBbGw6IHRydWUsXHJcbiAgICAgICAgICAgIGF1dG9Qb3NpdGlvbjogZmFsc2UsXHJcbiAgICAgICAgICAgIGRpc2FibGVkOiBmYWxzZSxcclxuICAgICAgICAgICAgcG9zaXRpb246IFwiYm90dG9tXCIsXHJcbiAgICAgICAgICAgIGxhenlMb2FkaW5nOiBmYWxzZSxcclxuICAgICAgICAgICAgc2hvd0NoZWNrYm94OiB0cnVlLFxyXG4gICAgICAgICAgICBtYXhIZWlnaHQ6IDMwMCxcclxuICAgICAgICAgICAgZW5hYmxlRmlsdGVyU2VsZWN0QWxsOiB0cnVlLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuZGVmYXVsdE5neEFzaWRlU2V0dGluZ3MgPSB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnXCJGaWx0ZXJzXCInLFxyXG4gICAgICAgICAgICBjYW5jZWxCdXR0b25UaXRsZTogJ1wiQ2FuY2VsXCInLFxyXG4gICAgICAgICAgICBzdWJtaXRCdXR0b25UaXRsZTogJ1wiQXBwbHlcIicsXHJcbiAgICAgICAgICAgIGNsb3NlT25Fc2NhcGU6IGZhbHNlLFxyXG4gICAgICAgICAgICBzaG93T3ZlcmxheTogZmFsc2UsXHJcbiAgICAgICAgICAgIHNob3dEZWZhdWx0Rm9vdGVyOiBmYWxzZSxcclxuICAgICAgICAgICAgc2hvd0RlZmF1bHRIZWFkZXI6IGZhbHNlLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuZGVmYXVsdE5nYkRhdGVQaWNrZXJTZXR0aW5ncyA9IHtcclxuICAgICAgICAgICAgYXV0b0Nsb3NlOiBmYWxzZSxcclxuICAgICAgICAgICAgcGxhY2Vob2xkZXI6IFwibW0tZGQteXl5eVwiLFxyXG4gICAgICAgICAgICBkaXNwbGF5TW9udGhzOiAxLFxyXG4gICAgICAgICAgICBmaXJzdERheU9mV2VlazogMSxcclxuICAgICAgICAgICAgc2hvd1dlZWtOdW1iZXJzOiBmYWxzZSxcclxuICAgICAgICAgICAgcmVhZG9ubHk6IHRydWUsXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0TmdTZWxlY3RTZXR0aW5ncyA9IHtcclxuICAgICAgICAgICAgYWxsb3dDbGVhcjogZmFsc2UsXHJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyOiBcIlNlbGVjdFwiLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuZGVmYXVsdE5neEluZmluaXRlU2Nyb2xsU2V0dGluZ3MgPSB7XHJcbiAgICAgICAgICAgIGluZmluaXRlU2Nyb2xsRGlzdGFuY2U6IDEsXHJcbiAgICAgICAgICAgIGluZmluaXRlU2Nyb2xsVXBEaXN0YW5jZTogMixcclxuICAgICAgICAgICAgaW5maW5pdGVTY3JvbGxUaHJvdHRsZTogMzAwLFxyXG4gICAgICAgICAgICBzY3JvbGxXaW5kb3c6IGZhbHNlLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuZGVmYXVsdE5neFNrZWxldG9uTG9hZGVyU2V0dGluZ3MgPSB7XHJcbiAgICAgICAgICAgIG51bWJlck9mU2tlbGV0b25Sb3dzOiBBcnJheSg2KS5maWxsKDApLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuZGVmYXVsdFJhZGlvQnV0dG9uc0NvbXBvbmVudENvbmZpZyA9IHtcclxuICAgICAgICAgICAgaGVhZGluZzogXCJTZWxlY3QgT3B0aW9uXCIsXHJcbiAgICAgICAgICAgIHJhZGlvQnV0dG9uczogW1xyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBcIlllc1wiLFxyXG4gICAgICAgICAgICAgICAgICAgIGlzRGlzYWJsZWQ6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcIlllc1wiLFxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzOiBcIlwiLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogXCJOb1wiLFxyXG4gICAgICAgICAgICAgICAgICAgIGlzRGlzYWJsZWQ6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcIk5vXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M6IFwiXCIsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBdLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuZGVmYXVsdENvbmZpcm1hdGlvblBvcHVwQ29uZmlnID0ge1xyXG4gICAgICAgICAgICBzaG93Q2FuY2VsQnV0dG9uOiB0cnVlLFxyXG4gICAgICAgICAgICB0aXRsZTogXCJBcmUgeW91IHN1cmUgP1wiLFxyXG4gICAgICAgICAgICBzaG93Q29uZmlybUJ1dHRvbjogdHJ1ZSxcclxuICAgICAgICAgICAgY2FuY2VsQnV0dG9uTGFiZWw6IFwiTm9cIixcclxuICAgICAgICAgICAgY29uZmlybUJ1dHRvbkxhYmVsOiBcIlllc1wiLFxyXG4gICAgICAgICAgICBzaG93Q2xvc2VJY29uOiB0cnVlLFxyXG4gICAgICAgICAgICBiYWNrZHJvcDogXCJzdGF0aWNcIixcclxuICAgICAgICAgICAgd2luZG93Q2xhc3M6IFwiXCIsXHJcbiAgICAgICAgICAgIHNpemU6IFwic21cIixcclxuICAgICAgICAgICAga2V5Ym9hcmQ6IGZhbHNlLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuZGVmYXVsdFdlZWtDYWxlbmRhckNvbmZpZyA9IHtcclxuICAgICAgICAgICAgZmlyc3REYXlPZldlZWs6IDEsXHJcbiAgICAgICAgICAgIHNob3dXZWVrTnVtYmVyczogdHJ1ZSxcclxuICAgICAgICAgICAgZGF0ZUZvcm1hdFRvRGlzcGxheTogXCJkIE1NTSB5XCIsXHJcbiAgICAgICAgICAgIGRhdGVGb3JtYXRGb3JSZXF1ZXN0OiBcInktTU0tZGRcIixcclxuICAgICAgICAgICAgbWF4V2Vla3NUb1Nob3dXaXRoUmVtYWluaW5nQ291bnQ6IDIsXHJcbiAgICAgICAgICAgIG51bWJlck9mTW9udGhzVG9FbmFibGVJblBhc3Q6IDEsXHJcbiAgICAgICAgICAgIHNlbGVjdE11bHRpcGxlV2Vla3M6IGZhbHNlLFxyXG4gICAgICAgICAgICBjdXN0b21DbGFzczogXCJcIixcclxuICAgICAgICAgICAgZW1pdE11bHRpcGxlV2Vla09iamVjdHM6IHRydWUsXHJcbiAgICAgICAgICAgIG1heFdlZWtzVG9TZWxlY3Q6IDAsXHJcbiAgICAgICAgICAgIHNob3dBc0Ryb3Bkb3duOiB0cnVlLFxyXG4gICAgICAgICAgICBzZWxlY3RDdXJyZW50V2VlazogdHJ1ZSxcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLmRlZmF1bHRHdEhlYWRlckNvbmZpZyA9IHtcclxuICAgICAgICAgICAgaWNvbkNvbHVtbjogZmFsc2UsXHJcbiAgICAgICAgICAgIGNoZWNrYm94Q29sdW1uOiBmYWxzZSxcclxuICAgICAgICAgICAgbGFzdENvbHVtbktleXM6IFtdXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0R3RHZW5lcmFsQ29uZmlnID0ge1xyXG4gICAgICAgICAgICBjb21wb25lbnQ6IFwiXCIsXHJcbiAgICAgICAgICAgIHRvdGFsUm93OiBmYWxzZSxcclxuICAgICAgICAgICAgaXNIZWFkZXJDaGVja2VkOiBmYWxzZSxcclxuICAgICAgICAgICAgZGlzYWJsZUhlYWRlckNoZWNrYm94OiBmYWxzZSxcclxuICAgICAgICAgICAgdmVydGljYWxTY3JvbGxPZmZzZXRGb3JGaWx0ZXJUb29sdGlwOiAwLFxyXG4gICAgICAgICAgICBpc0dyb3VwZWQ6IGZhbHNlLFxyXG4gICAgICAgICAgICBzaG93QWxsQ29sdW1uRmlsdGVyOiB0cnVlLFxyXG4gICAgICAgICAgICBidWZmZXJTaXplOiAyMCxcclxuICAgICAgICAgICAgcGFnZTogXCJcIlxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuZGVmYXVsdFNpbmdsZVNlbGVjdENvbmZpZyA9IHtcclxuICAgICAgICAgICAgc2hvd1NlYXJjaEJhcjogZmFsc2UsXHJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyOiAgXCJTZWxlY3RcIixcclxuICAgICAgICAgICAgY2xhc3NlczogXCJcIixcclxuICAgICAgICAgICAgcG9zaXRpb246IFwiQk9UVE9NXCIsXHJcbiAgICAgICAgICAgIG1heEhlaWdodE9mTGlzdDogMjAwXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmRlZmF1bHRNdWx0aVNlbGVjdENvbmZpZyA9IHsuLi50aGlzLmRlZmF1bHRTaW5nbGVTZWxlY3RDb25maWcsIC4uLntzaG93RXJyb3JXaGVuTm9PcHRpb25TZWxlY3RlZDogdHJ1ZX19O1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,147 @@
1
+ // Angular import statements
2
+ import { Injectable } from '@angular/core';
3
+ import { Subject } from 'rxjs';
4
+ import { AnnaDateTimeFormatService } from './anna-date-time-format.service';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "./anna-date-time-format.service";
7
+ // Third party import statements
8
+ // User defined import statements
9
+ export class AnnaSortService {
10
+ constructor(annaDateTimeFormatService) {
11
+ this.annaDateTimeFormatService = annaDateTimeFormatService;
12
+ this.updateSortTypeSubject = new Subject();
13
+ this.dateSet = new Set([
14
+ 'endDate',
15
+ 'startDate',
16
+ 'end_date',
17
+ 'start_date',
18
+ 'flightStartDate',
19
+ 'flightEndDate',
20
+ ]);
21
+ console.log('AnnaTableColumnSortService sevice created.');
22
+ }
23
+ sortDataForComponentOtherThanLurAndCsrPage(isAsc, data, key) {
24
+ let param1;
25
+ let param2;
26
+ if (this.dateSet.has(key)) {
27
+ data.sort((a, b) => {
28
+ return this.annaDateTimeFormatService.compareDate(a[key], b[key], isAsc);
29
+ });
30
+ }
31
+ else if (key === 'AirDateAndTime') {
32
+ data.sort((a, b) => {
33
+ let first, second;
34
+ if (a[key] == '-') {
35
+ return 1;
36
+ }
37
+ if (b[key] == '-') {
38
+ return -1;
39
+ }
40
+ else {
41
+ first =
42
+ this.annaDateTimeFormatService.formatDateAndHHMMATimeToStandardFormat(a[key]);
43
+ second =
44
+ this.annaDateTimeFormatService.formatDateAndHHMMATimeToStandardFormat(b[key]);
45
+ let compareDate = this.annaDateTimeFormatService.compareDate(first, second, isAsc);
46
+ return compareDate;
47
+ }
48
+ });
49
+ }
50
+ else if (key == 'startEndTime' || key == 'TimeBand') {
51
+ data.sort((a, b) => {
52
+ if (isAsc) {
53
+ param1 = a[key][1];
54
+ param2 = b[key][1];
55
+ }
56
+ else {
57
+ param1 = a[key][2];
58
+ param2 = b[key][2];
59
+ }
60
+ let val = isAsc
61
+ ? this.annaDateTimeFormatService.sortByTimeAscending(param1, param2)
62
+ : this.annaDateTimeFormatService.sortByTimeDescending(param1, param2);
63
+ return val;
64
+ });
65
+ }
66
+ else {
67
+ data.sort((a, b) => {
68
+ param1 = a[key];
69
+ param2 = b[key];
70
+ if (param1 !== param2) {
71
+ return this.annaDateTimeFormatService.compare(param1, param2, isAsc);
72
+ }
73
+ return 0;
74
+ });
75
+ }
76
+ return data;
77
+ }
78
+ sortEnterEditLurAndCsrPage(isAsc, data, key) {
79
+ let param1;
80
+ let param2;
81
+ if (key.includes('_')) {
82
+ let keys = key.split('_');
83
+ let weekNumber = keys[0];
84
+ let sortKey = keys[1];
85
+ if (keys.length > 2) {
86
+ sortKey =
87
+ keys[2] == true
88
+ ? 'BookedAurIncludingNoChargeSpots'
89
+ : 'BookedAurExcludingNoChargeSpots';
90
+ }
91
+ data.sort((a, b) => {
92
+ let aInventoryCodeWeekWiseKey = Object.keys(a.WeekWiseInventoryCodeData).filter((key) => key.split('_')[1] == weekNumber);
93
+ let bInventoryCodeWeekWiseKey = Object.keys(b.WeekWiseInventoryCodeData).filter((key) => key.split('_')[1] == weekNumber);
94
+ param1 = null;
95
+ param2 = null;
96
+ if (aInventoryCodeWeekWiseKey.length > 0) {
97
+ param1 =
98
+ a.WeekWiseInventoryCodeData[aInventoryCodeWeekWiseKey[0]][sortKey][1];
99
+ }
100
+ if (bInventoryCodeWeekWiseKey.length > 0) {
101
+ param2 =
102
+ b.WeekWiseInventoryCodeData[bInventoryCodeWeekWiseKey[0]][sortKey][1];
103
+ }
104
+ if (param1 !== param2) {
105
+ return this.annaDateTimeFormatService.compare(param1, param2, isAsc);
106
+ }
107
+ return 0;
108
+ });
109
+ }
110
+ else if (key == 'TimeBand') {
111
+ data.sort((a, b) => {
112
+ if (isAsc) {
113
+ param1 = a[key][1];
114
+ param2 = b[key][1];
115
+ }
116
+ else {
117
+ param1 = a[key][2];
118
+ param2 = b[key][2];
119
+ }
120
+ let val = isAsc
121
+ ? this.annaDateTimeFormatService.sortByTimeAscending(param1, param2)
122
+ : this.annaDateTimeFormatService.sortByTimeDescending(param1, param2);
123
+ return val;
124
+ });
125
+ }
126
+ else {
127
+ data.sort((a, b) => {
128
+ param1 = a[key];
129
+ param2 = b[key];
130
+ if (param1 !== param2) {
131
+ return this.annaDateTimeFormatService.compare(param1, param2, isAsc);
132
+ }
133
+ return 0;
134
+ });
135
+ }
136
+ return data;
137
+ }
138
+ }
139
+ AnnaSortService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaSortService, deps: [{ token: i1.AnnaDateTimeFormatService }], target: i0.ɵɵFactoryTarget.Injectable });
140
+ AnnaSortService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaSortService, providedIn: 'root' });
141
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaSortService, decorators: [{
142
+ type: Injectable,
143
+ args: [{
144
+ providedIn: 'root',
145
+ }]
146
+ }], ctorParameters: function () { return [{ type: i1.AnnaDateTimeFormatService }]; } });
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1zb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLXNvcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEI7QUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7QUFFNUUsZ0NBQWdDO0FBRWhDLGlDQUFpQztBQUtqQyxNQUFNLE9BQU8sZUFBZTtJQWMxQixZQUFvQix5QkFBb0Q7UUFBcEQsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEyQjtRQVh4RSwwQkFBcUIsR0FBb0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUV2RCxZQUFPLEdBQUcsSUFBSSxHQUFHLENBQUM7WUFDaEIsU0FBUztZQUNULFdBQVc7WUFDWCxVQUFVO1lBQ1YsWUFBWTtZQUNaLGlCQUFpQjtZQUNqQixlQUFlO1NBQ2hCLENBQUMsQ0FBQztRQUdELE9BQU8sQ0FBQyxHQUFHLENBQUMsNENBQTRDLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsMENBQTBDLENBQ3hDLEtBQWMsRUFDZCxJQUFXLEVBQ1gsR0FBVztRQUVYLElBQUksTUFBdUIsQ0FBQztRQUM1QixJQUFJLE1BQXVCLENBQUM7UUFFNUIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUNqQixPQUFPLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxXQUFXLENBQy9DLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFD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QyxDQUFDO2dCQUNoQixNQUFNLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUVoQixJQUFJLE1BQU0sS0FBSyxNQUFNLEVBQUU7b0JBQ3JCLE9BQU8sSUFBSSxDQUFDLHlCQUF5QixDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO2lCQUN0RTtnQkFFRCxPQUFPLENBQUMsQ0FBQztZQUNYLENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7OzRHQXBLVSxlQUFlO2dIQUFmLGVBQWUsY0FGZCxNQUFNOzJGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhciBpbXBvcnQgc3RhdGVtZW50c1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU29ydFR5cGUgfSBmcm9tICcuLi9tb2RlbHMvYW5uYS1zb3J0Lm1vZGVsJztcclxuaW1wb3J0IHsgQW5uYURhdGVUaW1lRm9ybWF0U2VydmljZSB9IGZyb20gJy4vYW5uYS1kYXRlLXRpbWUtZm9ybWF0LnNlcnZpY2UnO1xyXG5cclxuLy8gVGhpcmQgcGFydHkgaW1wb3J0IHN0YXRlbWVudHNcclxuXHJcbi8vIFVzZXIgZGVmaW5lZCBpbXBvcnQgc3RhdGVtZW50c1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFubmFTb3J0U2VydmljZSB7XHJcbiAgY29sdW1uU29ydFN0YXRlOiBNYXA8c3RyaW5nLCBTb3J0VHlwZT47XHJcbiAgbm9Tb3J0aW5nQXBwbGllZERhdGE6IGFueVtdO1xyXG4gIHVwZGF0ZVNvcnRUeXBlU3ViamVjdDogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgZGF0ZVNldCA9IG5ldyBTZXQoW1xyXG4gICAgJ2VuZERhdGUnLFxyXG4gICAgJ3N0YXJ0RGF0ZScsXHJcbiAgICAnZW5kX2RhdGUnLFxyXG4gICAgJ3N0YXJ0X2RhdGUnLFxyXG4gICAgJ2ZsaWdodFN0YXJ0RGF0ZScsXHJcbiAgICAnZmxpZ2h0RW5kRGF0ZScsXHJcbiAgXSk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZTogQW5uYURhdGVUaW1lRm9ybWF0U2VydmljZSkge1xyXG4gICAgY29uc29sZS5sb2coJ0FubmFUYWJsZUNvbHVtblNvcnRTZXJ2aWNlIHNldmljZSBjcmVhdGVkLicpO1xyXG4gIH1cclxuXHJcbiAgc29ydERhdGFGb3JDb21wb25lbnRPdGhlclRoYW5MdXJBbmRDc3JQYWdlKFxyXG4gICAgaXNBc2M6IGJvb2xlYW4sXHJcbiAgICBkYXRhOiBhbnlbXSxcclxuICAgIGtleTogc3RyaW5nXHJcbiAgKSB7XHJcbiAgICBsZXQgcGFyYW0xOiBzdHJpbmcgfCBudW1iZXI7XHJcbiAgICBsZXQgcGFyYW0yOiBzdHJpbmcgfCBudW1iZXI7XHJcblxyXG4gICAgaWYgKHRoaXMuZGF0ZVNldC5oYXMoa2V5KSkge1xyXG4gICAgICBkYXRhLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlLmNvbXBhcmVEYXRlKFxyXG4gICAgICAgICAgYVtrZXldLFxyXG4gICAgICAgICAgYltrZXldLFxyXG4gICAgICAgICAgaXNBc2NcclxuICAgICAgICApO1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSBpZiAoa2V5ID09PSAnQWlyRGF0ZUFuZFRpbWUnKSB7XHJcbiAgICAgIGRhdGEuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICAgIGxldCBmaXJzdCwgc2Vjb25kO1xyXG4gICAgICAgIGlmIChhW2tleV0gPT0gJy0nKSB7XHJcbiAgICAgICAgICByZXR1cm4gMTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChiW2tleV0gPT0gJy0nKSB7XHJcbiAgICAgICAgICByZXR1cm4gLTE7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGZpcnN0ID1cclxuICAgICAgICAgICAgdGhpcy5hbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlLmZvcm1hdERhdGVBbmRISE1NQVRpbWVUb1N0YW5kYXJkRm9ybWF0KFxyXG4gICAgICAgICAgICAgIGFba2V5XVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgc2Vjb25kID1cclxuICAgICAgICAgICAgdGhpcy5hbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlLmZvcm1hdERhdGVBbmRISE1NQVRpbWVUb1N0YW5kYXJkRm9ybWF0KFxyXG4gICAgICAgICAgICAgIGJba2V5XVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgbGV0IGNvbXBhcmVEYXRlID0gdGhpcy5hbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlLmNvbXBhcmVEYXRlKFxyXG4gICAgICAgICAgICBmaXJzdCxcclxuICAgICAgICAgICAgc2Vjb25kLFxyXG4gICAgICAgICAgICBpc0FzY1xyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIHJldHVybiBjb21wYXJlRGF0ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIGlmIChrZXkgPT0gJ3N0YXJ0RW5kVGltZScgfHwga2V5ID09ICdUaW1lQmFuZCcpIHtcclxuICAgICAgZGF0YS5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgICAgaWYgKGlzQXNjKSB7XHJcbiAgICAgICAgICBwYXJhbTEgPSBhW2tleV1bMV07XHJcbiAgICAgICAgICBwYXJhbTIgPSBiW2tleV1bMV07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHBhcmFtMSA9IGFba2V5XVsyXTtcclxuICAgICAgICAgIHBhcmFtMiA9IGJba2V5XVsyXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IHZhbCA9IGlzQXNjXHJcbiAgICAgICAgICA/IHRoaXMuYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5zb3J0QnlUaW1lQXNjZW5kaW5nKHBhcmFtMSwgcGFyYW0yKVxyXG4gICAgICAgICAgOiB0aGlzLmFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2Uuc29ydEJ5VGltZURlc2NlbmRpbmcocGFyYW0xLCBwYXJhbTIpO1xyXG4gICAgICAgIHJldHVybiB2YWw7XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZGF0YS5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgICAgcGFyYW0xID0gYVtrZXldO1xyXG4gICAgICAgIHBhcmFtMiA9IGJba2V5XTtcclxuXHJcbiAgICAgICAgaWYgKHBhcmFtMSAhPT0gcGFyYW0yKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5hbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlLmNvbXBhcmUocGFyYW0xLCBwYXJhbTIsIGlzQXNjKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiAwO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZGF0YTtcclxuICB9XHJcblxyXG4gIHNvcnRFbnRlckVkaXRMdXJBbmRDc3JQYWdlKGlzQXNjOiBib29sZWFuLCBkYXRhOiBhbnlbXSwga2V5OiBhbnkpIHtcclxuICAgIGxldCBwYXJhbTE6IHN0cmluZyB8IG51bWJlcjtcclxuICAgIGxldCBwYXJhbTI6IHN0cmluZyB8IG51bWJlcjtcclxuXHJcbiAgICBpZiAoa2V5LmluY2x1ZGVzKCdfJykpIHtcclxuICAgICAgbGV0IGtleXMgPSBrZXkuc3BsaXQoJ18nKTtcclxuICAgICAgbGV0IHdlZWtOdW1iZXIgPSBrZXlzWzBdO1xyXG4gICAgICBsZXQgc29ydEtleSA9IGtleXNbMV07XHJcblxyXG4gICAgICBpZiAoa2V5cy5sZW5ndGggPiAyKSB7XHJcbiAgICAgICAgc29ydEtleSA9XHJcbiAgICAgICAgICBrZXlzWzJdID09IHRydWVcclxuICAgICAgICAgICAgPyAnQm9va2VkQXVySW5jbHVkaW5nTm9DaGFyZ2VTcG90cydcclxuICAgICAgICAgICAgOiAnQm9va2VkQXVyRXhjbHVkaW5nTm9DaGFyZ2VTcG90cyc7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGRhdGEuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICAgIGxldCBhSW52ZW50b3J5Q29kZVdlZWtXaXNlS2V5ID0gT2JqZWN0LmtleXMoXHJcbiAgICAgICAgICBhLldlZWtXaXNlSW52ZW50b3J5Q29kZURhdGFcclxuICAgICAgICApLmZpbHRlcigoa2V5KSA9PiBrZXkuc3BsaXQoJ18nKVsxXSA9PSB3ZWVrTnVtYmVyKTtcclxuICAgICAgICBsZXQgYkludmVudG9yeUNvZGVXZWVrV2lzZUtleSA9IE9iamVjdC5rZXlzKFxyXG4gICAgICAgICAgYi5XZWVrV2lzZUludmVudG9yeUNvZGVEYXRhXHJcbiAgICAgICAgKS5maWx0ZXIoKGtleSkgPT4ga2V5LnNwbGl0KCdfJylbMV0gPT0gd2Vla051bWJlcik7XHJcblxyXG4gICAgICAgIHBhcmFtMSA9IG51bGw7XHJcbiAgICAgICAgcGFyYW0yID0gbnVsbDtcclxuICAgICAgICBpZiAoYUludmVudG9yeUNvZGVXZWVrV2lzZUtleS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICBwYXJhbTEgPVxyXG4gICAgICAgICAgICBhLldlZWtXaXNlSW52ZW50b3J5Q29kZURhdGFbYUludmVudG9yeUNvZGVXZWVrV2lzZUtleVswXV1bXHJcbiAgICAgICAgICAgICAgc29ydEtleVxyXG4gICAgICAgICAgICBdWzFdO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGJJbnZlbnRvcnlDb2RlV2Vla1dpc2VLZXkubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgcGFyYW0yID1cclxuICAgICAgICAgICAgYi5XZWVrV2lzZUludmVudG9yeUNvZGVEYXRhW2JJbnZlbnRvcnlDb2RlV2Vla1dpc2VLZXlbMF1dW1xyXG4gICAgICAgICAgICAgIHNvcnRLZXlcclxuICAgICAgICAgICAgXVsxXTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChwYXJhbTEgIT09IHBhcmFtMikge1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5jb21wYXJlKHBhcmFtMSwgcGFyYW0yLCBpc0FzYyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gMDtcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2UgaWYgKGtleSA9PSAnVGltZUJhbmQnKSB7XHJcbiAgICAgIGRhdGEuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICAgIGlmIChpc0FzYykge1xyXG4gICAgICAgICAgcGFyYW0xID0gYVtrZXldWzFdO1xyXG4gICAgICAgICAgcGFyYW0yID0gYltrZXldWzFdO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBwYXJhbTEgPSBhW2tleV1bMl07XHJcbiAgICAgICAgICBwYXJhbTIgPSBiW2tleV1bMl07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCB2YWwgPSBpc0FzY1xyXG4gICAgICAgICAgPyB0aGlzLmFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2Uuc29ydEJ5VGltZUFzY2VuZGluZyhwYXJhbTEsIHBhcmFtMilcclxuICAgICAgICAgIDogdGhpcy5hbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlLnNvcnRCeVRpbWVEZXNjZW5kaW5nKHBhcmFtMSwgcGFyYW0yKTtcclxuICAgICAgICByZXR1cm4gdmFsO1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGRhdGEuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICAgIHBhcmFtMSA9IGFba2V5XTtcclxuICAgICAgICBwYXJhbTIgPSBiW2tleV07XHJcblxyXG4gICAgICAgIGlmIChwYXJhbTEgIT09IHBhcmFtMikge1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5jb21wYXJlKHBhcmFtMSwgcGFyYW0yLCBpc0FzYyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gMDtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGRhdGE7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,175 @@
1
+ // Angular import statements
2
+ import { NgModule } from '@angular/core';
3
+ import { CommonModule } from '@angular/common';
4
+ import { FormsModule } from '@angular/forms';
5
+ import { MatRadioModule } from "@angular/material/radio";
6
+ import { MatButtonToggleModule } from '@angular/material/button-toggle';
7
+ import { MatTableModule } from '@angular/material/table';
8
+ import { ScrollingModule } from '@angular/cdk/scrolling';
9
+ // Third party import statements
10
+ import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
11
+ import { NgxSliderModule } from '@angular-slider/ngx-slider';
12
+ import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';
13
+ import { NgCircleProgressModule } from 'ng-circle-progress';
14
+ //Anna-core User defined import statements
15
+ import { AnnaFilterSearchedTextPipe } from './anna-core-shared-lib/pipes/annaFilterSearchedText.pipe';
16
+ import { AnnaNoDataComponent } from './anna-core-shared-lib/components/anna-no-data/anna-no-data.component';
17
+ import { AnnaIconColumnComponent } from './anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component';
18
+ import { AnnaBuyerApprovalIconTemplateComponent } from './anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component';
19
+ import { AnnaLiveIconTemplateComponent } from './anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component';
20
+ import { AnnaNotifyIconTemplateComponent } from './anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component';
21
+ import { AnnaPayForPerformanceIconTemplateComponent } from './anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component';
22
+ import { AnnaRejectedIconTemplateComponent } from './anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component';
23
+ import { showEllipsisTextOnHoverDirective } from './anna-core-shared-lib/directives/show-ellipsis-text/show-ellipsis-text.directive';
24
+ import { AnnaConvertZeroOrNullOrUndefinedPipe } from './anna-core-shared-lib/pipes/annaConvertZeroOrNullOrUndefined.pipe';
25
+ //Anna-dropdown-lib User defined import statements
26
+ import { AnnaWeekCalendarComponent } from './anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component';
27
+ import { AnnaCalendarFilterComponent } from './anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component';
28
+ //Anna-generic-table User defined import statements
29
+ import { AnnaNonEditableGenericTableComponent } from './anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component';
30
+ import { AnnaSortComponent } from './anna-generic-table-lib/components/anna-sort/anna-sort.component';
31
+ import { AnnaTableVirtualScrollViewportComponent } from './anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component';
32
+ import { AnnaFixedRowSizeTableVirtualScrollStrategyDirective } from './anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy';
33
+ import { AnnaVirtualTableDirective } from './anna-generic-table-lib/directives/anna-virtual-table';
34
+ import { AnnaTypeofDataPipe } from './anna-core-shared-lib/pipes/annaTypeOfData.pipe';
35
+ import { AnnaReplaceCharPipe } from './anna-core-shared-lib/pipes/annaReplaceChar.pipe';
36
+ import * as i0 from "@angular/core";
37
+ import * as i1 from "ng-circle-progress";
38
+ export class AnnaCoreModule {
39
+ }
40
+ AnnaCoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
41
+ AnnaCoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaCoreModule, declarations: [AnnaNoDataComponent,
42
+ AnnaFilterSearchedTextPipe,
43
+ AnnaConvertZeroOrNullOrUndefinedPipe,
44
+ AnnaTypeofDataPipe,
45
+ AnnaFilterSearchedTextPipe,
46
+ AnnaReplaceCharPipe,
47
+ AnnaBuyerApprovalIconTemplateComponent,
48
+ AnnaLiveIconTemplateComponent,
49
+ AnnaNotifyIconTemplateComponent,
50
+ AnnaPayForPerformanceIconTemplateComponent,
51
+ AnnaRejectedIconTemplateComponent,
52
+ showEllipsisTextOnHoverDirective,
53
+ AnnaIconColumnComponent,
54
+ AnnaWeekCalendarComponent,
55
+ AnnaCalendarFilterComponent,
56
+ AnnaSortComponent,
57
+ AnnaVirtualTableDirective,
58
+ AnnaNonEditableGenericTableComponent,
59
+ AnnaTableVirtualScrollViewportComponent,
60
+ AnnaFixedRowSizeTableVirtualScrollStrategyDirective], imports: [CommonModule,
61
+ NgbModule,
62
+ FormsModule,
63
+ MatRadioModule,
64
+ MatButtonToggleModule,
65
+ MatTableModule,
66
+ NgxSliderModule,
67
+ NgxSkeletonLoaderModule,
68
+ ScrollingModule, i1.NgCircleProgressModule], exports: [AnnaNoDataComponent,
69
+ AnnaFilterSearchedTextPipe,
70
+ AnnaConvertZeroOrNullOrUndefinedPipe,
71
+ AnnaTypeofDataPipe,
72
+ AnnaReplaceCharPipe,
73
+ AnnaFilterSearchedTextPipe,
74
+ AnnaBuyerApprovalIconTemplateComponent,
75
+ AnnaLiveIconTemplateComponent,
76
+ AnnaNotifyIconTemplateComponent,
77
+ AnnaPayForPerformanceIconTemplateComponent,
78
+ AnnaRejectedIconTemplateComponent,
79
+ showEllipsisTextOnHoverDirective,
80
+ AnnaIconColumnComponent,
81
+ AnnaWeekCalendarComponent,
82
+ AnnaCalendarFilterComponent,
83
+ AnnaSortComponent,
84
+ AnnaVirtualTableDirective,
85
+ AnnaNonEditableGenericTableComponent,
86
+ AnnaTableVirtualScrollViewportComponent,
87
+ AnnaFixedRowSizeTableVirtualScrollStrategyDirective] });
88
+ AnnaCoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaCoreModule, imports: [[
89
+ CommonModule,
90
+ NgbModule,
91
+ FormsModule,
92
+ MatRadioModule,
93
+ MatButtonToggleModule,
94
+ MatTableModule,
95
+ NgxSliderModule,
96
+ NgxSkeletonLoaderModule,
97
+ ScrollingModule,
98
+ NgCircleProgressModule.forRoot({
99
+ radius: 100,
100
+ outerStrokeWidth: 16,
101
+ innerStrokeWidth: 8,
102
+ outerStrokeColor: '#78C000',
103
+ innerStrokeColor: '#C7E596',
104
+ animationDuration: 300,
105
+ }),
106
+ ]] });
107
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaCoreModule, decorators: [{
108
+ type: NgModule,
109
+ args: [{
110
+ declarations: [
111
+ AnnaNoDataComponent,
112
+ AnnaFilterSearchedTextPipe,
113
+ AnnaConvertZeroOrNullOrUndefinedPipe,
114
+ AnnaTypeofDataPipe,
115
+ AnnaFilterSearchedTextPipe,
116
+ AnnaReplaceCharPipe,
117
+ AnnaBuyerApprovalIconTemplateComponent,
118
+ AnnaLiveIconTemplateComponent,
119
+ AnnaNotifyIconTemplateComponent,
120
+ AnnaPayForPerformanceIconTemplateComponent,
121
+ AnnaRejectedIconTemplateComponent,
122
+ showEllipsisTextOnHoverDirective,
123
+ AnnaIconColumnComponent,
124
+ AnnaWeekCalendarComponent,
125
+ AnnaCalendarFilterComponent,
126
+ AnnaSortComponent,
127
+ AnnaVirtualTableDirective,
128
+ AnnaNonEditableGenericTableComponent,
129
+ AnnaTableVirtualScrollViewportComponent,
130
+ AnnaFixedRowSizeTableVirtualScrollStrategyDirective,
131
+ ],
132
+ imports: [
133
+ CommonModule,
134
+ NgbModule,
135
+ FormsModule,
136
+ MatRadioModule,
137
+ MatButtonToggleModule,
138
+ MatTableModule,
139
+ NgxSliderModule,
140
+ NgxSkeletonLoaderModule,
141
+ ScrollingModule,
142
+ NgCircleProgressModule.forRoot({
143
+ radius: 100,
144
+ outerStrokeWidth: 16,
145
+ innerStrokeWidth: 8,
146
+ outerStrokeColor: '#78C000',
147
+ innerStrokeColor: '#C7E596',
148
+ animationDuration: 300,
149
+ }),
150
+ ],
151
+ exports: [
152
+ AnnaNoDataComponent,
153
+ AnnaFilterSearchedTextPipe,
154
+ AnnaConvertZeroOrNullOrUndefinedPipe,
155
+ AnnaTypeofDataPipe,
156
+ AnnaReplaceCharPipe,
157
+ AnnaFilterSearchedTextPipe,
158
+ AnnaBuyerApprovalIconTemplateComponent,
159
+ AnnaLiveIconTemplateComponent,
160
+ AnnaNotifyIconTemplateComponent,
161
+ AnnaPayForPerformanceIconTemplateComponent,
162
+ AnnaRejectedIconTemplateComponent,
163
+ showEllipsisTextOnHoverDirective,
164
+ AnnaIconColumnComponent,
165
+ AnnaWeekCalendarComponent,
166
+ AnnaCalendarFilterComponent,
167
+ AnnaSortComponent,
168
+ AnnaVirtualTableDirective,
169
+ AnnaNonEditableGenericTableComponent,
170
+ AnnaTableVirtualScrollViewportComponent,
171
+ AnnaFixedRowSizeTableVirtualScrollStrategyDirective
172
+ ]
173
+ }]
174
+ }] });
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1jb3JlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FubmEtY29yZS9zcmMvbGliL2FubmEtY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsNEJBQTRCO0FBQzVCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV6RCxnQ0FBZ0M7QUFDaEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU1RCwwQ0FBMEM7QUFDMUMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDdEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUVBQXVFLENBQUM7QUFDNUcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0VBQStFLENBQUM7QUFDeEgsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0saUhBQWlILENBQUM7QUFDekssT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sNkZBQTZGLENBQUM7QUFDNUks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O3dCQUMxQyxpQ0FBaUM7d0JBQ2pDLGdDQUFnQzt3QkFDaEMsdUJBQXVCO3dCQUN2Qix5QkFBeUI7d0JBQ3pCLDJCQUEyQjt3QkFDM0IsaUJBQWlCO3dCQUNqQix5QkFBeUI7d0JBQ3pCLG9DQUFvQzt3QkFDcEMsdUNBQXVDO3dCQUN2QyxtREFBbUQ7cUJBQ3BEO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFNBQVM7d0JBQ1QsV0FBVzt3QkFDWCxjQUFjO3dCQUNkLHFCQUFxQjt3QkFDckIsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLHVCQUF1Qjt3QkFDdkIsZUFBZTt3QkFDZixzQkFBc0IsQ0FBQyxPQUFPLENBQUM7NEJBQzdCLE1BQU0sRUFBRSxHQUFHOzRCQUNYLGdCQUFnQixFQUFFLEVBQUU7NEJBQ3BCLGdCQUFnQixFQUFFLENBQUM7NEJBQ25CLGdCQUFnQixFQUFFLFNBQVM7NEJBQzNCLGdCQUFnQixFQUFFLFNBQVM7NEJBQzNCLGlCQUFpQixFQUFFLEdBQUc7eUJBQ3ZCLENBQUM7cUJBQ0g7b0JBQ0QsT0FBTyxFQUFHO3dCQUNSLG1CQUFtQjt3QkFDbkIsMEJBQTBCO3dCQUMxQixvQ0FBb0M7d0JBQ3BDLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQiwwQkFBMEI7d0JBQzFCLHNDQUFzQzt3QkFDdEMsNkJBQTZCO3dCQUM3QiwrQkFBK0I7d0JBQy9CLDBDQUEwQzt3QkFDMUMsaUNBQWlDO3dCQUNqQyxnQ0FBZ0M7d0JBQ2hDLHVCQUF1Qjt3QkFDdkIseUJBQXlCO3dCQUN6QiwyQkFBMkI7d0JBQzNCLGlCQUFpQjt3QkFDakIseUJBQXlCO3dCQUN6QixvQ0FBb0M7d0JBQ3BDLHVDQUF1Qzt3QkFDdkMsbURBQW1EO3FCQUNwRDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5cclxuLy8gQW5ndWxhciBpbXBvcnQgc3RhdGVtZW50c1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0UmFkaW9Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW9cIjtcclxuaW1wb3J0IHsgTWF0QnV0dG9uVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uLXRvZ2dsZSc7XHJcbmltcG9ydCB7IE1hdFRhYmxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xyXG5pbXBvcnQgeyBTY3JvbGxpbmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcclxuXHJcbi8vIFRoaXJkIHBhcnR5IGltcG9ydCBzdGF0ZW1lbnRzXHJcbmltcG9ydCB7IE5nYk1vZHVsZSB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgTmd4U2xpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXItc2xpZGVyL25neC1zbGlkZXInO1xyXG5pbXBvcnQgeyBOZ3hTa2VsZXRvbkxvYWRlck1vZHVsZSB9IGZyb20gJ25neC1za2VsZXRvbi1sb2FkZXInO1xyXG5pbXBvcnQgeyBOZ0NpcmNsZVByb2dyZXNzTW9kdWxlIH0gZnJvbSAnbmctY2lyY2xlLXByb2dyZXNzJztcclxuXHJcbi8vQW5uYS1jb3JlIFVzZXIgZGVmaW5lZCBpbXBvcnQgc3RhdGVtZW50c1xyXG5pbXBvcnQgeyBBbm5hRmlsdGVyU2VhcmNoZWRUZXh0UGlwZSB9IGZyb20gJy4vYW5uYS1jb3JlLXNoYXJlZC1saWIvcGlwZXMvYW5uYUZpbHRlclNlYXJjaGVkVGV4dC5waXBlJztcclxuaW1wb3J0IHsgQW5uYU5vRGF0YUNvbXBvbmVudCB9IGZyb20gJy4vYW5uYS1jb3JlLXNoYXJlZC1saWIvY29tcG9uZW50cy9hbm5hLW5vLWRhdGEvYW5uYS1uby1kYXRhLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFubmFJY29uQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9jb21wb25lbnRzL2FubmEtaWNvbi1jb2x1bW4vYW5uYS1pY29uLWNvbHVtbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBbm5hQnV5ZXJBcHByb3ZhbEljb25UZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vYW5uYS1jb3JlLXNoYXJlZC1saWIvY29tcG9uZW50cy9hbm5hLWJ1eWVyLWFwcHJvdmFsLWljb24tdGVtcGxhdGUvYW5uYS1idXllci1hcHByb3ZhbC1pY29uLXRlbXBsYXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFubmFMaXZlSWNvblRlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9jb21wb25lbnRzL2FubmEtbGl2ZS1pY29uLXRlbXBsYXRlL2FubmEtbGl2ZS1pY29uLXRlbXBsYXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFubmFOb3RpZnlJY29uVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuL2FubmEtY29yZS1zaGFyZWQtbGliL2NvbXBvbmVudHMvYW5uYS1ub3RpZnktaWNvbi10ZW1wbGF0ZS9hbm5hLW5vdGlmeS1pY29uLXRlbXBsYXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFubmFQYXlGb3JQZXJmb3JtYW5jZUljb25UZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vYW5uYS1jb3JlLXNoYXJlZC1saWIvY29tcG9uZW50cy9hbm5hLXBheS1mb3ItcGVyZm9ybWFuY2UtaWNvbi10ZW1wbGF0ZS9hbm5hLXBheS1mb3ItcGVyZm9ybWFuY2UtaWNvbi10ZW1wbGF0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBbm5hUmVqZWN0ZWRJY29uVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuL2FubmEtY29yZS1zaGFyZWQtbGliL2NvbXBvbmVudHMvYW5uYS1yZWplY3RlZC1pY29uLXRlbXBsYXRlL2FubmEtcmVqZWN0ZWQtaWNvbi10ZW1wbGF0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBzaG93RWxsaXBzaXNUZXh0T25Ib3ZlckRpcmVjdGl2ZSB9IGZyb20gJy4vYW5uYS1jb3JlLXNoYXJlZC1saWIvZGlyZWN0aXZlcy9zaG93LWVsbGlwc2lzLXRleHQvc2hvdy1lbGxpcHNpcy10ZXh0LmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEFubmFDb252ZXJ0WmVyb09yTnVsbE9yVW5kZWZpbmVkUGlwZSB9IGZyb20gJy4vYW5uYS1jb3JlLXNoYXJlZC1saWIvcGlwZXMvYW5uYUNvbnZlcnRaZXJvT3JOdWxsT3JVbmRlZmluZWQucGlwZSc7XHJcblxyXG4vL0FubmEtZHJvcGRvd24tbGliIFVzZXIgZGVmaW5lZCBpbXBvcnQgc3RhdGVtZW50cyBcclxuaW1wb3J0IHsgQW5uYVdlZWtDYWxlbmRhckNvbXBvbmVudCAgfSBmcm9tICcuL2FubmEtZHJvcGRvd24tbGliL2NvbXBvbmVudHMvYW5uYS13ZWVrLWNhbGVuZGFyLWZpbHRlci9hbm5hLXdlZWstY2FsZW5kYXItZmlsdGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFubmFDYWxlbmRhckZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4vYW5uYS1kcm9wZG93bi1saWIvY29tcG9uZW50cy9hbm5hLWNhbGVuZGFyLWZpbHRlci9hbm5hLWNhbGVuZGFyLWZpbHRlci5jb21wb25lbnQnO1xyXG5cclxuXHJcbi8vQW5uYS1nZW5lcmljLXRhYmxlIFVzZXIgZGVmaW5lZCBpbXBvcnQgc3RhdGVtZW50c1xyXG5pbXBvcnQgeyBBbm5hTm9uRWRpdGFibGVHZW5lcmljVGFibGVDb21wb25lbnQgfSBmcm9tICcuL2FubmEtZ2VuZXJpYy10YWJsZS1saWIvY29tcG9uZW50cy9hbm5hLW5vbi1lZGl0YWJsZS1nZW5lcmljLXRhYmxlL2FubmEtbm9uLWVkaXRhYmxlLWdlbmVyaWMtdGFibGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQW5uYVNvcnRDb21wb25lbnQgfSBmcm9tICcuL2FubmEtZ2VuZXJpYy10YWJsZS1saWIvY29tcG9uZW50cy9hbm5hLXNvcnQvYW5uYS1zb3J0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFubmFUYWJsZVZpcnR1YWxTY3JvbGxWaWV3cG9ydENvbXBvbmVudCB9IGZyb20gJy4vYW5uYS1nZW5lcmljLXRhYmxlLWxpYi9jb21wb25lbnRzL2FubmEtdGFibGUtdmlydHVhbC1zY3JvbGwtdmlld3BvcnQvYW5uYS10YWJsZS12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBbm5hRml4ZWRSb3dTaXplVGFibGVWaXJ0dWFsU2Nyb2xsU3RyYXRlZ3lEaXJlY3RpdmUgfSBmcm9tICcuL2FubmEtZ2VuZXJpYy10YWJsZS1saWIvZGlyZWN0aXZlcy9hbm5hLWZpeGVkLXJvdy1zaXplLXRhYmxlLXZpcnR1YWwtc2Nyb2xsLXN0cmF0ZWd5JztcclxuaW1wb3J0IHsgQW5uYVZpcnR1YWxUYWJsZURpcmVjdGl2ZSB9IGZyb20gJy4vYW5uYS1nZW5lcmljLXRhYmxlLWxpYi9kaXJlY3RpdmVzL2FubmEtdmlydHVhbC10YWJsZSc7XHJcbmltcG9ydCB7IEFubmFUeXBlb2ZEYXRhUGlwZSB9IGZyb20gJy4vYW5uYS1jb3JlLXNoYXJlZC1saWIvcGlwZXMvYW5uYVR5cGVPZkRhdGEucGlwZSc7XHJcbmltcG9ydCB7IEFubmFSZXBsYWNlQ2hhclBpcGUgfSBmcm9tICcuL2FubmEtY29yZS1zaGFyZWQtbGliL3BpcGVzL2FubmFSZXBsYWNlQ2hhci5waXBlJztcclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgQW5uYU5vRGF0YUNvbXBvbmVudCxcclxuICAgIEFubmFGaWx0ZXJTZWFyY2hlZFRleHRQaXBlLFxyXG4gICAgQW5uYUNvbnZlcnRaZXJvT3JOdWxsT3JVbmRlZmluZWRQaXBlLFxyXG4gICAgQW5uYVR5cGVvZkRhdGFQaXBlLFxyXG4gICAgQW5uYUZpbHRlclNlYXJjaGVkVGV4dFBpcGUsXHJcbiAgICBBbm5hUmVwbGFjZUNoYXJQaXBlLFxyXG4gICAgQW5uYUJ1eWVyQXBwcm92YWxJY29uVGVtcGxhdGVDb21wb25lbnQsXHJcbiAgICBBbm5hTGl2ZUljb25UZW1wbGF0ZUNvbXBvbmVudCxcclxuICAgIEFubmFOb3RpZnlJY29uVGVtcGxhdGVDb21wb25lbnQsXHJcbiAgICBBbm5hUGF5Rm9yUGVyZm9ybWFuY2VJY29uVGVtcGxhdGVDb21wb25lbnQsXHJcbiAgICBBbm5hUmVqZWN0ZWRJY29uVGVtcGxhdGVDb21wb25lbnQsXHJcbiAgICBzaG93RWxsaXBzaXNUZXh0T25Ib3ZlckRpcmVjdGl2ZSxcclxuICAgIEFubmFJY29uQ29sdW1uQ29tcG9uZW50LFxyXG4gICAgQW5uYVdlZWtDYWxlbmRhckNvbXBvbmVudCxcclxuICAgIEFubmFDYWxlbmRhckZpbHRlckNvbXBvbmVudCxcclxuICAgIEFubmFTb3J0Q29tcG9uZW50LFxyXG4gICAgQW5uYVZpcnR1YWxUYWJsZURpcmVjdGl2ZSxcclxuICAgIEFubmFOb25FZGl0YWJsZUdlbmVyaWNUYWJsZUNvbXBvbmVudCxcclxuICAgIEFubmFUYWJsZVZpcnR1YWxTY3JvbGxWaWV3cG9ydENvbXBvbmVudCxcclxuICAgIEFubmFGaXhlZFJvd1NpemVUYWJsZVZpcnR1YWxTY3JvbGxTdHJhdGVneURpcmVjdGl2ZSxcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIE5nYk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgTWF0UmFkaW9Nb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Ub2dnbGVNb2R1bGUsXHJcbiAgICBNYXRUYWJsZU1vZHVsZSxcclxuICAgIE5neFNsaWRlck1vZHVsZSxcclxuICAgIE5neFNrZWxldG9uTG9hZGVyTW9kdWxlLFxyXG4gICAgU2Nyb2xsaW5nTW9kdWxlLFxyXG4gICAgTmdDaXJjbGVQcm9ncmVzc01vZHVsZS5mb3JSb290KHtcclxuICAgICAgcmFkaXVzOiAxMDAsXHJcbiAgICAgIG91dGVyU3Ryb2tlV2lkdGg6IDE2LFxyXG4gICAgICBpbm5lclN0cm9rZVdpZHRoOiA4LFxyXG4gICAgICBvdXRlclN0cm9rZUNvbG9yOiAnIzc4QzAwMCcsXHJcbiAgICAgIGlubmVyU3Ryb2tlQ29sb3I6ICcjQzdFNTk2JyxcclxuICAgICAgYW5pbWF0aW9uRHVyYXRpb246IDMwMCxcclxuICAgIH0pLFxyXG4gIF0sXHJcbiAgZXhwb3J0cyA6IFtcclxuICAgIEFubmFOb0RhdGFDb21wb25lbnQsXHJcbiAgICBBbm5hRmlsdGVyU2VhcmNoZWRUZXh0UGlwZSxcclxuICAgIEFubmFDb252ZXJ0WmVyb09yTnVsbE9yVW5kZWZpbmVkUGlwZSxcclxuICAgIEFubmFUeXBlb2ZEYXRhUGlwZSxcclxuICAgIEFubmFSZXBsYWNlQ2hhclBpcGUsXHJcbiAgICBBbm5hRmlsdGVyU2VhcmNoZWRUZXh0UGlwZSxcclxuICAgIEFubmFCdXllckFwcHJvdmFsSWNvblRlbXBsYXRlQ29tcG9uZW50LFxyXG4gICAgQW5uYUxpdmVJY29uVGVtcGxhdGVDb21wb25lbnQsXHJcbiAgICBBbm5hTm90aWZ5SWNvblRlbXBsYXRlQ29tcG9uZW50LFxyXG4gICAgQW5uYVBheUZvclBlcmZvcm1hbmNlSWNvblRlbXBsYXRlQ29tcG9uZW50LFxyXG4gICAgQW5uYVJlamVjdGVkSWNvblRlbXBsYXRlQ29tcG9uZW50LFxyXG4gICAgc2hvd0VsbGlwc2lzVGV4dE9uSG92ZXJEaXJlY3RpdmUsXHJcbiAgICBBbm5hSWNvbkNvbHVtbkNvbXBvbmVudCxcclxuICAgIEFubmFXZWVrQ2FsZW5kYXJDb21wb25lbnQsXHJcbiAgICBBbm5hQ2FsZW5kYXJGaWx0ZXJDb21wb25lbnQsXHJcbiAgICBBbm5hU29ydENvbXBvbmVudCxcclxuICAgIEFubmFWaXJ0dWFsVGFibGVEaXJlY3RpdmUsXHJcbiAgICBBbm5hTm9uRWRpdGFibGVHZW5lcmljVGFibGVDb21wb25lbnQsXHJcbiAgICBBbm5hVGFibGVWaXJ0dWFsU2Nyb2xsVmlld3BvcnRDb21wb25lbnQsXHJcbiAgICBBbm5hRml4ZWRSb3dTaXplVGFibGVWaXJ0dWFsU2Nyb2xsU3RyYXRlZ3lEaXJlY3RpdmVcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbm5hQ29yZU1vZHVsZSB7IH1cclxuIl19