@annalib/anna-core 1.2.0 → 1.2.3

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 (244) 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/anna-core-shared-lib.module.mjs +59 -0
  4. package/esm2020/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.mjs +15 -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/index.mjs +2 -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 +28 -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 +26 -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 +596 -0
  21. package/esm2020/lib/anna-core-shared-lib/services/anna-generic-table.service.mjs +48 -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 +147 -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 +99 -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 +1546 -0
  31. package/esm2020/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.mjs +69 -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-sort.model.mjs +2 -0
  53. package/esm2020/src/lib/anna-core-shared-lib/models/anna-tooltip.model.mjs +28 -0
  54. package/esm2020/src/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.mjs +31 -0
  55. package/esm2020/src/lib/anna-core-shared-lib/public-api.mjs +26 -0
  56. package/esm2020/src/lib/anna-core-shared-lib/services/anna-date-time-format.service.mjs +180 -0
  57. package/esm2020/src/lib/anna-core-shared-lib/services/anna-filter.service.mjs +596 -0
  58. package/esm2020/src/lib/anna-core-shared-lib/services/anna-generic-table.service.mjs +48 -0
  59. package/esm2020/src/lib/anna-core-shared-lib/services/anna-global-config.service.mjs +133 -0
  60. package/esm2020/src/lib/anna-core-shared-lib/services/anna-sort.service.mjs +147 -0
  61. package/esm2020/src/lib/anna-dropdown-lib/anna-dropdown-lib.module.mjs +43 -0
  62. package/esm2020/src/lib/anna-dropdown-lib/annalib-anna-core-src-lib-anna-dropdown-lib.mjs +5 -0
  63. package/esm2020/src/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.mjs +99 -0
  64. package/esm2020/src/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.mjs +360 -0
  65. package/esm2020/src/lib/anna-dropdown-lib/public-api.mjs +6 -0
  66. package/esm2020/src/lib/anna-generic-table-lib/anna-generic-table-lib.module.mjs +86 -0
  67. package/esm2020/src/lib/anna-generic-table-lib/annalib-anna-core-src-lib-anna-generic-table-lib.mjs +5 -0
  68. package/esm2020/src/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.mjs +1546 -0
  69. package/esm2020/src/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.mjs +69 -0
  70. package/esm2020/src/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.mjs +357 -0
  71. 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
  72. package/esm2020/src/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/index.mjs +2 -0
  73. package/esm2020/src/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.mjs +178 -0
  74. package/esm2020/src/lib/anna-generic-table-lib/directives/anna-virtual-table/index.mjs +2 -0
  75. package/esm2020/src/lib/anna-generic-table-lib/public-api.mjs +10 -0
  76. package/fesm2015/annalib-anna-core-src-lib-anna-core-shared-lib.mjs +1314 -0
  77. package/fesm2015/annalib-anna-core-src-lib-anna-core-shared-lib.mjs.map +1 -0
  78. package/fesm2015/annalib-anna-core-src-lib-anna-dropdown-lib.mjs +493 -0
  79. package/fesm2015/annalib-anna-core-src-lib-anna-dropdown-lib.mjs.map +1 -0
  80. package/fesm2015/annalib-anna-core-src-lib-anna-generic-table-lib.mjs +2390 -0
  81. package/fesm2015/annalib-anna-core-src-lib-anna-generic-table-lib.mjs.map +1 -0
  82. package/fesm2015/annalib-anna-core.mjs +4171 -0
  83. package/fesm2015/annalib-anna-core.mjs.map +1 -0
  84. package/fesm2020/annalib-anna-core-src-lib-anna-core-shared-lib.mjs +1314 -0
  85. package/fesm2020/annalib-anna-core-src-lib-anna-core-shared-lib.mjs.map +1 -0
  86. package/fesm2020/annalib-anna-core-src-lib-anna-dropdown-lib.mjs +491 -0
  87. package/fesm2020/annalib-anna-core-src-lib-anna-dropdown-lib.mjs.map +1 -0
  88. package/fesm2020/annalib-anna-core-src-lib-anna-generic-table-lib.mjs +2389 -0
  89. package/fesm2020/annalib-anna-core-src-lib-anna-generic-table-lib.mjs.map +1 -0
  90. package/fesm2020/annalib-anna-core.mjs +4168 -0
  91. package/fesm2020/annalib-anna-core.mjs.map +1 -0
  92. package/lib/anna-core-shared-lib/anna-core-shared-lib.module.d.ts +14 -0
  93. package/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.d.ts +8 -0
  94. package/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.d.ts +8 -0
  95. package/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.d.ts +11 -0
  96. package/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.d.ts +8 -0
  97. package/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.d.ts +11 -0
  98. package/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.d.ts +8 -0
  99. package/lib/anna-core-shared-lib/constants/shared.constant.d.ts +32 -0
  100. package/lib/anna-core-shared-lib/index.d.ts +1 -0
  101. package/lib/anna-core-shared-lib/models/anna-generic-data-type.model.d.ts +8 -0
  102. 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
  103. 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
  104. package/lib/anna-core-shared-lib/models/anna-sort.model.d.ts +6 -0
  105. package/lib/anna-core-shared-lib/models/anna-tooltip.model.d.ts +23 -0
  106. package/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.d.ts +9 -0
  107. package/{src/lib/anna-core-shared-lib/public-api.ts → lib/anna-core-shared-lib/public-api.d.ts} +0 -11
  108. package/lib/anna-core-shared-lib/services/anna-date-time-format.service.d.ts +25 -0
  109. package/lib/anna-core-shared-lib/services/anna-filter.service.d.ts +82 -0
  110. package/lib/anna-core-shared-lib/services/anna-generic-table.service.d.ts +14 -0
  111. package/lib/anna-core-shared-lib/services/anna-global-config.service.d.ts +21 -0
  112. package/lib/anna-core-shared-lib/services/anna-sort.service.d.ts +16 -0
  113. package/lib/anna-dropdown-lib/anna-dropdown-lib.module.d.ts +11 -0
  114. package/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.d.ts +34 -0
  115. package/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.d.ts +67 -0
  116. package/lib/anna-dropdown-lib/index.d.ts +1 -0
  117. package/{src/lib/anna-dropdown-lib/public-api.ts → lib/anna-dropdown-lib/public-api.d.ts} +1 -4
  118. package/lib/anna-generic-table-lib/anna-generic-table-lib.module.d.ts +21 -0
  119. package/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.d.ts +207 -0
  120. package/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.d.ts +16 -0
  121. package/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.d.ts +141 -0
  122. 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
  123. 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
  124. package/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.d.ts +45 -0
  125. 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
  126. package/lib/anna-generic-table-lib/index.d.ts +1 -0
  127. package/{src/lib/anna-generic-table-lib/public-api.ts → lib/anna-generic-table-lib/public-api.d.ts} +0 -5
  128. package/package.json +61 -17
  129. package/{src/public-api.ts → public-api.d.ts} +0 -5
  130. package/src/lib/anna-core-shared-lib/anna-core-shared-lib.module.d.ts +14 -0
  131. package/src/lib/anna-core-shared-lib/annalib-anna-core-src-lib-anna-core-shared-lib.d.ts +5 -0
  132. package/src/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.d.ts +8 -0
  133. package/src/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.d.ts +8 -0
  134. package/src/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.d.ts +11 -0
  135. package/src/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.d.ts +8 -0
  136. 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
  137. package/src/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.d.ts +8 -0
  138. package/src/lib/anna-core-shared-lib/constants/shared.constant.d.ts +32 -0
  139. package/src/lib/anna-core-shared-lib/models/anna-generic-data-type.model.d.ts +8 -0
  140. package/src/lib/anna-core-shared-lib/models/anna-global-dropdown-config.model.d.ts +95 -0
  141. package/src/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.d.ts +70 -0
  142. package/src/lib/anna-core-shared-lib/models/anna-sort.model.d.ts +6 -0
  143. package/src/lib/anna-core-shared-lib/models/anna-tooltip.model.d.ts +23 -0
  144. package/src/lib/anna-core-shared-lib/package.json +10 -0
  145. package/src/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.d.ts +9 -0
  146. package/src/lib/anna-core-shared-lib/public-api.d.ts +19 -0
  147. package/src/lib/anna-core-shared-lib/services/anna-date-time-format.service.d.ts +25 -0
  148. package/src/lib/anna-core-shared-lib/services/anna-filter.service.d.ts +82 -0
  149. package/src/lib/anna-core-shared-lib/services/anna-generic-table.service.d.ts +14 -0
  150. package/src/lib/anna-core-shared-lib/services/anna-global-config.service.d.ts +21 -0
  151. package/src/lib/anna-core-shared-lib/services/anna-sort.service.d.ts +16 -0
  152. package/src/lib/anna-dropdown-lib/anna-dropdown-lib.module.d.ts +11 -0
  153. package/src/lib/anna-dropdown-lib/annalib-anna-core-src-lib-anna-dropdown-lib.d.ts +5 -0
  154. package/src/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.d.ts +34 -0
  155. package/src/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.d.ts +67 -0
  156. package/src/lib/anna-dropdown-lib/package.json +10 -0
  157. package/src/lib/anna-dropdown-lib/public-api.d.ts +3 -0
  158. package/src/lib/anna-generic-table-lib/anna-generic-table-lib.module.d.ts +21 -0
  159. package/src/lib/anna-generic-table-lib/annalib-anna-core-src-lib-anna-generic-table-lib.d.ts +5 -0
  160. package/src/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.d.ts +207 -0
  161. package/src/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.d.ts +16 -0
  162. package/src/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.d.ts +141 -0
  163. 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
  164. package/src/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/index.d.ts +1 -0
  165. package/src/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.d.ts +45 -0
  166. package/src/lib/anna-generic-table-lib/directives/anna-virtual-table/index.d.ts +1 -0
  167. package/src/lib/anna-generic-table-lib/package.json +10 -0
  168. package/src/lib/anna-generic-table-lib/public-api.d.ts +6 -0
  169. package/.browserslistrc +0 -16
  170. package/karma.conf.js +0 -44
  171. package/ng-package.json +0 -10
  172. package/src/lib/anna-core-shared-lib/anna-core-shared-lib.module.ts +0 -42
  173. package/src/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.html +0 -22
  174. package/src/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.scss +0 -0
  175. package/src/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.spec.ts +0 -25
  176. package/src/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.ts +0 -15
  177. package/src/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.html +0 -20
  178. package/src/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.scss +0 -0
  179. package/src/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.spec.ts +0 -25
  180. package/src/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.ts +0 -15
  181. package/src/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.html +0 -3
  182. package/src/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.scss +0 -16
  183. package/src/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.spec.ts +0 -24
  184. package/src/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.ts +0 -20
  185. package/src/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.html +0 -23
  186. package/src/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.scss +0 -0
  187. package/src/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.spec.ts +0 -25
  188. package/src/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.ts +0 -15
  189. package/src/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.html +0 -15
  190. package/src/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.scss +0 -0
  191. 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
  192. package/src/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.ts +0 -19
  193. package/src/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.html +0 -14
  194. package/src/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.scss +0 -0
  195. package/src/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.spec.ts +0 -25
  196. package/src/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.ts +0 -15
  197. package/src/lib/anna-core-shared-lib/constants/shared.constant.ts +0 -34
  198. package/src/lib/anna-core-shared-lib/index.ts +0 -1
  199. package/src/lib/anna-core-shared-lib/models/anna-generic-data-type.model.ts +0 -10
  200. package/src/lib/anna-core-shared-lib/models/anna-sort.model.ts +0 -7
  201. package/src/lib/anna-core-shared-lib/models/anna-tooltip.model.ts +0 -40
  202. package/src/lib/anna-core-shared-lib/ng-package.json +0 -5
  203. package/src/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.ts +0 -26
  204. package/src/lib/anna-core-shared-lib/scss/_colors.scss +0 -107
  205. package/src/lib/anna-core-shared-lib/scss/_filters.scss +0 -577
  206. package/src/lib/anna-core-shared-lib/scss/_fonts.scss +0 -86
  207. package/src/lib/anna-core-shared-lib/scss/_sort.scss +0 -30
  208. package/src/lib/anna-core-shared-lib/services/anna-date-time-format.service.ts +0 -197
  209. package/src/lib/anna-core-shared-lib/services/anna-filter.service.ts +0 -689
  210. package/src/lib/anna-core-shared-lib/services/anna-generic-table.service.ts +0 -44
  211. package/src/lib/anna-core-shared-lib/services/anna-global-config.service.ts +0 -170
  212. package/src/lib/anna-core-shared-lib/services/anna-sort.service.ts +0 -179
  213. package/src/lib/anna-dropdown-lib/anna-dropdown-lib.module.ts +0 -31
  214. package/src/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.html +0 -46
  215. package/src/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.scss +0 -153
  216. package/src/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.spec.ts +0 -24
  217. package/src/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.ts +0 -103
  218. package/src/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.html +0 -129
  219. package/src/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.scss +0 -275
  220. package/src/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.spec.ts +0 -24
  221. package/src/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.ts +0 -410
  222. package/src/lib/anna-dropdown-lib/index.ts +0 -1
  223. package/src/lib/anna-dropdown-lib/ng-package.json +0 -5
  224. package/src/lib/anna-generic-table-lib/anna-generic-table-lib.module.ts +0 -56
  225. package/src/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.html +0 -855
  226. package/src/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.scss +0 -488
  227. package/src/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.spec.ts +0 -25
  228. package/src/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.ts +0 -1748
  229. package/src/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.html +0 -10
  230. package/src/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.scss +0 -1
  231. package/src/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.spec.ts +0 -24
  232. package/src/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.ts +0 -74
  233. package/src/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.html +0 -13
  234. package/src/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.scss +0 -88
  235. package/src/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.spec.ts +0 -25
  236. package/src/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.ts +0 -460
  237. 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
  238. package/src/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.ts +0 -204
  239. package/src/lib/anna-generic-table-lib/index.ts +0 -1
  240. package/src/lib/anna-generic-table-lib/ng-package.json +0 -5
  241. package/src/test.ts +0 -27
  242. package/tsconfig.lib.json +0 -16
  243. package/tsconfig.lib.prod.json +0 -10
  244. package/tsconfig.spec.json +0 -17
