@hisptz/dhis2-scorecard 1.0.13 → 1.0.15

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 +9 -9
@@ -29,5 +29,5 @@ function NumberCellComponent(props) {
29
29
  const NumberCell = memo(NumberCellComponent);
30
30
 
31
31
  export { NumberCell };
32
- //# sourceMappingURL=out.js.map
32
+ //# sourceMappingURL=NumberCell.js.map
33
33
  //# sourceMappingURL=NumberCell.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../src/components/ScorecardTable/components/TableHeader/components/NumberCell.tsx"],"names":[],"mappings":"AAmBE;AAjBF,SAAS,qBAAqB;AAC9B,SAAS,MAAM,eAAe;AAE9B,SAAS,oBACR,OACC;AACD,QAAM,OAAO,MAAM,SAAS,EAAE,SAAS;AACvC,QAAM,OAAO,MAAM,KAAK,OAAO,QAAQ;AAEvC,QAAM,OAAO,QAAQ,MAAM;AAC1B,UAAM,QAAQ,MAAM,IAClB,gBAAgB,EAChB,UAAU,CAAC,EAAE,GAAG,MAAM,MAAM,KAAK,OAAO,EAAE;AAC5C,WAAO,QAAQ;AAAA,EAChB,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC;AAEpB,SACC;AAAA,IAAC;AAAA;AAAA,MACA,UAAQ;AAAA,MACR,OAAO,GAAG,IAAI;AAAA,MACd,OAAO;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,QACV,UAAU;AAAA,QACV,QAAQ;AAAA,MACT;AAAA,MACA,OAAK;AAAA,MAGL,MAAM,GAAG,IAAI;AAAA,MAEZ;AAAA;AAAA,EACF;AAEF;AAEO,MAAM,aAAa,KAAK,mBAAmB","sourcesContent":["import type { CellContext } from \"@tanstack/react-table\";\nimport type { ScorecardTableData } from \"../../../../../schemas/config\";\nimport { DataTableCell } from \"@dhis2/ui\";\nimport { memo, useMemo } from \"react\";\n\nfunction NumberCellComponent(\n\tprops: CellContext<ScorecardTableData, string | number>,\n) {\n\tconst data = props.getValue().toString();\n\tconst size = props.cell.column.getSize();\n\n\tconst left = useMemo(() => {\n\t\tconst index = props.row\n\t\t\t.getVisibleCells()\n\t\t\t.findIndex(({ id }) => props.cell.id === id);\n\t\treturn index * size;\n\t}, [props.row, size]);\n\n\treturn (\n\t\t<DataTableCell\n\t\t\tbordered\n\t\t\twidth={`${size}px`}\n\t\t\tstyle={{\n\t\t\t\twidth: size,\n\t\t\t\tminWidth: size,\n\t\t\t\tmaxWidth: 48,\n\t\t\t\theight: 48,\n\t\t\t}}\n\t\t\tfixed\n\t\t\t/*\n // @ts-ignore */\n\t\t\tleft={`${left}px`}\n\t\t>\n\t\t\t{data}\n\t\t</DataTableCell>\n\t);\n}\n\nexport const NumberCell = memo(NumberCellComponent);\n"]}
1
+ {"version":3,"sources":["../../../../../../../src/components/ScorecardTable/components/TableHeader/components/NumberCell.tsx"],"names":[],"mappings":";;;;AAKA,SAAS,oBACR,KACC,EAAA;AACD,EAAA,MAAM,IAAO,GAAA,KAAA,CAAM,QAAS,EAAA,CAAE,QAAS,EAAA,CAAA;AACvC,EAAA,MAAM,IAAO,GAAA,KAAA,CAAM,IAAK,CAAA,MAAA,CAAO,OAAQ,EAAA,CAAA;AAEvC,EAAM,MAAA,IAAA,GAAO,QAAQ,MAAM;AAC1B,IAAA,MAAM,KAAQ,GAAA,KAAA,CAAM,GAClB,CAAA,eAAA,EACA,CAAA,SAAA,CAAU,CAAC,EAAE,EAAG,EAAA,KAAM,KAAM,CAAA,IAAA,CAAK,OAAO,EAAE,CAAA,CAAA;AAC5C,IAAA,OAAO,KAAQ,GAAA,IAAA,CAAA;AAAA,GACb,EAAA,CAAC,KAAM,CAAA,GAAA,EAAK,IAAI,CAAC,CAAA,CAAA;AAEpB,EACC,uBAAA,GAAA;AAAA,IAAC,aAAA;AAAA,IAAA;AAAA,MACA,QAAQ,EAAA,IAAA;AAAA,MACR,KAAA,EAAO,GAAG,IAAI,CAAA,EAAA,CAAA;AAAA,MACd,KAAO,EAAA;AAAA,QACN,KAAO,EAAA,IAAA;AAAA,QACP,QAAU,EAAA,IAAA;AAAA,QACV,QAAU,EAAA,EAAA;AAAA,QACV,MAAQ,EAAA,EAAA;AAAA,OACT;AAAA,MACA,KAAK,EAAA,IAAA;AAAA,MAGL,IAAA,EAAM,GAAG,IAAI,CAAA,EAAA,CAAA;AAAA,MAEZ,QAAA,EAAA,IAAA;AAAA,KAAA;AAAA,GACF,CAAA;AAEF,CAAA;AAEa,MAAA,UAAA,GAAa,KAAK,mBAAmB","file":"NumberCell.js","sourcesContent":["import type { CellContext } from \"@tanstack/react-table\";\nimport type { ScorecardTableData } from \"../../../../../schemas/config\";\nimport { DataTableCell } from \"@dhis2/ui\";\nimport { memo, useMemo } from \"react\";\n\nfunction NumberCellComponent(\n\tprops: CellContext<ScorecardTableData, string | number>,\n) {\n\tconst data = props.getValue().toString();\n\tconst size = props.cell.column.getSize();\n\n\tconst left = useMemo(() => {\n\t\tconst index = props.row\n\t\t\t.getVisibleCells()\n\t\t\t.findIndex(({ id }) => props.cell.id === id);\n\t\treturn index * size;\n\t}, [props.row, size]);\n\n\treturn (\n\t\t<DataTableCell\n\t\t\tbordered\n\t\t\twidth={`${size}px`}\n\t\t\tstyle={{\n\t\t\t\twidth: size,\n\t\t\t\tminWidth: size,\n\t\t\t\tmaxWidth: 48,\n\t\t\t\theight: 48,\n\t\t\t}}\n\t\t\tfixed\n\t\t\t/*\n // @ts-ignore */\n\t\t\tleft={`${left}px`}\n\t\t>\n\t\t\t{data}\n\t\t</DataTableCell>\n\t);\n}\n\nexport const NumberCell = memo(NumberCellComponent);\n"]}
@@ -1,3 +1,3 @@
1
1
  export * from './TableHeader';
2
- //# sourceMappingURL=out.js.map
2
+ //# sourceMappingURL=index.js.map
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/ScorecardTable/components/TableHeader/index.ts"],"names":[],"mappings":"AAAA,cAAc","sourcesContent":["export * from \"./TableHeader\";\n"]}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js","sourcesContent":[]}
@@ -1,3 +1,3 @@
1
1
  export * from './ScorecardTable';
