@hisptz/dhis2-analytics 2.0.14 → 2.0.16

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 (379) hide show
  1. package/dist/components/Scorecard/Scorecard.js +22 -0
  2. package/dist/components/Scorecard/Scorecard.js.map +1 -0
  3. package/dist/components/Scorecard/Scorecard.stories.js +1188 -0
  4. package/dist/components/Scorecard/Scorecard.stories.js.map +1 -0
  5. package/dist/components/Scorecard/components/ConfigProvider.js +17 -0
  6. package/dist/components/Scorecard/components/ConfigProvider.js.map +1 -0
  7. package/dist/components/Scorecard/components/DataProvider.js +39 -0
  8. package/dist/components/Scorecard/components/DataProvider.js.map +1 -0
  9. package/dist/components/Scorecard/components/MetaProvider.js +45 -0
  10. package/dist/components/Scorecard/components/MetaProvider.js.map +1 -0
  11. package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/FurtherAnalysisDictionary.js +29 -0
  12. package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/FurtherAnalysisDictionary.js.map +1 -0
  13. package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/ConfigProvider.js +30 -0
  14. package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/ConfigProvider.js.map +1 -0
  15. package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/DetailsProvider.js +62 -0
  16. package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/DetailsProvider.js.map +1 -0
  17. package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/index.js +14 -0
  18. package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/index.js.map +1 -0
  19. package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisVisualization.js +77 -0
  20. package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisVisualization.js.map +1 -0
  21. package/dist/components/Scorecard/components/ScorecardTable/ScorecardTable.js +42 -0
  22. package/dist/components/Scorecard/components/ScorecardTable/ScorecardTable.js.map +1 -0
  23. package/dist/components/Scorecard/components/ScorecardTable/ScorecardTable.module.css +11 -0
  24. package/dist/components/Scorecard/components/ScorecardTable/ScorecardTable.module.css.map +1 -0
  25. package/dist/components/Scorecard/components/ScorecardTable/components/AverageCell.js +102 -0
  26. package/dist/components/Scorecard/components/ScorecardTable/components/AverageCell.js.map +1 -0
  27. package/dist/components/Scorecard/components/ScorecardTable/components/AverageFooterCell.js +24 -0
  28. package/dist/components/Scorecard/components/ScorecardTable/components/AverageFooterCell.js.map +1 -0
  29. package/dist/components/Scorecard/components/ScorecardTable/components/DataContainer.js +27 -0
  30. package/dist/components/Scorecard/components/ScorecardTable/components/DataContainer.js.map +1 -0
  31. package/dist/components/Scorecard/components/ScorecardTable/components/DataFooterCell.js +50 -0
  32. package/dist/components/Scorecard/components/ScorecardTable/components/DataFooterCell.js.map +1 -0
  33. package/dist/components/Scorecard/components/ScorecardTable/components/DataRow.js +50 -0
  34. package/dist/components/Scorecard/components/ScorecardTable/components/DataRow.js.map +1 -0
  35. package/dist/components/Scorecard/components/ScorecardTable/components/DataValue.js +66 -0
  36. package/dist/components/Scorecard/components/ScorecardTable/components/DataValue.js.map +1 -0
  37. package/dist/components/Scorecard/components/ScorecardTable/components/DraggableCell.js +47 -0
  38. package/dist/components/Scorecard/components/ScorecardTable/components/DraggableCell.js.map +1 -0
  39. package/dist/components/Scorecard/components/ScorecardTable/components/DroppableCell.js +38 -0
  40. package/dist/components/Scorecard/components/ScorecardTable/components/DroppableCell.js.map +1 -0
  41. package/dist/components/Scorecard/components/ScorecardTable/components/EmptyFooterCell.js +12 -0
  42. package/dist/components/Scorecard/components/ScorecardTable/components/EmptyFooterCell.js.map +1 -0
  43. package/dist/components/Scorecard/components/ScorecardTable/components/ExpandedScorecardTable.js +56 -0
  44. package/dist/components/Scorecard/components/ScorecardTable/components/ExpandedScorecardTable.js.map +1 -0
  45. package/dist/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisMenu.js +152 -0
  46. package/dist/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisMenu.js.map +1 -0
  47. package/dist/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisModal.js +58 -0
  48. package/dist/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisModal.js.map +1 -0
  49. package/dist/components/Scorecard/components/ScorecardTable/components/LinkedCell.js +100 -0
  50. package/dist/components/Scorecard/components/ScorecardTable/components/LinkedCell.js.map +1 -0
  51. package/dist/components/Scorecard/components/ScorecardTable/components/LinkedDataCell.js +95 -0
  52. package/dist/components/Scorecard/components/ScorecardTable/components/LinkedDataCell.js.map +1 -0
  53. package/dist/components/Scorecard/components/ScorecardTable/components/LinkedDataFooterCell.js +45 -0
  54. package/dist/components/Scorecard/components/ScorecardTable/components/LinkedDataFooterCell.js.map +1 -0
  55. package/dist/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.js +20 -0
  56. package/dist/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.js.map +1 -0
  57. package/dist/components/Scorecard/components/ScorecardTable/components/SingleDataCell.js +98 -0
  58. package/dist/components/Scorecard/components/ScorecardTable/components/SingleDataCell.js.map +1 -0
  59. package/dist/components/Scorecard/components/ScorecardTable/components/SingleDataFooterCell.js +38 -0
  60. package/dist/components/Scorecard/components/ScorecardTable/components/SingleDataFooterCell.js.map +1 -0
  61. package/dist/components/Scorecard/components/ScorecardTable/components/TableBody.js +15 -0
  62. package/dist/components/Scorecard/components/ScorecardTable/components/TableBody.js.map +1 -0
  63. package/dist/components/Scorecard/components/ScorecardTable/components/TableFoot.js +28 -0
  64. package/dist/components/Scorecard/components/ScorecardTable/components/TableFoot.js.map +1 -0
  65. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.js +20 -0
  66. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.js.map +1 -0
  67. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.module.css +12 -0
  68. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.module.css.map +1 -0
  69. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.js +40 -0
  70. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.js.map +1 -0
  71. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js +62 -0
  72. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js.map +1 -0
  73. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.js +16 -0
  74. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.js.map +1 -0
  75. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/FilterArea.js +37 -0
  76. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/FilterArea.js.map +1 -0
  77. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.js +49 -0
  78. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.js.map +1 -0
  79. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js +63 -0
  80. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js.map +1 -0
  81. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.js +24 -0
  82. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.js.map +1 -0
  83. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/index.js +14 -0
  84. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/index.js.map +1 -0
  85. package/dist/components/Scorecard/components/ScorecardTable/index.js +14 -0
  86. package/dist/components/Scorecard/components/ScorecardTable/index.js.map +1 -0
  87. package/dist/components/Scorecard/components/StateProvider.js +26 -0
  88. package/dist/components/Scorecard/components/StateProvider.js.map +1 -0
  89. package/dist/components/Scorecard/components/StateSetProvider.js +17 -0
  90. package/dist/components/Scorecard/components/StateSetProvider.js.map +1 -0
  91. package/dist/components/Scorecard/components/TableStateProvider.js +26 -0
  92. package/dist/components/Scorecard/components/TableStateProvider.js.map +1 -0
  93. package/dist/components/Scorecard/hooks/average.js +50 -0
  94. package/dist/components/Scorecard/hooks/average.js.map +1 -0
  95. package/dist/components/Scorecard/hooks/cellData.js +36 -0
  96. package/dist/components/Scorecard/hooks/cellData.js.map +1 -0
  97. package/dist/components/Scorecard/hooks/columns.js +150 -0
  98. package/dist/components/Scorecard/hooks/columns.js.map +1 -0
  99. package/dist/components/Scorecard/hooks/data.js +97 -0
  100. package/dist/components/Scorecard/hooks/data.js.map +1 -0
  101. package/dist/components/Scorecard/hooks/metadata.js +95 -0
  102. package/dist/components/Scorecard/hooks/metadata.js.map +1 -0
  103. package/dist/components/Scorecard/hooks/orgUnit.js +17 -0
  104. package/dist/components/Scorecard/hooks/orgUnit.js.map +1 -0
  105. package/dist/components/Scorecard/hooks/period.js +15 -0
  106. package/dist/components/Scorecard/hooks/period.js.map +1 -0
  107. package/dist/components/Scorecard/hooks/table.js +40 -0
  108. package/dist/components/Scorecard/hooks/table.js.map +1 -0
  109. package/dist/components/Scorecard/index.js +21 -0
  110. package/dist/components/Scorecard/index.js.map +1 -0
  111. package/dist/components/Scorecard/schemas/config.js +181 -0
  112. package/dist/components/Scorecard/schemas/config.js.map +1 -0
  113. package/dist/components/Scorecard/utils/analytics.js +27 -0
  114. package/dist/components/Scorecard/utils/analytics.js.map +1 -0
  115. package/dist/components/Scorecard/utils/columns.js +331 -0
  116. package/dist/components/Scorecard/utils/columns.js.map +1 -0
  117. package/dist/components/Scorecard/utils/data.js +147 -0
  118. package/dist/components/Scorecard/utils/data.js.map +1 -0
  119. package/dist/components/Scorecard/utils/dataSources.js +16 -0
  120. package/dist/components/Scorecard/utils/dataSources.js.map +1 -0
  121. package/dist/components/Scorecard/utils/engine.js +20 -0
  122. package/dist/components/Scorecard/utils/engine.js.map +1 -0
  123. package/dist/components/Scorecard/utils/legends.js +118 -0
  124. package/dist/components/Scorecard/utils/legends.js.map +1 -0
  125. package/dist/components/Scorecard/utils/orgUnits.js +40 -0
  126. package/dist/components/Scorecard/utils/orgUnits.js.map +1 -0
  127. package/dist/esm/components/Scorecard/Scorecard.js +20 -0
  128. package/dist/esm/components/Scorecard/Scorecard.js.map +1 -0
  129. package/dist/esm/components/Scorecard/Scorecard.stories.js +1178 -0
  130. package/dist/esm/components/Scorecard/Scorecard.stories.js.map +1 -0
  131. package/dist/esm/components/Scorecard/components/ConfigProvider.js +14 -0
  132. package/dist/esm/components/Scorecard/components/ConfigProvider.js.map +1 -0
  133. package/dist/esm/components/Scorecard/components/DataProvider.js +36 -0
  134. package/dist/esm/components/Scorecard/components/DataProvider.js.map +1 -0
  135. package/dist/esm/components/Scorecard/components/MetaProvider.js +42 -0
  136. package/dist/esm/components/Scorecard/components/MetaProvider.js.map +1 -0
  137. package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/FurtherAnalysisDictionary.js +23 -0
  138. package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/FurtherAnalysisDictionary.js.map +1 -0
  139. package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/ConfigProvider.js +27 -0
  140. package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/ConfigProvider.js.map +1 -0
  141. package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/DetailsProvider.js +55 -0
  142. package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/DetailsProvider.js.map +1 -0
  143. package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/index.js +3 -0
  144. package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/index.js.map +1 -0
  145. package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisVisualization.js +75 -0
  146. package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisVisualization.js.map +1 -0
  147. package/dist/esm/components/Scorecard/components/ScorecardTable/ScorecardTable.js +40 -0
  148. package/dist/esm/components/Scorecard/components/ScorecardTable/ScorecardTable.js.map +1 -0
  149. package/dist/esm/components/Scorecard/components/ScorecardTable/ScorecardTable.module.css +11 -0
  150. package/dist/esm/components/Scorecard/components/ScorecardTable/ScorecardTable.module.css.map +1 -0
  151. package/dist/esm/components/Scorecard/components/ScorecardTable/components/AverageCell.js +98 -0
  152. package/dist/esm/components/Scorecard/components/ScorecardTable/components/AverageCell.js.map +1 -0
  153. package/dist/esm/components/Scorecard/components/ScorecardTable/components/AverageFooterCell.js +22 -0
  154. package/dist/esm/components/Scorecard/components/ScorecardTable/components/AverageFooterCell.js.map +1 -0
  155. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataContainer.js +25 -0
  156. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataContainer.js.map +1 -0
  157. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataFooterCell.js +48 -0
  158. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataFooterCell.js.map +1 -0
  159. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataRow.js +44 -0
  160. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataRow.js.map +1 -0
  161. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataValue.js +64 -0
  162. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataValue.js.map +1 -0
  163. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DraggableCell.js +45 -0
  164. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DraggableCell.js.map +1 -0
  165. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DroppableCell.js +36 -0
  166. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DroppableCell.js.map +1 -0
  167. package/dist/esm/components/Scorecard/components/ScorecardTable/components/EmptyFooterCell.js +10 -0
  168. package/dist/esm/components/Scorecard/components/ScorecardTable/components/EmptyFooterCell.js.map +1 -0
  169. package/dist/esm/components/Scorecard/components/ScorecardTable/components/ExpandedScorecardTable.js +54 -0
  170. package/dist/esm/components/Scorecard/components/ScorecardTable/components/ExpandedScorecardTable.js.map +1 -0
  171. package/dist/esm/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisMenu.js +146 -0
  172. package/dist/esm/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisMenu.js.map +1 -0
  173. package/dist/esm/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisModal.js +52 -0
  174. package/dist/esm/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisModal.js.map +1 -0
  175. package/dist/esm/components/Scorecard/components/ScorecardTable/components/LinkedCell.js +94 -0
  176. package/dist/esm/components/Scorecard/components/ScorecardTable/components/LinkedCell.js.map +1 -0
  177. package/dist/esm/components/Scorecard/components/ScorecardTable/components/LinkedDataCell.js +93 -0
  178. package/dist/esm/components/Scorecard/components/ScorecardTable/components/LinkedDataCell.js.map +1 -0
  179. package/dist/esm/components/Scorecard/components/ScorecardTable/components/LinkedDataFooterCell.js +43 -0
  180. package/dist/esm/components/Scorecard/components/ScorecardTable/components/LinkedDataFooterCell.js.map +1 -0
  181. package/dist/esm/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.js +14 -0
  182. package/dist/esm/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.js.map +1 -0
  183. package/dist/esm/components/Scorecard/components/ScorecardTable/components/SingleDataCell.js +96 -0
  184. package/dist/esm/components/Scorecard/components/ScorecardTable/components/SingleDataCell.js.map +1 -0
  185. package/dist/esm/components/Scorecard/components/ScorecardTable/components/SingleDataFooterCell.js +36 -0
  186. package/dist/esm/components/Scorecard/components/ScorecardTable/components/SingleDataFooterCell.js.map +1 -0
  187. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableBody.js +13 -0
  188. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableBody.js.map +1 -0
  189. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableFoot.js +26 -0
  190. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableFoot.js.map +1 -0
  191. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.js +18 -0
  192. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.js.map +1 -0
  193. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.module.css +12 -0
  194. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.module.css.map +1 -0
  195. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.js +33 -0
  196. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.js.map +1 -0
  197. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js +54 -0
  198. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js.map +1 -0
  199. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.js +14 -0
  200. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.js.map +1 -0
  201. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/FilterArea.js +31 -0
  202. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/FilterArea.js.map +1 -0
  203. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.js +42 -0
  204. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.js.map +1 -0
  205. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js +56 -0
  206. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js.map +1 -0
  207. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.js +22 -0
  208. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.js.map +1 -0
  209. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/index.js +3 -0
  210. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/index.js.map +1 -0
  211. package/dist/esm/components/Scorecard/components/ScorecardTable/index.js +3 -0
  212. package/dist/esm/components/Scorecard/components/ScorecardTable/index.js.map +1 -0
  213. package/dist/esm/components/Scorecard/components/StateProvider.js +23 -0
  214. package/dist/esm/components/Scorecard/components/StateProvider.js.map +1 -0
  215. package/dist/esm/components/Scorecard/components/StateSetProvider.js +14 -0
  216. package/dist/esm/components/Scorecard/components/StateSetProvider.js.map +1 -0
  217. package/dist/esm/components/Scorecard/components/TableStateProvider.js +23 -0
  218. package/dist/esm/components/Scorecard/components/TableStateProvider.js.map +1 -0
  219. package/dist/esm/components/Scorecard/hooks/average.js +48 -0
  220. package/dist/esm/components/Scorecard/hooks/average.js.map +1 -0
  221. package/dist/esm/components/Scorecard/hooks/cellData.js +34 -0
  222. package/dist/esm/components/Scorecard/hooks/cellData.js.map +1 -0
  223. package/dist/esm/components/Scorecard/hooks/columns.js +147 -0
  224. package/dist/esm/components/Scorecard/hooks/columns.js.map +1 -0
  225. package/dist/esm/components/Scorecard/hooks/data.js +95 -0
  226. package/dist/esm/components/Scorecard/hooks/data.js.map +1 -0
  227. package/dist/esm/components/Scorecard/hooks/metadata.js +92 -0
  228. package/dist/esm/components/Scorecard/hooks/metadata.js.map +1 -0
  229. package/dist/esm/components/Scorecard/hooks/orgUnit.js +15 -0
  230. package/dist/esm/components/Scorecard/hooks/orgUnit.js.map +1 -0
  231. package/dist/esm/components/Scorecard/hooks/period.js +13 -0
  232. package/dist/esm/components/Scorecard/hooks/period.js.map +1 -0
  233. package/dist/esm/components/Scorecard/hooks/table.js +38 -0
  234. package/dist/esm/components/Scorecard/hooks/table.js.map +1 -0
  235. package/dist/esm/components/Scorecard/index.js +4 -0
  236. package/dist/esm/components/Scorecard/index.js.map +1 -0
  237. package/dist/esm/components/Scorecard/schemas/config.js +163 -0
  238. package/dist/esm/components/Scorecard/schemas/config.js.map +1 -0
  239. package/dist/esm/components/Scorecard/utils/analytics.js +25 -0
  240. package/dist/esm/components/Scorecard/utils/analytics.js.map +1 -0
  241. package/dist/esm/components/Scorecard/utils/columns.js +326 -0
  242. package/dist/esm/components/Scorecard/utils/columns.js.map +1 -0
  243. package/dist/esm/components/Scorecard/utils/data.js +144 -0
  244. package/dist/esm/components/Scorecard/utils/data.js.map +1 -0
  245. package/dist/esm/components/Scorecard/utils/dataSources.js +13 -0
  246. package/dist/esm/components/Scorecard/utils/dataSources.js.map +1 -0
  247. package/dist/esm/components/Scorecard/utils/engine.js +18 -0
  248. package/dist/esm/components/Scorecard/utils/engine.js.map +1 -0
  249. package/dist/esm/components/Scorecard/utils/legends.js +115 -0
  250. package/dist/esm/components/Scorecard/utils/legends.js.map +1 -0
  251. package/dist/esm/components/Scorecard/utils/orgUnits.js +37 -0
  252. package/dist/esm/components/Scorecard/utils/orgUnits.js.map +1 -0
  253. package/dist/esm/index.js +1 -0
  254. package/dist/esm/index.js.map +1 -1
  255. package/dist/index.js +7 -0
  256. package/dist/index.js.map +1 -1
  257. package/dist/types/components/Scorecard/Scorecard.d.ts +10 -0
  258. package/dist/types/components/Scorecard/Scorecard.d.ts.map +1 -0
  259. package/dist/types/components/Scorecard/components/ConfigProvider.d.ts +125 -0
  260. package/dist/types/components/Scorecard/components/ConfigProvider.d.ts.map +1 -0
  261. package/dist/types/components/Scorecard/components/DataProvider.d.ts +13 -0
  262. package/dist/types/components/Scorecard/components/DataProvider.d.ts.map +1 -0
  263. package/dist/types/components/Scorecard/components/MetaProvider.d.ts +18 -0
  264. package/dist/types/components/Scorecard/components/MetaProvider.d.ts.map +1 -0
  265. package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/FurtherAnalysisDictionary.d.ts +6 -0
  266. package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/FurtherAnalysisDictionary.d.ts.map +1 -0
  267. package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/ConfigProvider.d.ts +12 -0
  268. package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/ConfigProvider.d.ts.map +1 -0
  269. package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/DetailsProvider.d.ts +9 -0
  270. package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/DetailsProvider.d.ts.map +1 -0
  271. package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/index.d.ts +2 -0
  272. package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/index.d.ts.map +1 -0
  273. package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisVisualization.d.ts +6 -0
  274. package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisVisualization.d.ts.map +1 -0
  275. package/dist/types/components/Scorecard/components/ScorecardTable/ScorecardTable.d.ts +2 -0
  276. package/dist/types/components/Scorecard/components/ScorecardTable/ScorecardTable.d.ts.map +1 -0
  277. package/dist/types/components/Scorecard/components/ScorecardTable/components/AverageCell.d.ts +19 -0
  278. package/dist/types/components/Scorecard/components/ScorecardTable/components/AverageCell.d.ts.map +1 -0
  279. package/dist/types/components/Scorecard/components/ScorecardTable/components/AverageFooterCell.d.ts +4 -0
  280. package/dist/types/components/Scorecard/components/ScorecardTable/components/AverageFooterCell.d.ts.map +1 -0
  281. package/dist/types/components/Scorecard/components/ScorecardTable/components/DataContainer.d.ts +7 -0
  282. package/dist/types/components/Scorecard/components/ScorecardTable/components/DataContainer.d.ts.map +1 -0
  283. package/dist/types/components/Scorecard/components/ScorecardTable/components/DataFooterCell.d.ts +4 -0
  284. package/dist/types/components/Scorecard/components/ScorecardTable/components/DataFooterCell.d.ts.map +1 -0
  285. package/dist/types/components/Scorecard/components/ScorecardTable/components/DataRow.d.ts +8 -0
  286. package/dist/types/components/Scorecard/components/ScorecardTable/components/DataRow.d.ts.map +1 -0
  287. package/dist/types/components/Scorecard/components/ScorecardTable/components/DataValue.d.ts +6 -0
  288. package/dist/types/components/Scorecard/components/ScorecardTable/components/DataValue.d.ts.map +1 -0
  289. package/dist/types/components/Scorecard/components/ScorecardTable/components/DraggableCell.d.ts +8 -0
  290. package/dist/types/components/Scorecard/components/ScorecardTable/components/DraggableCell.d.ts.map +1 -0
  291. package/dist/types/components/Scorecard/components/ScorecardTable/components/DroppableCell.d.ts +7 -0
  292. package/dist/types/components/Scorecard/components/ScorecardTable/components/DroppableCell.d.ts.map +1 -0
  293. package/dist/types/components/Scorecard/components/ScorecardTable/components/EmptyFooterCell.d.ts +4 -0
  294. package/dist/types/components/Scorecard/components/ScorecardTable/components/EmptyFooterCell.d.ts.map +1 -0
  295. package/dist/types/components/Scorecard/components/ScorecardTable/components/ExpandedScorecardTable.d.ts +7 -0
  296. package/dist/types/components/Scorecard/components/ScorecardTable/components/ExpandedScorecardTable.d.ts.map +1 -0
  297. package/dist/types/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisMenu.d.ts +15 -0
  298. package/dist/types/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisMenu.d.ts.map +1 -0
  299. package/dist/types/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisModal.d.ts +13 -0
  300. package/dist/types/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisModal.d.ts.map +1 -0
  301. package/dist/types/components/Scorecard/components/ScorecardTable/components/LinkedCell.d.ts +19 -0
  302. package/dist/types/components/Scorecard/components/ScorecardTable/components/LinkedCell.d.ts.map +1 -0
  303. package/dist/types/components/Scorecard/components/ScorecardTable/components/LinkedDataCell.d.ts +14 -0
  304. package/dist/types/components/Scorecard/components/ScorecardTable/components/LinkedDataCell.d.ts.map +1 -0
  305. package/dist/types/components/Scorecard/components/ScorecardTable/components/LinkedDataFooterCell.d.ts +6 -0
  306. package/dist/types/components/Scorecard/components/ScorecardTable/components/LinkedDataFooterCell.d.ts.map +1 -0
  307. package/dist/types/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.d.ts +4 -0
  308. package/dist/types/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.d.ts.map +1 -0
  309. package/dist/types/components/Scorecard/components/ScorecardTable/components/SingleDataCell.d.ts +14 -0
  310. package/dist/types/components/Scorecard/components/ScorecardTable/components/SingleDataCell.d.ts.map +1 -0
  311. package/dist/types/components/Scorecard/components/ScorecardTable/components/SingleDataFooterCell.d.ts +6 -0
  312. package/dist/types/components/Scorecard/components/ScorecardTable/components/SingleDataFooterCell.d.ts.map +1 -0
  313. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableBody.d.ts +2 -0
  314. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableBody.d.ts.map +1 -0
  315. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableFoot.d.ts +2 -0
  316. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableFoot.d.ts.map +1 -0
  317. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.d.ts +2 -0
  318. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.d.ts.map +1 -0
  319. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.d.ts +4 -0
  320. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.d.ts.map +1 -0
  321. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.d.ts +5 -0
  322. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.d.ts.map +1 -0
  323. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.d.ts +4 -0
  324. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.d.ts.map +1 -0
  325. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/FilterArea.d.ts +7 -0
  326. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/FilterArea.d.ts.map +1 -0
  327. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.d.ts +6 -0
  328. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.d.ts.map +1 -0
  329. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.d.ts +7 -0
  330. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.d.ts.map +1 -0
  331. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.d.ts +7 -0
  332. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.d.ts.map +1 -0
  333. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/index.d.ts +2 -0
  334. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/index.d.ts.map +1 -0
  335. package/dist/types/components/Scorecard/components/ScorecardTable/index.d.ts +2 -0
  336. package/dist/types/components/Scorecard/components/ScorecardTable/index.d.ts.map +1 -0
  337. package/dist/types/components/Scorecard/components/StateProvider.d.ts +41 -0
  338. package/dist/types/components/Scorecard/components/StateProvider.d.ts.map +1 -0
  339. package/dist/types/components/Scorecard/components/StateSetProvider.d.ts +9 -0
  340. package/dist/types/components/Scorecard/components/StateSetProvider.d.ts.map +1 -0
  341. package/dist/types/components/Scorecard/components/TableStateProvider.d.ts +55 -0
  342. package/dist/types/components/Scorecard/components/TableStateProvider.d.ts.map +1 -0
  343. package/dist/types/components/Scorecard/hooks/average.d.ts +14 -0
  344. package/dist/types/components/Scorecard/hooks/average.d.ts.map +1 -0
  345. package/dist/types/components/Scorecard/hooks/cellData.d.ts +18 -0
  346. package/dist/types/components/Scorecard/hooks/cellData.d.ts.map +1 -0
  347. package/dist/types/components/Scorecard/hooks/columns.d.ts +54 -0
  348. package/dist/types/components/Scorecard/hooks/columns.d.ts.map +1 -0
  349. package/dist/types/components/Scorecard/hooks/data.d.ts +70 -0
  350. package/dist/types/components/Scorecard/hooks/data.d.ts.map +1 -0
  351. package/dist/types/components/Scorecard/hooks/metadata.d.ts +34 -0
  352. package/dist/types/components/Scorecard/hooks/metadata.d.ts.map +1 -0
  353. package/dist/types/components/Scorecard/hooks/orgUnit.d.ts +5 -0
  354. package/dist/types/components/Scorecard/hooks/orgUnit.d.ts.map +1 -0
  355. package/dist/types/components/Scorecard/hooks/period.d.ts +2 -0
  356. package/dist/types/components/Scorecard/hooks/period.d.ts.map +1 -0
  357. package/dist/types/components/Scorecard/hooks/table.d.ts +4 -0
  358. package/dist/types/components/Scorecard/hooks/table.d.ts.map +1 -0
  359. package/dist/types/components/Scorecard/index.d.ts +3 -0
  360. package/dist/types/components/Scorecard/index.d.ts.map +1 -0
  361. package/dist/types/components/Scorecard/schemas/config.d.ts +2522 -0
  362. package/dist/types/components/Scorecard/schemas/config.d.ts.map +1 -0
  363. package/dist/types/components/Scorecard/utils/analytics.d.ts +10 -0
  364. package/dist/types/components/Scorecard/utils/analytics.d.ts.map +1 -0
  365. package/dist/types/components/Scorecard/utils/columns.d.ts +71 -0
  366. package/dist/types/components/Scorecard/utils/columns.d.ts.map +1 -0
  367. package/dist/types/components/Scorecard/utils/data.d.ts +16 -0
  368. package/dist/types/components/Scorecard/utils/data.d.ts.map +1 -0
  369. package/dist/types/components/Scorecard/utils/dataSources.d.ts +35 -0
  370. package/dist/types/components/Scorecard/utils/dataSources.d.ts.map +1 -0
  371. package/dist/types/components/Scorecard/utils/engine.d.ts +14 -0
  372. package/dist/types/components/Scorecard/utils/engine.d.ts.map +1 -0
  373. package/dist/types/components/Scorecard/utils/legends.d.ts +22 -0
  374. package/dist/types/components/Scorecard/utils/legends.d.ts.map +1 -0
  375. package/dist/types/components/Scorecard/utils/orgUnits.d.ts +7 -0
  376. package/dist/types/components/Scorecard/utils/orgUnits.d.ts.map +1 -0
  377. package/dist/types/index.d.ts +1 -0
  378. package/dist/types/index.d.ts.map +1 -1
  379. package/package.json +10 -3
