@hisptz/dhis2-scorecard 1.0.13 → 1.0.14

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 (388) hide show
  1. package/dist/Scorecard.js +1 -1
  2. package/dist/Scorecard.js.map +1 -1
  3. package/dist/Scorecard.stories.js +1 -1
  4. package/dist/Scorecard.stories.js.map +1 -1
  5. package/dist/ScorecardContext.stories.js +1 -1
  6. package/dist/ScorecardContext.stories.js.map +1 -1
  7. package/dist/ScorecardPrintArea.stories.js +1 -1
  8. package/dist/ScorecardPrintArea.stories.js.map +1 -1
  9. package/dist/components/ColGroup.js +1 -1
  10. package/dist/components/ColGroup.js.map +1 -1
  11. package/dist/components/ConfigProvider.js +1 -1
  12. package/dist/components/ConfigProvider.js.map +1 -1
  13. package/dist/components/DataProvider.js +1 -1
  14. package/dist/components/DataProvider.js.map +1 -1
  15. package/dist/components/LoadingIndicator.js +1 -1
  16. package/dist/components/LoadingIndicator.js.map +1 -1
  17. package/dist/components/MetaProvider.js +1 -1
  18. package/dist/components/MetaProvider.js.map +1 -1
  19. package/dist/components/ScorecardContext.js +1 -1
  20. package/dist/components/ScorecardContext.js.map +1 -1
  21. package/dist/components/ScorecardHeader.js +1 -1
  22. package/dist/components/ScorecardHeader.js.map +1 -1
  23. package/dist/components/ScorecardLegendsView/ScorecardLegendsView.js +1 -1
  24. package/dist/components/ScorecardLegendsView/ScorecardLegendsView.js.map +1 -1
  25. package/dist/components/ScorecardLegendsView/components/ArrowLegendView.js +1 -1
  26. package/dist/components/ScorecardLegendsView/components/ArrowLegendView.js.map +1 -1
  27. package/dist/components/ScorecardLegendsView/components/LegendView.js +1 -1
  28. package/dist/components/ScorecardLegendsView/components/LegendView.js.map +1 -1
  29. package/dist/components/ScorecardLegendsView/components/OrgUnitLevelSpecificTargetView.js +1 -1
  30. package/dist/components/ScorecardLegendsView/components/OrgUnitLevelSpecificTargetView.js.map +1 -1
  31. package/dist/components/ScorecardLegendsView/components/OrgUnitSpecificTargetView.js +1 -1
  32. package/dist/components/ScorecardLegendsView/components/OrgUnitSpecificTargetView.js.map +1 -1
  33. package/dist/components/ScorecardLegendsView/components/PeriodSpecificTargetView.js +1 -1
  34. package/dist/components/ScorecardLegendsView/components/PeriodSpecificTargetView.js.map +1 -1
  35. package/dist/components/ScorecardLegendsView/components/SpecificTargetLegendsView.js +1 -1
  36. package/dist/components/ScorecardLegendsView/components/SpecificTargetLegendsView.js.map +1 -1
  37. package/dist/components/ScorecardLegendsView/index.js +1 -1
  38. package/dist/components/ScorecardLegendsView/index.js.map +1 -1
  39. package/dist/components/ScorecardPrint/ScorecardPrint.js +1 -1
  40. package/dist/components/ScorecardPrint/ScorecardPrint.js.map +1 -1
  41. package/dist/components/ScorecardPrint/components/ScorecardDownloadButton.js +3 -3
  42. package/dist/components/ScorecardPrint/components/ScorecardDownloadButton.js.map +1 -1
  43. package/dist/components/ScorecardPrint/components/ScorecardPreviewArea.js +28 -30
  44. package/dist/components/ScorecardPrint/components/ScorecardPreviewArea.js.map +1 -1
  45. package/dist/components/ScorecardPrint/print.css +0 -3
  46. package/dist/components/ScorecardPrint/print.css.map +1 -1
  47. package/dist/components/ScorecardPrint/utils/download.js +1 -1
  48. package/dist/components/ScorecardPrint/utils/download.js.map +1 -1
  49. package/dist/components/ScorecardTable/FurtherAnalysisDictionary/FurtherAnalysisDictionary.js +1 -1
  50. package/dist/components/ScorecardTable/FurtherAnalysisDictionary/FurtherAnalysisDictionary.js.map +1 -1
  51. package/dist/components/ScorecardTable/FurtherAnalysisDictionary/components/ConfigProvider.js +1 -1
  52. package/dist/components/ScorecardTable/FurtherAnalysisDictionary/components/ConfigProvider.js.map +1 -1
  53. package/dist/components/ScorecardTable/FurtherAnalysisDictionary/components/DetailsProvider.js +1 -1
  54. package/dist/components/ScorecardTable/FurtherAnalysisDictionary/components/DetailsProvider.js.map +1 -1
  55. package/dist/components/ScorecardTable/FurtherAnalysisDictionary/index.js +1 -1
  56. package/dist/components/ScorecardTable/FurtherAnalysisDictionary/index.js.map +1 -1
  57. package/dist/components/ScorecardTable/FurtherAnalysisVisualization.js +1 -1
  58. package/dist/components/ScorecardTable/FurtherAnalysisVisualization.js.map +1 -1
  59. package/dist/components/ScorecardTable/ScorecardTable.js +1 -1
  60. package/dist/components/ScorecardTable/ScorecardTable.js.map +1 -1
  61. package/dist/components/ScorecardTable/ScorecardTable.module.css +6 -1
  62. package/dist/components/ScorecardTable/ScorecardTable.module.css.map +1 -1
  63. package/dist/components/ScorecardTable/components/AverageCell.js +1 -1
  64. package/dist/components/ScorecardTable/components/AverageCell.js.map +1 -1
  65. package/dist/components/ScorecardTable/components/AverageFooterCell.js +1 -1
  66. package/dist/components/ScorecardTable/components/AverageFooterCell.js.map +1 -1
  67. package/dist/components/ScorecardTable/components/CellLoader.js +1 -1
  68. package/dist/components/ScorecardTable/components/CellLoader.js.map +1 -1
  69. package/dist/components/ScorecardTable/components/DataContainer.js +1 -1
  70. package/dist/components/ScorecardTable/components/DataContainer.js.map +1 -1
  71. package/dist/components/ScorecardTable/components/DataFooterCell.js +2 -2
  72. package/dist/components/ScorecardTable/components/DataFooterCell.js.map +1 -1
  73. package/dist/components/ScorecardTable/components/DataRow.js +5 -4
  74. package/dist/components/ScorecardTable/components/DataRow.js.map +1 -1
  75. package/dist/components/ScorecardTable/components/DataValue.js +1 -1
  76. package/dist/components/ScorecardTable/components/DataValue.js.map +1 -1
  77. package/dist/components/ScorecardTable/components/DraggableCell.js +1 -1
  78. package/dist/components/ScorecardTable/components/DraggableCell.js.map +1 -1
  79. package/dist/components/ScorecardTable/components/DroppableCell.js +1 -1
  80. package/dist/components/ScorecardTable/components/DroppableCell.js.map +1 -1
  81. package/dist/components/ScorecardTable/components/EmptyFooterCell.js +1 -1
  82. package/dist/components/ScorecardTable/components/EmptyFooterCell.js.map +1 -1
  83. package/dist/components/ScorecardTable/components/ExpandedScorecardTable.js +2 -1
  84. package/dist/components/ScorecardTable/components/ExpandedScorecardTable.js.map +1 -1
  85. package/dist/components/ScorecardTable/components/FurtherAnalysisMenu.js +1 -1
  86. package/dist/components/ScorecardTable/components/FurtherAnalysisMenu.js.map +1 -1
  87. package/dist/components/ScorecardTable/components/FurtherAnalysisModal.js +1 -1
  88. package/dist/components/ScorecardTable/components/FurtherAnalysisModal.js.map +1 -1
  89. package/dist/components/ScorecardTable/components/LinkedCell.js +8 -2
  90. package/dist/components/ScorecardTable/components/LinkedCell.js.map +1 -1
  91. package/dist/components/ScorecardTable/components/LinkedDataCell.js +1 -1
  92. package/dist/components/ScorecardTable/components/LinkedDataCell.js.map +1 -1
  93. package/dist/components/ScorecardTable/components/MetaFooterCell.js +1 -1
  94. package/dist/components/ScorecardTable/components/MetaFooterCell.js.map +1 -1
  95. package/dist/components/ScorecardTable/components/PaginatedToolbar.js +1 -1
  96. package/dist/components/ScorecardTable/components/PaginatedToolbar.js.map +1 -1
  97. package/dist/components/ScorecardTable/components/SingleDataCell.js +1 -1
  98. package/dist/components/ScorecardTable/components/SingleDataCell.js.map +1 -1
  99. package/dist/components/ScorecardTable/components/TableBody.js +1 -1
  100. package/dist/components/ScorecardTable/components/TableBody.js.map +1 -1
  101. package/dist/components/ScorecardTable/components/TableFoot.js +1 -1
  102. package/dist/components/ScorecardTable/components/TableFoot.js.map +1 -1
  103. package/dist/components/ScorecardTable/components/TableHeader/TableHeader.js +1 -1
  104. package/dist/components/ScorecardTable/components/TableHeader/TableHeader.js.map +1 -1
  105. package/dist/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.js +1 -1
  106. package/dist/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.js.map +1 -1
  107. package/dist/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js +1 -1
  108. package/dist/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js.map +1 -1
  109. package/dist/components/ScorecardTable/components/TableHeader/components/ExpandCell.js +1 -1
  110. package/dist/components/ScorecardTable/components/TableHeader/components/ExpandCell.js.map +1 -1
  111. package/dist/components/ScorecardTable/components/TableHeader/components/FilterArea.js +1 -1
  112. package/dist/components/ScorecardTable/components/TableHeader/components/FilterArea.js.map +1 -1
  113. package/dist/components/ScorecardTable/components/TableHeader/components/LabelCell.js +1 -1
  114. package/dist/components/ScorecardTable/components/TableHeader/components/LabelCell.js.map +1 -1
  115. package/dist/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js +1 -1
  116. package/dist/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js.map +1 -1
  117. package/dist/components/ScorecardTable/components/TableHeader/components/NumberCell.js +1 -1
  118. package/dist/components/ScorecardTable/components/TableHeader/components/NumberCell.js.map +1 -1
  119. package/dist/components/ScorecardTable/components/TableHeader/index.js +1 -1
  120. package/dist/components/ScorecardTable/components/TableHeader/index.js.map +1 -1
  121. package/dist/components/ScorecardTable/index.js +1 -1
  122. package/dist/components/ScorecardTable/index.js.map +1 -1
  123. package/dist/components/StateProvider.js +1 -1
  124. package/dist/components/StateProvider.js.map +1 -1
  125. package/dist/components/TableStateProvider.js +1 -1
  126. package/dist/components/TableStateProvider.js.map +1 -1
  127. package/dist/components/index.js +1 -1
  128. package/dist/components/index.js.map +1 -1
  129. package/dist/esm/Scorecard.js +1 -1
  130. package/dist/esm/Scorecard.js.map +1 -1
  131. package/dist/esm/Scorecard.stories.js +1 -1
  132. package/dist/esm/Scorecard.stories.js.map +1 -1
  133. package/dist/esm/ScorecardContext.stories.js +1 -1
  134. package/dist/esm/ScorecardContext.stories.js.map +1 -1
  135. package/dist/esm/ScorecardPrintArea.stories.js +1 -1
  136. package/dist/esm/ScorecardPrintArea.stories.js.map +1 -1
  137. package/dist/esm/components/ColGroup.js +1 -1
  138. package/dist/esm/components/ColGroup.js.map +1 -1
  139. package/dist/esm/components/ConfigProvider.js +1 -1
  140. package/dist/esm/components/ConfigProvider.js.map +1 -1
  141. package/dist/esm/components/DataProvider.js +1 -1
  142. package/dist/esm/components/DataProvider.js.map +1 -1
  143. package/dist/esm/components/LoadingIndicator.js +1 -1
  144. package/dist/esm/components/LoadingIndicator.js.map +1 -1
  145. package/dist/esm/components/MetaProvider.js +1 -1
  146. package/dist/esm/components/MetaProvider.js.map +1 -1
  147. package/dist/esm/components/ScorecardContext.js +1 -1
  148. package/dist/esm/components/ScorecardContext.js.map +1 -1
  149. package/dist/esm/components/ScorecardHeader.js +1 -1
  150. package/dist/esm/components/ScorecardHeader.js.map +1 -1
  151. package/dist/esm/components/ScorecardLegendsView/ScorecardLegendsView.js +1 -1
  152. package/dist/esm/components/ScorecardLegendsView/ScorecardLegendsView.js.map +1 -1
  153. package/dist/esm/components/ScorecardLegendsView/components/ArrowLegendView.js +1 -1
  154. package/dist/esm/components/ScorecardLegendsView/components/ArrowLegendView.js.map +1 -1
  155. package/dist/esm/components/ScorecardLegendsView/components/LegendView.js +1 -1
  156. package/dist/esm/components/ScorecardLegendsView/components/LegendView.js.map +1 -1
  157. package/dist/esm/components/ScorecardLegendsView/components/OrgUnitLevelSpecificTargetView.js +1 -1
  158. package/dist/esm/components/ScorecardLegendsView/components/OrgUnitLevelSpecificTargetView.js.map +1 -1
  159. package/dist/esm/components/ScorecardLegendsView/components/OrgUnitSpecificTargetView.js +1 -1
  160. package/dist/esm/components/ScorecardLegendsView/components/OrgUnitSpecificTargetView.js.map +1 -1
  161. package/dist/esm/components/ScorecardLegendsView/components/PeriodSpecificTargetView.js +1 -1
  162. package/dist/esm/components/ScorecardLegendsView/components/PeriodSpecificTargetView.js.map +1 -1
  163. package/dist/esm/components/ScorecardLegendsView/components/SpecificTargetLegendsView.js +1 -1
  164. package/dist/esm/components/ScorecardLegendsView/components/SpecificTargetLegendsView.js.map +1 -1
  165. package/dist/esm/components/ScorecardLegendsView/index.js +1 -1
  166. package/dist/esm/components/ScorecardLegendsView/index.js.map +1 -1
  167. package/dist/esm/components/ScorecardPrint/ScorecardPrint.js +1 -1
  168. package/dist/esm/components/ScorecardPrint/ScorecardPrint.js.map +1 -1
  169. package/dist/esm/components/ScorecardPrint/components/ScorecardDownloadButton.js +3 -3
  170. package/dist/esm/components/ScorecardPrint/components/ScorecardDownloadButton.js.map +1 -1
  171. package/dist/esm/components/ScorecardPrint/components/ScorecardPreviewArea.js +29 -31
  172. package/dist/esm/components/ScorecardPrint/components/ScorecardPreviewArea.js.map +1 -1
  173. package/dist/esm/components/ScorecardPrint/print.css +0 -3
  174. package/dist/esm/components/ScorecardPrint/print.css.map +1 -1
  175. package/dist/esm/components/ScorecardPrint/utils/download.js +1 -1
  176. package/dist/esm/components/ScorecardPrint/utils/download.js.map +1 -1
  177. package/dist/esm/components/ScorecardTable/FurtherAnalysisDictionary/FurtherAnalysisDictionary.js +1 -1
  178. package/dist/esm/components/ScorecardTable/FurtherAnalysisDictionary/FurtherAnalysisDictionary.js.map +1 -1
  179. package/dist/esm/components/ScorecardTable/FurtherAnalysisDictionary/components/ConfigProvider.js +1 -1
  180. package/dist/esm/components/ScorecardTable/FurtherAnalysisDictionary/components/ConfigProvider.js.map +1 -1
  181. package/dist/esm/components/ScorecardTable/FurtherAnalysisDictionary/components/DetailsProvider.js +1 -1
  182. package/dist/esm/components/ScorecardTable/FurtherAnalysisDictionary/components/DetailsProvider.js.map +1 -1
  183. package/dist/esm/components/ScorecardTable/FurtherAnalysisDictionary/index.js +1 -1
  184. package/dist/esm/components/ScorecardTable/FurtherAnalysisDictionary/index.js.map +1 -1
  185. package/dist/esm/components/ScorecardTable/FurtherAnalysisVisualization.js +1 -1
  186. package/dist/esm/components/ScorecardTable/FurtherAnalysisVisualization.js.map +1 -1
  187. package/dist/esm/components/ScorecardTable/ScorecardTable.js +1 -1
  188. package/dist/esm/components/ScorecardTable/ScorecardTable.js.map +1 -1
  189. package/dist/esm/components/ScorecardTable/ScorecardTable.module.css +6 -1
  190. package/dist/esm/components/ScorecardTable/ScorecardTable.module.css.map +1 -1
  191. package/dist/esm/components/ScorecardTable/components/AverageCell.js +1 -1
  192. package/dist/esm/components/ScorecardTable/components/AverageCell.js.map +1 -1
  193. package/dist/esm/components/ScorecardTable/components/AverageFooterCell.js +1 -1
  194. package/dist/esm/components/ScorecardTable/components/AverageFooterCell.js.map +1 -1
  195. package/dist/esm/components/ScorecardTable/components/CellLoader.js +1 -1
  196. package/dist/esm/components/ScorecardTable/components/CellLoader.js.map +1 -1
  197. package/dist/esm/components/ScorecardTable/components/DataContainer.js +1 -1
  198. package/dist/esm/components/ScorecardTable/components/DataContainer.js.map +1 -1
  199. package/dist/esm/components/ScorecardTable/components/DataFooterCell.js +2 -2
  200. package/dist/esm/components/ScorecardTable/components/DataFooterCell.js.map +1 -1
  201. package/dist/esm/components/ScorecardTable/components/DataRow.js +5 -4
  202. package/dist/esm/components/ScorecardTable/components/DataRow.js.map +1 -1
  203. package/dist/esm/components/ScorecardTable/components/DataValue.js +1 -1
  204. package/dist/esm/components/ScorecardTable/components/DataValue.js.map +1 -1
  205. package/dist/esm/components/ScorecardTable/components/DraggableCell.js +1 -1
  206. package/dist/esm/components/ScorecardTable/components/DraggableCell.js.map +1 -1
  207. package/dist/esm/components/ScorecardTable/components/DroppableCell.js +1 -1
  208. package/dist/esm/components/ScorecardTable/components/DroppableCell.js.map +1 -1
  209. package/dist/esm/components/ScorecardTable/components/EmptyFooterCell.js +1 -1
  210. package/dist/esm/components/ScorecardTable/components/EmptyFooterCell.js.map +1 -1
  211. package/dist/esm/components/ScorecardTable/components/ExpandedScorecardTable.js +2 -1
  212. package/dist/esm/components/ScorecardTable/components/ExpandedScorecardTable.js.map +1 -1
  213. package/dist/esm/components/ScorecardTable/components/FurtherAnalysisMenu.js +1 -1
  214. package/dist/esm/components/ScorecardTable/components/FurtherAnalysisMenu.js.map +1 -1
  215. package/dist/esm/components/ScorecardTable/components/FurtherAnalysisModal.js +1 -1
  216. package/dist/esm/components/ScorecardTable/components/FurtherAnalysisModal.js.map +1 -1
  217. package/dist/esm/components/ScorecardTable/components/LinkedCell.js +10 -4
  218. package/dist/esm/components/ScorecardTable/components/LinkedCell.js.map +1 -1
  219. package/dist/esm/components/ScorecardTable/components/LinkedDataCell.js +1 -1
  220. package/dist/esm/components/ScorecardTable/components/LinkedDataCell.js.map +1 -1
  221. package/dist/esm/components/ScorecardTable/components/MetaFooterCell.js +1 -1
  222. package/dist/esm/components/ScorecardTable/components/MetaFooterCell.js.map +1 -1
  223. package/dist/esm/components/ScorecardTable/components/PaginatedToolbar.js +1 -1
  224. package/dist/esm/components/ScorecardTable/components/PaginatedToolbar.js.map +1 -1
  225. package/dist/esm/components/ScorecardTable/components/SingleDataCell.js +1 -1
  226. package/dist/esm/components/ScorecardTable/components/SingleDataCell.js.map +1 -1
  227. package/dist/esm/components/ScorecardTable/components/TableBody.js +1 -1
  228. package/dist/esm/components/ScorecardTable/components/TableBody.js.map +1 -1
  229. package/dist/esm/components/ScorecardTable/components/TableFoot.js +1 -1
  230. package/dist/esm/components/ScorecardTable/components/TableFoot.js.map +1 -1
  231. package/dist/esm/components/ScorecardTable/components/TableHeader/TableHeader.js +1 -1
  232. package/dist/esm/components/ScorecardTable/components/TableHeader/TableHeader.js.map +1 -1
  233. package/dist/esm/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.js +1 -1
  234. package/dist/esm/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.js.map +1 -1
  235. package/dist/esm/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js +1 -1
  236. package/dist/esm/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js.map +1 -1
  237. package/dist/esm/components/ScorecardTable/components/TableHeader/components/ExpandCell.js +1 -1
  238. package/dist/esm/components/ScorecardTable/components/TableHeader/components/ExpandCell.js.map +1 -1
  239. package/dist/esm/components/ScorecardTable/components/TableHeader/components/FilterArea.js +1 -1
  240. package/dist/esm/components/ScorecardTable/components/TableHeader/components/FilterArea.js.map +1 -1
  241. package/dist/esm/components/ScorecardTable/components/TableHeader/components/LabelCell.js +1 -1
  242. package/dist/esm/components/ScorecardTable/components/TableHeader/components/LabelCell.js.map +1 -1
  243. package/dist/esm/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js +1 -1
  244. package/dist/esm/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js.map +1 -1
  245. package/dist/esm/components/ScorecardTable/components/TableHeader/components/NumberCell.js +1 -1
  246. package/dist/esm/components/ScorecardTable/components/TableHeader/components/NumberCell.js.map +1 -1
  247. package/dist/esm/components/ScorecardTable/components/TableHeader/index.js +1 -1
  248. package/dist/esm/components/ScorecardTable/components/TableHeader/index.js.map +1 -1
  249. package/dist/esm/components/ScorecardTable/index.js +1 -1
  250. package/dist/esm/components/ScorecardTable/index.js.map +1 -1
  251. package/dist/esm/components/StateProvider.js +1 -1
  252. package/dist/esm/components/StateProvider.js.map +1 -1
  253. package/dist/esm/components/TableStateProvider.js +1 -1
  254. package/dist/esm/components/TableStateProvider.js.map +1 -1
  255. package/dist/esm/components/index.js +1 -1
  256. package/dist/esm/components/index.js.map +1 -1
  257. package/dist/esm/hooks/cellData.js +2 -3
  258. package/dist/esm/hooks/cellData.js.map +1 -1
  259. package/dist/esm/hooks/columns.js +7 -1
  260. package/dist/esm/hooks/columns.js.map +1 -1
  261. package/dist/esm/hooks/data.js +2 -3
  262. package/dist/esm/hooks/data.js.map +1 -1
  263. package/dist/esm/hooks/dataItem.js +1 -1
  264. package/dist/esm/hooks/dataItem.js.map +1 -1
  265. package/dist/esm/hooks/index.js +1 -1
  266. package/dist/esm/hooks/index.js.map +1 -1
  267. package/dist/esm/hooks/metadata.js +1 -1
  268. package/dist/esm/hooks/metadata.js.map +1 -1
  269. package/dist/esm/hooks/orgUnit.js +1 -1
  270. package/dist/esm/hooks/orgUnit.js.map +1 -1
  271. package/dist/esm/hooks/period.js +1 -1
  272. package/dist/esm/hooks/period.js.map +1 -1
  273. package/dist/esm/hooks/table.js +3 -5
  274. package/dist/esm/hooks/table.js.map +1 -1
  275. package/dist/esm/hooks/value.js +1 -1
  276. package/dist/esm/hooks/value.js.map +1 -1
  277. package/dist/esm/index.js +1 -1
  278. package/dist/esm/index.js.map +1 -1
  279. package/dist/esm/schemas/config.js +1 -1
  280. package/dist/esm/schemas/config.js.map +1 -1
  281. package/dist/esm/state/index.js +1 -1
  282. package/dist/esm/state/index.js.map +1 -1
  283. package/dist/esm/tests/scorecard.test.js +4 -0
  284. package/dist/esm/tests/scorecard.test.js.map +1 -0
  285. package/dist/esm/utils/analytics.js +1 -1
  286. package/dist/esm/utils/analytics.js.map +1 -1
  287. package/dist/esm/utils/columns.js +1 -1
  288. package/dist/esm/utils/columns.js.map +1 -1
  289. package/dist/esm/utils/data.js +1 -1
  290. package/dist/esm/utils/data.js.map +1 -1
  291. package/dist/esm/utils/dataEngine.js +1 -1
  292. package/dist/esm/utils/dataEngine.js.map +1 -1
  293. package/dist/esm/utils/dataSources.js +1 -1
  294. package/dist/esm/utils/dataSources.js.map +1 -1
  295. package/dist/esm/utils/engine.js +1 -1
  296. package/dist/esm/utils/engine.js.map +1 -1
  297. package/dist/esm/utils/index.js +1 -1
  298. package/dist/esm/utils/index.js.map +1 -1
  299. package/dist/esm/utils/legends.js +1 -1
  300. package/dist/esm/utils/legends.js.map +1 -1
  301. package/dist/esm/utils/orgUnits.js +1 -1
  302. package/dist/esm/utils/orgUnits.js.map +1 -1
  303. package/dist/esm/utils/state.js +1 -1
  304. package/dist/esm/utils/state.js.map +1 -1
  305. package/dist/hooks/cellData.js +2 -3
  306. package/dist/hooks/cellData.js.map +1 -1
  307. package/dist/hooks/columns.js +7 -1
  308. package/dist/hooks/columns.js.map +1 -1
  309. package/dist/hooks/data.js +2 -3
  310. package/dist/hooks/data.js.map +1 -1
  311. package/dist/hooks/dataItem.js +1 -1
  312. package/dist/hooks/dataItem.js.map +1 -1
  313. package/dist/hooks/index.js +1 -1
  314. package/dist/hooks/index.js.map +1 -1
  315. package/dist/hooks/metadata.js +1 -1
  316. package/dist/hooks/metadata.js.map +1 -1
  317. package/dist/hooks/orgUnit.js +1 -1
  318. package/dist/hooks/orgUnit.js.map +1 -1
  319. package/dist/hooks/period.js +1 -1
  320. package/dist/hooks/period.js.map +1 -1
  321. package/dist/hooks/table.js +3 -5
  322. package/dist/hooks/table.js.map +1 -1
  323. package/dist/hooks/value.js +1 -1
  324. package/dist/hooks/value.js.map +1 -1
  325. package/dist/index.js +1 -1
  326. package/dist/index.js.map +1 -1
  327. package/dist/schemas/config.js +1 -1
  328. package/dist/schemas/config.js.map +1 -1
  329. package/dist/state/index.js +1 -1
  330. package/dist/state/index.js.map +1 -1
  331. package/dist/tests/scorecard.test.js +6 -0
  332. package/dist/tests/scorecard.test.js.map +1 -0
  333. package/dist/types/components/LoadingIndicator.d.ts.map +1 -1
  334. package/dist/types/components/MetaProvider.d.ts.map +1 -1
  335. package/dist/types/components/ScorecardLegendsView/ScorecardLegendsView.d.ts +0 -1
  336. package/dist/types/components/ScorecardLegendsView/ScorecardLegendsView.d.ts.map +1 -1
  337. package/dist/types/components/ScorecardPrint/components/ScorecardDownloadButton.d.ts.map +1 -1
  338. package/dist/types/components/ScorecardPrint/components/ScorecardPreviewArea.d.ts.map +1 -1
  339. package/dist/types/components/ScorecardTable/FurtherAnalysisDictionary/components/DetailsProvider.d.ts.map +1 -1
  340. package/dist/types/components/ScorecardTable/ScorecardTable.d.ts +0 -1
  341. package/dist/types/components/ScorecardTable/ScorecardTable.d.ts.map +1 -1
  342. package/dist/types/components/ScorecardTable/components/DataContainer.d.ts +0 -1
  343. package/dist/types/components/ScorecardTable/components/DataContainer.d.ts.map +1 -1
  344. package/dist/types/components/ScorecardTable/components/DataRow.d.ts.map +1 -1
  345. package/dist/types/components/ScorecardTable/components/DataValue.d.ts +2 -3
  346. package/dist/types/components/ScorecardTable/components/DataValue.d.ts.map +1 -1
  347. package/dist/types/components/ScorecardTable/components/ExpandedScorecardTable.d.ts.map +1 -1
  348. package/dist/types/components/ScorecardTable/components/LinkedCell.d.ts.map +1 -1
  349. package/dist/types/components/ScorecardTable/components/LinkedDataCell.d.ts +0 -1
  350. package/dist/types/components/ScorecardTable/components/LinkedDataCell.d.ts.map +1 -1
  351. package/dist/types/components/ScorecardTable/components/TableBody.d.ts.map +1 -1
  352. package/dist/types/components/ScorecardTable/components/TableHeader/TableHeader.d.ts +0 -1
  353. package/dist/types/components/ScorecardTable/components/TableHeader/TableHeader.d.ts.map +1 -1
  354. package/dist/types/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.d.ts +0 -1
  355. package/dist/types/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.d.ts.map +1 -1
  356. package/dist/types/components/ScorecardTable/components/TableHeader/components/NumberCell.d.ts +0 -1
  357. package/dist/types/components/ScorecardTable/components/TableHeader/components/NumberCell.d.ts.map +1 -1
  358. package/dist/types/components/TableStateProvider.d.ts.map +1 -1
  359. package/dist/types/hooks/columns.d.ts.map +1 -1
  360. package/dist/types/hooks/metadata.d.ts +10 -10
  361. package/dist/types/hooks/metadata.d.ts.map +1 -1
  362. package/dist/types/hooks/orgUnit.d.ts.map +1 -1
  363. package/dist/types/hooks/table.d.ts +0 -1
  364. package/dist/types/hooks/table.d.ts.map +1 -1
  365. package/dist/types/state/index.d.ts +1 -1
  366. package/dist/types/state/index.d.ts.map +1 -1
  367. package/dist/types/utils/dataEngine.d.ts.map +1 -1
  368. package/dist/utils/analytics.js +1 -1
  369. package/dist/utils/analytics.js.map +1 -1
  370. package/dist/utils/columns.js +1 -1
  371. package/dist/utils/columns.js.map +1 -1
  372. package/dist/utils/data.js +1 -1
  373. package/dist/utils/data.js.map +1 -1
  374. package/dist/utils/dataEngine.js +1 -1
  375. package/dist/utils/dataEngine.js.map +1 -1
  376. package/dist/utils/dataSources.js +1 -1
  377. package/dist/utils/dataSources.js.map +1 -1
  378. package/dist/utils/engine.js +1 -1
  379. package/dist/utils/engine.js.map +1 -1
  380. package/dist/utils/index.js +1 -1
  381. package/dist/utils/index.js.map +1 -1
  382. package/dist/utils/legends.js +1 -1
  383. package/dist/utils/legends.js.map +1 -1
  384. package/dist/utils/orgUnits.js +1 -1
  385. package/dist/utils/orgUnits.js.map +1 -1
  386. package/dist/utils/state.js +1 -1
  387. package/dist/utils/state.js.map +1 -1
  388. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"DetailsProvider.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ScorecardTable/FurtherAnalysisDictionary/components/DetailsProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAAc,MAAM,OAAO,CAAC;AAClE,OAAO,KAAK,EACX,mBAAmB,EAEnB,MAAM,4BAA4B,CAAC;AAmCpC,wBAAgB,kBAAkB,CAAC,CAAC,OAGnC;AAED,wBAAgB,eAAe,CAAC,EAC/B,QAAQ,EACR,QAAQ,EACR,MAAM,GACN,EAAE;IACF,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB,2CAwBA"}