@@ -1,1748 +0,0 @@
1
-
2
- // Angular import statements
3
- import { Component, OnInit, Input, ViewChildren, QueryList, Output, EventEmitter, SimpleChanges, OnChanges, ChangeDetectorRef } from '@angular/core';
4
-
5
- // Third party import statements
6
- import moment from "moment";
7
- import { NgbDate } from '@ng-bootstrap/ng-bootstrap';
8
- import { Options } from '@angular-slider/ngx-slider';
9
- import { cloneDeep, isEqual, map, uniq, sortBy } from "lodash-es";
10
-
11
- // User defined import statements
12
- import { AnnaSortComponent } from '../anna-sort/anna-sort.component';
13
-
14
- //sub-entries of anna lib import statement
15
- import { SellerGroupHierarchy,IWeekCalendar,TooltipModel,AnnaSortService,AnnaDateTimeFormatService, NgbDateType, AnnaFilterService, IGtGeneralConfig, IGtTableHeader, ITotalRowInfo, AnnaGenericTableService, SortType, IHeaderInfo, radioButtonModel } from "@annalib/anna-core/src/lib/anna-core-shared-lib";
16
-
17
-
18
- @Component({
19
- selector: 'anna-core-non-editable-generic-table-lib',
20
- templateUrl: './anna-non-editable-generic-table.component.html',
21
- styleUrls: ['./anna-non-editable-generic-table.component.scss'],
22
- })
23
- export class AnnaNonEditableGenericTableComponent implements OnInit, OnChanges {
24
-
25
- @Input() showSkeletonLoading: boolean;
26
- @Input() tableHeaders: IGtTableHeader[];
27
- @Input() tableData: any[];
28
- @Input() clonedTableData: any[];
29
- @Input() numberOfSkeletonRows: number[]; //this is not being used.
30
- @Input() numberOfSkeletonColumns: number[][];
31
- @Input() gtGeneralConfig: IGtGeneralConfig;
32
- @Input() totalRowInfo?: ITotalRowInfo[];
33
- @Input() gtDimension: { rowHeight: number, tableHeight: string, headerHeight: number };
34
- @Input() tableClass: string;
35
- @Input() maximumRowsWhichCanBeRenderedWithoutScroll: number = 5;
36
-
37
- @Output() toggleCheckbox = new EventEmitter();
38
- @Output() toggleRowCheckbox = new EventEmitter();
39
- @Output() toggleHeaderCheckbox = new EventEmitter();
40
- @Output() undoIconClicked = new EventEmitter();
41
- @Output() filterAppliedToTable = new EventEmitter();
42
- @Output() sortingAppliedToTable = new EventEmitter();
43
- @Output() rowClicked = new EventEmitter();
44
- @Output() radioButtonSelected = new EventEmitter();
45
- @Output() columnFilterOpened = new EventEmitter();
46
- @Output() columnFilterClosed = new EventEmitter();
47
- @Output() gtIconClicked = new EventEmitter();
48
- @Output() gtSVGIconClicked = new EventEmitter();
49
- @Output() gtTextActionClicked = new EventEmitter();
50
- @Output() gtViewDetailClicked = new EventEmitter();
51
-
52
-
53
- tableDataWrapper: any[];
54
- rowChecked: boolean;
55
- isAllRowsChecked: boolean;
56
- noDataWidth: string = "55%";
57
- markedForCreditStatus: string;
58
- markedForMGStatus: string;
59
-
60
- //Sort and Filter
61
- toolTipdata: any;
62
- tempTooltipData: any;
63
- tooltipRadioTextMap: Map<any, any>;
64
- radioButtons: any[];
65
- tooltip: any;
66
- clonedTooltipData: any;
67
- clonedTooltipSelectedMapData: any;
68
- searchBar: string;
69
- disableClearAllBtn: boolean = true;
70
- disableColumnClearAllBtn: boolean = true;
71
- allSelected = 0;
72
- showAll: boolean;
73
- disableCheckboxApply: boolean;
74
- disableSliderApplyButton: boolean;
75
- disableTimeApplyButton: boolean;
76
-
77
- // Slider Filter
78
- sliderMinValue: number;
79
- sliderMaxValue: number;
80
- options: Options = {
81
- floor: 0,
82
- ceil: 0,
83
- step: 0.1
84
- };
85
- sliderValue: { min: number, max: number };
86
- sliderFilterTextBoxStep: string;
87
-
88
- // Calendar Filter
89
- calendarMinEnabledDate: NgbDateType;
90
- calendarMaxEnabledDate: NgbDateType;
91
- selectedMinDate: NgbDateType;
92
- selectedMaxDate: NgbDateType;
93
-
94
- //Week Filter
95
- multiWeekPickerConfig: IWeekCalendar;
96
-
97
- //Time Filter
98
- selectedFromTime: any[];
99
- selectedToTime: any[];
100
- clonedSelectedFromTime: any;
101
- clonedSelectedToTime: any;
102
- disableTimeFilterApplyBtn: boolean;
103
- tableColumns: string[] = [];
104
- totalRowColumns: string[] = null;
105
- showMultiTimeCheckbox: boolean;
106
- showZeroTimeCheckbox: boolean;
107
- showEnterTimeCheckbox: boolean;
108
- multiTimeCheckboxChecked: boolean;
109
- zeroTimeCheckboxChecked: boolean;
110
- enterTimeCheckboxChecked: boolean;
111
- bindValueFuncCalled: boolean;
112
-
113
- hierarchyTooltip: { open: () => void; close: () => void; };
114
- sellerGroupHierarchy: SellerGroupHierarchy[];
115
- showCheckboxFilterRadioButtons: boolean;
116
-
117
- @ViewChildren(AnnaSortComponent) sortComponent: QueryList<AnnaSortComponent>;
118
- isScrolledLeft: boolean = false;
119
- rowBorderWidth: number = 2;
120
- PfpIconActiveColor = "#9B1B93"
121
- PfpIconDisableColor = "rgba(189,189,189,0.5)";
122
-
123
- showSortComponent: boolean = false;
124
- showFilterComponent: boolean = false;
125
- tempSortOrder: SortType = null;
126
-
127
- tooltipOptions: TooltipModel[];
128
- clonedTooltipOptions: TooltipModel[];
129
- disableSelectAll: boolean;
130
- disableClearAll: boolean;
131
- searchItem: string;
132
-
133
- disableCalendarApplyBtn: boolean;
134
- calendarSelection: any = {fromDate: null , toDate: null};
135
-
136
- showSliderMinValueError: boolean;
137
- showSliderMaxValueError: boolean;
138
- isMinTextBoxEmpty: boolean;
139
- isMaxTextBoxEmpty: boolean;
140
- selectedLabel: string;
141
-
142
- startTimeHourErr: boolean;
143
- startTimeMinErr: boolean;
144
- endTimeHourErr: boolean;
145
- endTimeMinErr: boolean;
146
-
147
- sameTooltipClicked: boolean;
148
-
149
- constructor(
150
- private cdRef: ChangeDetectorRef,
151
- private annaSortService: AnnaSortService,
152
- public annaDateTimeFormatService: AnnaDateTimeFormatService,
153
- public annaFilterService: AnnaFilterService,
154
- private annaGenericTableService: AnnaGenericTableService
155
- ) {
156
- this.setTooltipRadioNames();
157
- }
158
-
159
- ngOnInit() {
160
- // this.tableData = this.numberOfSkeletonColumns;
161
- }
162
-
163
- ngOnChanges(changes: SimpleChanges) {
164
- // console.log("generic");
165
- // console.log(this.tableHeaders);
166
- // console.log(JSON.stringify(this.tableData));
167
- if (this.showSkeletonLoading) {
168
- this.tableData = this.numberOfSkeletonColumns;
169
- console.log("initalValueMap set");
170
- this.annaFilterService.initialValueMap = new Map();
171
- }
172
- else {
173
- console.log("ng on change else condition");
174
- // this.setInitialValueMapData();
175
- this.disableEnableEachColumnTooltipIcon();
176
- this.tableColumns = this.tableHeaders.filter(x => x.visible).map(x => x.headerInfo[0].objectKey);
177
- this.showSkeletonLoading = false;
178
- }
179
-
180
- //setting table column here as well because while showing skeleton loader, we should show table headers.
181
- if (changes['tableHeaders'] && changes['tableHeaders'].currentValue) {
182
- this.tableColumns = this.tableHeaders.filter(x => x.visible).map(x => x.headerInfo[0].objectKey);
183
- this.annaSortService.columnSortState = new Map();
184
- this.setColumnSortStateMap();
185
- }
186
-
187
- if (changes['totalRowInfo'] && changes['totalRowInfo'].currentValue) {
188
- this.totalRowColumns = this.totalRowInfo.map(x => x.colName);
189
- }
190
- this.cdRef.detectChanges();
191
- }
192
-
193
-
194
- trackByFn(index: number) {
195
- return index;
196
- }
197
-
198
- setTooltipRadioNames() {
199
- this.tooltipRadioTextMap = new Map();
200
- this.tooltipRadioTextMap.set("StartTimeForFilter", "Start Time");
201
- this.tooltipRadioTextMap.set("EndTimeForFilter", "End Time");
202
- this.tooltipRadioTextMap.set("start_time_for_filter", "Start Time");
203
- this.tooltipRadioTextMap.set("end_time_for_filter", "End Time");
204
- this.tooltipRadioTextMap.set("primaryAEName", "Primary AE");
205
- this.tooltipRadioTextMap.set("region", "Region");
206
- this.tooltipRadioTextMap.set("agencyName", "Agency");
207
- this.tooltipRadioTextMap.set("location", "Location");
208
- this.tooltipRadioTextMap.set("advertiserName", "Advertiser");
209
- this.tooltipRadioTextMap.set("productCode", "Product Code");
210
- this.tooltipRadioTextMap.set("flightStartDate", "Start Date");
211
- this.tooltipRadioTextMap.set("flightEndDate", "End Date");
212
- this.tooltipRadioTextMap.set("orderIdAndRevNumber", "STN Order#-Rev#");
213
- this.tooltipRadioTextMap.set("alternateOrderId", "Buyer Order#");
214
- this.tooltipRadioTextMap.set("grp", "GRP");
215
- this.tooltipRadioTextMap.set("cpp", "CPP");
216
- this.tooltipRadioTextMap.set("imps", "IMPS");
217
- this.tooltipRadioTextMap.set("cpm", "CPM");
218
- this.tooltipRadioTextMap.set("offeredMGs", "Offered MG");
219
- this.tooltipRadioTextMap.set("outstandingPE", "O/S PE");
220
- this.tooltipRadioTextMap.set("offeredADUs", "Offered ADUs");
221
- this.tooltipRadioTextMap.set("udDeficitValue", "Pending Audience Delta");
222
- this.tooltipRadioTextMap.set("startEndTimeMulti", "Time");
223
- this.tooltipRadioTextMap.set("bookedValue", "Booked");
224
- this.tooltipRadioTextMap.set("bookedSpots", "Spots");
225
- this.tooltipRadioTextMap.set("userChanges", "Other changes");
226
- this.tooltipRadioTextMap.set("inventoryCode", "Inventory Code");
227
- this.tooltipRadioTextMap.set("program", "Program");
228
- this.tooltipRadioTextMap.set("agency", "Agency");
229
- this.tooltipRadioTextMap.set("advertiser", "Advertiser");
230
- this.tooltipRadioTextMap.set("startDate", "Start Date");
231
- this.tooltipRadioTextMap.set("endDate", "End Date");
232
- this.tooltipRadioTextMap.set("rcvPreempt", "Madegood PE");
233
- this.tooltipRadioTextMap.set("osPreempt", "O/S PE");
234
- this.tooltipRadioTextMap.set("rcvUnderDly", "Recovered UD");
235
- this.tooltipRadioTextMap.set("osUnderDly", "O/s Under Dly");
236
- this.tooltipRadioTextMap.set("primaryAe", "Primary AE");
237
- this.tooltipRadioTextMap.set("region", "Region");
238
- this.tooltipRadioTextMap.set("revCode1", "Rev code 1");
239
- this.tooltipRadioTextMap.set("orderNoRevNo", "STN Order#-Rev#");
240
- this.tooltipRadioTextMap.set("revCode2", "Rev code 2");
241
- this.tooltipRadioTextMap.set("revCode3", "Rev code 3");
242
- this.tooltipRadioTextMap.set("booked", "Booked");
243
- this.tooltipRadioTextMap.set("spots", "Spots");
244
- this.tooltipRadioTextMap.set("postedAudPercent", "Posted %");
245
- this.tooltipRadioTextMap.set("revision", "Revision");
246
- this.tooltipRadioTextMap.set("productCode", "Product Code");
247
- this.tooltipRadioTextMap.set("buyerOrderId", "ALT Order#");
248
- this.tooltipRadioTextMap.set("demo","Demo");
249
- this.tooltipRadioTextMap.set("postedAdu","Posted ADUs");
250
- this.tooltipRadioTextMap.set("scheduledAdu","Scheduled ADUs");
251
- this.tooltipRadioTextMap.set("audienceDeficit","Audience Deficit");
252
- this.tooltipRadioTextMap.set("postedAudPercent","Posted Audience %");
253
- this.tooltipRadioTextMap.set("potentialUnitsValue","POT Units");
254
- this.tooltipRadioTextMap.set("bookedUnitsValue","Booked Units");
255
- this.tooltipRadioTextMap.set("bookedAmountWithZeroRatingValue","Total $ Booked");
256
- this.tooltipRadioTextMap.set("bookedAmountPercentageWithZeroRatingValue","% of $ Booked");
257
- this.tooltipRadioTextMap.set("bookedAmountWithoutZeroRatingValue","$Booked With Imps(’000)");
258
- this.tooltipRadioTextMap.set("bookedAmountPercentageWithoutZeroRatingValue", "% OF $ Booked");
259
- }
260
-
261
- generateTableDataWrapper() {
262
- this.showSkeletonLoading = true;
263
- this.tableDataWrapper = [];
264
- let rowObject: any;
265
- let columnName: string;
266
- let columnObject: { [x: string]: any; };
267
- let columnObjectKey;
268
- let keysUsedForTableDisplay: string[];
269
- let keysUsedForColumn: string[];
270
- let additionalInfoObject: { [x: string]: any; };
271
- let additionalKeys;
272
- this.tableData.forEach((obj: { [x: string]: any; }) => {
273
- rowObject = {};
274
- keysUsedForTableDisplay = [];
275
- for (var colNum in this.tableHeaders) {
276
- columnObject = {};
277
- if (!this.tableHeaders[colNum].visible) {
278
- continue;
279
- }
280
- columnName = "";
281
- keysUsedForColumn = [];
282
- this.tableHeaders[colNum].headerInfo.forEach((header) => {
283
- if (header.typeOfBodyData === "STRING") {
284
- columnObjectKey = header.objectKey;
285
- columnObject[columnObjectKey] = obj[columnObjectKey];
286
- keysUsedForTableDisplay.push(columnObjectKey);
287
- keysUsedForColumn.push(columnObjectKey);
288
- }
289
- else if (header.typeOfBodyData === "ICON") {
290
- columnObjectKey = header.typeOfBodyData;
291
- columnObject[columnObjectKey] = obj[header.objectKey];
292
- keysUsedForColumn.push(header.objectKey);
293
- }
294
- else if (header.typeOfBodyData === "CHECKBOX") {
295
- columnObjectKey = header.typeOfBodyData;
296
- columnObject[columnObjectKey] = obj[header.objectKey];
297
- keysUsedForColumn.push(header.objectKey);
298
- }
299
- })
300
- for (var i = 0; i < keysUsedForColumn.length; i++) {
301
- columnName += keysUsedForColumn[i];
302
- if (i !== keysUsedForColumn.length - 1) {
303
- columnName += ',';
304
- }
305
- }
306
- rowObject[columnName] = columnObject;
307
- }
308
- additionalInfoObject = {};
309
- additionalKeys = Object.keys(obj).filter(key => !keysUsedForTableDisplay.includes(key));
310
- additionalKeys.forEach(key => {
311
- additionalInfoObject[key] = obj[key];
312
- })
313
- rowObject.AdditionalInfo = additionalInfoObject;
314
- this.tableDataWrapper.push(rowObject);
315
- })
316
- this.tableData = this.tableDataWrapper;
317
- this.showSkeletonLoading = false;
318
- // console.log(JSON.stringify(this.tableDataWrapper));
319
- }
320
-
321
-
322
- selectOrUnselectCheckbox(rowData: any, columnKeys: any, isCheckboxSelected: any) {
323
- this.toggleCheckbox.emit({ rowData, columnKeys, isCheckboxSelected });
324
- }
325
-
326
- selectUnselectAllRows() {
327
- this.toggleHeaderCheckbox.emit();
328
- }
329
-
330
- selectUnselectRow(rowData: any) {
331
- this.toggleRowCheckbox.emit(rowData);
332
- }
333
-
334
- undoCreditedSpot(data: any) {
335
- this.undoIconClicked.emit({ data, mgOrCredit: "Credit" });
336
- }
337
-
338
- undoMgSpot(data: any) {
339
- this.undoIconClicked.emit({ data, mgOrCredit: "MakeGood" });
340
- }
341
-
342
- //Sort and Filter Logic begins!
343
- closeTooltip() {
344
- if (this.tooltip && this.tooltip.isOpen()) {
345
- this.tooltip.close();
346
- }
347
- this.tooltip = null;
348
- this.disableCheckboxApply = false;
349
- if (!this.bindValueFuncCalled) {
350
- this.columnFilterClosed.emit();
351
- }
352
- }
353
-
354
- // closeSortTooltip() {
355
- // if (this.annaSortService.tooltip && this.annaSortService.tooltip.isOpen()) {
356
- // this.annaSortService.tooltip.close();
357
- // }
358
- // }
359
-
360
- // initFilters() {
361
- // this.annaFilterService.tooltipMap = new Map();
362
- // this.annaFilterService.tooltipSelectedMap = new Map();
363
- // // this.annaSortService.sortByAsc = new Map();
364
- // // this.annaSortService.sortByDesc = new Map();
365
- // this.annaFilterService.selectedRadio = null;
366
- // this.annaFilterService.appliedFiltersArray = [];
367
- // //closing the sort tooltip if we route on the same route or if we click dropdown filters
368
- // // this.closeSortTooltip();
369
- // // this.annaSortService.tooltip = null;
370
- // this.disableClearAllBtn = true;
371
- // this.disableTimeFilterApplyBtn = false;
372
- // }
373
-
374
- // setInitialValueMapData() {
375
- // this.annaFilterService.initialValueMap = new Map();
376
- // this.tableHeaders.forEach((column) => {
377
- // column.headerInfo.forEach((header) => {
378
- // if (header.filter === "SLIDER") {
379
- // header.filterObjectKeys.forEach((key) => {
380
- // let min = this.annaFilterService.returnMaxAndMinValue(this.clonedTableData, key, true);
381
- // let max = this.annaFilterService.returnMaxAndMinValue(this.clonedTableData, key, false);
382
- // let obj = { min, max };
383
-
384
- // this.annaFilterService.initialValueMap.set(key, obj);
385
- // })
386
- // }
387
- // else if (header.filter === "DATE") {
388
- // header.filterObjectKeys.forEach((key) => {
389
- // if(key == "period"){
390
- // const minMaxStartDate = this.annaFilterService.returnMinAndMaxDate(this.clonedTableData, "startDate");
391
- // const minMaxEndDate = this.annaFilterService.returnMinAndMaxDate(this.clonedTableData, "endDate");
392
- // let dateObj = { minSelectedDate: minMaxStartDate[0], maxSelectedDate: minMaxEndDate[1] };
393
- // this.annaFilterService.initialValueMap.set(key, dateObj);
394
- // }
395
- // else{
396
- // const minMaxDate = this.annaFilterService.returnMinAndMaxDate(this.clonedTableData, key);
397
- // let obj = { minSelectedDate: minMaxDate[0], maxSelectedDate: minMaxDate[1] };
398
- // this.annaFilterService.initialValueMap.set(key, obj);
399
- // }
400
- // })
401
- // }
402
- // else if (header.filter === "TIME") {
403
- // header.filterObjectKeys.forEach((key) => {
404
- // let data = this.clonedTableData.filter((obj: { [x: string]: string; }) => !["", "-", null, "0", "<multi>"].includes(obj[key]));
405
- // let timeArr = map(data, key);
406
- // timeArr.sort((a, b) => {
407
- // return this.annaDateTimeFormatService.sortByTimeAscending(a, b);
408
- // });
409
- // let obj = {
410
- // fromTime: timeArr[0],
411
- // toTime: timeArr[timeArr.length - 1],
412
- // };
413
- // if (this.gtGeneralConfig.component === "SPOTDETAILS" || this.gtGeneralConfig.component === "EXCLUDEINVENTORYPOPUP") {
414
- // let includeMulti = this.clonedTableData.findIndex((obj: { [x: string]: string; }) => obj[key] == "<multi>") != -1;
415
- // let includeZero = this.clonedTableData.findIndex((obj: { [x: string]: string; }) => obj[key] == "0") != -1;
416
- // let includeTimeRange = this.clonedTableData.findIndex((obj: { [x: string]: string; }) => obj[key] != "0" && obj[key] != "<multi>") != -1;
417
- // let obj = {
418
- // fromTime: timeArr[0],
419
- // toTime: timeArr[timeArr.length - 1],
420
- // includeMulti: includeMulti,
421
- // includeZero: includeZero,
422
- // includeTimeRange: includeTimeRange
423
- // };
424
- // this.annaFilterService.initialValueMap.set(key, obj);
425
- // }
426
- // else if (this.gtGeneralConfig.component === "RATING") {
427
- // let includeMulti = this.clonedTableData.findIndex((obj: any) => obj[key][0] == "<multi>") != -1;
428
- // let includeZero = this.clonedTableData.findIndex((obj: { [x: string]: string[]; }) => obj[key][0] == "0") != -1;
429
- // let includeTimeRange = this.clonedTableData.findIndex((obj: { [x: string]: string[]; }) => obj[key][0] != "0" && obj[key][0] != "<multi>") != -1;
430
-
431
- // let startTimeArr = map(this.clonedTableData, "startTime");
432
- // let endTimeArr = map(this.clonedTableData, "endTime");
433
-
434
- // startTimeArr.sort((a, b) => {
435
- // return this.annaDateTimeFormatService.sortByTimeAscending(a, b);
436
- // });
437
-
438
- // endTimeArr.sort((a, b) => {
439
- // return this.annaDateTimeFormatService.sortByTimeDescending(a, b);
440
- // });
441
-
442
- // let obj = {
443
- // fromTime: startTimeArr[0],
444
- // toTime: endTimeArr[0],
445
- // includeMulti: includeMulti,
446
- // includeZero: includeZero,
447
- // includeTimeRange: includeTimeRange
448
- // };
449
- // this.annaFilterService.initialValueMap.set(key, obj);
450
-
451
- // }
452
- // else {
453
- // this.annaFilterService.initialValueMap.set(key, obj);
454
- // }
455
- // })
456
- // }
457
- // })
458
- // })
459
- // }
460
-
461
- isTooltipActive(header: any[]) {
462
- return this.annaFilterService.isTooltipActive(header,this.annaSortService.columnSortState);
463
- }
464
-
465
- bindTheValueToToolTip(tooltip: any, header: IHeaderInfo) {
466
-
467
- this.bindValueFuncCalled = true;
468
- let containerToScroll;
469
- if (this.gtGeneralConfig.component === "SPOTDETAILS" || this.gtGeneralConfig.component === "DRRLISTING") {
470
- containerToScroll = document.getElementsByClassName("scrollable-container")[0];
471
- var mediaQuery = window.matchMedia("(max-width: 1366px)");
472
- if (mediaQuery.matches) {
473
- containerToScroll.scroll(0, this.gtGeneralConfig.verticalScrollOffsetForFilterTooltip);
474
- }
475
- }
476
-
477
- // if same tooltip opened close it
478
- //need to change this
479
- //THe tooltip should not close
480
- // if (tooltip == this.tooltip) {
481
- // this.bindValueFuncCalled = false;
482
- // this.closeTooltip();
483
- // }
484
- // else {
485
- if(tooltip == this.tooltip){
486
- console.log("inside if");
487
- this.bindValueFuncCalled = false;
488
- this.sameTooltipClicked = true;
489
- }
490
-
491
- this.searchItem = this.sameTooltipClicked ? this.searchItem : "";
492
- let enabledHeaders: any[] = [];
493
- header.filterSortObjectKeys.forEach((item: string | number) => {
494
- if(item == "period"){
495
- let uniqStartDate = uniq(this.tableData.map((u: { [x: string]: any; }) => u["startDate"]));
496
- let uniqEndDate = uniq(this.tableData.map((u:{ [x: string]: any; }) => u["endDate"]));
497
- if(uniqStartDate.length > 1 || uniqEndDate.length > 1 || this.isTooltipActive([item])){
498
- enabledHeaders.push(item);
499
- }
500
- }
501
- else if(uniq(this.tableData.map((u:{ [x: string]: any; }) => u[item])).length > 1 || this.isTooltipActive([item])){
502
- enabledHeaders.push(item);
503
- }
504
- });
505
- this.openTooltip(tooltip, enabledHeaders,header);
506
- if (window.innerWidth < 1500 && window.innerHeight < 768 && !this.annaFilterService.sliderSet.has(header.filterSortObjectKeys[0])) {
507
- this.columnFilterOpened.emit();
508
- }
509
-
510
- this.showCheckboxFilterRadioButtons = header.filterSortObjectKeys.length > 1;
511
- let radioButtonData = this.sameTooltipClicked ? this.radioButtons.filter(item => item.key == this.annaFilterService.selectedRadio)[0] : this.radioButtons[0];
512
- this.populateTooltipDataBasedOnSelectedRadio(radioButtonData);
513
- this.bindValueFuncCalled = false;
514
- // }
515
- }
516
-
517
- openTooltip(tooltip: any,header: any, columnHeader: IHeaderInfo) {
518
- this.closeTooltip();
519
- this.tooltip = tooltip;
520
- this.tooltip.open();
521
- //convert key into the header
522
- this.radioButtons = header.map((key: string,index: number) => {
523
- let value = this.tooltipRadioTextMap.has(key)
524
- ? this.tooltipRadioTextMap.get(key)
525
- : key; //change to display name
526
- return new radioButtonModel(key, value, columnHeader.isSortRequired[index], columnHeader.isFilterRequired[index]);
527
- });
528
- }
529
-
530
- clearColumnFilter() {
531
- this.annaFilterService.clearColumnFilter();
532
- this.closeTooltip();
533
- this.tableData = cloneDeep(this.annaFilterService.filterData(this.clonedTableData, ""));
534
- this.annaSortService.noSortingAppliedData = this.tableData;
535
- this.checkIfSortingIsApplied();
536
- this.filterAppliedToTable.emit(this.tableData);
537
- this.disableEnableEachColumnTooltipIcon();
538
- }
539
-
540
- populateTooltipDataBasedOnSelectedRadio(radioButtonData: radioButtonModel) {
541
-
542
- let header = radioButtonData.key;
543
- this.selectedLabel = radioButtonData.label;
544
- this.showSortComponent = false;
545
- this.showFilterComponent = false;
546
- this.searchItem = this.sameTooltipClicked ? this.searchItem : null;
547
-
548
- // setTimeout(() => {
549
- this.showSortComponent = radioButtonData.isSortRequired;
550
- this.showFilterComponent = radioButtonData.isFilterRequired;
551
- // }, 0);
552
- this.tempSortOrder = this.sameTooltipClicked ? this.tempSortOrder : null;
553
-
554
- if(this.sameTooltipClicked && this.tempSortOrder){
555
- setTimeout(() => {
556
- this.annaSortService.updateSortTypeSubject.next(this.tempSortOrder);
557
- }, 0);
558
- }
559
-
560
- if (this.toolTipdata) {
561
- this.revert();
562
- }
563
-
564
- this.annaFilterService.selectedRadio = header;
565
- let selectedFilterSet = new Set(this.annaFilterService.appliedFiltersArray);
566
- let isSortPresent = (this.annaSortService.columnSortState.size > 0 && this.annaSortService.columnSortState.get(this.annaFilterService.selectedRadio) != "DEFAULT");
567
- this.disableColumnClearAllBtn = selectedFilterSet.has(this.annaFilterService.selectedRadio) || isSortPresent ? false : true;
568
-
569
- if(radioButtonData.isFilterRequired && !this.sameTooltipClicked){
570
- this.disableSliderApplyButton = false;
571
- this.disableCheckboxApply = false;
572
-
573
- if (this.annaFilterService.calendarSet.has(header)) {
574
- this.getCalendarData();
575
- } else if (this.annaFilterService.sliderSet.has(header)) {
576
- this.getSliderData(header);
577
- } else if (this.annaFilterService.timeSet.has(header)) {
578
- this.getTimeFilterData(header);
579
- } else {
580
- this.getCheckboxData(header);
581
- }
582
- }
583
-
584
- this.sameTooltipClicked = false;
585
- }
586
-
587
- getSliderData(header: string) {
588
-
589
- let translateFunc;
590
-
591
- if (this.annaFilterService.sliderCurrencySet.has(header)) {
592
- translateFunc = "currency";
593
- }
594
- else if(header == "postedAudPercent"){
595
- translateFunc = "percent";
596
- }
597
- else {
598
- translateFunc = "normal";
599
- }
600
-
601
- let optionsData = this.annaFilterService.getFilterOptionsData(this.tableData, this.clonedTableData);
602
- let minValue = this.annaFilterService.returnMaxAndMinValue(optionsData, header, true);
603
- let maxValue = this.annaFilterService.returnMaxAndMinValue(optionsData, header, false);
604
-
605
- let obj = this.annaFilterService.setOptionValues(minValue,maxValue);
606
-
607
- if (translateFunc === "normal") {
608
- obj.translate = this.annaFilterService.normalTranslateFunction;
609
- } else if (translateFunc === "percent") {
610
- obj.translate = this.annaFilterService.percentTranslateFunction;
611
- } else if (translateFunc === "currency") {
612
- obj.translate = this.annaFilterService.currencyTranslateFunction;
613
- }
614
-
615
- this.options = obj;
616
-
617
- if(this.annaFilterService.tooltipSelectedMap.has(header)){
618
- let selectedObj = this.annaFilterService.tooltipSelectedMap.get(header);
619
- this.sliderMinValue = selectedObj.min < this.options.floor ? this.options.floor : selectedObj.min;
620
- this.sliderMaxValue = selectedObj.max < this.options.ceil ? selectedObj.max : this.options.ceil;
621
- }
622
- else{
623
- this.sliderMinValue = this.options.floor;
624
- this.sliderMaxValue = this.options.ceil;
625
- }
626
-
627
- //default step values
628
- this.options.step = 1;
629
- this.sliderFilterTextBoxStep = "1";
630
- if (header !== "WeekNumber") {
631
- this.options.step = 0.1;
632
- this.sliderFilterTextBoxStep = "0.1";
633
- }
634
-
635
- }
636
-
637
- getCheckboxData(header: string) {
638
-
639
- let optionData = this.annaFilterService.getFilterOptionsData(this.tableData, this.clonedTableData);
640
- let uniqOptionData = uniq(optionData.map(item => item[header]));
641
- let tooltipOptions = uniqOptionData.map(item => new TooltipModel(item));
642
-
643
- if(this.annaFilterService.tooltipSelectedMap.has(header)){
644
- let selectedValueSet = new Set(this.annaFilterService.tooltipSelectedMap.get(header));
645
- tooltipOptions.forEach(item => item.isSelected = selectedValueSet.has(item.data) ? true : false);
646
- }
647
- else{
648
- tooltipOptions.forEach(item => item.isSelected = true);
649
- }
650
-
651
- let index = tooltipOptions.findIndex(item => item.data == null);
652
-
653
- if(index != -1){
654
- tooltipOptions[index].data = "(Blank)";
655
- }
656
-
657
- let selectedItems = sortBy(tooltipOptions.filter(item => item.isSelected),"data");
658
- let unselectedItems = sortBy(tooltipOptions.filter(item => !item.isSelected),"data");
659
-
660
- this.clonedTooltipOptions = [...selectedItems, ...unselectedItems];
661
-
662
- this.tooltipOptions = cloneDeep(this.clonedTooltipOptions);
663
-
664
- this.disableSelectAll = unselectedItems.length == 0;
665
- this.disableClearAll = selectedItems.length == 0;
666
-
667
- }
668
-
669
- getCalendarData() {
670
-
671
- const parsingFormat = "MM/DD/YYYY";
672
-
673
- let optionData = this.annaFilterService.getFilterOptionsData(this.tableData, this.clonedTableData);
674
-
675
- let minMaxDate;
676
- if(this.annaFilterService.selectedRadio == "period"){
677
- let minStartDate = this.annaFilterService.returnMinAndMaxDate(optionData, "startDate");
678
- let maxEndDate = this.annaFilterService.returnMinAndMaxDate(optionData,"endDate");
679
- minMaxDate = [minStartDate[0],maxEndDate[1]];
680
- }
681
- else{
682
- minMaxDate = this.annaFilterService.returnMinAndMaxDate(optionData, this.annaFilterService.selectedRadio);
683
- }
684
- console.log(minMaxDate);
685
-
686
-
687
- this.calendarMinEnabledDate = this.annaDateTimeFormatService.convertToNgbDate(minMaxDate[0],parsingFormat);
688
- this.calendarMaxEnabledDate = this.annaDateTimeFormatService.convertToNgbDate(minMaxDate[1],parsingFormat);
689
-
690
- console.log(this.calendarMinEnabledDate);
691
- console.log(this.calendarMaxEnabledDate);
692
-
693
- if(this.annaFilterService.tooltipSelectedMap.has(this.annaFilterService.selectedRadio)){
694
- let selectedDateObj = this.annaFilterService.tooltipSelectedMap.get(this.annaFilterService.selectedRadio);
695
-
696
- if(selectedDateObj.fromDate.isAfter(minMaxDate[0])){
697
- this.selectedMinDate = this.annaDateTimeFormatService.convertToNgbDate(selectedDateObj.fromDate,parsingFormat);
698
- }
699
- else{
700
- this.selectedMinDate = this.annaDateTimeFormatService.convertToNgbDate(minMaxDate[0],parsingFormat);
701
- }
702
-
703
- if(selectedDateObj.toDate.isAfter(minMaxDate[1])){
704
- this.selectedMaxDate = this.annaDateTimeFormatService.convertToNgbDate(minMaxDate[1],parsingFormat);
705
- }
706
- else{
707
- this.selectedMaxDate = this.annaDateTimeFormatService.convertToNgbDate(selectedDateObj.toDate,parsingFormat);
708
- }
709
-
710
- }
711
- else{
712
- this.selectedMinDate = cloneDeep(this.calendarMinEnabledDate);
713
- this.selectedMaxDate = cloneDeep(this.calendarMaxEnabledDate);
714
- }
715
- console.log(this.selectedMinDate);
716
- console.log(this.selectedMaxDate);
717
-
718
- }
719
-
720
- getTimeFilterData(header: string): void {
721
-
722
- this.startTimeHourErr = this.startTimeMinErr = this.endTimeHourErr = this.endTimeMinErr = false;
723
-
724
- if (this.annaFilterService.tooltipSelectedMap.has(header)) {
725
- this.selectedFromTime = this.annaFilterService.tooltipSelectedMap.get(header).fromTime;
726
- this.selectedToTime = this.annaFilterService.tooltipSelectedMap.get(header).toTime;
727
- } else {
728
- this.setInitialValueMapForTimeFilter(header);
729
- this.selectedFromTime = this.annaFilterService.initialValueMap.get(header).fromTime;
730
- this.selectedToTime = this.annaFilterService.initialValueMap.get(header).toTime;
731
- }
732
-
733
- if(this.selectedFromTime != undefined || this.selectedToTime != undefined) {
734
- this.selectedFromTime = this.annaDateTimeFormatService.formatToTwelveHrs(this.selectedFromTime, true);
735
- this.selectedToTime = this.annaDateTimeFormatService.formatToTwelveHrs(this.selectedToTime, true);
736
-
737
- this.clonedSelectedFromTime = cloneDeep(this.selectedFromTime);
738
- this.clonedSelectedToTime = cloneDeep(this.selectedToTime);
739
- }
740
- else {
741
- this.selectedFromTime = ["-", "-", "-"];
742
- this.selectedToTime = ["-", "-", "-"];
743
- this.disableTimeFilterApplyBtn = true;
744
- }
745
-
746
- if(this.gtGeneralConfig.component === "SPOTDETAILS" || this.gtGeneralConfig.component === "EXCLUDEINVENTORYPOPUP") {
747
- this.setTimeFilterDataForComponentsOtherThanRatingsPage(header);
748
- }
749
- else if(this.gtGeneralConfig.component === "RATING"){
750
- this.setTimeFilterDataForRatingPageComponent(header);
751
- }
752
- }
753
-
754
- //Need to change this method
755
- setTimeFilterDataForComponentsOtherThanRatingsPage(header: string){
756
- this.showMultiTimeCheckbox = false;
757
- this.showZeroTimeCheckbox = false;
758
- this.showEnterTimeCheckbox = false;
759
- this.multiTimeCheckboxChecked = false;
760
- this.zeroTimeCheckboxChecked = false;
761
- this.enterTimeCheckboxChecked = false;
762
-
763
-
764
- let optionsData = this.annaFilterService.getFilterOptionsData(this.tableData, this.clonedTableData);
765
- let selectedObj;
766
-
767
- if(this.annaFilterService.tooltipSelectedMap.has(header)){
768
- selectedObj = this.annaFilterService.tooltipSelectedMap.get(header);
769
- }
770
- else{
771
- selectedObj = this.annaFilterService.initialValueMap.get(header);
772
- }
773
-
774
- if(optionsData.findIndex(obj => obj[header] == "0") != -1) {
775
- this.showZeroTimeCheckbox = true;
776
- this.zeroTimeCheckboxChecked = selectedObj.includeZeroTime;
777
- }
778
-
779
-
780
- if(optionsData.findIndex(obj => obj[header] == "<multi>") != -1) {
781
- this.showMultiTimeCheckbox = true;
782
- this.multiTimeCheckboxChecked = selectedObj.includeMulti;
783
- }
784
-
785
-
786
- if(this.showZeroTimeCheckbox || this.showMultiTimeCheckbox) {
787
- this.showEnterTimeCheckbox = true;
788
- }
789
-
790
- if(optionsData.findIndex(obj => obj[header] != "<multi>" && obj[header] != "0") != -1) {
791
- this.enterTimeCheckboxChecked = selectedObj.includeTimeRange;
792
- }
793
- }
794
-
795
- setTimeFilterDataForRatingPageComponent(header: string){
796
- this.showMultiTimeCheckbox = false;
797
- this.showZeroTimeCheckbox = false;
798
- this.showEnterTimeCheckbox = false;
799
- this.multiTimeCheckboxChecked = false;
800
- this.zeroTimeCheckboxChecked = false;
801
- this.enterTimeCheckboxChecked = false;
802
-
803
- let optionsData = this.annaFilterService.getFilterOptionsData(this.tableData, this.clonedTableData);
804
- let selectedObj;
805
-
806
- if(this.annaFilterService.tooltipSelectedMap.has(header)){
807
- selectedObj = this.annaFilterService.tooltipSelectedMap.get(header);
808
- }
809
- else{
810
- selectedObj = this.annaFilterService.initialValueMap.get(header);
811
- }
812
-
813
- if(optionsData.findIndex(obj => obj[header][0] == "0") != -1) {
814
- this.showZeroTimeCheckbox = true;
815
- this.zeroTimeCheckboxChecked = selectedObj.includeZeroTime;
816
- }
817
-
818
-
819
- if(optionsData.findIndex(obj => obj[header][0] == "<multi>") != -1) {
820
- this.showMultiTimeCheckbox = true;
821
- this.multiTimeCheckboxChecked = selectedObj.includeMulti;
822
- }
823
-
824
-
825
- if(this.showZeroTimeCheckbox || this.showMultiTimeCheckbox) {
826
- this.showEnterTimeCheckbox = true;
827
- }
828
-
829
- if(optionsData.findIndex(obj => obj[header][0] != "<multi>" && obj[header][0] != "0") != -1) {
830
- this.enterTimeCheckboxChecked = selectedObj.includeTimeRange;
831
- }
832
- }
833
-
834
- selectOrUnselectMultiTimeCheckbox() {
835
- this.multiTimeCheckboxChecked = !this.multiTimeCheckboxChecked;
836
- // this.annaFilterService.includeMultiTime = !this.annaFilterService.includeMultiTime;
837
- this.disableTimeFilterApplyButton();
838
- }
839
-
840
- selectOrUnselectZeroTimeCheckbox() {
841
- this.zeroTimeCheckboxChecked = !this.zeroTimeCheckboxChecked;
842
- // this.annaFilterService.includeZeroTime = !this.annaFilterService.includeZeroTime;
843
- this.disableTimeFilterApplyButton();
844
- }
845
-
846
- selectOrUnselectEnterTimeCheckbox() {
847
- this.enterTimeCheckboxChecked = !this.enterTimeCheckboxChecked;
848
- // this.annaFilterService.includeTimeRange = !this.annaFilterService.includeTimeRange;
849
- this.disableTimeFilterApplyButton();
850
- }
851
-
852
- disableSliderApplyBtn() {
853
- return this.options.floor === this.options.ceil;
854
- }
855
-
856
- selectUnselectCheckbox(data: TooltipModel) {
857
- data.isSelected = !data.isSelected;
858
- let selectedItems = this.tooltipOptions.filter(item => item.isSelected);
859
- let unselectedItems = this.tooltipOptions.filter(item => !item.isSelected);
860
-
861
- this.disableCheckboxApply = this.disableClearAll = selectedItems.length == 0;
862
- this.disableSelectAll = unselectedItems.length == 0;
863
-
864
- }
865
-
866
- minValueChanged(value: string) {
867
- console.log("min Value Changed");
868
- if (value == null) {
869
- this.isMinTextBoxEmpty = true;
870
- this.showSliderMinValueError = false;
871
- this.showSliderMaxValueError = false;
872
- this.disableSliderApplyButton = false;
873
- } else {
874
- this.isMinTextBoxEmpty = false;
875
- if (+value > this.sliderMaxValue) {
876
- if(!this.isMaxTextBoxEmpty){
877
- this.showSliderMinValueError = true;
878
- this.disableSliderApplyButton = true;
879
- }
880
- } else if (+value < this.options.floor) {
881
- this.showSliderMinValueError = true;
882
- this.disableSliderApplyButton = true;
883
- } else {
884
- this.sliderMinValue = +value;
885
- this.showSliderMinValueError = false;
886
- this.showSliderMaxValueError = false;
887
- this.disableSliderApplyButton = false;
888
- }
889
- }
890
- this.showErrorForMinAndMaxValue();
891
- }
892
-
893
- maxValueChanged(value: string) {
894
- console.log("max Value Changed");
895
- if (value == null) {
896
- this.isMaxTextBoxEmpty = true;
897
- this.showSliderMaxValueError = false;
898
- this.showSliderMinValueError = false;
899
- this.disableSliderApplyButton = false;
900
- } else {
901
- this.isMaxTextBoxEmpty = false;
902
- if (+value < this.sliderMinValue) {
903
- if(!this.isMinTextBoxEmpty){
904
- this.showSliderMaxValueError = true;
905
- this.disableSliderApplyButton = true;
906
- }
907
- } else if (+value > this.options.ceil) {
908
- this.showSliderMaxValueError = true;
909
- this.disableSliderApplyButton = true;
910
- } else {
911
- this.sliderMaxValue = +value;
912
- this.showSliderMaxValueError = false;
913
- this.showSliderMinValueError = false;
914
- this.disableSliderApplyButton = false;
915
- }
916
- }
917
- this.showErrorForMinAndMaxValue();
918
- }
919
-
920
- showErrorForMinAndMaxValue(){
921
- if(this.isMinTextBoxEmpty && this.isMaxTextBoxEmpty){
922
- this.showSliderMinValueError = true;
923
- this.showSliderMaxValueError = true;
924
- this.disableSliderApplyButton = true;
925
- }
926
- }
927
-
928
- sliderValueChange() {
929
- this.sliderValue = { min: this.sliderMinValue, max: this.sliderMaxValue };
930
- }
931
-
932
- cancelSliderFilter() {
933
- this.sliderValue = null;
934
- this.closeTooltip();
935
- }
936
-
937
- allOptionClicked() {
938
- if (this.allSelected == 0 || this.allSelected == 2) {
939
- this.allSelected = 1;
940
- this.disableCheckboxApply = false;
941
- } else {
942
- this.allSelected = 0;
943
- this.disableCheckboxApply = true;
944
- }
945
- this.annaFilterService.allOptionsClicked(this.allSelected);
946
- }
947
-
948
- applyFilters() {
949
-
950
- let isFilterChanged = false;
951
- let isSortChanged = false;
952
- if(this.showFilterComponent){
953
- let currentSelectedValue = [];
954
- let previousSelectedValue = [];
955
-
956
- if(this.annaFilterService.tooltipSelectedMap.has(this.annaFilterService.selectedRadio)){
957
- previousSelectedValue = this.annaFilterService.tooltipSelectedMap.get(this.annaFilterService.selectedRadio);
958
- }
959
- else if(this.annaFilterService.initialValueMap.has(this.annaFilterService.selectedRadio)){
960
- previousSelectedValue = this.annaFilterService.initialValueMap.get(this.annaFilterService.selectedRadio);
961
- }
962
- else{
963
- previousSelectedValue = sortBy(uniq(this.clonedTableData.map(item => item[this.annaFilterService.selectedRadio])));
964
- this.annaFilterService.initialValueMap.set(this.annaFilterService.selectedRadio,previousSelectedValue);
965
- }
966
-
967
- if(this.tooltipOptions){
968
-
969
- currentSelectedValue = sortBy(this.tooltipOptions.filter(item => item.isSelected).map(item => item.data));
970
-
971
- if(!this.searchItem && currentSelectedValue.length == this.tooltipOptions.length && this.annaFilterService.initialValueMap.has(this.annaFilterService.selectedRadio)){
972
- console.log("inside searchItem else condition");
973
- currentSelectedValue = this.annaFilterService.initialValueMap.get(this.annaFilterService.selectedRadio);
974
- }
975
-
976
- }
977
-
978
- if(this.searchItem){
979
- currentSelectedValue = currentSelectedValue.map( (item:string) => this.removeBoldElementFromString(item));
980
- }
981
-
982
- let blankIndex = currentSelectedValue.findIndex((item: string) => item == "(Blank)");
983
- if(blankIndex != -1){
984
- currentSelectedValue[blankIndex] = null;
985
- currentSelectedValue = sortBy(currentSelectedValue);
986
- }
987
-
988
- console.log(currentSelectedValue);
989
- console.log(previousSelectedValue);
990
- isFilterChanged = !isEqual(currentSelectedValue,previousSelectedValue);
991
-
992
- if(isFilterChanged){
993
- this.annaFilterService.reOrderAppliedFiltersState(this.clonedTableData,currentSelectedValue);
994
- this.annaFilterService.tooltipSelectedMap.set(this.annaFilterService.selectedRadio, currentSelectedValue);
995
- this.tableData = this.annaFilterService.filterData(this.clonedTableData, "");
996
- this.annaSortService.noSortingAppliedData = cloneDeep(this.tableData);
997
- }
998
-
999
- }
1000
-
1001
- if(this.showSortComponent){
1002
- isSortChanged = (this.tempSortOrder != null && this.tempSortOrder != this.annaSortService.columnSortState.get(this.annaFilterService.selectedRadio));
1003
- if(isSortChanged){
1004
- for (let [key, value] of this.annaSortService.columnSortState.entries()) {
1005
- this.annaSortService.columnSortState.set(key, "DEFAULT");
1006
- }
1007
- this.annaSortService.columnSortState.set(this.annaFilterService.selectedRadio, this.tempSortOrder);
1008
- this.applySorting(this.annaFilterService.selectedRadio);
1009
- }
1010
- else if(isFilterChanged){
1011
- this.checkIfSortingIsApplied();
1012
- }
1013
- }
1014
- else if(isFilterChanged){
1015
- this.checkIfSortingIsApplied();
1016
- }
1017
-
1018
- if(isFilterChanged && isSortChanged){
1019
- this.filterAppliedToTable.emit(this.tableData);
1020
- }
1021
- else if(isFilterChanged){
1022
- this.filterAppliedToTable.emit(this.tableData);
1023
- }
1024
- else if(isSortChanged){
1025
- this.sortingAppliedToTable.emit(this.tableData);
1026
- }
1027
-
1028
- this.disableEnableEachColumnTooltipIcon();
1029
- this.closeTooltip();
1030
- }
1031
-
1032
- applySorting(key: string){
1033
- if(this.tempSortOrder == "ASC"){
1034
- this.tableData = cloneDeep(this.annaSortService.sortDataForComponentOtherThanLurAndCsrPage(true,this.tableData,key));
1035
- }
1036
- else if(this.tempSortOrder == "DESC"){
1037
- this.tableData = cloneDeep(this.annaSortService.sortDataForComponentOtherThanLurAndCsrPage(false,this.tableData,key));
1038
- }
1039
- else if(this.tempSortOrder == "DEFAULT"){
1040
- this.tableData = cloneDeep(this.annaSortService.noSortingAppliedData);
1041
- }
1042
- }
1043
-
1044
- revert() {
1045
- this.tempTooltipData = cloneDeep(this.toolTipdata);
1046
- this.annaFilterService.tooltipMap.set(this.annaFilterService.selectedRadio, this.tempTooltipData);
1047
- this.toolTipdata = null;
1048
- }
1049
-
1050
- closeCheckboxFilter() {
1051
- if (this.toolTipdata) {
1052
- this.revert();
1053
- }
1054
- this.closeTooltip();
1055
- }
1056
-
1057
- applySliderFilter() {
1058
-
1059
- let isFilterChanged = false;
1060
- let isSortChanged = false;
1061
-
1062
- if(this.showFilterComponent){
1063
- let currentSliderData: {min:any, max: any} = {min: null , max: null};
1064
- let previousSliderData: {min:any, max: any} = {min: "", max: ""};
1065
-
1066
- if(this.isMinTextBoxEmpty){
1067
- currentSliderData.min = this.options.floor;
1068
- currentSliderData.max = this.sliderMaxValue;
1069
- }
1070
- else if(this.isMaxTextBoxEmpty){
1071
- currentSliderData.max = this.options.ceil;
1072
- currentSliderData.min = this.sliderMinValue;
1073
- }
1074
- else{
1075
- currentSliderData.max = this.sliderMaxValue;
1076
- currentSliderData.min = this.sliderMinValue;
1077
- }
1078
-
1079
- if(this.annaFilterService.tooltipSelectedMap.has(this.annaFilterService.selectedRadio)){
1080
- previousSliderData = this.annaFilterService.tooltipSelectedMap.get(this.annaFilterService.selectedRadio);
1081
- }
1082
- else if(this.annaFilterService.initialValueMap.has(this.annaFilterService.selectedRadio)){
1083
- previousSliderData = this.annaFilterService.initialValueMap.get(this.annaFilterService.selectedRadio);
1084
- }
1085
- else{
1086
- let minValue = this.annaFilterService.returnMaxAndMinValue(this.clonedTableData, this.annaFilterService.selectedRadio, true);
1087
- let maxValue = this.annaFilterService.returnMaxAndMinValue(this.clonedTableData, this.annaFilterService.selectedRadio, false);
1088
- previousSliderData = { min: minValue, max: maxValue };
1089
- this.annaFilterService.initialValueMap.set(this.annaFilterService.selectedRadio, previousSliderData);
1090
- }
1091
-
1092
- if(currentSliderData.min == this.options.floor && currentSliderData.max == this.options.ceil && this.annaFilterService.initialValueMap.has(this.annaFilterService.selectedRadio) ){
1093
- currentSliderData = this.annaFilterService.initialValueMap.get(this.annaFilterService.selectedRadio);
1094
- }
1095
-
1096
-
1097
-
1098
- isFilterChanged = !isEqual(previousSliderData,currentSliderData);
1099
-
1100
- if(isFilterChanged){
1101
- this.annaFilterService.reOrderAppliedFiltersState(this.clonedTableData,currentSliderData);
1102
- this.annaFilterService.tooltipSelectedMap.set(this.annaFilterService.selectedRadio,currentSliderData);
1103
- this.tableData = this.annaFilterService.filterData(this.clonedTableData, "");
1104
- this.annaSortService.noSortingAppliedData = cloneDeep(this.tableData);
1105
- this.disableEnableEachColumnTooltipIcon();
1106
- }
1107
- }
1108
-
1109
- if(this.showSortComponent){
1110
- isSortChanged = (this.tempSortOrder != null && this.tempSortOrder != this.annaSortService.columnSortState.get(this.annaFilterService.selectedRadio));
1111
- if(isSortChanged){
1112
- for (let [key, value] of this.annaSortService.columnSortState.entries()) {
1113
- this.annaSortService.columnSortState.set(key, "DEFAULT");
1114
- }
1115
- this.annaSortService.columnSortState.set(this.annaFilterService.selectedRadio, this.tempSortOrder);
1116
- this.applySorting(this.annaFilterService.selectedRadio);
1117
- }
1118
- }
1119
- else if(isFilterChanged){
1120
- this.checkIfSortingIsApplied();
1121
- }
1122
-
1123
- if(isFilterChanged && isSortChanged){
1124
- this.filterAppliedToTable.emit(this.tableData);
1125
- }
1126
- else if(isFilterChanged){
1127
- this.filterAppliedToTable.emit(this.tableData);
1128
- }
1129
- else if(isSortChanged){
1130
- this.sortingAppliedToTable.emit(this.tableData);
1131
- }
1132
-
1133
- this.closeTooltip();
1134
- }
1135
-
1136
- cancelInDateFilter() {
1137
- this.closeTooltip();
1138
- }
1139
-
1140
- applyDateFilter() {
1141
-
1142
- let isFilterChanged = false;
1143
- let isSortChanged = false;
1144
-
1145
- if(this.showFilterComponent){
1146
- let currentSelectedDate = this.calendarSelection;
1147
- let previousSelectedDate: {fromDate: any, toDate: any} = {fromDate: null, toDate: null};
1148
-
1149
- if(this.annaFilterService.tooltipSelectedMap.has(this.annaFilterService.selectedRadio)){
1150
- previousSelectedDate = this.annaFilterService.tooltipSelectedMap.get(this.annaFilterService.selectedRadio);
1151
- }
1152
- else if(this.annaFilterService.initialValueMap.has(this.annaFilterService.selectedRadio)){
1153
- previousSelectedDate = this.annaFilterService.initialValueMap.get(this.annaFilterService.selectedRadio);
1154
- }
1155
- else{
1156
- let minMaxDate;
1157
- if(this.annaFilterService.selectedRadio == "period"){
1158
- let minStartDate = this.annaFilterService.returnMinAndMaxDate(this.clonedTableData, "startDate");
1159
- let maxEndDate = this.annaFilterService.returnMinAndMaxDate(this.clonedTableData,"endDate");
1160
- minMaxDate = [minStartDate[0],maxEndDate[1]];
1161
- }
1162
- else{
1163
- minMaxDate = this.annaFilterService.returnMinAndMaxDate(this.clonedTableData,this.annaFilterService.selectedRadio);
1164
- }
1165
- previousSelectedDate = {fromDate: minMaxDate[0], toDate: minMaxDate[1]};
1166
- this.annaFilterService.initialValueMap.set(this.annaFilterService.selectedRadio, previousSelectedDate);
1167
- }
1168
-
1169
- if(currentSelectedDate.fromDate && currentSelectedDate.toDate){
1170
- let fromDate = {year: currentSelectedDate.fromDate.year,month: currentSelectedDate.fromDate.month,day: currentSelectedDate.fromDate.day};
1171
- let toDate = {year: currentSelectedDate.toDate.year,month: currentSelectedDate.toDate.month,day: currentSelectedDate.toDate.day};
1172
-
1173
- if(isEqual(this.calendarMinEnabledDate,fromDate) && isEqual(this.calendarMaxEnabledDate,toDate) && this.annaFilterService.initialValueMap.has(this.annaFilterService.selectedRadio)){
1174
- currentSelectedDate = this.annaFilterService.initialValueMap.get(this.annaFilterService.selectedRadio);
1175
- }
1176
- else{
1177
- currentSelectedDate.fromDate = moment(this.annaDateTimeFormatService.convertNgbDateToMoment(currentSelectedDate.fromDate));
1178
- currentSelectedDate.toDate = moment(this.annaDateTimeFormatService.convertNgbDateToMoment(currentSelectedDate.toDate));
1179
- }
1180
- isFilterChanged = !isEqual(previousSelectedDate,currentSelectedDate);
1181
-
1182
- if(isFilterChanged){
1183
-
1184
- this.annaFilterService.reOrderAppliedFiltersState(this.clonedTableData,currentSelectedDate);
1185
- this.annaFilterService.tooltipSelectedMap.set(this.annaFilterService.selectedRadio,currentSelectedDate);
1186
- this.tableData = this.annaFilterService.filterData(this.clonedTableData, "");
1187
- this.annaSortService.noSortingAppliedData = cloneDeep(this.tableData);
1188
- this.disableEnableEachColumnTooltipIcon();
1189
- }
1190
- }
1191
-
1192
- }
1193
-
1194
- if(this.showSortComponent){
1195
- isSortChanged = (this.tempSortOrder != null && this.tempSortOrder != this.annaSortService.columnSortState.get(this.annaFilterService.selectedRadio));
1196
- if(isSortChanged){
1197
- for (let [key, value] of this.annaSortService.columnSortState.entries()) {
1198
- this.annaSortService.columnSortState.set(key, "DEFAULT");
1199
- }
1200
- this.annaSortService.columnSortState.set(this.annaFilterService.selectedRadio, this.tempSortOrder);
1201
- this.applySorting(this.annaFilterService.selectedRadio);
1202
- }
1203
- else if(isFilterChanged){
1204
- this.checkIfSortingIsApplied();
1205
- }
1206
- }
1207
- else if(isFilterChanged){
1208
- this.checkIfSortingIsApplied();
1209
- }
1210
-
1211
- if(isFilterChanged && isSortChanged){
1212
- this.filterAppliedToTable.emit(this.tableData);
1213
- }
1214
- else if(isFilterChanged){
1215
- this.filterAppliedToTable.emit(this.tableData);
1216
- }
1217
- else if(isSortChanged){
1218
- this.sortingAppliedToTable.emit(this.tableData);
1219
- }
1220
-
1221
- this.closeTooltip();
1222
-
1223
- }
1224
-
1225
- applyWeekFilter(event: any) {
1226
-
1227
- }
1228
-
1229
- incrementHour(arr: any[]) {
1230
- if (arr[0] == "") {
1231
- arr[0] = 1;
1232
- } else if (parseInt(arr[0]) < 12) {
1233
- arr[0] = parseInt(arr[0]) + 1;
1234
- } else {
1235
- arr[0] = 1;
1236
- }
1237
- }
1238
-
1239
- decrementHour(arr: any[]) {
1240
- if (arr[0] == "") {
1241
- arr[0] = 12;
1242
- } else if (parseInt(arr[0]) > 1) {
1243
- arr[0] = parseInt(arr[0]) - 1;
1244
- } else {
1245
- arr[0] = 12;
1246
- }
1247
- }
1248
-
1249
- incrementMinute(arr: any[]) {
1250
- arr[1] = parseInt(arr[1]) + 15;
1251
- if (parseInt(arr[1]) == 60) {
1252
- arr[1] = "00";
1253
- } else if (parseInt(arr[1]) == 0) {
1254
- arr[1] = "00";
1255
- }
1256
- else if(parseInt(arr[1]) > 60){
1257
- let res = parseInt(arr[1]) - 60;
1258
- arr[1] = res < 10 ? `0${res}` : res.toString();
1259
- }
1260
- }
1261
-
1262
- decrementMinute(arr: any) {
1263
- arr[1] = parseInt(arr[1]) - 15;
1264
- if (parseInt(arr[1]) < 0) {
1265
- let res = 60 + parseInt(arr[1]);
1266
- arr[1] = res;
1267
- } else if (parseInt(arr[1]) == 0) {
1268
- arr[1] = "00";
1269
- }
1270
- else if(arr[1] < 10){
1271
- arr[1]= `0${arr[1]}`;
1272
- }
1273
- }
1274
-
1275
- changeStartTimeHour(increment: boolean) {
1276
- if (increment) {
1277
- this.incrementHour(this.selectedFromTime);
1278
- } else {
1279
- this.decrementHour(this.selectedFromTime);
1280
- }
1281
- this.startTimeHourChange(this.selectedFromTime[0].toString());
1282
- // this.disableTimeFilterApplyButton();
1283
- }
1284
-
1285
- changeEndTimeHour(increment: boolean) {
1286
- if (increment) {
1287
- this.incrementHour(this.selectedToTime);
1288
- } else {
1289
- this.decrementHour(this.selectedToTime);
1290
- }
1291
- this.endTimeHourChange(this.selectedToTime[0].toString());
1292
- // this.disableTimeFilterApplyButton();
1293
- }
1294
-
1295
- changeEndTimeMinute(increment: boolean) {
1296
- if (increment) {
1297
- this.incrementMinute(this.selectedToTime);
1298
- } else {
1299
- this.decrementMinute(this.selectedToTime);
1300
- }
1301
- this.endTimeMinChange(this.selectedToTime[1].toString());
1302
- // this.disableTimeFilterApplyButton();
1303
- }
1304
-
1305
- changeStartTimeMinute(increment: boolean) {
1306
- if (increment) {
1307
- this.incrementMinute(this.selectedFromTime);
1308
- } else {
1309
- this.decrementMinute(this.selectedFromTime);
1310
- }
1311
- this.startTimeMinChange(this.selectedFromTime[1].toString());
1312
- // this.disableTimeFilterApplyButton();
1313
- }
1314
-
1315
- applyTimeFilters() {
1316
-
1317
- let isFilterChanged = false;
1318
- let isSortChanged = false;
1319
-
1320
- if(this.showFilterComponent){
1321
- let currentSelectedTimeFilter: {fromTime: string, toTime:string, includeMulti: boolean, includeZero: boolean, includeTimeRange: boolean} = {
1322
- fromTime: null,
1323
- toTime: null,
1324
- includeMulti: false,
1325
- includeZero: false,
1326
- includeTimeRange: false,
1327
- };
1328
-
1329
- let previousSelectedTimeFilter;
1330
-
1331
- if(this.annaFilterService.tooltipSelectedMap.has(this.annaFilterService.selectedRadio)){
1332
- previousSelectedTimeFilter = this.annaFilterService.tooltipSelectedMap.get(this.annaFilterService.selectedRadio);
1333
- }
1334
- else if(this.annaFilterService.initialValueMap.has(this.annaFilterService.selectedRadio)){
1335
- previousSelectedTimeFilter = this.annaFilterService.initialValueMap.get(this.annaFilterService.selectedRadio);
1336
- }
1337
-
1338
- let fromTime24HrFormatArr = this.annaDateTimeFormatService.convertTotwentyFourHrsFormat(
1339
- this.selectedFromTime[0] + ":" + this.selectedFromTime[1] + " " + this.selectedFromTime[2],
1340
- true
1341
- );
1342
- let fromTime24HrFormat = fromTime24HrFormatArr[0] + ":" + fromTime24HrFormatArr[1] + ":00";
1343
- let toTime24HrFormatArr = this.annaDateTimeFormatService.convertTotwentyFourHrsFormat(
1344
- this.selectedToTime[0] + ":" + this.selectedToTime[1] + " " + this.selectedToTime[2],
1345
- true
1346
- );
1347
- let toTime24HrFormat = toTime24HrFormatArr[0] + ":" + toTime24HrFormatArr[1] + ":00";
1348
-
1349
- currentSelectedTimeFilter = { fromTime: fromTime24HrFormat, toTime: toTime24HrFormat, includeMulti: this.multiTimeCheckboxChecked,
1350
- includeZero: this.zeroTimeCheckboxChecked, includeTimeRange: this.enterTimeCheckboxChecked};
1351
-
1352
- isFilterChanged = !isEqual(previousSelectedTimeFilter, currentSelectedTimeFilter);
1353
-
1354
-
1355
- if(isFilterChanged){
1356
- let isFiltered = this.annaFilterService.reOrderAppliedFiltersState(this.clonedTableData,currentSelectedTimeFilter);
1357
- this.annaFilterService.tooltipSelectedMap.set(this.annaFilterService.selectedRadio,currentSelectedTimeFilter);
1358
- this.tableData = this.annaFilterService.filterData(this.clonedTableData, "");
1359
-
1360
- if(!isFiltered){
1361
- this.annaFilterService.tooltipSelectedMap.delete(this.annaFilterService.selectedRadio);
1362
- }
1363
- this.annaSortService.noSortingAppliedData = cloneDeep(this.tableData);
1364
- this.disableEnableEachColumnTooltipIcon();
1365
- }
1366
-
1367
-
1368
-
1369
- }
1370
-
1371
-
1372
- if(this.showSortComponent){
1373
- isSortChanged = (this.tempSortOrder != null && this.tempSortOrder != this.annaSortService.columnSortState.get(this.annaFilterService.selectedRadio));
1374
- if(isSortChanged){
1375
- for (let [key, value] of this.annaSortService.columnSortState.entries()) {
1376
- this.annaSortService.columnSortState.set(key, "DEFAULT");
1377
- }
1378
- this.annaSortService.columnSortState.set(this.annaFilterService.selectedRadio, this.tempSortOrder);
1379
- this.applySorting(this.annaFilterService.selectedRadio);
1380
- }
1381
- else if(isFilterChanged){
1382
- this.checkIfSortingIsApplied();
1383
- }
1384
- }
1385
- else if(isFilterChanged){
1386
- this.checkIfSortingIsApplied();
1387
- }
1388
-
1389
- if(isFilterChanged && isSortChanged){
1390
- this.filterAppliedToTable.emit(this.tableData);
1391
- }
1392
- else if(isFilterChanged){
1393
- this.filterAppliedToTable.emit(this.tableData);
1394
- }
1395
- else if(isSortChanged){
1396
- this.sortingAppliedToTable.emit(this.tableData);
1397
- }
1398
-
1399
- this.closeTooltip();
1400
-
1401
- }
1402
-
1403
- closeTimeFilter() {
1404
- this.selectedFromTime = cloneDeep(this.clonedSelectedFromTime);
1405
- this.selectedToTime = cloneDeep(this.clonedSelectedToTime);
1406
- this.closeTooltip();
1407
- }
1408
-
1409
- disableTimeFilterApplyButton() {
1410
- let timeFormat = "HH:mm:ss";
1411
-
1412
- let startTime24HrFormatArr = this.annaDateTimeFormatService.convertTotwentyFourHrsFormat(
1413
- this.selectedFromTime[0] + ":" + this.selectedFromTime[1] + " " + this.selectedFromTime[2],
1414
- true
1415
- );
1416
- let startTime24HrFormat = startTime24HrFormatArr[0] + ":" + startTime24HrFormatArr[1] + ":00";
1417
- let endTime24HrFormatArr = this.annaDateTimeFormatService.convertTotwentyFourHrsFormat(
1418
- this.selectedToTime[0] + ":" + this.selectedToTime[1] + " " + this.selectedToTime[2],
1419
- true
1420
- );
1421
- let endTime24HrFormat = endTime24HrFormatArr[0] + ":" + endTime24HrFormatArr[1] + ":00";
1422
-
1423
- this.disableTimeFilterApplyBtn = moment(startTime24HrFormat, timeFormat).isAfter(moment(endTime24HrFormat, timeFormat));
1424
-
1425
- if (!this.multiTimeCheckboxChecked && !this.zeroTimeCheckboxChecked && !this.enterTimeCheckboxChecked) {
1426
- this.disableTimeFilterApplyBtn = true;
1427
- }
1428
- }
1429
-
1430
- sortedData(event: any) {
1431
- if (event.type == "none") {
1432
- this.tableData = this.annaFilterService.filterData(this.clonedTableData, "");
1433
- } else {
1434
- this.tableData = event.data;
1435
- }
1436
- this.sortingAppliedToTable.emit(this.tableData);
1437
- // this.generateTableDataWrapper();
1438
- }
1439
-
1440
- checkIfSortingIsApplied() {
1441
- for(let [key,value] of this.annaSortService.columnSortState.entries()){
1442
- if(value == "ASC"){
1443
- this.tableData = cloneDeep(this.annaSortService.sortDataForComponentOtherThanLurAndCsrPage(true,this.tableData,key));
1444
- }
1445
- else if(value == "DESC"){
1446
- this.tableData = cloneDeep(this.annaSortService.sortDataForComponentOtherThanLurAndCsrPage(false,this.tableData,key));
1447
- }
1448
- }
1449
- }
1450
-
1451
- // applySorting(sortComponentArr: AnnaSortComponent[], appliedKey: string, isAsc: boolean) {
1452
- // sortComponentArr.forEach((component) => {
1453
- // if (component.sortBy === appliedKey) {
1454
- // this.setSortComponentDataProperty(component);
1455
- // isAsc ? component.sortByAscending() : component.sortByDescending();
1456
- // }
1457
- // });
1458
- // }
1459
-
1460
- // setSortComponentDataProperty(sortComponent: AnnaSortComponent) {
1461
- // sortComponent.data = this.tableData;
1462
- // sortComponent.clonedData = cloneDeep(this.tableData);
1463
- // }
1464
-
1465
- disableEnableEachColumnTooltipIcon() {
1466
- this.tableHeaders.forEach(header => {
1467
-
1468
- header.headerInfo.forEach(item => {
1469
- if (item.showTooltipIcon) {
1470
-
1471
- let values = [];
1472
- item.disableTooltipIcon = true;
1473
-
1474
- item.filterSortObjectKeys.forEach(key => {
1475
-
1476
- if(key == "period"){
1477
- let uniqStartDate = uniq(this.tableData.map((u: { [x: string]: any; }) => u["startDate"]));
1478
- let uniqEndDate = uniq(this.tableData.map((u: { [x: string]: any; }) => u["endDate"]));
1479
-
1480
- item.disableTooltipIcon = (uniqStartDate.length > 1 || uniqEndDate.length > 1) ? false : true;
1481
- }
1482
- else{
1483
- values = this.tableData.map((u: { [x: string]: any; }) => u[key]);
1484
- if(uniq(values).filter(n => n!=null).length > 1){
1485
- item.disableTooltipIcon = false;
1486
- }
1487
- }
1488
-
1489
- })
1490
- }
1491
-
1492
- });
1493
- });
1494
- }
1495
-
1496
- ngAfterViewInit() {
1497
- this.annaGenericTableService.virtualScrollSubject.subscribe((val) =>{
1498
- this.isScrolledLeft = document.getElementsByClassName("anna-table-virtual-scroll-viewport")[0].scrollLeft > 0;
1499
- this.cdRef.detectChanges();
1500
- });
1501
- }
1502
-
1503
- dataRowClicked(rowData: any) {
1504
- this.rowClicked.emit(rowData);
1505
- }
1506
-
1507
- radioButtonClicked(data: any, action: string, isDisabled: boolean) {
1508
- if (!isDisabled) {
1509
- this.radioButtonSelected.emit({ data, action });
1510
- }
1511
- }
1512
-
1513
- bindTheValueToSellerGroupTooltip(sellerGroupHierarchy: SellerGroupHierarchy[], tooltip: any): void {
1514
- if (this.hierarchyTooltip && this.hierarchyTooltip.open) {
1515
- this.hierarchyTooltip.close();
1516
- }
1517
- this.sellerGroupHierarchy = sellerGroupHierarchy;
1518
- this.hierarchyTooltip = tooltip;
1519
- this.hierarchyTooltip.open();
1520
- }
1521
-
1522
- iconClicked(rowData: any,iconClass: string){
1523
- this.gtIconClicked.emit({data: rowData,iconClass: iconClass});
1524
- }
1525
-
1526
- svgIconClicked(rowData: any,key: string){
1527
- this.gtSVGIconClicked.emit({data: rowData,key: key});
1528
- }
1529
-
1530
- textActionClicked(rowData: any,id: number){
1531
- this.gtTextActionClicked.emit({data:rowData,id});
1532
- }
1533
-
1534
- viewDetailsClicked(rowData: any){
1535
- this.gtViewDetailClicked.emit({data:rowData});
1536
- }
1537
-
1538
- setColumnSortStateMap(){
1539
- console.log("set column sort state map");
1540
- this.tableHeaders.forEach(column => {
1541
- column.headerInfo.forEach( (header) => {
1542
- if(header.showTooltipIcon && header.isSortRequired){
1543
- header.isSortRequired.forEach( (item,index) => {
1544
- if(item){
1545
- this.annaSortService.columnSortState.set(header.filterSortObjectKeys[index], "DEFAULT");
1546
- }
1547
- })
1548
- }
1549
- })
1550
- });
1551
- }
1552
-
1553
- storeSortTypeInTempVariable(event: SortType){
1554
- this.tempSortOrder = event;
1555
- }
1556
-
1557
- unCheckAllCheckbox(){
1558
- this.tooltipOptions.forEach(item => item.isSelected = false);
1559
- this.disableSelectAll = false;
1560
- this.disableClearAll = true;
1561
- this.disableCheckboxApply = true;
1562
- }
1563
-
1564
- selectAllCheckbox(){
1565
- this.tooltipOptions.forEach(item => item.isSelected = true);
1566
- this.disableSelectAll = true;
1567
- this.disableClearAll = false;
1568
- this.disableCheckboxApply = false;
1569
- }
1570
-
1571
- searchForTheItem(str: string){
1572
- if(str){
1573
- this.tooltipOptions = cloneDeep(this.clonedTooltipOptions.filter(item => item.data.toLowerCase().includes(str.toLowerCase())));
1574
- this.tooltipOptions.forEach(element => {
1575
- element.data = this.boldString(element.data,str);
1576
- });
1577
-
1578
- if(this.tooltipOptions.length > 0){
1579
- this.tooltipOptions.forEach(item => item.isSelected = true);
1580
- this.disableSelectAll = true;
1581
- this.disableClearAll = false;
1582
- this.disableCheckboxApply = false;
1583
-
1584
- }
1585
- else{
1586
- this.disableCheckboxApply = true;
1587
- this.disableClearAll = true;
1588
- this.disableSelectAll = true;
1589
- }
1590
- }
1591
- else{
1592
- this.tooltipOptions = cloneDeep(this.clonedTooltipOptions);
1593
- let unselectedItems = this.tooltipOptions.filter(item => !item.isSelected);
1594
- let selectedItems = this.tooltipOptions.filter(item => item.isSelected);
1595
- this.disableSelectAll = unselectedItems.length == 0;
1596
- this.disableClearAll = selectedItems.length == 0;
1597
- }
1598
- }
1599
-
1600
- boldString(str: string, find: string){
1601
- var re = new RegExp(find, 'g');
1602
- return str.replace(re, '<b>'+find+'</b>');
1603
- }
1604
-
1605
- removeBoldElementFromString(originalString: string){
1606
- let firstRegExp = new RegExp('<b>','g');
1607
- let secondRegExp = new RegExp('</b>','g');
1608
-
1609
- let ret = originalString.replace(firstRegExp,'');
1610
- console.log(ret);
1611
- console.log(ret.replace(secondRegExp,''));
1612
- return ret.replace(secondRegExp,'');
1613
- }
1614
-
1615
- clearSearchedItem(){
1616
- this.searchItem = "";
1617
- this.searchForTheItem("");
1618
- }
1619
-
1620
- calendarDateChanged(event: any){
1621
- this.calendarSelection = event;
1622
- this.enableDisableCalendarApplyBtn();
1623
- }
1624
-
1625
- enableDisableCalendarApplyBtn() {
1626
- this.disableCalendarApplyBtn = !(this.calendarSelection.fromDate && this.calendarSelection.toDate);
1627
- }
1628
-
1629
- setInitialValueMapForTimeFilter(key: string) {
1630
- let data = this.clonedTableData.filter(
1631
- (obj) => !["", "-", null, "0", "<multi>"].includes(obj[key]));
1632
-
1633
- let timeArr = map(data, key);
1634
- timeArr.sort((a, b) => {
1635
- return this.annaDateTimeFormatService.sortByTimeAscending(a, b);
1636
- });
1637
-
1638
- let obj = {
1639
- fromTime: timeArr[0],
1640
- toTime: timeArr[timeArr.length - 1],
1641
- includeMulti: false,
1642
- includeZero: false,
1643
- includeTimeRange: false
1644
- };
1645
-
1646
- if (
1647
- this.gtGeneralConfig.component === "SPOTDETAILS" ||
1648
- this.gtGeneralConfig.component === "EXCLUDEINVENTORYPOPUP"
1649
- ) {
1650
- let includeMulti =
1651
- this.clonedTableData.findIndex((obj) => obj[key] == "<multi>") !=
1652
- -1;
1653
- let includeZero =
1654
- this.clonedTableData.findIndex((obj) => obj[key] == "0") != -1;
1655
- let includeTimeRange =
1656
- this.clonedTableData.findIndex(
1657
- (obj) => obj[key] != "0" && obj[key] != "<multi>"
1658
- ) != -1;
1659
-
1660
- let obj = {
1661
- fromTime: timeArr[0],
1662
- toTime: timeArr[timeArr.length - 1],
1663
- includeMulti: includeMulti,
1664
- includeZero: includeZero,
1665
- includeTimeRange: includeTimeRange,
1666
- };
1667
- this.annaFilterService.initialValueMap.set(key, obj);
1668
- }
1669
- else if (this.gtGeneralConfig.component === "RATING") {
1670
- this.setInitialValueMapForRatingPageTimeFilter(key);
1671
- } else {
1672
- this.annaFilterService.initialValueMap.set(key, obj);
1673
- }
1674
- }
1675
-
1676
- setInitialValueMapForRatingPageTimeFilter(key: string){
1677
- let includeMulti =
1678
- this.clonedTableData.findIndex((obj) => obj[key][0] == "<multi>") !=
1679
- -1;
1680
- let includeZero =
1681
- this.clonedTableData.findIndex((obj) => obj[key][0] == "0") != -1;
1682
- let includeTimeRange =
1683
- this.clonedTableData.findIndex(
1684
- (obj) => obj[key][0] != "0" && obj[key][0] != "<multi>"
1685
- ) != -1;
1686
-
1687
- let startTimeArr = map(this.clonedTableData, "startTime");
1688
- let endTimeArr = map(this.clonedTableData, "endTime");
1689
-
1690
- startTimeArr.sort((a, b) => {
1691
- return this.annaDateTimeFormatService.sortByTimeAscending(a, b);
1692
- });
1693
-
1694
- endTimeArr.sort((a, b) => {
1695
- return this.annaDateTimeFormatService.sortByTimeDescending(a, b);
1696
- });
1697
-
1698
- let obj = {
1699
- fromTime: startTimeArr[0],
1700
- toTime: endTimeArr[0],
1701
- includeMulti: includeMulti,
1702
- includeZero: includeZero,
1703
- includeTimeRange: includeTimeRange,
1704
- };
1705
- this.annaFilterService.initialValueMap.set(key, obj);
1706
- }
1707
-
1708
- startTimeHourChange(val: string){
1709
- if(val.length == 0 || 1 > parseInt(val) || parseInt(val) > 12){
1710
- this.startTimeHourErr = true;
1711
- }
1712
- else{
1713
- this.startTimeHourErr = false;
1714
- }
1715
- this.disableTimeFilterApplyButton();
1716
- }
1717
-
1718
- startTimeMinChange(val: string){
1719
- if(val.length != 2 || 0 > parseInt(val) || parseInt(val) > 59){
1720
- this.startTimeMinErr = true;
1721
- }
1722
- else{
1723
- this.startTimeMinErr = false;
1724
- }
1725
- this.disableTimeFilterApplyButton();
1726
- }
1727
-
1728
- endTimeHourChange(val: string){
1729
- if(val.length == 0 || 1 > parseInt(val) || parseInt(val) > 12){
1730
- this.endTimeHourErr = true;
1731
- }
1732
- else{
1733
- this.endTimeHourErr = false;
1734
- }
1735
- this.disableTimeFilterApplyButton();
1736
- }
1737
-
1738
- endTimeMinChange(val: string){
1739
- if(val.length != 2 || 0 > parseInt(val) || parseInt(val) > 59){
1740
- this.endTimeMinErr = true;
1741
- }
1742
- else{
1743
- this.endTimeMinErr = false;
1744
- }
1745
- this.disableTimeFilterApplyButton();
1746
- }
1747
-
1748
- }