@@ -0,0 +1,146 @@
1
+ import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
2
+ import { useMemo, useState } from 'react';
3
+ import { Popover, Menu, MenuItem, IconVisualizationColumnStacked16, IconDimensionOrgUnit16, IconVisualizationLine24, IconVisualizationColumnStacked24 } from '@dhis2/ui';
4
+ import i18n from '@dhis2/d2-i18n';
5
+ import { useLowestOrgUnitLevel } from '../../../hooks/orgUnit';
6
+ import { getOrgUnitLevel } from '../../../utils/orgUnits';
7
+
8
+ function FurtherAnalysisMenu({
9
+ stateActionRef,
10
+ setStateActionRef,
11
+ orgUnit,
12
+ onSelect,
13
+ periodId,
14
+ dataSources
15
+ }) {
16
+ const lowestLevel = useLowestOrgUnitLevel();
17
+ const orgUnitInLowestLevel = useMemo(() => {
18
+ return getOrgUnitLevel(orgUnit) === lowestLevel?.level;
19
+ }, [lowestLevel, orgUnit]);
20
+ const [showSubMenu, setShowSubMenu] = useState(false);
21
+ return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(
22
+ Popover,
23
+ {
24
+ onClickOutside: () => setStateActionRef(void 0),
25
+ placement: "bottom-start",
26
+ reference: stateActionRef,
27
+ children: /* @__PURE__ */ jsxs(Menu, { children: [
28
+ /* @__PURE__ */ jsx(
29
+ MenuItem,
30
+ {
31
+ dense: true,
32
+ onClick: () => {
33
+ onSelect({
34
+ periodSelection: {
35
+ periods: [
36
+ {
37
+ id: periodId
38
+ }
39
+ ]
40
+ },
41
+ orgUnitSelection: {
42
+ levels: [],
43
+ groups: [],
44
+ orgUnits: [
45
+ {
46
+ id: orgUnit.uid
47
+ }
48
+ ]
49
+ },
50
+ dataSources
51
+ });
52
+ setStateActionRef(void 0);
53
+ },
54
+ label: i18n.t("Further Analysis"),
55
+ icon: /* @__PURE__ */ jsx(IconVisualizationColumnStacked16, {})
56
+ }
57
+ ),
58
+ !orgUnitInLowestLevel && /* @__PURE__ */ jsx(
59
+ MenuItem,
60
+ {
61
+ dense: true,
62
+ onClick: () => {
63
+ setStateActionRef(void 0);
64
+ },
65
+ label: i18n.t("Lower Organisation Unit Levels"),
66
+ icon: /* @__PURE__ */ jsx(IconDimensionOrgUnit16, {})
67
+ }
68
+ ),
69
+ /* @__PURE__ */ jsxs(
70
+ MenuItem,
71
+ {
72
+ dense: true,
73
+ showSubMenu,
74
+ active: showSubMenu,
75
+ toggleSubMenu: () => {
76
+ setShowSubMenu((prevState) => !prevState);
77
+ },
78
+ label: i18n.t("Trend Analysis "),
79
+ icon: /* @__PURE__ */ jsx(IconVisualizationLine24, {}),
80
+ children: [
81
+ /* @__PURE__ */ jsx(
82
+ MenuItem,
83
+ {
84
+ dense: true,
85
+ onClick: () => {
86
+ setStateActionRef(void 0);
87
+ },
88
+ label: i18n.t("Last 3 Months"),
89
+ icon: /* @__PURE__ */ jsx(IconVisualizationColumnStacked24, {})
90
+ }
91
+ ),
92
+ /* @__PURE__ */ jsx(
93
+ MenuItem,
94
+ {
95
+ dense: true,
96
+ onClick: () => {
97
+ setStateActionRef(void 0);
98
+ },
99
+ label: i18n.t("Last 6 Months"),
100
+ icon: /* @__PURE__ */ jsx(IconVisualizationColumnStacked24, {})
101
+ }
102
+ ),
103
+ /* @__PURE__ */ jsx(
104
+ MenuItem,
105
+ {
106
+ dense: true,
107
+ onClick: () => {
108
+ setStateActionRef(void 0);
109
+ },
110
+ label: i18n.t("Last 12 Months"),
111
+ icon: /* @__PURE__ */ jsx(IconVisualizationColumnStacked24, {})
112
+ }
113
+ ),
114
+ /* @__PURE__ */ jsx(
115
+ MenuItem,
116
+ {
117
+ dense: true,
118
+ onClick: () => {
119
+ setStateActionRef(void 0);
120
+ },
121
+ label: i18n.t("Last 4 Quarters"),
122
+ icon: /* @__PURE__ */ jsx(IconVisualizationColumnStacked24, {})
123
+ }
124
+ ),
125
+ /* @__PURE__ */ jsx(
126
+ MenuItem,
127
+ {
128
+ dense: true,
129
+ onClick: () => {
130
+ setStateActionRef(void 0);
131
+ },
132
+ label: i18n.t("Last 5 Years"),
133
+ icon: /* @__PURE__ */ jsx(IconVisualizationColumnStacked24, {})
134
+ }
135
+ )
136
+ ]
137
+ }
138
+ )
139
+ ] })
140
+ }
141
+ ) });
142
+ }
143
+
144
+ export { FurtherAnalysisMenu };
145
+ //# sourceMappingURL=out.js.map
146
+ //# sourceMappingURL=FurtherAnalysisMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../src/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisMenu.tsx"],"names":[],"mappings":"AAyCE,mBAgCU,KAYP,YA5CH;AAzCF,SAAS,SAAS,gBAAgB;AAClC;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAEM;AACP,OAAO,UAAU;AACjB,SAAS,6BAA6B;AAEtC,SAAS,uBAAuB;AAIzB,SAAS,oBAAoB;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAOG;AACF,QAAM,cAAc,sBAAsB;AAE1C,QAAM,uBAAuB,QAAQ,MAAM;AAC1C,WAAO,gBAAgB,OAAO,MAAM,aAAa;AAAA,EAClD,GAAG,CAAC,aAAa,OAAO,CAAC;AAEzB,QAAM,CAAC,aAAa,cAAc,IAAI,SAAS,KAAK;AACpD,SACC,gCACC;AAAA,IAAC;AAAA;AAAA,MACA,gBAAgB,MAAM,kBAAkB,MAAS;AAAA,MACjD,WAAU;AAAA,MACV,WAAW;AAAA,MAEX,+BAAC,QACA;AAAA;AAAA,UAAC;AAAA;AAAA,YACA,OAAK;AAAA,YACL,SAAS,MAAM;AACd,uBAAS;AAAA,gBACR,iBAAiB;AAAA,kBAChB,SAAS;AAAA,oBACR;AAAA,sBACC,IAAI;AAAA,oBACL;AAAA,kBACD;AAAA,gBACD;AAAA,gBACA,kBAAkB;AAAA,kBACjB,QAAQ,CAAC;AAAA,kBACT,QAAQ,CAAC;AAAA,kBACT,UAAU;AAAA,oBACT;AAAA,sBACC,IAAI,QAAQ;AAAA,oBACb;AAAA,kBACD;AAAA,gBACD;AAAA,gBACA;AAAA,cACD,CAAC;AACD,gCAAkB,MAAS;AAAA,YAC5B;AAAA,YACA,OAAO,KAAK,EAAE,kBAAkB;AAAA,YAChC,MAAM,oBAAC,oCAAiC;AAAA;AAAA,QACzC;AAAA,QACC,CAAC,wBACD;AAAA,UAAC;AAAA;AAAA,YACA,OAAK;AAAA,YACL,SAAS,MAAM;AACd,gCAAkB,MAAS;AAAA,YAC5B;AAAA,YACA,OAAO,KAAK,EAAE,gCAAgC;AAAA,YAC9C,MAAM,oBAAC,0BAAuB;AAAA;AAAA,QAC/B;AAAA,QAED;AAAA,UAAC;AAAA;AAAA,YACA,OAAK;AAAA,YACL;AAAA,YACA,QAAQ;AAAA,YACR,eAAe,MAAM;AACpB,6BAAe,CAAC,cAAc,CAAC,SAAS;AAAA,YACzC;AAAA,YACA,OAAO,KAAK,EAAE,iBAAiB;AAAA,YAC/B,MAAM,oBAAC,2BAAwB;AAAA,YAE/B;AAAA;AAAA,gBAAC;AAAA;AAAA,kBACA,OAAK;AAAA,kBACL,SAAS,MAAM;AACd,sCAAkB,MAAS;AAAA,kBAC5B;AAAA,kBACA,OAAO,KAAK,EAAE,eAAe;AAAA,kBAC7B,MAAM,oBAAC,oCAAiC;AAAA;AAAA,cACzC;AAAA,cACA;AAAA,gBAAC;AAAA;AAAA,kBACA,OAAK;AAAA,kBACL,SAAS,MAAM;AACd,sCAAkB,MAAS;AAAA,kBAC5B;AAAA,kBACA,OAAO,KAAK,EAAE,eAAe;AAAA,kBAC7B,MAAM,oBAAC,oCAAiC;AAAA;AAAA,cACzC;AAAA,cACA;AAAA,gBAAC;AAAA;AAAA,kBACA,OAAK;AAAA,kBACL,SAAS,MAAM;AACd,sCAAkB,MAAS;AAAA,kBAC5B;AAAA,kBACA,OAAO,KAAK,EAAE,gBAAgB;AAAA,kBAC9B,MAAM,oBAAC,oCAAiC;AAAA;AAAA,cACzC;AAAA,cACA;AAAA,gBAAC;AAAA;AAAA,kBACA,OAAK;AAAA,kBACL,SAAS,MAAM;AACd,sCAAkB,MAAS;AAAA,kBAC5B;AAAA,kBACA,OAAO,KAAK,EAAE,iBAAiB;AAAA,kBAC/B,MAAM,oBAAC,oCAAiC;AAAA;AAAA,cACzC;AAAA,cACA;AAAA,gBAAC;AAAA;AAAA,kBACA,OAAK;AAAA,kBACL,SAAS,MAAM;AACd,sCAAkB,MAAS;AAAA,kBAC5B;AAAA,kBACA,OAAO,KAAK,EAAE,cAAc;AAAA,kBAC5B,MAAM,oBAAC,oCAAiC;AAAA;AAAA,cACzC;AAAA;AAAA;AAAA,QACD;AAAA,SACD;AAAA;AAAA,EACD,GACD;AAEF","sourcesContent":["import { useMemo, useState } from \"react\";\nimport {\n\tIconDimensionOrgUnit16,\n\tIconVisualizationColumnStacked16,\n\tIconVisualizationColumnStacked24,\n\tIconVisualizationLine24,\n\tMenu,\n\tMenuItem,\n\tPopover,\n\ttype ReferenceElement,\n} from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { useLowestOrgUnitLevel } from \"../../../hooks/orgUnit\";\nimport type { ItemMeta } from \"../../../hooks/metadata\";\nimport { getOrgUnitLevel } from \"../../../utils/orgUnits\";\nimport type { FurtherAnalysisConfig } from \"./FurtherAnalysisModal\";\nimport type { ScorecardDataSource } from \"../../../schemas/config\";\n\nexport function FurtherAnalysisMenu({\n\tstateActionRef,\n\tsetStateActionRef,\n\torgUnit,\n\tonSelect,\n\tperiodId,\n\tdataSources,\n}: {\n\tstateActionRef: ReferenceElement;\n\tsetStateActionRef: (val: undefined) => void;\n\torgUnit: ItemMeta & { hierarchy: string };\n\tonSelect: (config: FurtherAnalysisConfig) => void;\n\tperiodId: string;\n\tdataSources: ScorecardDataSource[];\n}) {\n\tconst lowestLevel = useLowestOrgUnitLevel();\n\n\tconst orgUnitInLowestLevel = useMemo(() => {\n\t\treturn getOrgUnitLevel(orgUnit) === lowestLevel?.level;\n\t}, [lowestLevel, orgUnit]);\n\n\tconst [showSubMenu, setShowSubMenu] = useState(false);\n\treturn (\n\t\t<>\n\t\t\t<Popover\n\t\t\t\tonClickOutside={() => setStateActionRef(undefined)}\n\t\t\t\tplacement=\"bottom-start\"\n\t\t\t\treference={stateActionRef}\n\t\t\t>\n\t\t\t\t<Menu>\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\tdense\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tonSelect({\n\t\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tid: periodId,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tlabel={i18n.t(\"Further Analysis\")}\n\t\t\t\t\t\ticon={<IconVisualizationColumnStacked16 />}\n\t\t\t\t\t/>\n\t\t\t\t\t{!orgUnitInLowestLevel && (\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={i18n.t(\"Lower Organisation Unit Levels\")}\n\t\t\t\t\t\t\ticon={<IconDimensionOrgUnit16 />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\tdense\n\t\t\t\t\t\tshowSubMenu={showSubMenu}\n\t\t\t\t\t\tactive={showSubMenu}\n\t\t\t\t\t\ttoggleSubMenu={() => {\n\t\t\t\t\t\t\tsetShowSubMenu((prevState) => !prevState);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tlabel={i18n.t(\"Trend Analysis \")}\n\t\t\t\t\t\ticon={<IconVisualizationLine24 />}\n\t\t\t\t\t>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={i18n.t(\"Last 3 Months\")}\n\t\t\t\t\t\t\ticon={<IconVisualizationColumnStacked24 />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={i18n.t(\"Last 6 Months\")}\n\t\t\t\t\t\t\ticon={<IconVisualizationColumnStacked24 />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={i18n.t(\"Last 12 Months\")}\n\t\t\t\t\t\t\ticon={<IconVisualizationColumnStacked24 />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={i18n.t(\"Last 4 Quarters\")}\n\t\t\t\t\t\t\ticon={<IconVisualizationColumnStacked24 />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={i18n.t(\"Last 5 Years\")}\n\t\t\t\t\t\t\ticon={<IconVisualizationColumnStacked24 />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</MenuItem>\n\t\t\t\t</Menu>\n\t\t\t</Popover>\n\t\t</>\n\t);\n}\n"]}
@@ -0,0 +1,52 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { Modal, ModalTitle, ModalContent, ModalActions, Button } from '@dhis2/ui';
3
+ import i18n from '@dhis2/d2-i18n';
4
+ import { useState } from 'react';
5
+ import { FurtherAnalysisVisualization } from '../FurtherAnalysisVisualization';
6
+ import { FurtherAnalysisDictionary } from '../FurtherAnalysisDictionary';
7
+
8
+ function FurtherAnalysis({
9
+ hide,
10
+ onClose,
11
+ config
12
+ }) {
13
+ const [activeElement, setActiveElement] = useState("visualization");
14
+ return /* @__PURE__ */ jsxs(Modal, { onClose, hide, large: true, position: "middle", children: [
15
+ /* @__PURE__ */ jsx(ModalTitle, { children: i18n.t("Further Analysis") }),
16
+ /* @__PURE__ */ jsx(ModalContent, { children: /* @__PURE__ */ jsx(
17
+ "div",
18
+ {
19
+ style: {
20
+ width: "100%",
21
+ height: "100%",
22
+ flexDirection: "column",
23
+ display: "flex"
24
+ },
25
+ children: /* @__PURE__ */ jsxs(
26
+ "div",
27
+ {
28
+ style: {
29
+ flex: 1,
30
+ width: "100%",
31
+ height: "100%"
32
+ },
33
+ children: [
34
+ activeElement === "dictionary" && /* @__PURE__ */ jsx(
35
+ FurtherAnalysisDictionary,
36
+ {
37
+ config
38
+ }
39
+ ),
40
+ activeElement === "visualization" && /* @__PURE__ */ jsx(FurtherAnalysisVisualization, { config })
41
+ ]
42
+ }
43
+ )
44
+ }
45
+ ) }),
46
+ /* @__PURE__ */ jsx(ModalActions, { children: /* @__PURE__ */ jsx(Button, { onClick: onClose, children: i18n.t("Close") }) })
47
+ ] });
48
+ }
49
+
50
+ export { FurtherAnalysis };
51
+ //# sourceMappingURL=out.js.map
52
+ //# sourceMappingURL=FurtherAnalysisModal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../src/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisModal.tsx"],"names":[],"mappings":"AAwCG,cA4BE,YA5BF;AAnCH;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACM;AACP,OAAO,UAAU;AACjB,SAAS,gBAAgB;AACzB,SAAS,oCAAoC;AAC7C,SAAS,iCAAiC;AAcnC,SAAS,gBAAgB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AACD,GAAyB;AACxB,QAAM,CAAC,eAAe,gBAAgB,IAAI,SAExC,eAAe;AAEjB,SACC,qBAAC,SAAM,SAAkB,MAAY,OAAK,MAAC,UAAS,UACnD;AAAA,wBAAC,cAAY,eAAK,EAAE,kBAAkB,GAAE;AAAA,IACxC,oBAAC,gBAmBA;AAAA,MAAC;AAAA;AAAA,QACA,OAAO;AAAA,UACN,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,eAAe;AAAA,UACf,SAAS;AAAA,QACV;AAAA,QAEA;AAAA,UAAC;AAAA;AAAA,YACA,OAAO;AAAA,cACN,MAAM;AAAA,cACN,OAAO;AAAA,cACP,QAAQ;AAAA,YACT;AAAA,YAEC;AAAA,gCAAkB,gBAClB;AAAA,gBAAC;AAAA;AAAA,kBACA;AAAA;AAAA,cACA;AAAA,cAED,kBAAkB,mBAClB,oBAAC,gCAA6B,QAAgB;AAAA;AAAA;AAAA,QAEhD;AAAA;AAAA,IACD,GACD;AAAA,IACA,oBAAC,gBACA,8BAAC,UAAO,SAAS,SAAU,eAAK,EAAE,OAAO,GAAE,GAC5C;AAAA,KACD;AAEF","sourcesContent":["import type {\n\tOrgUnitSelection,\n\tPeriodSelection,\n\tScorecardDataSource,\n} from \"../../../schemas/config\";\nimport {\n\tButton,\n\tModal,\n\tModalActions,\n\tModalContent,\n\tModalTitle,\n} from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { useState } from \"react\";\nimport { FurtherAnalysisVisualization } from \"../FurtherAnalysisVisualization\";\nimport { FurtherAnalysisDictionary } from \"../FurtherAnalysisDictionary\";\n\nexport interface FurtherAnalysisConfig {\n\torgUnitSelection: OrgUnitSelection;\n\tperiodSelection: PeriodSelection;\n\tdataSources: ScorecardDataSource[];\n}\n\nexport interface FurtherAnalysisProps {\n\thide: boolean;\n\tonClose: () => void;\n\tconfig: FurtherAnalysisConfig;\n}\n\nexport function FurtherAnalysis({\n\thide,\n\tonClose,\n\tconfig,\n}: FurtherAnalysisProps) {\n\tconst [activeElement, setActiveElement] = useState<\n\t\t\"visualization\" | \"dictionary\" | undefined\n\t>(\"visualization\");\n\n\treturn (\n\t\t<Modal onClose={onClose} hide={hide} large position=\"middle\">\n\t\t\t<ModalTitle>{i18n.t(\"Further Analysis\")}</ModalTitle>\n\t\t\t<ModalContent>\n\t\t\t\t{/*<SegmentedControl*/}\n\t\t\t\t{/*\toptions={[*/}\n\t\t\t\t{/*\t\t{*/}\n\t\t\t\t{/*\t\t\tvalue: \"visualization\",*/}\n\t\t\t\t{/*\t\t\tlabel: i18n.t(\"Visualization\"),*/}\n\t\t\t\t{/*\t\t},*/}\n\t\t\t\t{/*\t\t{*/}\n\t\t\t\t{/*\t\t\tvalue: \"dictionary\",*/}\n\t\t\t\t{/*\t\t\tlabel: i18n.t(\"Dictionary\"),*/}\n\t\t\t\t{/*\t\t},*/}\n\t\t\t\t{/*\t]}*/}\n\t\t\t\t{/*\tselected={activeElement!}*/}\n\t\t\t\t{/*\tonChange={({ value }) =>*/}\n\t\t\t\t{/*\t\tsetActiveElement(*/}\n\t\t\t\t{/*\t\t\tvalue as \"visualization\" | \"dictionary\",*/}\n\t\t\t\t{/*\t\t)*/}\n\t\t\t\t{/*\t}*/}\n\t\t\t\t{/*/>*/}\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\theight: \"100%\",\n\t\t\t\t\t\tflexDirection: \"column\",\n\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tflex: 1,\n\t\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\t\theight: \"100%\",\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{activeElement === \"dictionary\" && (\n\t\t\t\t\t\t\t<FurtherAnalysisDictionary\n\t\t\t\t\t\t\t\tconfig={config}\n\t\t\t\t\t\t\t></FurtherAnalysisDictionary>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{activeElement === \"visualization\" && (\n\t\t\t\t\t\t\t<FurtherAnalysisVisualization config={config} />\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</ModalContent>\n\t\t\t<ModalActions>\n\t\t\t\t<Button onClick={onClose}>{i18n.t(\"Close\")}</Button>\n\t\t\t</ModalActions>\n\t\t</Modal>\n\t);\n}\n"]}
@@ -0,0 +1,94 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import { DataTableCell, colors } from '@dhis2/ui';
3
+ import { getTextColorFromBackgroundColor } from '../../../utils/legends';
4
+ import { DataValue } from './DataValue';
5
+ import { useElementSize } from 'usehooks-ts';
6
+ import React, { useMemo } from 'react';
7
+
8
+ function LinkedCellComponent({ top, bottom, ...props }) {
9
+ const [ref, { height, width }] = useElementSize();
10
+ const {
11
+ legendDefinition: topLegendDefinition,
12
+ dataSource: topDataSource,
13
+ value: topValue
14
+ } = top;
15
+ const {
16
+ legendDefinition: bottomLegendDefinition,
17
+ dataSource: bottomDataSource,
18
+ value: bottomValue
19
+ } = bottom;
20
+ const angle = useMemo(() => {
21
+ return Math.tan(height / width);
22
+ }, [height, width]);
23
+ return /* @__PURE__ */ jsx(
24
+ DataTableCell,
25
+ {
26
+ ...props,
27
+ ref,
28
+ style: {
29
+ padding: 8,
30
+ minWidth: 120,
31
+ background: `linear-gradient(-${angle}rad, ${bottomLegendDefinition?.color ?? colors.white} 0%, ${bottomLegendDefinition?.color ?? colors.white} 49%, ${colors.white} 49%, ${colors.white} 50%, ${topLegendDefinition?.color ?? colors.white} 50%, ${topLegendDefinition?.color ?? colors.white} 100%)`
32
+ },
33
+ bordered: true,
34
+ children: /* @__PURE__ */ jsxs(
35
+ "div",
36
+ {
37
+ style: {
38
+ display: "flex",
39
+ width: "100%",
40
+ height: "100%",
41
+ flexDirection: "column"
42
+ },
43
+ children: [
44
+ /* @__PURE__ */ jsx(
45
+ "div",
46
+ {
47
+ style: {
48
+ background: "inherit",
49
+ display: "flex",
50
+ width: "100%",
51
+ alignItems: "flex-start",
52
+ justifyContent: "flex-start",
53
+ color: topLegendDefinition ? getTextColorFromBackgroundColor(
54
+ topLegendDefinition?.color ?? "#FFFFFF"
55
+ ) : void 0
56
+ },
57
+ children: /* @__PURE__ */ jsx(DataValue, { value: topValue, dataSource: topDataSource })
58
+ }
59
+ ),
60
+ /* @__PURE__ */ jsx(
61
+ "div",
62
+ {
63
+ style: {
64
+ background: "inherit",
65
+ display: "flex",
66
+ width: "100%",
67
+ alignItems: "flex-end",
68
+ justifyContent: "flex-end",
69
+ color: bottomLegendDefinition ? getTextColorFromBackgroundColor(
70
+ bottomLegendDefinition?.color ?? "#FFFFFF"
71
+ ) : void 0
72
+ },
73
+ children: /* @__PURE__ */ jsx(
74
+ DataValue,
75
+ {
76
+ value: bottomValue,
77
+ dataSource: bottomDataSource
78
+ }
79
+ )
80
+ }
81
+ )
82
+ ]
83
+ }
84
+ )
85
+ }
86
+ );
87
+ }
88
+ const LinkedCell = React.memo(LinkedCellComponent, (prev, next) => {
89
+ return prev.top.value === next.top.value && prev.bottom.value === next.bottom.value;
90
+ });
91
+
92
+ export { LinkedCell };
93
+ //# sourceMappingURL=out.js.map
94
+ //# sourceMappingURL=LinkedCell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../src/components/Scorecard/components/ScorecardTable/components/LinkedCell.tsx"],"names":[],"mappings":"AA8DG,SAsBE,KAtBF;AA9DH,SAAS,QAAQ,qBAAqB;AACtC,SAAS,uCAAuC;AAChD,SAAS,iBAAiB;AAC1B,SAAS,sBAAsB;AAC/B,OAAO,SAAS,eAAe;AAqB/B,SAAS,oBAAoB,EAAE,KAAK,QAAQ,GAAG,MAAM,GAAoB;AACxE,QAAM,CAAC,KAAK,EAAE,QAAQ,MAAM,CAAC,IAAI,eAAe;AAEhD,QAAM;AAAA,IACL,kBAAkB;AAAA,IAClB,YAAY;AAAA,IACZ,OAAO;AAAA,EACR,IAAI;AACJ,QAAM;AAAA,IACL,kBAAkB;AAAA,IAClB,YAAY;AAAA,IACZ,OAAO;AAAA,EACR,IAAI;AAEJ,QAAM,QAAQ,QAAQ,MAAM;AAC3B,WAAO,KAAK,IAAI,SAAS,KAAK;AAAA,EAC/B,GAAG,CAAC,QAAQ,KAAK,CAAC;AAElB,SACC;AAAA,IAAC;AAAA;AAAA,MACC,GAAG;AAAA,MAGJ;AAAA,MACA,OAAO;AAAA,QACN,SAAS;AAAA,QACT,UAAU;AAAA,QACV,YAAY,oBAAoB,KAAK,QACpC,wBAAwB,SAAS,OAAO,KACzC,QAAQ,wBAAwB,SAAS,OAAO,KAAK,SACpD,OAAO,KACR,SAAS,OAAO,KAAK,SACpB,qBAAqB,SAAS,OAAO,KACtC,SAAS,qBAAqB,SAAS,OAAO,KAAK;AAAA,MACpD;AAAA,MACA,UAAQ;AAAA,MAER;AAAA,QAAC;AAAA;AAAA,UACA,OAAO;AAAA,YACN,SAAS;AAAA,YACT,OAAO;AAAA,YACP,QAAQ;AAAA,YACR,eAAe;AAAA,UAChB;AAAA,UAEA;AAAA;AAAA,cAAC;AAAA;AAAA,gBACA,OAAO;AAAA,kBACN,YAAY;AAAA,kBACZ,SAAS;AAAA,kBACT,OAAO;AAAA,kBACP,YAAY;AAAA,kBACZ,gBAAgB;AAAA,kBAChB,OAAO,sBACJ;AAAA,oBACA,qBAAqB,SAAS;AAAA,kBAC/B,IACC;AAAA,gBACJ;AAAA,gBAEA,8BAAC,aAAU,OAAO,UAAU,YAAY,eAAe;AAAA;AAAA,YACxD;AAAA,YACA;AAAA,cAAC;AAAA;AAAA,gBACA,OAAO;AAAA,kBACN,YAAY;AAAA,kBACZ,SAAS;AAAA,kBACT,OAAO;AAAA,kBACP,YAAY;AAAA,kBACZ,gBAAgB;AAAA,kBAChB,OAAO,yBACJ;AAAA,oBACA,wBAAwB,SAAS;AAAA,kBAClC,IACC;AAAA,gBACJ;AAAA,gBAEA;AAAA,kBAAC;AAAA;AAAA,oBACA,OAAO;AAAA,oBACP,YAAY;AAAA;AAAA,gBACb;AAAA;AAAA,YACD;AAAA;AAAA;AAAA,MACD;AAAA;AAAA,EACD;AAEF;AAEO,MAAM,aAAa,MAAM,KAAK,qBAAqB,CAAC,MAAM,SAAS;AACzE,SACC,KAAK,IAAI,UAAU,KAAK,IAAI,SAC5B,KAAK,OAAO,UAAU,KAAK,OAAO;AAEpC,CAAC","sourcesContent":["import { colors, DataTableCell } from \"@dhis2/ui\";\nimport { getTextColorFromBackgroundColor } from \"../../../utils/legends\";\nimport { DataValue } from \"./DataValue\";\nimport { useElementSize } from \"usehooks-ts\";\nimport React, { useMemo } from \"react\";\nimport type {\n\tLegendDefinition,\n\tScorecardTableCellData,\n} from \"../../../schemas/config\";\n\nexport interface LinkedCellProps {\n\ttop: {\n\t\tdataSource: ScorecardTableCellData[\"dataSources\"][number];\n\t\tlegendDefinition?: LegendDefinition;\n\t\tvalue?: number;\n\t};\n\tbottom: {\n\t\tdataSource: ScorecardTableCellData[\"dataSources\"][number];\n\t\tlegendDefinition?: LegendDefinition;\n\t\tvalue?: number;\n\t};\n\n\t[key: string]: unknown;\n}\n\nfunction LinkedCellComponent({ top, bottom, ...props }: LinkedCellProps) {\n\tconst [ref, { height, width }] = useElementSize();\n\n\tconst {\n\t\tlegendDefinition: topLegendDefinition,\n\t\tdataSource: topDataSource,\n\t\tvalue: topValue,\n\t} = top;\n\tconst {\n\t\tlegendDefinition: bottomLegendDefinition,\n\t\tdataSource: bottomDataSource,\n\t\tvalue: bottomValue,\n\t} = bottom;\n\n\tconst angle = useMemo(() => {\n\t\treturn Math.tan(height / width);\n\t}, [height, width]);\n\n\treturn (\n\t\t<DataTableCell\n\t\t\t{...props}\n\t\t\t/*\n // @ts-ignore */\n\t\t\tref={ref}\n\t\t\tstyle={{\n\t\t\t\tpadding: 8,\n\t\t\t\tminWidth: 120,\n\t\t\t\tbackground: `linear-gradient(-${angle}rad, ${\n\t\t\t\t\tbottomLegendDefinition?.color ?? colors.white\n\t\t\t\t} 0%, ${bottomLegendDefinition?.color ?? colors.white} 49%, ${\n\t\t\t\t\tcolors.white\n\t\t\t\t} 49%, ${colors.white} 50%, ${\n\t\t\t\t\ttopLegendDefinition?.color ?? colors.white\n\t\t\t\t} 50%, ${topLegendDefinition?.color ?? colors.white} 100%)`,\n\t\t\t}}\n\t\t\tbordered\n\t\t>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\theight: \"100%\",\n\t\t\t\t\tflexDirection: \"column\",\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tbackground: \"inherit\",\n\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\talignItems: \"flex-start\",\n\t\t\t\t\t\tjustifyContent: \"flex-start\",\n\t\t\t\t\t\tcolor: topLegendDefinition\n\t\t\t\t\t\t\t? getTextColorFromBackgroundColor(\n\t\t\t\t\t\t\t\t\ttopLegendDefinition?.color ?? \"#FFFFFF\",\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<DataValue value={topValue} dataSource={topDataSource} />\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tbackground: \"inherit\",\n\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\talignItems: \"flex-end\",\n\t\t\t\t\t\tjustifyContent: \"flex-end\",\n\t\t\t\t\t\tcolor: bottomLegendDefinition\n\t\t\t\t\t\t\t? getTextColorFromBackgroundColor(\n\t\t\t\t\t\t\t\t\tbottomLegendDefinition?.color ?? \"#FFFFFF\",\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<DataValue\n\t\t\t\t\t\tvalue={bottomValue}\n\t\t\t\t\t\tdataSource={bottomDataSource}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</DataTableCell>\n\t);\n}\n\nexport const LinkedCell = React.memo(LinkedCellComponent, (prev, next) => {\n\treturn (\n\t\tprev.top.value === next.top.value &&\n\t\tprev.bottom.value === next.bottom.value\n\t);\n});\n"]}
@@ -0,0 +1,93 @@
1
+ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
+ import { useCellData } from '../../../hooks/cellData';
3
+ import { LinkedCell } from './LinkedCell';
4
+ import { memo, useState } from 'react';
5
+ import { FurtherAnalysisMenu } from './FurtherAnalysisMenu';
6
+ import { FurtherAnalysis } from './FurtherAnalysisModal';
7
+
8
+ function LinkedDataCellComponent({
9
+ dataSources,
10
+ orgUnit,
11
+ period
12
+ }) {
13
+ const [furtherAnalysisConfig, setFurtherAnalysisConfig] = useState(null);
14
+ const [stateActionRef, setStateActionRef] = useState(void 0);
15
+ const [top, bottom] = dataSources ?? [];
16
+ const { legendDefinition: topLegendDefinition } = useCellData({
17
+ dataSource: top,
18
+ orgUnit,
19
+ period
20
+ });
21
+ const { legendDefinition: bottomLegendDefinition } = useCellData({
22
+ dataSource: bottom,
23
+ orgUnit,
24
+ period
25
+ });
26
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
27
+ !!furtherAnalysisConfig && /* @__PURE__ */ jsx(
28
+ FurtherAnalysis,
29
+ {
30
+ onClose: () => {
31
+ setFurtherAnalysisConfig(null);
32
+ },
33
+ hide: !furtherAnalysisConfig,
34
+ config: furtherAnalysisConfig
35
+ }
36
+ ),
37
+ /* @__PURE__ */ jsx(
38
+ LinkedCell,
39
+ {
40
+ onContextMenu: (e) => {
41
+ e.preventDefault();
42
+ setStateActionRef(e.target);
43
+ },
44
+ onClick: (event) => {
45
+ event.stopPropagation();
46
+ setFurtherAnalysisConfig({
47
+ periodSelection: {
48
+ periods: [
49
+ {
50
+ id: period
51
+ }
52
+ ]
53
+ },
54
+ orgUnitSelection: {
55
+ levels: [],
56
+ groups: [],
57
+ orgUnits: [
58
+ {
59
+ id: orgUnit.uid
60
+ }
61
+ ]
62
+ },
63
+ dataSources
64
+ });
65
+ },
66
+ top: {
67
+ legendDefinition: topLegendDefinition,
68
+ dataSource: top
69
+ },
70
+ bottom: {
71
+ legendDefinition: bottomLegendDefinition,
72
+ dataSource: bottom
73
+ }
74
+ }
75
+ ),
76
+ stateActionRef && /* @__PURE__ */ jsx(
77
+ FurtherAnalysisMenu,
78
+ {
79
+ dataSources,
80
+ onSelect: setFurtherAnalysisConfig,
81
+ stateActionRef,
82
+ setStateActionRef,
83
+ orgUnit,
84
+ periodId: period
85
+ }
86
+ )
87
+ ] });
88
+ }
89
+ const LinkedDataCell = memo(LinkedDataCellComponent);
90
+
91
+ export { LinkedDataCell };
92
+ //# sourceMappingURL=out.js.map
93
+ //# sourceMappingURL=LinkedDataCell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../src/components/Scorecard/components/ScorecardTable/components/LinkedDataCell.tsx"],"names":[],"mappings":"AAuCE,mBAEE,KAFF;AArCF,SAAS,mBAAmB;AAC5B,SAAS,kBAAkB;AAC3B,SAAS,MAAM,gBAAgB;AAC/B,SAAS,2BAA2B;AACpC;AAAA,EACC;AAAA,OAEM;AAQP,SAAS,wBAAwB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AACD,GAAwB;AACvB,QAAM,CAAC,uBAAuB,wBAAwB,IACrD,SAAuC,IAAI;AAC5C,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAAS,MAAS;AAE9D,QAAM,CAAC,KAAK,MAAM,IAAI,eAAe,CAAC;AACtC,QAAM,EAAE,kBAAkB,oBAAoB,IAAI,YAAY;AAAA,IAC7D,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,EACD,CAAC;AACD,QAAM,EAAE,kBAAkB,uBAAuB,IAAI,YAAY;AAAA,IAChE,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,EACD,CAAC;AAED,SACC,iCACE;AAAA,KAAC,CAAC,yBACF;AAAA,MAAC;AAAA;AAAA,QACA,SAAS,MAAM;AACd,mCAAyB,IAAI;AAAA,QAC9B;AAAA,QACA,MAAM,CAAC;AAAA,QACP,QAAQ;AAAA;AAAA,IACT;AAAA,IAED;AAAA,MAAC;AAAA;AAAA,QACA,eAAe,CAAC,MAAW;AAC1B,YAAE,eAAe;AACjB,4BAAkB,EAAE,MAAM;AAAA,QAC3B;AAAA,QACA,SAAS,CAAC,UAAsB;AAC/B,gBAAM,gBAAgB;AACtB,mCAAyB;AAAA,YACxB,iBAAiB;AAAA,cAChB,SAAS;AAAA,gBACR;AAAA,kBACC,IAAI;AAAA,gBACL;AAAA,cACD;AAAA,YACD;AAAA,YACA,kBAAkB;AAAA,cACjB,QAAQ,CAAC;AAAA,cACT,QAAQ,CAAC;AAAA,cACT,UAAU;AAAA,gBACT;AAAA,kBACC,IAAI,QAAQ;AAAA,gBACb;AAAA,cACD;AAAA,YACD;AAAA,YACA;AAAA,UACD,CAAC;AAAA,QACF;AAAA,QACA,KAAK;AAAA,UACJ,kBAAkB;AAAA,UAClB,YAAY;AAAA,QACb;AAAA,QACA,QAAQ;AAAA,UACP,kBAAkB;AAAA,UAClB,YAAY;AAAA,QACb;AAAA;AAAA,IACD;AAAA,IACC,kBACA;AAAA,MAAC;AAAA;AAAA,QACA;AAAA,QACA,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU;AAAA;AAAA,IACX;AAAA,KAEF;AAEF;AAEO,MAAM,iBAAiB,KAAK,uBAAuB","sourcesContent":["import type { ScorecardTableCellData } from \"../../../schemas/config\";\nimport type { ItemMeta } from \"../../../hooks/metadata\";\nimport { useCellData } from \"../../../hooks/cellData\";\nimport { LinkedCell } from \"./LinkedCell\";\nimport { memo, useState } from \"react\";\nimport { FurtherAnalysisMenu } from \"./FurtherAnalysisMenu\";\nimport {\n\tFurtherAnalysis,\n\ttype FurtherAnalysisConfig,\n} from \"./FurtherAnalysisModal\";\n\nexport interface LinkedDataCellProps {\n\tdataSources: ScorecardTableCellData[\"dataSources\"];\n\torgUnit: ItemMeta & { hierarchy: string };\n\tperiod: string;\n}\n\nfunction LinkedDataCellComponent({\n\tdataSources,\n\torgUnit,\n\tperiod,\n}: LinkedDataCellProps) {\n\tconst [furtherAnalysisConfig, setFurtherAnalysisConfig] =\n\t\tuseState<FurtherAnalysisConfig | null>(null);\n\tconst [stateActionRef, setStateActionRef] = useState(undefined);\n\n\tconst [top, bottom] = dataSources ?? [];\n\tconst { legendDefinition: topLegendDefinition } = useCellData({\n\t\tdataSource: top,\n\t\torgUnit,\n\t\tperiod,\n\t});\n\tconst { legendDefinition: bottomLegendDefinition } = useCellData({\n\t\tdataSource: bottom,\n\t\torgUnit,\n\t\tperiod,\n\t});\n\n\treturn (\n\t\t<>\n\t\t\t{!!furtherAnalysisConfig && (\n\t\t\t\t<FurtherAnalysis\n\t\t\t\t\tonClose={() => {\n\t\t\t\t\t\tsetFurtherAnalysisConfig(null);\n\t\t\t\t\t}}\n\t\t\t\t\thide={!furtherAnalysisConfig}\n\t\t\t\t\tconfig={furtherAnalysisConfig}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t<LinkedCell\n\t\t\t\tonContextMenu={(e: any) => {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tsetStateActionRef(e.target);\n\t\t\t\t}}\n\t\t\t\tonClick={(event: MouseEvent) => {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\tsetFurtherAnalysisConfig({\n\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tid: period,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t},\n\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdataSources,\n\t\t\t\t\t});\n\t\t\t\t}}\n\t\t\t\ttop={{\n\t\t\t\t\tlegendDefinition: topLegendDefinition,\n\t\t\t\t\tdataSource: top,\n\t\t\t\t}}\n\t\t\t\tbottom={{\n\t\t\t\t\tlegendDefinition: bottomLegendDefinition,\n\t\t\t\t\tdataSource: bottom,\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t{stateActionRef && (\n\t\t\t\t<FurtherAnalysisMenu\n\t\t\t\t\tdataSources={dataSources}\n\t\t\t\t\tonSelect={setFurtherAnalysisConfig}\n\t\t\t\t\tstateActionRef={stateActionRef}\n\t\t\t\t\tsetStateActionRef={setStateActionRef}\n\t\t\t\t\torgUnit={orgUnit}\n\t\t\t\t\tperiodId={period}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</>\n\t);\n}\n\nexport const LinkedDataCell = memo(LinkedDataCellComponent);\n"]}
@@ -0,0 +1,43 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { useAverage } from '../../../hooks/average';
3
+ import { LinkedCell } from './LinkedCell';
4
+
5
+ function LinkedDataFooterCell({
6
+ table,
7
+ column,
8
+ header,
9
+ dataSources
10
+ }) {
11
+ const [top, bottom] = dataSources ?? [];
12
+ const { average: topAverage, legendDefinition: topLegendDefinition } = useAverage({
13
+ dataSource: top,
14
+ column,
15
+ header,
16
+ table
17
+ });
18
+ const { average: bottomAverage, legendDefinition: bottomLegendDefinition } = useAverage({
19
+ dataSource: bottom,
20
+ column,
21
+ header,
22
+ table
23
+ });
24
+ return /* @__PURE__ */ jsx(
25
+ LinkedCell,
26
+ {
27
+ top: {
28
+ dataSource: top,
29
+ legendDefinition: topLegendDefinition,
30
+ value: topAverage
31
+ },
32
+ bottom: {
33
+ dataSource: bottom,
34
+ legendDefinition: topLegendDefinition,
35
+ value: bottomAverage
36
+ }
37
+ }
38
+ );
39
+ }
40
+
41
+ export { LinkedDataFooterCell };
42
+ //# sourceMappingURL=out.js.map
43
+ //# sourceMappingURL=LinkedDataFooterCell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../src/components/Scorecard/components/ScorecardTable/components/LinkedDataFooterCell.tsx"],"names":[],"mappings":"AAkCE;AA7BF,SAAS,kBAAkB;AAC3B,SAAS,kBAAkB;AAEpB,SAAS,qBAAqB;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAEG;AACF,QAAM,CAAC,KAAK,MAAM,IAAI,eAAe,CAAC;AAEtC,QAAM,EAAE,SAAS,YAAY,kBAAkB,oBAAoB,IAClE,WAAW;AAAA,IACV,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAC;AACF,QAAM,EAAE,SAAS,eAAe,kBAAkB,uBAAuB,IACxE,WAAW;AAAA,IACV,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAC;AAEF,SACC;AAAA,IAAC;AAAA;AAAA,MACA,KAAK;AAAA,QACJ,YAAY;AAAA,QACZ,kBAAkB;AAAA,QAClB,OAAO;AAAA,MACR;AAAA,MACA,QAAQ;AAAA,QACP,YAAY;AAAA,QACZ,kBAAkB;AAAA,QAClB,OAAO;AAAA,MACR;AAAA;AAAA,EACD;AAEF","sourcesContent":["import type { HeaderContext } from \"@tanstack/react-table\";\nimport type {\n\tScorecardTableCellData,\n\tScorecardTableData,\n} from \"../../../schemas/config\";\nimport { useAverage } from \"../../../hooks/average\";\nimport { LinkedCell } from \"./LinkedCell\";\n\nexport function LinkedDataFooterCell({\n\ttable,\n\tcolumn,\n\theader,\n\tdataSources,\n}: HeaderContext<ScorecardTableData, ScorecardTableCellData> & {\n\tdataSources: ScorecardTableCellData[\"dataSources\"];\n}) {\n\tconst [top, bottom] = dataSources ?? [];\n\n\tconst { average: topAverage, legendDefinition: topLegendDefinition } =\n\t\tuseAverage({\n\t\t\tdataSource: top,\n\t\t\tcolumn,\n\t\t\theader,\n\t\t\ttable,\n\t\t});\n\tconst { average: bottomAverage, legendDefinition: bottomLegendDefinition } =\n\t\tuseAverage({\n\t\t\tdataSource: bottom,\n\t\t\tcolumn,\n\t\t\theader,\n\t\t\ttable,\n\t\t});\n\n\treturn (\n\t\t<LinkedCell\n\t\t\ttop={{\n\t\t\t\tdataSource: top,\n\t\t\t\tlegendDefinition: topLegendDefinition,\n\t\t\t\tvalue: topAverage,\n\t\t\t}}\n\t\t\tbottom={{\n\t\t\t\tdataSource: bottom,\n\t\t\t\tlegendDefinition: topLegendDefinition,\n\t\t\t\tvalue: bottomAverage,\n\t\t\t}}\n\t\t/>\n\t);\n}\n"]}
@@ -0,0 +1,14 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { DataTableCell } from '@dhis2/ui';
3
+ import i18n from '@dhis2/d2-i18n';
4
+ import { useScorecardState } from '../../StateProvider';
5
+
6
+ function MetaFooterCell(props) {
7
+ const state = useScorecardState();
8
+ const itemNumber = state?.options.itemNumber ?? false;
9
+ return /* @__PURE__ */ jsx(DataTableCell, { align: "center", colSpan: itemNumber ? "3" : "2", fixed: true, children: /* @__PURE__ */ jsx("b", { style: { padding: "8px 0" }, children: i18n.t("Average") }) });
10
+ }
11
+
12
+ export { MetaFooterCell };
13
+ //# sourceMappingURL=out.js.map
14
+ //# sourceMappingURL=MetaFooterCell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../src/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.tsx"],"names":[],"mappings":"AAcG;AAdH,SAAS,qBAAqB;AAG9B,OAAO,UAAU;AACjB,SAAS,yBAAyB;AAE3B,SAAS,eACf,OACC;AACD,QAAM,QAAQ,kBAAkB;AAChC,QAAM,aAAa,OAAO,QAAQ,cAAc;AAEhD,SACC,oBAAC,iBAAc,OAAM,UAAS,SAAS,aAAa,MAAM,KAAK,OAAK,MACnE,8BAAC,OAAE,OAAO,EAAE,SAAS,QAAQ,GAAI,eAAK,EAAE,SAAS,GAAE,GACpD;AAEF","sourcesContent":["import { DataTableCell } from \"@dhis2/ui\";\nimport type { HeaderContext } from \"@tanstack/react-table\";\nimport type { ScorecardTableData } from \"../../../schemas/config\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { useScorecardState } from \"../../StateProvider\";\n\nexport function MetaFooterCell(\n\tprops: HeaderContext<ScorecardTableData, unknown>,\n) {\n\tconst state = useScorecardState();\n\tconst itemNumber = state?.options.itemNumber ?? false;\n\n\treturn (\n\t\t<DataTableCell align=\"center\" colSpan={itemNumber ? \"3\" : \"2\"} fixed>\n\t\t\t<b style={{ padding: \"8px 0\" }}>{i18n.t(\"Average\")}</b>\n\t\t</DataTableCell>\n\t);\n}\n"]}
@@ -0,0 +1,96 @@
1
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
+ import { memo, useState } from 'react';
3
+ import { head } from 'lodash';
4
+ import { DataTableCell } from '@dhis2/ui';
5
+ import { getTextColorFromBackgroundColor } from '../../../utils/legends';
6
+ import { DataValue } from './DataValue';
7
+ import { useCellData } from '../../../hooks/cellData';
8
+ import { FurtherAnalysisMenu } from './FurtherAnalysisMenu';
9
+ import { FurtherAnalysis } from './FurtherAnalysisModal';
10
+
11
+ function SingleDataCellComponent({
12
+ dataSources,
13
+ period,
14
+ orgUnit
15
+ }) {
16
+ const [furtherAnalysisConfig, setFurtherAnalysisConfig] = useState(null);
17
+ const dataSource = head(dataSources);
18
+ const [stateActionRef, setStateActionRef] = useState(void 0);
19
+ const { legendDefinition } = useCellData({
20
+ dataSource,
21
+ period,
22
+ orgUnit
23
+ });
24
+ if (!dataSource) {
25
+ return /* @__PURE__ */ jsx(DataTableCell, { bordered: true });
26
+ }
27
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
28
+ !!furtherAnalysisConfig && /* @__PURE__ */ jsx(
29
+ FurtherAnalysis,
30
+ {
31
+ onClose: () => {
32
+ setFurtherAnalysisConfig(null);
33
+ },
34
+ hide: !furtherAnalysisConfig,
35
+ config: furtherAnalysisConfig
36
+ }
37
+ ),
38
+ /* @__PURE__ */ jsx(
39
+ DataTableCell,
40
+ {
41
+ onClick: (event) => {
42
+ event.stopPropagation();
43
+ setFurtherAnalysisConfig({
44
+ periodSelection: {
45
+ periods: [
46
+ {
47
+ id: period
48
+ }
49
+ ]
50
+ },
51
+ orgUnitSelection: {
52
+ levels: [],
53
+ groups: [],
54
+ orgUnits: [
55
+ {
56
+ id: orgUnit.uid
57
+ }
58
+ ]
59
+ },
60
+ dataSources
61
+ });
62
+ },
63
+ onContextMenu: (e) => {
64
+ e.preventDefault();
65
+ setStateActionRef(e.target);
66
+ },
67
+ bordered: true,
68
+ style: {
69
+ background: legendDefinition?.color,
70
+ textAlign: "center",
71
+ minWidth: 100,
72
+ color: legendDefinition ? getTextColorFromBackgroundColor(
73
+ legendDefinition?.color
74
+ ) : void 0
75
+ },
76
+ children: /* @__PURE__ */ jsx(DataValue, { dataSource })
77
+ }
78
+ ),
79
+ stateActionRef && /* @__PURE__ */ jsx(
80
+ FurtherAnalysisMenu,
81
+ {
82
+ dataSources,
83
+ onSelect: setFurtherAnalysisConfig,
84
+ stateActionRef,
85
+ setStateActionRef,
86
+ orgUnit,
87
+ periodId: period
88
+ }
89
+ )
90
+ ] });
91
+ }
92
+ const SingleDataCell = memo(SingleDataCellComponent);
93
+
94
+ export { SingleDataCell };
95
+ //# sourceMappingURL=out.js.map
96
+ //# sourceMappingURL=SingleDataCell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../src/components/Scorecard/components/ScorecardTable/components/SingleDataCell.tsx"],"names":[],"mappings":"AAsCS,SAIP,UAJO,KAIP,YAJO;AApCT,SAAS,MAAsB,gBAAgB;AAC/C,SAAS,YAAY;AACrB,SAAS,qBAAqB;AAC9B,SAAS,uCAAuC;AAChD,SAAS,iBAAiB;AAC1B,SAAS,mBAAmB;AAC5B,SAAS,2BAA2B;AACpC;AAAA,EACC;AAAA,OAEM;AAQP,SAAS,wBAAwB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AACD,GAAmC;AAClC,QAAM,CAAC,uBAAuB,wBAAwB,IACrD,SAAuC,IAAI;AAE5C,QAAM,aAAa,KAAK,WAAW;AACnC,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAAS,MAAS;AAE9D,QAAM,EAAE,iBAAiB,IAAI,YAAY;AAAA,IACxC;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAC;AAED,MAAI,CAAC,YAAY;AAChB,WAAO,oBAAC,iBAAc,UAAQ,MAAC;AAAA,EAChC;AAEA,SACC,iCACE;AAAA,KAAC,CAAC,yBACF;AAAA,MAAC;AAAA;AAAA,QACA,SAAS,MAAM;AACd,mCAAyB,IAAI;AAAA,QAC9B;AAAA,QACA,MAAM,CAAC;AAAA,QACP,QAAQ;AAAA;AAAA,IACT;AAAA,IAED;AAAA,MAAC;AAAA;AAAA,QACA,SAAS,CAAC,UAAU;AACnB,gBAAM,gBAAgB;AACtB,mCAAyB;AAAA,YACxB,iBAAiB;AAAA,cAChB,SAAS;AAAA,gBACR;AAAA,kBACC,IAAI;AAAA,gBACL;AAAA,cACD;AAAA,YACD;AAAA,YACA,kBAAkB;AAAA,cACjB,QAAQ,CAAC;AAAA,cACT,QAAQ,CAAC;AAAA,cACT,UAAU;AAAA,gBACT;AAAA,kBACC,IAAI,QAAQ;AAAA,gBACb;AAAA,cACD;AAAA,YACD;AAAA,YACA;AAAA,UACD,CAAC;AAAA,QACF;AAAA,QACA,eAAe,CAAC,MAAW;AAC1B,YAAE,eAAe;AACjB,4BAAkB,EAAE,MAAM;AAAA,QAC3B;AAAA,QACA,UAAQ;AAAA,QACR,OAAO;AAAA,UACN,YAAY,kBAAkB;AAAA,UAC9B,WAAW;AAAA,UACX,UAAU;AAAA,UACV,OAAO,mBACJ;AAAA,YACA,kBAAkB;AAAA,UACnB,IACC;AAAA,QACJ;AAAA,QAEA,8BAAC,aAAU,YAAwB;AAAA;AAAA,IACpC;AAAA,IAEC,kBACA;AAAA,MAAC;AAAA;AAAA,QACA;AAAA,QACA,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU;AAAA;AAAA,IACX;AAAA,KAEF;AAEF;AAEO,MAAM,iBAAiB,KAAK,uBAAuB","sourcesContent":["import { type ScorecardTableCellData } from \"../../../schemas/config\";\nimport { type ItemMeta } from \"../../../hooks/metadata\";\nimport { memo, type ReactNode, useState } from \"react\";\nimport { head } from \"lodash\";\nimport { DataTableCell } from \"@dhis2/ui\";\nimport { getTextColorFromBackgroundColor } from \"../../../utils/legends\";\nimport { DataValue } from \"./DataValue\";\nimport { useCellData } from \"../../../hooks/cellData\";\nimport { FurtherAnalysisMenu } from \"./FurtherAnalysisMenu\";\nimport {\n\tFurtherAnalysis,\n\ttype FurtherAnalysisConfig,\n} from \"./FurtherAnalysisModal\";\n\nexport interface SingleDataCellProps {\n\tdataSources: ScorecardTableCellData[\"dataSources\"];\n\torgUnit: ItemMeta & { hierarchy: string };\n\tperiod: string;\n}\n\nfunction SingleDataCellComponent({\n\tdataSources,\n\tperiod,\n\torgUnit,\n}: SingleDataCellProps): ReactNode {\n\tconst [furtherAnalysisConfig, setFurtherAnalysisConfig] =\n\t\tuseState<FurtherAnalysisConfig | null>(null);\n\n\tconst dataSource = head(dataSources);\n\tconst [stateActionRef, setStateActionRef] = useState(undefined);\n\n\tconst { legendDefinition } = useCellData({\n\t\tdataSource,\n\t\tperiod,\n\t\torgUnit,\n\t});\n\n\tif (!dataSource) {\n\t\treturn <DataTableCell bordered />;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{!!furtherAnalysisConfig && (\n\t\t\t\t<FurtherAnalysis\n\t\t\t\t\tonClose={() => {\n\t\t\t\t\t\tsetFurtherAnalysisConfig(null);\n\t\t\t\t\t}}\n\t\t\t\t\thide={!furtherAnalysisConfig}\n\t\t\t\t\tconfig={furtherAnalysisConfig}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t<DataTableCell\n\t\t\t\tonClick={(event) => {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\tsetFurtherAnalysisConfig({\n\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tid: period,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t},\n\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdataSources,\n\t\t\t\t\t});\n\t\t\t\t}}\n\t\t\t\tonContextMenu={(e: any) => {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tsetStateActionRef(e.target);\n\t\t\t\t}}\n\t\t\t\tbordered\n\t\t\t\tstyle={{\n\t\t\t\t\tbackground: legendDefinition?.color,\n\t\t\t\t\ttextAlign: \"center\",\n\t\t\t\t\tminWidth: 100,\n\t\t\t\t\tcolor: legendDefinition\n\t\t\t\t\t\t? getTextColorFromBackgroundColor(\n\t\t\t\t\t\t\t\tlegendDefinition?.color,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t: undefined,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<DataValue dataSource={dataSource} />\n\t\t\t</DataTableCell>\n\n\t\t\t{stateActionRef && (\n\t\t\t\t<FurtherAnalysisMenu\n\t\t\t\t\tdataSources={dataSources}\n\t\t\t\t\tonSelect={setFurtherAnalysisConfig}\n\t\t\t\t\tstateActionRef={stateActionRef}\n\t\t\t\t\tsetStateActionRef={setStateActionRef}\n\t\t\t\t\torgUnit={orgUnit}\n\t\t\t\t\tperiodId={period}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</>\n\t);\n}\n\nexport const SingleDataCell = memo(SingleDataCellComponent);\n"]}
@@ -0,0 +1,36 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { DataTableCell } from '@dhis2/ui';
3
+ import { getTextColorFromBackgroundColor } from '../../../utils/legends';
4
+ import { useAverage } from '../../../hooks/average';
5
+
6
+ function SingleDataFooterCell({
7
+ dataSource,
8
+ table,
9
+ column,
10
+ header
11
+ }) {
12
+ const { legendDefinition, average } = useAverage({
13
+ dataSource,
14
+ table,
15
+ column,
16
+ header
17
+ });
18
+ return /* @__PURE__ */ jsx(
19
+ DataTableCell,
20
+ {
21
+ bordered: true,
22
+ style: {
23
+ background: legendDefinition?.color,
24
+ textAlign: "center",
25
+ minWidth: 100,
26
+ color: legendDefinition ? getTextColorFromBackgroundColor(legendDefinition?.color) : void 0
27
+ },
28
+ align: "center",
29
+ children: /* @__PURE__ */ jsx("b", { children: average })
30
+ }
31
+ );
32
+ }
33
+
34
+ export { SingleDataFooterCell };
35
+ //# sourceMappingURL=out.js.map
36
+ //# sourceMappingURL=SingleDataFooterCell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../src/components/Scorecard/components/ScorecardTable/components/SingleDataFooterCell.tsx"],"names":[],"mappings":"AAqCG;AArCH,SAAS,qBAAqB;AAM9B,SAAS,uCAAuC;AAChD,SAAS,kBAAkB;AAEpB,SAAS,qBAAqB;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAEG;AACF,QAAM,EAAE,kBAAkB,QAAQ,IAAI,WAAW;AAAA,IAChD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAC;AAED,SACC;AAAA,IAAC;AAAA;AAAA,MACA,UAAQ;AAAA,MACR,OAAO;AAAA,QACN,YAAY,kBAAkB;AAAA,QAC9B,WAAW;AAAA,QACX,UAAU;AAAA,QACV,OAAO,mBACJ,gCAAgC,kBAAkB,KAAK,IACvD;AAAA,MACJ;AAAA,MACA,OAAM;AAAA,MAEN,8BAAC,OAAG,mBAAQ;AAAA;AAAA,EACb;AAEF","sourcesContent":["import { DataTableCell } from \"@dhis2/ui\";\nimport type { HeaderContext } from \"@tanstack/react-table\";\nimport type {\n\tScorecardTableCellData,\n\tScorecardTableData,\n} from \"../../../schemas/config\";\nimport { getTextColorFromBackgroundColor } from \"../../../utils/legends\";\nimport { useAverage } from \"../../../hooks/average\";\n\nexport function SingleDataFooterCell({\n\tdataSource,\n\ttable,\n\tcolumn,\n\theader,\n}: HeaderContext<ScorecardTableData, ScorecardTableCellData> & {\n\tdataSource: ScorecardTableCellData[\"dataSources\"][number];\n}) {\n\tconst { legendDefinition, average } = useAverage({\n\t\tdataSource,\n\t\ttable,\n\t\tcolumn,\n\t\theader,\n\t});\n\n\treturn (\n\t\t<DataTableCell\n\t\t\tbordered\n\t\t\tstyle={{\n\t\t\t\tbackground: legendDefinition?.color,\n\t\t\t\ttextAlign: \"center\",\n\t\t\t\tminWidth: 100,\n\t\t\t\tcolor: legendDefinition\n\t\t\t\t\t? getTextColorFromBackgroundColor(legendDefinition?.color)\n\t\t\t\t\t: undefined,\n\t\t\t}}\n\t\t\talign=\"center\"\n\t\t>\n\t\t\t<b>{average}</b>\n\t\t</DataTableCell>\n\t);\n}\n"]}