@annalib/anna-core 0.0.1

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 (165) hide show
  1. package/README.md +24 -0
  2. package/annalib-anna-core.d.ts +5 -0
  3. package/esm2020/annalib-anna-core.mjs +5 -0
  4. package/esm2020/lib/anna-core-shared-lib/anna-core-shared-lib.module.mjs +59 -0
  5. package/esm2020/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.mjs +15 -0
  6. package/esm2020/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.mjs +15 -0
  7. package/esm2020/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.mjs +22 -0
  8. package/esm2020/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.mjs +15 -0
  9. package/esm2020/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.mjs +21 -0
  10. package/esm2020/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.mjs +15 -0
  11. package/esm2020/lib/anna-core-shared-lib/constants/shared.constant.mjs +34 -0
  12. package/esm2020/lib/anna-core-shared-lib/index.mjs +2 -0
  13. package/esm2020/lib/anna-core-shared-lib/models/anna-generic-data-type.model.mjs +2 -0
  14. package/esm2020/lib/anna-core-shared-lib/models/anna-global-dropdown-config.model.mjs +2 -0
  15. package/esm2020/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.mjs +3 -0
  16. package/esm2020/lib/anna-core-shared-lib/models/anna-tooltip.model.mjs +26 -0
  17. package/esm2020/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.mjs +31 -0
  18. package/esm2020/lib/anna-core-shared-lib/public-api.mjs +25 -0
  19. package/esm2020/lib/anna-core-shared-lib/services/anna-date-time-format.service.mjs +180 -0
  20. package/esm2020/lib/anna-core-shared-lib/services/anna-filter.service.mjs +537 -0
  21. package/esm2020/lib/anna-core-shared-lib/services/anna-generic-table.service.mjs +52 -0
  22. package/esm2020/lib/anna-core-shared-lib/services/anna-global-config.service.mjs +133 -0
  23. package/esm2020/lib/anna-core-shared-lib/services/anna-sort.service.mjs +185 -0
  24. package/esm2020/lib/anna-dropdown-lib/anna-dropdown-lib.module.mjs +43 -0
  25. package/esm2020/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.mjs +76 -0
  26. package/esm2020/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.mjs +360 -0
  27. package/esm2020/lib/anna-dropdown-lib/index.mjs +2 -0
  28. package/esm2020/lib/anna-dropdown-lib/public-api.mjs +6 -0
  29. package/esm2020/lib/anna-generic-table-lib/anna-generic-table-lib.module.mjs +86 -0
  30. package/esm2020/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.mjs +991 -0
  31. package/esm2020/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.mjs +125 -0
  32. package/esm2020/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.mjs +357 -0
  33. 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
  34. package/esm2020/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/index.mjs +2 -0
  35. package/esm2020/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.mjs +178 -0
  36. package/esm2020/lib/anna-generic-table-lib/directives/anna-virtual-table/index.mjs +2 -0
  37. package/esm2020/lib/anna-generic-table-lib/index.mjs +2 -0
  38. package/esm2020/lib/anna-generic-table-lib/public-api.mjs +10 -0
  39. package/esm2020/public-api.mjs +7 -0
  40. package/esm2020/src/lib/anna-core-shared-lib/anna-core-shared-lib.module.mjs +59 -0
  41. package/esm2020/src/lib/anna-core-shared-lib/annalib-anna-core-src-lib-anna-core-shared-lib.mjs +5 -0
  42. package/esm2020/src/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.mjs +15 -0
  43. package/esm2020/src/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.mjs +15 -0
  44. package/esm2020/src/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.mjs +22 -0
  45. package/esm2020/src/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.mjs +15 -0
  46. package/esm2020/src/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.mjs +21 -0
  47. package/esm2020/src/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.mjs +15 -0
  48. package/esm2020/src/lib/anna-core-shared-lib/constants/shared.constant.mjs +34 -0
  49. package/esm2020/src/lib/anna-core-shared-lib/models/anna-generic-data-type.model.mjs +2 -0
  50. package/esm2020/src/lib/anna-core-shared-lib/models/anna-global-dropdown-config.model.mjs +2 -0
  51. package/esm2020/src/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.mjs +3 -0
  52. package/esm2020/src/lib/anna-core-shared-lib/models/anna-tooltip.model.mjs +26 -0
  53. package/esm2020/src/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.mjs +31 -0
  54. package/esm2020/src/lib/anna-core-shared-lib/public-api.mjs +25 -0
  55. package/esm2020/src/lib/anna-core-shared-lib/services/anna-date-time-format.service.mjs +180 -0
  56. package/esm2020/src/lib/anna-core-shared-lib/services/anna-filter.service.mjs +537 -0
  57. package/esm2020/src/lib/anna-core-shared-lib/services/anna-generic-table.service.mjs +52 -0
  58. package/esm2020/src/lib/anna-core-shared-lib/services/anna-global-config.service.mjs +133 -0
  59. package/esm2020/src/lib/anna-core-shared-lib/services/anna-sort.service.mjs +185 -0
  60. package/esm2020/src/lib/anna-dropdown-lib/anna-dropdown-lib.module.mjs +43 -0
  61. package/esm2020/src/lib/anna-dropdown-lib/annalib-anna-core-src-lib-anna-dropdown-lib.mjs +5 -0
  62. package/esm2020/src/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.mjs +76 -0
  63. package/esm2020/src/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.mjs +360 -0
  64. package/esm2020/src/lib/anna-dropdown-lib/public-api.mjs +6 -0
  65. package/esm2020/src/lib/anna-generic-table-lib/anna-generic-table-lib.module.mjs +86 -0
  66. package/esm2020/src/lib/anna-generic-table-lib/annalib-anna-core-src-lib-anna-generic-table-lib.mjs +5 -0
  67. package/esm2020/src/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.mjs +991 -0
  68. package/esm2020/src/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.mjs +125 -0
  69. package/esm2020/src/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.mjs +357 -0
  70. package/esm2020/src/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
  71. package/esm2020/src/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/index.mjs +2 -0
  72. package/esm2020/src/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.mjs +178 -0
  73. package/esm2020/src/lib/anna-generic-table-lib/directives/anna-virtual-table/index.mjs +2 -0
  74. package/esm2020/src/lib/anna-generic-table-lib/public-api.mjs +10 -0
  75. package/fesm2015/annalib-anna-core-src-lib-anna-core-shared-lib.mjs +1295 -0
  76. package/fesm2015/annalib-anna-core-src-lib-anna-core-shared-lib.mjs.map +1 -0
  77. package/fesm2015/annalib-anna-core-src-lib-anna-dropdown-lib.mjs +474 -0
  78. package/fesm2015/annalib-anna-core-src-lib-anna-dropdown-lib.mjs.map +1 -0
  79. package/fesm2015/annalib-anna-core-src-lib-anna-generic-table-lib.mjs +1887 -0
  80. package/fesm2015/annalib-anna-core-src-lib-anna-generic-table-lib.mjs.map +1 -0
  81. package/fesm2015/annalib-anna-core.mjs +3630 -0
  82. package/fesm2015/annalib-anna-core.mjs.map +1 -0
  83. package/fesm2020/annalib-anna-core-src-lib-anna-core-shared-lib.mjs +1295 -0
  84. package/fesm2020/annalib-anna-core-src-lib-anna-core-shared-lib.mjs.map +1 -0
  85. package/fesm2020/annalib-anna-core-src-lib-anna-dropdown-lib.mjs +472 -0
  86. package/fesm2020/annalib-anna-core-src-lib-anna-dropdown-lib.mjs.map +1 -0
  87. package/fesm2020/annalib-anna-core-src-lib-anna-generic-table-lib.mjs +1886 -0
  88. package/fesm2020/annalib-anna-core-src-lib-anna-generic-table-lib.mjs.map +1 -0
  89. package/fesm2020/annalib-anna-core.mjs +3627 -0
  90. package/fesm2020/annalib-anna-core.mjs.map +1 -0
  91. package/lib/anna-core-shared-lib/anna-core-shared-lib.module.d.ts +14 -0
  92. package/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.d.ts +8 -0
  93. package/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.d.ts +8 -0
  94. package/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.d.ts +11 -0
  95. package/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.d.ts +8 -0
  96. package/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.d.ts +11 -0
  97. package/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.d.ts +8 -0
  98. package/lib/anna-core-shared-lib/constants/shared.constant.d.ts +32 -0
  99. package/lib/anna-core-shared-lib/index.d.ts +1 -0
  100. package/lib/anna-core-shared-lib/models/anna-generic-data-type.model.d.ts +8 -0
  101. package/lib/anna-core-shared-lib/models/anna-global-dropdown-config.model.d.ts +95 -0
  102. package/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.d.ts +70 -0
  103. package/lib/anna-core-shared-lib/models/anna-tooltip.model.d.ts +21 -0
  104. package/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.d.ts +9 -0
  105. package/lib/anna-core-shared-lib/public-api.d.ts +18 -0
  106. package/lib/anna-core-shared-lib/services/anna-date-time-format.service.d.ts +25 -0
  107. package/lib/anna-core-shared-lib/services/anna-filter.service.d.ts +68 -0
  108. package/lib/anna-core-shared-lib/services/anna-generic-table.service.d.ts +14 -0
  109. package/lib/anna-core-shared-lib/services/anna-global-config.service.d.ts +21 -0
  110. package/lib/anna-core-shared-lib/services/anna-sort.service.d.ts +23 -0
  111. package/lib/anna-dropdown-lib/anna-dropdown-lib.module.d.ts +11 -0
  112. package/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.d.ts +29 -0
  113. package/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.d.ts +67 -0
  114. package/lib/anna-dropdown-lib/index.d.ts +1 -0
  115. package/lib/anna-dropdown-lib/public-api.d.ts +3 -0
  116. package/lib/anna-generic-table-lib/anna-generic-table-lib.module.d.ts +21 -0
  117. package/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.d.ts +171 -0
  118. package/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.d.ts +27 -0
  119. package/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.d.ts +141 -0
  120. 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
  121. package/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/index.d.ts +1 -0
  122. package/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.d.ts +45 -0
  123. package/lib/anna-generic-table-lib/directives/anna-virtual-table/index.d.ts +1 -0
  124. package/lib/anna-generic-table-lib/index.d.ts +1 -0
  125. package/lib/anna-generic-table-lib/public-api.d.ts +6 -0
  126. package/package.json +61 -0
  127. package/public-api.d.ts +3 -0
  128. package/src/lib/anna-core-shared-lib/anna-core-shared-lib.module.d.ts +14 -0
  129. package/src/lib/anna-core-shared-lib/annalib-anna-core-src-lib-anna-core-shared-lib.d.ts +5 -0
  130. package/src/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.d.ts +8 -0
  131. package/src/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.d.ts +8 -0
  132. package/src/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.d.ts +11 -0
  133. package/src/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.d.ts +8 -0
  134. package/src/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.d.ts +11 -0
  135. package/src/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.d.ts +8 -0
  136. package/src/lib/anna-core-shared-lib/constants/shared.constant.d.ts +32 -0
  137. package/src/lib/anna-core-shared-lib/models/anna-generic-data-type.model.d.ts +8 -0
  138. package/src/lib/anna-core-shared-lib/models/anna-global-dropdown-config.model.d.ts +95 -0
  139. package/src/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.d.ts +70 -0
  140. package/src/lib/anna-core-shared-lib/models/anna-tooltip.model.d.ts +21 -0
  141. package/src/lib/anna-core-shared-lib/package.json +10 -0
  142. package/src/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.d.ts +9 -0
  143. package/src/lib/anna-core-shared-lib/public-api.d.ts +18 -0
  144. package/src/lib/anna-core-shared-lib/services/anna-date-time-format.service.d.ts +25 -0
  145. package/src/lib/anna-core-shared-lib/services/anna-filter.service.d.ts +68 -0
  146. package/src/lib/anna-core-shared-lib/services/anna-generic-table.service.d.ts +14 -0
  147. package/src/lib/anna-core-shared-lib/services/anna-global-config.service.d.ts +21 -0
  148. package/src/lib/anna-core-shared-lib/services/anna-sort.service.d.ts +23 -0
  149. package/src/lib/anna-dropdown-lib/anna-dropdown-lib.module.d.ts +11 -0
  150. package/src/lib/anna-dropdown-lib/annalib-anna-core-src-lib-anna-dropdown-lib.d.ts +5 -0
  151. package/src/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.d.ts +29 -0
  152. package/src/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.d.ts +67 -0
  153. package/src/lib/anna-dropdown-lib/package.json +10 -0
  154. package/src/lib/anna-dropdown-lib/public-api.d.ts +3 -0
  155. package/src/lib/anna-generic-table-lib/anna-generic-table-lib.module.d.ts +21 -0
  156. package/src/lib/anna-generic-table-lib/annalib-anna-core-src-lib-anna-generic-table-lib.d.ts +5 -0
  157. package/src/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.d.ts +171 -0
  158. package/src/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.d.ts +27 -0
  159. package/src/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.d.ts +141 -0
  160. 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.d.ts +89 -0
  161. package/src/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/index.d.ts +1 -0
  162. package/src/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.d.ts +45 -0
  163. package/src/lib/anna-generic-table-lib/directives/anna-virtual-table/index.d.ts +1 -0
  164. package/src/lib/anna-generic-table-lib/package.json +10 -0
  165. package/src/lib/anna-generic-table-lib/public-api.d.ts +6 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"annalib-anna-core-src-lib-anna-core-shared-lib.mjs","sources":["../../../projects/anna-core/src/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.ts","../../../projects/anna-core/src/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.html","../../../projects/anna-core/src/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.ts","../../../projects/anna-core/src/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.ts","../../../projects/anna-core/src/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.html","../../../projects/anna-core/src/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.ts","../../../projects/anna-core/src/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.html","../../../projects/anna-core/src/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.ts","../../../projects/anna-core/src/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.html","../../../projects/anna-core/src/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.ts","../../../projects/anna-core/src/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.html","../../../projects/anna-core/src/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.ts","../../../projects/anna-core/src/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.html","../../../projects/anna-core/src/lib/anna-core-shared-lib/anna-core-shared-lib.module.ts","../../../projects/anna-core/src/lib/anna-core-shared-lib/services/anna-date-time-format.service.ts","../../../projects/anna-core/src/lib/anna-core-shared-lib/services/anna-global-config.service.ts","../../../projects/anna-core/src/lib/anna-core-shared-lib/models/anna-tooltip.model.ts","../../../projects/anna-core/src/lib/anna-core-shared-lib/services/anna-filter.service.ts","../../../projects/anna-core/src/lib/anna-core-shared-lib/constants/shared.constant.ts","../../../projects/anna-core/src/lib/anna-core-shared-lib/services/anna-sort.service.ts","../../../projects/anna-core/src/lib/anna-core-shared-lib/services/anna-generic-table.service.ts","../../../projects/anna-core/src/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.ts","../../../projects/anna-core/src/lib/anna-core-shared-lib/public-api.ts","../../../projects/anna-core/src/lib/anna-core-shared-lib/annalib-anna-core-src-lib-anna-core-shared-lib.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input, OnInit } from \"@angular/core\";\r\n@Component({\r\n selector: \"anna-core-no-data-lib\",\r\n templateUrl: \"./anna-no-data.component.html\",\r\n styleUrls: [\"./anna-no-data.component.scss\"],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class AnnaNoDataComponent implements OnInit {\r\n @Input() width;\r\n @Input() marginTop;\r\n message: string;\r\n constructor() {\r\n this.width = \"46%\";\r\n this.marginTop = \"1.25rem\";\r\n }\r\n\r\n ngOnInit() {\r\n this.message = \"No data to display\";\r\n }\r\n}\r\n","<div [style.width]=\"width\" [style.marginTop]=\"marginTop\" class=\"no-data\">\r\n <label>{{ message }}</label>\r\n</div>\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\nimport { memoize } from \"lodash-es\";\r\n\r\n@Pipe({\r\n name: \"AnnafilterSearchedText\",\r\n})\r\nexport class AnnaFilterSearchedTextPipe implements PipeTransform {\r\n callFilter = memoize(this.filter, (...args) => this.filter(args[0], args[1], args[2]));\r\n\r\n transform(items: any[], searchText: any, keyName?: any): any[] {\r\n return this.callFilter(items, searchText, keyName);\r\n }\r\n\r\n filter(items: any[], searchText: string, keyName?: any): any[] {\r\n if (!items) return [];\r\n if (!searchText) return items;\r\n searchText = searchText.toString().toLowerCase();\r\n\r\n //if keyName is undefined every key will be considered for filtering.\r\n if (!keyName)\r\n return items.filter(\r\n (item) => Object.values(item).filter((n) => n.toString().toLowerCase().includes(searchText)).length > 0\r\n );\r\n return items.filter((item) => item[keyName].toString().toLowerCase().startsWith(searchText));\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'anna-buyer-approval-icon-template',\r\n templateUrl: './anna-buyer-approval-icon-template.component.html',\r\n styleUrls: ['./anna-buyer-approval-icon-template.component.scss']\r\n})\r\nexport class AnnaBuyerApprovalIconTemplateComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<ng-container [ngTemplateOutlet]=\"buyerApprovalIcon\"></ng-container>\r\n\r\n<ng-template #buyerApprovalIcon>\r\n <svg width=\"15px\" height=\"15px\" viewBox=\"0 0 20 20\">\r\n <g id=\"Awaiting-Buyer-Approval-icon\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n <g id=\"time-left\" transform=\"translate(3.000000, 2.000000)\" fill=\"#4A4A4A\" fill-rule=\"nonzero\">\r\n <path\r\n d=\"M6.23157622,14.1696467 C5.70535057,14.0721422 5.2005579,13.9061054 4.72188769,13.6745242 C4.71622258,13.6714711 4.71115545,13.6679958 4.70520709,13.6652025 C4.59240848,13.6104091 4.47979871,13.551718 4.37065094,13.4903961 C4.37027327,13.4899414 4.36958087,13.4896491 4.36898288,13.4893893 C4.16872129,13.37558 3.97327504,13.2496557 3.78339947,13.1117139 C1.01467199,11.0989392 0.348958764,7.13679055 2.29945571,4.27950803 C2.72358352,3.65842885 3.23684237,3.14027823 3.80904983,2.72960334 C3.81609974,2.72453649 3.82314965,2.71950212 3.83013662,2.71440279 C5.84650619,1.28061347 8.58442178,1.183986 10.7254867,2.65733574 L10.2656372,3.34301728 C10.1377946,3.53386873 10.2164452,3.67294733 10.4402485,3.65216024 L12.4377343,3.46760989 C12.6618209,3.4468228 12.7958322,3.24677957 12.7355617,3.0234483 L12.1991703,1.02899228 C12.1391202,0.805401178 11.9853754,0.778637804 11.8574069,0.969456765 L11.3964873,1.6567623 C9.82523796,0.568265989 7.94067659,0.153206329 6.0701521,0.487943386 C5.88175576,0.521592483 5.69600314,0.562776899 5.51279981,0.610717118 C5.51138354,0.610976957 5.51025052,0.611139356 5.50911749,0.611399194 C5.50203611,0.613185585 5.4948603,0.615556612 5.48796775,0.617537881 C3.8749854,1.04500483 2.46767797,2.01585923 1.46347449,3.40105873 C1.4550083,3.41141979 1.44629033,3.4215535 1.43829623,3.432824 C1.40490356,3.47923766 1.37176268,3.52672316 1.33931419,3.57420867 C1.28625101,3.65203032 1.23394317,3.73180077 1.18390138,3.81157121 C1.17763828,3.82118524 1.17285441,3.83096167 1.16737814,3.84067314 C0.338698623,5.1658824 -0.0610062726,6.69795566 0.00754154337,8.25770173 C0.00769890751,8.26283354 0.00741565207,8.26799784 0.00754154337,8.27325957 C0.0141823097,8.42562242 0.0258902012,8.58009646 0.0417839785,8.73216699 C0.0426337448,8.7419759 0.0447424242,8.75126512 0.0463475384,8.76107403 C0.0627763537,8.91398904 0.0833910551,9.06726132 0.109230246,9.22050113 C0.371839509,10.7840149 1.08652445,12.1909434 2.15745032,13.2856758 C2.15993667,13.2882417 2.16251744,13.291035 2.16503527,13.2936983 C2.16591651,13.2947052 2.16689216,13.2952249 2.16774193,13.2961668 C2.45546651,13.5890373 2.7684323,13.8599191 3.10541185,14.1048494 C3.98728044,14.7461311 4.9692641,15.1700252 6.02385557,15.3653264 C6.3438398,15.424667 6.64950389,15.2048436 6.70691032,14.8747836 C6.76428528,14.5444963 6.55146603,14.2287924 6.23157622,14.1696467 Z\"\r\n id=\"Path\"\r\n ></path>\r\n <path\r\n d=\"M9.22237925,14.6588011 C9.29073073,14.9263505 9.1292489,15.198652 8.86169949,15.2670034 C8.51639563,15.355219 8.1641424,15.4188128 7.8069689,15.4570516 C7.53239558,15.4864472 7.28598003,15.2876915 7.25658436,15.0131182 C7.22718869,14.7385449 7.42594445,14.4921293 7.70051776,14.4627336 C8.01004537,14.4295958 8.31515603,14.3745129 8.61417689,14.2981213 C8.8817263,14.2297698 9.15402777,14.3912517 9.22237925,14.6588011 Z M12.5552524,12.2886551 C12.7611952,12.4726175 12.7790139,12.7886982 12.5950515,12.994641 C12.3569806,13.2611574 12.1001968,13.5104915 11.8267859,13.7406023 C11.6155121,13.9184167 11.3000937,13.8912925 11.1222793,13.6800187 C10.9444648,13.4687448 10.9715891,13.1533264 11.1828629,12.975512 C11.4200152,12.7759175 11.6427598,12.5596351 11.8492666,12.3284542 C12.033229,12.1225114 12.3493096,12.1046927 12.5552524,12.2886551 Z M13.9945063,8.57622811 C14.2674538,8.61811209 14.4547678,8.87333344 14.4128838,9.14628095 C14.3584322,9.50112883 14.2787427,9.85020038 14.1746496,10.1914009 C14.0940709,10.4555252 13.8146338,10.6043183 13.5505094,10.5237395 C13.2863851,10.4431608 13.137592,10.1637237 13.2181708,9.89959931 C13.3082912,9.6041989 13.3772907,9.30195366 13.4244534,8.99460564 C13.4663374,8.72165813 13.7215588,8.53434413 13.9945063,8.57622811 Z M13.8741743,4.99628976 C14.0173723,5.32357494 14.1370467,5.66111195 14.2320931,6.00667963 C14.305325,6.27293459 14.1488489,6.54814305 13.8825939,6.62137492 C13.6163389,6.6946068 13.3411305,6.53813067 13.2678986,6.27187571 C13.1856167,5.97271686 13.0820133,5.68050756 12.958028,5.39713383 C12.847338,5.14414702 12.9626923,4.84932868 13.2156791,4.73863865 C13.4686659,4.62794862 13.7634843,4.74330295 13.8741743,4.99628976 Z\"\r\n id=\"Combined-Shape\"\r\n ></path>\r\n <path\r\n d=\"M6.49684035,4 C6.22234237,4 6,4.21290493 6,4.47514225 L6,9.20888548 L10.5252942,11.4469308 C10.5981282,11.4830116 10.6761155,11.5 10.7528554,11.5 C10.9325937,11.5 11.106194,11.4063595 11.1944548,11.2429754 C11.3203307,11.0097848 11.2250786,10.7233052 10.9813357,10.6028789 L6.9931227,8.63027395 L6.9931227,4.47514225 C6.99308988,4.21290493 6.77101009,4 6.49684035,4 Z\"\r\n id=\"Path\"\r\n ></path>\r\n </g>\r\n </g>\r\n </svg>\r\n</ng-template>\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'anna-live-icon-template',\r\n templateUrl: './anna-live-icon-template.component.html',\r\n styleUrls: ['./anna-live-icon-template.component.scss']\r\n})\r\nexport class AnnaLiveIconTemplateComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<ng-container [ngTemplateOutlet]=\"liveIcon\"></ng-container>\r\n<ng-template #liveIcon>\r\n <svg width=\"15px\" height=\"15px\" viewBox=\"0 0 20 20\">\r\n <g id=\"Live-Icon\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n <g id=\"next\" transform=\"translate(2.000000, 2.000000)\" fill-rule=\"nonzero\">\r\n <path\r\n d=\"M8,0 C3.58171139,0 0,3.58171139 0,8 C0,12.4182886 3.58171139,16 8,16 C12.4182886,16 16,12.4182886 16,8 C15.9950435,3.58379835 12.4162343,0.00498913721 8,0 Z\"\r\n id=\"Path\"\r\n fill=\"#C2E361\"\r\n ></path>\r\n <path\r\n d=\"M8,16 C3.58171139,16 0,12.4182633 0,7.9999837 C0,3.58170409 3.58171139,0 8,0 C12.4182886,0 16,3.58170409 16,7.9999837 C15.9950435,12.416209 12.4162343,15.9950109 8,16 Z M8,0.695640832 C3.96590756,0.695640832 0.69564225,3.96589948 0.69564225,7.9999837 C0.69564225,12.0340679 3.96590756,15.3043266 8,15.3043266 C12.0340924,15.3043266 15.3043578,12.0340679 15.3043578,7.9999837 C15.2997599,3.96782339 12.0322011,0.700238655 8,0.695640832 Z\"\r\n id=\"Shape\"\r\n fill=\"#8BAC2A\"\r\n ></path>\r\n <circle id=\"Oval\" fill=\"#8BAC2A\" cx=\"8\" cy=\"8\" r=\"4\"></circle>\r\n </g>\r\n </g>\r\n </svg>\r\n</ng-template>","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'anna-notify-icon-template',\r\n templateUrl: './anna-notify-icon-template.component.html',\r\n styleUrls: ['./anna-notify-icon-template.component.scss']\r\n})\r\nexport class AnnaNotifyIconTemplateComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<ng-container [ngTemplateOutlet]=\"notifyIcon\"></ng-container>\r\n\r\n<ng-template #notifyIcon>\r\n <svg width=\"15px\" height=\"15px\" viewBox=\"0 0 20 20\">\r\n <g id=\"Notify-buyer-icon\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n <g id=\"notification\" transform=\"translate(3.000000, 1.000000)\" fill=\"#4A4A4A\" fill-rule=\"nonzero\">\r\n <path\r\n d=\"M12.6666669,8.66366455 L12.6666669,7.08618164 C12.6666669,4.78491943 11.1196383,2.8344397 9.0000114,2.19737549 L9.0000114,1.4831543 C9.0000114,0.665343018 8.32711346,8.52651283e-13 7.50001599,8.52651283e-13 C6.67291852,8.52651283e-13 6.00002058,0.665343018 6.00002058,1.4831543 L6.00002058,2.19737549 C3.8803604,2.8344397 2.33336513,4.78488647 2.33336513,7.08618164 L2.33336513,8.66366455 C2.33336513,10.685105 1.55410085,12.6018677 0.139138508,14.060896 C0.000472265053,14.2038721 -0.0384942824,14.4148425 0.0401054772,14.5970398 C0.118705237,14.7792371 0.299704683,14.8974609 0.500037404,14.8974609 L5.05032349,14.8974609 C5.28258944,16.0243945 6.29271969,16.875 7.50001599,16.875 C8.70734563,16.875 9.71740921,16.0243945 9.9497085,14.8974609 L14.5,14.8974609 C14.7003273,14.8974609 14.8812934,14.7792371 14.9598932,14.5970398 C15.0384929,14.4148425 14.9995264,14.2038721 14.8608935,14.060896 C13.4459311,12.6018677 12.6666669,10.685072 12.6666669,8.66366455 Z M7.00001752,1.4831543 C7.00001752,1.21055054 7.22431684,0.988769531 7.50001752,0.988769531 C7.77571515,0.988769531 8.00001752,1.21055054 8.00001752,1.4831543 L8.00001752,2.0015332 C7.8354483,1.98584473 7.66868214,1.97753906 7.50001752,1.97753906 C7.33134984,1.97753906 7.16458369,1.98584473 7.00001752,2.0015332 L7.00001752,1.4831543 Z M7.50001599,15.8862305 C6.84818465,15.8862305 6.29241969,15.4728918 6.08602032,14.8974609 L8.91401167,14.8974609 C8.7076123,15.4728918 8.15184733,15.8862305 7.50001599,15.8862305 L7.50001599,15.8862305 Z M1.57770077,13.9086914 C2.71639729,12.3994336 3.33336207,10.5729785 3.33336207,8.66366455 L3.33336207,7.08618164 C3.33336207,4.81448364 5.20252302,2.96630859 7.50001599,2.96630859 C9.79750897,2.96630859 11.6666699,4.81448364 11.6666699,7.08618164 L11.6666699,8.66366455 C11.6666699,10.5729785 12.2836347,12.3994336 13.4223645,13.9086914\"\r\n id=\"Shape\"\r\n ></path>\r\n <path\r\n d=\"M13.7705926,7.02729272 C13.7705926,7.28835319 14.0458159,7.5 14.3852963,7.5 C14.7247767,7.5 15,7.28835319 15,7.02729272 C15,5.13331221 14.0408983,3.3526869 12.2993607,2.01344415 C12.0593394,1.82886771 11.670109,1.82883619 11.4300467,2.01344415 C11.1899844,2.1980521 11.1899844,2.49733883 11.4300467,2.68194678 C12.9393902,3.84263224 13.7705926,5.38583244 13.7705926,7.02729272 L13.7705926,7.02729272 Z\"\r\n id=\"Path\"\r\n ></path>\r\n <path\r\n d=\"M0.614703713,7.5 C0.954184083,7.5 1.22940743,7.28835245 1.22940743,7.02729106 C1.22940743,5.38585655 2.06065077,3.84265095 3.56995328,2.68196143 C3.81001557,2.49735283 3.81001557,2.19806504 3.56995328,2.01345645 C3.32993197,1.82884785 2.94070158,1.82884785 2.70063929,2.01345645 C0.959101713,3.3527039 0,5.13330392 0,7.02729106 C0,7.28835245 0.275223342,7.5 0.614703713,7.5 Z\"\r\n id=\"Path\"\r\n ></path>\r\n </g>\r\n </g>\r\n </svg>\r\n</ng-template>\r\n\r\n","import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'anna-pay-for-performance-icon-template',\r\n templateUrl: './anna-pay-for-performance-icon-template.component.html',\r\n styleUrls: ['./anna-pay-for-performance-icon-template.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class AnnaPayForPerformanceIconTemplateComponent implements OnInit {\r\n\r\n @Input() color: string;\r\n @Input() width: string;\r\n @Input() height: string;\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","<ng-container [ngTemplateOutlet]=\"PayForPerformanceIcon\"\r\n [ngTemplateOutletContext]=\"{ color: color,width: width,height:height}\"> \r\n</ng-container>\r\n\r\n<ng-template #PayForPerformanceIcon let-color=\"color\" let-width=\"width\" let-height=\"height\">\r\n <svg [attr.width]=\"width\" [attr.height]=\"height\" viewBox=\"0 0 20 20\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n <g id=\"02.-PAY-FOR-PERFORMANCE-MARKED\" transform=\"translate(-100.000000, -537.000000)\" [attr.fill]=\"color\" fill-rule=\"nonzero\">\r\n <g id=\"PFP\" transform=\"translate(100.000000, 537.000000)\">\r\n <path d=\"M20,3.125 L20,8.3984375 C20,8.82995605 19.6502686,9.1796875 19.21875,9.1796875 C18.7872314,9.1796875 18.4375,8.82995605 18.4375,8.3984375 L18.4375,3.125 C18.4375,2.26348875 17.7365112,1.5625 16.875,1.5625 L3.125,1.5625 C2.26348875,1.5625 1.5625,2.26348875 1.5625,3.125 L1.5625,16.875 C1.5625,17.7365112 2.26348875,18.4375 3.125,18.4375 L12.96875,18.4375 C13.4002686,18.4375 13.75,18.7872314 13.75,19.21875 C13.75,19.6502686 13.4002686,20 12.96875,20 L3.125,20 C1.40182496,20 0,18.598175 0,16.875 L0,3.125 C0,1.40182496 1.40182496,0 3.125,0 L16.875,0 C18.598175,0 20,1.40182496 20,3.125 Z M15.9622314,5.43584332 C15.9447753,5.38514929 15.9230346,5.33649554 15.8936766,5.29255022 C15.8924071,5.290196 15.891455,5.28799875 15.8901855,5.28580147 C15.8589232,5.23981585 15.8206786,5.19995115 15.7789427,5.16322545 C15.7689451,5.15427945 15.7584715,5.1459612 15.7475217,5.13764299 C15.7022947,5.10280065 15.6545285,5.07203893 15.6008908,5.04975236 C15.6008908,5.04975236 15.6008908,5.04975236 15.6005734,5.04975236 C15.5488399,5.02825056 15.4929805,5.01600867 15.4358516,5.00863213 C15.4218867,5.00674875 15.4082392,5.00549317 15.3942744,5.00455147 C15.3791987,5.0036098 15.3652338,5 15.3499994,5 L13.0749975,5 C12.7161959,5 12.4249969,5.28799875 12.4249969,5.64285714 C12.4249969,5.99771553 12.7161959,6.28571429 13.0749975,6.28571429 L13.7624492,6.28571429 L11.4499961,8.53571429 C11.4415854,8.52708216 11.4320639,8.5182931 11.4230185,8.5102888 L10.4034253,7.61160714 C9.89545371,7.12554061 9.08263561,7.13071987 8.58291595,7.62416295 L3.19264032,12.9001116 C2.937623,13.1498152 2.93555998,13.557094 3.18787956,13.8094657 C3.31530888,13.9362793 3.48225238,14 3.64998933,14 C3.8153459,14 3.98054383,13.9383196 4.10733834,13.8141741 L9.5,8.53571429 C9.50840503,8.54434641 9.51792652,8.55313547 9.52697193,8.56113977 L10.5462477,9.45982143 C10.7899979,9.69320244 11.1100788,9.82142857 11.4499961,9.82142857 C11.7970545,9.82142857 12.1233243,9.68770926 12.3651702,9.44852121 L14.6999989,7.1770194 L14.6999989,7.89285714 C14.6999989,8.24771553 14.9911979,8.53571429 15.3499994,8.53571429 C15.708801,8.53571429 16,8.24771553 16,7.89285714 L16,5.64285714 C16,5.58431572 15.9895264,5.52844239 15.9746094,5.47445244 C15.9711181,5.46126884 15.9668335,5.44871304 15.9622314,5.43584332 Z M17.7789307,14.21875 L17.0629883,14.21875 C16.71875,14.21875 16.4280701,13.9146423 16.4280701,13.5546875 L16.4280701,13.2698059 C16.4280701,12.9200745 16.7010498,12.65625 17.0629883,12.65625 L17.7400207,12.65625 C17.9388428,12.65625 18.1446838,12.7894592 18.1446838,13.0123902 C18.1446838,13.4437561 18.4945679,13.7936402 18.9259338,13.7936402 C19.3574524,13.7936402 19.7071838,13.4437561 19.7071838,13.0123902 C19.7071838,12.0761109 19.0158081,11.2947082 18.1048584,11.1273193 L18.1048584,10.625 C18.1048584,10.1934814 17.755127,9.84375 17.3236084,9.84375 C16.8920898,9.84375 16.5423584,10.1934814 16.5423584,10.625 L16.5423584,11.1541748 C16.1557007,11.2454223 15.8015442,11.4382934 15.5142212,11.7193604 C15.0959778,12.1286011 14.8655701,12.6792908 14.8655701,13.2696533 L14.8655701,13.5546875 C14.8655701,14.7824097 15.8512879,15.78125 17.0629883,15.78125 L17.7789307,15.78125 C18.1373596,15.78125 18.4181213,16.053009 18.4181213,16.3999939 L18.4181213,16.5917969 C18.4181213,16.9313049 18.1433105,17.1875 17.7789307,17.1875 L16.615448,17.1875 C16.4233398,17.1875 16.2290955,17.0666504 16.2290955,16.8359375 C16.2290955,16.4044189 15.879364,16.0546875 15.4478455,16.0546875 C15.0163269,16.0546875 14.6665955,16.4044189 14.6665955,16.8359375 C14.6665955,17.8851318 15.4847717,18.7117004 16.5423584,18.7481689 L16.5423584,19.1796875 C16.5423584,19.6112061 16.8920898,19.9609375 17.3236084,19.9609375 C17.755127,19.9609375 18.1048584,19.6112061 18.1048584,19.1796875 L18.1048584,18.7272644 C19.1795349,18.5771179 19.9806213,17.6931763 19.9806213,16.5917969 L19.9806213,16.3999939 C19.9806213,15.8096313 19.7496033,15.2581787 19.3299866,14.8472595 C18.9161682,14.4419861 18.3653259,14.21875 17.7789307,14.21875 Z\" id=\"Shape-Copy-9\"></path>\r\n </g>\r\n </g>\r\n </g>\r\n </svg>\r\n</ng-template>","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'anna-rejected-icon-template',\r\n templateUrl: './anna-rejected-icon-template.component.html',\r\n styleUrls: ['./anna-rejected-icon-template.component.scss']\r\n})\r\nexport class AnnaRejectedIconTemplateComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<ng-container [ngTemplateOutlet]=\"rejectedIcon\"></ng-container>\r\n\r\n<ng-template #rejectedIcon>\r\n <svg width=\"15px\" height=\"15px\" viewBox=\"0 0 20 20\">\r\n <g id=\"Buyer-rejected-icon\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n <path\r\n d=\"M15.7822266,4.21777344 C14.3671875,2.80276367 12.4951465,2 10.5,2 C6.37918945,2 3,5.37253906 3,9.5 C3,13.6296289 6.37133789,17 10.5,17 C14.6105273,17 18,13.6429004 18,9.5 C18,7.50485352 17.1972656,5.6327832 15.7822266,4.21777344 Z M10.5,15.2128906 C7.34220703,15.2128906 4.78710938,12.664502 4.78710938,9.5 C4.78710938,8.26950195 5.17382812,7.10055664 5.88574219,6.13375977 L13.8662402,14.1054395 C12.8993848,14.8261719 11.730498,15.2128906 10.5,15.2128906 Z M15.1054688,12.8661816 L7.13375977,4.88574219 C8.10061523,4.17382813 9.26950195,3.78710938 10.5,3.78710938 C13.6578809,3.78710938 16.2128906,6.33549805 16.2128906,9.5 C16.2128906,10.7304395 15.8261719,11.8993848 15.1054688,12.8661816 Z\"\r\n id=\"Shape\"\r\n fill=\"#4A4A4A\"\r\n fill-rule=\"nonzero\"\r\n ></path>\r\n </g>\r\n </svg>\r\n</ng-template>\r\n","\r\n\r\n// Angular import statements\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n// Third party import statements\r\n\r\n// User defined import statements\r\nimport { AnnaNoDataComponent } from './components/anna-no-data/anna-no-data.component';\r\nimport { AnnaFilterSearchedTextPipe } from './pipes/annaFilterSearchedText.pipe';\r\nimport { AnnaBuyerApprovalIconTemplateComponent } from './components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component';\r\nimport { AnnaLiveIconTemplateComponent } from './components/anna-live-icon-template/anna-live-icon-template.component';\r\nimport { AnnaNotifyIconTemplateComponent } from './components/anna-notify-icon-template/anna-notify-icon-template.component';\r\nimport { AnnaPayForPerformanceIconTemplateComponent } from './components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component';\r\nimport { AnnaRejectedIconTemplateComponent } from './components/anna-rejected-icon-template/anna-rejected-icon-template.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n AnnaNoDataComponent,\r\n AnnaFilterSearchedTextPipe,\r\n AnnaBuyerApprovalIconTemplateComponent,\r\n AnnaLiveIconTemplateComponent,\r\n AnnaNotifyIconTemplateComponent,\r\n AnnaPayForPerformanceIconTemplateComponent,\r\n AnnaRejectedIconTemplateComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports : [\r\n AnnaNoDataComponent,\r\n AnnaFilterSearchedTextPipe,\r\n AnnaBuyerApprovalIconTemplateComponent,\r\n AnnaLiveIconTemplateComponent,\r\n AnnaNotifyIconTemplateComponent,\r\n AnnaPayForPerformanceIconTemplateComponent,\r\n AnnaRejectedIconTemplateComponent\r\n ]\r\n})\r\nexport class AnnaCoreSharedLibModule { }\r\n","// Angular import statements\r\nimport { Injectable } from '@angular/core';\r\nimport { NgbDate } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n// Third party import statements\r\nimport moment from \"moment\";\r\n\r\n// User defined import statements \r\nexport type NgbDateType = { year: number, month: number, day: number };\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AnnaDateTimeFormatService {\r\n\r\n constructor() {\r\n console.log(\"AnnaDateTimeFormatService service created.\")\r\n }\r\n\r\n convertToNgbDateStandardFormat(date: any): NgbDateType | NgbDate {\r\n return {\r\n year: parseInt(moment(date, \"MM/DD/YYYY\").format(\"YYYY\")),\r\n month: parseInt(moment(date, \"MM/DD/YYYY\").format(\"M\")),\r\n day: parseInt(moment(date, \"MM/DD/YYYY\").format(\"D\")),\r\n };\r\n }\r\n\r\n convertToNgbDate(date: any, parseFormat: any): NgbDateType | NgbDate {\r\n return {\r\n year: parseInt(moment(date, parseFormat).format(\"YYYY\")),\r\n month: parseInt(moment(date, parseFormat).format(\"M\")),\r\n day: parseInt(moment(date, parseFormat).format(\"D\")),\r\n };\r\n }\r\n\r\n formatToTwelveHrs(time: any, callRemoveZero: boolean) {\r\n if (time.endsWith('A') || time.endsWith('P')) {\r\n time = time.substring(0, time.length - 1);\r\n }\r\n let tmp = time.split(\":\");\r\n let formattedTime = [];\r\n if (+tmp[0] > 12) {\r\n formattedTime[0] = (+tmp[0] - 12).toString();\r\n if (+tmp[0] == 24) formattedTime[2] = \"AM\";\r\n else formattedTime[2] = \"PM\";\r\n } else if (tmp[0] == \"12\") {\r\n formattedTime[0] = tmp[0];\r\n formattedTime[2] = \"PM\";\r\n } else if (tmp[0] == \"00\") {\r\n formattedTime[0] = \"12\"\r\n formattedTime[2] = \"AM\";\r\n } else {\r\n formattedTime[0] = tmp[0];\r\n formattedTime[2] = \"AM\";\r\n }\r\n formattedTime[1] = tmp[1];\r\n if (callRemoveZero) formattedTime = this.removeZero(formattedTime);\r\n return formattedTime;\r\n }\r\n\r\n convertTotwentyFourHrsFormat(time: any, callAddZero: any) {\r\n let tmp = time.split(/[ :]+/);\r\n let formattedTime = [];\r\n if (tmp[0] != \"12\" && tmp[2] == \"PM\") {\r\n formattedTime[0] = (+tmp[0] + 12).toString();\r\n } else if (tmp[0] == \"12\" && tmp[2] == \"AM\") {\r\n formattedTime[0] = \"00\";\r\n } else formattedTime[0] = tmp[0].toString();\r\n formattedTime[1] = tmp[1].toString();\r\n if (callAddZero) formattedTime = this.addZero(formattedTime);\r\n return formattedTime;\r\n }\r\n\r\n removeZero(time: any) {\r\n let removedZero;\r\n let formattedTime = time;\r\n if (\r\n time[0] == \"01\" ||\r\n time[0] == \"02\" ||\r\n time[0] == \"03\" ||\r\n time[0] == \"04\" ||\r\n time[0] == \"05\" ||\r\n time[0] == \"06\" ||\r\n time[0] == \"07\" ||\r\n time[0] == \"08\" ||\r\n time[0] == \"09\"\r\n ) {\r\n removedZero = time[0].toString();\r\n formattedTime[0] = removedZero.charAt(1);\r\n formattedTime[1] = time[1];\r\n formattedTime[2] = time[2];\r\n }\r\n return formattedTime;\r\n }\r\n\r\n addZero(time: any) {\r\n let addedZero;\r\n let formattedTime = time;\r\n if (time[1] == \"0\") time[1] = \"0\" + time[1];\r\n if (\r\n time[0] == \"0\" ||\r\n time[0] == \"1\" ||\r\n time[0] == \"2\" ||\r\n time[0] == \"3\" ||\r\n time[0] == \"4\" ||\r\n time[0] == \"5\" ||\r\n time[0] == \"6\" ||\r\n time[0] == \"7\" ||\r\n time[0] == \"8\" ||\r\n time[0] == \"9\"\r\n ) {\r\n addedZero = \"0\" + time[0];\r\n formattedTime[0] = addedZero;\r\n formattedTime[1] = time[1];\r\n }\r\n return formattedTime;\r\n }\r\n\r\n sortByTimeAscending(a: any, b: any) {\r\n let format = \"HH:mm:ss\";\r\n a = moment(a, format);\r\n b = moment(b, format);\r\n\r\n let results;\r\n\r\n results = a.hours() > b.hours() ? 1 : a.hours() < b.hours() ? -1 : 0;\r\n\r\n if (results === 0) results = a.minutes() > b.minutes() ? 1 : a.minutes() < b.minutes() ? -1 : 0;\r\n\r\n if (results === 0) results = a.seconds() > b.seconds() ? 1 : a.seconds() < b.seconds() ? -1 : 0;\r\n\r\n return results;\r\n }\r\n\r\n sortByTimeDescending(a: any, b: any) {\r\n let format = \"HH:mm:ss\";\r\n a = moment(a, format);\r\n b = moment(b, format);\r\n\r\n let results;\r\n\r\n results = a.hours() < b.hours() ? 1 : a.hours() > b.hours() ? -1 : 0;\r\n\r\n if (results === 0) results = a.minutes() < b.minutes() ? 1 : a.minutes() > b.minutes() ? -1 : 0;\r\n\r\n if (results === 0) results = a.seconds() < b.seconds() ? 1 : a.seconds() > b.seconds() ? -1 : 0;\r\n return results;\r\n }\r\n\r\n convertNgbDateToMoment(ngbDate: NgbDate | NgbDateType): string {\r\n let converted = moment();\r\n converted.month(ngbDate.month - 1);\r\n converted.date(ngbDate.day);\r\n converted.year(ngbDate.year);\r\n return converted.format(\"MM/DD/YYYY\");\r\n }\r\n\r\n compareDate(a: string, b: string, isAsc: boolean) {\r\n return isAsc ? moment(a).diff(b) : moment(b).diff(a);\r\n }\r\n\r\n formatDateAndHHMMATimeToStandardFormat(dateAndTime: any) {\r\n let standardFormat, date, time;\r\n if (dateAndTime.includes(\"|\")) {\r\n date = dateAndTime.slice(0, dateAndTime.indexOf(\"|\"));\r\n time = dateAndTime.slice(dateAndTime.indexOf('|') + 1, dateAndTime.length).trim();\r\n\r\n time = time.slice(0, 2) + \":\" + time.slice(2, 4) + \" \" + time.slice(4, 5);\r\n time = time + \"M\";\r\n standardFormat = date + time;\r\n }\r\n else {\r\n standardFormat = dateAndTime + \" 00:00 AM\"\r\n }\r\n return moment(standardFormat).format(\"MM/DD/YYYY hh:mm A\");\r\n }\r\n\r\n compare(a: number | string, b: number | string, isAsc: boolean) {\r\n return (a < b ? -1 : 1) * (isAsc ? 1 : -1);\r\n }\r\n\r\n sortDataByBroadcastTimeAsc(firstParamTime: string, secondParamTime: string, broadcastTime: string) {\r\n let format = \"HH:mm:ss\";\r\n\r\n let a = moment(firstParamTime, format);\r\n let b = moment(secondParamTime, format);\r\n\r\n let broadcastMomentDateTime = moment(broadcastTime, \"HH:mm:ss\");\r\n\r\n a = a.isBefore(broadcastMomentDateTime) ? a.add(1, \"d\") : a;\r\n b = b.isBefore(broadcastMomentDateTime) ? b.add(1, \"d\") : b;\r\n\r\n let result = a.isBefore(b) ? -1 : a.isAfter(b) ? 1 : 0;\r\n return result;\r\n }\r\n \r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport {\r\n IAngular2MultiSelectSettings,\r\n INgxAsideSettings,\r\n INgbDatePickerSettings,\r\n INgSelectSettings,\r\n INgxInfiniteScrollSettings,\r\n INgxSkeletonLoaderSettings,\r\n IRadioButtonComponentConfig,\r\n IConfirmationPopupConfig,\r\n IWeekCalendar,\r\n ICustomSingleSelect,\r\n ICustomMultiSelect,\r\n} from \"../models/anna-global-dropdown-config.model\";\r\nimport {\r\n IGtHeaderConfig,\r\n IGtGeneralConfig\r\n} from \"../models/anna-non-editable-gt-models\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class AnnaGlobalConfigService {\r\n readonly defaultAngular2MultiSelectSettings: IAngular2MultiSelectSettings;\r\n readonly defaultNgxAsideSettings: INgxAsideSettings;\r\n readonly defaultNgbDatePickerSettings: INgbDatePickerSettings;\r\n readonly defaultNgSelectSettings: INgSelectSettings;\r\n readonly defaultNgxInfiniteScrollSettings: INgxInfiniteScrollSettings;\r\n readonly defaultNgxSkeletonLoaderSettings: INgxSkeletonLoaderSettings;\r\n readonly defaultRadioButtonsComponentConfig: IRadioButtonComponentConfig;\r\n readonly defaultConfirmationPopupConfig: IConfirmationPopupConfig;\r\n readonly defaultWeekCalendarConfig: IWeekCalendar;\r\n readonly defaultGtHeaderConfig: IGtHeaderConfig;\r\n readonly defaultGtGeneralConfig: IGtGeneralConfig;\r\n readonly defaultSingleSelectConfig: ICustomSingleSelect;\r\n readonly defaultMultiSelectConfig: ICustomMultiSelect;\r\n\r\n /*\r\n Initializing all default settings\r\n */\r\n constructor() {\r\n console.log(\"AnnaGlobalConfigService service created.\");\r\n this.defaultAngular2MultiSelectSettings = {\r\n text: \"Select option\",\r\n selectAllText: \"Select All\",\r\n unSelectAllText: \"UnSelect All\",\r\n badgeShowLimit: 1,\r\n singleSelection: false,\r\n classes: \"filter-dropdowns\",\r\n enableSearchFilter: true,\r\n enableCheckAll: true,\r\n autoPosition: false,\r\n disabled: false,\r\n position: \"bottom\",\r\n lazyLoading: false,\r\n showCheckbox: true,\r\n maxHeight: 300,\r\n enableFilterSelectAll: true,\r\n };\r\n\r\n this.defaultNgxAsideSettings = {\r\n title: '\"Filters\"',\r\n cancelButtonTitle: '\"Cancel\"',\r\n submitButtonTitle: '\"Apply\"',\r\n closeOnEscape: false,\r\n showOverlay: false,\r\n showDefaultFooter: false,\r\n showDefaultHeader: false,\r\n };\r\n\r\n this.defaultNgbDatePickerSettings = {\r\n autoClose: false,\r\n placeholder: \"mm-dd-yyyy\",\r\n displayMonths: 1,\r\n firstDayOfWeek: 1,\r\n showWeekNumbers: false,\r\n readonly: true,\r\n };\r\n\r\n this.defaultNgSelectSettings = {\r\n allowClear: false,\r\n placeholder: \"Select\",\r\n };\r\n\r\n this.defaultNgxInfiniteScrollSettings = {\r\n infiniteScrollDistance: 1,\r\n infiniteScrollUpDistance: 2,\r\n infiniteScrollThrottle: 300,\r\n scrollWindow: false,\r\n };\r\n\r\n this.defaultNgxSkeletonLoaderSettings = {\r\n numberOfSkeletonRows: Array(6).fill(0),\r\n };\r\n\r\n this.defaultRadioButtonsComponentConfig = {\r\n heading: \"Select Option\",\r\n radioButtons: [\r\n {\r\n value: \"Yes\",\r\n isDisabled: false,\r\n label: \"Yes\",\r\n class: \"\",\r\n },\r\n {\r\n value: \"No\",\r\n isDisabled: false,\r\n label: \"No\",\r\n class: \"\",\r\n },\r\n ],\r\n };\r\n\r\n this.defaultConfirmationPopupConfig = {\r\n showCancelButton: true,\r\n title: \"Are you sure ?\",\r\n showConfirmButton: true,\r\n cancelButtonLabel: \"No\",\r\n confirmButtonLabel: \"Yes\",\r\n showCloseIcon: true,\r\n backdrop: \"static\",\r\n windowClass: \"\",\r\n size: \"sm\",\r\n keyboard: false,\r\n };\r\n\r\n this.defaultWeekCalendarConfig = {\r\n firstDayOfWeek: 1,\r\n showWeekNumbers: true,\r\n dateFormatToDisplay: \"d MMM y\",\r\n dateFormatForRequest: \"y-MM-dd\",\r\n maxWeeksToShowWithRemainingCount: 2,\r\n numberOfMonthsToEnableInPast: 1,\r\n selectMultipleWeeks: false,\r\n customClass: \"\",\r\n emitMultipleWeekObjects: true,\r\n maxWeeksToSelect: 0,\r\n showAsDropdown: true,\r\n selectCurrentWeek: true,\r\n };\r\n\r\n this.defaultGtHeaderConfig = {\r\n iconColumn: false,\r\n checkboxColumn: false,\r\n lastColumnKeys: []\r\n };\r\n\r\n this.defaultGtGeneralConfig = {\r\n component: \"\",\r\n totalRow: false,\r\n isHeaderChecked: false,\r\n disableHeaderCheckbox: false,\r\n verticalScrollOffsetForFilterTooltip: 0,\r\n isGrouped: false,\r\n showAllColumnFilter: true,\r\n bufferSize: 20,\r\n page: \"\"\r\n };\r\n\r\n this.defaultSingleSelectConfig = {\r\n showSearchBar: false,\r\n placeholder: \"Select\",\r\n classes: \"\",\r\n position: \"BOTTOM\",\r\n maxHeightOfList: 200\r\n }\r\n\r\n this.defaultMultiSelectConfig = {...this.defaultSingleSelectConfig, ...{showErrorWhenNoOptionSelected: true}};\r\n }\r\n}\r\n","export class tooltipModel {\r\n isSelected: boolean;\r\n data: string;\r\n\r\n constructor(obj: string) {\r\n this.data = obj;\r\n this.isSelected = false;\r\n }\r\n}\r\n\r\nexport class tooltipModelForColumnLevelFiltering {\r\n isHidden;\r\n isSelected: boolean;\r\n data: string;\r\n constructor(data: string) {\r\n this.data = data;\r\n this.isSelected = true;\r\n this.isHidden = false;\r\n }\r\n}\r\n\r\nexport class radioButtonModel {\r\n key: string;\r\n label: string;\r\n\r\n constructor(key: string, value: string) {\r\n this.key = key;\r\n this.label = value;\r\n }\r\n}\r\n\r\nexport enum AllSelectedStatus {\r\n none = 0,\r\n allSelected = 1,\r\n fewSelected = 2,\r\n}\r\n","// Angular import statements\r\nimport { Options } from '@angular-slider/ngx-slider';\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n// Third party import statements\r\nimport { min, max, map, sortBy, uniq, cloneDeep, isEqual } from \"lodash-es\";\r\nimport moment from \"moment\";\r\n\r\n// User defined import statements \r\nimport { AllSelectedStatus, tooltipModelForColumnLevelFiltering } from \"../models/anna-tooltip.model\";\r\nimport { AnnaDateTimeFormatService, NgbDateType } from './anna-date-time-format.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AnnaFilterService {\r\n\r\n tooltipMap = new Map();\r\n tooltipSelectedMap = new Map();\r\n initialValueMap: Map<string, any>;\r\n translateFunc: string;\r\n selectedRadio: string;\r\n subRadioButton: string;\r\n\r\n calendarSet: Set<string>;\r\n sliderSet: Set<string>;\r\n timeSet: Set<string>;\r\n\r\n includeMultiTime: boolean;\r\n includeZeroTime: boolean;\r\n includeTimeRange: boolean;\r\n\r\n appliedFiltersArray: string[] = [];\r\n flightDateRange: { minSelectedDate: any, maxSelectedDate: any };\r\n sliderData: { min: any, max: any };\r\n ngxSliderObj: Options;\r\n\r\n public static bufferSize = 20;\r\n\r\n constructor(private dateTimeFormatService: AnnaDateTimeFormatService) {\r\n console.log(\"AnnaFilterService service created.\")\r\n const sliderArr = [\r\n \"rcvPreempt\",\r\n \"osPreempt\",\r\n \"rcvUnderDly\",\r\n \"postedAudPercent\",\r\n \"booked\",\r\n \"spots\",\r\n \"grp\",\r\n \"cpp\",\r\n \"imps\",\r\n \"cpm\",\r\n \"osUnderDly\",\r\n \"totalWeeks\",\r\n \"WeekNumber\",\r\n \"Rate\",\r\n \"OrderedRatingsOrImpressions\",\r\n \"PostedRatingsOrImpressions\", ,\r\n \"postedAudPercent\",\r\n \"postedAdu\",\r\n \"scheduledAdu\",\r\n \"audienceDeficit\",\r\n \"offeredMGs\",\r\n \"outstandingPE\",\r\n \"offeredADUs\",\r\n \"udDeficitValue\",\r\n \"bookedValue\",\r\n \"bookedSpots\",\r\n \"userChanges\"\r\n ];\r\n const calendarArr = [\"period\", \"AirDate\", \"flightStartDate\", \"flightEndDate\",\"date\"];\r\n const timeArr = [\"StartTimeForFilter\", \"EndTimeForFilter\",\r\n \"start_time_for_filter\", \"end_time_for_filter\", \"startEndTimeMulti\"];\r\n this.sliderSet = new Set(sliderArr);\r\n this.calendarSet = new Set(calendarArr);\r\n this.timeSet = new Set(timeArr);\r\n }\r\n\r\n returnMaxAndMinValue(data: any[], key: string, isMin: boolean) {\r\n data = data.filter((obj) => ![\"\", \"-\", null].includes(obj[key]));\r\n const values = data.map((x) => x[key]);\r\n let valueToReturn = isMin ? min(values) : max(values);\r\n return valueToReturn;\r\n }\r\n\r\n returnMinAndMaxDate(data: any[], key: string) {\r\n data = data.filter((obj) => ![\"\", \"-\", null].includes(obj[key]));\r\n let DateArr = data.map((obj) => moment(obj[key]));\r\n let minDate = moment.min(DateArr);\r\n let maxDate = moment.max(DateArr);\r\n return [minDate, maxDate];\r\n }\r\n\r\n isTooltipActive(header: string[]): boolean {\r\n let set: Set<string> = new Set(this.appliedFiltersArray);\r\n return (set.has(header[0])) || (set.has(header[1]));\r\n }\r\n\r\n clearColumnFilter() {\r\n this.tooltipSelectedMap.delete(this.selectedRadio);\r\n if (this.tooltipMap.has(this.selectedRadio)) {\r\n this.tooltipMap.delete(this.selectedRadio);\r\n }\r\n if (this.selectedRadio === \"postedAdu\") {\r\n this.subRadioButton = \"required\";\r\n this.tooltipSelectedMap.delete(\"isAudRequired\");\r\n }\r\n let appliedFilterSet: Set<string> = new Set(this.appliedFiltersArray);\r\n appliedFilterSet.delete(this.selectedRadio);\r\n this.appliedFiltersArray = [...appliedFilterSet];\r\n }\r\n\r\n populateSliderTooltip(completeData: any[], filteredData: any[]) {\r\n let obj;\r\n let minValue;\r\n let maxValue;\r\n if (\r\n this.appliedFiltersArray.length > 0 &&\r\n this.appliedFiltersArray[this.appliedFiltersArray.length - 1] === this.selectedRadio\r\n ) {\r\n let subsetData;\r\n let subfilterApplied = false;\r\n //applying all filterexcept the current filter\r\n if (this.selectedRadio === \"postedAdu\" && this.tooltipSelectedMap.has(\"isAudRequired\")) {\r\n this.tooltipSelectedMap.delete(\"isAudRequired\");\r\n subfilterApplied = true;\r\n }\r\n subsetData = this.filterData(completeData, this.selectedRadio);\r\n //need to find min and max value for\r\n minValue = this.returnMaxAndMinValue(subsetData, this.selectedRadio, true);\r\n maxValue = this.returnMaxAndMinValue(subsetData, this.selectedRadio, false);\r\n if (this.selectedRadio === \"postedAdu\" && subfilterApplied) {\r\n this.tooltipSelectedMap.set(\"isAudRequired\", [false]);\r\n }\r\n } else {\r\n minValue = this.returnMaxAndMinValue(filteredData, this.selectedRadio, true);\r\n maxValue = this.returnMaxAndMinValue(filteredData, this.selectedRadio, false);\r\n }\r\n this.ngxSliderObj = this.setOptionValues(minValue, maxValue);\r\n if (this.translateFunc === \"normal\") {\r\n this.ngxSliderObj.translate = this.normalTranslateFunction;\r\n } else if (this.translateFunc === \"percent\") {\r\n this.ngxSliderObj.translate = this.percentTranslateFunction;\r\n } else if (this.translateFunc === \"currency\") {\r\n this.ngxSliderObj.translate = this.currencyTranslateFunction;\r\n }\r\n return obj;\r\n }\r\n\r\n setOptionValues(minValue: number, maxValue: number) {\r\n return {\r\n floor: minValue,\r\n ceil: maxValue\r\n };\r\n }\r\n\r\n percentTranslateFunction = (data: number): string => {\r\n const val = data.toFixed(1) + \"%\";\r\n return val;\r\n };\r\n\r\n currencyTranslateFunction = (data: number): string => {\r\n if (data >= 1000) {\r\n const val = (data / 1000).toFixed(1) + \"k\";\r\n return \"$\" + val;\r\n } else if (data != Math.floor(data)) {\r\n return data.toFixed(1).toString();\r\n }\r\n return \"$\" + data;\r\n };\r\n\r\n normalTranslateFunction = (data: number): string => {\r\n if (data >= 1000) {\r\n const val = (data / 1000).toFixed(1) + \"k\";\r\n return val;\r\n } else if (data != Math.floor(data)) {\r\n return data.toFixed(1).toString();\r\n }\r\n return data.toString();\r\n };\r\n\r\n populateTooltip(selectedColumnName: string, completeData: any[], filteredData: any[]) {\r\n let tooltipData;\r\n\r\n if (this.appliedFiltersArray.length === 0) {\r\n tooltipData = this.populateTooltipDataBasedOnSelectedRadio([selectedColumnName], completeData);\r\n tooltipData.forEach((item: { isHidden: boolean }) => (item.isHidden = false));\r\n } else if (selectedColumnName === this.appliedFiltersArray[this.appliedFiltersArray.length - 1]) {\r\n let subsetData = this.filterData(completeData, selectedColumnName); //filter the data without applying the latest filter\r\n tooltipData = this.showHideFilterCheckbox(subsetData, selectedColumnName);\r\n } else {\r\n //if it is not the latest filter\r\n //then filtered Data will be used\r\n //create the option data\r\n if (!this.tooltipMap.has(selectedColumnName)) {\r\n this.populateTooltipDataBasedOnSelectedRadio([selectedColumnName], completeData);\r\n }\r\n\r\n tooltipData = this.showHideFilterCheckbox(filteredData, selectedColumnName);\r\n }\r\n return tooltipData;\r\n }\r\n\r\n populateTooltipDataBasedOnSelectedRadio(value: string[], originalData: any) {\r\n //if the initial tooltip data is already present fetch from the map\r\n if (this.tooltipMap.has(value[0])) {\r\n return this.tooltipMap.get(value[0]);\r\n } else {\r\n //get the unique values from the column and save it in the map\r\n this.selectedRadio = value[0];\r\n const data = sortBy(originalData.map((u: any) => u[this.selectedRadio])).filter(n => n !== null); //sorting the data in alphabetical order\r\n const dataSet = new Set(data); //created a set from the data\r\n const toolTipdata = [...dataSet].map((x) => new tooltipModelForColumnLevelFiltering(x));\r\n this.tooltipMap.set(value[0], toolTipdata); //setting the key value pair in the tooltipMap\r\n this.tooltipSelectedMap.set(value[0], map(toolTipdata, \"data\")); //setting the key value pair in tooltipSelectedMap\r\n return toolTipdata;\r\n }\r\n }\r\n\r\n showHideFilterCheckbox(arr: any[], selectedColumnName: string) {\r\n let currentSubsetData = uniq(arr.map((u) => u[selectedColumnName]));\r\n\r\n //get the initial tooltip Data\r\n let tooltipData = this.tooltipMap.get(selectedColumnName);\r\n\r\n //show or hide the value\r\n tooltipData.forEach((value: { data: string | number; isHidden: boolean; }) => {\r\n //if the element is not present then hide the element\r\n let elementToFindIndex = currentSubsetData.findIndex((n: string | number) => n === value.data);\r\n if (elementToFindIndex === -1) {\r\n value.isHidden = true;\r\n } else {\r\n //show the element\r\n value.isHidden = false;\r\n }\r\n });\r\n\r\n return tooltipData;\r\n }\r\n\r\n isAllOptionsSelected() {\r\n let allSelected;\r\n let totalOptionsCount = this.tooltipMap.get(this.selectedRadio).filter((x: any) => !x.isHidden).length;\r\n let selectedOptionsCount = this.tooltipMap.get(this.selectedRadio).filter((x: any) => !x.isHidden && x.isSelected).length;\r\n if (selectedOptionsCount === 0) {\r\n allSelected = AllSelectedStatus.none;\r\n } else if (selectedOptionsCount > 0 && selectedOptionsCount < totalOptionsCount) {\r\n allSelected = AllSelectedStatus.fewSelected;\r\n } else {\r\n allSelected = AllSelectedStatus.allSelected;\r\n }\r\n return allSelected;\r\n }\r\n\r\n populateDatePickerTooltipWithData(completeData: any[], filteredData: any[]) {\r\n let enabledDates;\r\n //some filter is applied and the latest filter is the date filter\r\n if (\r\n this.appliedFiltersArray.length > 0 &&\r\n this.appliedFiltersArray[this.appliedFiltersArray.length - 1] === this.selectedRadio\r\n ) {\r\n let subsetData;\r\n //applying all filterexcept thec current filter\r\n if (this.selectedRadio === \"period\") {\r\n subsetData = this.filterData(completeData, \"period\");\r\n let minStartDate = this.returnMinAndMaxDate(subsetData, \"startDate\");\r\n let maxEndDate = this.returnMinAndMaxDate(subsetData, \"endDate\");\r\n enabledDates = { minStartDate: minStartDate[0], maxEndDate: maxEndDate[1] };\r\n } else if (this.selectedRadio === \"AirDate\" || this.selectedRadio === \"flightStartDate\" ||\r\n this.selectedRadio === \"flightEndDate\" || this.selectedRadio == \"date\") {\r\n subsetData = this.filterData(completeData, this.selectedRadio);\r\n let minAndMaxDate = this.returnMinAndMaxDate(subsetData, this.selectedRadio);\r\n enabledDates = { minStartDate: minAndMaxDate[0], maxEndDate: minAndMaxDate[1] };\r\n } else {\r\n subsetData = this.filterData(completeData, this.selectedRadio);\r\n //need to find min and max date for start and end date\r\n //enabledDates is an arr of minDate and maxDate\r\n enabledDates = this.returnMinAndMaxDate(subsetData, this.selectedRadio);\r\n }\r\n } else {\r\n if (this.selectedRadio === \"period\") {\r\n let minStartDate = this.returnMinAndMaxDate(filteredData, \"startDate\");\r\n let maxEndDate = this.returnMinAndMaxDate(filteredData, \"endDate\");\r\n enabledDates = { minStartDate: minStartDate[0], maxEndDate: maxEndDate[1] };\r\n } else if (this.selectedRadio === \"AirDate\" || this.selectedRadio === \"flightStartDate\" ||\r\n this.selectedRadio === \"flightEndDate\" || this.selectedRadio == \"date\") {\r\n let minAndMaxDate = this.returnMinAndMaxDate(filteredData, this.selectedRadio);\r\n enabledDates = { minStartDate: minAndMaxDate[0], maxEndDate: minAndMaxDate[1] };\r\n } else {\r\n //need to find min and max date for start and end date.\r\n // enabledDates is an arr of minDate and maxDate\r\n enabledDates = this.returnMinAndMaxDate(filteredData, this.selectedRadio);\r\n }\r\n }\r\n return enabledDates;\r\n }\r\n\r\n findUniqueDatesWithData(data: any[]) {\r\n let uniqueDates = uniq(data.map((u) => u[\"date\"]));\r\n let uniqueDatesInNgbDateFormat: NgbDateType[] = [];\r\n uniqueDates.forEach((date) => {\r\n uniqueDatesInNgbDateFormat.push(\r\n this.dateTimeFormatService.convertToNgbDateStandardFormat(moment(date, \"MM/DD/YY\").format(\"MM/DD/YYYY\"))\r\n );\r\n });\r\n return uniqueDatesInNgbDateFormat;\r\n }\r\n\r\n isCheckboxSelected(selectedData: any) {\r\n selectedData.isSelected = !selectedData.isSelected;\r\n let allSelected = this.isAllOptionsSelected();\r\n return allSelected;\r\n }\r\n\r\n allOptionsClicked(status: number) {\r\n let header = this.selectedRadio;\r\n if (status === 1) {\r\n this.tooltipMap.get(header).forEach((item: any) => {\r\n if (!item.isHidden) {\r\n item.isSelected = true;\r\n }\r\n });\r\n this.tooltipSelectedMap.set(\r\n header,\r\n this.tooltipMap\r\n .get(header)\r\n .filter((x: any) => x.isSelected)\r\n .map((x: any) => x.data)\r\n );\r\n } else {\r\n this.tooltipMap.get(header).forEach((item: any) => {\r\n if (!item.isHidden) {\r\n item.isSelected = false;\r\n }\r\n });\r\n this.tooltipSelectedMap.delete(header);\r\n }\r\n }\r\n\r\n reOrderAppliedFiltersArray(isHierarchialUserFiltered: boolean, date?: any) {\r\n let isFiltered = true;\r\n isFiltered = this.checkIfDataIsFiltered(isFiltered, isHierarchialUserFiltered, date);\r\n this.removeOrChangeLatestFilterIndex(isFiltered);\r\n }\r\n\r\n checkIfDataIsFiltered(isFiltered: boolean, isHierarchialUserFiltered: boolean, date?: any) {\r\n if (this.selectedRadio == \"user\" && !this.tooltipMap.has(\"user\")) {\r\n isFiltered = cloneDeep(isHierarchialUserFiltered);\r\n } else if (this.selectedRadio == \"StartTimeForFilter\" || this.selectedRadio == \"EndTimeForFilter\"\r\n || this.selectedRadio == \"start_time_for_filter\" || this.selectedRadio == \"end_time_for_filter\" || this.selectedRadio == \"startEndTimeMulti\") {\r\n isFiltered = !isEqual(\r\n this.initialValueMap.get(this.selectedRadio),\r\n this.tooltipSelectedMap.get(this.selectedRadio)\r\n ) || !this.includeZeroTime || !this.includeMultiTime;\r\n }\r\n else if (this.selectedRadio == \"startEndTime\" || this.selectedRadio == \"TimeBand\") {\r\n isFiltered = !isEqual(this.initialValueMap.get(this.selectedRadio), this.tooltipSelectedMap.get(this.selectedRadio)) || !this.includeZeroTime || !this.includeMultiTime;\r\n }\r\n else if (this.sliderSet.has(this.selectedRadio)) {\r\n isFiltered = !isEqual(this.initialValueMap.get(this.selectedRadio), this.tooltipSelectedMap.get(this.selectedRadio)) && !isEqual(this.tooltipSelectedMap.get(this.selectedRadio), this.sliderData);\r\n if (this.selectedRadio == \"postedAdu\" && this.subRadioButton == \"notRequired\") {\r\n isFiltered = true;\r\n }\r\n if (!isFiltered && this.tooltipSelectedMap.has(this.selectedRadio)) {\r\n this.tooltipSelectedMap.delete(this.selectedRadio);\r\n }\r\n } else if (\r\n this.selectedRadio == \"startDate\" ||\r\n this.selectedRadio == \"endDate\" ||\r\n this.selectedRadio == \"period\" ||\r\n this.selectedRadio == \"AirDate\" ||\r\n this.selectedRadio === \"flightStartDate\" ||\r\n this.selectedRadio === \"flightEndDate\" ||\r\n this.selectedRadio == \"date\"\r\n ) {\r\n isFiltered =\r\n !isEqual(this.initialValueMap.get(this.selectedRadio), this.tooltipSelectedMap.get(this.selectedRadio)) &&\r\n !isEqual(this.tooltipSelectedMap.get(this.selectedRadio), this.flightDateRange);\r\n if (!isFiltered && this.tooltipSelectedMap.has(this.selectedRadio)) {\r\n this.tooltipSelectedMap.delete(this.selectedRadio);\r\n }\r\n } else {\r\n let totalOptionsCount = this.tooltipMap.get(this.selectedRadio).filter((x: any) => !x.isHidden).length;\r\n let selectedOptionsCount = this.tooltipMap.get(this.selectedRadio).filter((x: any) => !x.isHidden && x.isSelected).length;\r\n isFiltered = selectedOptionsCount > 0 && selectedOptionsCount != totalOptionsCount ? true : false;\r\n }\r\n return isFiltered;\r\n }\r\n\r\n removeOrChangeLatestFilterIndex(isFiltered: boolean) {\r\n let set = new Set(this.appliedFiltersArray);\r\n\r\n if (isFiltered && !set.has(this.selectedRadio)) {\r\n set.add(this.selectedRadio);\r\n } else if (isFiltered && set.has(this.selectedRadio)) {\r\n set.delete(this.selectedRadio);\r\n set.add(this.selectedRadio);\r\n } else {\r\n set.delete(this.selectedRadio);\r\n }\r\n this.appliedFiltersArray = [...set];\r\n }\r\n\r\n filterData(originalData: any[], keyToSkip: string) {\r\n let filteredData = originalData;\r\n\r\n this.tooltipSelectedMap.forEach((value, key) => {\r\n if (key != keyToSkip) {\r\n if (this.sliderSet.has(key)) {\r\n filteredData = filteredData.filter((obj) => obj[key] >= value.min && obj[key] <= value.max);\r\n }\r\n else if (key === \"startDate\" || key === \"endDate\") {\r\n filteredData = filteredData.filter((obj) => this.returnOrdersInTheRange(obj, value, key));\r\n } else if (key === \"period\" || key === \"AirDate\" || key === \"flightStartDate\" || key === \"flightEndDate\" || key == \"date\") {\r\n filteredData = filteredData.filter((obj) => this.getDataInTheDateRange(obj, value, key));\r\n }\r\n else if (key === \"StartTimeForFilter\" || key === \"EndTimeForFilter\"\r\n || key === \"start_time_for_filter\" || key === \"end_time_for_filter\") {\r\n filteredData = filteredData.filter((obj) => this.returnDataForFromAndToTimeRange(obj, value, key));\r\n }\r\n else if (key === \"startEndTimeMulti\") {\r\n filteredData = filteredData.filter((obj) => this.returnDataForStartAndEndTimeRange(obj, value, key));\r\n }\r\n else if (key === \"startEndTime\" || key === \"TimeBand\") {\r\n let filteredMulti = [];\r\n let filteredZero = [];\r\n let filteredTimeRange = [];\r\n if (this.includeTimeRange) {\r\n filteredTimeRange = filteredData.filter((obj) => this.returnDataForTimeRange(obj, value));\r\n }\r\n\r\n if (this.includeMultiTime) {\r\n filteredMulti = filteredData.filter((obj) => obj[key][0] == \"<multi>\");\r\n }\r\n\r\n if (this.includeZeroTime) {\r\n filteredZero = filteredData.filter((obj) => obj[key][0] == \"0\");\r\n }\r\n\r\n filteredData = [...filteredMulti, ...filteredZero, ...filteredTimeRange];\r\n } else if (value.length > 0) {\r\n filteredData = filteredData.filter((u) => value.includes(u[key]));\r\n }\r\n }\r\n });\r\n return filteredData;\r\n }\r\n\r\n returnOrdersInTheRange(order: any, range: any, key: any) {\r\n let isDateBetweenTheSelectedRange = moment(order[key]).isBetween(range.minSelectedDate, range.maxSelectedDate);\r\n let isDateSameAsTheMinSelectedDate = moment(order[key]).isSame(range.minSelectedDate);\r\n let isDateSameAsTheMaxSelectedDate = moment(order[key]).isSame(range.maxSelectedDate);\r\n return isDateBetweenTheSelectedRange || isDateSameAsTheMinSelectedDate || isDateSameAsTheMaxSelectedDate;\r\n }\r\n\r\n returnDataForTimeRange(obj: any, selectedData: any) {\r\n let format = \"HH:mm:ss\";\r\n let selectedStartDate = moment(selectedData.startTime, format);\r\n let selectedEndDate = moment(selectedData.endTime, format);\r\n let startTime = moment(obj.startTime, format);\r\n let endTime = moment(obj.endTime, format);\r\n\r\n let isStartTimeSameAsSelectedStartTime = startTime.isSame(selectedStartDate);\r\n let isStartTimeBetweenSelectedStartAndEndTime = startTime.isBetween(selectedStartDate, selectedEndDate);\r\n let isEndTimeSameAsSelectedEndTime = endTime.isSame(selectedEndDate);\r\n let isEndTimeBetweenSelectedStartAndEndTime = endTime.isBetween(selectedStartDate, selectedEndDate);\r\n\r\n return (\r\n (isStartTimeBetweenSelectedStartAndEndTime && isEndTimeBetweenSelectedStartAndEndTime) ||\r\n (isStartTimeSameAsSelectedStartTime && isEndTimeSameAsSelectedEndTime) ||\r\n (isStartTimeSameAsSelectedStartTime && isEndTimeBetweenSelectedStartAndEndTime) ||\r\n (isStartTimeBetweenSelectedStartAndEndTime && isEndTimeSameAsSelectedEndTime)\r\n );\r\n }\r\n\r\n returnDataForFromAndToTimeRange(obj: any, selectedData: any, key: any) {\r\n let format = \"HH:mm:ss\";\r\n let selectedFromTime = moment(selectedData.fromTime, format);\r\n let selectedToTime = moment(selectedData.toTime, format);\r\n let objTime = obj[key];\r\n if ([\"\", \"-\", null].includes(objTime)) {\r\n return false;\r\n }\r\n if (this.includeMultiTime && obj[key] == \"<multi>\") {\r\n return true;\r\n }\r\n if (!this.includeMultiTime && obj[key] == \"<multi>\") {\r\n return false;\r\n }\r\n if (this.includeZeroTime && obj[key] == \"0\") {\r\n return true;\r\n }\r\n if (!this.includeZeroTime && obj[key] == \"0\") {\r\n return false;\r\n }\r\n if (!this.includeTimeRange) {\r\n return false;\r\n }\r\n\r\n objTime = this.dateTimeFormatService.formatToTwelveHrs(objTime, true);\r\n\r\n objTime = this.dateTimeFormatService.convertTotwentyFourHrsFormat(\r\n objTime[0] + \":\" + objTime[1] + \" \" + objTime[2],\r\n true\r\n );\r\n objTime = objTime[0] + \":\" + objTime[1] + \":00\";\r\n\r\n objTime = moment(objTime, format);\r\n\r\n let isObjTimeSameAsSelectedFromTime = objTime.isSame(selectedFromTime);\r\n let isObjTimeSameAsSelectedToTime = objTime.isSame(selectedToTime);\r\n let isObjTimeBetweenSelectedFromTimeAndToTime = objTime.isBetween(selectedFromTime, selectedToTime);\r\n\r\n return (\r\n isObjTimeSameAsSelectedFromTime ||\r\n isObjTimeSameAsSelectedToTime ||\r\n isObjTimeBetweenSelectedFromTimeAndToTime\r\n );\r\n }\r\n\r\n returnDataForStartAndEndTimeRange(obj: any, selectedData: any, key: any) {\r\n let format = \"HH:mm:ss\";\r\n let selectedFromTime = moment(selectedData.fromTime, format);\r\n let selectedToTime = moment(selectedData.toTime, format);\r\n let objTime = obj[key];\r\n\r\n if (this.includeMultiTime && obj[key][0] == \"<multi>\") {\r\n return true;\r\n }\r\n if (!this.includeMultiTime && obj[key][0] == \"<multi>\") {\r\n return false;\r\n }\r\n if (this.includeZeroTime && obj[key][0] == \"0\") {\r\n return true;\r\n }\r\n if (!this.includeZeroTime && obj[key][0] == \"0\") {\r\n return false;\r\n }\r\n if (!this.includeTimeRange) {\r\n return false;\r\n }\r\n\r\n let startTime = moment(obj[key][1], format);\r\n let endTime = moment(obj[key][2], format);\r\n\r\n let isStartTimeSameAsSelectedStartTime = startTime.isSame(selectedFromTime);\r\n let isStartTimeBetweenSelectedStartAndEndTime = startTime.isBetween(selectedFromTime, selectedToTime);\r\n let isEndTimeSameAsSelectedEndTime = endTime.isSame(selectedToTime);\r\n let isEndTimeBetweenSelectedStartAndEndTime = endTime.isBetween(selectedFromTime, selectedToTime);\r\n\r\n return (\r\n (isStartTimeBetweenSelectedStartAndEndTime && isEndTimeBetweenSelectedStartAndEndTime) ||\r\n (isStartTimeSameAsSelectedStartTime && isEndTimeSameAsSelectedEndTime) ||\r\n (isStartTimeSameAsSelectedStartTime && isEndTimeBetweenSelectedStartAndEndTime) ||\r\n (isStartTimeBetweenSelectedStartAndEndTime && isEndTimeSameAsSelectedEndTime)\r\n );\r\n }\r\n\r\n getDataInTheDateRange(obj: any, value: any, key: any) {\r\n let parsingFormat: string;\r\n if (key === \"period\") {\r\n parsingFormat = \"YYYY-MM-DD\";\r\n let startDateIsBetweenSelDate = moment(obj.startDate, parsingFormat).isBetween(\r\n value.minSelectedDate,\r\n value.maxSelectedDate\r\n );\r\n let endDateIsBetweenSelDate = moment(obj.endDate, parsingFormat).isBetween(\r\n value.minSelectedDate,\r\n value.maxSelectedDate\r\n );\r\n\r\n let startDateIsSameAsSelStartDate = moment(obj.startDate, parsingFormat).isSame(value.minSelectedDate);\r\n let endDateIsSameAsSelEndDate = moment(obj.endDate, parsingFormat).isSame(value.maxSelectedDate);\r\n\r\n return (\r\n (startDateIsBetweenSelDate || startDateIsSameAsSelStartDate) &&\r\n (endDateIsBetweenSelDate || endDateIsSameAsSelEndDate)\r\n );\r\n } else if (key === \"AirDate\" || key === \"flightStartDate\" || key === \"flightEndDate\") {\r\n parsingFormat = \"MM/DD/YYYY\";\r\n let dateIsBetweenSelDate = moment(obj[key], parsingFormat).isBetween(value.minSelectedDate, value.maxSelectedDate);\r\n\r\n let dateIsSameAsSelStartDate = moment(obj[key], parsingFormat).isSame(value.minSelectedDate);\r\n let dateIsSameAsSelEndDate = moment(obj[key], parsingFormat).isSame(value.maxSelectedDate);\r\n\r\n return dateIsBetweenSelDate || dateIsSameAsSelStartDate || dateIsSameAsSelEndDate;\r\n }\r\n else {\r\n\r\n }\r\n }\r\n\r\n\r\n public initializeTimeFilterData(clonedData: any[], key = \"startEndTime\") {\r\n let startTimeArr = map(clonedData, \"startTime\");\r\n let endTimeArr = map(clonedData, \"endTime\");\r\n \r\n startTimeArr.sort((a, b) => {\r\n return this.dateTimeFormatService.sortByTimeAscending(a, b);\r\n });\r\n \r\n endTimeArr.sort((a, b) => {\r\n return this.dateTimeFormatService.sortByTimeDescending(a, b);\r\n });\r\n \r\n let initialStartEndTime = {\r\n startTime: startTimeArr[0],\r\n endTime: endTimeArr[0],\r\n };\r\n this.initialValueMap.set(key, initialStartEndTime);\r\n } \r\n\r\n returnColumnFilterStatus(data: any[], headername: string | number) {\r\n return uniq(data.map((u) => u[headername])).length > 1 ? false : true;\r\n } \r\n\r\n}\r\n","export class Constants {\r\n static readonly SUCCESS_STRING = \"success\";\r\n static readonly BACKEND_SERVER_URL = \"/server/public/index.php/api\";\r\n static readonly ERROR_MSG = \"Error occurred please try again.\";\r\n static readonly NO_DATA_MSG = \"No Data to display\";\r\n static readonly SERVER_ERROR = \"Server error. Please try Again\";\r\n static readonly USER_ORIGIN = \"ANNA\";\r\n static readonly ACTIVE_USER_STATUS = \"active\";\r\n static readonly DELETED_USER_STATUS = \"deleted\";\r\n static readonly INACTIVE_USER_STATUS = \"inactive\";\r\n static readonly OGAdminRole = \"OG-admin\";\r\n static readonly dollars = \"$\";\r\n}\r\n\r\nexport class ErrorCodes {\r\n static readonly BAD_REQUEST = 400;\r\n static readonly SERVER_ERROR = 500;\r\n static readonly SUCCESS_CODE = 200;\r\n static readonly SUCCESS_CODE_GET = 200;\r\n static readonly SUCCESS_CODE_POST = 201;\r\n static readonly SUCCESS_CODE_PATCH = 204;\r\n static readonly NO_CONTENT = 204;\r\n static readonly under_review = 409;\r\n}\r\n\r\nexport enum Days {\r\n M = 1,\r\n Tu = 2,\r\n We = 3,\r\n Th = 4,\r\n F = 5,\r\n Sa = 6,\r\n Su = 7,\r\n}\r\n","// Angular import statements\r\nimport { Injectable } from \"@angular/core\";\r\nimport { AnnaDateTimeFormatService } from './anna-date-time-format.service';\r\n\r\n// Third party import statements\r\n\r\n// User defined import statements\r\nimport { Days, Constants} from \"../constants/shared.constant\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class AnnaSortService {\r\n sortByAsc: Map<string, boolean> = new Map();\r\n sortByDesc: Map<string, boolean> = new Map();\r\n dateSet = new Set([\"endDate\", \"startDate\", \"end_date\", \"start_date\", \"flightStartDate\", \"flightEndDate\"]);\r\n tooltip: any;\r\n keySorted: string;\r\n isAsc: boolean;\r\n\r\n constructor(private annaDateTimeFormatService: AnnaDateTimeFormatService) {\r\n console.log(\"AnnaTableColumnSortService sevice created.\")\r\n }\r\n\r\n checkIfSortingIsApplied(sortMap: Map<string, boolean>, setValueTo: boolean) {\r\n let obj: { key: string, setValueTo: any } = { key: \"\", setValueTo: null };\r\n\r\n for (let [key, value] of sortMap.entries()) {\r\n if (value) {\r\n obj = { key, setValueTo };\r\n break;\r\n }\r\n }\r\n return obj;\r\n }\r\n\r\n sort(isAsc: boolean, data: any[], sortBy: string) {\r\n const dataToExclude: any[] = [];\r\n const dataToInclude: any[] = [];\r\n let param1: string | number;\r\n let param2: string | number;\r\n if (this.dateSet.has(sortBy)) {\r\n data.sort((a, b) => {\r\n return this.annaDateTimeFormatService.compareDate(a[sortBy], b[sortBy], isAsc);\r\n });\r\n }\r\n else if (sortBy === \"AirDateAndTime\") {\r\n data.sort((a, b) => {\r\n let first, second;\r\n if (a[sortBy] == \"-\") {\r\n return 1;\r\n }\r\n if (b[sortBy] == \"-\") {\r\n return -1;\r\n }\r\n else {\r\n first = this.annaDateTimeFormatService.formatDateAndHHMMATimeToStandardFormat(a[sortBy]);\r\n second = this.annaDateTimeFormatService.formatDateAndHHMMATimeToStandardFormat(b[sortBy]);\r\n let compareDate = this.annaDateTimeFormatService.compareDate(first, second, isAsc)\r\n return compareDate;\r\n }\r\n });\r\n }\r\n else if (sortBy === \"startEndTime\" || sortBy === \"TimeBand\") {\r\n data.sort((a, b) => {\r\n if (isAsc) {\r\n param1 = a[sortBy][1];\r\n param2 = b[sortBy][1];\r\n } else {\r\n param1 = a[sortBy][2];\r\n param2 = b[sortBy][2];\r\n }\r\n let val = isAsc\r\n ? this.annaDateTimeFormatService.sortByTimeAscending(param1, param2)\r\n : this.annaDateTimeFormatService.sortByTimeDescending(param1, param2);\r\n return val;\r\n });\r\n } else if (sortBy === \"days\") {\r\n data.sort((a, b) => {\r\n param1 = a[sortBy].includes(\"-\") ? Days[a[sortBy].split(\"-\")[0]] : Days[a[sortBy]];\r\n param2 = b[sortBy].includes(\"-\") ? Days[b[sortBy].split(\"-\")[0]] : Days[b[sortBy]];\r\n return this.annaDateTimeFormatService.compare(param1, param2, isAsc);\r\n });\r\n }\r\n //sort by string or number\r\n else {\r\n data.forEach((a) => {\r\n // if(a['sort'] == undefined) //\r\n //for component other than enter/edit lur page\r\n if (!(\"sort\" in a)) {\r\n dataToInclude.push(a);\r\n }\r\n //for enter/edit lur page\r\n else {\r\n dataToExclude.push(a);\r\n }\r\n });\r\n\r\n data = [];\r\n data = dataToInclude;\r\n data.sort((a, b): number => {\r\n param1 = a[sortBy];\r\n param2 = b[sortBy];\r\n\r\n if (Array.isArray(a[sortBy])) {\r\n param1 = a[sortBy][0] === \"-\" ? 0 : a[sortBy][0];\r\n if (a[sortBy][0].includes(Constants.dollars)) {\r\n param1 = +a[sortBy][0].split(Constants.dollars)[1];\r\n }\r\n }\r\n\r\n if (Array.isArray(b[sortBy])) {\r\n param2 = b[sortBy][0] == \"-\" ? 0 : b[sortBy][0];\r\n if (b[sortBy][0].includes(Constants.dollars)) {\r\n param2 = +b[sortBy][0].split(Constants.dollars)[1];\r\n }\r\n }\r\n\r\n if (param1 !== param2) {\r\n return this.annaDateTimeFormatService.compare(param1, param2, isAsc);\r\n }\r\n // CHANGES@ANNALIB changed it to from false to 0\r\n return 0;\r\n });\r\n\r\n if (dataToExclude.length > 0) {\r\n if (sortBy.includes(\"_\")) {\r\n let keys: any = sortBy.split(\"_\");\r\n let weekNumber = keys[0];\r\n let sortKey = keys[1];\r\n if (keys.length > 2) {\r\n sortKey = keys[2] == true ? \"BookedAurIncludingNoChargeSpots\" : \"BookedAurExcludingNoChargeSpots\";\r\n }\r\n dataToExclude.sort((a, b) => {\r\n let aInventoryCodeWeekWiseKey = Object.keys(a.WeekWiseInventoryCodeData).filter(\r\n (key) => key.split(\"_\")[1] == weekNumber\r\n );\r\n let bInventoryCodeWeekWiseKey = Object.keys(b.WeekWiseInventoryCodeData).filter(\r\n (key) => key.split(\"_\")[1] == weekNumber\r\n );\r\n\r\n param1 = null;\r\n param2 = null;\r\n if (aInventoryCodeWeekWiseKey.length > 0) {\r\n param1 = a.WeekWiseInventoryCodeData[aInventoryCodeWeekWiseKey[0]][sortKey][1];\r\n }\r\n\r\n if (bInventoryCodeWeekWiseKey.length > 0) {\r\n param2 = b.WeekWiseInventoryCodeData[bInventoryCodeWeekWiseKey[0]][sortKey][1];\r\n }\r\n\r\n if (param1 !== param2) {\r\n return this.annaDateTimeFormatService.compare(param1, param2, isAsc);\r\n }\r\n\r\n return 0;\r\n });\r\n } else {\r\n dataToExclude.sort((a, b) => {\r\n param1 = a[sortBy];\r\n param2 = b[sortBy];\r\n\r\n if (param1 !== param2) {\r\n return this.annaDateTimeFormatService.compare(param1, param2, isAsc);\r\n }\r\n\r\n return 0;\r\n });\r\n }\r\n }\r\n }\r\n return { data: [...data, ...dataToExclude], type: isAsc };\r\n }\r\n\r\n callSort(data: any[]) {\r\n let sortBy = null;\r\n let isAsc: boolean;\r\n this.sortByAsc.forEach((value, key) => {\r\n if (value === true) {\r\n sortBy = key;\r\n isAsc = true;\r\n }\r\n });\r\n if (sortBy == null) {\r\n this.sortByDesc.forEach((value, key) => {\r\n if (value === true) {\r\n sortBy = key;\r\n isAsc = false;\r\n }\r\n });\r\n }\r\n if (sortBy != null) {\r\n return this.sort(isAsc, data, sortBy).data;\r\n } else {\r\n return data;\r\n }\r\n}\r\n\r\n\r\n}\r\n","// Angular import statements\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n// Third party import statements\r\nimport { Subject } from \"rxjs\";\r\n\r\n//sub-entries of anna lib import statement\r\nimport { AnnaSortService } from './anna-sort.service';\r\nimport { AnnaFilterService } from \"./anna-filter.service\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class AnnaGenericTableService {\r\n\r\n virtualScrollSubject = new Subject();\r\n constructor(private annaFilterService: AnnaFilterService, \r\n private annaSortService: AnnaSortService){}\r\n\r\n calculateNumberOfSkeletonColumnsForTable(tableHeaders: any[]): number[][] {\r\n let numberOfSkeletonColumns: any[][] = [];\r\n var headersInEachColumn = 0;\r\n tableHeaders.forEach((column) => {\r\n if (column.visible) {\r\n headersInEachColumn = 0;\r\n column.headerInfo.forEach(() => {\r\n headersInEachColumn++;\r\n })\r\n numberOfSkeletonColumns.push(Array(headersInEachColumn).fill(0));\r\n }\r\n })\r\n return numberOfSkeletonColumns;\r\n }\r\n\r\n initColumnFilterAndSorting() {\r\n this.annaFilterService.tooltipMap = new Map();\r\n this.annaFilterService.tooltipSelectedMap = new Map();\r\n this.annaFilterService.selectedRadio = null;\r\n this.annaFilterService.appliedFiltersArray = [];\r\n this.annaFilterService.initialValueMap = new Map();\r\n\r\n this.annaSortService.tooltip = null;\r\n this.annaSortService.sortByAsc = new Map();\r\n this.annaSortService.sortByDesc = new Map();\r\n this.annaSortService.keySorted = null;\r\n this.annaSortService.isAsc = false;\r\n }\r\n\r\n\r\n}\r\n","import { TooltipPosition } from \"@angular/material/tooltip\";\r\nimport { IWeekCalendar } from \"./anna-global-dropdown-config.model\";\r\n\r\nexport interface IGtTableHeader {\r\n headerInfo: IHeaderInfo[];\r\n visible: boolean;\r\n width: string;\r\n}\r\n\r\ninterface IHeaderInfo {\r\n name: string;\r\n objectKey: string;\r\n isDisabledKey?: string;\r\n typeOfHeaderData: DATATYPE;\r\n typeOfBodyData: DATATYPE;\r\n sort: boolean;\r\n filter: FILTERTYPE;\r\n filterObjectKeys?: string[];\r\n disableFilter?: boolean;\r\n disableSort?: boolean;\r\n tooltip?: ITooltip;\r\n sortObjectKey?: string;\r\n}\r\n\r\ntype DATATYPE = \"CHECKBOX\" | \"ICON\" | \"STRING\" | \"RADIO\" | \"\" | \"SVG_ICON\" | \"TEXT_ACTIONS\";\r\ntype FILTERTYPE = \"CHECKBOX\" | \"SLIDER\" | \"DATE\" | \"TIME\" | \"WEEK\" | \"\" ;\r\ntype TOOLTIPOSITION = \"left\" | \"right\";\r\n\r\nexport interface ITotalRowInfo {\r\n colspan: number;\r\n data: string;\r\n lowerData?: string;\r\n colName: string;\r\n class?: string;\r\n tooltipMessage?: string; \r\n}\r\n\r\nexport interface IGtHeaderConfig {\r\n iconColumn: boolean;\r\n checkboxColumn: boolean;\r\n lastColumnKeys: string[];\r\n}\r\n\r\nexport interface IGtGeneralConfig extends ISpotTableConfig{\r\n component: COMPONENTNAME;\r\n totalRow: boolean;\r\n isHeaderChecked?: boolean;\r\n disableHeaderCheckbox?: boolean;\r\n multiWeekPickerConfig?: IWeekCalendar;\r\n verticalScrollOffsetForFilterTooltip?: number;\r\n tableContainerName?: string;\r\n showAllColumnFilter: boolean;\r\n bufferSize: number;\r\n page: string;\r\n}\r\n\r\ntype COMPONENTNAME = \"SPOTDETAILS\" | \"EXCLUDEINVENTORYPOPUP\" | \"EXCLUDEINVENTORY\" | \"DRRLISTING\" | \"DRR\" | \"\" | \"RATING\" | \"ORDER_LISTING_INFLIGHT\" | \"ORDER_LISTING_COMPLETED\" | \"ORDER_LISTING_BLANK\" | \"LUR_VIOLATIONS\";;\r\ninterface ISpotTableConfig {\r\n isGrouped: boolean;\r\n}\r\n\r\n\r\nexport interface ITooltip{\r\n iconPosition: TooltipPosition;\r\n name: string;\r\n tooltipPosition: string;\r\n iconClass: string;\r\n tooltipClass: string;\r\n}\r\n\r\nexport interface IconData{\t\r\n data: any;\t\r\n iconClass: string;\t\r\n}\t\r\nexport interface TextAction{\t\r\n id: number;\t\r\n name: string;\t\r\n class: string;\t\r\n isDisabled: boolean;\t\r\n}","//Modules\r\nexport * from \"./anna-core-shared-lib.module\";\r\n\r\n//components \r\nexport * from \"./components/anna-no-data/anna-no-data.component\";\r\nexport * from \"./components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component\";\r\nexport * from \"./components/anna-live-icon-template/anna-live-icon-template.component\";\r\nexport * from \"./components/anna-notify-icon-template/anna-notify-icon-template.component\";\r\nexport * from \"./components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component\";\r\nexport * from \"./components/anna-rejected-icon-template/anna-rejected-icon-template.component\";\r\n\r\n//services\r\nexport * from \"./services/anna-date-time-format.service\";\r\nexport * from \"./services/anna-global-config.service\";\r\nexport * from \"./services/anna-filter.service\";\r\nexport * from \"./services/anna-sort.service\";\r\nexport * from \"./services/anna-generic-table.service\";\r\n\r\n//models\r\nexport * from \"./models/anna-generic-data-type.model\";\r\nexport * from \"./models/anna-global-dropdown-config.model\";\r\nexport * from \"./models/anna-non-editable-gt-models\";\r\nexport * from \"./models/anna-tooltip.model\";\r\n\r\n//constants\r\nexport * from \"./constants/shared.constant\";\r\n\r\n//pipes\r\nexport * from \"./pipes/annaFilterSearchedText.pipe\";\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.AnnaDateTimeFormatService","i1.AnnaFilterService","i2.AnnaSortService"],"mappings":"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"}