1
+ {"version":3,"file":"DetailsProvider.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ScorecardTable/FurtherAnalysisDictionary/components/DetailsProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAAc,MAAM,OAAO,CAAC;AAClE,OAAO,KAAK,EACX,mBAAmB,EAEnB,MAAM,4BAA4B,CAAC;AAmCpC,wBAAgB,kBAAkB,CAAC,CAAC,KAER,CAAC,CAC5B;AAED,wBAAgB,eAAe,CAAC,EAC/B,QAAQ,EACR,QAAQ,EACR,MAAM,GACN,EAAE;IACF,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB,2CAwBA"}
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { type DataTableProps } from "@dhis2/ui";
3
2
  export interface ScorecardTableProps extends Omit<DataTableProps, "children"> {
4
3
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ScorecardTable.d.ts","sourceRoot":"","sources":["../../../../src/components/ScorecardTable/ScorecardTable.tsx"],"names":[],"mappings":";AAAA,OAAO,EAA6B,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAU3E,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC;CAAG;AAEhF,eAAO,MAAM,cAAc,2DA6DzB,CAAC"}
1
+ {"version":3,"file":"ScorecardTable.d.ts","sourceRoot":"","sources":["../../../../src/components/ScorecardTable/ScorecardTable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAU3E,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC;CAAG;AAEhF,eAAO,MAAM,cAAc,2DA6DzB,CAAC"}
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import type { CellContext } from "@tanstack/react-table";
3
2
  export declare const DataContainer: import("react").NamedExoticComponent<CellContext<{
4
3
  label: string;
@@ -1 +1 @@
1
- {"version":3,"file":"DataContainer.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardTable/components/DataContainer.tsx"],"names":[],"mappings":";AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAgDzD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAUxB,CAAC"}
1
+ {"version":3,"file":"DataContainer.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardTable/components/DataContainer.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAgDzD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAUxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DataRow.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardTable/components/DataRow.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAEX,kBAAkB,EAClB,MAAM,yBAAyB,CAAC;AAMjC,iBAAS,iBAAiB,CAAC,EAAE,GAAG,EAAE,EAAE;IAAE,GAAG,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAA;CAAE,2CAgDnE;AAED,eAAO,MAAM,QAAQ,0BAAoB,CAAC"}
1
+ {"version":3,"file":"DataRow.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardTable/components/DataRow.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAEX,kBAAkB,EAClB,MAAM,yBAAyB,CAAC;AAMjC,iBAAS,iBAAiB,CAAC,EAAE,GAAG,EAAE,EAAE;IAAE,GAAG,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAA;CAAE,2CAkDnE;AAED,eAAO,MAAM,QAAQ,0BAAoB,CAAC"}
@@ -1,8 +1,7 @@
1
- /// <reference types="react" />
2
1
  import type { ScorecardCellData } from "../../../schemas/config";
3
2
  export declare const DataValue: import("react").NamedExoticComponent<{
4
3
  dataSource: ScorecardCellData;
5
- value?: number | undefined;
6
- bold?: boolean | undefined;
4
+ value?: number;
5
+ bold?: boolean;
7
6
  }>;
8
7
  //# sourceMappingURL=DataValue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataValue.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardTable/components/DataValue.tsx"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGjE,eAAO,MAAM,SAAS;gBAKT,iBAAiB;;;EAoE5B,CAAC"}
1
+ {"version":3,"file":"DataValue.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardTable/components/DataValue.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGjE,eAAO,MAAM,SAAS;gBAKT,iBAAiB;YACrB,MAAM;WACP,OAAO;EAkEb,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ExpandedScorecardTable.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardTable/components/ExpandedScorecardTable.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAYxD,wBAAgB,sBAAsB,CAAC,EACtC,OAAO,EACP,OAAO,GACP,EAAE;IACF,OAAO,EAAE,QAAQ,GAAG;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,OAAO,EAAE,OAAO,CAAC;CACjB,kDA6EA"}
1
+ {"version":3,"file":"ExpandedScorecardTable.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardTable/components/ExpandedScorecardTable.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAYxD,wBAAgB,sBAAsB,CAAC,EACtC,OAAO,EACP,OAAO,GACP,EAAE;IACF,OAAO,EAAE,QAAQ,GAAG;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,OAAO,EAAE,OAAO,CAAC;CACjB,kDA8EA"}
@@ -1 +1 @@
1
- {"version":3,"file":"LinkedCell.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardTable/components/LinkedCell.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAkB,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EACX,gBAAgB,EAChB,iBAAiB,EACjB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,eAAe;IAC/B,GAAG,EAAE;QACJ,UAAU,EAAE,iBAAiB,CAAC;QAC9B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;QACpC,KAAK,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,MAAM,EAAE;QACP,UAAU,EAAE,iBAAiB,CAAC;QAC9B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;QACpC,KAAK,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB;AAED,iBAAS,mBAAmB,CAAC,EAC5B,GAAG,EACH,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,GAAG,KAAK,EACR,EAAE,eAAe,2CA6FjB;AAED,eAAO,MAAM,UAAU,uDAKrB,CAAC"}
1
+ {"version":3,"file":"LinkedCell.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardTable/components/LinkedCell.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA0B,MAAM,OAAO,CAAC;AAC/C,OAAO,KAAK,EACX,gBAAgB,EAChB,iBAAiB,EACjB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,eAAe;IAC/B,GAAG,EAAE;QACJ,UAAU,EAAE,iBAAiB,CAAC;QAC9B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;QACpC,KAAK,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,MAAM,EAAE;QACP,UAAU,EAAE,iBAAiB,CAAC;QAC9B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;QACpC,KAAK,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB;AAED,iBAAS,mBAAmB,CAAC,EAC5B,GAAG,EACH,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,GAAG,KAAK,EACR,EAAE,eAAe,2CAmGjB;AAED,eAAO,MAAM,UAAU,uDAKrB,CAAC"}
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import type { ScorecardCellData } from "../../../schemas/config";
3
2
  import type { ItemMeta } from "../../../hooks/metadata";
4
3
  export interface LinkedDataCellProps {
@@ -1 +1 @@
1
- {"version":3,"file":"LinkedDataCell.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardTable/components/LinkedDataCell.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAWxD,MAAM,WAAW,mBAAmB;IACnC,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACjC,OAAO,EAAE,QAAQ,GAAG;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACb;AAED,iBAAS,uBAAuB,CAAC,EAChC,WAAW,EACX,OAAO,EACP,MAAM,EACN,IAAI,GACJ,EAAE,mBAAmB,2CA+ErB;AAED,eAAO,MAAM,cAAc,qEAK1B,CAAC"}
1
+ {"version":3,"file":"LinkedDataCell.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardTable/components/LinkedDataCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAWxD,MAAM,WAAW,mBAAmB;IACnC,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACjC,OAAO,EAAE,QAAQ,GAAG;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACb;AAED,iBAAS,uBAAuB,CAAC,EAChC,WAAW,EACX,OAAO,EACP,MAAM,EACN,IAAI,GACJ,EAAE,mBAAmB,2CA+ErB;AAED,eAAO,MAAM,cAAc,qEAK1B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"TableBody.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardTable/components/TableBody.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAQ,KAAK,SAAS,EAAW,MAAM,OAAO,CAAC;AAGtD,eAAO,MAAM,SAAS;cAGX,UAAU,gBAAgB,CAAC;EAsBpC,CAAC"}
1
+ {"version":3,"file":"TableBody.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardTable/components/TableBody.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAQ,KAAK,SAAS,EAAW,MAAM,OAAO,CAAC;AAGtD,eAAO,MAAM,SAAS;cAGX,SAAS,CAAC,gBAAgB,CAAC;EAsBpC,CAAC"}
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
1
  export declare const TableHeader: import("react").NamedExoticComponent<object>;
3
2
  //# sourceMappingURL=TableHeader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableHeader.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ScorecardTable/components/TableHeader/TableHeader.tsx"],"names":[],"mappings":";AAMA,eAAO,MAAM,WAAW,8CAmBtB,CAAC"}
1
+ {"version":3,"file":"TableHeader.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ScorecardTable/components/TableHeader/TableHeader.tsx"],"names":[],"mappings":"AAMA,eAAO,MAAM,WAAW,8CAmBtB,CAAC"}
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import type { HeaderContext } from "@tanstack/react-table";
3
2
  import type { ScorecardTableData } from "../../../../../schemas/config";
4
3
  declare function MetaHeaderCellComponent({ header, }: HeaderContext<ScorecardTableData, any>): import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"MetaHeaderCell.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AASxE,iBAAS,uBAAuB,CAAC,EAChC,MAAM,GACN,EAAE,aAAa,CAAC,kBAAkB,EAAE,GAAG,CAAC,2CA2DxC;AAED,eAAO,MAAM,cAAc,qEAAgC,CAAC"}
1
+ {"version":3,"file":"MetaHeaderCell.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AASxE,iBAAS,uBAAuB,CAAC,EAChC,MAAM,GACN,EAAE,aAAa,CAAC,kBAAkB,EAAE,GAAG,CAAC,2CA2DxC;AAED,eAAO,MAAM,cAAc,qEAAgC,CAAC"}
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import type { CellContext } from "@tanstack/react-table";
3
2
  import type { ScorecardTableData } from "../../../../../schemas/config";
4
3
  declare function NumberCellComponent(props: CellContext<ScorecardTableData, string | number>): import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"NumberCell.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/ScorecardTable/components/TableHeader/components/NumberCell.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAIxE,iBAAS,mBAAmB,CAC3B,KAAK,EAAE,WAAW,CAAC,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAAC,2CA8BvD;AAED,eAAO,MAAM,UAAU,iEAA4B,CAAC"}
1
+ {"version":3,"file":"NumberCell.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/ScorecardTable/components/TableHeader/components/NumberCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAIxE,iBAAS,mBAAmB,CAC3B,KAAK,EAAE,WAAW,CAAC,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAAC,2CA8BvD;AAED,eAAO,MAAM,UAAU,iEAA4B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"TableStateProvider.d.ts","sourceRoot":"","sources":["../../../src/components/TableStateProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGN,KAAK,SAAS,EAGd,MAAM,OAAO,CAAC;AAoBf,wBAAgB,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAI5B;AAED,wBAAgB,0BAA0B,eAEzC;AAED,wBAAgB,oBAAoB,YAEnC;AAED,wBAAgB,yBAAyB,CAAC,EACzC,QAAQ,GACR,EAAE;IACF,QAAQ,EAAE,SAAS,CAAC;CACpB,2CAUA;AAED,eAAO,MAAM,kBAAkB;cAGpB,SAAS;EAQlB,CAAC"}
1
+ {"version":3,"file":"TableStateProvider.d.ts","sourceRoot":"","sources":["../../../src/components/TableStateProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGN,KAAK,SAAS,EAGd,MAAM,OAAO,CAAC;AAoBf,wBAAgB,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAI5B;AAED,wBAAgB,0BAA0B,UARiB,IAAI,CAU9D;AAED,wBAAgB,oBAAoB,YAEnC;AAED,wBAAgB,yBAAyB,CAAC,EACzC,QAAQ,GACR,EAAE;IACF,QAAQ,EAAE,SAAS,CAAC;CACpB,2CAUA;AAED,eAAO,MAAM,kBAAkB;cAGpB,SAAS;EAQlB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"columns.d.ts","sourceRoot":"","sources":["../../../src/hooks/columns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAsB,MAAM,uBAAuB,CAAC;AAG3E,OAAO,EAEN,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,MAAM,mBAAmB,CAAC;AAmB3B,wBAAgB,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAoH7B;AAED,wBAAgB,eAAe,IAAI,SAAS,CAC3C,kBAAkB,EAClB,wBAAwB,CACxB,EAAE,CA6DF"}
1
+ {"version":3,"file":"columns.d.ts","sourceRoot":"","sources":["../../../src/hooks/columns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAsB,MAAM,uBAAuB,CAAC;AAG3E,OAAO,EAEN,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,MAAM,mBAAmB,CAAC;AAmB3B,wBAAgB,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAgI7B;AAED,wBAAgB,eAAe,IAAI,SAAS,CAC3C,kBAAkB,EAClB,wBAAwB,CACxB,EAAE,CA6DF"}
@@ -14,21 +14,21 @@ export declare function useGetScorecardMeta(): {
14
14
  hierarchy: string;
15
15
  uid: string;
16
16
  name: string;
17
- code?: string | undefined;
18
- description?: string | undefined;
19
- valueType?: string | undefined;
20
- totalAggregationType?: string | undefined;
21
- aggregationType?: string | undefined;
17
+ code?: string;
18
+ description?: string;
19
+ valueType?: string;
20
+ totalAggregationType?: string;
21
+ aggregationType?: string;
22
22
  }[];
23
23
  periods: ItemMeta[];
24
24
  dataItems: {
25
25
  uid: string;
26
26
  name: string;
27
- code?: string | undefined;
28
- description?: string | undefined;
29
- valueType?: string | undefined;
30
- totalAggregationType?: string | undefined;
31
- aggregationType?: string | undefined;
27
+ code?: string;
28
+ description?: string;
29
+ valueType?: string;
30
+ totalAggregationType?: string;
31
+ aggregationType?: string;
32
32
  }[];
33
33
  orgUnitLevels: {
34
34
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../src/hooks/metadata.ts"],"names":[],"mappings":"AA2CA,MAAM,MAAM,QAAQ,GAAG;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CAC3C,CAAC;AAgCF,wBAAgB,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqGlC;AAED,wBAAgB,WAAW,wPAM1B"}
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../src/hooks/metadata.ts"],"names":[],"mappings":"AA2CA,MAAM,MAAM,QAAQ,GAAG;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CAC3C,CAAC;AAgCF,wBAAgB,mBAAmB;;;;aAxC7B,MAAM;cACL,MAAM;eACL,MAAM;sBACC,MAAM;oBACR,MAAM;+BACK,MAAM;0BACX,MAAM;;;;;cALlB,MAAM;eACL,MAAM;sBACC,MAAM;oBACR,MAAM;+BACK,MAAM;0BACX,MAAM;;;YA2BlB,MAAM;eACH,MAAM;qBACA,MAAM;;;EA0GrB;AAED,wBAAgB,WAAW,wPAM1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"orgUnit.d.ts","sourceRoot":"","sources":["../../../src/hooks/orgUnit.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACX,gBAAgB,EAChB,qBAAqB,EACrB,MAAM,qBAAqB,CAAC;AAI7B,wBAAgB,qBAAqB;;;;cAOpC;AAcD,KAAK,eAAe,GAAG;IACtB,EAAE,EAAE;QACH,iBAAiB,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;KAC3C,CAAC;CACF,CAAC;AAEF,wBAAgB,WAAW,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE;;;yBAqBnC,OAAO,MAAM,EAAE,GAAG,CAAC,KAC1B,eAAe;EAErB;AAcD,wBAAgB,gBAAgB,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI;;;yBAmBhB,OAAO,MAAM,EAAE,GAAG,CAAC,KAAK;QAClE,KAAK,EAAE;YAAE,sBAAsB,EAAE,qBAAqB,EAAE,CAAA;SAAE,CAAC;KAC3D;EAEF"}
1
+ {"version":3,"file":"orgUnit.d.ts","sourceRoot":"","sources":["../../../src/hooks/orgUnit.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACX,gBAAgB,EAChB,qBAAqB,EACrB,MAAM,qBAAqB,CAAC;AAI7B,wBAAgB,qBAAqB;;;;cAOpC;AAcD,KAAK,eAAe,GAAG;IACtB,EAAE,EAAE;QACH,iBAAiB,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;KAC3C,CAAC;CACF,CAAC;AAEF,wBAAgB,WAAW,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE;;;aAoBhB,CAC9B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAC1B,eAAe;EAErB;AAcD,wBAAgB,gBAAgB,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI;;;aAmB5B,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK;QAClE,KAAK,EAAE;YAAE,sBAAsB,EAAE,qBAAqB,EAAE,CAAA;SAAE,CAAC;KAC3D;EAEF"}
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { type ExpandedState, type Row, type TableOptions, type VisibilityState } from "@tanstack/react-table";
3
2
  import type { ScorecardTableData, ScorecardViewOptions } from "../schemas/config";
4
3
  import { type ScorecardMeta } from "../components";
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/hooks/table.ts"],"names":[],"mappings":";AAAA,OAAO,EAEN,KAAK,aAAa,EAOlB,KAAK,GAAG,EAER,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EACX,kBAAkB,EAClB,oBAAoB,EACpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACN,KAAK,aAAa,EAIlB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,KAAK,aAAa,EAAmB,MAAM,eAAe,CAAC;AAEpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAI/D,wBAAgB,YAAY,CAAC,EAC5B,IAAI,EACJ,cAAc,EACd,GAAG,GACH,EAAE;IACF,GAAG,EAAE,kBAAkB,CAAC;IACxB,IAAI,EAAE,aAAa,EAAE,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;CACxB,GAAG,aAAa,EAAE,CASlB;AAED,wBAAgB,UAAU,CAAC,EAC1B,IAAI,EACJ,SAAS,EACT,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,IAAI,GACJ,EAAE;IACF,SAAS,EAAE,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAC7C,cAAc,EAAE,OAAO,CAAC;IACxB,kBAAkB,EAAE,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;IAC/D,UAAU,EAAE,mBAAmB,CAAC;IAChC,IAAI,EAAE,kBAAkB,EAAE,CAAC;IAC3B,IAAI,EAAE,aAAa,CAAC;CACpB,YA8CA;AAED,wBAAgB,YAAY,IAAI,kBAAkB,EAAE,CAmEnD;AAED,wBAAgB,mBAAmB;;;EAsClC;AAED,wBAAgB,eAAe;;;2BAQY,IAAI,kBAAkB,CAAC;EAcjE;AAED,wBAAgB,aAAa,IAAI,YAAY,CAAC,kBAAkB,CAAC,CA2DhE"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/hooks/table.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,aAAa,EAOlB,KAAK,GAAG,EAER,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EACX,kBAAkB,EAClB,oBAAoB,EACpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACN,KAAK,aAAa,EAIlB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,KAAK,aAAa,EAAmB,MAAM,eAAe,CAAC;AAEpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAI/D,wBAAgB,YAAY,CAAC,EAC5B,IAAI,EACJ,cAAc,EACd,GAAG,GACH,EAAE;IACF,GAAG,EAAE,kBAAkB,CAAC;IACxB,IAAI,EAAE,aAAa,EAAE,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;CACxB,GAAG,aAAa,EAAE,CASlB;AAED,wBAAgB,UAAU,CAAC,EAC1B,IAAI,EACJ,SAAS,EACT,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,IAAI,GACJ,EAAE;IACF,SAAS,EAAE,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAC7C,cAAc,EAAE,OAAO,CAAC;IACxB,kBAAkB,EAAE,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;IAC/D,UAAU,EAAE,mBAAmB,CAAC;IAChC,IAAI,EAAE,kBAAkB,EAAE,CAAC;IAC3B,IAAI,EAAE,aAAa,CAAC;CACpB,YA8CA;AAED,wBAAgB,YAAY,IAAI,kBAAkB,EAAE,CAmEnD;AAED,wBAAgB,mBAAmB;;;EAsClC;AAED,wBAAgB,eAAe;;;2BAQY,GAAG,CAAC,kBAAkB,CAAC;EAcjE;AAED,wBAAgB,aAAa,IAAI,YAAY,CAAC,kBAAkB,CAAC,CA2DhE"}
@@ -104,6 +104,6 @@ export declare function useScorecardPeriodState(): [{
104
104
  }>];
105
105
  export declare function useSetScorecardStateSelector<ConfigType>(path: string | string[]): import("recoil").SetterOrUpdater<ConfigType>;
106
106
  export declare function useScorecardStateSelectorValue<ConfigType>(path: string | string[]): ConfigType;
107
- export declare function useScorecardViewOptionValue(key: keyof ScorecardViewOptions): boolean | "ALL" | "ABOVE_AVERAGE" | "BELOW_AVERAGE" | undefined;
107
+ export declare function useScorecardViewOptionValue(key: keyof ScorecardViewOptions): ScorecardViewOptions[typeof key];
108
108
  export declare function useScorecardStateSelector<ConfigType>(path: string | string[]): [any, import("recoil").SetterOrUpdater<any>];
109
109
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/state/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAIX,oBAAoB,EACpB,MAAM,mBAAmB,CAAC;AAG3B,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAI7B,CAAC;AAEH,eAAO,MAAM,sBAAsB,iEAgBjC,CAAC;AAEH,wBAAgB,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAErC;AAED,wBAAgB,iCAAiC;;;;;;;;;;;;;;;;;;IAIhD;AAED,wBAAgB,uBAAuB;;;;;;;;;;IAItC;AAED,wBAAgB,4BAA4B,CAAC,UAAU,EACtD,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,gDAGvB;AAED,wBAAgB,8BAA8B,CAAC,UAAU,EACxD,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,cAGvB;AAED,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,MAAM,oBAAoB,mEAK1E;AAED,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,gDAE5E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/state/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAIX,oBAAoB,EACpB,MAAM,mBAAmB,CAAC;AAG3B,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAI7B,CAAC;AAEH,eAAO,MAAM,sBAAsB,iEAgBjC,CAAC;AAEH,wBAAgB,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAErC;AAED,wBAAgB,iCAAiC;;;;;;;;;;;;;;;;;;IAIhD;AAED,wBAAgB,uBAAuB;;;;;;;;;;IAItC;AAED,wBAAgB,4BAA4B,CAAC,UAAU,EACtD,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,gDAGvB;AAED,wBAAgB,8BAA8B,CAAC,UAAU,EACxD,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,cAGvB;AAED,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,MAAM,oBAAoB,GAIpE,oBAAoB,CAAC,OAAO,GAAG,CAAC,CACtC;AAED,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,gDAE5E"}
@@ -1 +1 @@
1
- {"version":3,"file":"dataEngine.d.ts","sourceRoot":"","sources":["../../../src/utils/dataEngine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAG5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEzC,MAAM,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC;AACxC,MAAM,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,IAAI,CAAC;AACjE,MAAM,MAAM,4BAA4B,GAAG,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;AACxE,MAAM,MAAM,iBAAiB,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;AAI3D,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE/E,wBAAgB,yBAAyB;;iBAG7B,MAAM,EAAE;kBACP,MAAM,EAAE;mBACP,MAAM,EAAE;;;;;;;;;;;;;;;;+BAqBO,MAAM;kCAIH,MAAM;8BAIV,kBAAkB,GAAG,cAAc;oCAOlD,4BAA4B,GACpC,cAAc;kCAMa,iBAAiB,GAAG,cAAc;6BAMvC,kBAAkB;qBAG1B,aAAa,EAAE;;;;mCAyIX;QACnB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,SAAS,EAAE,MAAM,EAAE,CAAC;KACpB,KAAK,QAAQ,aAAa,EAAE,CAAC;oBAIjB;YACX,SAAS,EAAE,MAAM,EAAE,CAAC;YACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,OAAO,EAAE,MAAM,EAAE,CAAC;SAClB;;EAaJ"}
1
+ {"version":3,"file":"dataEngine.d.ts","sourceRoot":"","sources":["../../../src/utils/dataEngine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAG5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEzC,MAAM,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC;AACxC,MAAM,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,IAAI,CAAC;AACjE,MAAM,MAAM,4BAA4B,GAAG,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;AACxE,MAAM,MAAM,iBAAiB,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;AAI3D,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE/E,wBAAgB,yBAAyB;WAEU,WAAW,CAAC;QAC5D,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,SAAS,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;UACU,aAAa,EAAE;;;;;mBAKN,kBAAkB,EAAE;yBACd,4BAA4B,EAAE;uBAChC,iBAAiB,EAAE;;kBAE3B,MAAM,EAAE;iBACT,MAAM,EAAE;mBACN,MAAM,EAAE;;;+BAQC,MAAM;kCAIH,MAAM;8BAIV,kBAAkB,GAAG,cAAc;oCAOlD,4BAA4B,GACpC,cAAc;kCAMa,iBAAiB,GAAG,cAAc;6BAMvC,kBAAkB;qBAG1B,aAAa,EAAE;;;;sBAyIxB,CAAC,UAAU,EAAE;QACnB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,SAAS,EAAE,MAAM,EAAE,CAAC;KACpB,KAAK,OAAO,CAAC,aAAa,EAAE,CAAC,mBAG3B;QACF,UAAU,EAAE;YACX,SAAS,EAAE,MAAM,EAAE,CAAC;YACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,OAAO,EAAE,MAAM,EAAE,CAAC;SAClB,CAAC;KACF;EAYH"}
@@ -35,5 +35,5 @@ function getDimensionsFromMeta({ meta }) {
35
35
 
36
36
  exports.getDimensions = getDimensions;
37
37
  exports.getDimensionsFromMeta = getDimensionsFromMeta;
38
- //# sourceMappingURL=out.js.map
38
+ //# sourceMappingURL=analytics.js.map
39
39
  //# sourceMappingURL=analytics.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/analytics.ts"],"names":[],"mappings":"AACA,SAAS,gCAAgC;AACzC,SAAS,+BAA+B;AAGjC,SAAS,cAAc;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AACD,GAIG;AACF,QAAM,kBAAkB;AAAA,IACvB,QAAQ,eAAe,cAAc,CAAC;AAAA,EACvC;AAEA,QAAM,eAAe,iBAAiB,IAAI,CAAC,SAAS,MAAM,EAAE;AAC5D,QAAM,cAAc;AAAA,IACnB,oBAAoB,QAAQ;AAAA,EAC7B;AACA,QAAM,aAAa,gBAAgB,QAAQ,IAAI,CAAC,WAAW,OAAO,EAAE;AAEpE,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACD;AAEO,SAAS,sBAAsB,EAAE,KAAK,GAA4B;AACxE,QAAM,eAAe,KAAK,UAAU,IAAI,CAAC,SAAS,KAAK,GAAG;AAC1D,QAAM,cAAc,KAAK,SAAS,IAAI,CAAC,YAAY,QAAQ,GAAG;AAC9D,QAAM,aAAa,KAAK,QAAQ,IAAI,CAAC,WAAW,OAAO,GAAG;AAE1D,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACD","sourcesContent":["import type { ScorecardConfig, ScorecardState } from \"../schemas/config\";\nimport { getDataSourcesFromGroups } from \"./dataSources\";\nimport { getOrgUnitsForAnalytics } from \"./orgUnits\";\nimport type { ScorecardMeta } from \"../components\";\n\nexport function getDimensions({\n\tconfig,\n\torgUnitSelection,\n\tperiodSelection,\n}: {\n\tconfig: ScorecardConfig;\n\torgUnitSelection: ScorecardState[\"orgUnitSelection\"];\n\tperiodSelection: ScorecardState[\"periodSelection\"];\n}) {\n\tconst dataItemObjects = getDataSourcesFromGroups(\n\t\tconfig?.dataSelection?.dataGroups ?? [],\n\t);\n\n\tconst dataItemsIds = dataItemObjects?.map((item) => item?.id);\n\tconst orgUnitsIds = getOrgUnitsForAnalytics(\n\t\torgUnitSelection ?? config?.orgUnitSelection,\n\t);\n\tconst periodsIds = periodSelection.periods.map((period) => period.id);\n\n\treturn {\n\t\tdataItemsIds,\n\t\torgUnitsIds,\n\t\tperiodsIds,\n\t};\n}\n\nexport function getDimensionsFromMeta({ meta }: { meta: ScorecardMeta }) {\n\tconst dataItemsIds = meta.dataItems.map((item) => item.uid);\n\tconst orgUnitsIds = meta.orgUnits.map((orgUnit) => orgUnit.uid);\n\tconst periodsIds = meta.periods.map((period) => period.uid);\n\n\treturn {\n\t\tdataItemsIds,\n\t\torgUnitsIds,\n\t\tperiodsIds,\n\t};\n}\n"]}
1
+ {"version":3,"sources":["../../src/utils/analytics.ts"],"names":["getDataSourcesFromGroups","getOrgUnitsForAnalytics"],"mappings":";;;;;AAKO,SAAS,aAAc,CAAA;AAAA,EAC7B,MAAA;AAAA,EACA,gBAAA;AAAA,EACA,eAAA;AACD,CAIG,EAAA;AACF,EAAA,MAAM,eAAkB,GAAAA,oCAAA;AAAA,IACvB,MAAA,EAAQ,aAAe,EAAA,UAAA,IAAc,EAAC;AAAA,GACvC,CAAA;AAEA,EAAA,MAAM,eAAe,eAAiB,EAAA,GAAA,CAAI,CAAC,IAAA,KAAS,MAAM,EAAE,CAAA,CAAA;AAC5D,EAAA,MAAM,WAAc,GAAAC,gCAAA;AAAA,IACnB,oBAAoB,MAAQ,EAAA,gBAAA;AAAA,GAC7B,CAAA;AACA,EAAA,MAAM,aAAa,eAAgB,CAAA,OAAA,CAAQ,IAAI,CAAC,MAAA,KAAW,OAAO,EAAE,CAAA,CAAA;AAEpE,EAAO,OAAA;AAAA,IACN,YAAA;AAAA,IACA,WAAA;AAAA,IACA,UAAA;AAAA,GACD,CAAA;AACD,CAAA;AAEO,SAAS,qBAAA,CAAsB,EAAE,IAAA,EAAiC,EAAA;AACxE,EAAA,MAAM,eAAe,IAAK,CAAA,SAAA,CAAU,IAAI,CAAC,IAAA,KAAS,KAAK,GAAG,CAAA,CAAA;AAC1D,EAAA,MAAM,cAAc,IAAK,CAAA,QAAA,CAAS,IAAI,CAAC,OAAA,KAAY,QAAQ,GAAG,CAAA,CAAA;AAC9D,EAAA,MAAM,aAAa,IAAK,CAAA,OAAA,CAAQ,IAAI,CAAC,MAAA,KAAW,OAAO,GAAG,CAAA,CAAA;AAE1D,EAAO,OAAA;AAAA,IACN,YAAA;AAAA,IACA,WAAA;AAAA,IACA,UAAA;AAAA,GACD,CAAA;AACD","file":"analytics.js","sourcesContent":["import type { ScorecardConfig, ScorecardState } from \"../schemas/config\";\nimport { getDataSourcesFromGroups } from \"./dataSources\";\nimport { getOrgUnitsForAnalytics } from \"./orgUnits\";\nimport type { ScorecardMeta } from \"../components\";\n\nexport function getDimensions({\n\tconfig,\n\torgUnitSelection,\n\tperiodSelection,\n}: {\n\tconfig: ScorecardConfig;\n\torgUnitSelection: ScorecardState[\"orgUnitSelection\"];\n\tperiodSelection: ScorecardState[\"periodSelection\"];\n}) {\n\tconst dataItemObjects = getDataSourcesFromGroups(\n\t\tconfig?.dataSelection?.dataGroups ?? [],\n\t);\n\n\tconst dataItemsIds = dataItemObjects?.map((item) => item?.id);\n\tconst orgUnitsIds = getOrgUnitsForAnalytics(\n\t\torgUnitSelection ?? config?.orgUnitSelection,\n\t);\n\tconst periodsIds = periodSelection.periods.map((period) => period.id);\n\n\treturn {\n\t\tdataItemsIds,\n\t\torgUnitsIds,\n\t\tperiodsIds,\n\t};\n}\n\nexport function getDimensionsFromMeta({ meta }: { meta: ScorecardMeta }) {\n\tconst dataItemsIds = meta.dataItems.map((item) => item.uid);\n\tconst orgUnitsIds = meta.orgUnits.map((orgUnit) => orgUnit.uid);\n\tconst periodsIds = meta.periods.map((period) => period.uid);\n\n\treturn {\n\t\tdataItemsIds,\n\t\torgUnitsIds,\n\t\tperiodsIds,\n\t};\n}\n"]}
@@ -308,5 +308,5 @@ exports.getAverageValue = getAverageValue;
308
308
  exports.getDataColumnHeaders = getDataColumnHeaders;
309
309
  exports.getOrgUnitColumnHeaders = getOrgUnitColumnHeaders;
310
310
  exports.getValues = getValues;
311
- //# sourceMappingURL=out.js.map
311
+ //# sourceMappingURL=columns.js.map
312
312
  //# sourceMappingURL=columns.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/columns.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ScorecardMeta } from \"../components\";\nimport type {\n\tScorecardAnalyticsData,\n\tScorecardCellData,\n\tScorecardConfig,\n\tScorecardDataHolder,\n\tScorecardTableAverageCellConfig,\n\tScorecardTableCellConfig,\n\tScorecardTableData,\n} from \"../schemas/config\";\nimport {\n\ttype ColumnDef,\n\tcreateColumnHelper,\n\ttype Row,\n} from \"@tanstack/react-table\";\nimport { head, sum } from \"lodash\";\nimport type { ItemMeta } from \"../hooks/metadata\";\nimport { DataContainer } from \"../components/ScorecardTable/components/DataContainer\";\nimport {\n\tDataHeaderCell,\n\tEmptyDataHeaderCell,\n} from \"../components/ScorecardTable/components/TableHeader/components/DataHeaderCell\";\nimport {\n\tcreateFixedPeriodFromPeriodId,\n\tgetAdjacentFixedPeriods,\n} from \"@dhis2/multi-calendar-dates\";\nimport type { SupportedCalendar } from \"@dhis2/multi-calendar-dates/build/types/types\";\nimport { AverageCell } from \"../components/ScorecardTable/components/AverageCell\";\nimport { AverageHeaderCell } from \"../components/ScorecardTable/components/TableHeader/components/AverageHeaderCell\";\nimport { DataFooterCell } from \"../components/ScorecardTable/components/DataFooterCell\";\nimport { AverageFooterCell } from \"../components/ScorecardTable/components/AverageFooterCell\";\nimport type { ScorecardDataEngine } from \"./dataEngine\";\nimport type { AnalyticsData } from \"./data\";\n\nconst columnHelper = createColumnHelper<ScorecardTableData>();\n\nfunction getValueFromConfig({\n\tconfig,\n\tdata,\n}: {\n\tconfig: ScorecardTableCellConfig;\n\tdata: AnalyticsData[];\n}): ScorecardCellData {\n\tconst dataValues = data.filter((datum) => {\n\t\treturn (\n\t\t\tconfig.orgUnit.uid === datum.ou &&\n\t\t\tconfig.currentPeriod === datum.pe &&\n\t\t\tdatum.dx === head(config.dataSources)!.id\n\t\t);\n\t});\n\n\treturn {\n\t\t...head(config.dataSources)!,\n\t\tdata: getValues({\n\t\t\tvalues: dataValues,\n\t\t\tcurrentPeriod: config.currentPeriod!,\n\t\t\tpreviousPeriod: config.previousPeriod,\n\t\t}),\n\t};\n}\n\nfunction getSortingFunction(dataEngine: ScorecardDataEngine) {\n\treturn function sortingFunction(\n\t\trowA: Row<ScorecardTableData>,\n\t\trowB: Row<ScorecardTableData>,\n\t\tcolumnId: string,\n\t) {\n\t\tif (!dataEngine.isDone) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tconst dataA = rowA.getValue(columnId) as ScorecardTableCellConfig;\n\t\tconst dataB = rowB.getValue(columnId) as ScorecardTableCellConfig;\n\n\t\tconst dataAValue = getValueFromConfig({\n\t\t\tconfig: dataA,\n\t\t\tdata: dataEngine.data,\n\t\t});\n\n\t\tconst dataBValue = getValueFromConfig({\n\t\t\tconfig: dataB,\n\t\t\tdata: dataEngine.data,\n\t\t});\n\n\t\tconst valueA = dataAValue.data.current ?? 0;\n\t\tconst valueB = dataBValue.data.current ?? 0;\n\n\t\tif (valueA === valueB) {\n\t\t\treturn 0;\n\t\t}\n\n\t\treturn valueA > valueB ? 1 : -1;\n\t};\n}\n\nexport function getAverageValue({\n\tdataValues,\n\tmeta,\n}: {\n\tdataValues: ScorecardAnalyticsData[];\n\tmeta: ScorecardMeta;\n}) {\n\tconst currentPeriodValues = dataValues.filter(({ pe }) => {\n\t\treturn !!meta.periods.find(({ uid }) => uid === pe);\n\t});\n\tconst values = currentPeriodValues.map(({ value }) => (value ? +value : 0));\n\n\treturn Math.round((sum(values) / values.length) * 100) / 100;\n}\n\nexport function getValues({\n\tvalues,\n\tcurrentPeriod,\n\tpreviousPeriod,\n}: {\n\tvalues: ScorecardAnalyticsData[];\n\tcurrentPeriod: string;\n\tpreviousPeriod?: string;\n}) {\n\tconst currentValueData = values.find(({ pe }) => {\n\t\treturn pe === currentPeriod;\n\t});\n\n\tconst previousValueData = values.find(({ pe }) => {\n\t\treturn pe === previousPeriod;\n\t});\n\n\tconst previousValue = parseFloat(previousValueData?.value ?? \"\");\n\tconst currentValue = parseFloat(currentValueData?.value ?? \"\");\n\n\treturn {\n\t\tprevious: isNaN(previousValue) ? undefined : previousValue,\n\t\tcurrent: isNaN(currentValue) ? undefined : currentValue,\n\t};\n}\n\nexport function getOrgUnitColumnHeaders({\n\tmeta,\n\tcalendar,\n\tdataEngine,\n}: {\n\tmeta: ScorecardMeta;\n\tcalendar: SupportedCalendar;\n\tdataEngine: ScorecardDataEngine;\n}): ColumnDef<ScorecardTableData, ScorecardTableCellConfig>[] {\n\tconst orgUnits = meta.orgUnits ?? [];\n\tconst periods = meta.periods ?? [];\n\treturn orgUnits.map((orgUnit) => {\n\t\treturn columnHelper.group({\n\t\t\tid: orgUnit.uid,\n\t\t\theader: DataHeaderCell,\n\t\t\tmeta: {\n\t\t\t\tlabel: orgUnit.name,\n\t\t\t},\n\t\t\tcolumns: periods.map(({ name, uid }) =>\n\t\t\t\tcolumnHelper.accessor(\n\t\t\t\t\t(rowData) => {\n\t\t\t\t\t\tconst currentPeriod = uid;\n\t\t\t\t\t\tconst previousPeriod = head(\n\t\t\t\t\t\t\tgetAdjacentFixedPeriods({\n\t\t\t\t\t\t\t\tcalendar,\n\t\t\t\t\t\t\t\tperiod: createFixedPeriodFromPeriodId({\n\t\t\t\t\t\t\t\t\tcalendar,\n\t\t\t\t\t\t\t\t\tperiodId: currentPeriod,\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\tsteps: -1,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t)?.id;\n\t\t\t\t\t\tconst dataSources = rowData.dataHolder?.dataSources;\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tcurrentPeriod,\n\t\t\t\t\t\t\tpreviousPeriod,\n\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t\torgUnit: orgUnit,\n\t\t\t\t\t\t} as ScorecardTableCellConfig;\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\theader: DataHeaderCell,\n\t\t\t\t\t\tmeta: {\n\t\t\t\t\t\t\tlabel: name,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcell: DataContainer,\n\t\t\t\t\t\tsize: 120,\n\t\t\t\t\t\tid: `${orgUnit.uid}-${uid}`,\n\t\t\t\t\t\tenableSorting: true,\n\t\t\t\t\t\tsortingFn: getSortingFunction(dataEngine),\n\t\t\t\t\t\tfooter: DataFooterCell,\n\t\t\t\t\t},\n\t\t\t\t),\n\t\t\t),\n\t\t});\n\t});\n}\n\nexport function getAverageColumn({}: {\n\tmeta: ScorecardMeta;\n\tconfig: ScorecardConfig;\n}): ColumnDef<ScorecardTableData, ScorecardTableAverageCellConfig> {\n\treturn columnHelper.group({\n\t\tid: \"average-header\",\n\t\theader: AverageHeaderCell,\n\t\tcolumns: [\n\t\t\tcolumnHelper.accessor(\n\t\t\t\t(rowData) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...rowData,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: `average`,\n\t\t\t\t\theader: () => null,\n\t\t\t\t\tcell: AverageCell,\n\t\t\t\t\tenableHiding: true,\n\t\t\t\t\tsize: 120,\n\t\t\t\t\tfooter: AverageFooterCell,\n\t\t\t\t},\n\t\t\t),\n\t\t],\n\t});\n}\n\nfunction getDataHolderColumn({\n\thasOnePeriod,\n\tdataHolder,\n\tperiods,\n\tcalendar,\n\tdataEngine,\n}: {\n\thasOnePeriod: boolean;\n\tdataHolder: ScorecardDataHolder;\n\tperiods: ItemMeta[];\n\tcalendar: SupportedCalendar;\n\tdataEngine: ScorecardDataEngine;\n}) {\n\tconst { id, dataSources } = dataHolder;\n\n\tconst header =\n\t\tdataSources.length === 1\n\t\t\t? head(dataSources)?.label\n\t\t\t: dataSources.reduce(\n\t\t\t\t\t(acc, { label }, index) =>\n\t\t\t\t\t\tindex === 0 ? `${label}` : `${acc} / ${label}`,\n\t\t\t\t\t\"\",\n\t\t\t\t);\n\n\tif (hasOnePeriod) {\n\t\treturn columnHelper.accessor(\n\t\t\t(rowData) => {\n\t\t\t\tconst currentPeriod = head(periods)!.uid;\n\t\t\t\tconst previousPeriod = head(\n\t\t\t\t\tgetAdjacentFixedPeriods({\n\t\t\t\t\t\tcalendar,\n\t\t\t\t\t\tperiod: createFixedPeriodFromPeriodId({\n\t\t\t\t\t\t\tcalendar,\n\t\t\t\t\t\t\tperiodId: currentPeriod,\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tsteps: -1,\n\t\t\t\t\t}),\n\t\t\t\t)?.id;\n\n\t\t\t\treturn {\n\t\t\t\t\t...rowData,\n\t\t\t\t\tdataSources,\n\t\t\t\t\tpreviousPeriod,\n\t\t\t\t\tcurrentPeriod,\n\t\t\t\t} as ScorecardTableCellConfig;\n\t\t\t},\n\t\t\t{\n\t\t\t\theader: DataHeaderCell,\n\t\t\t\tmeta: {\n\t\t\t\t\tlabel: header,\n\t\t\t\t},\n\t\t\t\tid: id.toString(),\n\t\t\t\tcell: DataContainer,\n\t\t\t\tsize: 120,\n\t\t\t\tenableSorting: true,\n\t\t\t\tsortingFn: getSortingFunction(dataEngine),\n\t\t\t\tfooter: DataFooterCell,\n\t\t\t},\n\t\t);\n\t}\n\n\treturn columnHelper.group({\n\t\tid: id.toString(),\n\t\tcolumns: periods.map(({ name, uid }) =>\n\t\t\tcolumnHelper.accessor(\n\t\t\t\t(rowData) => {\n\t\t\t\t\tconst currentPeriod = uid;\n\t\t\t\t\tconst previousPeriod = head(\n\t\t\t\t\t\tgetAdjacentFixedPeriods({\n\t\t\t\t\t\t\tcalendar,\n\t\t\t\t\t\t\tperiod: createFixedPeriodFromPeriodId({\n\t\t\t\t\t\t\t\tcalendar,\n\t\t\t\t\t\t\t\tperiodId: currentPeriod,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tsteps: -1,\n\t\t\t\t\t\t}),\n\t\t\t\t\t)?.id;\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...rowData,\n\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\tcurrentPeriod,\n\t\t\t\t\t\tpreviousPeriod,\n\t\t\t\t\t} as ScorecardTableCellConfig;\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\theader: DataHeaderCell,\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tlabel: name,\n\t\t\t\t\t},\n\t\t\t\t\tcell: DataContainer,\n\t\t\t\t\tsize: 120,\n\t\t\t\t\tid: `${id.toString()}-${uid}`,\n\t\t\t\t\tenableSorting: true,\n\t\t\t\t\tsortingFn: getSortingFunction(dataEngine),\n\t\t\t\t\tfooter: DataFooterCell,\n\t\t\t\t},\n\t\t\t),\n\t\t),\n\t\tmeta: {\n\t\t\tlabel: header,\n\t\t},\n\t\theader: DataHeaderCell,\n\t\tenableSorting: true,\n\t\tsortingFn: getSortingFunction(dataEngine),\n\t});\n}\n\nexport function getDataColumnHeaders({\n\tmeta,\n\tconfig,\n\tcalendar,\n\tdataEngine,\n}: {\n\tmeta: ScorecardMeta;\n\tconfig: ScorecardConfig;\n\tcalendar: SupportedCalendar;\n\tdataEngine: ScorecardDataEngine;\n}): ColumnDef<ScorecardTableData, ScorecardTableCellConfig>[] {\n\tconst dataGroups = config.dataSelection.dataGroups ?? [];\n\tconst hasOneGroup = dataGroups.length === 1;\n\tconst periods = meta.periods ?? [];\n\tconst hasOnePeriod = periods.length === 1;\n\n\tif (hasOneGroup) {\n\t\treturn dataGroups.map(({ title, dataHolders, id }) => {\n\t\t\treturn columnHelper.group({\n\t\t\t\tid: id.toString(),\n\t\t\t\theader: EmptyDataHeaderCell,\n\t\t\t\tmeta: {\n\t\t\t\t\tlabel: title,\n\t\t\t\t\tbold: true,\n\t\t\t\t},\n\t\t\t\tcolumns: dataHolders.map((dataHolder) => {\n\t\t\t\t\treturn getDataHolderColumn({\n\t\t\t\t\t\thasOnePeriod,\n\t\t\t\t\t\tdataHolder,\n\t\t\t\t\t\tperiods,\n\t\t\t\t\t\tcalendar,\n\t\t\t\t\t\tdataEngine,\n\t\t\t\t\t});\n\t\t\t\t}),\n\n\t\t\t\tenableSorting: false,\n\t\t\t\tfooter: () => null,\n\t\t\t});\n\t\t});\n\t} else {\n\t\treturn dataGroups.map(({ title, dataHolders, id }) => {\n\t\t\treturn columnHelper.group({\n\t\t\t\tid: id.toString(),\n\t\t\t\theader: DataHeaderCell,\n\t\t\t\tmeta: {\n\t\t\t\t\tlabel: title,\n\t\t\t\t\tbold: true,\n\t\t\t\t},\n\t\t\t\tcolumns: dataHolders.map((dataHolder) => {\n\t\t\t\t\treturn getDataHolderColumn({\n\t\t\t\t\t\thasOnePeriod,\n\t\t\t\t\t\tdataHolder,\n\t\t\t\t\t\tperiods,\n\t\t\t\t\t\tcalendar,\n\t\t\t\t\t\tdataEngine,\n\t\t\t\t\t});\n\t\t\t\t}),\n\t\t\t\tenableSorting: false,\n\t\t\t\tfooter: () => null,\n\t\t\t});\n\t\t});\n\t}\n}\n"]}
1
+ {"version":3,"sources":["../../src/utils/columns.ts"],"names":["createColumnHelper","head","sum","DataHeaderCell","getAdjacentFixedPeriods","createFixedPeriodFromPeriodId","DataContainer","DataFooterCell","AverageHeaderCell","AverageCell","AverageFooterCell","EmptyDataHeaderCell"],"mappings":"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","file":"columns.js","sourcesContent":["import type { ScorecardMeta } from \"../components\";\nimport type {\n\tScorecardAnalyticsData,\n\tScorecardCellData,\n\tScorecardConfig,\n\tScorecardDataHolder,\n\tScorecardTableAverageCellConfig,\n\tScorecardTableCellConfig,\n\tScorecardTableData,\n} from \"../schemas/config\";\nimport {\n\ttype ColumnDef,\n\tcreateColumnHelper,\n\ttype Row,\n} from \"@tanstack/react-table\";\nimport { head, sum } from \"lodash\";\nimport type { ItemMeta } from \"../hooks/metadata\";\nimport { DataContainer } from \"../components/ScorecardTable/components/DataContainer\";\nimport {\n\tDataHeaderCell,\n\tEmptyDataHeaderCell,\n} from \"../components/ScorecardTable/components/TableHeader/components/DataHeaderCell\";\nimport {\n\tcreateFixedPeriodFromPeriodId,\n\tgetAdjacentFixedPeriods,\n} from \"@dhis2/multi-calendar-dates\";\nimport type { SupportedCalendar } from \"@dhis2/multi-calendar-dates/build/types/types\";\nimport { AverageCell } from \"../components/ScorecardTable/components/AverageCell\";\nimport { AverageHeaderCell } from \"../components/ScorecardTable/components/TableHeader/components/AverageHeaderCell\";\nimport { DataFooterCell } from \"../components/ScorecardTable/components/DataFooterCell\";\nimport { AverageFooterCell } from \"../components/ScorecardTable/components/AverageFooterCell\";\nimport type { ScorecardDataEngine } from \"./dataEngine\";\nimport type { AnalyticsData } from \"./data\";\n\nconst columnHelper = createColumnHelper<ScorecardTableData>();\n\nfunction getValueFromConfig({\n\tconfig,\n\tdata,\n}: {\n\tconfig: ScorecardTableCellConfig;\n\tdata: AnalyticsData[];\n}): ScorecardCellData {\n\tconst dataValues = data.filter((datum) => {\n\t\treturn (\n\t\t\tconfig.orgUnit.uid === datum.ou &&\n\t\t\tconfig.currentPeriod === datum.pe &&\n\t\t\tdatum.dx === head(config.dataSources)!.id\n\t\t);\n\t});\n\n\treturn {\n\t\t...head(config.dataSources)!,\n\t\tdata: getValues({\n\t\t\tvalues: dataValues,\n\t\t\tcurrentPeriod: config.currentPeriod!,\n\t\t\tpreviousPeriod: config.previousPeriod,\n\t\t}),\n\t};\n}\n\nfunction getSortingFunction(dataEngine: ScorecardDataEngine) {\n\treturn function sortingFunction(\n\t\trowA: Row<ScorecardTableData>,\n\t\trowB: Row<ScorecardTableData>,\n\t\tcolumnId: string,\n\t) {\n\t\tif (!dataEngine.isDone) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tconst dataA = rowA.getValue(columnId) as ScorecardTableCellConfig;\n\t\tconst dataB = rowB.getValue(columnId) as ScorecardTableCellConfig;\n\n\t\tconst dataAValue = getValueFromConfig({\n\t\t\tconfig: dataA,\n\t\t\tdata: dataEngine.data,\n\t\t});\n\n\t\tconst dataBValue = getValueFromConfig({\n\t\t\tconfig: dataB,\n\t\t\tdata: dataEngine.data,\n\t\t});\n\n\t\tconst valueA = dataAValue.data.current ?? 0;\n\t\tconst valueB = dataBValue.data.current ?? 0;\n\n\t\tif (valueA === valueB) {\n\t\t\treturn 0;\n\t\t}\n\n\t\treturn valueA > valueB ? 1 : -1;\n\t};\n}\n\nexport function getAverageValue({\n\tdataValues,\n\tmeta,\n}: {\n\tdataValues: ScorecardAnalyticsData[];\n\tmeta: ScorecardMeta;\n}) {\n\tconst currentPeriodValues = dataValues.filter(({ pe }) => {\n\t\treturn !!meta.periods.find(({ uid }) => uid === pe);\n\t});\n\tconst values = currentPeriodValues.map(({ value }) => (value ? +value : 0));\n\n\treturn Math.round((sum(values) / values.length) * 100) / 100;\n}\n\nexport function getValues({\n\tvalues,\n\tcurrentPeriod,\n\tpreviousPeriod,\n}: {\n\tvalues: ScorecardAnalyticsData[];\n\tcurrentPeriod: string;\n\tpreviousPeriod?: string;\n}) {\n\tconst currentValueData = values.find(({ pe }) => {\n\t\treturn pe === currentPeriod;\n\t});\n\n\tconst previousValueData = values.find(({ pe }) => {\n\t\treturn pe === previousPeriod;\n\t});\n\n\tconst previousValue = parseFloat(previousValueData?.value ?? \"\");\n\tconst currentValue = parseFloat(currentValueData?.value ?? \"\");\n\n\treturn {\n\t\tprevious: isNaN(previousValue) ? undefined : previousValue,\n\t\tcurrent: isNaN(currentValue) ? undefined : currentValue,\n\t};\n}\n\nexport function getOrgUnitColumnHeaders({\n\tmeta,\n\tcalendar,\n\tdataEngine,\n}: {\n\tmeta: ScorecardMeta;\n\tcalendar: SupportedCalendar;\n\tdataEngine: ScorecardDataEngine;\n}): ColumnDef<ScorecardTableData, ScorecardTableCellConfig>[] {\n\tconst orgUnits = meta.orgUnits ?? [];\n\tconst periods = meta.periods ?? [];\n\treturn orgUnits.map((orgUnit) => {\n\t\treturn columnHelper.group({\n\t\t\tid: orgUnit.uid,\n\t\t\theader: DataHeaderCell,\n\t\t\tmeta: {\n\t\t\t\tlabel: orgUnit.name,\n\t\t\t},\n\t\t\tcolumns: periods.map(({ name, uid }) =>\n\t\t\t\tcolumnHelper.accessor(\n\t\t\t\t\t(rowData) => {\n\t\t\t\t\t\tconst currentPeriod = uid;\n\t\t\t\t\t\tconst previousPeriod = head(\n\t\t\t\t\t\t\tgetAdjacentFixedPeriods({\n\t\t\t\t\t\t\t\tcalendar,\n\t\t\t\t\t\t\t\tperiod: createFixedPeriodFromPeriodId({\n\t\t\t\t\t\t\t\t\tcalendar,\n\t\t\t\t\t\t\t\t\tperiodId: currentPeriod,\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\tsteps: -1,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t)?.id;\n\t\t\t\t\t\tconst dataSources = rowData.dataHolder?.dataSources;\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tcurrentPeriod,\n\t\t\t\t\t\t\tpreviousPeriod,\n\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t\torgUnit: orgUnit,\n\t\t\t\t\t\t} as ScorecardTableCellConfig;\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\theader: DataHeaderCell,\n\t\t\t\t\t\tmeta: {\n\t\t\t\t\t\t\tlabel: name,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcell: DataContainer,\n\t\t\t\t\t\tsize: 120,\n\t\t\t\t\t\tid: `${orgUnit.uid}-${uid}`,\n\t\t\t\t\t\tenableSorting: true,\n\t\t\t\t\t\tsortingFn: getSortingFunction(dataEngine),\n\t\t\t\t\t\tfooter: DataFooterCell,\n\t\t\t\t\t},\n\t\t\t\t),\n\t\t\t),\n\t\t});\n\t});\n}\n\nexport function getAverageColumn({}: {\n\tmeta: ScorecardMeta;\n\tconfig: ScorecardConfig;\n}): ColumnDef<ScorecardTableData, ScorecardTableAverageCellConfig> {\n\treturn columnHelper.group({\n\t\tid: \"average-header\",\n\t\theader: AverageHeaderCell,\n\t\tcolumns: [\n\t\t\tcolumnHelper.accessor(\n\t\t\t\t(rowData) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...rowData,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: `average`,\n\t\t\t\t\theader: () => null,\n\t\t\t\t\tcell: AverageCell,\n\t\t\t\t\tenableHiding: true,\n\t\t\t\t\tsize: 120,\n\t\t\t\t\tfooter: AverageFooterCell,\n\t\t\t\t},\n\t\t\t),\n\t\t],\n\t});\n}\n\nfunction getDataHolderColumn({\n\thasOnePeriod,\n\tdataHolder,\n\tperiods,\n\tcalendar,\n\tdataEngine,\n}: {\n\thasOnePeriod: boolean;\n\tdataHolder: ScorecardDataHolder;\n\tperiods: ItemMeta[];\n\tcalendar: SupportedCalendar;\n\tdataEngine: ScorecardDataEngine;\n}) {\n\tconst { id, dataSources } = dataHolder;\n\n\tconst header =\n\t\tdataSources.length === 1\n\t\t\t? head(dataSources)?.label\n\t\t\t: dataSources.reduce(\n\t\t\t\t\t(acc, { label }, index) =>\n\t\t\t\t\t\tindex === 0 ? `${label}` : `${acc} / ${label}`,\n\t\t\t\t\t\"\",\n\t\t\t\t);\n\n\tif (hasOnePeriod) {\n\t\treturn columnHelper.accessor(\n\t\t\t(rowData) => {\n\t\t\t\tconst currentPeriod = head(periods)!.uid;\n\t\t\t\tconst previousPeriod = head(\n\t\t\t\t\tgetAdjacentFixedPeriods({\n\t\t\t\t\t\tcalendar,\n\t\t\t\t\t\tperiod: createFixedPeriodFromPeriodId({\n\t\t\t\t\t\t\tcalendar,\n\t\t\t\t\t\t\tperiodId: currentPeriod,\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tsteps: -1,\n\t\t\t\t\t}),\n\t\t\t\t)?.id;\n\n\t\t\t\treturn {\n\t\t\t\t\t...rowData,\n\t\t\t\t\tdataSources,\n\t\t\t\t\tpreviousPeriod,\n\t\t\t\t\tcurrentPeriod,\n\t\t\t\t} as ScorecardTableCellConfig;\n\t\t\t},\n\t\t\t{\n\t\t\t\theader: DataHeaderCell,\n\t\t\t\tmeta: {\n\t\t\t\t\tlabel: header,\n\t\t\t\t},\n\t\t\t\tid: id.toString(),\n\t\t\t\tcell: DataContainer,\n\t\t\t\tsize: 120,\n\t\t\t\tenableSorting: true,\n\t\t\t\tsortingFn: getSortingFunction(dataEngine),\n\t\t\t\tfooter: DataFooterCell,\n\t\t\t},\n\t\t);\n\t}\n\n\treturn columnHelper.group({\n\t\tid: id.toString(),\n\t\tcolumns: periods.map(({ name, uid }) =>\n\t\t\tcolumnHelper.accessor(\n\t\t\t\t(rowData) => {\n\t\t\t\t\tconst currentPeriod = uid;\n\t\t\t\t\tconst previousPeriod = head(\n\t\t\t\t\t\tgetAdjacentFixedPeriods({\n\t\t\t\t\t\t\tcalendar,\n\t\t\t\t\t\t\tperiod: createFixedPeriodFromPeriodId({\n\t\t\t\t\t\t\t\tcalendar,\n\t\t\t\t\t\t\t\tperiodId: currentPeriod,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tsteps: -1,\n\t\t\t\t\t\t}),\n\t\t\t\t\t)?.id;\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...rowData,\n\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\tcurrentPeriod,\n\t\t\t\t\t\tpreviousPeriod,\n\t\t\t\t\t} as ScorecardTableCellConfig;\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\theader: DataHeaderCell,\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tlabel: name,\n\t\t\t\t\t},\n\t\t\t\t\tcell: DataContainer,\n\t\t\t\t\tsize: 120,\n\t\t\t\t\tid: `${id.toString()}-${uid}`,\n\t\t\t\t\tenableSorting: true,\n\t\t\t\t\tsortingFn: getSortingFunction(dataEngine),\n\t\t\t\t\tfooter: DataFooterCell,\n\t\t\t\t},\n\t\t\t),\n\t\t),\n\t\tmeta: {\n\t\t\tlabel: header,\n\t\t},\n\t\theader: DataHeaderCell,\n\t\tenableSorting: true,\n\t\tsortingFn: getSortingFunction(dataEngine),\n\t});\n}\n\nexport function getDataColumnHeaders({\n\tmeta,\n\tconfig,\n\tcalendar,\n\tdataEngine,\n}: {\n\tmeta: ScorecardMeta;\n\tconfig: ScorecardConfig;\n\tcalendar: SupportedCalendar;\n\tdataEngine: ScorecardDataEngine;\n}): ColumnDef<ScorecardTableData, ScorecardTableCellConfig>[] {\n\tconst dataGroups = config.dataSelection.dataGroups ?? [];\n\tconst hasOneGroup = dataGroups.length === 1;\n\tconst periods = meta.periods ?? [];\n\tconst hasOnePeriod = periods.length === 1;\n\n\tif (hasOneGroup) {\n\t\treturn dataGroups.map(({ title, dataHolders, id }) => {\n\t\t\treturn columnHelper.group({\n\t\t\t\tid: id.toString(),\n\t\t\t\theader: EmptyDataHeaderCell,\n\t\t\t\tmeta: {\n\t\t\t\t\tlabel: title,\n\t\t\t\t\tbold: true,\n\t\t\t\t},\n\t\t\t\tcolumns: dataHolders.map((dataHolder) => {\n\t\t\t\t\treturn getDataHolderColumn({\n\t\t\t\t\t\thasOnePeriod,\n\t\t\t\t\t\tdataHolder,\n\t\t\t\t\t\tperiods,\n\t\t\t\t\t\tcalendar,\n\t\t\t\t\t\tdataEngine,\n\t\t\t\t\t});\n\t\t\t\t}),\n\n\t\t\t\tenableSorting: false,\n\t\t\t\tfooter: () => null,\n\t\t\t});\n\t\t});\n\t} else {\n\t\treturn dataGroups.map(({ title, dataHolders, id }) => {\n\t\t\treturn columnHelper.group({\n\t\t\t\tid: id.toString(),\n\t\t\t\theader: DataHeaderCell,\n\t\t\t\tmeta: {\n\t\t\t\t\tlabel: title,\n\t\t\t\t\tbold: true,\n\t\t\t\t},\n\t\t\t\tcolumns: dataHolders.map((dataHolder) => {\n\t\t\t\t\treturn getDataHolderColumn({\n\t\t\t\t\t\thasOnePeriod,\n\t\t\t\t\t\tdataHolder,\n\t\t\t\t\t\tperiods,\n\t\t\t\t\t\tcalendar,\n\t\t\t\t\t\tdataEngine,\n\t\t\t\t\t});\n\t\t\t\t}),\n\t\t\t\tenableSorting: false,\n\t\t\t\tfooter: () => null,\n\t\t\t});\n\t\t});\n\t}\n}\n"]}
@@ -52,5 +52,5 @@ function getRowsFromMeta({
52
52
 
53
53
  exports.getRowsFromMeta = getRowsFromMeta;
54
54
  exports.sanitizeAnalyticsData = sanitizeAnalyticsData;
55
- //# sourceMappingURL=out.js.map
55
+ //# sourceMappingURL=data.js.map
56
56
  //# sourceMappingURL=data.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/data.ts"],"names":["label"],"mappings":"AAOA,SAAS,WAAW,YAAY;AAWzB,SAAS,sBAAsB,MAAkC;AACvE,QAAM,EAAE,SAAS,KAAK,IAAI,KAAK;AAC/B,SAAO,KAAK,IAAI,CAAC,QAAQ;AACxB,WAAO;AAAA,MACN,IAAI,IAAI,CAAC,OAAO,UAAU;AACzB,cAAM,MAAM,QAAQ,KAAK,EAAE;AAC3B,eAAO,CAAC,KAAK,KAAK;AAAA,MACnB,CAAC;AAAA,IACF;AAAA,EACD,CAAC;AACF;AAEO,SAAS,gBAAgB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AACD,GAIyB;AACxB,WAAS,iBAAiB;AACzB,WAAO,KAAK,SACV,IAAI,CAAC,YAAY;AACjB,YAAM,QAAQ,QAAQ,QAAQ;AAC9B,aAAO;AAAA,QACN;AAAA,QACA;AAAA,MACD;AAAA,IACD,CAAC,EACA,KAAK;AAAA,EACR;AAEA,WAAS,kBAAkB,YAAkC;AAC5D,WAAO,WACL,IAAI,CAAC,EAAE,YAAY,MAAM;AACzB,aAAO,YAAY,IAAI,CAAC,eAAe;AACtC,cAAM,EAAE,aAAa,GAAG,IAAI;AAC5B,cAAM,SACJ,YAAY,WAAW,IACrB,KAAK,WAAW,GAAG,QACnB,YAAY;AAAA,UACZ,CAAC,KAAK,EAAE,OAAAA,OAAM,GAAG,UAChB,UAAU,IACP,GAAGA,MAAK,KACR,GAAG,GAAG,MAAMA,MAAK;AAAA,UACrB;AAAA,QACD,MAAM;AAET,eAAO;AAAA,UACN;AAAA,UACA;AAAA,UACA;AAAA,QACD;AAAA,MACD,CAAC;AAAA,IACF,CAAC,EACA,KAAK;AAAA,EACR;AAGA,MAAI,gBAAgB;AAEnB,UAAM,aAAa,OAAO,cAAc;AACxC,WAAO,kBAAkB,UAAU;AAAA,EACpC;AACA,SAAO,eAAe;AACvB","sourcesContent":["import type { ScorecardDataQueryResponse } from \"../hooks/data\";\nimport type { ScorecardMeta } from \"../components\";\nimport type {\n\tScorecardConfig,\n\tScorecardDataGroup,\n\tScorecardTableData,\n} from \"../schemas/config\";\nimport { fromPairs, head } from \"lodash\";\n\nexport interface AnalyticsData {\n\tdx?: string;\n\tpe?: string;\n\tou?: string;\n\tvalue?: string;\n\n\t[key: string]: string | undefined;\n}\n\nexport function sanitizeAnalyticsData(data: ScorecardDataQueryResponse) {\n\tconst { headers, rows } = data.data;\n\treturn rows.map((row) => {\n\t\treturn fromPairs(\n\t\t\trow.map((value, index) => {\n\t\t\t\tconst key = headers[index].name as \"dx\" | \"ou\" | \"pe\";\n\t\t\t\treturn [key, value];\n\t\t\t}),\n\t\t) as AnalyticsData;\n\t});\n}\n\nexport function getRowsFromMeta({\n\tmeta,\n\tconfig,\n\tshowDataInRows,\n}: {\n\tmeta: ScorecardMeta;\n\tshowDataInRows: boolean;\n\tconfig: ScorecardConfig;\n}): ScorecardTableData[] {\n\tfunction getOrgUnitData() {\n\t\treturn meta.orgUnits\n\t\t\t.map((orgUnit) => {\n\t\t\t\tconst label = orgUnit.name ?? \"\";\n\t\t\t\treturn {\n\t\t\t\t\tlabel,\n\t\t\t\t\torgUnit,\n\t\t\t\t};\n\t\t\t})\n\t\t\t.flat();\n\t}\n\n\tfunction getDataGroupsData(dataGroups: ScorecardDataGroup[]) {\n\t\treturn dataGroups\n\t\t\t.map(({ dataHolders }) => {\n\t\t\t\treturn dataHolders.map((dataHolder) => {\n\t\t\t\t\tconst { dataSources, id } = dataHolder;\n\t\t\t\t\tconst label =\n\t\t\t\t\t\t(dataSources.length === 1\n\t\t\t\t\t\t\t? head(dataSources)?.label\n\t\t\t\t\t\t\t: dataSources.reduce(\n\t\t\t\t\t\t\t\t\t(acc, { label }, index) =>\n\t\t\t\t\t\t\t\t\t\tindex === 0\n\t\t\t\t\t\t\t\t\t\t\t? `${label}`\n\t\t\t\t\t\t\t\t\t\t\t: `${acc} / ${label}`,\n\t\t\t\t\t\t\t\t\t\"\",\n\t\t\t\t\t\t\t\t)) ?? \"\";\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tid,\n\t\t\t\t\t\tlabel,\n\t\t\t\t\t\tdataHolder,\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t})\n\t\t\t.flat();\n\t}\n\n\t//No need of computing the average of each row\n\tif (showDataInRows) {\n\t\t//Rows are derived from groups\n\t\tconst dataGroups = config.dataSelection.dataGroups;\n\t\treturn getDataGroupsData(dataGroups);\n\t}\n\treturn getOrgUnitData();\n}\n"]}
1
+ {"version":3,"sources":["../../src/utils/data.ts"],"names":["fromPairs","head","label"],"mappings":";;;;AAkBO,SAAS,sBAAsB,IAAkC,EAAA;AACvE,EAAA,MAAM,EAAE,OAAA,EAAS,IAAK,EAAA,GAAI,IAAK,CAAA,IAAA,CAAA;AAC/B,EAAO,OAAA,IAAA,CAAK,GAAI,CAAA,CAAC,GAAQ,KAAA;AACxB,IAAO,OAAAA,gBAAA;AAAA,MACN,GAAI,CAAA,GAAA,CAAI,CAAC,KAAA,EAAO,KAAU,KAAA;AACzB,QAAM,MAAA,GAAA,GAAM,OAAQ,CAAA,KAAK,CAAE,CAAA,IAAA,CAAA;AAC3B,QAAO,OAAA,CAAC,KAAK,KAAK,CAAA,CAAA;AAAA,OAClB,CAAA;AAAA,KACF,CAAA;AAAA,GACA,CAAA,CAAA;AACF,CAAA;AAEO,SAAS,eAAgB,CAAA;AAAA,EAC/B,IAAA;AAAA,EACA,MAAA;AAAA,EACA,cAAA;AACD,CAIyB,EAAA;AACxB,EAAA,SAAS,cAAiB,GAAA;AACzB,IAAA,OAAO,IAAK,CAAA,QAAA,CACV,GAAI,CAAA,CAAC,OAAY,KAAA;AACjB,MAAM,MAAA,KAAA,GAAQ,QAAQ,IAAQ,IAAA,EAAA,CAAA;AAC9B,MAAO,OAAA;AAAA,QACN,KAAA;AAAA,QACA,OAAA;AAAA,OACD,CAAA;AAAA,KACA,EACA,IAAK,EAAA,CAAA;AAAA,GACR;AAEA,EAAA,SAAS,kBAAkB,UAAkC,EAAA;AAC5D,IAAA,OAAO,UACL,CAAA,GAAA,CAAI,CAAC,EAAE,aAAkB,KAAA;AACzB,MAAO,OAAA,WAAA,CAAY,GAAI,CAAA,CAAC,UAAe,KAAA;AACtC,QAAM,MAAA,EAAE,WAAa,EAAA,EAAA,EAAO,GAAA,UAAA,CAAA;AAC5B,QAAM,MAAA,KAAA,GAAA,CACJ,YAAY,MAAW,KAAA,CAAA,GACrBC,YAAK,WAAW,CAAA,EAAG,QACnB,WAAY,CAAA,MAAA;AAAA,UACZ,CAAC,GAAA,EAAK,EAAE,KAAA,EAAAC,QAAS,EAAA,KAAA,KAChB,KAAU,KAAA,CAAA,GACP,GAAGA,MAAK,CAAA,CAAA,GACR,CAAG,EAAA,GAAG,MAAMA,MAAK,CAAA,CAAA;AAAA,UACrB,EAAA;AAAA,SACK,KAAA,EAAA,CAAA;AAET,QAAO,OAAA;AAAA,UACN,EAAA;AAAA,UACA,KAAA;AAAA,UACA,UAAA;AAAA,SACD,CAAA;AAAA,OACA,CAAA,CAAA;AAAA,KACD,EACA,IAAK,EAAA,CAAA;AAAA,GACR;AAGA,EAAA,IAAI,cAAgB,EAAA;AAEnB,IAAM,MAAA,UAAA,GAAa,OAAO,aAAc,CAAA,UAAA,CAAA;AACxC,IAAA,OAAO,kBAAkB,UAAU,CAAA,CAAA;AAAA,GACpC;AACA,EAAA,OAAO,cAAe,EAAA,CAAA;AACvB","file":"data.js","sourcesContent":["import type { ScorecardDataQueryResponse } from \"../hooks/data\";\nimport type { ScorecardMeta } from \"../components\";\nimport type {\n\tScorecardConfig,\n\tScorecardDataGroup,\n\tScorecardTableData,\n} from \"../schemas/config\";\nimport { fromPairs, head } from \"lodash\";\n\nexport interface AnalyticsData {\n\tdx?: string;\n\tpe?: string;\n\tou?: string;\n\tvalue?: string;\n\n\t[key: string]: string | undefined;\n}\n\nexport function sanitizeAnalyticsData(data: ScorecardDataQueryResponse) {\n\tconst { headers, rows } = data.data;\n\treturn rows.map((row) => {\n\t\treturn fromPairs(\n\t\t\trow.map((value, index) => {\n\t\t\t\tconst key = headers[index].name as \"dx\" | \"ou\" | \"pe\";\n\t\t\t\treturn [key, value];\n\t\t\t}),\n\t\t) as AnalyticsData;\n\t});\n}\n\nexport function getRowsFromMeta({\n\tmeta,\n\tconfig,\n\tshowDataInRows,\n}: {\n\tmeta: ScorecardMeta;\n\tshowDataInRows: boolean;\n\tconfig: ScorecardConfig;\n}): ScorecardTableData[] {\n\tfunction getOrgUnitData() {\n\t\treturn meta.orgUnits\n\t\t\t.map((orgUnit) => {\n\t\t\t\tconst label = orgUnit.name ?? \"\";\n\t\t\t\treturn {\n\t\t\t\t\tlabel,\n\t\t\t\t\torgUnit,\n\t\t\t\t};\n\t\t\t})\n\t\t\t.flat();\n\t}\n\n\tfunction getDataGroupsData(dataGroups: ScorecardDataGroup[]) {\n\t\treturn dataGroups\n\t\t\t.map(({ dataHolders }) => {\n\t\t\t\treturn dataHolders.map((dataHolder) => {\n\t\t\t\t\tconst { dataSources, id } = dataHolder;\n\t\t\t\t\tconst label =\n\t\t\t\t\t\t(dataSources.length === 1\n\t\t\t\t\t\t\t? head(dataSources)?.label\n\t\t\t\t\t\t\t: dataSources.reduce(\n\t\t\t\t\t\t\t\t\t(acc, { label }, index) =>\n\t\t\t\t\t\t\t\t\t\tindex === 0\n\t\t\t\t\t\t\t\t\t\t\t? `${label}`\n\t\t\t\t\t\t\t\t\t\t\t: `${acc} / ${label}`,\n\t\t\t\t\t\t\t\t\t\"\",\n\t\t\t\t\t\t\t\t)) ?? \"\";\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tid,\n\t\t\t\t\t\tlabel,\n\t\t\t\t\t\tdataHolder,\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t})\n\t\t\t.flat();\n\t}\n\n\t//No need of computing the average of each row\n\tif (showDataInRows) {\n\t\t//Rows are derived from groups\n\t\tconst dataGroups = config.dataSelection.dataGroups;\n\t\treturn getDataGroupsData(dataGroups);\n\t}\n\treturn getOrgUnitData();\n}\n"]}
@@ -191,5 +191,5 @@ function createScorecardDataEngine() {
191
191
  }
192
192
 
193
193
  exports.createScorecardDataEngine = createScorecardDataEngine;
194
- //# sourceMappingURL=out.js.map
194
+ //# sourceMappingURL=dataEngine.js.map
195
195
  //# sourceMappingURL=dataEngine.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/dataEngine.ts"],"names":[],"mappings":"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","sourcesContent":["import type { AnalyticsData } from \"./data\";\nimport { asyncify, queue } from \"async-es\";\nimport { chunk, maxBy } from \"lodash\";\nimport type { QueueObject } from \"async\";\n\nexport type RemoveListener = () => void;\nexport type DataEngineListener = (data: AnalyticsData[]) => void;\nexport type OnCompleteDataEngineListener = (completed: boolean) => void;\nexport type ProgressListeners = (progress: number) => void;\n\nconst chunkSize = 5;\n\nexport type ScorecardDataEngine = ReturnType<typeof createScorecardDataEngine>;\n\nexport function createScorecardDataEngine() {\n\treturn {\n\t\tqueue: queue(async () => Promise.resolve([])) as QueueObject<{\n\t\t\tperiods: string[];\n\t\t\torgUnits: string[];\n\t\t\tdataItems: string[];\n\t\t}>,\n\t\tdata: [] as AnalyticsData[],\n\t\ttotalRequests: 0,\n\t\tcompletedRequests: 0,\n\t\tisDone: false,\n\t\tinitialized: false,\n\t\tdataListeners: [] as DataEngineListener[],\n\t\tonCompleteListeners: [] as OnCompleteDataEngineListener[],\n\t\tprogressListeners: [] as ProgressListeners[],\n\t\tdimensions: {\n\t\t\torgUnits: [] as string[],\n\t\t\tperiods: [] as string[],\n\t\t\tdataItems: [] as string[],\n\t\t},\n\t\tupdateProgress() {\n\t\t\tconst progress = this.completedRequests / this.totalRequests;\n\t\t\tfor (const listener of this.progressListeners) {\n\t\t\t\tlistener(progress);\n\t\t\t}\n\t\t},\n\t\tupdateTotalRequests(value: number) {\n\t\t\tthis.totalRequests = value;\n\t\t\tthis.updateProgress();\n\t\t},\n\t\tupdateCompleteRequests(value: number) {\n\t\t\tthis.completedRequests = value;\n\t\t\tthis.updateProgress();\n\t\t},\n\t\taddDataListener(listener: DataEngineListener): RemoveListener {\n\t\t\tthis.dataListeners.push(listener);\n\t\t\treturn () => {\n\t\t\t\tthis.dataListeners.filter((l) => l !== listener);\n\t\t\t};\n\t\t},\n\t\taddOnCompleteListener(\n\t\t\tlistener: OnCompleteDataEngineListener,\n\t\t): RemoveListener {\n\t\t\tthis.onCompleteListeners.push(listener);\n\t\t\treturn () => {\n\t\t\t\tthis.onCompleteListeners.filter((l) => l !== listener);\n\t\t\t};\n\t\t},\n\t\taddProgressListener(listener: ProgressListeners): RemoveListener {\n\t\t\tthis.progressListeners.push(listener);\n\t\t\treturn () => {\n\t\t\t\tthis.progressListeners.filter((l) => l !== listener);\n\t\t\t};\n\t\t},\n\t\tremoveListener(listener: DataEngineListener) {\n\t\t\treturn this.dataListeners.filter((l) => l !== listener);\n\t\t},\n\t\tupdateData(data: AnalyticsData[]) {\n\t\t\tthis.data = [...this.data, ...data];\n\t\t\tfor (const listener of this.dataListeners) {\n\t\t\t\tlistener(this.data);\n\t\t\t}\n\t\t},\n\t\tcomplete() {\n\t\t\tthis.isDone = true;\n\t\t\tfor (const listener of this.onCompleteListeners) {\n\t\t\t\tlistener(this.isDone);\n\t\t\t}\n\t\t},\n\t\tclear() {\n\t\t\tthis.data = [];\n\t\t\tthis.isDone = false;\n\t\t\tthis.initialized = false;\n\t\t},\n\t\tsetupDataFetch() {\n\t\t\tconst getTheLongestDimension = () => {\n\t\t\t\tconst dimensions = [\n\t\t\t\t\t{\n\t\t\t\t\t\tdimension: \"pe\",\n\t\t\t\t\t\tlength: this.dimensions.periods.length,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdimension: \"dx\",\n\t\t\t\t\t\tlength: this.dimensions.dataItems.length,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdimension: \"ou\",\n\t\t\t\t\t\tlength: this.dimensions.orgUnits.length,\n\t\t\t\t\t},\n\t\t\t\t] as const;\n\n\t\t\t\treturn maxBy(dimensions, \"length\")!.dimension;\n\t\t\t};\n\t\t\tconst getChunkedData = async (maxItem: \"dx\" | \"pe\" | \"ou\") => {\n\t\t\t\tswitch (maxItem) {\n\t\t\t\t\tcase \"dx\":\n\t\t\t\t\t\tconst dataItemChunks = chunk(\n\t\t\t\t\t\t\tthis.dimensions.dataItems,\n\t\t\t\t\t\t\tchunkSize,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tthis.updateTotalRequests(dataItemChunks.length);\n\t\t\t\t\t\tfor (const dataItemChunk of dataItemChunks) {\n\t\t\t\t\t\t\tthis.queue\n\t\t\t\t\t\t\t\t.push({\n\t\t\t\t\t\t\t\t\tperiods: this.dimensions.periods,\n\t\t\t\t\t\t\t\t\tdataItems: dataItemChunk,\n\t\t\t\t\t\t\t\t\torgUnits: this.dimensions.orgUnits,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t.then((data) => {\n\t\t\t\t\t\t\t\t\tthis.updateData(data as AnalyticsData[]);\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t.then((data) => {\n\t\t\t\t\t\t\t\t\tthis.updateCompleteRequests(\n\t\t\t\t\t\t\t\t\t\tthis.completedRequests + 1,\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\treturn data;\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"pe\":\n\t\t\t\t\t\tconst periodChunks = chunk(\n\t\t\t\t\t\t\tthis.dimensions.periods,\n\t\t\t\t\t\t\tchunkSize,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tthis.updateTotalRequests(periodChunks.length);\n\t\t\t\t\t\tfor (const periodChunk of periodChunks) {\n\t\t\t\t\t\t\tthis.queue\n\t\t\t\t\t\t\t\t.push({\n\t\t\t\t\t\t\t\t\tperiods: periodChunk,\n\t\t\t\t\t\t\t\t\tdataItems: this.dimensions.dataItems,\n\t\t\t\t\t\t\t\t\torgUnits: this.dimensions.orgUnits,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t.then((data) => {\n\t\t\t\t\t\t\t\t\tthis.updateData(data as AnalyticsData[]);\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t.then((data) => {\n\t\t\t\t\t\t\t\t\tthis.updateCompleteRequests(\n\t\t\t\t\t\t\t\t\t\tthis.completedRequests + 1,\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\treturn data;\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"ou\":\n\t\t\t\t\t\tconst orgUnitChunks = chunk(\n\t\t\t\t\t\t\tthis.dimensions.orgUnits,\n\t\t\t\t\t\t\tchunkSize,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tthis.updateTotalRequests(orgUnitChunks.length);\n\t\t\t\t\t\tfor (const orgUnitChunk of orgUnitChunks) {\n\t\t\t\t\t\t\tthis.queue\n\t\t\t\t\t\t\t\t.push({\n\t\t\t\t\t\t\t\t\tperiods: this.dimensions.periods,\n\t\t\t\t\t\t\t\t\tdataItems: this.dimensions.dataItems,\n\t\t\t\t\t\t\t\t\torgUnits: orgUnitChunk,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t.then((data) => {\n\t\t\t\t\t\t\t\t\tthis.updateData(data as AnalyticsData[]);\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t.then((data) => {\n\t\t\t\t\t\t\t\t\tthis.updateCompleteRequests(\n\t\t\t\t\t\t\t\t\t\tthis.completedRequests + 1,\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\treturn data;\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t};\n\t\t\tthis.queue.remove(() => true);\n\t\t\tif (\n\t\t\t\tthis.dimensions.periods.length < 5 &&\n\t\t\t\tthis.dimensions.dataItems.length < 5 &&\n\t\t\t\tthis.dimensions.orgUnits.length < 5\n\t\t\t) {\n\t\t\t\tconst { orgUnits, periods, dataItems } = this.dimensions;\n\t\t\t\tthis.updateTotalRequests(1);\n\t\t\t\tthis.updateCompleteRequests(0);\n\t\t\t\tthis.queue\n\t\t\t\t\t.push({\n\t\t\t\t\t\tperiods,\n\t\t\t\t\t\torgUnits,\n\t\t\t\t\t\tdataItems,\n\t\t\t\t\t})\n\t\t\t\t\t.then((data) => {\n\t\t\t\t\t\tthis.updateData(data as AnalyticsData[]);\n\t\t\t\t\t\tthis.updateCompleteRequests(1);\n\t\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst dimensionWithMaxItems = getTheLongestDimension();\n\t\t\tgetChunkedData(dimensionWithMaxItems);\n\t\t},\n\t\tinitialize(\n\t\t\tfetch: (dimensions: {\n\t\t\t\tperiods: string[];\n\t\t\t\torgUnits: string[];\n\t\t\t\tdataItems: string[];\n\t\t\t}) => Promise<AnalyticsData[]>,\n\t\t\t{\n\t\t\t\tdimensions,\n\t\t\t}: {\n\t\t\t\tdimensions: {\n\t\t\t\t\tdataItems: string[];\n\t\t\t\t\torgUnits: string[];\n\t\t\t\t\tperiods: string[];\n\t\t\t\t};\n\t\t\t},\n\t\t) {\n\t\t\tthis.dimensions = dimensions;\n\t\t\tthis.queue = queue(asyncify(fetch));\n\t\t\tthis.queue.drain(() => {\n\t\t\t\tthis.complete();\n\t\t\t});\n\t\t\tthis.initialized = true;\n\t\t\tthis.clear();\n\t\t\tthis.setupDataFetch();\n\t\t},\n\t};\n}\n"]}
1
+ {"version":3,"sources":["../../src/utils/dataEngine.ts"],"names":["queue","maxBy","chunk","asyncify"],"mappings":"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","file":"dataEngine.js","sourcesContent":["import type { AnalyticsData } from \"./data\";\nimport { asyncify, queue } from \"async-es\";\nimport { chunk, maxBy } from \"lodash\";\nimport type { QueueObject } from \"async\";\n\nexport type RemoveListener = () => void;\nexport type DataEngineListener = (data: AnalyticsData[]) => void;\nexport type OnCompleteDataEngineListener = (completed: boolean) => void;\nexport type ProgressListeners = (progress: number) => void;\n\nconst chunkSize = 5;\n\nexport type ScorecardDataEngine = ReturnType<typeof createScorecardDataEngine>;\n\nexport function createScorecardDataEngine() {\n\treturn {\n\t\tqueue: queue(async () => Promise.resolve([])) as QueueObject<{\n\t\t\tperiods: string[];\n\t\t\torgUnits: string[];\n\t\t\tdataItems: string[];\n\t\t}>,\n\t\tdata: [] as AnalyticsData[],\n\t\ttotalRequests: 0,\n\t\tcompletedRequests: 0,\n\t\tisDone: false,\n\t\tinitialized: false,\n\t\tdataListeners: [] as DataEngineListener[],\n\t\tonCompleteListeners: [] as OnCompleteDataEngineListener[],\n\t\tprogressListeners: [] as ProgressListeners[],\n\t\tdimensions: {\n\t\t\torgUnits: [] as string[],\n\t\t\tperiods: [] as string[],\n\t\t\tdataItems: [] as string[],\n\t\t},\n\t\tupdateProgress() {\n\t\t\tconst progress = this.completedRequests / this.totalRequests;\n\t\t\tfor (const listener of this.progressListeners) {\n\t\t\t\tlistener(progress);\n\t\t\t}\n\t\t},\n\t\tupdateTotalRequests(value: number) {\n\t\t\tthis.totalRequests = value;\n\t\t\tthis.updateProgress();\n\t\t},\n\t\tupdateCompleteRequests(value: number) {\n\t\t\tthis.completedRequests = value;\n\t\t\tthis.updateProgress();\n\t\t},\n\t\taddDataListener(listener: DataEngineListener): RemoveListener {\n\t\t\tthis.dataListeners.push(listener);\n\t\t\treturn () => {\n\t\t\t\tthis.dataListeners.filter((l) => l !== listener);\n\t\t\t};\n\t\t},\n\t\taddOnCompleteListener(\n\t\t\tlistener: OnCompleteDataEngineListener,\n\t\t): RemoveListener {\n\t\t\tthis.onCompleteListeners.push(listener);\n\t\t\treturn () => {\n\t\t\t\tthis.onCompleteListeners.filter((l) => l !== listener);\n\t\t\t};\n\t\t},\n\t\taddProgressListener(listener: ProgressListeners): RemoveListener {\n\t\t\tthis.progressListeners.push(listener);\n\t\t\treturn () => {\n\t\t\t\tthis.progressListeners.filter((l) => l !== listener);\n\t\t\t};\n\t\t},\n\t\tremoveListener(listener: DataEngineListener) {\n\t\t\treturn this.dataListeners.filter((l) => l !== listener);\n\t\t},\n\t\tupdateData(data: AnalyticsData[]) {\n\t\t\tthis.data = [...this.data, ...data];\n\t\t\tfor (const listener of this.dataListeners) {\n\t\t\t\tlistener(this.data);\n\t\t\t}\n\t\t},\n\t\tcomplete() {\n\t\t\tthis.isDone = true;\n\t\t\tfor (const listener of this.onCompleteListeners) {\n\t\t\t\tlistener(this.isDone);\n\t\t\t}\n\t\t},\n\t\tclear() {\n\t\t\tthis.data = [];\n\t\t\tthis.isDone = false;\n\t\t\tthis.initialized = false;\n\t\t},\n\t\tsetupDataFetch() {\n\t\t\tconst getTheLongestDimension = () => {\n\t\t\t\tconst dimensions = [\n\t\t\t\t\t{\n\t\t\t\t\t\tdimension: \"pe\",\n\t\t\t\t\t\tlength: this.dimensions.periods.length,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdimension: \"dx\",\n\t\t\t\t\t\tlength: this.dimensions.dataItems.length,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdimension: \"ou\",\n\t\t\t\t\t\tlength: this.dimensions.orgUnits.length,\n\t\t\t\t\t},\n\t\t\t\t] as const;\n\n\t\t\t\treturn maxBy(dimensions, \"length\")!.dimension;\n\t\t\t};\n\t\t\tconst getChunkedData = async (maxItem: \"dx\" | \"pe\" | \"ou\") => {\n\t\t\t\tswitch (maxItem) {\n\t\t\t\t\tcase \"dx\":\n\t\t\t\t\t\tconst dataItemChunks = chunk(\n\t\t\t\t\t\t\tthis.dimensions.dataItems,\n\t\t\t\t\t\t\tchunkSize,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tthis.updateTotalRequests(dataItemChunks.length);\n\t\t\t\t\t\tfor (const dataItemChunk of dataItemChunks) {\n\t\t\t\t\t\t\tthis.queue\n\t\t\t\t\t\t\t\t.push({\n\t\t\t\t\t\t\t\t\tperiods: this.dimensions.periods,\n\t\t\t\t\t\t\t\t\tdataItems: dataItemChunk,\n\t\t\t\t\t\t\t\t\torgUnits: this.dimensions.orgUnits,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t.then((data) => {\n\t\t\t\t\t\t\t\t\tthis.updateData(data as AnalyticsData[]);\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t.then((data) => {\n\t\t\t\t\t\t\t\t\tthis.updateCompleteRequests(\n\t\t\t\t\t\t\t\t\t\tthis.completedRequests + 1,\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\treturn data;\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"pe\":\n\t\t\t\t\t\tconst periodChunks = chunk(\n\t\t\t\t\t\t\tthis.dimensions.periods,\n\t\t\t\t\t\t\tchunkSize,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tthis.updateTotalRequests(periodChunks.length);\n\t\t\t\t\t\tfor (const periodChunk of periodChunks) {\n\t\t\t\t\t\t\tthis.queue\n\t\t\t\t\t\t\t\t.push({\n\t\t\t\t\t\t\t\t\tperiods: periodChunk,\n\t\t\t\t\t\t\t\t\tdataItems: this.dimensions.dataItems,\n\t\t\t\t\t\t\t\t\torgUnits: this.dimensions.orgUnits,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t.then((data) => {\n\t\t\t\t\t\t\t\t\tthis.updateData(data as AnalyticsData[]);\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t.then((data) => {\n\t\t\t\t\t\t\t\t\tthis.updateCompleteRequests(\n\t\t\t\t\t\t\t\t\t\tthis.completedRequests + 1,\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\treturn data;\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"ou\":\n\t\t\t\t\t\tconst orgUnitChunks = chunk(\n\t\t\t\t\t\t\tthis.dimensions.orgUnits,\n\t\t\t\t\t\t\tchunkSize,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tthis.updateTotalRequests(orgUnitChunks.length);\n\t\t\t\t\t\tfor (const orgUnitChunk of orgUnitChunks) {\n\t\t\t\t\t\t\tthis.queue\n\t\t\t\t\t\t\t\t.push({\n\t\t\t\t\t\t\t\t\tperiods: this.dimensions.periods,\n\t\t\t\t\t\t\t\t\tdataItems: this.dimensions.dataItems,\n\t\t\t\t\t\t\t\t\torgUnits: orgUnitChunk,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t.then((data) => {\n\t\t\t\t\t\t\t\t\tthis.updateData(data as AnalyticsData[]);\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t.then((data) => {\n\t\t\t\t\t\t\t\t\tthis.updateCompleteRequests(\n\t\t\t\t\t\t\t\t\t\tthis.completedRequests + 1,\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\treturn data;\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t};\n\t\t\tthis.queue.remove(() => true);\n\t\t\tif (\n\t\t\t\tthis.dimensions.periods.length < 5 &&\n\t\t\t\tthis.dimensions.dataItems.length < 5 &&\n\t\t\t\tthis.dimensions.orgUnits.length < 5\n\t\t\t) {\n\t\t\t\tconst { orgUnits, periods, dataItems } = this.dimensions;\n\t\t\t\tthis.updateTotalRequests(1);\n\t\t\t\tthis.updateCompleteRequests(0);\n\t\t\t\tthis.queue\n\t\t\t\t\t.push({\n\t\t\t\t\t\tperiods,\n\t\t\t\t\t\torgUnits,\n\t\t\t\t\t\tdataItems,\n\t\t\t\t\t})\n\t\t\t\t\t.then((data) => {\n\t\t\t\t\t\tthis.updateData(data as AnalyticsData[]);\n\t\t\t\t\t\tthis.updateCompleteRequests(1);\n\t\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst dimensionWithMaxItems = getTheLongestDimension();\n\t\t\tgetChunkedData(dimensionWithMaxItems);\n\t\t},\n\t\tinitialize(\n\t\t\tfetch: (dimensions: {\n\t\t\t\tperiods: string[];\n\t\t\t\torgUnits: string[];\n\t\t\t\tdataItems: string[];\n\t\t\t}) => Promise<AnalyticsData[]>,\n\t\t\t{\n\t\t\t\tdimensions,\n\t\t\t}: {\n\t\t\t\tdimensions: {\n\t\t\t\t\tdataItems: string[];\n\t\t\t\t\torgUnits: string[];\n\t\t\t\t\tperiods: string[];\n\t\t\t\t};\n\t\t\t},\n\t\t) {\n\t\t\tthis.dimensions = dimensions;\n\t\t\tthis.queue = queue(asyncify(fetch));\n\t\t\tthis.queue.drain(() => {\n\t\t\t\tthis.complete();\n\t\t\t});\n\t\t\tthis.initialized = true;\n\t\t\tthis.clear();\n\t\t\tthis.setupDataFetch();\n\t\t},\n\t};\n}\n"]}
@@ -12,5 +12,5 @@ function getDataSourcesFromGroups(dataGroups) {
12
12
 
13
13
  exports.getDataSourcesFromGroups = getDataSourcesFromGroups;
14
14
  exports.getHoldersFromGroups = getHoldersFromGroups;
15
- //# sourceMappingURL=out.js.map
15
+ //# sourceMappingURL=dataSources.js.map
16
16
  //# sourceMappingURL=dataSources.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/dataSources.ts"],"names":[],"mappings":"AAAA,SAAS,SAAS,mBAAmB;AAM9B,SAAS,qBACf,YACwB;AACxB,SAAO,YAAY,YAAY,IAAI,CAAC,EAAE,YAAY,MAAM,WAAW,KAAK,CAAC,CAAC;AAC3E;AAEO,SAAS,yBAAyB,YAAkC;AAC1E,QAAM,cAAc,QAAQ,qBAAqB,UAAU,CAAC;AAC5D,SAAO,YAAY,aAAa,IAAI,CAAC,EAAE,YAAY,MAAM,WAAW,CAAC;AACtE","sourcesContent":["import { compact, flattenDeep } from \"lodash\";\nimport type {\n\tScorecardDataGroup,\n\tScorecardDataHolder,\n} from \"../schemas/config\";\n\nexport function getHoldersFromGroups(\n\tdataGroups: ScorecardDataGroup[],\n): ScorecardDataHolder[] {\n\treturn flattenDeep(dataGroups?.map(({ dataHolders }) => dataHolders) ?? []);\n}\n\nexport function getDataSourcesFromGroups(dataGroups: ScorecardDataGroup[]) {\n\tconst dataHolders = compact(getHoldersFromGroups(dataGroups));\n\treturn flattenDeep(dataHolders?.map(({ dataSources }) => dataSources));\n}\n"]}
1
+ {"version":3,"sources":["../../src/utils/dataSources.ts"],"names":["flattenDeep","compact"],"mappings":";;;;AAMO,SAAS,qBACf,UACwB,EAAA;AACxB,EAAO,OAAAA,kBAAA,CAAY,UAAY,EAAA,GAAA,CAAI,CAAC,EAAE,aAAkB,KAAA,WAAW,CAAK,IAAA,EAAE,CAAA,CAAA;AAC3E,CAAA;AAEO,SAAS,yBAAyB,UAAkC,EAAA;AAC1E,EAAA,MAAM,WAAc,GAAAC,cAAA,CAAQ,oBAAqB,CAAA,UAAU,CAAC,CAAA,CAAA;AAC5D,EAAO,OAAAD,kBAAA,CAAY,aAAa,GAAI,CAAA,CAAC,EAAE,WAAY,EAAA,KAAM,WAAW,CAAC,CAAA,CAAA;AACtE","file":"dataSources.js","sourcesContent":["import { compact, flattenDeep } from \"lodash\";\nimport type {\n\tScorecardDataGroup,\n\tScorecardDataHolder,\n} from \"../schemas/config\";\n\nexport function getHoldersFromGroups(\n\tdataGroups: ScorecardDataGroup[],\n): ScorecardDataHolder[] {\n\treturn flattenDeep(dataGroups?.map(({ dataHolders }) => dataHolders) ?? []);\n}\n\nexport function getDataSourcesFromGroups(dataGroups: ScorecardDataGroup[]) {\n\tconst dataHolders = compact(getHoldersFromGroups(dataGroups));\n\treturn flattenDeep(dataHolders?.map(({ dataSources }) => dataSources));\n}\n"]}
@@ -16,5 +16,5 @@ class ScorecardEngine {
16
16
  }
17
17
 
18
18
  exports.ScorecardEngine = ScorecardEngine;
19
- //# sourceMappingURL=out.js.map
19
+ //# sourceMappingURL=engine.js.map
20
20
  //# sourceMappingURL=engine.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/engine.ts"],"names":[],"mappings":"AAOO,MAAM,gBAAgB;AAAA,EAK5B,YAAY;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,EACD,GAIG;AACF,SAAK,SAAS;AACd,SAAK,OAAO;AACZ,SAAK,QAAQ;AAAA,EACd;AAAA,EAEA,UAAgC;AAC/B,WAAO,CAAC;AAAA,EACT;AACD","sourcesContent":["import type {\n\tScorecardConfig,\n\tScorecardState,\n\tScorecardTableData,\n} from \"../schemas/config\";\nimport type { ScorecardMeta } from \"../components/MetaProvider\";\n\nexport class ScorecardEngine {\n\tconfig: ScorecardConfig;\n\tstate: ScorecardState;\n\tmeta: ScorecardMeta;\n\n\tconstructor({\n\t\tconfig,\n\t\tmeta,\n\t\tstate,\n\t}: {\n\t\tconfig: ScorecardConfig;\n\t\tstate: ScorecardState;\n\t\tmeta: ScorecardMeta;\n\t}) {\n\t\tthis.config = config;\n\t\tthis.meta = meta;\n\t\tthis.state = state;\n\t}\n\n\tgetRows(): ScorecardTableData[] {\n\t\treturn [];\n\t}\n}\n"]}
1
+ {"version":3,"sources":["../../src/utils/engine.ts"],"names":[],"mappings":";;AAOO,MAAM,eAAgB,CAAA;AAAA,EAK5B,WAAY,CAAA;AAAA,IACX,MAAA;AAAA,IACA,IAAA;AAAA,IACA,KAAA;AAAA,GAKE,EAAA;AACF,IAAA,IAAA,CAAK,MAAS,GAAA,MAAA,CAAA;AACd,IAAA,IAAA,CAAK,IAAO,GAAA,IAAA,CAAA;AACZ,IAAA,IAAA,CAAK,KAAQ,GAAA,KAAA,CAAA;AAAA,GACd;AAAA,EAEA,OAAgC,GAAA;AAC/B,IAAA,OAAO,EAAC,CAAA;AAAA,GACT;AACD","file":"engine.js","sourcesContent":["import type {\n\tScorecardConfig,\n\tScorecardState,\n\tScorecardTableData,\n} from \"../schemas/config\";\nimport type { ScorecardMeta } from \"../components/MetaProvider\";\n\nexport class ScorecardEngine {\n\tconfig: ScorecardConfig;\n\tstate: ScorecardState;\n\tmeta: ScorecardMeta;\n\n\tconstructor({\n\t\tconfig,\n\t\tmeta,\n\t\tstate,\n\t}: {\n\t\tconfig: ScorecardConfig;\n\t\tstate: ScorecardState;\n\t\tmeta: ScorecardMeta;\n\t}) {\n\t\tthis.config = config;\n\t\tthis.meta = meta;\n\t\tthis.state = state;\n\t}\n\n\tgetRows(): ScorecardTableData[] {\n\t\treturn [];\n\t}\n}\n"]}
@@ -10,5 +10,5 @@ Object.keys(state).forEach(function (k) {
10
10
  get: function () { return state[k]; }
11
11
  });
12
12
  });
13
- //# sourceMappingURL=out.js.map
13
+ //# sourceMappingURL=index.js.map
14
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc","sourcesContent":["export * from \"./state\";\n"]}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js","sourcesContent":[]}
@@ -114,5 +114,5 @@ function getTextColorFromBackgroundColor(background) {
114
114
 
115
115
  exports.getLegend = getLegend;
116
116
  exports.getTextColorFromBackgroundColor = getTextColorFromBackgroundColor;
117
- //# sourceMappingURL=out.js.map
117
+ //# sourceMappingURL=legends.js.map
118
118
  //# sourceMappingURL=legends.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/legends.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n\tLegendDefinition,\n\tOrgUnitLevelLegend,\n\tScorecardConfig,\n\tScorecardDataSource,\n\tScorecardLegend,\n\tSpecificTarget,\n} from \"../schemas/config\";\nimport { find, head, isEmpty } from \"lodash\";\nimport type { ItemMeta } from \"../hooks/metadata\";\n\nfunction findLegend({\n\tmax,\n\tlegendDefinitions,\n\tvalue,\n\tlegends,\n}: {\n\tmax: number;\n\tlegendDefinitions: LegendDefinition[];\n\tlegends: ScorecardLegend[];\n\tvalue?: number;\n}): LegendDefinition | undefined {\n\tif (!value) {\n\t\treturn find(legendDefinitions, { id: \"No Data\" });\n\t}\n\tconst numericValue = value;\n\tif (numericValue > max) {\n\t\treturn find(legendDefinitions, { id: \"N/A\" });\n\t}\n\tif (isNaN(numericValue)) {\n\t\treturn find(legendDefinitions, { id: \"No Data\" });\n\t}\n\n\tconst { legendDefinitionId } =\n\t\tfind(legends, (legend) => {\n\t\t\tif (legend) {\n\t\t\t\tconst { startValue, endValue } = legend;\n\t\t\t\tif (+endValue === max) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t+startValue <= numericValue && +endValue >= numericValue\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn +startValue <= numericValue && +endValue > numericValue;\n\t\t\t}\n\t\t\treturn false;\n\t\t}) ?? {};\n\n\treturn find(legendDefinitions, [\"id\", legendDefinitionId]);\n}\n\nfunction getSpecificTargetLegends(specificTarget: SpecificTarget, id: string) {\n\tif (specificTarget.items.includes(id)) {\n\t\treturn specificTarget.legends;\n\t}\n}\n\nfunction getLegendByOrgUnitLevel({\n\torgUnit,\n\torgUnitLevels,\n\tlegends,\n}: {\n\torgUnit: ItemMeta & { hierarchy: string };\n\tlegends: Record<string, ScorecardLegend[]>;\n\torgUnitLevels: Array<{\n\t\tid: string;\n\t\tlevel: number;\n\t}>;\n}): ScorecardLegend[] {\n\tconst orgUnitLevel = orgUnitLevels.find(({ id, level }) => {\n\t\tconst ouLevel = orgUnit.hierarchy.split(\"/\").filter(Boolean).length;\n\t\treturn level === ouLevel;\n\t});\n\n\tif (!orgUnitLevel) {\n\t\tthrow new Error(\"Invalid orgUnitId\");\n\t}\n\n\treturn legends[orgUnitLevel.id];\n}\n\nexport function getLegend({\n\tdataSource,\n\tconfig,\n\tvalue,\n\tperiodId,\n\torgUnit,\n\torgUnitLevels,\n}: {\n\tdataSource: ScorecardDataSource;\n\tvalue?: number;\n\tconfig: ScorecardConfig;\n\tperiodId?: string;\n\torgUnit?: ItemMeta & { hierarchy: string };\n\torgUnitLevels?: Array<{\n\t\tid: string;\n\t\tlevel: number;\n\t}>;\n}) {\n\tlet legends: ScorecardLegend[] = [];\n\n\tif (periodId && orgUnit && orgUnitLevels) {\n\t\tif (!Array.isArray(dataSource.legends)) {\n\t\t\tlegends = getLegendByOrgUnitLevel({\n\t\t\t\torgUnit,\n\t\t\t\torgUnitLevels,\n\t\t\t\tlegends: dataSource.legends as OrgUnitLevelLegend,\n\t\t\t});\n\t\t} else {\n\t\t\tconst specificTargets = dataSource.specificTargets;\n\t\t\tif (!isEmpty(specificTargets)) {\n\t\t\t\tconst specificTarget = head(specificTargets)!;\n\t\t\t\tswitch (specificTarget.type) {\n\t\t\t\t\tcase \"periods\":\n\t\t\t\t\t\tconst targetLegends = getSpecificTargetLegends(\n\t\t\t\t\t\t\tspecificTarget,\n\t\t\t\t\t\t\tperiodId,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tlegends = targetLegends ?? dataSource.legends;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"orgUnit\":\n\t\t\t\t\t\tconst targetOrgUnitLegends = getSpecificTargetLegends(\n\t\t\t\t\t\t\tspecificTarget,\n\t\t\t\t\t\t\torgUnit.uid,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tlegends = targetOrgUnitLegends ?? dataSource.legends;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tlegends = dataSource.legends;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tlegends = dataSource.legends;\n\t\t\t}\n\t\t}\n\t} else {\n\t\tif (Array.isArray(dataSource.legends)) {\n\t\t\tlegends = dataSource.legends;\n\t\t}\n\t}\n\n\treturn findLegend({\n\t\tlegends,\n\t\tvalue: value,\n\t\tmax: dataSource.weight,\n\t\tlegendDefinitions: config.legendDefinitions,\n\t});\n}\n\nexport function getTextColorFromBackgroundColor(background: string): string {\n\t// Remove the hash at the start if it's there\n\tbackground = background.replace(/^#/, \"\");\n\n\t// Convert hex to RGB\n\tlet r = parseInt(background.substring(0, 2), 16);\n\tlet g = parseInt(background.substring(2, 4), 16);\n\tlet b = parseInt(background.substring(4, 6), 16);\n\n\t// Calculate the YIQ value\n\tlet yiq = (r * 299 + g * 587 + b * 114) / 1000;\n\n\t// Return black for light backgrounds and white for dark backgrounds\n\treturn yiq >= 128 ? \"#000000\" : \"#FFFFFF\";\n}\n"]}
1
+ {"version":3,"sources":["../../src/utils/legends.ts"],"names":["find","isEmpty","head"],"mappings":"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","file":"legends.js","sourcesContent":["import type {\n\tLegendDefinition,\n\tOrgUnitLevelLegend,\n\tScorecardConfig,\n\tScorecardDataSource,\n\tScorecardLegend,\n\tSpecificTarget,\n} from \"../schemas/config\";\nimport { find, head, isEmpty } from \"lodash\";\nimport type { ItemMeta } from \"../hooks/metadata\";\n\nfunction findLegend({\n\tmax,\n\tlegendDefinitions,\n\tvalue,\n\tlegends,\n}: {\n\tmax: number;\n\tlegendDefinitions: LegendDefinition[];\n\tlegends: ScorecardLegend[];\n\tvalue?: number;\n}): LegendDefinition | undefined {\n\tif (!value) {\n\t\treturn find(legendDefinitions, { id: \"No Data\" });\n\t}\n\tconst numericValue = value;\n\tif (numericValue > max) {\n\t\treturn find(legendDefinitions, { id: \"N/A\" });\n\t}\n\tif (isNaN(numericValue)) {\n\t\treturn find(legendDefinitions, { id: \"No Data\" });\n\t}\n\n\tconst { legendDefinitionId } =\n\t\tfind(legends, (legend) => {\n\t\t\tif (legend) {\n\t\t\t\tconst { startValue, endValue } = legend;\n\t\t\t\tif (+endValue === max) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t+startValue <= numericValue && +endValue >= numericValue\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn +startValue <= numericValue && +endValue > numericValue;\n\t\t\t}\n\t\t\treturn false;\n\t\t}) ?? {};\n\n\treturn find(legendDefinitions, [\"id\", legendDefinitionId]);\n}\n\nfunction getSpecificTargetLegends(specificTarget: SpecificTarget, id: string) {\n\tif (specificTarget.items.includes(id)) {\n\t\treturn specificTarget.legends;\n\t}\n}\n\nfunction getLegendByOrgUnitLevel({\n\torgUnit,\n\torgUnitLevels,\n\tlegends,\n}: {\n\torgUnit: ItemMeta & { hierarchy: string };\n\tlegends: Record<string, ScorecardLegend[]>;\n\torgUnitLevels: Array<{\n\t\tid: string;\n\t\tlevel: number;\n\t}>;\n}): ScorecardLegend[] {\n\tconst orgUnitLevel = orgUnitLevels.find(({ id, level }) => {\n\t\tconst ouLevel = orgUnit.hierarchy.split(\"/\").filter(Boolean).length;\n\t\treturn level === ouLevel;\n\t});\n\n\tif (!orgUnitLevel) {\n\t\tthrow new Error(\"Invalid orgUnitId\");\n\t}\n\n\treturn legends[orgUnitLevel.id];\n}\n\nexport function getLegend({\n\tdataSource,\n\tconfig,\n\tvalue,\n\tperiodId,\n\torgUnit,\n\torgUnitLevels,\n}: {\n\tdataSource: ScorecardDataSource;\n\tvalue?: number;\n\tconfig: ScorecardConfig;\n\tperiodId?: string;\n\torgUnit?: ItemMeta & { hierarchy: string };\n\torgUnitLevels?: Array<{\n\t\tid: string;\n\t\tlevel: number;\n\t}>;\n}) {\n\tlet legends: ScorecardLegend[] = [];\n\n\tif (periodId && orgUnit && orgUnitLevels) {\n\t\tif (!Array.isArray(dataSource.legends)) {\n\t\t\tlegends = getLegendByOrgUnitLevel({\n\t\t\t\torgUnit,\n\t\t\t\torgUnitLevels,\n\t\t\t\tlegends: dataSource.legends as OrgUnitLevelLegend,\n\t\t\t});\n\t\t} else {\n\t\t\tconst specificTargets = dataSource.specificTargets;\n\t\t\tif (!isEmpty(specificTargets)) {\n\t\t\t\tconst specificTarget = head(specificTargets)!;\n\t\t\t\tswitch (specificTarget.type) {\n\t\t\t\t\tcase \"periods\":\n\t\t\t\t\t\tconst targetLegends = getSpecificTargetLegends(\n\t\t\t\t\t\t\tspecificTarget,\n\t\t\t\t\t\t\tperiodId,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tlegends = targetLegends ?? dataSource.legends;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"orgUnit\":\n\t\t\t\t\t\tconst targetOrgUnitLegends = getSpecificTargetLegends(\n\t\t\t\t\t\t\tspecificTarget,\n\t\t\t\t\t\t\torgUnit.uid,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tlegends = targetOrgUnitLegends ?? dataSource.legends;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tlegends = dataSource.legends;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tlegends = dataSource.legends;\n\t\t\t}\n\t\t}\n\t} else {\n\t\tif (Array.isArray(dataSource.legends)) {\n\t\t\tlegends = dataSource.legends;\n\t\t}\n\t}\n\n\treturn findLegend({\n\t\tlegends,\n\t\tvalue: value,\n\t\tmax: dataSource.weight,\n\t\tlegendDefinitions: config.legendDefinitions,\n\t});\n}\n\nexport function getTextColorFromBackgroundColor(background: string): string {\n\t// Remove the hash at the start if it's there\n\tbackground = background.replace(/^#/, \"\");\n\n\t// Convert hex to RGB\n\tlet r = parseInt(background.substring(0, 2), 16);\n\tlet g = parseInt(background.substring(2, 4), 16);\n\tlet b = parseInt(background.substring(4, 6), 16);\n\n\t// Calculate the YIQ value\n\tlet yiq = (r * 299 + g * 587 + b * 114) / 1000;\n\n\t// Return black for light backgrounds and white for dark backgrounds\n\treturn yiq >= 128 ? \"#000000\" : \"#FFFFFF\";\n}\n"]}
@@ -36,5 +36,5 @@ function getOrgUnitLevel(orgUnit) {
36
36
 
37
37
  exports.getOrgUnitLevel = getOrgUnitLevel;
38
38
  exports.getOrgUnitsForAnalytics = getOrgUnitsForAnalytics;
39
- //# sourceMappingURL=out.js.map
39
+ //# sourceMappingURL=orgUnits.js.map
40
40
  //# sourceMappingURL=orgUnits.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/orgUnits.ts"],"names":[],"mappings":"AAGO,SAAS,wBACf,kBACW;AACX,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,IAAI,oBAAoB,CAAC;AACzB,QAAM,UAAU,CAAC;AAEjB,MAAI,aAAa;AAChB,YAAQ,KAAK,cAAc;AAAA,EAC5B;AACA,MAAI,aAAa;AAChB,YAAQ,KAAK,uBAAuB;AAAA,EACrC;AACA,MAAI,eAAe;AAClB,YAAQ,KAAK,4BAA4B;AAAA,EAC1C;AAEA,MAAI,UAAU;AACb,YAAQ,KAAK,GAAG,SAAS,IAAI,CAAC,YAAY,QAAQ,EAAE,CAAC;AAAA,EACtD;AACA,MAAI,QAAQ;AACX,YAAQ,KAAK,GAAG,OAAO,IAAI,CAAC,UAAU,YAAY,KAAK,EAAE,CAAC;AAAA,EAC3D;AACA,MAAI,QAAQ;AACX,YAAQ,KAAK,GAAG,OAAO,IAAI,CAAC,UAAU,SAAS,KAAK,EAAE,CAAC;AAAA,EACxD;AACA,SAAO;AACR;AAEO,SAAS,gBAAgB,SAA2C;AAC1E,SAAO,QAAQ,UAAU,MAAM,GAAG,EAAE,OAAO,OAAO,EAAE;AACrD","sourcesContent":["import type { OrgUnitSelection } from \"../schemas/config\";\nimport type { ItemMeta } from \"../hooks/metadata\";\n\nexport function getOrgUnitsForAnalytics(\n\torgUnitSelection: OrgUnitSelection,\n): string[] {\n\tconst {\n\t\tuserOrgUnit,\n\t\torgUnits,\n\t\tuserSubUnit,\n\t\tuserSubX2Unit,\n\t\tlevels,\n\t\tgroups,\n\t} = orgUnitSelection ?? {};\n\tconst results = [];\n\n\tif (userOrgUnit) {\n\t\tresults.push(\"USER_ORGUNIT\");\n\t}\n\tif (userSubUnit) {\n\t\tresults.push(\"USER_ORGUNIT_CHILDREN\");\n\t}\n\tif (userSubX2Unit) {\n\t\tresults.push(\"USER_ORGUNIT_GRANDCHILDREN\");\n\t}\n\n\tif (orgUnits) {\n\t\tresults.push(...orgUnits.map((orgUnit) => orgUnit.id));\n\t}\n\tif (groups) {\n\t\tresults.push(...groups.map((group) => `OU_GROUP-${group}`));\n\t}\n\tif (levels) {\n\t\tresults.push(...levels.map((level) => `LEVEL-${level}`));\n\t}\n\treturn results;\n}\n\nexport function getOrgUnitLevel(orgUnit: ItemMeta & { hierarchy: string }) {\n\treturn orgUnit.hierarchy.split(\"/\").filter(Boolean).length;\n}\n"]}
1
+ {"version":3,"sources":["../../src/utils/orgUnits.ts"],"names":[],"mappings":";;AAGO,SAAS,wBACf,gBACW,EAAA;AACX,EAAM,MAAA;AAAA,IACL,WAAA;AAAA,IACA,QAAA;AAAA,IACA,WAAA;AAAA,IACA,aAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,GACD,GAAI,oBAAoB,EAAC,CAAA;AACzB,EAAA,MAAM,UAAU,EAAC,CAAA;AAEjB,EAAA,IAAI,WAAa,EAAA;AAChB,IAAA,OAAA,CAAQ,KAAK,cAAc,CAAA,CAAA;AAAA,GAC5B;AACA,EAAA,IAAI,WAAa,EAAA;AAChB,IAAA,OAAA,CAAQ,KAAK,uBAAuB,CAAA,CAAA;AAAA,GACrC;AACA,EAAA,IAAI,aAAe,EAAA;AAClB,IAAA,OAAA,CAAQ,KAAK,4BAA4B,CAAA,CAAA;AAAA,GAC1C;AAEA,EAAA,IAAI,QAAU,EAAA;AACb,IAAQ,OAAA,CAAA,IAAA,CAAK,GAAG,QAAS,CAAA,GAAA,CAAI,CAAC,OAAY,KAAA,OAAA,CAAQ,EAAE,CAAC,CAAA,CAAA;AAAA,GACtD;AACA,EAAA,IAAI,MAAQ,EAAA;AACX,IAAQ,OAAA,CAAA,IAAA,CAAK,GAAG,MAAO,CAAA,GAAA,CAAI,CAAC,KAAU,KAAA,CAAA,SAAA,EAAY,KAAK,CAAA,CAAE,CAAC,CAAA,CAAA;AAAA,GAC3D;AACA,EAAA,IAAI,MAAQ,EAAA;AACX,IAAQ,OAAA,CAAA,IAAA,CAAK,GAAG,MAAO,CAAA,GAAA,CAAI,CAAC,KAAU,KAAA,CAAA,MAAA,EAAS,KAAK,CAAA,CAAE,CAAC,CAAA,CAAA;AAAA,GACxD;AACA,EAAO,OAAA,OAAA,CAAA;AACR,CAAA;AAEO,SAAS,gBAAgB,OAA2C,EAAA;AAC1E,EAAA,OAAO,QAAQ,SAAU,CAAA,KAAA,CAAM,GAAG,CAAE,CAAA,MAAA,CAAO,OAAO,CAAE,CAAA,MAAA,CAAA;AACrD","file":"orgUnits.js","sourcesContent":["import type { OrgUnitSelection } from \"../schemas/config\";\nimport type { ItemMeta } from \"../hooks/metadata\";\n\nexport function getOrgUnitsForAnalytics(\n\torgUnitSelection: OrgUnitSelection,\n): string[] {\n\tconst {\n\t\tuserOrgUnit,\n\t\torgUnits,\n\t\tuserSubUnit,\n\t\tuserSubX2Unit,\n\t\tlevels,\n\t\tgroups,\n\t} = orgUnitSelection ?? {};\n\tconst results = [];\n\n\tif (userOrgUnit) {\n\t\tresults.push(\"USER_ORGUNIT\");\n\t}\n\tif (userSubUnit) {\n\t\tresults.push(\"USER_ORGUNIT_CHILDREN\");\n\t}\n\tif (userSubX2Unit) {\n\t\tresults.push(\"USER_ORGUNIT_GRANDCHILDREN\");\n\t}\n\n\tif (orgUnits) {\n\t\tresults.push(...orgUnits.map((orgUnit) => orgUnit.id));\n\t}\n\tif (groups) {\n\t\tresults.push(...groups.map((group) => `OU_GROUP-${group}`));\n\t}\n\tif (levels) {\n\t\tresults.push(...levels.map((level) => `LEVEL-${level}`));\n\t}\n\treturn results;\n}\n\nexport function getOrgUnitLevel(orgUnit: ItemMeta & { hierarchy: string }) {\n\treturn orgUnit.hierarchy.split(\"/\").filter(Boolean).length;\n}\n"]}