@hisptz/dhis2-analytics 2.0.14 → 2.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 (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 +8 -1
@@ -0,0 +1,152 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var react = require('react');
5
+ var ui = require('@dhis2/ui');
6
+ var i18n = require('@dhis2/d2-i18n');
7
+ var orgUnit = require('../../../hooks/orgUnit');
8
+ var orgUnits = require('../../../utils/orgUnits');
9
+
10
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
11
+
12
+ var i18n__default = /*#__PURE__*/_interopDefault(i18n);
13
+
14
+ function FurtherAnalysisMenu({
15
+ stateActionRef,
16
+ setStateActionRef,
17
+ orgUnit: orgUnit$1,
18
+ onSelect,
19
+ periodId,
20
+ dataSources
21
+ }) {
22
+ const lowestLevel = orgUnit.useLowestOrgUnitLevel();
23
+ const orgUnitInLowestLevel = react.useMemo(() => {
24
+ return orgUnits.getOrgUnitLevel(orgUnit$1) === lowestLevel?.level;
25
+ }, [lowestLevel, orgUnit$1]);
26
+ const [showSubMenu, setShowSubMenu] = react.useState(false);
27
+ return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsx(
28
+ ui.Popover,
29
+ {
30
+ onClickOutside: () => setStateActionRef(void 0),
31
+ placement: "bottom-start",
32
+ reference: stateActionRef,
33
+ children: /* @__PURE__ */ jsxRuntime.jsxs(ui.Menu, { children: [
34
+ /* @__PURE__ */ jsxRuntime.jsx(
35
+ ui.MenuItem,
36
+ {
37
+ dense: true,
38
+ onClick: () => {
39
+ onSelect({
40
+ periodSelection: {
41
+ periods: [
42
+ {
43
+ id: periodId
44
+ }
45
+ ]
46
+ },
47
+ orgUnitSelection: {
48
+ levels: [],
49
+ groups: [],
50
+ orgUnits: [
51
+ {
52
+ id: orgUnit$1.uid
53
+ }
54
+ ]
55
+ },
56
+ dataSources
57
+ });
58
+ setStateActionRef(void 0);
59
+ },
60
+ label: i18n__default.default.t("Further Analysis"),
61
+ icon: /* @__PURE__ */ jsxRuntime.jsx(ui.IconVisualizationColumnStacked16, {})
62
+ }
63
+ ),
64
+ !orgUnitInLowestLevel && /* @__PURE__ */ jsxRuntime.jsx(
65
+ ui.MenuItem,
66
+ {
67
+ dense: true,
68
+ onClick: () => {
69
+ setStateActionRef(void 0);
70
+ },
71
+ label: i18n__default.default.t("Lower Organisation Unit Levels"),
72
+ icon: /* @__PURE__ */ jsxRuntime.jsx(ui.IconDimensionOrgUnit16, {})
73
+ }
74
+ ),
75
+ /* @__PURE__ */ jsxRuntime.jsxs(
76
+ ui.MenuItem,
77
+ {
78
+ dense: true,
79
+ showSubMenu,
80
+ active: showSubMenu,
81
+ toggleSubMenu: () => {
82
+ setShowSubMenu((prevState) => !prevState);
83
+ },
84
+ label: i18n__default.default.t("Trend Analysis "),
85
+ icon: /* @__PURE__ */ jsxRuntime.jsx(ui.IconVisualizationLine24, {}),
86
+ children: [
87
+ /* @__PURE__ */ jsxRuntime.jsx(
88
+ ui.MenuItem,
89
+ {
90
+ dense: true,
91
+ onClick: () => {
92
+ setStateActionRef(void 0);
93
+ },
94
+ label: i18n__default.default.t("Last 3 Months"),
95
+ icon: /* @__PURE__ */ jsxRuntime.jsx(ui.IconVisualizationColumnStacked24, {})
96
+ }
97
+ ),
98
+ /* @__PURE__ */ jsxRuntime.jsx(
99
+ ui.MenuItem,
100
+ {
101
+ dense: true,
102
+ onClick: () => {
103
+ setStateActionRef(void 0);
104
+ },
105
+ label: i18n__default.default.t("Last 6 Months"),
106
+ icon: /* @__PURE__ */ jsxRuntime.jsx(ui.IconVisualizationColumnStacked24, {})
107
+ }
108
+ ),
109
+ /* @__PURE__ */ jsxRuntime.jsx(
110
+ ui.MenuItem,
111
+ {
112
+ dense: true,
113
+ onClick: () => {
114
+ setStateActionRef(void 0);
115
+ },
116
+ label: i18n__default.default.t("Last 12 Months"),
117
+ icon: /* @__PURE__ */ jsxRuntime.jsx(ui.IconVisualizationColumnStacked24, {})
118
+ }
119
+ ),
120
+ /* @__PURE__ */ jsxRuntime.jsx(
121
+ ui.MenuItem,
122
+ {
123
+ dense: true,
124
+ onClick: () => {
125
+ setStateActionRef(void 0);
126
+ },
127
+ label: i18n__default.default.t("Last 4 Quarters"),
128
+ icon: /* @__PURE__ */ jsxRuntime.jsx(ui.IconVisualizationColumnStacked24, {})
129
+ }
130
+ ),
131
+ /* @__PURE__ */ jsxRuntime.jsx(
132
+ ui.MenuItem,
133
+ {
134
+ dense: true,
135
+ onClick: () => {
136
+ setStateActionRef(void 0);
137
+ },
138
+ label: i18n__default.default.t("Last 5 Years"),
139
+ icon: /* @__PURE__ */ jsxRuntime.jsx(ui.IconVisualizationColumnStacked24, {})
140
+ }
141
+ )
142
+ ]
143
+ }
144
+ )
145
+ ] })
146
+ }
147
+ ) });
148
+ }
149
+
150
+ exports.FurtherAnalysisMenu = FurtherAnalysisMenu;
151
+ //# sourceMappingURL=out.js.map
152
+ //# 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,58 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var ui = require('@dhis2/ui');
5
+ var i18n = require('@dhis2/d2-i18n');
6
+ var react = require('react');
7
+ var FurtherAnalysisVisualization = require('../FurtherAnalysisVisualization');
8
+ var FurtherAnalysisDictionary = require('../FurtherAnalysisDictionary');
9
+
10
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
11
+
12
+ var i18n__default = /*#__PURE__*/_interopDefault(i18n);
13
+
14
+ function FurtherAnalysis({
15
+ hide,
16
+ onClose,
17
+ config
18
+ }) {
19
+ const [activeElement, setActiveElement] = react.useState("visualization");
20
+ return /* @__PURE__ */ jsxRuntime.jsxs(ui.Modal, { onClose, hide, large: true, position: "middle", children: [
21
+ /* @__PURE__ */ jsxRuntime.jsx(ui.ModalTitle, { children: i18n__default.default.t("Further Analysis") }),
22
+ /* @__PURE__ */ jsxRuntime.jsx(ui.ModalContent, { children: /* @__PURE__ */ jsxRuntime.jsx(
23
+ "div",
24
+ {
25
+ style: {
26
+ width: "100%",
27
+ height: "100%",
28
+ flexDirection: "column",
29
+ display: "flex"
30
+ },
31
+ children: /* @__PURE__ */ jsxRuntime.jsxs(
32
+ "div",
33
+ {
34
+ style: {
35
+ flex: 1,
36
+ width: "100%",
37
+ height: "100%"
38
+ },
39
+ children: [
40
+ activeElement === "dictionary" && /* @__PURE__ */ jsxRuntime.jsx(
41
+ FurtherAnalysisDictionary.FurtherAnalysisDictionary,
42
+ {
43
+ config
44
+ }
45
+ ),
46
+ activeElement === "visualization" && /* @__PURE__ */ jsxRuntime.jsx(FurtherAnalysisVisualization.FurtherAnalysisVisualization, { config })
47
+ ]
48
+ }
49
+ )
50
+ }
51
+ ) }),
52
+ /* @__PURE__ */ jsxRuntime.jsx(ui.ModalActions, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { onClick: onClose, children: i18n__default.default.t("Close") }) })
53
+ ] });
54
+ }
55
+
56
+ exports.FurtherAnalysis = FurtherAnalysis;
57
+ //# sourceMappingURL=out.js.map
58
+ //# 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,100 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var ui = require('@dhis2/ui');
5
+ var legends = require('../../../utils/legends');
6
+ var DataValue = require('./DataValue');
7
+ var usehooksTs = require('usehooks-ts');
8
+ var React = require('react');
9
+
10
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
11
+
12
+ var React__default = /*#__PURE__*/_interopDefault(React);
13
+
14
+ function LinkedCellComponent({ top, bottom, ...props }) {
15
+ const [ref, { height, width }] = usehooksTs.useElementSize();
16
+ const {
17
+ legendDefinition: topLegendDefinition,
18
+ dataSource: topDataSource,
19
+ value: topValue
20
+ } = top;
21
+ const {
22
+ legendDefinition: bottomLegendDefinition,
23
+ dataSource: bottomDataSource,
24
+ value: bottomValue
25
+ } = bottom;
26
+ const angle = React.useMemo(() => {
27
+ return Math.tan(height / width);
28
+ }, [height, width]);
29
+ return /* @__PURE__ */ jsxRuntime.jsx(
30
+ ui.DataTableCell,
31
+ {
32
+ ...props,
33
+ ref,
34
+ style: {
35
+ padding: 8,
36
+ minWidth: 120,
37
+ background: `linear-gradient(-${angle}rad, ${bottomLegendDefinition?.color ?? ui.colors.white} 0%, ${bottomLegendDefinition?.color ?? ui.colors.white} 49%, ${ui.colors.white} 49%, ${ui.colors.white} 50%, ${topLegendDefinition?.color ?? ui.colors.white} 50%, ${topLegendDefinition?.color ?? ui.colors.white} 100%)`
38
+ },
39
+ bordered: true,
40
+ children: /* @__PURE__ */ jsxRuntime.jsxs(
41
+ "div",
42
+ {
43
+ style: {
44
+ display: "flex",
45
+ width: "100%",
46
+ height: "100%",
47
+ flexDirection: "column"
48
+ },
49
+ children: [
50
+ /* @__PURE__ */ jsxRuntime.jsx(
51
+ "div",
52
+ {
53
+ style: {
54
+ background: "inherit",
55
+ display: "flex",
56
+ width: "100%",
57
+ alignItems: "flex-start",
58
+ justifyContent: "flex-start",
59
+ color: topLegendDefinition ? legends.getTextColorFromBackgroundColor(
60
+ topLegendDefinition?.color ?? "#FFFFFF"
61
+ ) : void 0
62
+ },
63
+ children: /* @__PURE__ */ jsxRuntime.jsx(DataValue.DataValue, { value: topValue, dataSource: topDataSource })
64
+ }
65
+ ),
66
+ /* @__PURE__ */ jsxRuntime.jsx(
67
+ "div",
68
+ {
69
+ style: {
70
+ background: "inherit",
71
+ display: "flex",
72
+ width: "100%",
73
+ alignItems: "flex-end",
74
+ justifyContent: "flex-end",
75
+ color: bottomLegendDefinition ? legends.getTextColorFromBackgroundColor(
76
+ bottomLegendDefinition?.color ?? "#FFFFFF"
77
+ ) : void 0
78
+ },
79
+ children: /* @__PURE__ */ jsxRuntime.jsx(
80
+ DataValue.DataValue,
81
+ {
82
+ value: bottomValue,
83
+ dataSource: bottomDataSource
84
+ }
85
+ )
86
+ }
87
+ )
88
+ ]
89
+ }
90
+ )
91
+ }
92
+ );
93
+ }
94
+ const LinkedCell = React__default.default.memo(LinkedCellComponent, (prev, next) => {
95
+ return prev.top.value === next.top.value && prev.bottom.value === next.bottom.value;
96
+ });
97
+
98
+ exports.LinkedCell = LinkedCell;
99
+ //# sourceMappingURL=out.js.map
100
+ //# 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,95 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var cellData = require('../../../hooks/cellData');
5
+ var LinkedCell = require('./LinkedCell');
6
+ var react = require('react');
7
+ var FurtherAnalysisMenu = require('./FurtherAnalysisMenu');
8
+ var FurtherAnalysisModal = require('./FurtherAnalysisModal');
9
+
10
+ function LinkedDataCellComponent({
11
+ dataSources,
12
+ orgUnit,
13
+ period
14
+ }) {
15
+ const [furtherAnalysisConfig, setFurtherAnalysisConfig] = react.useState(null);
16
+ const [stateActionRef, setStateActionRef] = react.useState(void 0);
17
+ const [top, bottom] = dataSources ?? [];
18
+ const { legendDefinition: topLegendDefinition } = cellData.useCellData({
19
+ dataSource: top,
20
+ orgUnit,
21
+ period
22
+ });
23
+ const { legendDefinition: bottomLegendDefinition } = cellData.useCellData({
24
+ dataSource: bottom,
25
+ orgUnit,
26
+ period
27
+ });
28
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
29
+ !!furtherAnalysisConfig && /* @__PURE__ */ jsxRuntime.jsx(
30
+ FurtherAnalysisModal.FurtherAnalysis,
31
+ {
32
+ onClose: () => {
33
+ setFurtherAnalysisConfig(null);
34
+ },
35
+ hide: !furtherAnalysisConfig,
36
+ config: furtherAnalysisConfig
37
+ }
38
+ ),
39
+ /* @__PURE__ */ jsxRuntime.jsx(
40
+ LinkedCell.LinkedCell,
41
+ {
42
+ onContextMenu: (e) => {
43
+ e.preventDefault();
44
+ setStateActionRef(e.target);
45
+ },
46
+ onClick: (event) => {
47
+ event.stopPropagation();
48
+ setFurtherAnalysisConfig({
49
+ periodSelection: {
50
+ periods: [
51
+ {
52
+ id: period
53
+ }
54
+ ]
55
+ },
56
+ orgUnitSelection: {
57
+ levels: [],
58
+ groups: [],
59
+ orgUnits: [
60
+ {
61
+ id: orgUnit.uid
62
+ }
63
+ ]
64
+ },
65
+ dataSources
66
+ });
67
+ },
68
+ top: {
69
+ legendDefinition: topLegendDefinition,
70
+ dataSource: top
71
+ },
72
+ bottom: {
73
+ legendDefinition: bottomLegendDefinition,
74
+ dataSource: bottom
75
+ }
76
+ }
77
+ ),
78
+ stateActionRef && /* @__PURE__ */ jsxRuntime.jsx(
79
+ FurtherAnalysisMenu.FurtherAnalysisMenu,
80
+ {
81
+ dataSources,
82
+ onSelect: setFurtherAnalysisConfig,
83
+ stateActionRef,
84
+ setStateActionRef,
85
+ orgUnit,
86
+ periodId: period
87
+ }
88
+ )
89
+ ] });
90
+ }
91
+ const LinkedDataCell = react.memo(LinkedDataCellComponent);
92
+
93
+ exports.LinkedDataCell = LinkedDataCell;
94
+ //# sourceMappingURL=out.js.map
95
+ //# 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,45 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var average = require('../../../hooks/average');
5
+ var LinkedCell = require('./LinkedCell');
6
+
7
+ function LinkedDataFooterCell({
8
+ table,
9
+ column,
10
+ header,
11
+ dataSources
12
+ }) {
13
+ const [top, bottom] = dataSources ?? [];
14
+ const { average: topAverage, legendDefinition: topLegendDefinition } = average.useAverage({
15
+ dataSource: top,
16
+ column,
17
+ header,
18
+ table
19
+ });
20
+ const { average: bottomAverage, legendDefinition: bottomLegendDefinition } = average.useAverage({
21
+ dataSource: bottom,
22
+ column,
23
+ header,
24
+ table
25
+ });
26
+ return /* @__PURE__ */ jsxRuntime.jsx(
27
+ LinkedCell.LinkedCell,
28
+ {
29
+ top: {
30
+ dataSource: top,
31
+ legendDefinition: topLegendDefinition,
32
+ value: topAverage
33
+ },
34
+ bottom: {
35
+ dataSource: bottom,
36
+ legendDefinition: topLegendDefinition,
37
+ value: bottomAverage
38
+ }
39
+ }
40
+ );
41
+ }
42
+
43
+ exports.LinkedDataFooterCell = LinkedDataFooterCell;
44
+ //# sourceMappingURL=out.js.map
45
+ //# 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,20 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var ui = require('@dhis2/ui');
5
+ var i18n = require('@dhis2/d2-i18n');
6
+ var StateProvider = require('../../StateProvider');
7
+
8
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
9
+
10
+ var i18n__default = /*#__PURE__*/_interopDefault(i18n);
11
+
12
+ function MetaFooterCell(props) {
13
+ const state = StateProvider.useScorecardState();
14
+ const itemNumber = state?.options.itemNumber ?? false;
15
+ return /* @__PURE__ */ jsxRuntime.jsx(ui.DataTableCell, { align: "center", colSpan: itemNumber ? "3" : "2", fixed: true, children: /* @__PURE__ */ jsxRuntime.jsx("b", { style: { padding: "8px 0" }, children: i18n__default.default.t("Average") }) });
16
+ }
17
+
18
+ exports.MetaFooterCell = MetaFooterCell;
19
+ //# sourceMappingURL=out.js.map
20
+ //# 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,98 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var react = require('react');
5
+ var lodash = require('lodash');
6
+ var ui = require('@dhis2/ui');
7
+ var legends = require('../../../utils/legends');
8
+ var DataValue = require('./DataValue');
9
+ var cellData = require('../../../hooks/cellData');
10
+ var FurtherAnalysisMenu = require('./FurtherAnalysisMenu');
11
+ var FurtherAnalysisModal = require('./FurtherAnalysisModal');
12
+
13
+ function SingleDataCellComponent({
14
+ dataSources,
15
+ period,
16
+ orgUnit
17
+ }) {
18
+ const [furtherAnalysisConfig, setFurtherAnalysisConfig] = react.useState(null);
19
+ const dataSource = lodash.head(dataSources);
20
+ const [stateActionRef, setStateActionRef] = react.useState(void 0);
21
+ const { legendDefinition } = cellData.useCellData({
22
+ dataSource,
23
+ period,
24
+ orgUnit
25
+ });
26
+ if (!dataSource) {
27
+ return /* @__PURE__ */ jsxRuntime.jsx(ui.DataTableCell, { bordered: true });
28
+ }
29
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
30
+ !!furtherAnalysisConfig && /* @__PURE__ */ jsxRuntime.jsx(
31
+ FurtherAnalysisModal.FurtherAnalysis,
32
+ {
33
+ onClose: () => {
34
+ setFurtherAnalysisConfig(null);
35
+ },
36
+ hide: !furtherAnalysisConfig,
37
+ config: furtherAnalysisConfig
38
+ }
39
+ ),
40
+ /* @__PURE__ */ jsxRuntime.jsx(
41
+ ui.DataTableCell,
42
+ {
43
+ onClick: (event) => {
44
+ event.stopPropagation();
45
+ setFurtherAnalysisConfig({
46
+ periodSelection: {
47
+ periods: [
48
+ {
49
+ id: period
50
+ }
51
+ ]
52
+ },
53
+ orgUnitSelection: {
54
+ levels: [],
55
+ groups: [],
56
+ orgUnits: [
57
+ {
58
+ id: orgUnit.uid
59
+ }
60
+ ]
61
+ },
62
+ dataSources
63
+ });
64
+ },
65
+ onContextMenu: (e) => {
66
+ e.preventDefault();
67
+ setStateActionRef(e.target);
68
+ },
69
+ bordered: true,
70
+ style: {
71
+ background: legendDefinition?.color,
72
+ textAlign: "center",
73
+ minWidth: 100,
74
+ color: legendDefinition ? legends.getTextColorFromBackgroundColor(
75
+ legendDefinition?.color
76
+ ) : void 0
77
+ },
78
+ children: /* @__PURE__ */ jsxRuntime.jsx(DataValue.DataValue, { dataSource })
79
+ }
80
+ ),
81
+ stateActionRef && /* @__PURE__ */ jsxRuntime.jsx(
82
+ FurtherAnalysisMenu.FurtherAnalysisMenu,
83
+ {
84
+ dataSources,
85
+ onSelect: setFurtherAnalysisConfig,
86
+ stateActionRef,
87
+ setStateActionRef,
88
+ orgUnit,
89
+ periodId: period
90
+ }
91
+ )
92
+ ] });
93
+ }
94
+ const SingleDataCell = react.memo(SingleDataCellComponent);
95
+
96
+ exports.SingleDataCell = SingleDataCell;
97
+ //# sourceMappingURL=out.js.map
98
+ //# 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"]}