2
- //# sourceMappingURL=out.js.map
2
+ //# sourceMappingURL=index.js.map
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ScorecardTable/index.ts"],"names":[],"mappings":"AAAA,cAAc","sourcesContent":["export * from \"./ScorecardTable\";\n"]}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js","sourcesContent":[]}
@@ -38,5 +38,5 @@ function ScorecardStateProvider({
38
38
  }
39
39
 
40
40
  export { ScorecardStateProvider };
41
- //# sourceMappingURL=out.js.map
41
+ //# sourceMappingURL=StateProvider.js.map
42
42
  //# sourceMappingURL=StateProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/StateProvider.tsx"],"names":["initialState"],"mappings":"AA8CS;AA7CT,SAAyB,mBAAmB;AAC5C,SAA0B,YAAY,yBAAyB;AAC/D,SAAS,0BAA0B;AACnC,SAAS,iCAAiC;AASnC,SAAS,uBAAuB;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAgC;AAC/B,QAAM,YAAY;AAAA,IACjB,CAAC,EAAE,IAAI,MAAuB;AAC7B;AAAA,QACC;AAAA,QACA,gBAAgB,0BAA0B,MAAM;AAAA,MACjD;AAAA,IACD;AAAA,IACA,CAAC,cAAc,MAAM;AAAA,EACtB;AACA,QAAM,+BAA+B;AAAA,IACpC,CAAC,EAAE,KAAK,SAAS,MAChB,CAACA,kBAAiC;AACjC,UACC,SAAS,YAAY,kBAAkB,EAAE,aAAa,MACrD;AACD,YAAI,oBAAoBA,aAAY;AAAA,MACrC;AAAA,IACD;AAAA,EACF;AAEA,MAAI,CAAC,gBAAgB;AACpB;AAAA,MACC,gBAAgB,0BAA0B,MAAM;AAAA,IACjD;AAAA,EACD;AAEA,MAAI,gBAAgB;AACnB,WAAO,oBAAC,cAAW,iBAAiB,WAAY,UAAS;AAAA,EAC1D;AAEA,SAAO;AACR","sourcesContent":["import type { ScorecardConfig, ScorecardState } from \"../schemas/config\";\nimport { type ReactNode, useCallback } from \"react\";\nimport { MutableSnapshot, RecoilRoot, useRecoilCallback } from \"recoil\";\nimport { scorecardStateAtom } from \"../state\";\nimport { getInitialStateFromConfig } from \"../utils\";\n\nexport interface ScorecardStateProviderProps {\n\tinitialState?: ScorecardState;\n\tconfig: ScorecardConfig;\n\tchildren: ReactNode;\n\twithRecoilRoot?: boolean;\n}\n\nexport function ScorecardStateProvider({\n\tchildren,\n\tinitialState,\n\tconfig,\n\twithRecoilRoot,\n}: ScorecardStateProviderProps) {\n\tconst initState = useCallback(\n\t\t({ set }: MutableSnapshot) => {\n\t\t\tset(\n\t\t\t\tscorecardStateAtom,\n\t\t\t\tinitialState ?? getInitialStateFromConfig(config),\n\t\t\t);\n\t\t},\n\t\t[initialState, config],\n\t);\n\tconst initializeStateWithoutRecoil = useRecoilCallback(\n\t\t({ set, snapshot }) =>\n\t\t\t(initialState: ScorecardState) => {\n\t\t\t\tif (\n\t\t\t\t\tsnapshot.getLoadable(scorecardStateAtom).contents === null\n\t\t\t\t) {\n\t\t\t\t\tset(scorecardStateAtom, initialState);\n\t\t\t\t}\n\t\t\t},\n\t);\n\n\tif (!withRecoilRoot) {\n\t\tinitializeStateWithoutRecoil(\n\t\t\tinitialState ?? getInitialStateFromConfig(config),\n\t\t);\n\t}\n\n\tif (withRecoilRoot) {\n\t\treturn <RecoilRoot initializeState={initState}>{children}</RecoilRoot>;\n\t}\n\n\treturn children;\n}\n"]}
1
+ {"version":3,"sources":["../../../src/components/StateProvider.tsx"],"names":["initialState"],"mappings":";;;;;;AAaO,SAAS,sBAAuB,CAAA;AAAA,EACtC,QAAA;AAAA,EACA,YAAA;AAAA,EACA,MAAA;AAAA,EACA,cAAA;AACD,CAAgC,EAAA;AAC/B,EAAA,MAAM,SAAY,GAAA,WAAA;AAAA,IACjB,CAAC,EAAE,GAAA,EAA2B,KAAA;AAC7B,MAAA,GAAA;AAAA,QACC,kBAAA;AAAA,QACA,YAAA,IAAgB,0BAA0B,MAAM,CAAA;AAAA,OACjD,CAAA;AAAA,KACD;AAAA,IACA,CAAC,cAAc,MAAM,CAAA;AAAA,GACtB,CAAA;AACA,EAAA,MAAM,4BAA+B,GAAA,iBAAA;AAAA,IACpC,CAAC,EAAE,GAAA,EAAK,QAAS,EAAA,KAChB,CAACA,aAAiC,KAAA;AACjC,MAAA,IACC,QAAS,CAAA,WAAA,CAAY,kBAAkB,CAAA,CAAE,aAAa,IACrD,EAAA;AACD,QAAA,GAAA,CAAI,oBAAoBA,aAAY,CAAA,CAAA;AAAA,OACrC;AAAA,KACD;AAAA,GACF,CAAA;AAEA,EAAA,IAAI,CAAC,cAAgB,EAAA;AACpB,IAAA,4BAAA;AAAA,MACC,YAAA,IAAgB,0BAA0B,MAAM,CAAA;AAAA,KACjD,CAAA;AAAA,GACD;AAEA,EAAA,IAAI,cAAgB,EAAA;AACnB,IAAA,uBAAQ,GAAA,CAAA,UAAA,EAAA,EAAW,eAAiB,EAAA,SAAA,EAAY,QAAS,EAAA,CAAA,CAAA;AAAA,GAC1D;AAEA,EAAO,OAAA,QAAA,CAAA;AACR","file":"StateProvider.js","sourcesContent":["import type { ScorecardConfig, ScorecardState } from \"../schemas/config\";\nimport { type ReactNode, useCallback } from \"react\";\nimport { MutableSnapshot, RecoilRoot, useRecoilCallback } from \"recoil\";\nimport { scorecardStateAtom } from \"../state\";\nimport { getInitialStateFromConfig } from \"../utils\";\n\nexport interface ScorecardStateProviderProps {\n\tinitialState?: ScorecardState;\n\tconfig: ScorecardConfig;\n\tchildren: ReactNode;\n\twithRecoilRoot?: boolean;\n}\n\nexport function ScorecardStateProvider({\n\tchildren,\n\tinitialState,\n\tconfig,\n\twithRecoilRoot,\n}: ScorecardStateProviderProps) {\n\tconst initState = useCallback(\n\t\t({ set }: MutableSnapshot) => {\n\t\t\tset(\n\t\t\t\tscorecardStateAtom,\n\t\t\t\tinitialState ?? getInitialStateFromConfig(config),\n\t\t\t);\n\t\t},\n\t\t[initialState, config],\n\t);\n\tconst initializeStateWithoutRecoil = useRecoilCallback(\n\t\t({ set, snapshot }) =>\n\t\t\t(initialState: ScorecardState) => {\n\t\t\t\tif (\n\t\t\t\t\tsnapshot.getLoadable(scorecardStateAtom).contents === null\n\t\t\t\t) {\n\t\t\t\t\tset(scorecardStateAtom, initialState);\n\t\t\t\t}\n\t\t\t},\n\t);\n\n\tif (!withRecoilRoot) {\n\t\tinitializeStateWithoutRecoil(\n\t\t\tinitialState ?? getInitialStateFromConfig(config),\n\t\t);\n\t}\n\n\tif (withRecoilRoot) {\n\t\treturn <RecoilRoot initializeState={initState}>{children}</RecoilRoot>;\n\t}\n\n\treturn children;\n}\n"]}
@@ -38,5 +38,5 @@ const TableStateProvider = memo(function TableStateProvider2({
38
38
  });
39
39
 
40
40
  export { TableLoadingStateProvider, TableStateProvider, useTableLoadingState, useTableState, useToggleTableLoadingState };
41
- //# sourceMappingURL=out.js.map
41
+ //# sourceMappingURL=TableStateProvider.js.map
42
42
  //# sourceMappingURL=TableStateProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/TableStateProvider.tsx"],"names":["TableStateProvider"],"mappings":"AAiDG;AAjDH;AAAA,EACC;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,OACM;AACP;AAAA,EACC;AAAA,EAEA;AAAA,OACM;AACP,SAAS,qBAAqB;AAE9B,SAAS,kBAAkB;AAE3B,MAAM,oBAAoB,cAAgD;AAAA,EACzE,OAAO,CAAC;AAAA,EACR,SAAS,CAAC;AAAA,EACV,iBAAiB,gBAAgB;AAAA,EACjC,MAAM,CAAC;AACR,CAAC;AAED,MAAM,2BAA2B,cAAuB,KAAK;AAC7D,MAAM,iCAAiC,cAA0B,MAAM;AAAC,CAAC;AAElE,SAAS,gBAAgB;AAC/B,QAAM,UAAU,WAAW,iBAAiB;AAC5C,QAAM,kBAAkB,iBAAiB,OAAO;AAChD,SAAO,cAAkC,eAAe;AACzD;AAEO,SAAS,6BAA6B;AAC5C,SAAO,WAAW,8BAA8B;AACjD;AAEO,SAAS,uBAAuB;AACtC,SAAO,WAAW,wBAAwB;AAC3C;AAEO,SAAS,0BAA0B;AAAA,EACzC;AACD,GAEG;AACF,QAAM,EAAE,OAAO,SAAS,OAAO,IAAI,WAAW,KAAK;AAEnD,SACC,oBAAC,+BAA+B,UAA/B,EAAwC,OAAO,QAC/C,8BAAC,yBAAyB,UAAzB,EAAkC,OAAO,SACxC,UACF,GACD;AAEF;AAEO,MAAM,qBAAqB,KAAK,SAASA,oBAAmB;AAAA,EAClE;AACD,GAEG;AACF,QAAM,UAAU,cAAc;AAC9B,SACC,oBAAC,kBAAkB,UAAlB,EAA2B,OAAO,SAClC,8BAAC,6BAA2B,UAAS,GACtC;AAEF,CAAC","sourcesContent":["import {\n\tcreateContext,\n\tmemo,\n\ttype ReactNode,\n\tuseContext,\n\tuseDeferredValue,\n} from \"react\";\nimport {\n\tgetCoreRowModel,\n\ttype TableOptions,\n\tuseReactTable,\n} from \"@tanstack/react-table\";\nimport { useTableSetup } from \"../hooks/table\";\nimport type { ScorecardTableData } from \"../schemas/config\";\nimport { useBoolean } from \"usehooks-ts\";\n\nconst TableStateContext = createContext<TableOptions<ScorecardTableData>>({\n\tstate: {},\n\tcolumns: [],\n\tgetCoreRowModel: getCoreRowModel(),\n\tdata: [],\n});\n\nconst TableLoadingStateContext = createContext<boolean>(false);\nconst TableLoadingStateToggleContext = createContext<() => void>(() => {});\n\nexport function useTableState() {\n\tconst context = useContext(TableStateContext);\n\tconst deferredContext = useDeferredValue(context);\n\treturn useReactTable<ScorecardTableData>(deferredContext);\n}\n\nexport function useToggleTableLoadingState() {\n\treturn useContext(TableLoadingStateToggleContext);\n}\n\nexport function useTableLoadingState() {\n\treturn useContext(TableLoadingStateContext);\n}\n\nexport function TableLoadingStateProvider({\n\tchildren,\n}: {\n\tchildren: ReactNode;\n}) {\n\tconst { value: loading, toggle } = useBoolean(false);\n\n\treturn (\n\t\t<TableLoadingStateToggleContext.Provider value={toggle}>\n\t\t\t<TableLoadingStateContext.Provider value={loading}>\n\t\t\t\t{children}\n\t\t\t</TableLoadingStateContext.Provider>\n\t\t</TableLoadingStateToggleContext.Provider>\n\t);\n}\n\nexport const TableStateProvider = memo(function TableStateProvider({\n\tchildren,\n}: {\n\tchildren: ReactNode;\n}) {\n\tconst options = useTableSetup();\n\treturn (\n\t\t<TableStateContext.Provider value={options}>\n\t\t\t<TableLoadingStateProvider>{children}</TableLoadingStateProvider>\n\t\t</TableStateContext.Provider>\n\t);\n});\n"]}
1
+ {"version":3,"sources":["../../../src/components/TableStateProvider.tsx"],"names":["TableStateProvider"],"mappings":";;;;;;AAgBA,MAAM,oBAAoB,aAAgD,CAAA;AAAA,EACzE,OAAO,EAAC;AAAA,EACR,SAAS,EAAC;AAAA,EACV,iBAAiB,eAAgB,EAAA;AAAA,EACjC,MAAM,EAAC;AACR,CAAC,CAAA,CAAA;AAED,MAAM,wBAAA,GAA2B,cAAuB,KAAK,CAAA,CAAA;AAC7D,MAAM,8BAAA,GAAiC,cAA0B,MAAM;AAAC,CAAC,CAAA,CAAA;AAElE,SAAS,aAAgB,GAAA;AAC/B,EAAM,MAAA,OAAA,GAAU,WAAW,iBAAiB,CAAA,CAAA;AAC5C,EAAM,MAAA,eAAA,GAAkB,iBAAiB,OAAO,CAAA,CAAA;AAChD,EAAA,OAAO,cAAkC,eAAe,CAAA,CAAA;AACzD,CAAA;AAEO,SAAS,0BAA6B,GAAA;AAC5C,EAAA,OAAO,WAAW,8BAA8B,CAAA,CAAA;AACjD,CAAA;AAEO,SAAS,oBAAuB,GAAA;AACtC,EAAA,OAAO,WAAW,wBAAwB,CAAA,CAAA;AAC3C,CAAA;AAEO,SAAS,yBAA0B,CAAA;AAAA,EACzC,QAAA;AACD,CAEG,EAAA;AACF,EAAA,MAAM,EAAE,KAAO,EAAA,OAAA,EAAS,MAAO,EAAA,GAAI,WAAW,KAAK,CAAA,CAAA;AAEnD,EAAA,uBACE,GAAA,CAAA,8BAAA,CAA+B,QAA/B,EAAA,EAAwC,KAAO,EAAA,MAAA,EAC/C,QAAC,kBAAA,GAAA,CAAA,wBAAA,CAAyB,QAAzB,EAAA,EAAkC,KAAO,EAAA,OAAA,EACxC,UACF,CACD,EAAA,CAAA,CAAA;AAEF,CAAA;AAEa,MAAA,kBAAA,GAAqB,IAAK,CAAA,SAASA,mBAAmB,CAAA;AAAA,EAClE,QAAA;AACD,CAEG,EAAA;AACF,EAAA,MAAM,UAAU,aAAc,EAAA,CAAA;AAC9B,EACC,uBAAA,GAAA,CAAC,kBAAkB,QAAlB,EAAA,EAA2B,OAAO,OAClC,EAAA,QAAA,kBAAA,GAAA,CAAC,yBAA2B,EAAA,EAAA,QAAA,EAAS,CACtC,EAAA,CAAA,CAAA;AAEF,CAAC","file":"TableStateProvider.js","sourcesContent":["import {\n\tcreateContext,\n\tmemo,\n\ttype ReactNode,\n\tuseContext,\n\tuseDeferredValue,\n} from \"react\";\nimport {\n\tgetCoreRowModel,\n\ttype TableOptions,\n\tuseReactTable,\n} from \"@tanstack/react-table\";\nimport { useTableSetup } from \"../hooks/table\";\nimport type { ScorecardTableData } from \"../schemas/config\";\nimport { useBoolean } from \"usehooks-ts\";\n\nconst TableStateContext = createContext<TableOptions<ScorecardTableData>>({\n\tstate: {},\n\tcolumns: [],\n\tgetCoreRowModel: getCoreRowModel(),\n\tdata: [],\n});\n\nconst TableLoadingStateContext = createContext<boolean>(false);\nconst TableLoadingStateToggleContext = createContext<() => void>(() => {});\n\nexport function useTableState() {\n\tconst context = useContext(TableStateContext);\n\tconst deferredContext = useDeferredValue(context);\n\treturn useReactTable<ScorecardTableData>(deferredContext);\n}\n\nexport function useToggleTableLoadingState() {\n\treturn useContext(TableLoadingStateToggleContext);\n}\n\nexport function useTableLoadingState() {\n\treturn useContext(TableLoadingStateContext);\n}\n\nexport function TableLoadingStateProvider({\n\tchildren,\n}: {\n\tchildren: ReactNode;\n}) {\n\tconst { value: loading, toggle } = useBoolean(false);\n\n\treturn (\n\t\t<TableLoadingStateToggleContext.Provider value={toggle}>\n\t\t\t<TableLoadingStateContext.Provider value={loading}>\n\t\t\t\t{children}\n\t\t\t</TableLoadingStateContext.Provider>\n\t\t</TableLoadingStateToggleContext.Provider>\n\t);\n}\n\nexport const TableStateProvider = memo(function TableStateProvider({\n\tchildren,\n}: {\n\tchildren: ReactNode;\n}) {\n\tconst options = useTableSetup();\n\treturn (\n\t\t<TableStateContext.Provider value={options}>\n\t\t\t<TableLoadingStateProvider>{children}</TableLoadingStateProvider>\n\t\t</TableStateContext.Provider>\n\t);\n});\n"]}
@@ -8,5 +8,5 @@ export * from './ScorecardHeader';
8
8
  export * from './ScorecardLegendsView';
9
9
  export * from './StateProvider';
10
10
  export * from './TableStateProvider';
11
- //# sourceMappingURL=out.js.map
11
+ //# sourceMappingURL=index.js.map
12
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc","sourcesContent":["export * from \"./ScorecardContext\";\nexport * from \"./ConfigProvider\";\nexport * from \"./MetaProvider\";\nexport * from \"./DataProvider\";\nexport * from \"./ScorecardPrint/ScorecardPrint\";\nexport * from \"./ScorecardPrint/components/ScorecardPreviewArea\";\nexport * from \"./ScorecardHeader\";\nexport * from \"./ScorecardLegendsView\";\nexport * from \"./StateProvider\";\nexport * from \"./TableStateProvider\";\n"]}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js","sourcesContent":[]}
@@ -11,8 +11,7 @@ function useCellData({
11
11
  const meta = useScorecardMeta();
12
12
  const currentValue = dataSource?.data.current;
13
13
  const legendDefinition = useMemo(() => {
14
- if (!dataSource)
15
- return;
14
+ if (!dataSource) return;
16
15
  return getLegend({
17
16
  dataSource,
18
17
  value: currentValue,
@@ -29,5 +28,5 @@ function useCellData({
29
28
  }
30
29
 
31
30
  export { useCellData };
32
- //# sourceMappingURL=out.js.map
31
+ //# sourceMappingURL=cellData.js.map
33
32
  //# sourceMappingURL=cellData.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/cellData.ts"],"names":[],"mappings":"AACA,SAAS,oBAAoB,wBAAwB;AACrD,SAAS,eAAe;AACxB,SAAS,iBAAiB;AAGnB,SAAS,YAAY;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AACD,GAIG;AACF,QAAM,SAAS,mBAAmB;AAClC,QAAM,OAAO,iBAAiB;AAE9B,QAAM,eAAe,YAAY,KAAK;AAEtC,QAAM,mBAAmB,QAAQ,MAAM;AACtC,QAAI,CAAC;AAAY;AACjB,WAAO,UAAU;AAAA,MAChB;AAAA,MACA,OAAO;AAAA,MACP,eAAe,KAAM;AAAA,MACrB;AAAA,MACA;AAAA,MACA,UAAU;AAAA,IACX,CAAC;AAAA,EACF,GAAG,CAAC,YAAY,cAAc,MAAM,SAAS,MAAM,CAAC;AAEpD,SAAO;AAAA,IACN;AAAA,IACA;AAAA,EACD;AACD","sourcesContent":["import type { ScorecardCellData } from \"../schemas/config\";\nimport { useScorecardConfig, useScorecardMeta } from \"../components\";\nimport { useMemo } from \"react\";\nimport { getLegend } from \"../utils/legends\";\nimport type { ItemMeta } from \"./metadata\";\n\nexport function useCellData({\n\tdataSource,\n\torgUnit,\n\tperiod,\n}: {\n\tdataSource?: ScorecardCellData;\n\torgUnit: ItemMeta & { hierarchy: string };\n\tperiod: string;\n}) {\n\tconst config = useScorecardConfig();\n\tconst meta = useScorecardMeta();\n\n\tconst currentValue = dataSource?.data.current;\n\n\tconst legendDefinition = useMemo(() => {\n\t\tif (!dataSource) return;\n\t\treturn getLegend({\n\t\t\tdataSource,\n\t\t\tvalue: currentValue,\n\t\t\torgUnitLevels: meta!.orgUnitLevels,\n\t\t\tconfig: config!,\n\t\t\torgUnit,\n\t\t\tperiodId: period,\n\t\t});\n\t}, [dataSource, currentValue, meta, orgUnit, period]);\n\n\treturn {\n\t\tcurrentValue,\n\t\tlegendDefinition,\n\t};\n}\n"]}
1
+ {"version":3,"sources":["../../../src/hooks/cellData.ts"],"names":[],"mappings":";;;;AAMO,SAAS,WAAY,CAAA;AAAA,EAC3B,UAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AACD,CAIG,EAAA;AACF,EAAA,MAAM,SAAS,kBAAmB,EAAA,CAAA;AAClC,EAAA,MAAM,OAAO,gBAAiB,EAAA,CAAA;AAE9B,EAAM,MAAA,YAAA,GAAe,YAAY,IAAK,CAAA,OAAA,CAAA;AAEtC,EAAM,MAAA,gBAAA,GAAmB,QAAQ,MAAM;AACtC,IAAA,IAAI,CAAC,UAAY,EAAA,OAAA;AACjB,IAAA,OAAO,SAAU,CAAA;AAAA,MAChB,UAAA;AAAA,MACA,KAAO,EAAA,YAAA;AAAA,MACP,eAAe,IAAM,CAAA,aAAA;AAAA,MACrB,MAAA;AAAA,MACA,OAAA;AAAA,MACA,QAAU,EAAA,MAAA;AAAA,KACV,CAAA,CAAA;AAAA,KACC,CAAC,UAAA,EAAY,cAAc,IAAM,EAAA,OAAA,EAAS,MAAM,CAAC,CAAA,CAAA;AAEpD,EAAO,OAAA;AAAA,IACN,YAAA;AAAA,IACA,gBAAA;AAAA,GACD,CAAA;AACD","file":"cellData.js","sourcesContent":["import type { ScorecardCellData } from \"../schemas/config\";\nimport { useScorecardConfig, useScorecardMeta } from \"../components\";\nimport { useMemo } from \"react\";\nimport { getLegend } from \"../utils/legends\";\nimport type { ItemMeta } from \"./metadata\";\n\nexport function useCellData({\n\tdataSource,\n\torgUnit,\n\tperiod,\n}: {\n\tdataSource?: ScorecardCellData;\n\torgUnit: ItemMeta & { hierarchy: string };\n\tperiod: string;\n}) {\n\tconst config = useScorecardConfig();\n\tconst meta = useScorecardMeta();\n\n\tconst currentValue = dataSource?.data.current;\n\n\tconst legendDefinition = useMemo(() => {\n\t\tif (!dataSource) return;\n\t\treturn getLegend({\n\t\t\tdataSource,\n\t\t\tvalue: currentValue,\n\t\t\torgUnitLevels: meta!.orgUnitLevels,\n\t\t\tconfig: config!,\n\t\t\torgUnit,\n\t\t\tperiodId: period,\n\t\t});\n\t}, [dataSource, currentValue, meta, orgUnit, period]);\n\n\treturn {\n\t\tcurrentValue,\n\t\tlegendDefinition,\n\t};\n}\n"]}
@@ -92,6 +92,9 @@ function useMetaColumns() {
92
92
  filterable: true
93
93
  },
94
94
  enableColumnFilter: true,
95
+ filterFn: (row, columnId, filterValue) => {
96
+ return row.getValue(columnId)?.label.toLowerCase().includes(filterValue.toLowerCase());
97
+ },
95
98
  cell: LabelCell,
96
99
  size: 300,
97
100
  footer: MetaFooterCell
@@ -108,6 +111,9 @@ function useMetaColumns() {
108
111
  header: () => null,
109
112
  id: "orgUnits",
110
113
  enableColumnFilter: true,
114
+ filterFn: (row, columnId, filterValue) => {
115
+ return row.getValue(columnId)?.label.toLowerCase().includes(filterValue.toLowerCase());
116
+ },
111
117
  meta: {
112
118
  isMeta: true,
113
119
  fixed: true
@@ -179,5 +185,5 @@ function useTableColumns() {
179
185
  }
180
186
 
181
187
  export { useMetaColumns, useTableColumns };
182
- //# sourceMappingURL=out.js.map
188
+ //# sourceMappingURL=columns.js.map
183
189
  //# sourceMappingURL=columns.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/columns.ts"],"names":[],"mappings":"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","sourcesContent":["import { type ColumnDef, createColumnHelper } from \"@tanstack/react-table\";\nimport { useScorecardConfig, useScorecardMeta } from \"../components\";\nimport { useMemo } from \"react\";\nimport {\n\ttype ScorecardState,\n\ttype ScorecardTableCellConfig,\n\ttype ScorecardTableData,\n} from \"../schemas/config\";\nimport {\n\tgetAverageColumn,\n\tgetDataColumnHeaders,\n\tgetOrgUnitColumnHeaders,\n} from \"../utils/columns\";\nimport { LabelCell } from \"../components/ScorecardTable/components/TableHeader/components/LabelCell\";\nimport { NumberCell } from \"../components/ScorecardTable/components/TableHeader/components/NumberCell\";\nimport { MetaHeaderCell } from \"../components/ScorecardTable/components/TableHeader/components/MetaHeaderCell\";\nimport { useCalendar } from \"./metadata\";\nimport { MetaFooterCell } from \"../components/ScorecardTable/components/MetaFooterCell\";\nimport { getOrgUnitLevel } from \"../utils/orgUnits\";\nimport { useLowestOrgUnitLevel } from \"./orgUnit\";\nimport { useScorecardData } from \"../components/DataProvider\";\nimport { useScorecardStateSelectorValue } from \"../state\";\nimport { ExpandCell } from \"../components/ScorecardTable/components/TableHeader/components/ExpandCell\";\n\nconst columnHelper = createColumnHelper<ScorecardTableData>();\n\nexport function useMetaColumns() {\n\tconst showDataInRows = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\n\tconst disableExpanding = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"disableExpanding\",\n\t]);\n\n\tconst lowestLevel = useLowestOrgUnitLevel();\n\n\treturn useMemo(() => {\n\t\tconst metaColumns: ColumnDef<ScorecardTableData, any>[] = [\n\t\t\tcolumnHelper.accessor(\n\t\t\t\t(rowData) => {\n\t\t\t\t\tif (disableExpanding) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (showDataInRows) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!lowestLevel) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst orgUnit = rowData.orgUnit;\n\t\t\t\t\tif (!orgUnit) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\tconst ouLevel = getOrgUnitLevel(orgUnit);\n\n\t\t\t\t\treturn ouLevel !== lowestLevel.level;\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: \"expand\",\n\t\t\t\t\theader: () => null,\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tisMeta: true,\n\t\t\t\t\t\tfixed: true,\n\t\t\t\t\t\tlabel: \"\",\n\t\t\t\t\t},\n\t\t\t\t\tenableHiding: true,\n\t\t\t\t\tenableColumnFilter: false,\n\t\t\t\t\tcell: ExpandCell,\n\t\t\t\t\tsize: 48,\n\t\t\t\t\tfooter: () => null,\n\t\t\t\t},\n\t\t\t),\n\t\t\tcolumnHelper.accessor(\n\t\t\t\t(_, index) => {\n\t\t\t\t\treturn index + 1;\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: \"count\",\n\t\t\t\t\theader: () => null,\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tisMeta: true,\n\t\t\t\t\t\tfixed: true,\n\t\t\t\t\t\tlabel: \"\",\n\t\t\t\t\t},\n\t\t\t\t\tenableHiding: true,\n\t\t\t\t\tenableColumnFilter: false,\n\t\t\t\t\tcell: NumberCell,\n\t\t\t\t\tsize: 48,\n\t\t\t\t\tfooter: () => null,\n\t\t\t\t},\n\t\t\t),\n\t\t];\n\n\t\tif (showDataInRows) {\n\t\t\tmetaColumns.push(\n\t\t\t\tcolumnHelper.accessor(\n\t\t\t\t\t(rowData) => {\n\t\t\t\t\t\treturn rowData;\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\theader: () => null,\n\t\t\t\t\t\tid: \"dataItems\",\n\t\t\t\t\t\tmeta: {\n\t\t\t\t\t\t\tfilterable: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tenableColumnFilter: true,\n\t\t\t\t\t\tcell: LabelCell,\n\t\t\t\t\t\tsize: 300,\n\t\t\t\t\t\tfooter: MetaFooterCell,\n\t\t\t\t\t},\n\t\t\t\t),\n\t\t\t);\n\t\t} else {\n\t\t\tmetaColumns.push(\n\t\t\t\tcolumnHelper.accessor(\n\t\t\t\t\t(rowData) => {\n\t\t\t\t\t\treturn rowData;\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\theader: () => null,\n\t\t\t\t\t\tid: \"orgUnits\",\n\t\t\t\t\t\tenableColumnFilter: true,\n\t\t\t\t\t\tmeta: {\n\t\t\t\t\t\t\tisMeta: true,\n\t\t\t\t\t\t\tfixed: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcell: LabelCell,\n\t\t\t\t\t\tsize: 300,\n\t\t\t\t\t\tfooter: MetaFooterCell,\n\t\t\t\t\t},\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\n\t\treturn metaColumns;\n\t}, [showDataInRows, disableExpanding]);\n}\n\nexport function useTableColumns(): ColumnDef<\n\tScorecardTableData,\n\tScorecardTableCellConfig\n>[] {\n\tconst config = useScorecardConfig();\n\tconst { data: dataEngine } = useScorecardData();\n\tconst meta = useScorecardMeta();\n\tconst metaColumns = useMetaColumns();\n\tconst calendar = useCalendar();\n\tconst showDataInRows = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\tconst periodSelection =\n\t\tuseScorecardStateSelectorValue<ScorecardState[\"periodSelection\"]>(\n\t\t\t\"periodSelection\",\n\t\t);\n\n\tconst orgUnitSelection =\n\t\tuseScorecardStateSelectorValue<ScorecardState[\"orgUnitSelection\"]>(\n\t\t\t\"orgUnitSelection\",\n\t\t);\n\n\tif (!config || !meta) {\n\t\treturn [];\n\t}\n\treturn useMemo(() => {\n\t\tconst columns: ColumnDef<ScorecardTableData, any>[] = [\n\t\t\tcolumnHelper.group({\n\t\t\t\tid: \"metaHeader\",\n\t\t\t\tcolumns: metaColumns,\n\t\t\t\theader: MetaHeaderCell,\n\t\t\t\tfooter: () => null,\n\t\t\t}),\n\t\t];\n\n\t\tif (showDataInRows) {\n\t\t\tcolumns.push(\n\t\t\t\t...getOrgUnitColumnHeaders({\n\t\t\t\t\tmeta,\n\t\t\t\t\tcalendar,\n\t\t\t\t\tdataEngine,\n\t\t\t\t}),\n\t\t\t);\n\t\t} else {\n\t\t\tcolumns.push(\n\t\t\t\t...getDataColumnHeaders({\n\t\t\t\t\tmeta,\n\t\t\t\t\tconfig,\n\t\t\t\t\tcalendar,\n\t\t\t\t\tdataEngine,\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\n\t\tcolumns.push(\n\t\t\tgetAverageColumn({\n\t\t\t\tmeta,\n\t\t\t\tconfig,\n\t\t\t}),\n\t\t);\n\n\t\treturn columns;\n\t}, [showDataInRows, periodSelection, orgUnitSelection]);\n}\n"]}
1
+ {"version":3,"sources":["../../../src/hooks/columns.ts"],"names":[],"mappings":"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","file":"columns.js","sourcesContent":["import { type ColumnDef, createColumnHelper } from \"@tanstack/react-table\";\nimport { useScorecardConfig, useScorecardMeta } from \"../components\";\nimport { useMemo } from \"react\";\nimport {\n\ttype ScorecardState,\n\ttype ScorecardTableCellConfig,\n\ttype ScorecardTableData,\n} from \"../schemas/config\";\nimport {\n\tgetAverageColumn,\n\tgetDataColumnHeaders,\n\tgetOrgUnitColumnHeaders,\n} from \"../utils/columns\";\nimport { LabelCell } from \"../components/ScorecardTable/components/TableHeader/components/LabelCell\";\nimport { NumberCell } from \"../components/ScorecardTable/components/TableHeader/components/NumberCell\";\nimport { MetaHeaderCell } from \"../components/ScorecardTable/components/TableHeader/components/MetaHeaderCell\";\nimport { useCalendar } from \"./metadata\";\nimport { MetaFooterCell } from \"../components/ScorecardTable/components/MetaFooterCell\";\nimport { getOrgUnitLevel } from \"../utils/orgUnits\";\nimport { useLowestOrgUnitLevel } from \"./orgUnit\";\nimport { useScorecardData } from \"../components/DataProvider\";\nimport { useScorecardStateSelectorValue } from \"../state\";\nimport { ExpandCell } from \"../components/ScorecardTable/components/TableHeader/components/ExpandCell\";\n\nconst columnHelper = createColumnHelper<ScorecardTableData>();\n\nexport function useMetaColumns() {\n\tconst showDataInRows = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\n\tconst disableExpanding = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"disableExpanding\",\n\t]);\n\n\tconst lowestLevel = useLowestOrgUnitLevel();\n\n\treturn useMemo(() => {\n\t\tconst metaColumns: ColumnDef<ScorecardTableData, any>[] = [\n\t\t\tcolumnHelper.accessor(\n\t\t\t\t(rowData) => {\n\t\t\t\t\tif (disableExpanding) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (showDataInRows) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!lowestLevel) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst orgUnit = rowData.orgUnit;\n\t\t\t\t\tif (!orgUnit) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\tconst ouLevel = getOrgUnitLevel(orgUnit);\n\n\t\t\t\t\treturn ouLevel !== lowestLevel.level;\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: \"expand\",\n\t\t\t\t\theader: () => null,\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tisMeta: true,\n\t\t\t\t\t\tfixed: true,\n\t\t\t\t\t\tlabel: \"\",\n\t\t\t\t\t},\n\t\t\t\t\tenableHiding: true,\n\t\t\t\t\tenableColumnFilter: false,\n\t\t\t\t\tcell: ExpandCell,\n\t\t\t\t\tsize: 48,\n\t\t\t\t\tfooter: () => null,\n\t\t\t\t},\n\t\t\t),\n\t\t\tcolumnHelper.accessor(\n\t\t\t\t(_, index) => {\n\t\t\t\t\treturn index + 1;\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: \"count\",\n\t\t\t\t\theader: () => null,\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tisMeta: true,\n\t\t\t\t\t\tfixed: true,\n\t\t\t\t\t\tlabel: \"\",\n\t\t\t\t\t},\n\t\t\t\t\tenableHiding: true,\n\t\t\t\t\tenableColumnFilter: false,\n\t\t\t\t\tcell: NumberCell,\n\t\t\t\t\tsize: 48,\n\t\t\t\t\tfooter: () => null,\n\t\t\t\t},\n\t\t\t),\n\t\t];\n\n\t\tif (showDataInRows) {\n\t\t\tmetaColumns.push(\n\t\t\t\tcolumnHelper.accessor(\n\t\t\t\t\t(rowData) => {\n\t\t\t\t\t\treturn rowData;\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\theader: () => null,\n\t\t\t\t\t\tid: \"dataItems\",\n\t\t\t\t\t\tmeta: {\n\t\t\t\t\t\t\tfilterable: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tenableColumnFilter: true,\n\t\t\t\t\t\tfilterFn: (row, columnId, filterValue) => {\n\t\t\t\t\t\t\treturn row\n\t\t\t\t\t\t\t\t.getValue<{ label: string }>(columnId)\n\t\t\t\t\t\t\t\t?.label.toLowerCase()\n\t\t\t\t\t\t\t\t.includes(filterValue.toLowerCase());\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcell: LabelCell,\n\t\t\t\t\t\tsize: 300,\n\t\t\t\t\t\tfooter: MetaFooterCell,\n\t\t\t\t\t},\n\t\t\t\t),\n\t\t\t);\n\t\t} else {\n\t\t\tmetaColumns.push(\n\t\t\t\tcolumnHelper.accessor(\n\t\t\t\t\t(rowData) => {\n\t\t\t\t\t\treturn rowData;\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\theader: () => null,\n\t\t\t\t\t\tid: \"orgUnits\",\n\t\t\t\t\t\tenableColumnFilter: true,\n\t\t\t\t\t\tfilterFn: (row, columnId, filterValue) => {\n\t\t\t\t\t\t\treturn row\n\t\t\t\t\t\t\t\t.getValue<{ label: string }>(columnId)\n\t\t\t\t\t\t\t\t?.label.toLowerCase()\n\t\t\t\t\t\t\t\t.includes(filterValue.toLowerCase());\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmeta: {\n\t\t\t\t\t\t\tisMeta: true,\n\t\t\t\t\t\t\tfixed: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcell: LabelCell,\n\t\t\t\t\t\tsize: 300,\n\t\t\t\t\t\tfooter: MetaFooterCell,\n\t\t\t\t\t},\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\n\t\treturn metaColumns;\n\t}, [showDataInRows, disableExpanding]);\n}\n\nexport function useTableColumns(): ColumnDef<\n\tScorecardTableData,\n\tScorecardTableCellConfig\n>[] {\n\tconst config = useScorecardConfig();\n\tconst { data: dataEngine } = useScorecardData();\n\tconst meta = useScorecardMeta();\n\tconst metaColumns = useMetaColumns();\n\tconst calendar = useCalendar();\n\tconst showDataInRows = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\tconst periodSelection =\n\t\tuseScorecardStateSelectorValue<ScorecardState[\"periodSelection\"]>(\n\t\t\t\"periodSelection\",\n\t\t);\n\n\tconst orgUnitSelection =\n\t\tuseScorecardStateSelectorValue<ScorecardState[\"orgUnitSelection\"]>(\n\t\t\t\"orgUnitSelection\",\n\t\t);\n\n\tif (!config || !meta) {\n\t\treturn [];\n\t}\n\treturn useMemo(() => {\n\t\tconst columns: ColumnDef<ScorecardTableData, any>[] = [\n\t\t\tcolumnHelper.group({\n\t\t\t\tid: \"metaHeader\",\n\t\t\t\tcolumns: metaColumns,\n\t\t\t\theader: MetaHeaderCell,\n\t\t\t\tfooter: () => null,\n\t\t\t}),\n\t\t];\n\n\t\tif (showDataInRows) {\n\t\t\tcolumns.push(\n\t\t\t\t...getOrgUnitColumnHeaders({\n\t\t\t\t\tmeta,\n\t\t\t\t\tcalendar,\n\t\t\t\t\tdataEngine,\n\t\t\t\t}),\n\t\t\t);\n\t\t} else {\n\t\t\tcolumns.push(\n\t\t\t\t...getDataColumnHeaders({\n\t\t\t\t\tmeta,\n\t\t\t\t\tconfig,\n\t\t\t\t\tcalendar,\n\t\t\t\t\tdataEngine,\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\n\t\tcolumns.push(\n\t\t\tgetAverageColumn({\n\t\t\t\tmeta,\n\t\t\t\tconfig,\n\t\t\t}),\n\t\t);\n\n\t\treturn columns;\n\t}, [showDataInRows, periodSelection, orgUnitSelection]);\n}\n"]}
@@ -50,8 +50,7 @@ function useGetScorecardData(dataEngine) {
50
50
  orgUnits
51
51
  }
52
52
  });
53
- if (!rawAnalyticsData)
54
- return [];
53
+ if (!rawAnalyticsData) return [];
55
54
  return getTableData(rawAnalyticsData);
56
55
  } catch (error) {
57
56
  if (error instanceof Error || error instanceof FetchError) {
@@ -108,5 +107,5 @@ function useGetScorecardData(dataEngine) {
108
107
  }
109
108
 
110
109
  export { useGetScorecardData };
111
- //# sourceMappingURL=out.js.map
110
+ //# sourceMappingURL=data.js.map
112
111
  //# sourceMappingURL=data.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/data.ts"],"names":[],"mappings":"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","sourcesContent":["import { useScorecardConfig, useScorecardMeta } from \"../components\";\nimport { useCallback, useEffect, useMemo } from \"react\";\nimport { getDimensionsFromMeta } from \"../utils/analytics\";\nimport { FetchError, useAlert, useDataEngine } from \"@dhis2/app-runtime\";\nimport {\n\tcreateFixedPeriodFromPeriodId,\n\tgetAdjacentFixedPeriods,\n} from \"@dhis2/multi-calendar-dates\";\nimport { uniq } from \"lodash\";\nimport { useCalendar } from \"./metadata\";\nimport type { ScorecardDataEngine } from \"../utils/dataEngine\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { sanitizeAnalyticsData } from \"../utils/data\";\n\nconst query: any = {\n\tdata: {\n\t\tresource: \"analytics\",\n\t\tparams: ({\n\t\t\tperiods,\n\t\t\torgUnits,\n\t\t\tdataItems,\n\t\t}: {\n\t\t\tperiods: string[];\n\t\t\torgUnits: string[];\n\t\t\tdataItems: string[];\n\t\t}) => {\n\t\t\treturn {\n\t\t\t\tskipMeta: true,\n\t\t\t\tdimension: [\n\t\t\t\t\t`pe:${periods.join(\";\")}`,\n\t\t\t\t\t`dx:${dataItems.join(\";\")}`,\n\t\t\t\t\t`ou:${orgUnits.join(\";\")}`,\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\t},\n};\n\nexport interface ScorecardDataQueryResponse {\n\tdata: {\n\t\theaderWidth: number;\n\t\theaders: Array<{\n\t\t\tname: string;\n\t\t\thidden: boolean;\n\t\t\tmeta: boolean;\n\t\t\tcolumn: string;\n\t\t\tvalueType: string;\n\t\t}>;\n\t\trows: Array<Array<string>>;\n\t\theight: number;\n\t\twidth: number;\n\t};\n}\n\nexport function useGetScorecardData(dataEngine: ScorecardDataEngine) {\n\tconst engine = useDataEngine();\n\tconst { show, hide: hideAlert } = useAlert(\n\t\t({ message }) => message,\n\t\t({ type, actions }) => ({ ...type, actions, duration: 3000 }),\n\t);\n\tconst getTableData = (rawAnalyticsData: ScorecardDataQueryResponse) => {\n\t\treturn sanitizeAnalyticsData(rawAnalyticsData);\n\t};\n\tconst fetchData = useCallback(\n\t\tasync ({\n\t\t\tperiods,\n\t\t\tdataItems,\n\t\t\torgUnits,\n\t\t}: {\n\t\t\tperiods: string[];\n\t\t\torgUnits: string[];\n\t\t\tdataItems: string[];\n\t\t}) => {\n\t\t\ttry {\n\t\t\t\tconst rawAnalyticsData = (await engine.query(query, {\n\t\t\t\t\tvariables: {\n\t\t\t\t\t\tperiods,\n\t\t\t\t\t\tdataItems,\n\t\t\t\t\t\torgUnits,\n\t\t\t\t\t},\n\t\t\t\t})) as unknown as ScorecardDataQueryResponse;\n\t\t\t\tif (!rawAnalyticsData) return [];\n\t\t\t\treturn getTableData(rawAnalyticsData);\n\t\t\t} catch (error) {\n\t\t\t\tif (error instanceof Error || error instanceof FetchError) {\n\t\t\t\t\tshow({\n\t\t\t\t\t\tmessage: `${i18n.t(\"Error getting scorecard data\")}: ${\n\t\t\t\t\t\t\terror.message\n\t\t\t\t\t\t}`,\n\t\t\t\t\t\ttype: { critical: true },\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tconsole.error(error);\n\t\t\t\t}\n\t\t\t\treturn [];\n\t\t\t}\n\t\t},\n\t\t[engine, show, hideAlert],\n\t);\n\tconst config = useScorecardConfig();\n\tconst meta = useScorecardMeta();\n\tconst calendar = useCalendar();\n\tif (!config || !meta) {\n\t\tthrow new Error(\n\t\t\t\"Invalid scorecard setup. Make sure the valid config and state props are passed.\",\n\t\t);\n\t}\n\tconst { dataItemsIds, orgUnitsIds, periodsIds } = useMemo(\n\t\t() =>\n\t\t\tgetDimensionsFromMeta({\n\t\t\t\tmeta,\n\t\t\t}),\n\t\t[meta],\n\t);\n\n\t//We need to make sure each period has a past period\n\tconst analyticsPeriod = useMemo(() => {\n\t\tconst pastPeriods = periodsIds\n\t\t\t.map((periodId) => {\n\t\t\t\tconst pe = getAdjacentFixedPeriods({\n\t\t\t\t\tcalendar,\n\t\t\t\t\tsteps: -1,\n\t\t\t\t\tperiod: createFixedPeriodFromPeriodId({\n\t\t\t\t\t\tcalendar,\n\t\t\t\t\t\tperiodId,\n\t\t\t\t\t}),\n\t\t\t\t});\n\t\t\t\treturn pe.map(({ id }) => id);\n\t\t\t})\n\t\t\t.flat();\n\n\t\treturn uniq([...periodsIds, ...pastPeriods]);\n\t}, [periodsIds]);\n\tuseEffect(() => {\n\t\tdataEngine.initialize(fetchData, {\n\t\t\tdimensions: {\n\t\t\t\tdataItems: dataItemsIds,\n\t\t\t\tperiods: analyticsPeriod,\n\t\t\t\torgUnits: orgUnitsIds,\n\t\t\t},\n\t\t});\n\t}, [dataEngine]);\n\n\treturn {};\n}\n"]}
1
+ {"version":3,"sources":["../../../src/hooks/data.ts"],"names":[],"mappings":"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","file":"data.js","sourcesContent":["import { useScorecardConfig, useScorecardMeta } from \"../components\";\nimport { useCallback, useEffect, useMemo } from \"react\";\nimport { getDimensionsFromMeta } from \"../utils/analytics\";\nimport { FetchError, useAlert, useDataEngine } from \"@dhis2/app-runtime\";\nimport {\n\tcreateFixedPeriodFromPeriodId,\n\tgetAdjacentFixedPeriods,\n} from \"@dhis2/multi-calendar-dates\";\nimport { uniq } from \"lodash\";\nimport { useCalendar } from \"./metadata\";\nimport type { ScorecardDataEngine } from \"../utils/dataEngine\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { sanitizeAnalyticsData } from \"../utils/data\";\n\nconst query: any = {\n\tdata: {\n\t\tresource: \"analytics\",\n\t\tparams: ({\n\t\t\tperiods,\n\t\t\torgUnits,\n\t\t\tdataItems,\n\t\t}: {\n\t\t\tperiods: string[];\n\t\t\torgUnits: string[];\n\t\t\tdataItems: string[];\n\t\t}) => {\n\t\t\treturn {\n\t\t\t\tskipMeta: true,\n\t\t\t\tdimension: [\n\t\t\t\t\t`pe:${periods.join(\";\")}`,\n\t\t\t\t\t`dx:${dataItems.join(\";\")}`,\n\t\t\t\t\t`ou:${orgUnits.join(\";\")}`,\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\t},\n};\n\nexport interface ScorecardDataQueryResponse {\n\tdata: {\n\t\theaderWidth: number;\n\t\theaders: Array<{\n\t\t\tname: string;\n\t\t\thidden: boolean;\n\t\t\tmeta: boolean;\n\t\t\tcolumn: string;\n\t\t\tvalueType: string;\n\t\t}>;\n\t\trows: Array<Array<string>>;\n\t\theight: number;\n\t\twidth: number;\n\t};\n}\n\nexport function useGetScorecardData(dataEngine: ScorecardDataEngine) {\n\tconst engine = useDataEngine();\n\tconst { show, hide: hideAlert } = useAlert(\n\t\t({ message }) => message,\n\t\t({ type, actions }) => ({ ...type, actions, duration: 3000 }),\n\t);\n\tconst getTableData = (rawAnalyticsData: ScorecardDataQueryResponse) => {\n\t\treturn sanitizeAnalyticsData(rawAnalyticsData);\n\t};\n\tconst fetchData = useCallback(\n\t\tasync ({\n\t\t\tperiods,\n\t\t\tdataItems,\n\t\t\torgUnits,\n\t\t}: {\n\t\t\tperiods: string[];\n\t\t\torgUnits: string[];\n\t\t\tdataItems: string[];\n\t\t}) => {\n\t\t\ttry {\n\t\t\t\tconst rawAnalyticsData = (await engine.query(query, {\n\t\t\t\t\tvariables: {\n\t\t\t\t\t\tperiods,\n\t\t\t\t\t\tdataItems,\n\t\t\t\t\t\torgUnits,\n\t\t\t\t\t},\n\t\t\t\t})) as unknown as ScorecardDataQueryResponse;\n\t\t\t\tif (!rawAnalyticsData) return [];\n\t\t\t\treturn getTableData(rawAnalyticsData);\n\t\t\t} catch (error) {\n\t\t\t\tif (error instanceof Error || error instanceof FetchError) {\n\t\t\t\t\tshow({\n\t\t\t\t\t\tmessage: `${i18n.t(\"Error getting scorecard data\")}: ${\n\t\t\t\t\t\t\terror.message\n\t\t\t\t\t\t}`,\n\t\t\t\t\t\ttype: { critical: true },\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tconsole.error(error);\n\t\t\t\t}\n\t\t\t\treturn [];\n\t\t\t}\n\t\t},\n\t\t[engine, show, hideAlert],\n\t);\n\tconst config = useScorecardConfig();\n\tconst meta = useScorecardMeta();\n\tconst calendar = useCalendar();\n\tif (!config || !meta) {\n\t\tthrow new Error(\n\t\t\t\"Invalid scorecard setup. Make sure the valid config and state props are passed.\",\n\t\t);\n\t}\n\tconst { dataItemsIds, orgUnitsIds, periodsIds } = useMemo(\n\t\t() =>\n\t\t\tgetDimensionsFromMeta({\n\t\t\t\tmeta,\n\t\t\t}),\n\t\t[meta],\n\t);\n\n\t//We need to make sure each period has a past period\n\tconst analyticsPeriod = useMemo(() => {\n\t\tconst pastPeriods = periodsIds\n\t\t\t.map((periodId) => {\n\t\t\t\tconst pe = getAdjacentFixedPeriods({\n\t\t\t\t\tcalendar,\n\t\t\t\t\tsteps: -1,\n\t\t\t\t\tperiod: createFixedPeriodFromPeriodId({\n\t\t\t\t\t\tcalendar,\n\t\t\t\t\t\tperiodId,\n\t\t\t\t\t}),\n\t\t\t\t});\n\t\t\t\treturn pe.map(({ id }) => id);\n\t\t\t})\n\t\t\t.flat();\n\n\t\treturn uniq([...periodsIds, ...pastPeriods]);\n\t}, [periodsIds]);\n\tuseEffect(() => {\n\t\tdataEngine.initialize(fetchData, {\n\t\t\tdimensions: {\n\t\t\t\tdataItems: dataItemsIds,\n\t\t\t\tperiods: analyticsPeriod,\n\t\t\t\torgUnits: orgUnitsIds,\n\t\t\t},\n\t\t});\n\t}, [dataEngine]);\n\n\treturn {};\n}\n"]}
@@ -14,5 +14,5 @@ function useGetDataSourceLabel() {
14
14
  }
15
15
 
16
16
  export { useGetDataSourceLabel };
17
- //# sourceMappingURL=out.js.map
17
+ //# sourceMappingURL=dataItem.js.map
18
18
  //# sourceMappingURL=dataItem.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/dataItem.ts"],"names":[],"mappings":"AAAA,SAAS,wBAAwB;AAI1B,SAAS,wBAAwB;AACvC,QAAM,OAAO,iBAAiB;AAC9B,SAAO,CAAC,eAAoC;AAC3C,QAAI,WAAW,OAAO;AACrB,aAAO,WAAW;AAAA,IACnB;AACA,UAAM,WAAiC,MAAM,UAAU;AAAA,MACtD,CAAC,SAAS,KAAK,QAAQ,WAAW;AAAA,IACnC;AAEA,WAAO,UAAU,QAAQ;AAAA,EAC1B;AACD","sourcesContent":["import { useScorecardMeta } from \"../components\";\nimport type { ScorecardDataSource } from \"../schemas/config\";\nimport type { ItemMeta } from \"./metadata\";\n\nexport function useGetDataSourceLabel() {\n\tconst meta = useScorecardMeta();\n\treturn (dataSource: ScorecardDataSource) => {\n\t\tif (dataSource.label) {\n\t\t\treturn dataSource.label;\n\t\t}\n\t\tconst itemMeta: ItemMeta | undefined = meta?.dataItems.find(\n\t\t\t(item) => item.uid === dataSource.id,\n\t\t);\n\n\t\treturn itemMeta?.name ?? \"\";\n\t};\n}\n"]}
1
+ {"version":3,"sources":["../../../src/hooks/dataItem.ts"],"names":[],"mappings":";;AAIO,SAAS,qBAAwB,GAAA;AACvC,EAAA,MAAM,OAAO,gBAAiB,EAAA,CAAA;AAC9B,EAAA,OAAO,CAAC,UAAoC,KAAA;AAC3C,IAAA,IAAI,WAAW,KAAO,EAAA;AACrB,MAAA,OAAO,UAAW,CAAA,KAAA,CAAA;AAAA,KACnB;AACA,IAAM,MAAA,QAAA,GAAiC,MAAM,SAAU,CAAA,IAAA;AAAA,MACtD,CAAC,IAAA,KAAS,IAAK,CAAA,GAAA,KAAQ,UAAW,CAAA,EAAA;AAAA,KACnC,CAAA;AAEA,IAAA,OAAO,UAAU,IAAQ,IAAA,EAAA,CAAA;AAAA,GAC1B,CAAA;AACD","file":"dataItem.js","sourcesContent":["import { useScorecardMeta } from \"../components\";\nimport type { ScorecardDataSource } from \"../schemas/config\";\nimport type { ItemMeta } from \"./metadata\";\n\nexport function useGetDataSourceLabel() {\n\tconst meta = useScorecardMeta();\n\treturn (dataSource: ScorecardDataSource) => {\n\t\tif (dataSource.label) {\n\t\t\treturn dataSource.label;\n\t\t}\n\t\tconst itemMeta: ItemMeta | undefined = meta?.dataItems.find(\n\t\t\t(item) => item.uid === dataSource.id,\n\t\t);\n\n\t\treturn itemMeta?.name ?? \"\";\n\t};\n}\n"]}
@@ -1,3 +1,3 @@
1
1
  export * from './dataItem';
2
- //# sourceMappingURL=out.js.map
2
+ //# sourceMappingURL=index.js.map
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc","sourcesContent":["export * from \"./dataItem\";\n"]}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js","sourcesContent":[]}
@@ -118,5 +118,5 @@ function useCalendar() {
118
118
  }
119
119
 
120
120
  export { useCalendar, useGetScorecardMeta };
121
- //# sourceMappingURL=out.js.map
121
+ //# sourceMappingURL=metadata.js.map
122
122
  //# sourceMappingURL=metadata.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/metadata.ts"],"names":[],"mappings":"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","sourcesContent":["import { useScorecardConfig } from \"../components\";\nimport { useAlert, useConfig, useDataQuery } from \"@dhis2/app-runtime\";\nimport { useEffect, useMemo } from \"react\";\nimport { getDimensions } from \"../utils/analytics\";\nimport type { SupportedCalendar } from \"@dhis2/multi-calendar-dates/build/types/types\";\nimport type { ScorecardState } from \"../schemas/config\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { useScorecardStateSelectorValue } from \"../state\";\n\nconst query: any = {\n\tmeta: {\n\t\tresource: \"analytics\",\n\t\tparams: ({\n\t\t\tperiods,\n\t\t\torgUnits,\n\t\t\tdataItems,\n\t\t}: {\n\t\t\tperiods: string[];\n\t\t\torgUnits: string[];\n\t\t\tdataItems: string[];\n\t\t}) => {\n\t\t\treturn {\n\t\t\t\tskipData: true,\n\t\t\t\thierarchyData: true,\n\t\t\t\tshowHierarchy: true,\n\t\t\t\tenhancedConditions: true,\n\t\t\t\tincludeMetadataDetails: true,\n\t\t\t\tdimension: [\n\t\t\t\t\t`pe:${periods.join(\";\")}`,\n\t\t\t\t\t`dx:${dataItems.join(\";\")}`,\n\t\t\t\t\t`ou:${orgUnits.join(\";\")}`,\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\t},\n\touLevel: {\n\t\tresource: \"organisationUnitLevels\",\n\t\tparams: {\n\t\t\tfields: [\"id\", \"displayName\", \"level\"],\n\t\t},\n\t},\n};\n\nexport type ItemMeta = {\n\tuid: string;\n\tname: string;\n\tcode?: string;\n\tdescription?: string;\n\tvalueType?: string;\n\ttotalAggregationType?: string;\n\taggregationType?: string;\n\t[key: string]: string | number | undefined;\n};\n\ntype MetaResponse = {\n\tmeta: {\n\t\tcolumns: any[];\n\t\trows: [];\n\t\theaders: [];\n\t\tmetaData: {\n\t\t\tdimensions: {\n\t\t\t\tdx: string[];\n\t\t\t\tou: string[];\n\t\t\t\tpe: string[];\n\t\t\t\tco: string[];\n\t\t\t\t[key: string]: string[];\n\t\t\t};\n\t\t\titems: {\n\t\t\t\t[key: string]: ItemMeta;\n\t\t\t};\n\t\t\touNameHierarchy: {\n\t\t\t\t[key: string]: string;\n\t\t\t};\n\t\t};\n\t};\n\touLevel: {\n\t\torganisationUnitLevels: Array<{\n\t\t\tid: string;\n\t\t\tlevel: number;\n\t\t\tdisplayName: string;\n\t\t}>;\n\t};\n};\n\nexport function useGetScorecardMeta() {\n\tconst config = useScorecardConfig();\n\n\tconst { show } = useAlert(\n\t\t({ message }) => message,\n\t\t({ type }) => ({ ...type, duration: 3000 }),\n\t);\n\n\tconst orgUnitSelection =\n\t\tuseScorecardStateSelectorValue<ScorecardState[\"orgUnitSelection\"]>(\n\t\t\t\"orgUnitSelection\",\n\t\t);\n\tconst periodSelection =\n\t\tuseScorecardStateSelectorValue<ScorecardState[\"periodSelection\"]>(\n\t\t\t\"periodSelection\",\n\t\t);\n\n\tconst { dataItemsIds, orgUnitsIds, periodsIds } = useMemo(\n\t\t() =>\n\t\t\tgetDimensions({\n\t\t\t\tconfig,\n\t\t\t\torgUnitSelection,\n\t\t\t\tperiodSelection,\n\t\t\t}),\n\t\t[config, orgUnitSelection, periodSelection],\n\t);\n\n\tconst { loading, data, refetch, called } = useDataQuery<MetaResponse>(\n\t\tquery,\n\t\t{\n\t\t\tvariables: {\n\t\t\t\tperiods: periodsIds,\n\t\t\t\torgUnits: orgUnitsIds,\n\t\t\t\tdataItems: dataItemsIds,\n\t\t\t},\n\t\t\tlazy: true,\n\t\t\tonError: (error) => {\n\t\t\t\tshow({\n\t\t\t\t\tmessage: `${i18n.t(\"Error getting scorecard data\")}: ${\n\t\t\t\t\t\terror.message\n\t\t\t\t\t}`,\n\t\t\t\t\ttype: { critical: true },\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t);\n\n\tconst orgUnits = useMemo(() => {\n\t\treturn (\n\t\t\tdata?.meta?.metaData.dimensions[\"ou\"]\n\t\t\t\t.map((ou) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...data?.meta?.metaData.items[ou],\n\t\t\t\t\t\thierarchy: data?.meta?.metaData?.ouNameHierarchy[ou],\n\t\t\t\t\t};\n\t\t\t\t})\n\t\t\t\t.filter(Boolean) ?? []\n\t\t);\n\t}, [data?.meta]);\n\tconst periods = useMemo(() => {\n\t\treturn (\n\t\t\tdata?.meta?.metaData.dimensions[\"pe\"]\n\t\t\t\t.map((pe) => {\n\t\t\t\t\treturn data?.meta?.metaData.items[pe];\n\t\t\t\t})\n\t\t\t\t.filter(Boolean) ?? []\n\t\t);\n\t}, [data?.meta]);\n\tconst dataItems = useMemo(() => {\n\t\treturn (\n\t\t\tdata?.meta?.metaData.dimensions[\"dx\"]\n\t\t\t\t.map((dx) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...data?.meta?.metaData.items[dx],\n\t\t\t\t\t\tuid: dx,\n\t\t\t\t\t};\n\t\t\t\t})\n\t\t\t\t.filter(Boolean) ?? []\n\t\t);\n\t}, [data?.meta]);\n\tconst orgUnitLevels = useMemo(\n\t\t() => data?.ouLevel?.organisationUnitLevels ?? [],\n\t\t[data?.ouLevel?.organisationUnitLevels],\n\t);\n\n\tuseEffect(() => {\n\t\trefetch({\n\t\t\tperiods: periodsIds,\n\t\t\torgUnits: orgUnitsIds,\n\t\t\tdataItems: dataItemsIds,\n\t\t});\n\t}, [periodsIds, orgUnitsIds, dataItemsIds]);\n\n\treturn {\n\t\tloading,\n\t\torgUnits,\n\t\tperiods,\n\t\tdataItems,\n\t\torgUnitLevels,\n\t\tcalled,\n\t};\n}\n\nexport function useCalendar() {\n\tconst { systemInfo } = useConfig();\n\treturn (\n\t\t(systemInfo as unknown as { calendar?: SupportedCalendar })?.calendar ??\n\t\t\"iso8601\"\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../src/hooks/metadata.ts"],"names":[],"mappings":"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","file":"metadata.js","sourcesContent":["import { useScorecardConfig } from \"../components\";\nimport { useAlert, useConfig, useDataQuery } from \"@dhis2/app-runtime\";\nimport { useEffect, useMemo } from \"react\";\nimport { getDimensions } from \"../utils/analytics\";\nimport type { SupportedCalendar } from \"@dhis2/multi-calendar-dates/build/types/types\";\nimport type { ScorecardState } from \"../schemas/config\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { useScorecardStateSelectorValue } from \"../state\";\n\nconst query: any = {\n\tmeta: {\n\t\tresource: \"analytics\",\n\t\tparams: ({\n\t\t\tperiods,\n\t\t\torgUnits,\n\t\t\tdataItems,\n\t\t}: {\n\t\t\tperiods: string[];\n\t\t\torgUnits: string[];\n\t\t\tdataItems: string[];\n\t\t}) => {\n\t\t\treturn {\n\t\t\t\tskipData: true,\n\t\t\t\thierarchyData: true,\n\t\t\t\tshowHierarchy: true,\n\t\t\t\tenhancedConditions: true,\n\t\t\t\tincludeMetadataDetails: true,\n\t\t\t\tdimension: [\n\t\t\t\t\t`pe:${periods.join(\";\")}`,\n\t\t\t\t\t`dx:${dataItems.join(\";\")}`,\n\t\t\t\t\t`ou:${orgUnits.join(\";\")}`,\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\t},\n\touLevel: {\n\t\tresource: \"organisationUnitLevels\",\n\t\tparams: {\n\t\t\tfields: [\"id\", \"displayName\", \"level\"],\n\t\t},\n\t},\n};\n\nexport type ItemMeta = {\n\tuid: string;\n\tname: string;\n\tcode?: string;\n\tdescription?: string;\n\tvalueType?: string;\n\ttotalAggregationType?: string;\n\taggregationType?: string;\n\t[key: string]: string | number | undefined;\n};\n\ntype MetaResponse = {\n\tmeta: {\n\t\tcolumns: any[];\n\t\trows: [];\n\t\theaders: [];\n\t\tmetaData: {\n\t\t\tdimensions: {\n\t\t\t\tdx: string[];\n\t\t\t\tou: string[];\n\t\t\t\tpe: string[];\n\t\t\t\tco: string[];\n\t\t\t\t[key: string]: string[];\n\t\t\t};\n\t\t\titems: {\n\t\t\t\t[key: string]: ItemMeta;\n\t\t\t};\n\t\t\touNameHierarchy: {\n\t\t\t\t[key: string]: string;\n\t\t\t};\n\t\t};\n\t};\n\touLevel: {\n\t\torganisationUnitLevels: Array<{\n\t\t\tid: string;\n\t\t\tlevel: number;\n\t\t\tdisplayName: string;\n\t\t}>;\n\t};\n};\n\nexport function useGetScorecardMeta() {\n\tconst config = useScorecardConfig();\n\n\tconst { show } = useAlert(\n\t\t({ message }) => message,\n\t\t({ type }) => ({ ...type, duration: 3000 }),\n\t);\n\n\tconst orgUnitSelection =\n\t\tuseScorecardStateSelectorValue<ScorecardState[\"orgUnitSelection\"]>(\n\t\t\t\"orgUnitSelection\",\n\t\t);\n\tconst periodSelection =\n\t\tuseScorecardStateSelectorValue<ScorecardState[\"periodSelection\"]>(\n\t\t\t\"periodSelection\",\n\t\t);\n\n\tconst { dataItemsIds, orgUnitsIds, periodsIds } = useMemo(\n\t\t() =>\n\t\t\tgetDimensions({\n\t\t\t\tconfig,\n\t\t\t\torgUnitSelection,\n\t\t\t\tperiodSelection,\n\t\t\t}),\n\t\t[config, orgUnitSelection, periodSelection],\n\t);\n\n\tconst { loading, data, refetch, called } = useDataQuery<MetaResponse>(\n\t\tquery,\n\t\t{\n\t\t\tvariables: {\n\t\t\t\tperiods: periodsIds,\n\t\t\t\torgUnits: orgUnitsIds,\n\t\t\t\tdataItems: dataItemsIds,\n\t\t\t},\n\t\t\tlazy: true,\n\t\t\tonError: (error) => {\n\t\t\t\tshow({\n\t\t\t\t\tmessage: `${i18n.t(\"Error getting scorecard data\")}: ${\n\t\t\t\t\t\terror.message\n\t\t\t\t\t}`,\n\t\t\t\t\ttype: { critical: true },\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t);\n\n\tconst orgUnits = useMemo(() => {\n\t\treturn (\n\t\t\tdata?.meta?.metaData.dimensions[\"ou\"]\n\t\t\t\t.map((ou) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...data?.meta?.metaData.items[ou],\n\t\t\t\t\t\thierarchy: data?.meta?.metaData?.ouNameHierarchy[ou],\n\t\t\t\t\t};\n\t\t\t\t})\n\t\t\t\t.filter(Boolean) ?? []\n\t\t);\n\t}, [data?.meta]);\n\tconst periods = useMemo(() => {\n\t\treturn (\n\t\t\tdata?.meta?.metaData.dimensions[\"pe\"]\n\t\t\t\t.map((pe) => {\n\t\t\t\t\treturn data?.meta?.metaData.items[pe];\n\t\t\t\t})\n\t\t\t\t.filter(Boolean) ?? []\n\t\t);\n\t}, [data?.meta]);\n\tconst dataItems = useMemo(() => {\n\t\treturn (\n\t\t\tdata?.meta?.metaData.dimensions[\"dx\"]\n\t\t\t\t.map((dx) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...data?.meta?.metaData.items[dx],\n\t\t\t\t\t\tuid: dx,\n\t\t\t\t\t};\n\t\t\t\t})\n\t\t\t\t.filter(Boolean) ?? []\n\t\t);\n\t}, [data?.meta]);\n\tconst orgUnitLevels = useMemo(\n\t\t() => data?.ouLevel?.organisationUnitLevels ?? [],\n\t\t[data?.ouLevel?.organisationUnitLevels],\n\t);\n\n\tuseEffect(() => {\n\t\trefetch({\n\t\t\tperiods: periodsIds,\n\t\t\torgUnits: orgUnitsIds,\n\t\t\tdataItems: dataItemsIds,\n\t\t});\n\t}, [periodsIds, orgUnitsIds, dataItemsIds]);\n\n\treturn {\n\t\tloading,\n\t\torgUnits,\n\t\tperiods,\n\t\tdataItems,\n\t\torgUnitLevels,\n\t\tcalled,\n\t};\n}\n\nexport function useCalendar() {\n\tconst { systemInfo } = useConfig();\n\treturn (\n\t\t(systemInfo as unknown as { calendar?: SupportedCalendar })?.calendar ??\n\t\t\"iso8601\"\n\t);\n}\n"]}
@@ -74,5 +74,5 @@ function useOrgUnitLevels(initialIds) {
74
74
  }
75
75
 
76
76
  export { useLowestOrgUnitLevel, useOrgUnitLevels, useOrgUnits };
77
- //# sourceMappingURL=out.js.map
77
+ //# sourceMappingURL=orgUnit.js.map
78
78
  //# sourceMappingURL=orgUnit.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/orgUnit.ts"],"names":[],"mappings":"AAAA,SAAS,wBAAwB;AACjC,SAAS,WAAW,eAAe;AACnC,SAAS,SAAS,MAAM,cAAc;AAKtC,SAAS,oBAAoB;AAC7B,SAAS,uBAAuB;AAEzB,SAAS,wBAAwB;AACvC,QAAM,OAAO,iBAAiB;AAE9B,SAAO,QAAQ,MAAM;AACpB,UAAM,sBAAsB,OAAO,MAAM,iBAAiB,CAAC,GAAG,OAAO;AACrE,WAAO,KAAK,mBAAmB;AAAA,EAChC,GAAG,CAAC,MAAM,aAAa,CAAC;AACzB;AAEA,MAAM,eAAoB;AAAA,EACzB,IAAI;AAAA,IACH,UAAU;AAAA,IACV,QAAQ,CAAC,EAAE,IAAI,MAAyB;AACvC,aAAO;AAAA,QACN,QAAQ,UAAU,IAAI,KAAK,GAAG,CAAC;AAAA,QAC/B,QAAQ,CAAC,MAAM,eAAe,QAAQ,OAAO;AAAA,MAC9C;AAAA,IACD;AAAA,EACD;AACD;AAQO,SAAS,YAAY,YAAuB;AAClD,QAAM,EAAE,SAAS,MAAM,QAAQ,IAAI;AAAA,IAClC;AAAA,IACA;AAAA,MACC,WAAW;AAAA,QACV,KAAK;AAAA,MACN;AAAA,MACA,MAAM,QAAQ,UAAU;AAAA,IACzB;AAAA,EACD;AAEA,kBAAgB,MAAM;AACrB,QAAI,YAAY;AACf,cAAQ,EAAE,KAAK,WAAW,CAAC,EAAE,MAAM,QAAQ,KAAK;AAAA,IACjD;AAAA,EACD,GAAG,CAAC,SAAS,UAAU,CAAC;AAExB,SAAO;AAAA,IACN;AAAA,IACA,UAAU,MAAM,IAAI;AAAA,IACpB;AAAA,EAGD;AACD;AAEA,MAAM,oBAAoB;AAAA,EACzB,OAAO;AAAA,IACN,UAAU;AAAA,IACV,QAAQ,CAAC,EAAE,IAAI,MAAW;AACzB,aAAO;AAAA,QACN,QAAQ,CAAC,MAAM,eAAe,OAAO;AAAA,QACrC,QAAQ,CAAC,UAAU,IAAI,KAAK,GAAG,CAAC,GAAG;AAAA,MACpC;AAAA,IACD;AAAA,EACD;AACD;AAEO,SAAS,iBAAiB,YAA8B;AAC9D,QAAM,EAAE,SAAS,MAAM,QAAQ,IAAI,aAEhC,mBAAmB;AAAA,IACrB,WAAW;AAAA,MACV,IAAI;AAAA,IACL;AAAA,IACA,MAAM;AAAA,EACP,CAAC;AAED,YAAU,MAAM;AACf,QAAI,CAAC,QAAQ,UAAU,GAAG;AACzB,cAAQ,EAAE,KAAK,WAAW,CAAC,EAAE,MAAM,QAAQ,KAAK;AAAA,IACjD;AAAA,EACD,GAAG,CAAC,SAAS,UAAU,CAAC;AAExB,SAAO;AAAA,IACN;AAAA,IACA,QAAQ,MAAM,OAAO;AAAA,IACrB;AAAA,EAGD;AACD","sourcesContent":["import { useScorecardMeta } from \"../components\";\nimport { useEffect, useMemo } from \"react\";\nimport { isEmpty, last, sortBy } from \"lodash\";\nimport type {\n\tOrganisationUnit,\n\tOrganisationUnitLevel,\n} from \"@hisptz/dhis2-utils\";\nimport { useDataQuery } from \"@dhis2/app-runtime\";\nimport { useUpdateEffect } from \"usehooks-ts\";\n\nexport function useLowestOrgUnitLevel() {\n\tconst meta = useScorecardMeta();\n\n\treturn useMemo(() => {\n\t\tconst sortedOrgUnitLevels = sortBy(meta?.orgUnitLevels ?? [], \"level\");\n\t\treturn last(sortedOrgUnitLevels);\n\t}, [meta?.orgUnitLevels]);\n}\n\nconst orgUnitQuery: any = {\n\tou: {\n\t\tresource: `organisationUnits`,\n\t\tparams: ({ ids }: { ids: string[] }) => {\n\t\t\treturn {\n\t\t\t\tfilter: `id:in:[${ids.join(\",\")}]`,\n\t\t\t\tfields: [\"id\", \"displayName\", \"path\", \"level\"],\n\t\t\t};\n\t\t},\n\t},\n};\n\ntype OrgUnitResponse = {\n\tou: {\n\t\torganisationUnits: Array<OrganisationUnit>;\n\t};\n};\n\nexport function useOrgUnits(initialIds?: string[]) {\n\tconst { refetch, data, loading } = useDataQuery<OrgUnitResponse>(\n\t\torgUnitQuery,\n\t\t{\n\t\t\tvariables: {\n\t\t\t\tids: initialIds,\n\t\t\t},\n\t\t\tlazy: isEmpty(initialIds),\n\t\t},\n\t);\n\n\tuseUpdateEffect(() => {\n\t\tif (initialIds) {\n\t\t\trefetch({ ids: initialIds }).catch(console.error);\n\t\t}\n\t}, [refetch, initialIds]);\n\n\treturn {\n\t\tloading,\n\t\torgUnits: data?.ou?.organisationUnits,\n\t\trefetch: refetch as unknown as (\n\t\t\tvariables: Record<string, any>,\n\t\t) => OrgUnitResponse,\n\t};\n}\n\nconst orgUnitLevelQuery = {\n\tlevel: {\n\t\tresource: \"organisationUnitLevels\",\n\t\tparams: ({ ids }: any) => {\n\t\t\treturn {\n\t\t\t\tfields: [\"id\", \"displayName\", \"level\"],\n\t\t\t\tfilter: [`id:in:[${ids.join(\",\")}]`],\n\t\t\t};\n\t\t},\n\t},\n};\n\nexport function useOrgUnitLevels(initialIds?: string[] | null) {\n\tconst { refetch, data, loading } = useDataQuery<{\n\t\tlevel: { organisationUnitLevels: OrganisationUnitLevel[] };\n\t}>(orgUnitLevelQuery, {\n\t\tvariables: {\n\t\t\tid: initialIds,\n\t\t},\n\t\tlazy: true,\n\t});\n\n\tuseEffect(() => {\n\t\tif (!isEmpty(initialIds)) {\n\t\t\trefetch({ ids: initialIds }).catch(console.error);\n\t\t}\n\t}, [refetch, initialIds]);\n\n\treturn {\n\t\tloading,\n\t\tlevels: data?.level?.organisationUnitLevels,\n\t\trefetch: refetch as unknown as (variables: Record<string, any>) => {\n\t\t\tlevel: { organisationUnitLevels: OrganisationUnitLevel[] };\n\t\t},\n\t};\n}\n"]}
1
+ {"version":3,"sources":["../../../src/hooks/orgUnit.ts"],"names":[],"mappings":";;;;;;AAUO,SAAS,qBAAwB,GAAA;AACvC,EAAA,MAAM,OAAO,gBAAiB,EAAA,CAAA;AAE9B,EAAA,OAAO,QAAQ,MAAM;AACpB,IAAA,MAAM,sBAAsB,MAAO,CAAA,IAAA,EAAM,aAAiB,IAAA,IAAI,OAAO,CAAA,CAAA;AACrE,IAAA,OAAO,KAAK,mBAAmB,CAAA,CAAA;AAAA,GAC7B,EAAA,CAAC,IAAM,EAAA,aAAa,CAAC,CAAA,CAAA;AACzB,CAAA;AAEA,MAAM,YAAoB,GAAA;AAAA,EACzB,EAAI,EAAA;AAAA,IACH,QAAU,EAAA,CAAA,iBAAA,CAAA;AAAA,IACV,MAAQ,EAAA,CAAC,EAAE,GAAA,EAA6B,KAAA;AACvC,MAAO,OAAA;AAAA,QACN,MAAQ,EAAA,CAAA,OAAA,EAAU,GAAI,CAAA,IAAA,CAAK,GAAG,CAAC,CAAA,CAAA,CAAA;AAAA,QAC/B,MAAQ,EAAA,CAAC,IAAM,EAAA,aAAA,EAAe,QAAQ,OAAO,CAAA;AAAA,OAC9C,CAAA;AAAA,KACD;AAAA,GACD;AACD,CAAA,CAAA;AAQO,SAAS,YAAY,UAAuB,EAAA;AAClD,EAAA,MAAM,EAAE,OAAA,EAAS,IAAM,EAAA,OAAA,EAAY,GAAA,YAAA;AAAA,IAClC,YAAA;AAAA,IACA;AAAA,MACC,SAAW,EAAA;AAAA,QACV,GAAK,EAAA,UAAA;AAAA,OACN;AAAA,MACA,IAAA,EAAM,QAAQ,UAAU,CAAA;AAAA,KACzB;AAAA,GACD,CAAA;AAEA,EAAA,eAAA,CAAgB,MAAM;AACrB,IAAA,IAAI,UAAY,EAAA;AACf,MAAA,OAAA,CAAQ,EAAE,GAAK,EAAA,UAAA,EAAY,CAAE,CAAA,KAAA,CAAM,QAAQ,KAAK,CAAA,CAAA;AAAA,KACjD;AAAA,GACE,EAAA,CAAC,OAAS,EAAA,UAAU,CAAC,CAAA,CAAA;AAExB,EAAO,OAAA;AAAA,IACN,OAAA;AAAA,IACA,QAAA,EAAU,MAAM,EAAI,EAAA,iBAAA;AAAA,IACpB,OAAA;AAAA,GAGD,CAAA;AACD,CAAA;AAEA,MAAM,iBAAoB,GAAA;AAAA,EACzB,KAAO,EAAA;AAAA,IACN,QAAU,EAAA,wBAAA;AAAA,IACV,MAAQ,EAAA,CAAC,EAAE,GAAA,EAAe,KAAA;AACzB,MAAO,OAAA;AAAA,QACN,MAAQ,EAAA,CAAC,IAAM,EAAA,aAAA,EAAe,OAAO,CAAA;AAAA,QACrC,QAAQ,CAAC,CAAA,OAAA,EAAU,IAAI,IAAK,CAAA,GAAG,CAAC,CAAG,CAAA,CAAA,CAAA;AAAA,OACpC,CAAA;AAAA,KACD;AAAA,GACD;AACD,CAAA,CAAA;AAEO,SAAS,iBAAiB,UAA8B,EAAA;AAC9D,EAAA,MAAM,EAAE,OAAS,EAAA,IAAA,EAAM,OAAQ,EAAA,GAAI,aAEhC,iBAAmB,EAAA;AAAA,IACrB,SAAW,EAAA;AAAA,MACV,EAAI,EAAA,UAAA;AAAA,KACL;AAAA,IACA,IAAM,EAAA,IAAA;AAAA,GACN,CAAA,CAAA;AAED,EAAA,SAAA,CAAU,MAAM;AACf,IAAI,IAAA,CAAC,OAAQ,CAAA,UAAU,CAAG,EAAA;AACzB,MAAA,OAAA,CAAQ,EAAE,GAAK,EAAA,UAAA,EAAY,CAAE,CAAA,KAAA,CAAM,QAAQ,KAAK,CAAA,CAAA;AAAA,KACjD;AAAA,GACE,EAAA,CAAC,OAAS,EAAA,UAAU,CAAC,CAAA,CAAA;AAExB,EAAO,OAAA;AAAA,IACN,OAAA;AAAA,IACA,MAAA,EAAQ,MAAM,KAAO,EAAA,sBAAA;AAAA,IACrB,OAAA;AAAA,GAGD,CAAA;AACD","file":"orgUnit.js","sourcesContent":["import { useScorecardMeta } from \"../components\";\nimport { useEffect, useMemo } from \"react\";\nimport { isEmpty, last, sortBy } from \"lodash\";\nimport type {\n\tOrganisationUnit,\n\tOrganisationUnitLevel,\n} from \"@hisptz/dhis2-utils\";\nimport { useDataQuery } from \"@dhis2/app-runtime\";\nimport { useUpdateEffect } from \"usehooks-ts\";\n\nexport function useLowestOrgUnitLevel() {\n\tconst meta = useScorecardMeta();\n\n\treturn useMemo(() => {\n\t\tconst sortedOrgUnitLevels = sortBy(meta?.orgUnitLevels ?? [], \"level\");\n\t\treturn last(sortedOrgUnitLevels);\n\t}, [meta?.orgUnitLevels]);\n}\n\nconst orgUnitQuery: any = {\n\tou: {\n\t\tresource: `organisationUnits`,\n\t\tparams: ({ ids }: { ids: string[] }) => {\n\t\t\treturn {\n\t\t\t\tfilter: `id:in:[${ids.join(\",\")}]`,\n\t\t\t\tfields: [\"id\", \"displayName\", \"path\", \"level\"],\n\t\t\t};\n\t\t},\n\t},\n};\n\ntype OrgUnitResponse = {\n\tou: {\n\t\torganisationUnits: Array<OrganisationUnit>;\n\t};\n};\n\nexport function useOrgUnits(initialIds?: string[]) {\n\tconst { refetch, data, loading } = useDataQuery<OrgUnitResponse>(\n\t\torgUnitQuery,\n\t\t{\n\t\t\tvariables: {\n\t\t\t\tids: initialIds,\n\t\t\t},\n\t\t\tlazy: isEmpty(initialIds),\n\t\t},\n\t);\n\n\tuseUpdateEffect(() => {\n\t\tif (initialIds) {\n\t\t\trefetch({ ids: initialIds }).catch(console.error);\n\t\t}\n\t}, [refetch, initialIds]);\n\n\treturn {\n\t\tloading,\n\t\torgUnits: data?.ou?.organisationUnits,\n\t\trefetch: refetch as unknown as (\n\t\t\tvariables: Record<string, any>,\n\t\t) => OrgUnitResponse,\n\t};\n}\n\nconst orgUnitLevelQuery = {\n\tlevel: {\n\t\tresource: \"organisationUnitLevels\",\n\t\tparams: ({ ids }: any) => {\n\t\t\treturn {\n\t\t\t\tfields: [\"id\", \"displayName\", \"level\"],\n\t\t\t\tfilter: [`id:in:[${ids.join(\",\")}]`],\n\t\t\t};\n\t\t},\n\t},\n};\n\nexport function useOrgUnitLevels(initialIds?: string[] | null) {\n\tconst { refetch, data, loading } = useDataQuery<{\n\t\tlevel: { organisationUnitLevels: OrganisationUnitLevel[] };\n\t}>(orgUnitLevelQuery, {\n\t\tvariables: {\n\t\t\tid: initialIds,\n\t\t},\n\t\tlazy: true,\n\t});\n\n\tuseEffect(() => {\n\t\tif (!isEmpty(initialIds)) {\n\t\t\trefetch({ ids: initialIds }).catch(console.error);\n\t\t}\n\t}, [refetch, initialIds]);\n\n\treturn {\n\t\tloading,\n\t\tlevels: data?.level?.organisationUnitLevels,\n\t\trefetch: refetch as unknown as (variables: Record<string, any>) => {\n\t\t\tlevel: { organisationUnitLevels: OrganisationUnitLevel[] };\n\t\t},\n\t};\n}\n"]}
@@ -9,5 +9,5 @@ function usePeriodSelection() {
9
9
  }
10
10
 
11
11
  export { usePeriodSelection };
12
- //# sourceMappingURL=out.js.map
12
+ //# sourceMappingURL=period.js.map
13
13
  //# sourceMappingURL=period.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/period.ts"],"names":[],"mappings":"AAAA,SAAS,0BAA0B;AAE5B,SAAS,qBAAqB;AACpC,QAAM,SAAS,mBAAmB;AAElC,MAAI,CAAC,QAAQ;AACZ,WAAO;AAAA,EACR;AACA,QAAM,kBAAkB,OAAO;AAChC","sourcesContent":["import { useScorecardConfig } from \"../components/ConfigProvider\";\n\nexport function usePeriodSelection() {\n\tconst config = useScorecardConfig();\n\n\tif (!config) {\n\t\treturn null;\n\t}\n\tconst periodSelection = config.periodSelection;\n}\n"]}
1
+ {"version":3,"sources":["../../../src/hooks/period.ts"],"names":[],"mappings":";;AAEO,SAAS,kBAAqB,GAAA;AACpC,EAAA,MAAM,SAAS,kBAAmB,EAAA,CAAA;AAElC,EAAA,IAAI,CAAC,MAAQ,EAAA;AACZ,IAAO,OAAA,IAAA,CAAA;AAAA,GACR;AACA,EAAwB,MAAO,CAAA,gBAAA;AAChC","file":"period.js","sourcesContent":["import { useScorecardConfig } from \"../components/ConfigProvider\";\n\nexport function usePeriodSelection() {\n\tconst config = useScorecardConfig();\n\n\tif (!config) {\n\t\treturn null;\n\t}\n\tconst periodSelection = config.periodSelection;\n}\n"]}
@@ -78,8 +78,7 @@ function useTableRows() {
78
78
  const averageDisplayType = useScorecardStateSelectorValue(["options", "averageDisplayType"]);
79
79
  const config = useScorecardConfig();
80
80
  const [hiddenRowIndexes, setHiddenRowIndexes] = useState([]);
81
- if (meta == null)
82
- return [];
81
+ if (meta == null) return [];
83
82
  const rows = useMemo(() => {
84
83
  const rows2 = getRowsFromMeta({
85
84
  meta,
@@ -165,8 +164,7 @@ function useRowExpanding() {
165
164
  ]) ?? false;
166
165
  const getRowCanExpand = useCallback((row) => {
167
166
  const expandCell = row.getVisibleCells().find(({ id }) => id.includes("expand"));
168
- if (!expandCell)
169
- return false;
167
+ if (!expandCell) return false;
170
168
  return expandCell.getValue();
171
169
  }, []);
172
170
  return {
@@ -232,5 +230,5 @@ function useTableSetup() {
232
230
  }
233
231
 
234
232
  export { filterRows, getRowValues, useColumnVisibility, useRowExpanding, useTableRows, useTableSetup };
235
- //# sourceMappingURL=out.js.map
233
+ //# sourceMappingURL=table.js.map
236
234
  //# sourceMappingURL=table.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/table.ts"],"names":["emptyRows","rows"],"mappings":"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","sourcesContent":["import {\n\ttype ColumnFiltersState,\n\ttype ExpandedState,\n\tgetCoreRowModel,\n\tgetExpandedRowModel,\n\tgetFilteredRowModel,\n\tgetPaginationRowModel,\n\tgetSortedRowModel,\n\ttype PaginationState,\n\ttype Row,\n\ttype SortingState,\n\ttype TableOptions,\n\ttype VisibilityState,\n} from \"@tanstack/react-table\";\nimport { useTableColumns } from \"./columns\";\nimport type {\n\tScorecardTableData,\n\tScorecardViewOptions,\n} from \"../schemas/config\";\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\nimport {\n\ttype ScorecardMeta,\n\tuseScorecardConfig,\n\tuseScorecardData,\n\tuseScorecardMeta,\n} from \"../components\";\nimport { type AnalyticsData, getRowsFromMeta } from \"../utils/data\";\nimport { isEmpty, meanBy } from \"lodash\";\nimport type { ScorecardDataEngine } from \"../utils/dataEngine\";\nimport { getAverageValue } from \"../utils/columns\";\nimport { useScorecardStateSelectorValue } from \"../state\";\n\nexport function getRowValues({\n\tdata,\n\tshowDataInRows,\n\trow,\n}: {\n\trow: ScorecardTableData;\n\tdata: AnalyticsData[];\n\tshowDataInRows: boolean;\n}): AnalyticsData[] {\n\treturn data.filter((datum) => {\n\t\tif (showDataInRows) {\n\t\t\treturn row\n\t\t\t\t.dataHolder!.dataSources.map(({ id }) => id)\n\t\t\t\t.includes(datum.dx!);\n\t\t}\n\t\treturn datum.ou === row.orgUnit!.uid;\n\t});\n}\n\nexport function filterRows({\n\trows,\n\temptyRows,\n\tdataEngine,\n\tshowDataInRows,\n\taverageDisplayType,\n\tmeta,\n}: {\n\temptyRows: ScorecardViewOptions[\"emptyRows\"];\n\tshowDataInRows: boolean;\n\taverageDisplayType: ScorecardViewOptions[\"averageDisplayType\"];\n\tdataEngine: ScorecardDataEngine;\n\trows: ScorecardTableData[];\n\tmeta: ScorecardMeta;\n}) {\n\tif (!dataEngine.isDone) {\n\t\treturn [];\n\t}\n\tconst hiddenRows: number[] = [];\n\tconst rowsWithDataValues = rows.map((row, index) => {\n\t\tconst values = getRowValues({\n\t\t\trow,\n\t\t\tdata: dataEngine.data,\n\t\t\tshowDataInRows,\n\t\t});\n\t\tconst average = meanBy(values, ({ value }) => parseFloat(value!));\n\t\treturn {\n\t\t\trow,\n\t\t\tindex,\n\t\t\tvalues,\n\t\t\taverage,\n\t\t};\n\t});\n\tif (!emptyRows) {\n\t\t//Filter out all e\n\t\tconst emptyRows = rowsWithDataValues\n\t\t\t.filter(({ values }) => isEmpty(values))\n\t\t\t.map(({ index }) => index);\n\t\thiddenRows.push(...emptyRows);\n\t}\n\n\tif (averageDisplayType !== \"ALL\") {\n\t\tconst average = getAverageValue({\n\t\t\tdataValues: dataEngine.data,\n\t\t\tmeta,\n\t\t});\n\t\tif (averageDisplayType === \"BELOW_AVERAGE\") {\n\t\t\tconst aboveAverageRows = rowsWithDataValues\n\t\t\t\t.filter(({ average: rowAverage }) => rowAverage > average)\n\t\t\t\t.map(({ index }) => index);\n\t\t\thiddenRows.push(...aboveAverageRows);\n\t\t} else {\n\t\t\tconst belowAverageRows = rowsWithDataValues\n\t\t\t\t.filter(({ average: rowAverage }) => rowAverage < average)\n\t\t\t\t.map(({ index }) => index);\n\t\t\thiddenRows.push(...belowAverageRows);\n\t\t}\n\t}\n\n\treturn hiddenRows;\n}\n\nexport function useTableRows(): ScorecardTableData[] {\n\tconst meta = useScorecardMeta();\n\tconst { data: dataEngine } = useScorecardData();\n\tconst showDataInRows = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\tconst emptyRows = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"emptyRows\",\n\t]);\n\tconst averageDisplayType = useScorecardStateSelectorValue<\n\t\tScorecardViewOptions[\"averageDisplayType\"]\n\t>([\"options\", \"averageDisplayType\"]);\n\n\tconst config = useScorecardConfig();\n\n\tconst [hiddenRowIndexes, setHiddenRowIndexes] = useState<number[]>([]);\n\n\tif (meta == null) return [];\n\n\tconst rows = useMemo(() => {\n\t\tconst rows = getRowsFromMeta({\n\t\t\tmeta,\n\t\t\tshowDataInRows,\n\t\t\tconfig,\n\t\t});\n\n\t\tif (isEmpty(hiddenRowIndexes)) {\n\t\t\treturn rows;\n\t\t}\n\n\t\treturn rows.filter((_, index) => !hiddenRowIndexes.includes(index));\n\t}, [meta, showDataInRows, config, hiddenRowIndexes]);\n\n\tuseEffect(() => {\n\t\tconst listener = (completed: boolean) => {\n\t\t\tif (completed) {\n\t\t\t\tsetHiddenRowIndexes(\n\t\t\t\t\tfilterRows({\n\t\t\t\t\t\tmeta,\n\t\t\t\t\t\tdataEngine,\n\t\t\t\t\t\tshowDataInRows,\n\t\t\t\t\t\trows,\n\t\t\t\t\t\taverageDisplayType,\n\t\t\t\t\t\temptyRows,\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t}\n\t\t};\n\t\tif (dataEngine.isDone) {\n\t\t\tsetHiddenRowIndexes(\n\t\t\t\tfilterRows({\n\t\t\t\t\tmeta,\n\t\t\t\t\tdataEngine,\n\t\t\t\t\tshowDataInRows,\n\t\t\t\t\trows,\n\t\t\t\t\taverageDisplayType,\n\t\t\t\t\temptyRows,\n\t\t\t\t}),\n\t\t\t);\n\t\t} else {\n\t\t\treturn dataEngine.addOnCompleteListener(listener);\n\t\t}\n\t}, [averageDisplayType, emptyRows, showDataInRows]);\n\n\treturn rows;\n}\n\nexport function useColumnVisibility() {\n\tconst showAverageColumn = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"averageColumn\",\n\t]);\n\tconst showItemNumber = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"itemNumber\",\n\t]);\n\tconst showDataInRows = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\n\tconst disableExpanding =\n\t\tuseScorecardStateSelectorValue<boolean>([\n\t\t\t\"options\",\n\t\t\t\"disableExpanding\",\n\t\t]) ?? false;\n\n\tconst [columnVisibility, setColumnVisibility] = useState<VisibilityState>({\n\t\taverage: showAverageColumn,\n\t\tcount: showItemNumber,\n\t\texpand: !disableExpanding,\n\t});\n\n\tuseEffect(() => {\n\t\tsetColumnVisibility({\n\t\t\taverage: showAverageColumn,\n\t\t\tcount: showItemNumber,\n\t\t\texpand: !disableExpanding && !showDataInRows,\n\t\t});\n\t}, [showAverageColumn, showItemNumber, disableExpanding, showDataInRows]);\n\n\treturn {\n\t\tcolumnVisibility,\n\t\tsetColumnVisibility,\n\t};\n}\n\nexport function useRowExpanding() {\n\tconst [expanded, setExpanded] = useState<ExpandedState>({});\n\tconst disableExpanding =\n\t\tuseScorecardStateSelectorValue<boolean>([\n\t\t\t\"options\",\n\t\t\t\"disableExpanding\",\n\t\t]) ?? false;\n\n\tconst getRowCanExpand = useCallback((row: Row<ScorecardTableData>) => {\n\t\tconst expandCell = row\n\t\t\t.getVisibleCells()\n\t\t\t.find(({ id }) => id.includes(\"expand\"));\n\n\t\tif (!expandCell) return false;\n\t\treturn expandCell.getValue() as boolean;\n\t}, []);\n\n\treturn {\n\t\texpanded,\n\t\tonExpandedChange: disableExpanding ? undefined : setExpanded,\n\t\tgetRowCanExpand,\n\t};\n}\n\nexport function useTableSetup(): TableOptions<ScorecardTableData> {\n\tconst [columnFilters, setColumnFilters] = useState<ColumnFiltersState>([]);\n\tconst disablePagination = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"disablePagination\",\n\t]);\n\tconst [pagination, setPagination] = useState<PaginationState>({\n\t\tpageSize: 50,\n\t\tpageIndex: 0,\n\t});\n\n\tconst { columnVisibility, setColumnVisibility } = useColumnVisibility();\n\tconst { expanded, onExpandedChange, getRowCanExpand } = useRowExpanding();\n\n\tconst [sorting, setSorting] = useState<SortingState>([]);\n\tconst columns = useTableColumns();\n\tconst data = useTableRows();\n\n\treturn useMemo(\n\t\t() => ({\n\t\t\tcolumns,\n\t\t\tdata,\n\t\t\tstate: {\n\t\t\t\tcolumnFilters,\n\t\t\t\tsorting,\n\t\t\t\tcolumnVisibility,\n\t\t\t\texpanded,\n\t\t\t\t...(disablePagination ? {} : { pagination }),\n\t\t\t},\n\t\t\tmeta: {\n\t\t\t\tdisablePagination,\n\t\t\t},\n\t\t\tautoResetPageIndex: true,\n\t\t\tonExpandedChange: onExpandedChange,\n\t\t\trowCount: data.length,\n\t\t\tgetRowCanExpand,\n\t\t\tonColumnFiltersChange: setColumnFilters,\n\t\t\tonSortingChange: setSorting,\n\t\t\tgetCoreRowModel: getCoreRowModel(),\n\t\t\tgetFilteredRowModel: getFilteredRowModel(),\n\t\t\tgetExpandedRowModel: getExpandedRowModel(),\n\t\t\tgetPaginationRowModel: disablePagination\n\t\t\t\t? undefined\n\t\t\t\t: getPaginationRowModel(),\n\t\t\tgetSortedRowModel: getSortedRowModel(),\n\t\t\tonColumnVisibilityChange: setColumnVisibility,\n\t\t\tonPaginationChange: disablePagination ? undefined : setPagination,\n\t\t}),\n\t\t[\n\t\t\tcolumns,\n\t\t\tdata,\n\t\t\tcolumnFilters,\n\t\t\tsorting,\n\t\t\tcolumnVisibility,\n\t\t\tpagination,\n\t\t\tgetRowCanExpand,\n\t\t\texpanded,\n\t\t],\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../src/hooks/table.ts"],"names":["emptyRows","rows"],"mappings":"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","file":"table.js","sourcesContent":["import {\n\ttype ColumnFiltersState,\n\ttype ExpandedState,\n\tgetCoreRowModel,\n\tgetExpandedRowModel,\n\tgetFilteredRowModel,\n\tgetPaginationRowModel,\n\tgetSortedRowModel,\n\ttype PaginationState,\n\ttype Row,\n\ttype SortingState,\n\ttype TableOptions,\n\ttype VisibilityState,\n} from \"@tanstack/react-table\";\nimport { useTableColumns } from \"./columns\";\nimport type {\n\tScorecardTableData,\n\tScorecardViewOptions,\n} from \"../schemas/config\";\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\nimport {\n\ttype ScorecardMeta,\n\tuseScorecardConfig,\n\tuseScorecardData,\n\tuseScorecardMeta,\n} from \"../components\";\nimport { type AnalyticsData, getRowsFromMeta } from \"../utils/data\";\nimport { isEmpty, meanBy } from \"lodash\";\nimport type { ScorecardDataEngine } from \"../utils/dataEngine\";\nimport { getAverageValue } from \"../utils/columns\";\nimport { useScorecardStateSelectorValue } from \"../state\";\n\nexport function getRowValues({\n\tdata,\n\tshowDataInRows,\n\trow,\n}: {\n\trow: ScorecardTableData;\n\tdata: AnalyticsData[];\n\tshowDataInRows: boolean;\n}): AnalyticsData[] {\n\treturn data.filter((datum) => {\n\t\tif (showDataInRows) {\n\t\t\treturn row\n\t\t\t\t.dataHolder!.dataSources.map(({ id }) => id)\n\t\t\t\t.includes(datum.dx!);\n\t\t}\n\t\treturn datum.ou === row.orgUnit!.uid;\n\t});\n}\n\nexport function filterRows({\n\trows,\n\temptyRows,\n\tdataEngine,\n\tshowDataInRows,\n\taverageDisplayType,\n\tmeta,\n}: {\n\temptyRows: ScorecardViewOptions[\"emptyRows\"];\n\tshowDataInRows: boolean;\n\taverageDisplayType: ScorecardViewOptions[\"averageDisplayType\"];\n\tdataEngine: ScorecardDataEngine;\n\trows: ScorecardTableData[];\n\tmeta: ScorecardMeta;\n}) {\n\tif (!dataEngine.isDone) {\n\t\treturn [];\n\t}\n\tconst hiddenRows: number[] = [];\n\tconst rowsWithDataValues = rows.map((row, index) => {\n\t\tconst values = getRowValues({\n\t\t\trow,\n\t\t\tdata: dataEngine.data,\n\t\t\tshowDataInRows,\n\t\t});\n\t\tconst average = meanBy(values, ({ value }) => parseFloat(value!));\n\t\treturn {\n\t\t\trow,\n\t\t\tindex,\n\t\t\tvalues,\n\t\t\taverage,\n\t\t};\n\t});\n\tif (!emptyRows) {\n\t\t//Filter out all e\n\t\tconst emptyRows = rowsWithDataValues\n\t\t\t.filter(({ values }) => isEmpty(values))\n\t\t\t.map(({ index }) => index);\n\t\thiddenRows.push(...emptyRows);\n\t}\n\n\tif (averageDisplayType !== \"ALL\") {\n\t\tconst average = getAverageValue({\n\t\t\tdataValues: dataEngine.data,\n\t\t\tmeta,\n\t\t});\n\t\tif (averageDisplayType === \"BELOW_AVERAGE\") {\n\t\t\tconst aboveAverageRows = rowsWithDataValues\n\t\t\t\t.filter(({ average: rowAverage }) => rowAverage > average)\n\t\t\t\t.map(({ index }) => index);\n\t\t\thiddenRows.push(...aboveAverageRows);\n\t\t} else {\n\t\t\tconst belowAverageRows = rowsWithDataValues\n\t\t\t\t.filter(({ average: rowAverage }) => rowAverage < average)\n\t\t\t\t.map(({ index }) => index);\n\t\t\thiddenRows.push(...belowAverageRows);\n\t\t}\n\t}\n\n\treturn hiddenRows;\n}\n\nexport function useTableRows(): ScorecardTableData[] {\n\tconst meta = useScorecardMeta();\n\tconst { data: dataEngine } = useScorecardData();\n\tconst showDataInRows = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\tconst emptyRows = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"emptyRows\",\n\t]);\n\tconst averageDisplayType = useScorecardStateSelectorValue<\n\t\tScorecardViewOptions[\"averageDisplayType\"]\n\t>([\"options\", \"averageDisplayType\"]);\n\n\tconst config = useScorecardConfig();\n\n\tconst [hiddenRowIndexes, setHiddenRowIndexes] = useState<number[]>([]);\n\n\tif (meta == null) return [];\n\n\tconst rows = useMemo(() => {\n\t\tconst rows = getRowsFromMeta({\n\t\t\tmeta,\n\t\t\tshowDataInRows,\n\t\t\tconfig,\n\t\t});\n\n\t\tif (isEmpty(hiddenRowIndexes)) {\n\t\t\treturn rows;\n\t\t}\n\n\t\treturn rows.filter((_, index) => !hiddenRowIndexes.includes(index));\n\t}, [meta, showDataInRows, config, hiddenRowIndexes]);\n\n\tuseEffect(() => {\n\t\tconst listener = (completed: boolean) => {\n\t\t\tif (completed) {\n\t\t\t\tsetHiddenRowIndexes(\n\t\t\t\t\tfilterRows({\n\t\t\t\t\t\tmeta,\n\t\t\t\t\t\tdataEngine,\n\t\t\t\t\t\tshowDataInRows,\n\t\t\t\t\t\trows,\n\t\t\t\t\t\taverageDisplayType,\n\t\t\t\t\t\temptyRows,\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t}\n\t\t};\n\t\tif (dataEngine.isDone) {\n\t\t\tsetHiddenRowIndexes(\n\t\t\t\tfilterRows({\n\t\t\t\t\tmeta,\n\t\t\t\t\tdataEngine,\n\t\t\t\t\tshowDataInRows,\n\t\t\t\t\trows,\n\t\t\t\t\taverageDisplayType,\n\t\t\t\t\temptyRows,\n\t\t\t\t}),\n\t\t\t);\n\t\t} else {\n\t\t\treturn dataEngine.addOnCompleteListener(listener);\n\t\t}\n\t}, [averageDisplayType, emptyRows, showDataInRows]);\n\n\treturn rows;\n}\n\nexport function useColumnVisibility() {\n\tconst showAverageColumn = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"averageColumn\",\n\t]);\n\tconst showItemNumber = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"itemNumber\",\n\t]);\n\tconst showDataInRows = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\n\tconst disableExpanding =\n\t\tuseScorecardStateSelectorValue<boolean>([\n\t\t\t\"options\",\n\t\t\t\"disableExpanding\",\n\t\t]) ?? false;\n\n\tconst [columnVisibility, setColumnVisibility] = useState<VisibilityState>({\n\t\taverage: showAverageColumn,\n\t\tcount: showItemNumber,\n\t\texpand: !disableExpanding,\n\t});\n\n\tuseEffect(() => {\n\t\tsetColumnVisibility({\n\t\t\taverage: showAverageColumn,\n\t\t\tcount: showItemNumber,\n\t\t\texpand: !disableExpanding && !showDataInRows,\n\t\t});\n\t}, [showAverageColumn, showItemNumber, disableExpanding, showDataInRows]);\n\n\treturn {\n\t\tcolumnVisibility,\n\t\tsetColumnVisibility,\n\t};\n}\n\nexport function useRowExpanding() {\n\tconst [expanded, setExpanded] = useState<ExpandedState>({});\n\tconst disableExpanding =\n\t\tuseScorecardStateSelectorValue<boolean>([\n\t\t\t\"options\",\n\t\t\t\"disableExpanding\",\n\t\t]) ?? false;\n\n\tconst getRowCanExpand = useCallback((row: Row<ScorecardTableData>) => {\n\t\tconst expandCell = row\n\t\t\t.getVisibleCells()\n\t\t\t.find(({ id }) => id.includes(\"expand\"));\n\n\t\tif (!expandCell) return false;\n\t\treturn expandCell.getValue() as boolean;\n\t}, []);\n\n\treturn {\n\t\texpanded,\n\t\tonExpandedChange: disableExpanding ? undefined : setExpanded,\n\t\tgetRowCanExpand,\n\t};\n}\n\nexport function useTableSetup(): TableOptions<ScorecardTableData> {\n\tconst [columnFilters, setColumnFilters] = useState<ColumnFiltersState>([]);\n\tconst disablePagination = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"disablePagination\",\n\t]);\n\tconst [pagination, setPagination] = useState<PaginationState>({\n\t\tpageSize: 50,\n\t\tpageIndex: 0,\n\t});\n\n\tconst { columnVisibility, setColumnVisibility } = useColumnVisibility();\n\tconst { expanded, onExpandedChange, getRowCanExpand } = useRowExpanding();\n\n\tconst [sorting, setSorting] = useState<SortingState>([]);\n\tconst columns = useTableColumns();\n\tconst data = useTableRows();\n\n\treturn useMemo(\n\t\t() => ({\n\t\t\tcolumns,\n\t\t\tdata,\n\t\t\tstate: {\n\t\t\t\tcolumnFilters,\n\t\t\t\tsorting,\n\t\t\t\tcolumnVisibility,\n\t\t\t\texpanded,\n\t\t\t\t...(disablePagination ? {} : { pagination }),\n\t\t\t},\n\t\t\tmeta: {\n\t\t\t\tdisablePagination,\n\t\t\t},\n\t\t\tautoResetPageIndex: true,\n\t\t\tonExpandedChange: onExpandedChange,\n\t\t\trowCount: data.length,\n\t\t\tgetRowCanExpand,\n\t\t\tonColumnFiltersChange: setColumnFilters,\n\t\t\tonSortingChange: setSorting,\n\t\t\tgetCoreRowModel: getCoreRowModel(),\n\t\t\tgetFilteredRowModel: getFilteredRowModel(),\n\t\t\tgetExpandedRowModel: getExpandedRowModel(),\n\t\t\tgetPaginationRowModel: disablePagination\n\t\t\t\t? undefined\n\t\t\t\t: getPaginationRowModel(),\n\t\t\tgetSortedRowModel: getSortedRowModel(),\n\t\t\tonColumnVisibilityChange: setColumnVisibility,\n\t\t\tonPaginationChange: disablePagination ? undefined : setPagination,\n\t\t}),\n\t\t[\n\t\t\tcolumns,\n\t\t\tdata,\n\t\t\tcolumnFilters,\n\t\t\tsorting,\n\t\t\tcolumnVisibility,\n\t\t\tpagination,\n\t\t\tgetRowCanExpand,\n\t\t\texpanded,\n\t\t],\n\t);\n}\n"]}
@@ -176,5 +176,5 @@ function useOrgUnitAverageCellValue(dataConfig) {
176
176
  }
177
177
 
178
178
  export { useCellValue, useDataHolderAverageCellValue, useOrgUnitAverageCellValue };
179
- //# sourceMappingURL=out.js.map
179
+ //# sourceMappingURL=value.js.map
180
180
  //# sourceMappingURL=value.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/value.ts"],"names":["data"],"mappings":"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","sourcesContent":["import { useEffect, useState } from \"react\";\nimport type {\n\tScorecardAverageCellData,\n\tScorecardCellData,\n\tScorecardTableAverageCellConfig,\n\tScorecardTableCellConfig,\n} from \"../schemas/config\";\nimport { useScorecardData } from \"../components/DataProvider\";\nimport type {\n\tDataEngineListener,\n\tOnCompleteDataEngineListener,\n} from \"../utils/dataEngine\";\nimport type { AnalyticsData } from \"../utils/data\";\nimport { getValues } from \"../utils/columns\";\nimport { every, isEqual, meanBy } from \"lodash\";\n\nfunction getDataValues({\n\tdata,\n\tdataConfig,\n}: {\n\tdataConfig: ScorecardTableCellConfig;\n\tdata: AnalyticsData[];\n}): ScorecardCellData[] {\n\treturn dataConfig.dataSources.map((dataSource) => {\n\t\tconst filteredData = data.filter((data) => {\n\t\t\treturn (\n\t\t\t\tdata.dx === dataSource.id &&\n\t\t\t\tdata.ou === dataConfig.orgUnit.uid &&\n\t\t\t\t[dataConfig.currentPeriod, dataConfig.previousPeriod].includes(\n\t\t\t\t\tdata.pe,\n\t\t\t\t)\n\t\t\t);\n\t\t});\n\n\t\tconst value = getValues({\n\t\t\tcurrentPeriod: dataConfig.currentPeriod!,\n\t\t\tpreviousPeriod: dataConfig.previousPeriod,\n\t\t\tvalues: filteredData,\n\t\t});\n\n\t\tif (!value.current) {\n\t\t\treturn {\n\t\t\t\t...dataSource,\n\t\t\t\tdata: {\n\t\t\t\t\tcurrent: undefined,\n\t\t\t\t\tprevious: undefined,\n\t\t\t\t},\n\t\t\t} as ScorecardCellData;\n\t\t}\n\n\t\treturn {\n\t\t\t...dataSource,\n\t\t\tdata: value,\n\t\t} as ScorecardCellData;\n\t});\n}\n\nexport function useCellValue(dataConfig: ScorecardTableCellConfig) {\n\tconst { data: scorecardEngine } = useScorecardData();\n\tconst [loading, setLoading] = useState<boolean>(false);\n\tconst [cellData, setCellData] = useState<ScorecardCellData[]>([]);\n\n\tuseEffect(() => {\n\t\treturn scorecardEngine.addOnCompleteListener((completed) => {\n\t\t\tif (completed) {\n\t\t\t\tsetLoading(false);\n\t\t\t}\n\t\t});\n\t}, []);\n\n\tuseEffect(() => {\n\t\tsetLoading(true);\n\t\tconst listener: DataEngineListener = (data) => {\n\t\t\tconst values = getDataValues({ data, dataConfig });\n\t\t\tconst hasValues = every(values, (value) => !!value.data);\n\t\t\tsetCellData((prevState) => {\n\t\t\t\tif (isEqual(prevState, values)) {\n\t\t\t\t\treturn prevState;\n\t\t\t\t} else {\n\t\t\t\t\treturn values;\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (hasValues) {\n\t\t\t\tscorecardEngine.removeListener(listener);\n\t\t\t\tsetLoading(false);\n\t\t\t}\n\t\t};\n\t\tif (scorecardEngine.isDone) {\n\t\t\tconst values = getDataValues({\n\t\t\t\tdata: scorecardEngine.data,\n\t\t\t\tdataConfig,\n\t\t\t});\n\n\t\t\tsetCellData(values);\n\t\t\tsetLoading(false);\n\t\t} else {\n\t\t\treturn scorecardEngine.addDataListener(listener);\n\t\t}\n\t}, [dataConfig]);\n\n\treturn {\n\t\tloading,\n\t\tcellData,\n\t};\n}\n\nfunction getDataHolderAverageValues({\n\tdata,\n\tdataConfig,\n}: {\n\tdataConfig: ScorecardTableAverageCellConfig;\n\tdata: AnalyticsData[];\n}): ScorecardAverageCellData[] {\n\treturn (\n\t\tdataConfig.dataHolder?.dataSources.map((source) => {\n\t\t\tconst dataValues = data.filter((datum) => {\n\t\t\t\treturn datum.dx === source.id;\n\t\t\t});\n\t\t\tconst average = meanBy(dataValues, (value) =>\n\t\t\t\tparseFloat(value.value!),\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\t...source,\n\t\t\t\tdata: {\n\t\t\t\t\taverage,\n\t\t\t\t},\n\t\t\t};\n\t\t}) ?? []\n\t);\n}\n\nexport function useDataHolderAverageCellValue(\n\tdataConfig: ScorecardTableAverageCellConfig,\n) {\n\tconst { data: scorecardEngine } = useScorecardData();\n\tconst [loading, setLoading] = useState<boolean>(false);\n\tconst [cellData, setCellData] = useState<ScorecardAverageCellData[]>([]);\n\n\tuseEffect(() => {\n\t\tsetLoading(true);\n\t\tconst listener: OnCompleteDataEngineListener = (completed) => {\n\t\t\tif (completed) {\n\t\t\t\tsetLoading(false);\n\t\t\t\tsetCellData(\n\t\t\t\t\tgetDataHolderAverageValues({\n\t\t\t\t\t\tdata: scorecardEngine.data,\n\t\t\t\t\t\tdataConfig,\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t}\n\t\t};\n\t\tif (scorecardEngine.isDone) {\n\t\t\tsetLoading(false);\n\t\t\tsetCellData(\n\t\t\t\tgetDataHolderAverageValues({\n\t\t\t\t\tdata: scorecardEngine.data,\n\t\t\t\t\tdataConfig,\n\t\t\t\t}),\n\t\t\t);\n\t\t} else {\n\t\t\treturn scorecardEngine.addOnCompleteListener(listener);\n\t\t}\n\t}, [dataConfig]);\n\n\treturn {\n\t\tloading,\n\t\tcellData,\n\t};\n}\n\nfunction getOrgUnitAverageValues({\n\tdata,\n\tdataConfig,\n}: {\n\tdataConfig: ScorecardTableAverageCellConfig;\n\tdata: AnalyticsData[];\n}): number {\n\tconst dataValues = data.filter((datum) => {\n\t\treturn datum.ou === dataConfig.orgUnit?.uid;\n\t});\n\n\treturn meanBy(dataValues, (value) => parseFloat(value.value!));\n}\n\nexport function useOrgUnitAverageCellValue(\n\tdataConfig: ScorecardTableAverageCellConfig,\n) {\n\tconst { data: scorecardEngine } = useScorecardData();\n\tconst [loading, setLoading] = useState<boolean>(false);\n\tconst [average, setAverage] = useState<number | null>(null);\n\n\tuseEffect(() => {\n\t\tsetLoading(true);\n\t\tconst listener: OnCompleteDataEngineListener = (completed) => {\n\t\t\tif (completed) {\n\t\t\t\tsetLoading(false);\n\t\t\t\tsetAverage(\n\t\t\t\t\tgetOrgUnitAverageValues({\n\t\t\t\t\t\tdata: scorecardEngine.data,\n\t\t\t\t\t\tdataConfig,\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t}\n\t\t};\n\t\tif (scorecardEngine.isDone) {\n\t\t\tsetLoading(false);\n\t\t\tsetAverage(\n\t\t\t\tgetOrgUnitAverageValues({\n\t\t\t\t\tdata: scorecardEngine.data,\n\t\t\t\t\tdataConfig,\n\t\t\t\t}),\n\t\t\t);\n\t\t} else {\n\t\t\treturn scorecardEngine.addOnCompleteListener(listener);\n\t\t}\n\t}, [dataConfig]);\n\n\treturn {\n\t\tloading,\n\t\taverage,\n\t};\n}\n"]}
1
+ {"version":3,"sources":["../../../src/hooks/value.ts"],"names":["data"],"mappings":"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","file":"value.js","sourcesContent":["import { useEffect, useState } from \"react\";\nimport type {\n\tScorecardAverageCellData,\n\tScorecardCellData,\n\tScorecardTableAverageCellConfig,\n\tScorecardTableCellConfig,\n} from \"../schemas/config\";\nimport { useScorecardData } from \"../components/DataProvider\";\nimport type {\n\tDataEngineListener,\n\tOnCompleteDataEngineListener,\n} from \"../utils/dataEngine\";\nimport type { AnalyticsData } from \"../utils/data\";\nimport { getValues } from \"../utils/columns\";\nimport { every, isEqual, meanBy } from \"lodash\";\n\nfunction getDataValues({\n\tdata,\n\tdataConfig,\n}: {\n\tdataConfig: ScorecardTableCellConfig;\n\tdata: AnalyticsData[];\n}): ScorecardCellData[] {\n\treturn dataConfig.dataSources.map((dataSource) => {\n\t\tconst filteredData = data.filter((data) => {\n\t\t\treturn (\n\t\t\t\tdata.dx === dataSource.id &&\n\t\t\t\tdata.ou === dataConfig.orgUnit.uid &&\n\t\t\t\t[dataConfig.currentPeriod, dataConfig.previousPeriod].includes(\n\t\t\t\t\tdata.pe,\n\t\t\t\t)\n\t\t\t);\n\t\t});\n\n\t\tconst value = getValues({\n\t\t\tcurrentPeriod: dataConfig.currentPeriod!,\n\t\t\tpreviousPeriod: dataConfig.previousPeriod,\n\t\t\tvalues: filteredData,\n\t\t});\n\n\t\tif (!value.current) {\n\t\t\treturn {\n\t\t\t\t...dataSource,\n\t\t\t\tdata: {\n\t\t\t\t\tcurrent: undefined,\n\t\t\t\t\tprevious: undefined,\n\t\t\t\t},\n\t\t\t} as ScorecardCellData;\n\t\t}\n\n\t\treturn {\n\t\t\t...dataSource,\n\t\t\tdata: value,\n\t\t} as ScorecardCellData;\n\t});\n}\n\nexport function useCellValue(dataConfig: ScorecardTableCellConfig) {\n\tconst { data: scorecardEngine } = useScorecardData();\n\tconst [loading, setLoading] = useState<boolean>(false);\n\tconst [cellData, setCellData] = useState<ScorecardCellData[]>([]);\n\n\tuseEffect(() => {\n\t\treturn scorecardEngine.addOnCompleteListener((completed) => {\n\t\t\tif (completed) {\n\t\t\t\tsetLoading(false);\n\t\t\t}\n\t\t});\n\t}, []);\n\n\tuseEffect(() => {\n\t\tsetLoading(true);\n\t\tconst listener: DataEngineListener = (data) => {\n\t\t\tconst values = getDataValues({ data, dataConfig });\n\t\t\tconst hasValues = every(values, (value) => !!value.data);\n\t\t\tsetCellData((prevState) => {\n\t\t\t\tif (isEqual(prevState, values)) {\n\t\t\t\t\treturn prevState;\n\t\t\t\t} else {\n\t\t\t\t\treturn values;\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (hasValues) {\n\t\t\t\tscorecardEngine.removeListener(listener);\n\t\t\t\tsetLoading(false);\n\t\t\t}\n\t\t};\n\t\tif (scorecardEngine.isDone) {\n\t\t\tconst values = getDataValues({\n\t\t\t\tdata: scorecardEngine.data,\n\t\t\t\tdataConfig,\n\t\t\t});\n\n\t\t\tsetCellData(values);\n\t\t\tsetLoading(false);\n\t\t} else {\n\t\t\treturn scorecardEngine.addDataListener(listener);\n\t\t}\n\t}, [dataConfig]);\n\n\treturn {\n\t\tloading,\n\t\tcellData,\n\t};\n}\n\nfunction getDataHolderAverageValues({\n\tdata,\n\tdataConfig,\n}: {\n\tdataConfig: ScorecardTableAverageCellConfig;\n\tdata: AnalyticsData[];\n}): ScorecardAverageCellData[] {\n\treturn (\n\t\tdataConfig.dataHolder?.dataSources.map((source) => {\n\t\t\tconst dataValues = data.filter((datum) => {\n\t\t\t\treturn datum.dx === source.id;\n\t\t\t});\n\t\t\tconst average = meanBy(dataValues, (value) =>\n\t\t\t\tparseFloat(value.value!),\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\t...source,\n\t\t\t\tdata: {\n\t\t\t\t\taverage,\n\t\t\t\t},\n\t\t\t};\n\t\t}) ?? []\n\t);\n}\n\nexport function useDataHolderAverageCellValue(\n\tdataConfig: ScorecardTableAverageCellConfig,\n) {\n\tconst { data: scorecardEngine } = useScorecardData();\n\tconst [loading, setLoading] = useState<boolean>(false);\n\tconst [cellData, setCellData] = useState<ScorecardAverageCellData[]>([]);\n\n\tuseEffect(() => {\n\t\tsetLoading(true);\n\t\tconst listener: OnCompleteDataEngineListener = (completed) => {\n\t\t\tif (completed) {\n\t\t\t\tsetLoading(false);\n\t\t\t\tsetCellData(\n\t\t\t\t\tgetDataHolderAverageValues({\n\t\t\t\t\t\tdata: scorecardEngine.data,\n\t\t\t\t\t\tdataConfig,\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t}\n\t\t};\n\t\tif (scorecardEngine.isDone) {\n\t\t\tsetLoading(false);\n\t\t\tsetCellData(\n\t\t\t\tgetDataHolderAverageValues({\n\t\t\t\t\tdata: scorecardEngine.data,\n\t\t\t\t\tdataConfig,\n\t\t\t\t}),\n\t\t\t);\n\t\t} else {\n\t\t\treturn scorecardEngine.addOnCompleteListener(listener);\n\t\t}\n\t}, [dataConfig]);\n\n\treturn {\n\t\tloading,\n\t\tcellData,\n\t};\n}\n\nfunction getOrgUnitAverageValues({\n\tdata,\n\tdataConfig,\n}: {\n\tdataConfig: ScorecardTableAverageCellConfig;\n\tdata: AnalyticsData[];\n}): number {\n\tconst dataValues = data.filter((datum) => {\n\t\treturn datum.ou === dataConfig.orgUnit?.uid;\n\t});\n\n\treturn meanBy(dataValues, (value) => parseFloat(value.value!));\n}\n\nexport function useOrgUnitAverageCellValue(\n\tdataConfig: ScorecardTableAverageCellConfig,\n) {\n\tconst { data: scorecardEngine } = useScorecardData();\n\tconst [loading, setLoading] = useState<boolean>(false);\n\tconst [average, setAverage] = useState<number | null>(null);\n\n\tuseEffect(() => {\n\t\tsetLoading(true);\n\t\tconst listener: OnCompleteDataEngineListener = (completed) => {\n\t\t\tif (completed) {\n\t\t\t\tsetLoading(false);\n\t\t\t\tsetAverage(\n\t\t\t\t\tgetOrgUnitAverageValues({\n\t\t\t\t\t\tdata: scorecardEngine.data,\n\t\t\t\t\t\tdataConfig,\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t}\n\t\t};\n\t\tif (scorecardEngine.isDone) {\n\t\t\tsetLoading(false);\n\t\t\tsetAverage(\n\t\t\t\tgetOrgUnitAverageValues({\n\t\t\t\t\tdata: scorecardEngine.data,\n\t\t\t\t\tdataConfig,\n\t\t\t\t}),\n\t\t\t);\n\t\t} else {\n\t\t\treturn scorecardEngine.addOnCompleteListener(listener);\n\t\t}\n\t}, [dataConfig]);\n\n\treturn {\n\t\tloading,\n\t\taverage,\n\t};\n}\n"]}
package/dist/esm/index.js CHANGED
@@ -4,5 +4,5 @@ export * from './components';
4
4
  export * from './hooks';
5
5
  export * from './utils';
6
6
  export * from './state';
7
- //# sourceMappingURL=out.js.map
7
+ //# sourceMappingURL=index.js.map
8
8
  //# sourceMappingURL=index.js.map