@hisptz/dhis2-analytics 2.1.28 → 2.1.30

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 (220) hide show
  1. package/dist/components/ChartAnalytics/DHIS2Chart.js.map +1 -1
  2. package/dist/components/ChartAnalytics/components/DownloadMenu/components/Menu.js.map +1 -1
  3. package/dist/components/ChartAnalytics/components/DownloadMenu/constants/menu.js.map +1 -1
  4. package/dist/components/ChartAnalytics/components/DownloadMenu/index.js.map +1 -1
  5. package/dist/components/ChartAnalytics/hooks/useChart.js.map +1 -1
  6. package/dist/components/ChartAnalytics/models/area.js.map +1 -1
  7. package/dist/components/ChartAnalytics/models/bar.js.map +1 -1
  8. package/dist/components/ChartAnalytics/models/column.js.map +1 -1
  9. package/dist/components/ChartAnalytics/models/gauge.js.map +1 -1
  10. package/dist/components/ChartAnalytics/models/index.js.map +1 -1
  11. package/dist/components/ChartAnalytics/models/line.js.map +1 -1
  12. package/dist/components/ChartAnalytics/models/multi-series.js.map +1 -1
  13. package/dist/components/ChartAnalytics/models/pie.js.map +1 -1
  14. package/dist/components/ChartAnalytics/models/radar.js.map +1 -1
  15. package/dist/components/ChartAnalytics/models/scatter.js.map +1 -1
  16. package/dist/components/ChartAnalytics/services/export.js.map +1 -1
  17. package/dist/components/ChartAnalytics/utils/chart.js.map +1 -1
  18. package/dist/components/CircularProgressDashboard/CircularProgressIndicator.js.map +1 -1
  19. package/dist/components/DHIS2PivotTable/DHIS2PivotTable.js.map +1 -1
  20. package/dist/components/DHIS2PivotTable/components/Table/index.js.map +1 -1
  21. package/dist/components/DHIS2PivotTable/components/TableBody/index.js.map +1 -1
  22. package/dist/components/DHIS2PivotTable/components/TableHeaders/index.js.map +1 -1
  23. package/dist/components/DHIS2PivotTable/services/engine.js.map +1 -1
  24. package/dist/components/DHIS2PivotTable/state/engine.js.map +1 -1
  25. package/dist/components/DHIS2PivotTable/utils/color.js.map +1 -1
  26. package/dist/components/Map/DHIS2Map.js.map +1 -1
  27. package/dist/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfigModal.js.map +1 -1
  28. package/dist/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfiguration.js.map +1 -1
  29. package/dist/components/Map/components/EarthEngineLayerConfiguration/components/AggregationSelector.js.map +1 -1
  30. package/dist/components/Map/components/EarthEngineLayerConfiguration/components/ColorConfig.js.map +1 -1
  31. package/dist/components/Map/components/EarthEngineLayerConfiguration/components/Name.js.map +1 -1
  32. package/dist/components/Map/components/EarthEngineLayerConfiguration/components/PeriodSelector.js.map +1 -1
  33. package/dist/components/Map/components/EarthEngineLayerConfiguration/components/StylesConfig.js.map +1 -1
  34. package/dist/components/Map/components/EarthEngineLayerConfiguration/components/TypeField.js.map +1 -1
  35. package/dist/components/Map/components/EarthEngineLayerConfiguration/hooks/data.js.map +1 -1
  36. package/dist/components/Map/components/MapArea/index.js.map +1 -1
  37. package/dist/components/Map/components/MapControls/components/CustomControl/index.js.map +1 -1
  38. package/dist/components/Map/components/MapControls/components/DownloadControl/index.js.map +1 -1
  39. package/dist/components/Map/components/MapControls/components/FullscreenControl/index.js.map +1 -1
  40. package/dist/components/Map/components/MapControls/index.js.map +1 -1
  41. package/dist/components/Map/components/MapLayer/components/BoundaryLayer/hooks/useBoundaryData.js.map +1 -1
  42. package/dist/components/Map/components/MapLayer/components/BoundaryLayer/index.js.map +1 -1
  43. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/components/EarthEngineLegend.js.map +1 -1
  44. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/constants/index.js.map +1 -1
  45. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/hooks/index.js.map +1 -1
  46. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/index.js.map +1 -1
  47. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/services/api.js +22 -22
  48. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/services/api.js.map +1 -1
  49. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/services/engine.js.map +1 -1
  50. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/utils/index.js.map +1 -1
  51. package/dist/components/Map/components/MapLayer/components/LegendArea/components/LegendCardHeader/index.js.map +1 -1
  52. package/dist/components/Map/components/MapLayer/components/LegendArea/index.js.map +1 -1
  53. package/dist/components/Map/components/MapLayer/components/PointLayer/components/PointLegend/index.js.map +1 -1
  54. package/dist/components/Map/components/MapLayer/components/PointLayer/hooks/index.js.map +1 -1
  55. package/dist/components/Map/components/MapLayer/components/PointLayer/index.js.map +1 -1
  56. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubble.js.map +1 -1
  57. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubbles.js.map +1 -1
  58. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/index.js.map +1 -1
  59. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/index.js.map +1 -1
  60. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.js +56 -2
  61. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.js.map +1 -1
  62. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/index.js.map +1 -1
  63. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/CustomTooltip/index.js.map +1 -1
  64. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/LabelMarker/index.js.map +1 -1
  65. package/dist/components/Map/components/MapLayer/components/ThematicLayer/hooks/config.js.map +1 -1
  66. package/dist/components/Map/components/MapLayer/components/ThematicLayer/index.js.map +1 -1
  67. package/dist/components/Map/components/MapLayer/components/ThematicLayer/utils/label.js.map +1 -1
  68. package/dist/components/Map/components/MapLayer/index.js.map +1 -1
  69. package/dist/components/Map/components/MapLayer/interfaces/index.js.map +1 -1
  70. package/dist/components/Map/components/MapProvider/components/MapLayerProvider/hooks/index.js +1 -1
  71. package/dist/components/Map/components/MapProvider/components/MapLayerProvider/hooks/index.js.map +1 -1
  72. package/dist/components/Map/components/MapProvider/components/MapLayerProvider/index.js.map +1 -1
  73. package/dist/components/Map/components/MapProvider/hooks/index.js.map +1 -1
  74. package/dist/components/Map/components/MapProvider/index.js +1 -1
  75. package/dist/components/Map/components/MapProvider/index.js.map +1 -1
  76. package/dist/components/Map/components/MapTitle/index.js.map +1 -1
  77. package/dist/components/Map/components/MapUpdater/index.js.map +1 -1
  78. package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfigModal.js.map +1 -1
  79. package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfiguration.js.map +1 -1
  80. package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/components/ColorScale/index.js.map +1 -1
  81. package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/constants/colors.js.map +1 -1
  82. package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/index.js.map +1 -1
  83. package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/utils/colors.js.map +1 -1
  84. package/dist/components/Map/components/ThematicLayerConfiguration/components/CustomLegend/index.js.map +1 -1
  85. package/dist/components/Map/components/ThematicLayerConfiguration/components/IndicatorSelectorModal/index.js.map +1 -1
  86. package/dist/components/Map/components/ThematicLayerConfiguration/components/LegendSetSelector/index.js.map +1 -1
  87. package/dist/components/Map/components/ThematicLayerConfiguration/components/RadiusField.js.map +1 -1
  88. package/dist/components/Map/components/ThematicLayerConfiguration/components/TypeField.js.map +1 -1
  89. package/dist/components/Map/constants/colors.js.map +1 -1
  90. package/dist/components/Map/constants/legendSet.js.map +1 -1
  91. package/dist/components/Map/hooks/map.js.map +1 -1
  92. package/dist/components/Map/state/index.js.map +1 -1
  93. package/dist/components/Map/utils/colors.js.map +1 -1
  94. package/dist/components/Map/utils/helpers.js.map +1 -1
  95. package/dist/components/Map/utils/map.js.map +1 -1
  96. package/dist/components/SingleValueContainer/SingleValueVisualizer.js.map +1 -1
  97. package/dist/components/SingleValueContainer/components/SingleValueItem/SingleValueItem.js.map +1 -1
  98. package/dist/components/SingleValueContainer/components/SingleValueItem/SingleValuePercentage.js.map +1 -1
  99. package/dist/components/Visualization/components/AnalyticsDataProvider/index.js.map +1 -1
  100. package/dist/components/Visualization/components/DimensionsProvider/index.js.map +1 -1
  101. package/dist/components/Visualization/components/LayoutProvider/index.js.map +1 -1
  102. package/dist/components/Visualization/components/VisualizationDimensionSelector/index.js.map +1 -1
  103. package/dist/components/Visualization/components/VisualizationProvider/index.js.map +1 -1
  104. package/dist/components/Visualization/components/VisualizationSelector/index.js.map +1 -1
  105. package/dist/components/Visualization/components/VisualizationTypeProvider/index.js.map +1 -1
  106. package/dist/components/Visualization/components/VisualizationTypeSelector/index.js.map +1 -1
  107. package/dist/components/Visualization/index.js.map +1 -1
  108. package/dist/esm/components/ChartAnalytics/DHIS2Chart.js.map +1 -1
  109. package/dist/esm/components/ChartAnalytics/components/DownloadMenu/components/Menu.js.map +1 -1
  110. package/dist/esm/components/ChartAnalytics/components/DownloadMenu/constants/menu.js.map +1 -1
  111. package/dist/esm/components/ChartAnalytics/components/DownloadMenu/index.js.map +1 -1
  112. package/dist/esm/components/ChartAnalytics/hooks/useChart.js.map +1 -1
  113. package/dist/esm/components/ChartAnalytics/models/area.js.map +1 -1
  114. package/dist/esm/components/ChartAnalytics/models/bar.js.map +1 -1
  115. package/dist/esm/components/ChartAnalytics/models/column.js.map +1 -1
  116. package/dist/esm/components/ChartAnalytics/models/gauge.js.map +1 -1
  117. package/dist/esm/components/ChartAnalytics/models/index.js.map +1 -1
  118. package/dist/esm/components/ChartAnalytics/models/line.js.map +1 -1
  119. package/dist/esm/components/ChartAnalytics/models/multi-series.js.map +1 -1
  120. package/dist/esm/components/ChartAnalytics/models/pie.js.map +1 -1
  121. package/dist/esm/components/ChartAnalytics/models/radar.js.map +1 -1
  122. package/dist/esm/components/ChartAnalytics/models/scatter.js.map +1 -1
  123. package/dist/esm/components/ChartAnalytics/services/export.js.map +1 -1
  124. package/dist/esm/components/ChartAnalytics/utils/chart.js.map +1 -1
  125. package/dist/esm/components/CircularProgressDashboard/CircularProgressIndicator.js.map +1 -1
  126. package/dist/esm/components/DHIS2PivotTable/DHIS2PivotTable.js.map +1 -1
  127. package/dist/esm/components/DHIS2PivotTable/components/Table/index.js.map +1 -1
  128. package/dist/esm/components/DHIS2PivotTable/components/TableBody/index.js.map +1 -1
  129. package/dist/esm/components/DHIS2PivotTable/components/TableHeaders/index.js.map +1 -1
  130. package/dist/esm/components/DHIS2PivotTable/services/engine.js.map +1 -1
  131. package/dist/esm/components/DHIS2PivotTable/state/engine.js.map +1 -1
  132. package/dist/esm/components/DHIS2PivotTable/utils/color.js.map +1 -1
  133. package/dist/esm/components/Map/DHIS2Map.js.map +1 -1
  134. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfigModal.js.map +1 -1
  135. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfiguration.js.map +1 -1
  136. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/AggregationSelector.js.map +1 -1
  137. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/ColorConfig.js.map +1 -1
  138. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/Name.js.map +1 -1
  139. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/PeriodSelector.js.map +1 -1
  140. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/StylesConfig.js.map +1 -1
  141. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/TypeField.js.map +1 -1
  142. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/hooks/data.js.map +1 -1
  143. package/dist/esm/components/Map/components/MapArea/index.js.map +1 -1
  144. package/dist/esm/components/Map/components/MapControls/components/CustomControl/index.js.map +1 -1
  145. package/dist/esm/components/Map/components/MapControls/components/DownloadControl/index.js.map +1 -1
  146. package/dist/esm/components/Map/components/MapControls/components/FullscreenControl/index.js.map +1 -1
  147. package/dist/esm/components/Map/components/MapControls/index.js.map +1 -1
  148. package/dist/esm/components/Map/components/MapLayer/components/BoundaryLayer/hooks/useBoundaryData.js.map +1 -1
  149. package/dist/esm/components/Map/components/MapLayer/components/BoundaryLayer/index.js.map +1 -1
  150. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/components/EarthEngineLegend.js.map +1 -1
  151. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/constants/index.js.map +1 -1
  152. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/hooks/index.js.map +1 -1
  153. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/index.js.map +1 -1
  154. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/services/api.js +22 -22
  155. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/services/api.js.map +1 -1
  156. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/services/engine.js.map +1 -1
  157. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/utils/index.js.map +1 -1
  158. package/dist/esm/components/Map/components/MapLayer/components/LegendArea/components/LegendCardHeader/index.js.map +1 -1
  159. package/dist/esm/components/Map/components/MapLayer/components/LegendArea/index.js.map +1 -1
  160. package/dist/esm/components/Map/components/MapLayer/components/PointLayer/components/PointLegend/index.js.map +1 -1
  161. package/dist/esm/components/Map/components/MapLayer/components/PointLayer/hooks/index.js.map +1 -1
  162. package/dist/esm/components/Map/components/MapLayer/components/PointLayer/index.js.map +1 -1
  163. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubble.js.map +1 -1
  164. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubbles.js.map +1 -1
  165. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/index.js.map +1 -1
  166. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/index.js.map +1 -1
  167. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.js +56 -2
  168. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.js.map +1 -1
  169. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/index.js.map +1 -1
  170. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/CustomTooltip/index.js.map +1 -1
  171. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/LabelMarker/index.js.map +1 -1
  172. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/hooks/config.js.map +1 -1
  173. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/index.js.map +1 -1
  174. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/utils/label.js.map +1 -1
  175. package/dist/esm/components/Map/components/MapLayer/index.js.map +1 -1
  176. package/dist/esm/components/Map/components/MapLayer/interfaces/index.js.map +1 -1
  177. package/dist/esm/components/Map/components/MapProvider/components/MapLayerProvider/hooks/index.js +1 -1
  178. package/dist/esm/components/Map/components/MapProvider/components/MapLayerProvider/hooks/index.js.map +1 -1
  179. package/dist/esm/components/Map/components/MapProvider/components/MapLayerProvider/index.js.map +1 -1
  180. package/dist/esm/components/Map/components/MapProvider/hooks/index.js.map +1 -1
  181. package/dist/esm/components/Map/components/MapProvider/index.js +1 -1
  182. package/dist/esm/components/Map/components/MapProvider/index.js.map +1 -1
  183. package/dist/esm/components/Map/components/MapTitle/index.js.map +1 -1
  184. package/dist/esm/components/Map/components/MapUpdater/index.js.map +1 -1
  185. package/dist/esm/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfigModal.js.map +1 -1
  186. package/dist/esm/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfiguration.js.map +1 -1
  187. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/components/ColorScale/index.js.map +1 -1
  188. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/constants/colors.js.map +1 -1
  189. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/index.js.map +1 -1
  190. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/utils/colors.js.map +1 -1
  191. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/CustomLegend/index.js.map +1 -1
  192. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/IndicatorSelectorModal/index.js.map +1 -1
  193. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/LegendSetSelector/index.js.map +1 -1
  194. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/RadiusField.js.map +1 -1
  195. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/TypeField.js.map +1 -1
  196. package/dist/esm/components/Map/constants/colors.js.map +1 -1
  197. package/dist/esm/components/Map/constants/legendSet.js.map +1 -1
  198. package/dist/esm/components/Map/hooks/map.js.map +1 -1
  199. package/dist/esm/components/Map/state/index.js.map +1 -1
  200. package/dist/esm/components/Map/utils/colors.js.map +1 -1
  201. package/dist/esm/components/Map/utils/helpers.js.map +1 -1
  202. package/dist/esm/components/Map/utils/map.js.map +1 -1
  203. package/dist/esm/components/SingleValueContainer/SingleValueVisualizer.js.map +1 -1
  204. package/dist/esm/components/SingleValueContainer/components/SingleValueItem/SingleValueItem.js.map +1 -1
  205. package/dist/esm/components/SingleValueContainer/components/SingleValueItem/SingleValuePercentage.js.map +1 -1
  206. package/dist/esm/components/Visualization/components/AnalyticsDataProvider/index.js.map +1 -1
  207. package/dist/esm/components/Visualization/components/DimensionsProvider/index.js.map +1 -1
  208. package/dist/esm/components/Visualization/components/LayoutProvider/index.js.map +1 -1
  209. package/dist/esm/components/Visualization/components/VisualizationDimensionSelector/index.js.map +1 -1
  210. package/dist/esm/components/Visualization/components/VisualizationProvider/index.js.map +1 -1
  211. package/dist/esm/components/Visualization/components/VisualizationSelector/index.js.map +1 -1
  212. package/dist/esm/components/Visualization/components/VisualizationTypeProvider/index.js.map +1 -1
  213. package/dist/esm/components/Visualization/components/VisualizationTypeSelector/index.js.map +1 -1
  214. package/dist/esm/components/Visualization/index.js.map +1 -1
  215. package/dist/package.json +63 -0
  216. package/dist/types/components/ChartAnalytics/services/export.d.ts.map +1 -1
  217. package/dist/types/components/DHIS2PivotTable/components/TableHeaders/index.d.ts.map +1 -1
  218. package/dist/types/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.d.ts +1 -0
  219. package/dist/types/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.d.ts.map +1 -1
  220. package/package.json +6 -4
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/Map/utils/map.ts"],"names":["legend"],"mappings":"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","file":"map.js","sourcesContent":["import type {\n\tLegend,\n\tOrganisationUnit,\n\tOrgUnitSelection,\n} from \"@hisptz/dhis2-utils\";\nimport { LeafletMouseEvent } from \"leaflet\";\nimport {\n\tcompact,\n\tfilter,\n\tfind,\n\tforEach,\n\tisEmpty,\n\tisString,\n\tsortBy,\n} from \"lodash\";\nimport {\n\tdefaultClasses,\n\tdefaultColorScaleName,\n\tgetColorPalette,\n} from \"./colors.js\";\n\nexport function highlightFeature(e: LeafletMouseEvent, style: any) {\n\tconst layer = e.target;\n\tlayer.setStyle(style);\n\t// layer.bringToFront();\n}\n\nexport function resetHighlight(e: LeafletMouseEvent, defaultStyle: any) {\n\tconst layer = e.target;\n\tlayer.setStyle(defaultStyle);\n\t// layer.bringToBack();\n}\n\nexport function getColorFromLegendSet(\n\tlegends: Legend[],\n\tvalue?: number,\n): string {\n\tif (!value) {\n\t\treturn \"transparent\";\n\t}\n\tconst legend: any =\n\t\tfind(\n\t\t\tlegends ?? [],\n\t\t\t(legend: any) =>\n\t\t\t\tlegend?.startValue <= value && legend?.endValue >= value,\n\t\t) ?? {};\n\treturn legend.color ? legend.color : \"transparent\";\n}\n\nexport function getLegendCount(legend: any, data: any) {\n\tconst { startValue, endValue } = legend;\n\treturn filter(data, (d: any) => d.data >= startValue && d.data <= endValue)\n\t\t.length;\n}\n\nexport function getOrgUnitsSelection(orgUnitSelection: OrgUnitSelection) {\n\tconst orgUnits = [];\n\tif (orgUnitSelection.userOrgUnit) {\n\t\torgUnits.push(\"USER_ORGUNIT\");\n\t}\n\n\tif (orgUnitSelection.userSubUnit) {\n\t\torgUnits.push(\"USER_ORGUNIT_CHILDREN\");\n\t}\n\n\tif (orgUnitSelection.userSubX2Unit) {\n\t\torgUnits.push(\"USER_ORGUNIT_GRANDCHILDREN\");\n\t}\n\tif (!isEmpty(orgUnitSelection.levels)) {\n\t\tforEach(orgUnitSelection.levels, (level) =>\n\t\t\torgUnits.push(`LEVEL-${level}`),\n\t\t);\n\t}\n\n\treturn [\n\t\t...orgUnits,\n\t\t...(orgUnitSelection?.orgUnits?.map(\n\t\t\t(ou: OrganisationUnit) => `${ou.id}`,\n\t\t) ?? []),\n\t];\n}\n\nexport function sanitizeOrgUnits(metaData: any) {\n\tif (metaData) {\n\t\treturn metaData?.dimensions?.ou?.map((ouId: string) => ({\n\t\t\tid: ouId,\n\t\t\tname: metaData?.items[ouId]?.name,\n\t\t\tpath: metaData?.ouHierarchy?.[ouId],\n\t\t}));\n\t}\n\treturn [];\n}\n\nexport function toGeoJson(organisationUnits: any) {\n\treturn sortBy(organisationUnits, \"le\").map((ou: any) => {\n\t\ttry {\n\t\t\tconst coord = JSON.parse(ou.co);\n\t\t\tlet gpid = \"\";\n\t\t\tlet gppg = \"\";\n\t\t\tlet type = \"Point\";\n\n\t\t\tif (ou.ty === 2) {\n\t\t\t\ttype = \"Polygon\";\n\t\t\t\tif (ou.co.substring(0, 4) === \"[[[[\") {\n\t\t\t\t\ttype = \"MultiPolygon\";\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Grand parent\n\t\t\tif (isString(ou.pg) && ou.pg.length) {\n\t\t\t\tconst ids = compact(ou.pg.split(\"/\"));\n\n\t\t\t\t// Grand parent id\n\t\t\t\tif (ids.length >= 2) {\n\t\t\t\t\tgpid = ids[ids.length - 2] as string;\n\t\t\t\t}\n\n\t\t\t\t// Grand parent parent graph\n\t\t\t\tif (ids.length > 2) {\n\t\t\t\t\tgppg = \"/\" + ids.slice(0, ids.length - 2).join(\"/\");\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\ttype: \"Feature\",\n\t\t\t\tid: ou.id,\n\t\t\t\tgeometry: {\n\t\t\t\t\ttype,\n\t\t\t\t\tcoordinates: coord,\n\t\t\t\t},\n\t\t\t\tproperties: {\n\t\t\t\t\ttype,\n\t\t\t\t\tid: ou.id,\n\t\t\t\t\tname: ou.na,\n\t\t\t\t\thasCoordinatesDown: ou.hcd,\n\t\t\t\t\thasCoordinatesUp: ou.hcu,\n\t\t\t\t\tlevel: ou.le,\n\t\t\t\t\tgrandParentParentGraph: gppg,\n\t\t\t\t\tgrandParentId: gpid,\n\t\t\t\t\tparentGraph: ou.pg,\n\t\t\t\t\tparentId: ou.pi,\n\t\t\t\t\tparentName: ou.pn,\n\t\t\t\t\tdimensions: ou.dimensions,\n\t\t\t\t},\n\t\t\t};\n\t\t} catch (e) {\n\t\t\treturn {};\n\t\t}\n\t});\n}\n\nexport function sanitizeDate(startDate: string): string {\n\tif (startDate?.split(\"-\")?.[0]?.length < 4) {\n\t\treturn startDate?.split(\"-\")?.reverse()?.join(\"-\");\n\t}\n\treturn startDate;\n}\n\nexport function generateLegends(\n\tmaxValue: number,\n\tminValue: number,\n\t{ classesCount, colorClass }: { classesCount: number; colorClass: string },\n): Array<Legend> {\n\tconst count: number = classesCount ?? defaultClasses;\n\tconst color = colorClass ?? defaultColorScaleName;\n\n\tconst colorScale = [...getColorPalette(color, count)].reverse();\n\n\tconst maxLegendValue = 5 * Math.ceil(maxValue / 5);\n\tconst range = maxLegendValue / count;\n\n\tconst values = [];\n\tlet legendColorsIterator = colorScale.length - 1;\n\tfor (let i = 0; i < maxLegendValue; i += range) {\n\t\tconst id = colorScale[legendColorsIterator];\n\t\tvalues.push({\n\t\t\tstartValue: Math.floor(i),\n\t\t\tendValue: Math.floor(i + range),\n\t\t\tid,\n\t\t\tcolor: id,\n\t\t});\n\t\tlegendColorsIterator--;\n\t}\n\n\treturn values.reverse();\n}\n"]}
1
+ {"version":3,"sources":["../../../../../src/components/Map/utils/map.ts"],"names":["legend"],"mappings":"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","file":"map.js","sourcesContent":["import type {\n\tLegend,\n\tOrganisationUnit,\n\tOrgUnitSelection,\n} from \"@hisptz/dhis2-utils\";\nimport { LeafletMouseEvent } from \"leaflet\";\nimport {\n\tcompact,\n\tfilter,\n\tfind,\n\tforEach,\n\tisEmpty,\n\tisString,\n\tsortBy,\n} from \"lodash\";\nimport {\n\tdefaultClasses,\n\tdefaultColorScaleName,\n\tgetColorPalette,\n} from \"./colors.js\";\n\nexport function highlightFeature(e: LeafletMouseEvent, style: any) {\n\tconst layer = e.target;\n\tlayer.setStyle(style);\n\t// layer.bringToFront();\n}\n\nexport function resetHighlight(e: LeafletMouseEvent, defaultStyle: any) {\n\tconst layer = e.target;\n\tlayer.setStyle(defaultStyle);\n\t// layer.bringToBack();\n}\n\nexport function getColorFromLegendSet(\n\tlegends: Legend[],\n\tvalue?: number,\n): string {\n\tif (!value) {\n\t\treturn \"transparent\";\n\t}\n\tconst legend: any =\n\t\tfind(\n\t\t\tlegends ?? [],\n\t\t\t(legend: any) =>\n\t\t\t\tlegend?.startValue <= value && legend?.endValue >= value,\n\t\t) ?? {};\n\treturn legend.color ? legend.color : \"transparent\";\n}\n\nexport function getLegendCount(legend: any, data: any) {\n\tconst { startValue, endValue } = legend;\n\treturn filter(data, (d: any) => d.data >= startValue && d.data <= endValue)\n\t\t.length;\n}\n\nexport function getOrgUnitsSelection(orgUnitSelection: OrgUnitSelection) {\n\tconst orgUnits = [];\n\tif (orgUnitSelection.userOrgUnit) {\n\t\torgUnits.push(\"USER_ORGUNIT\");\n\t}\n\n\tif (orgUnitSelection.userSubUnit) {\n\t\torgUnits.push(\"USER_ORGUNIT_CHILDREN\");\n\t}\n\n\tif (orgUnitSelection.userSubX2Unit) {\n\t\torgUnits.push(\"USER_ORGUNIT_GRANDCHILDREN\");\n\t}\n\tif (!isEmpty(orgUnitSelection.levels)) {\n\t\tforEach(orgUnitSelection.levels, (level) =>\n\t\t\torgUnits.push(`LEVEL-${level}`),\n\t\t);\n\t}\n\n\treturn [\n\t\t...orgUnits,\n\t\t...(orgUnitSelection?.orgUnits?.map(\n\t\t\t(ou: OrganisationUnit) => `${ou.id}`,\n\t\t) ?? []),\n\t];\n}\n\nexport function sanitizeOrgUnits(metaData: any) {\n\tif (metaData) {\n\t\treturn metaData?.dimensions?.ou?.map((ouId: string) => ({\n\t\t\tid: ouId,\n\t\t\tname: metaData?.items[ouId]?.name,\n\t\t\tpath: metaData?.ouHierarchy?.[ouId],\n\t\t}));\n\t}\n\treturn [];\n}\n\nexport function toGeoJson(organisationUnits: any) {\n\treturn sortBy(organisationUnits, \"le\").map((ou: any) => {\n\t\ttry {\n\t\t\tconst coord = JSON.parse(ou.co);\n\t\t\tlet gpid = \"\";\n\t\t\tlet gppg = \"\";\n\t\t\tlet type = \"Point\";\n\n\t\t\tif (ou.ty === 2) {\n\t\t\t\ttype = \"Polygon\";\n\t\t\t\tif (ou.co.substring(0, 4) === \"[[[[\") {\n\t\t\t\t\ttype = \"MultiPolygon\";\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Grand parent\n\t\t\tif (isString(ou.pg) && ou.pg.length) {\n\t\t\t\tconst ids = compact(ou.pg.split(\"/\"));\n\n\t\t\t\t// Grand parent id\n\t\t\t\tif (ids.length >= 2) {\n\t\t\t\t\tgpid = ids[ids.length - 2] as string;\n\t\t\t\t}\n\n\t\t\t\t// Grand parent parent graph\n\t\t\t\tif (ids.length > 2) {\n\t\t\t\t\tgppg = \"/\" + ids.slice(0, ids.length - 2).join(\"/\");\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\ttype: \"Feature\",\n\t\t\t\tid: ou.id,\n\t\t\t\tgeometry: {\n\t\t\t\t\ttype,\n\t\t\t\t\tcoordinates: coord,\n\t\t\t\t},\n\t\t\t\tproperties: {\n\t\t\t\t\ttype,\n\t\t\t\t\tid: ou.id,\n\t\t\t\t\tname: ou.na,\n\t\t\t\t\thasCoordinatesDown: ou.hcd,\n\t\t\t\t\thasCoordinatesUp: ou.hcu,\n\t\t\t\t\tlevel: ou.le,\n\t\t\t\t\tgrandParentParentGraph: gppg,\n\t\t\t\t\tgrandParentId: gpid,\n\t\t\t\t\tparentGraph: ou.pg,\n\t\t\t\t\tparentId: ou.pi,\n\t\t\t\t\tparentName: ou.pn,\n\t\t\t\t\tdimensions: ou.dimensions,\n\t\t\t\t},\n\t\t\t};\n\t\t} catch (e) {\n\t\t\treturn {};\n\t\t}\n\t});\n}\n\nexport function sanitizeDate(startDate: string): string {\n\tif (startDate?.split(\"-\")?.[0]?.length < 4) {\n\t\treturn startDate?.split(\"-\")?.reverse()?.join(\"-\");\n\t}\n\treturn startDate;\n}\n\nexport function generateLegends(\n\tmaxValue: number,\n\tminValue: number,\n\t{ classesCount, colorClass }: { classesCount: number; colorClass: string },\n): Array<Legend> {\n\tconst count: number = classesCount ?? defaultClasses;\n\tconst color = colorClass ?? defaultColorScaleName;\n\n\tconst colorScale = [...getColorPalette(color, count)].reverse();\n\n\tconst maxLegendValue = 5 * Math.ceil(maxValue / 5);\n\tconst range = maxLegendValue / count;\n\n\tconst values = [];\n\tlet legendColorsIterator = colorScale.length - 1;\n\tfor (let i = 0; i < maxLegendValue; i += range) {\n\t\tconst id = colorScale[legendColorsIterator];\n\t\tvalues.push({\n\t\t\tstartValue: Math.floor(i),\n\t\t\tendValue: Math.floor(i + range),\n\t\t\tid,\n\t\t\tcolor: id,\n\t\t});\n\t\tlegendColorsIterator--;\n\t}\n\n\treturn values.reverse();\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/SingleValueContainer/SingleValueVisualizer.tsx"],"names":[],"mappings":";;;;;;;;;AASO,SAAS,qBAAsB,CAAA;AAAA,EACrC,KAAA;AAAA,EACA,gBAAA;AAAA,EACA,iBAAA;AAAA,EACA,cAAA;AAAA,EACA;AACD,CAA6C,EAAA;AAC5C,EACC,uBAAA,IAAA,CAAC,KAAI,EAAA,EAAA,SAAA,EAAU,aACd,EAAA,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,QAAS,EAAA,EAAA,CAAA;AAAA,oBACV,GAAA,CAAC,QAAS,EAAA,EAAA,QAAA,kBAAW,GAAA,CAAA,KAAA,EAAA,EAAK,QAAK,EAAA,IAAA,CAAA,CAAA,CAAE,aAAa,CAAA,EAAE,CAC/C,EAAA,QAAA,kBAAA,IAAA,CAAC,KACA,EAAA,EAAA,QAAA,EAAA;AAAA,sBAAA,GAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UACA,SAAA,EAAW,GAAG,MAAO,CAAA,cAAc,CAAC,CAAI,CAAA,EAAA,MAAA,CAAO,WAAW,CAAC,CAAA,CAAA;AAAA,UAE1D,QAAA,EAAA;AAAA;AAAA,OACF;AAAA,0BACC,KAAI,EAAA,EAAA,SAAA,EAAW,MAAO,CAAA,mBAAmB,GACxC,QAAiB,EAAA,gBAAA,CAAA,GAAA;AAAA,QACjB,CAAC,eACA,qBAAA,GAAA;AAAA,UAAC,eAAA;AAAA,UAAA;AAAA,YACA,gBAAA;AAAA,YAEC,GAAG,eAAA;AAAA,YACJ,uBAAyB,EAAA,iBAAA;AAAA,YACzB,oBAAsB,EAAA;AAAA,WAAA;AAAA,UAHjB,CAAG,EAAA,eAAA,CAAgB,KAAK,CAAA,CAAA,EAAI,gBAAgB,KAAK,CAAA;AAAA;AAIvD,OAGH,EAAA;AAAA,KAAA,EACD,CACD,EAAA;AAAA,GACD,EAAA,CAAA;AAEF;AAKO,MAAM,oBAAuB,GAAA","file":"SingleValueVisualizer.js","sourcesContent":["import i18n from \"@dhis2/d2-i18n\";\nimport { CssReset } from \"@dhis2/ui\";\nimport { type ReactElement, Suspense } from \"react\";\nimport SingleValueItem from \"./components/SingleValueItem/SingleValueItem.js\";\nimport styles from \"./styles/SingleValueContainer.module.css\";\nimport { SingleValue, SingleValueVisualizerProps } from \"./types/props.js\";\n\nexport * from \"./types/props.js\";\n\nexport function SingleValueVisualizer({\n\ttitle,\n\tsingleValueItems,\n\tanimationDuration,\n\tanimationDelay,\n\tdisableAnimation,\n}: SingleValueVisualizerProps): ReactElement {\n\treturn (\n\t\t<div className=\"w-100 h-100\">\n\t\t\t<CssReset />\n\t\t\t<Suspense fallback={<div>{i18n.t(\"Loading ...\")}</div>}>\n\t\t\t\t<div>\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={`${styles[\"font-x-large\"]} ${styles[\"font-bold\"]}`}\n\t\t\t\t\t>\n\t\t\t\t\t\t{title}\n\t\t\t\t\t</span>\n\t\t\t\t\t<div className={styles[\"single-value-list\"]}>\n\t\t\t\t\t\t{singleValueItems.map(\n\t\t\t\t\t\t\t(singleValueItem: SingleValue) => (\n\t\t\t\t\t\t\t\t<SingleValueItem\n\t\t\t\t\t\t\t\t\tdisableAnimation={disableAnimation}\n\t\t\t\t\t\t\t\t\tkey={`${singleValueItem.label}-${singleValueItem.value}`}\n\t\t\t\t\t\t\t\t\t{...singleValueItem}\n\t\t\t\t\t\t\t\t\tglobalAnimationDuration={animationDuration}\n\t\t\t\t\t\t\t\t\tglobalAnimationDelay={animationDelay}\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</div>\n\t\t\t\t</div>\n\t\t\t</Suspense>\n\t\t</div>\n\t);\n}\n\n/**\n * @deprecated since `v2`. Use `SingleValueVisualizer` instead\n * */\nexport const SingleValueContainer = SingleValueVisualizer;\nexport { SingleValueItem };\n"]}
1
+ {"version":3,"sources":["../../../../src/components/SingleValueContainer/SingleValueVisualizer.tsx"],"names":[],"mappings":";;;;;;;;;AASO,SAAS,qBAAA,CAAsB;AAAA,EACrC,KAAA;AAAA,EACA,gBAAA;AAAA,EACA,iBAAA;AAAA,EACA,cAAA;AAAA,EACA;AACD,CAAA,EAA6C;AAC5C,EAAA,uBACC,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,aAAA,EACd,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,QAAA,EAAA,EAAS,CAAA;AAAA,oBACV,GAAA,CAAC,QAAA,EAAA,EAAS,QAAA,kBAAU,GAAA,CAAC,KAAA,EAAA,EAAK,QAAA,EAAA,IAAA,CAAK,CAAA,CAAE,aAAa,CAAA,EAAE,CAAA,EAC/C,QAAA,kBAAA,IAAA,CAAC,KAAA,EAAA,EACA,QAAA,EAAA;AAAA,sBAAA,GAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UACA,SAAA,EAAW,GAAG,MAAA,CAAO,cAAc,CAAC,CAAA,CAAA,EAAI,MAAA,CAAO,WAAW,CAAC,CAAA,CAAA;AAAA,UAE1D,QAAA,EAAA;AAAA;AAAA,OACF;AAAA,0BACC,KAAA,EAAA,EAAI,SAAA,EAAW,MAAA,CAAO,mBAAmB,GACxC,QAAA,EAAA,gBAAA,CAAiB,GAAA;AAAA,QACjB,CAAC,eAAA,qBACA,GAAA;AAAA,UAAC,eAAA;AAAA,UAAA;AAAA,YACA,gBAAA;AAAA,YAEC,GAAG,eAAA;AAAA,YACJ,uBAAA,EAAyB,iBAAA;AAAA,YACzB,oBAAA,EAAsB;AAAA,WAAA;AAAA,UAHjB,CAAA,EAAG,eAAA,CAAgB,KAAK,CAAA,CAAA,EAAI,gBAAgB,KAAK,CAAA;AAAA;AAIvD,OAEF,EACD;AAAA,KAAA,EACD,CAAA,EACD;AAAA,GAAA,EACD,CAAA;AAEF;AAKO,MAAM,oBAAA,GAAuB","file":"SingleValueVisualizer.js","sourcesContent":["import i18n from \"@dhis2/d2-i18n\";\nimport { CssReset } from \"@dhis2/ui\";\nimport { type ReactElement, Suspense } from \"react\";\nimport SingleValueItem from \"./components/SingleValueItem/SingleValueItem.js\";\nimport styles from \"./styles/SingleValueContainer.module.css\";\nimport { SingleValue, SingleValueVisualizerProps } from \"./types/props.js\";\n\nexport * from \"./types/props.js\";\n\nexport function SingleValueVisualizer({\n\ttitle,\n\tsingleValueItems,\n\tanimationDuration,\n\tanimationDelay,\n\tdisableAnimation,\n}: SingleValueVisualizerProps): ReactElement {\n\treturn (\n\t\t<div className=\"w-100 h-100\">\n\t\t\t<CssReset />\n\t\t\t<Suspense fallback={<div>{i18n.t(\"Loading ...\")}</div>}>\n\t\t\t\t<div>\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={`${styles[\"font-x-large\"]} ${styles[\"font-bold\"]}`}\n\t\t\t\t\t>\n\t\t\t\t\t\t{title}\n\t\t\t\t\t</span>\n\t\t\t\t\t<div className={styles[\"single-value-list\"]}>\n\t\t\t\t\t\t{singleValueItems.map(\n\t\t\t\t\t\t\t(singleValueItem: SingleValue) => (\n\t\t\t\t\t\t\t\t<SingleValueItem\n\t\t\t\t\t\t\t\t\tdisableAnimation={disableAnimation}\n\t\t\t\t\t\t\t\t\tkey={`${singleValueItem.label}-${singleValueItem.value}`}\n\t\t\t\t\t\t\t\t\t{...singleValueItem}\n\t\t\t\t\t\t\t\t\tglobalAnimationDuration={animationDuration}\n\t\t\t\t\t\t\t\t\tglobalAnimationDelay={animationDelay}\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</div>\n\t\t\t\t</div>\n\t\t\t</Suspense>\n\t\t</div>\n\t);\n}\n\n/**\n * @deprecated since `v2`. Use `SingleValueVisualizer` instead\n * */\nexport const SingleValueContainer = SingleValueVisualizer;\nexport { SingleValueItem };\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/SingleValueContainer/components/SingleValueItem/SingleValueItem.tsx"],"names":["value"],"mappings":";;;;;;;AAce,SAAR,eAAiC,CAAA;AAAA,EACvC,KAAA;AAAA,EACA,KAAA;AAAA,EACA,KAAA;AAAA,EACA,UAAA;AAAA,EACA,iBAAA;AAAA,EACA,cAAA;AAAA,EACA,oBAAA;AAAA,EACA,aAAA;AAAA,EACA,uBAAA;AAAA,EACA;AACD,CAAmC,EAAA;AAClC,EAAA,MAAM,eAAkB,GAAA,CAACA,MACxB,KAAA,IAAA,CAAK,aAAa,OAAS,EAAA;AAAA,IAC1B,QAAU,EAAA,SAAA;AAAA,IACV,uBAAuB,aAAiB,IAAA;AAAA,GACxC,CAAE,CAAA,MAAA,CAAOA,MAAK,CAAA;AAEhB,EAAA,MAAM,iBAAiB,SAAU,CAAA;AAAA,IAChC,MAAQ,EAAA,gBAAA;AAAA,IACR,GAAK,EAAA,KAAA;AAAA,IACL,IAAA,EAAM,EAAE,GAAA,EAAK,CAAE,EAAA;AAAA,IACf,MAAQ,EAAA;AAAA,MACP,QAAA,EAAU,qBAAqB,uBAA2B,IAAA;AAAA,KAC3D;AAAA,IACA,KAAA,EAAO,kBAAkB,oBAAwB,IAAA;AAAA,GACjD,CAAA;AAED,EAAA,MAAM,cAAiB,GAAA,CAAA,EAAG,KAAK,CAAA,EAAA,EAAK,KAAK,CAAA,CAAA;AACzC,EAAA,4BACE,KAAI,EAAA,EAAA,SAAA,EAAW,GAAG,MAAO,CAAA,mBAAmB,CAAC,CAC7C,YAAA,CAAA,EAAA,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,KAAI,EAAA,EAAA,SAAA,EAAW,MAAO,CAAA,YAAY,GAAI,QAAM,EAAA,KAAA,EAAA,CAAA;AAAA,oBAC5C,GAAA,CAAA,OAAA,EAAA,EAAQ,OAAS,EAAA,UAAA,CAAW,cAAc,CAC1C,EAAA,QAAA,kBAAA,GAAA;AAAA,MAAC,QAAS,CAAA,GAAA;AAAA,MAAT;AAAA,QACA,SAAW,EAAA,CAAA,EAAG,MAAO,CAAA,WAAW,CAAC,CAAA,CAAA,EAAI,MAAO,CAAA,eAAe,CAAC,CAAA,CAAA,EAAI,MAAO,CAAA,aAAa,CAAC,CAAA,CAAA;AAAA,QAEpF,yBAAe,GAAI,CAAA,EAAA;AAAA,UAAG,CAACA,MACvB,KAAA,eAAA,CAAgB,IAAK,CAAA,KAAA,CAAMA,MAAK,CAAC;AAAA;AAClC;AAAA,KAEF,EAAA,CAAA;AAAA,IACC,6BACC,GAAA,CAAA,qBAAA,EAAA,EAAsB,OAAc,UAAwB,EAAA,CAAA,uBAE5D,MAAK,EAAA,EAAA;AAAA,GAER,EAAA,CAAA;AAEF","file":"SingleValueItem.js","sourcesContent":["import { Tooltip } from \"@dhis2/ui\";\nimport { capitalize } from \"lodash\";\nimport { type ReactElement } from \"react\";\nimport { animated, useSpring } from \"react-spring\";\nimport styles from \"../../styles/SingleValueContainer.module.css\";\nimport { SingleValue } from \"../../types/props.js\";\nimport SingleValuePercentage from \"./SingleValuePercentage.js\";\n\ninterface SingleValueProps extends SingleValue {\n\tglobalAnimationDelay?: number;\n\tglobalAnimationDuration?: number;\n\tdisableAnimation?: boolean;\n}\n\nexport default function SingleValueItem({\n\tlabel,\n\tvalue,\n\tcolor,\n\tpercentage,\n\tanimationDuration,\n\tanimationDelay,\n\tglobalAnimationDelay,\n\tdecimalPlaces,\n\tglobalAnimationDuration,\n\tdisableAnimation,\n}: SingleValueProps): ReactElement {\n\tconst numberFormatter = (value: number) =>\n\t\tIntl.NumberFormat(\"en-US\", {\n\t\t\tnotation: \"compact\",\n\t\t\tmaximumFractionDigits: decimalPlaces ?? 1,\n\t\t}).format(value);\n\n\tconst sanitizedValue = useSpring({\n\t\tcancel: disableAnimation,\n\t\tval: value,\n\t\tfrom: { val: 0 },\n\t\tconfig: {\n\t\t\tduration: animationDuration ?? globalAnimationDuration ?? 1000,\n\t\t},\n\t\tdelay: animationDelay ?? globalAnimationDelay ?? 10,\n\t});\n\n\tconst tooltipContent = `${label}: ${value}`;\n\treturn (\n\t\t<div className={`${styles[\"single-value-item\"]} text-center`}>\n\t\t\t<div className={styles[\"font-large\"]}>{label}</div>\n\t\t\t<Tooltip content={capitalize(tooltipContent)}>\n\t\t\t\t<animated.div\n\t\t\t\t\tclassName={`${styles[\"font-bold\"]} ${styles[\"font-xx-large\"]} ${styles[\"padding-top\"]}`}\n\t\t\t\t>\n\t\t\t\t\t{sanitizedValue.val.to((value) =>\n\t\t\t\t\t\tnumberFormatter(Math.floor(value)),\n\t\t\t\t\t)}\n\t\t\t\t</animated.div>\n\t\t\t</Tooltip>\n\t\t\t{percentage ? (\n\t\t\t\t<SingleValuePercentage color={color} percentage={percentage} />\n\t\t\t) : (\n\t\t\t\t<span></span>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../../../src/components/SingleValueContainer/components/SingleValueItem/SingleValueItem.tsx"],"names":["value"],"mappings":";;;;;;;AAce,SAAR,eAAA,CAAiC;AAAA,EACvC,KAAA;AAAA,EACA,KAAA;AAAA,EACA,KAAA;AAAA,EACA,UAAA;AAAA,EACA,iBAAA;AAAA,EACA,cAAA;AAAA,EACA,oBAAA;AAAA,EACA,aAAA;AAAA,EACA,uBAAA;AAAA,EACA;AACD,CAAA,EAAmC;AAClC,EAAA,MAAM,eAAA,GAAkB,CAACA,MAAAA,KACxB,IAAA,CAAK,aAAa,OAAA,EAAS;AAAA,IAC1B,QAAA,EAAU,SAAA;AAAA,IACV,uBAAuB,aAAA,IAAiB;AAAA,GACxC,CAAA,CAAE,MAAA,CAAOA,MAAK,CAAA;AAEhB,EAAA,MAAM,iBAAiB,SAAA,CAAU;AAAA,IAChC,MAAA,EAAQ,gBAAA;AAAA,IACR,GAAA,EAAK,KAAA;AAAA,IACL,IAAA,EAAM,EAAE,GAAA,EAAK,CAAA,EAAE;AAAA,IACf,MAAA,EAAQ;AAAA,MACP,QAAA,EAAU,qBAAqB,uBAAA,IAA2B;AAAA,KAC3D;AAAA,IACA,KAAA,EAAO,kBAAkB,oBAAA,IAAwB;AAAA,GACjD,CAAA;AAED,EAAA,MAAM,cAAA,GAAiB,CAAA,EAAG,KAAK,CAAA,EAAA,EAAK,KAAK,CAAA,CAAA;AACzC,EAAA,4BACE,KAAA,EAAA,EAAI,SAAA,EAAW,GAAG,MAAA,CAAO,mBAAmB,CAAC,CAAA,YAAA,CAAA,EAC7C,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,MAAA,CAAO,YAAY,GAAI,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,oBAC7C,GAAA,CAAC,OAAA,EAAA,EAAQ,OAAA,EAAS,UAAA,CAAW,cAAc,CAAA,EAC1C,QAAA,kBAAA,GAAA;AAAA,MAAC,QAAA,CAAS,GAAA;AAAA,MAAT;AAAA,QACA,SAAA,EAAW,CAAA,EAAG,MAAA,CAAO,WAAW,CAAC,CAAA,CAAA,EAAI,MAAA,CAAO,eAAe,CAAC,CAAA,CAAA,EAAI,MAAA,CAAO,aAAa,CAAC,CAAA,CAAA;AAAA,QAEpF,yBAAe,GAAA,CAAI,EAAA;AAAA,UAAG,CAACA,MAAAA,KACvB,eAAA,CAAgB,IAAA,CAAK,KAAA,CAAMA,MAAK,CAAC;AAAA;AAClC;AAAA,KACD,EACD,CAAA;AAAA,IACC,6BACA,GAAA,CAAC,qBAAA,EAAA,EAAsB,OAAc,UAAA,EAAwB,CAAA,uBAE5D,MAAA,EAAA,EAAK;AAAA,GAAA,EAER,CAAA;AAEF","file":"SingleValueItem.js","sourcesContent":["import { Tooltip } from \"@dhis2/ui\";\nimport { capitalize } from \"lodash\";\nimport { type ReactElement } from \"react\";\nimport { animated, useSpring } from \"react-spring\";\nimport styles from \"../../styles/SingleValueContainer.module.css\";\nimport { SingleValue } from \"../../types/props.js\";\nimport SingleValuePercentage from \"./SingleValuePercentage.js\";\n\ninterface SingleValueProps extends SingleValue {\n\tglobalAnimationDelay?: number;\n\tglobalAnimationDuration?: number;\n\tdisableAnimation?: boolean;\n}\n\nexport default function SingleValueItem({\n\tlabel,\n\tvalue,\n\tcolor,\n\tpercentage,\n\tanimationDuration,\n\tanimationDelay,\n\tglobalAnimationDelay,\n\tdecimalPlaces,\n\tglobalAnimationDuration,\n\tdisableAnimation,\n}: SingleValueProps): ReactElement {\n\tconst numberFormatter = (value: number) =>\n\t\tIntl.NumberFormat(\"en-US\", {\n\t\t\tnotation: \"compact\",\n\t\t\tmaximumFractionDigits: decimalPlaces ?? 1,\n\t\t}).format(value);\n\n\tconst sanitizedValue = useSpring({\n\t\tcancel: disableAnimation,\n\t\tval: value,\n\t\tfrom: { val: 0 },\n\t\tconfig: {\n\t\t\tduration: animationDuration ?? globalAnimationDuration ?? 1000,\n\t\t},\n\t\tdelay: animationDelay ?? globalAnimationDelay ?? 10,\n\t});\n\n\tconst tooltipContent = `${label}: ${value}`;\n\treturn (\n\t\t<div className={`${styles[\"single-value-item\"]} text-center`}>\n\t\t\t<div className={styles[\"font-large\"]}>{label}</div>\n\t\t\t<Tooltip content={capitalize(tooltipContent)}>\n\t\t\t\t<animated.div\n\t\t\t\t\tclassName={`${styles[\"font-bold\"]} ${styles[\"font-xx-large\"]} ${styles[\"padding-top\"]}`}\n\t\t\t\t>\n\t\t\t\t\t{sanitizedValue.val.to((value) =>\n\t\t\t\t\t\tnumberFormatter(Math.floor(value)),\n\t\t\t\t\t)}\n\t\t\t\t</animated.div>\n\t\t\t</Tooltip>\n\t\t\t{percentage ? (\n\t\t\t\t<SingleValuePercentage color={color} percentage={percentage} />\n\t\t\t) : (\n\t\t\t\t<span></span>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/SingleValueContainer/components/SingleValueItem/SingleValuePercentage.tsx"],"names":[],"mappings":";;;;AAIe,SAAR,qBAAuC,CAAA;AAAA,EAC7C,UAAA;AAAA,EACA;AACD,CAAsB,EAAA;AACrB,EAAA,MAAM,KAAQ,GAAA,MAAA;AACd,EACC,uBAAA,GAAA,CAAC,KAAI,EAAA,EAAA,SAAA,EAAU,OACd,EAAA,QAAA,kBAAA,GAAA;AAAA,IAAC,YAAA;AAAA,IAAA;AAAA,MACA,SAAA,EAAW,OAAO,eAAe,CAAA;AAAA,MACjC,KAAA;AAAA,MACA,MAAQ,EAAA;AAAA;AAAA,GAEV,EAAA,CAAA;AAEF","file":"SingleValuePercentage.js","sourcesContent":["import { LinearLoader } from \"@dhis2/ui\";\nimport { type ReactElement } from \"react\";\nimport styles from \"../../styles/SingleValueContainer.module.css\";\n\nexport default function SingleValuePercentage({\n\tpercentage,\n\tcolor,\n}: any): ReactElement {\n\tconst width = \"100%\";\n\treturn (\n\t\t<div className=\"w-100\">\n\t\t\t<LinearLoader\n\t\t\t\tclassName={styles[\"percent-value\"]}\n\t\t\t\twidth={width}\n\t\t\t\tamount={percentage}\n\t\t\t/>\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../../../src/components/SingleValueContainer/components/SingleValueItem/SingleValuePercentage.tsx"],"names":[],"mappings":";;;;AAIe,SAAR,qBAAA,CAAuC;AAAA,EAC7C,UAAA;AAAA,EACA;AACD,CAAA,EAAsB;AACrB,EAAA,MAAM,KAAA,GAAQ,MAAA;AACd,EAAA,uBACC,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,OAAA,EACd,QAAA,kBAAA,GAAA;AAAA,IAAC,YAAA;AAAA,IAAA;AAAA,MACA,SAAA,EAAW,OAAO,eAAe,CAAA;AAAA,MACjC,KAAA;AAAA,MACA,MAAA,EAAQ;AAAA;AAAA,GACT,EACD,CAAA;AAEF","file":"SingleValuePercentage.js","sourcesContent":["import { LinearLoader } from \"@dhis2/ui\";\nimport { type ReactElement } from \"react\";\nimport styles from \"../../styles/SingleValueContainer.module.css\";\n\nexport default function SingleValuePercentage({\n\tpercentage,\n\tcolor,\n}: any): ReactElement {\n\tconst width = \"100%\";\n\treturn (\n\t\t<div className=\"w-100\">\n\t\t\t<LinearLoader\n\t\t\t\tclassName={styles[\"percent-value\"]}\n\t\t\t\twidth={width}\n\t\t\t\tamount={percentage}\n\t\t\t/>\n\t\t</div>\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/Visualization/components/AnalyticsDataProvider/index.tsx"],"names":["dimensions","filters"],"mappings":"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","file":"index.js","sourcesContent":["import {\n\tcreateContext,\n\ttype ReactNode,\n\tuseContext,\n\tuseEffect,\n\tuseMemo,\n} from \"react\";\nimport { Analytics, AnalyticsDimension } from \"@hisptz/dhis2-utils\";\nimport { useDimensions } from \"../DimensionsProvider/index.js\";\nimport { useDataQuery } from \"@dhis2/app-runtime\";\nimport { useLayout } from \"../LayoutProvider/index.js\";\nimport { forEach, set } from \"lodash\";\n\nconst AnalyticsContext = createContext<\n\t{ loading: boolean; analytics: Analytics } | undefined\n>(undefined);\n\nconst analyticsQuery = {\n\tanalytics: {\n\t\tresource: \"analytics\",\n\t\tparams: ({ dimensions, filters }: any) => {\n\t\t\treturn {\n\t\t\t\tdimension: Object.keys(dimensions).map(\n\t\t\t\t\t(dimension) =>\n\t\t\t\t\t\t`${dimension}:${dimensions[dimension]?.join(\";\")}`,\n\t\t\t\t),\n\t\t\t\tfilter: Object.keys(filters).map(\n\t\t\t\t\t(dimension) =>\n\t\t\t\t\t\t`${dimension}:${filters[dimension]?.join(\";\")}`,\n\t\t\t\t),\n\t\t\t\tincludeMetadataDetails: true,\n\t\t\t};\n\t\t},\n\t},\n};\n\nexport interface DataProviderProps {\n\tchildren: ReactNode;\n}\n\nexport function useAnalyticsData() {\n\treturn useContext(AnalyticsContext) ?? { analytics: {}, loading: false };\n}\n\nexport function AnalyticsDataProvider({ children }: DataProviderProps) {\n\tconst [analyticsDimensions] = useDimensions();\n\tconst [layout] = useLayout();\n\tconst { dimensions, filters } = useMemo(() => {\n\t\tconst dimensions = {};\n\t\tconst filters = {};\n\n\t\tforEach(\n\t\t\t[...(layout?.columns ?? []), ...(layout?.rows ?? [])],\n\t\t\t(dimension) => {\n\t\t\t\tset(\n\t\t\t\t\tdimensions,\n\t\t\t\t\t[dimension],\n\t\t\t\t\t(analyticsDimensions as AnalyticsDimension)?.[dimension],\n\t\t\t\t);\n\t\t\t},\n\t\t);\n\t\tforEach([...(layout?.filters ?? [])], (dimension) => {\n\t\t\tset(\n\t\t\t\tfilters,\n\t\t\t\t[dimension],\n\t\t\t\t(analyticsDimensions as AnalyticsDimension)?.[dimension],\n\t\t\t);\n\t\t});\n\n\t\treturn {\n\t\t\tdimensions,\n\t\t\tfilters,\n\t\t};\n\t}, [layout, analyticsDimensions]);\n\n\tconst {\n\t\tdata: analytics,\n\t\terror,\n\t\tloading,\n\t\trefetch,\n\t\tcalled,\n\t} = useDataQuery(analyticsQuery, {\n\t\tvariables: {\n\t\t\tdimensions,\n\t\t\tfilters,\n\t\t},\n\t\tlazy: true,\n\t});\n\n\tuseEffect(() => {\n\t\trefetch({\n\t\t\tdimensions,\n\t\t\tfilters,\n\t\t});\n\t}, [dimensions, filters]);\n\n\tuseEffect(() => {\n\t\tif (error) {\n\t\t\tthrow error;\n\t\t}\n\t}, [error]);\n\n\treturn (\n\t\t<AnalyticsContext.Provider\n\t\t\tvalue={{ analytics: analytics?.analytics as Analytics, loading }}\n\t\t>\n\t\t\t{children}\n\t\t</AnalyticsContext.Provider>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../../../src/components/Visualization/components/AnalyticsDataProvider/index.tsx"],"names":["dimensions","filters"],"mappings":"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","file":"index.js","sourcesContent":["import {\n\tcreateContext,\n\ttype ReactNode,\n\tuseContext,\n\tuseEffect,\n\tuseMemo,\n} from \"react\";\nimport { Analytics, AnalyticsDimension } from \"@hisptz/dhis2-utils\";\nimport { useDimensions } from \"../DimensionsProvider/index.js\";\nimport { useDataQuery } from \"@dhis2/app-runtime\";\nimport { useLayout } from \"../LayoutProvider/index.js\";\nimport { forEach, set } from \"lodash\";\n\nconst AnalyticsContext = createContext<\n\t{ loading: boolean; analytics: Analytics } | undefined\n>(undefined);\n\nconst analyticsQuery = {\n\tanalytics: {\n\t\tresource: \"analytics\",\n\t\tparams: ({ dimensions, filters }: any) => {\n\t\t\treturn {\n\t\t\t\tdimension: Object.keys(dimensions).map(\n\t\t\t\t\t(dimension) =>\n\t\t\t\t\t\t`${dimension}:${dimensions[dimension]?.join(\";\")}`,\n\t\t\t\t),\n\t\t\t\tfilter: Object.keys(filters).map(\n\t\t\t\t\t(dimension) =>\n\t\t\t\t\t\t`${dimension}:${filters[dimension]?.join(\";\")}`,\n\t\t\t\t),\n\t\t\t\tincludeMetadataDetails: true,\n\t\t\t};\n\t\t},\n\t},\n};\n\nexport interface DataProviderProps {\n\tchildren: ReactNode;\n}\n\nexport function useAnalyticsData() {\n\treturn useContext(AnalyticsContext) ?? { analytics: {}, loading: false };\n}\n\nexport function AnalyticsDataProvider({ children }: DataProviderProps) {\n\tconst [analyticsDimensions] = useDimensions();\n\tconst [layout] = useLayout();\n\tconst { dimensions, filters } = useMemo(() => {\n\t\tconst dimensions = {};\n\t\tconst filters = {};\n\n\t\tforEach(\n\t\t\t[...(layout?.columns ?? []), ...(layout?.rows ?? [])],\n\t\t\t(dimension) => {\n\t\t\t\tset(\n\t\t\t\t\tdimensions,\n\t\t\t\t\t[dimension],\n\t\t\t\t\t(analyticsDimensions as AnalyticsDimension)?.[dimension],\n\t\t\t\t);\n\t\t\t},\n\t\t);\n\t\tforEach([...(layout?.filters ?? [])], (dimension) => {\n\t\t\tset(\n\t\t\t\tfilters,\n\t\t\t\t[dimension],\n\t\t\t\t(analyticsDimensions as AnalyticsDimension)?.[dimension],\n\t\t\t);\n\t\t});\n\n\t\treturn {\n\t\t\tdimensions,\n\t\t\tfilters,\n\t\t};\n\t}, [layout, analyticsDimensions]);\n\n\tconst {\n\t\tdata: analytics,\n\t\terror,\n\t\tloading,\n\t\trefetch,\n\t\tcalled,\n\t} = useDataQuery(analyticsQuery, {\n\t\tvariables: {\n\t\t\tdimensions,\n\t\t\tfilters,\n\t\t},\n\t\tlazy: true,\n\t});\n\n\tuseEffect(() => {\n\t\trefetch({\n\t\t\tdimensions,\n\t\t\tfilters,\n\t\t});\n\t}, [dimensions, filters]);\n\n\tuseEffect(() => {\n\t\tif (error) {\n\t\t\tthrow error;\n\t\t}\n\t}, [error]);\n\n\treturn (\n\t\t<AnalyticsContext.Provider\n\t\t\tvalue={{ analytics: analytics?.analytics as Analytics, loading }}\n\t\t>\n\t\t\t{children}\n\t\t</AnalyticsContext.Provider>\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/Visualization/components/DimensionsProvider/index.tsx"],"names":[],"mappings":";;;;AAgBO,MAAM,iBAAiB,aAAkC,CAAA;AAAA,EAC/D,IAAI,EAAC;AAAA,EACL,IAAI,EAAC;AAAA,EACL,IAAI;AACL,CAAC;AACM,MAAM,oBAAuB,GAAA,aAAA;AAAA,EACnC;AACD;AAEA,SAAS,OACR,CAAA,KAAA,EACA,EAAE,SAAA,EAAW,OACZ,EAAA;AACD,EAAA,MAAM,YAAe,GAAA,EAAE,GAAI,KAAA,IAAS,EAAI,EAAA;AACxC,EAAA,GAAA,CAAI,YAAc,EAAA,CAAC,SAAS,CAAA,EAAG,KAAK,CAAA;AACpC,EAAO,OAAA,YAAA;AACR;AAOO,SAAS,aAAgB,GAAA;AAC/B,EAAA,OAAO,CAAC,UAAW,CAAA,cAAc,CAAG,EAAA,UAAA,CAAW,oBAAoB,CAAC,CAAA;AAIrE;AAEO,SAAS,kBAAmB,CAAA;AAAA,EAClC,QAAA;AAAA,EACA;AACD,CAA2B,EAAA;AAC1B,EAAA,MAAM,CAAC,KAAO,EAAA,QAAQ,CAAI,GAAA,UAAA,CAAW,SAAS,UAAU,CAAA;AAExD,EAAA,SAAA,CAAU,MAAM;AACf,IAAA,MAAA,CAAO,IAAK,CAAA,UAAU,CAAE,CAAA,OAAA,CAAQ,CAAC,SAAsB,KAAA;AACtD,MAAS,QAAA,CAAA;AAAA,QACR,SAAA;AAAA,QACA,KAAO,EAAA,UAAA,CAAW,SAAS,CAAA,IAAK;AAAC,OACjC,CAAA;AAAA,KACD,CAAA;AAAA,GACF,EAAG,CAAC,UAAU,CAAC,CAAA;AAEf,EAAA,uBACE,GAAA,CAAA,cAAA,CAAe,QAAf,EAAA,EAAwB,KAAO,EAAA,KAAA,EAC/B,QAAC,kBAAA,GAAA,CAAA,oBAAA,CAAqB,QAArB,EAAA,EAA8B,KAAO,EAAA,QAAA,EACpC,UACF,CACD,EAAA,CAAA;AAEF","file":"index.js","sourcesContent":["import {\n\tcreateContext,\n\ttype ReactNode,\n\tuseContext,\n\tuseEffect,\n\tuseReducer,\n} from \"react\";\nimport { AnalyticsDimension } from \"@hisptz/dhis2-utils\";\nimport { set } from \"lodash\";\n\nexport type Dimension = \"ou\" | \"pe\" | \"dx\" | \"co\";\n\nexport type DimensionUpdater = (data: {\n\tdimension: Dimension;\n\tvalue: string[];\n}) => void;\nexport const DimensionState = createContext<AnalyticsDimension>({\n\tdx: [],\n\tpe: [],\n\tou: [],\n});\nexport const DimensionUpdateState = createContext<DimensionUpdater | undefined>(\n\tundefined,\n);\n\nfunction reducer(\n\tstate: AnalyticsDimension,\n\t{ dimension, value }: { dimension: Dimension; value: string[] },\n) {\n\tconst updatedState = { ...(state ?? {}) };\n\tset(updatedState, [dimension], value);\n\treturn updatedState;\n}\n\nexport interface DimensionProviderProps {\n\tchildren: ReactNode;\n\tdimensions: AnalyticsDimension;\n}\n\nexport function useDimensions() {\n\treturn [useContext(DimensionState), useContext(DimensionUpdateState)] as [\n\t\tAnalyticsDimension,\n\t\tDimensionUpdater,\n\t];\n}\n\nexport function DimensionsProvider({\n\tchildren,\n\tdimensions,\n}: DimensionProviderProps) {\n\tconst [state, dispatch] = useReducer(reducer, dimensions);\n\n\tuseEffect(() => {\n\t\tObject.keys(dimensions).forEach((dimension: string) => {\n\t\t\tdispatch({\n\t\t\t\tdimension: dimension as Dimension,\n\t\t\t\tvalue: dimensions[dimension] ?? [],\n\t\t\t});\n\t\t});\n\t}, [dimensions]);\n\n\treturn (\n\t\t<DimensionState.Provider value={state}>\n\t\t\t<DimensionUpdateState.Provider value={dispatch}>\n\t\t\t\t{children}\n\t\t\t</DimensionUpdateState.Provider>\n\t\t</DimensionState.Provider>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../../../src/components/Visualization/components/DimensionsProvider/index.tsx"],"names":[],"mappings":";;;;AAgBO,MAAM,iBAAiB,aAAA,CAAkC;AAAA,EAC/D,IAAI,EAAC;AAAA,EACL,IAAI,EAAC;AAAA,EACL,IAAI;AACL,CAAC;AACM,MAAM,oBAAA,GAAuB,aAAA;AAAA,EACnC;AACD;AAEA,SAAS,OAAA,CACR,KAAA,EACA,EAAE,SAAA,EAAW,OAAM,EAClB;AACD,EAAA,MAAM,YAAA,GAAe,EAAE,GAAI,KAAA,IAAS,EAAC,EAAG;AACxC,EAAA,GAAA,CAAI,YAAA,EAAc,CAAC,SAAS,CAAA,EAAG,KAAK,CAAA;AACpC,EAAA,OAAO,YAAA;AACR;AAOO,SAAS,aAAA,GAAgB;AAC/B,EAAA,OAAO,CAAC,UAAA,CAAW,cAAc,CAAA,EAAG,UAAA,CAAW,oBAAoB,CAAC,CAAA;AAIrE;AAEO,SAAS,kBAAA,CAAmB;AAAA,EAClC,QAAA;AAAA,EACA;AACD,CAAA,EAA2B;AAC1B,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,UAAA,CAAW,SAAS,UAAU,CAAA;AAExD,EAAA,SAAA,CAAU,MAAM;AACf,IAAA,MAAA,CAAO,IAAA,CAAK,UAAU,CAAA,CAAE,OAAA,CAAQ,CAAC,SAAA,KAAsB;AACtD,MAAA,QAAA,CAAS;AAAA,QACR,SAAA;AAAA,QACA,KAAA,EAAO,UAAA,CAAW,SAAS,CAAA,IAAK;AAAC,OACjC,CAAA;AAAA,IACF,CAAC,CAAA;AAAA,EACF,CAAA,EAAG,CAAC,UAAU,CAAC,CAAA;AAEf,EAAA,uBACC,GAAA,CAAC,cAAA,CAAe,QAAA,EAAf,EAAwB,KAAA,EAAO,KAAA,EAC/B,QAAA,kBAAA,GAAA,CAAC,oBAAA,CAAqB,QAAA,EAArB,EAA8B,KAAA,EAAO,QAAA,EACpC,UACF,CAAA,EACD,CAAA;AAEF","file":"index.js","sourcesContent":["import {\n\tcreateContext,\n\ttype ReactNode,\n\tuseContext,\n\tuseEffect,\n\tuseReducer,\n} from \"react\";\nimport { AnalyticsDimension } from \"@hisptz/dhis2-utils\";\nimport { set } from \"lodash\";\n\nexport type Dimension = \"ou\" | \"pe\" | \"dx\" | \"co\";\n\nexport type DimensionUpdater = (data: {\n\tdimension: Dimension;\n\tvalue: string[];\n}) => void;\nexport const DimensionState = createContext<AnalyticsDimension>({\n\tdx: [],\n\tpe: [],\n\tou: [],\n});\nexport const DimensionUpdateState = createContext<DimensionUpdater | undefined>(\n\tundefined,\n);\n\nfunction reducer(\n\tstate: AnalyticsDimension,\n\t{ dimension, value }: { dimension: Dimension; value: string[] },\n) {\n\tconst updatedState = { ...(state ?? {}) };\n\tset(updatedState, [dimension], value);\n\treturn updatedState;\n}\n\nexport interface DimensionProviderProps {\n\tchildren: ReactNode;\n\tdimensions: AnalyticsDimension;\n}\n\nexport function useDimensions() {\n\treturn [useContext(DimensionState), useContext(DimensionUpdateState)] as [\n\t\tAnalyticsDimension,\n\t\tDimensionUpdater,\n\t];\n}\n\nexport function DimensionsProvider({\n\tchildren,\n\tdimensions,\n}: DimensionProviderProps) {\n\tconst [state, dispatch] = useReducer(reducer, dimensions);\n\n\tuseEffect(() => {\n\t\tObject.keys(dimensions).forEach((dimension: string) => {\n\t\t\tdispatch({\n\t\t\t\tdimension: dimension as Dimension,\n\t\t\t\tvalue: dimensions[dimension] ?? [],\n\t\t\t});\n\t\t});\n\t}, [dimensions]);\n\n\treturn (\n\t\t<DimensionState.Provider value={state}>\n\t\t\t<DimensionUpdateState.Provider value={dispatch}>\n\t\t\t\t{children}\n\t\t\t</DimensionUpdateState.Provider>\n\t\t</DimensionState.Provider>\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/Visualization/components/LayoutProvider/index.tsx"],"names":[],"mappings":";;;AAca,MAAA,WAAA,GAAc,cAAkC,MAAS;AAE/D,SAAS,SAAY,GAAA;AAC3B,EAAA,OAAO,CAAC,UAAA,CAAW,WAAW,CAAA,IAAK,EAAE,IAAM,EAAA,EAAI,EAAA,OAAA,EAAS,EAAC,EAAG,OAAS,EAAA,IAAI,CAAA;AAC1E;AAEO,SAAS,cAAe,CAAA;AAAA,EAC9B,aAAA;AAAA,EACA;AACD,CAAwB,EAAA;AACvB,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAI,SAAS,aAAa,CAAA;AAElD,EAAA,2BACE,WAAY,CAAA,QAAA,EAAZ,EAAqB,KAAA,EAAO,QAAS,QAAS,EAAA,CAAA;AAEjD","file":"index.js","sourcesContent":["import { createContext, type ReactNode, useContext, useState } from \"react\";\nimport { Dimension } from \"../DimensionsProvider/index.js\";\n\nexport interface Layout {\n\trows: Dimension[];\n\tcolumns: Dimension[];\n\tfilters: Dimension[];\n}\n\nexport interface LayoutProviderProps {\n\tchildren: ReactNode;\n\tdefaultLayout: Layout;\n}\n\nexport const LayoutState = createContext<Layout | undefined>(undefined);\n\nexport function useLayout() {\n\treturn [useContext(LayoutState) ?? { rows: [], filters: [], columns: [] }];\n}\n\nexport function LayoutProvider({\n\tdefaultLayout,\n\tchildren,\n}: LayoutProviderProps) {\n\tconst [layout, setLayout] = useState(defaultLayout);\n\n\treturn (\n\t\t<LayoutState.Provider value={layout}>{children}</LayoutState.Provider>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../../../src/components/Visualization/components/LayoutProvider/index.tsx"],"names":[],"mappings":";;;AAcO,MAAM,WAAA,GAAc,cAAkC,MAAS;AAE/D,SAAS,SAAA,GAAY;AAC3B,EAAA,OAAO,CAAC,UAAA,CAAW,WAAW,CAAA,IAAK,EAAE,IAAA,EAAM,EAAC,EAAG,OAAA,EAAS,EAAC,EAAG,OAAA,EAAS,IAAI,CAAA;AAC1E;AAEO,SAAS,cAAA,CAAe;AAAA,EAC9B,aAAA;AAAA,EACA;AACD,CAAA,EAAwB;AACvB,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAI,SAAS,aAAa,CAAA;AAElD,EAAA,2BACE,WAAA,CAAY,QAAA,EAAZ,EAAqB,KAAA,EAAO,QAAS,QAAA,EAAS,CAAA;AAEjD","file":"index.js","sourcesContent":["import { createContext, type ReactNode, useContext, useState } from \"react\";\nimport { Dimension } from \"../DimensionsProvider/index.js\";\n\nexport interface Layout {\n\trows: Dimension[];\n\tcolumns: Dimension[];\n\tfilters: Dimension[];\n}\n\nexport interface LayoutProviderProps {\n\tchildren: ReactNode;\n\tdefaultLayout: Layout;\n}\n\nexport const LayoutState = createContext<Layout | undefined>(undefined);\n\nexport function useLayout() {\n\treturn [useContext(LayoutState) ?? { rows: [], filters: [], columns: [] }];\n}\n\nexport function LayoutProvider({\n\tdefaultLayout,\n\tchildren,\n}: LayoutProviderProps) {\n\tconst [layout, setLayout] = useState(defaultLayout);\n\n\treturn (\n\t\t<LayoutState.Provider value={layout}>{children}</LayoutState.Provider>\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/Visualization/components/VisualizationDimensionSelector/index.tsx"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import { useCallback, useMemo, useState } from \"react\";\nimport { Button, IconClock24, IconLocation24, Tooltip } from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { useDimensions } from \"../DimensionsProvider/index.js\";\nimport { OrgUnitSelectorModal, PeriodSelectorModal } from \"@hisptz/dhis2-ui\";\nimport { OrgUnitSelection } from \"@hisptz/dhis2-utils\";\nimport { getOrgUnitSelectionFromIds } from \"../VisualizationSelector/index.js\";\nimport { getOrgUnitsSelection } from \"../../../Map/utils/map.js\";\n\nexport function VisualizationDimensionSelector({\n\tshowPeriodSelector,\n\tshowOrgUnitSelector,\n}: {\n\tshowPeriodSelector?: boolean;\n\tshowOrgUnitSelector?: boolean;\n}) {\n\tconst [dimensions, setDimensions] = useDimensions();\n\tconst periods = useMemo(() => dimensions.pe, [dimensions.pe]);\n\tconst orgUnitSelection = useMemo(\n\t\t() => getOrgUnitSelectionFromIds(dimensions.ou ?? []),\n\t\t[dimensions.ou],\n\t);\n\tconst [openFilter, setOpenFilter] = useState<\"pe\" | \"ou\" | undefined>();\n\n\tconst onFilterUpdate = useCallback(\n\t\t(type: \"ou\" | \"pe\") => (data: OrgUnitSelection | any) => {\n\t\t\tsetOpenFilter(undefined);\n\t\t\tif (type === \"ou\") {\n\t\t\t\tsetDimensions({\n\t\t\t\t\tdimension: \"ou\",\n\t\t\t\t\tvalue: getOrgUnitsSelection(data),\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (type === \"pe\") {\n\t\t\t\tsetDimensions({ dimension: \"pe\", value: data });\n\t\t\t\treturn;\n\t\t\t}\n\t\t},\n\t\t[setDimensions],\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<div style={{ display: \"flex\", gap: 8 }}>\n\t\t\t\t{showPeriodSelector && (\n\t\t\t\t\t<Tooltip content={i18n.t(\"Period\")}>\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<PeriodSelectorModal\n\t\t\t\t\t\t\t\tposition=\"middle\"\n\t\t\t\t\t\t\t\tenablePeriodSelector\n\t\t\t\t\t\t\t\tselectedPeriods={periods}\n\t\t\t\t\t\t\t\tonClose={() => setOpenFilter(undefined)}\n\t\t\t\t\t\t\t\thide={openFilter !== \"pe\"}\n\t\t\t\t\t\t\t\tonUpdate={onFilterUpdate(\"pe\")}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tonClick={() => setOpenFilter(\"pe\")}\n\t\t\t\t\t\t\t\ticon={<IconClock24 />}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t)}\n\t\t\t\t{showOrgUnitSelector && (\n\t\t\t\t\t<Tooltip content={i18n.t(\"Location\")}>\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<OrgUnitSelectorModal\n\t\t\t\t\t\t\t\tshowUserOptions\n\t\t\t\t\t\t\t\tsearchable\n\t\t\t\t\t\t\t\ttitle={i18n.t(\"Select location(s)\")}\n\t\t\t\t\t\t\t\tvalue={orgUnitSelection}\n\t\t\t\t\t\t\t\tonClose={() => setOpenFilter(undefined)}\n\t\t\t\t\t\t\t\thide={openFilter !== \"ou\"}\n\t\t\t\t\t\t\t\tonUpdate={onFilterUpdate(\"ou\")}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tonClick={() => setOpenFilter(\"ou\")}\n\t\t\t\t\t\t\t\ticon={<IconLocation24 />}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../../../src/components/Visualization/components/VisualizationDimensionSelector/index.tsx"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import { useCallback, useMemo, useState } from \"react\";\nimport { Button, IconClock24, IconLocation24, Tooltip } from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { useDimensions } from \"../DimensionsProvider/index.js\";\nimport { OrgUnitSelectorModal, PeriodSelectorModal } from \"@hisptz/dhis2-ui\";\nimport { OrgUnitSelection } from \"@hisptz/dhis2-utils\";\nimport { getOrgUnitSelectionFromIds } from \"../VisualizationSelector/index.js\";\nimport { getOrgUnitsSelection } from \"../../../Map/utils/map.js\";\n\nexport function VisualizationDimensionSelector({\n\tshowPeriodSelector,\n\tshowOrgUnitSelector,\n}: {\n\tshowPeriodSelector?: boolean;\n\tshowOrgUnitSelector?: boolean;\n}) {\n\tconst [dimensions, setDimensions] = useDimensions();\n\tconst periods = useMemo(() => dimensions.pe, [dimensions.pe]);\n\tconst orgUnitSelection = useMemo(\n\t\t() => getOrgUnitSelectionFromIds(dimensions.ou ?? []),\n\t\t[dimensions.ou],\n\t);\n\tconst [openFilter, setOpenFilter] = useState<\"pe\" | \"ou\" | undefined>();\n\n\tconst onFilterUpdate = useCallback(\n\t\t(type: \"ou\" | \"pe\") => (data: OrgUnitSelection | any) => {\n\t\t\tsetOpenFilter(undefined);\n\t\t\tif (type === \"ou\") {\n\t\t\t\tsetDimensions({\n\t\t\t\t\tdimension: \"ou\",\n\t\t\t\t\tvalue: getOrgUnitsSelection(data),\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (type === \"pe\") {\n\t\t\t\tsetDimensions({ dimension: \"pe\", value: data });\n\t\t\t\treturn;\n\t\t\t}\n\t\t},\n\t\t[setDimensions],\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<div style={{ display: \"flex\", gap: 8 }}>\n\t\t\t\t{showPeriodSelector && (\n\t\t\t\t\t<Tooltip content={i18n.t(\"Period\")}>\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<PeriodSelectorModal\n\t\t\t\t\t\t\t\tposition=\"middle\"\n\t\t\t\t\t\t\t\tenablePeriodSelector\n\t\t\t\t\t\t\t\tselectedPeriods={periods}\n\t\t\t\t\t\t\t\tonClose={() => setOpenFilter(undefined)}\n\t\t\t\t\t\t\t\thide={openFilter !== \"pe\"}\n\t\t\t\t\t\t\t\tonUpdate={onFilterUpdate(\"pe\")}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tonClick={() => setOpenFilter(\"pe\")}\n\t\t\t\t\t\t\t\ticon={<IconClock24 />}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t)}\n\t\t\t\t{showOrgUnitSelector && (\n\t\t\t\t\t<Tooltip content={i18n.t(\"Location\")}>\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<OrgUnitSelectorModal\n\t\t\t\t\t\t\t\tshowUserOptions\n\t\t\t\t\t\t\t\tsearchable\n\t\t\t\t\t\t\t\ttitle={i18n.t(\"Select location(s)\")}\n\t\t\t\t\t\t\t\tvalue={orgUnitSelection}\n\t\t\t\t\t\t\t\tonClose={() => setOpenFilter(undefined)}\n\t\t\t\t\t\t\t\thide={openFilter !== \"ou\"}\n\t\t\t\t\t\t\t\tonUpdate={onFilterUpdate(\"ou\")}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tonClick={() => setOpenFilter(\"ou\")}\n\t\t\t\t\t\t\t\ticon={<IconLocation24 />}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/Visualization/components/VisualizationProvider/index.tsx"],"names":[],"mappings":";;;;;;AAmBO,SAAS,qBAAsB,CAAA;AAAA,EACrC,MAAA;AAAA,EACA,UAAA;AAAA,EACA,QAAA;AAAA,EACA,IAAA;AAAA,EACA;AACD,CAA+B,EAAA;AAC9B,EAAA,2BACE,kBAAmB,EAAA,EAAA,UAAA,EACnB,QAAC,kBAAA,GAAA,CAAA,yBAAA,EAAA,EAA0B,QAAgB,WAAa,EAAA,IAAA,EACvD,QAAC,kBAAA,GAAA,CAAA,cAAA,EAAA,EAAe,eAAe,MAC9B,EAAA,QAAA,kBAAA,GAAA,CAAC,yBAAuB,QAAS,EAAA,CAAA,EAClC,GACD,CACD,EAAA,CAAA;AAEF","file":"index.js","sourcesContent":["import { type ReactNode } from \"react\";\nimport { Layout, LayoutProvider } from \"../LayoutProvider/index.js\";\nimport { AnalyticsDimension } from \"@hisptz/dhis2-utils\";\nimport { DimensionsProvider } from \"../DimensionsProvider/index.js\";\nimport { AnalyticsDataProvider } from \"../AnalyticsDataProvider/index.js\";\nimport {\n\tVisualizationType,\n\tVisualizationTypeProvider,\n} from \"../VisualizationTypeProvider/index.js\";\nimport { VisualizationConfig } from \"../../index.js\";\n\nexport interface VisualizationProviderProps {\n\tchildren: ReactNode;\n\tlayout: Layout;\n\tdimensions: AnalyticsDimension;\n\ttype: VisualizationType;\n\tconfig: VisualizationConfig;\n}\n\nexport function VisualizationProvider({\n\tlayout,\n\tdimensions,\n\tchildren,\n\ttype,\n\tconfig,\n}: VisualizationProviderProps) {\n\treturn (\n\t\t<DimensionsProvider dimensions={dimensions}>\n\t\t\t<VisualizationTypeProvider config={config} defaultType={type}>\n\t\t\t\t<LayoutProvider defaultLayout={layout}>\n\t\t\t\t\t<AnalyticsDataProvider>{children}</AnalyticsDataProvider>\n\t\t\t\t</LayoutProvider>\n\t\t\t</VisualizationTypeProvider>\n\t\t</DimensionsProvider>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../../../src/components/Visualization/components/VisualizationProvider/index.tsx"],"names":[],"mappings":";;;;;;AAmBO,SAAS,qBAAA,CAAsB;AAAA,EACrC,MAAA;AAAA,EACA,UAAA;AAAA,EACA,QAAA;AAAA,EACA,IAAA;AAAA,EACA;AACD,CAAA,EAA+B;AAC9B,EAAA,2BACE,kBAAA,EAAA,EAAmB,UAAA,EACnB,QAAA,kBAAA,GAAA,CAAC,yBAAA,EAAA,EAA0B,QAAgB,WAAA,EAAa,IAAA,EACvD,QAAA,kBAAA,GAAA,CAAC,cAAA,EAAA,EAAe,eAAe,MAAA,EAC9B,QAAA,kBAAA,GAAA,CAAC,yBAAuB,QAAA,EAAS,CAAA,EAClC,GACD,CAAA,EACD,CAAA;AAEF","file":"index.js","sourcesContent":["import { type ReactNode } from \"react\";\nimport { Layout, LayoutProvider } from \"../LayoutProvider/index.js\";\nimport { AnalyticsDimension } from \"@hisptz/dhis2-utils\";\nimport { DimensionsProvider } from \"../DimensionsProvider/index.js\";\nimport { AnalyticsDataProvider } from \"../AnalyticsDataProvider/index.js\";\nimport {\n\tVisualizationType,\n\tVisualizationTypeProvider,\n} from \"../VisualizationTypeProvider/index.js\";\nimport { VisualizationConfig } from \"../../index.js\";\n\nexport interface VisualizationProviderProps {\n\tchildren: ReactNode;\n\tlayout: Layout;\n\tdimensions: AnalyticsDimension;\n\ttype: VisualizationType;\n\tconfig: VisualizationConfig;\n}\n\nexport function VisualizationProvider({\n\tlayout,\n\tdimensions,\n\tchildren,\n\ttype,\n\tconfig,\n}: VisualizationProviderProps) {\n\treturn (\n\t\t<DimensionsProvider dimensions={dimensions}>\n\t\t\t<VisualizationTypeProvider config={config} defaultType={type}>\n\t\t\t\t<LayoutProvider defaultLayout={layout}>\n\t\t\t\t\t<AnalyticsDataProvider>{children}</AnalyticsDataProvider>\n\t\t\t\t</LayoutProvider>\n\t\t\t</VisualizationTypeProvider>\n\t\t</DimensionsProvider>\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/Visualization/components/VisualizationSelector/index.tsx"],"names":["dimension","value"],"mappings":";;;;;;;;;;;;;AA0BO,SAAS,kBAAkB,SAAsB,EAAA;AACvD,EAAA,QAAQ,SAAW;AAAA,IAClB,KAAK,IAAA;AACJ,MAAO,OAAA,IAAA,CAAK,EAAE,QAAQ,CAAA;AAAA,IACvB,KAAK,IAAA;AACJ,MAAO,OAAA,IAAA,CAAK,EAAE,mBAAmB,CAAA;AAAA,IAClC,KAAK,IAAA;AACJ,MAAO,OAAA,IAAA,CAAK,EAAE,MAAM,CAAA;AAAA,IACrB;AACC,MAAO,OAAA,EAAA;AAAA;AAEV;AAEO,SAAS,2BAA2B,GAAe,EAAA;AACzD,EAAA,MAAM,gBAAqC,GAAA;AAAA,IAC1C,UAAU;AAAC,GACZ;AACA,EAAQ,OAAA,CAAA,GAAA,EAAK,CAAC,EAAO,KAAA;AACpB,IAAA,IAAI,OAAO,cAAgB,EAAA;AAC1B,MAAA,GAAA,CAAI,gBAAkB,EAAA,CAAC,aAAa,CAAA,EAAG,IAAI,CAAA;AAAA,KAC5C,MAAA,IAAW,OAAO,uBAAyB,EAAA;AAC1C,MAAA,GAAA,CAAI,gBAAkB,EAAA,CAAC,aAAa,CAAA,EAAG,IAAI,CAAA;AAAA,KAC5C,MAAA,IAAW,OAAO,4BAA8B,EAAA;AAC/C,MAAA,GAAA,CAAI,gBAAkB,EAAA,CAAC,eAAe,CAAA,EAAG,IAAI,CAAA;AAAA,KACvC,MAAA;AACN,MAAA,MAAM,WAAW,CAAC,GAAI,gBAAiB,CAAA,QAAA,IAAY,EAAG,CAAA;AACtD,MAAA,QAAA,CAAS,IAAK,CAAA;AAAA,QACb,EAAI,EAAA,EAAA;AAAA,QACJ,UAAU,EAAC;AAAA,QACX,IAAM,EAAA;AAAA,OACN,CAAA;AACD,MAAA,GAAA,CAAI,gBAAkB,EAAA,CAAC,UAAU,CAAA,EAAG,QAAQ,CAAA;AAAA;AAC7C,GACA,CAAA;AACD,EAAO,OAAA,gBAAA;AACR;AAEO,SAAS,kBAAmB,CAAA;AAAA,EAClC;AACD,CAEG,EAAA;AACF,EAAM,MAAA,CAAC,MAAM,CAAA,GAAI,SAAU,EAAA;AAC3B,EAAM,MAAA,EAAE,SAAU,EAAA,GAAI,gBAAiB,EAAA;AAEvC,EAAM,MAAA,eAAA,GAAkB,QAAQ,MAAM;AACrC,IAAO,OAAA,SAAA;AAAA,MAAU,MAAA;AAAA,MAAQ,CAAC,SAAA,KACzB,SAAU,CAAA,GAAA,CAAI,CAACA,UAAe,MAAA;AAAA,QAC7B,SAAAA,EAAAA,UAAAA;AAAA,QACA,KAAA,EAAO,kBAAkBA,UAAS;AAAA,OACjC,CAAA;AAAA,KACH;AAAA,GACD,EAAG,CAAC,MAAM,CAAC,CAAA;AAEX,EAAA,IAAI,CAAC,SAAW,EAAA;AACf,IAAO,OAAA,IAAA;AAAA;AAGR,EACC,uBAAA,GAAA;AAAA,IAAC,eAAA;AAAA,IAAA;AAAA,MACA,UAAY,EAAA;AAAA,QACX,YAAA,EAAc,QAAQ,YAAgB,IAAA,MAAA;AAAA,QACtC,WAAA,EAAa,QAAQ,WAAe,IAAA,MAAA;AAAA,QACpC,KAAA,EAAO,QAAQ,KAAS,IAAA;AAAA,OACzB;AAAA,MACA,SAAA;AAAA,MACA,MAAQ,EAAA,EAAE,MAAQ,EAAA,eAAA,EAAiB,OAAQ;AAAA;AAAA,GAC5C;AAEF;AAEO,SAAS,aAAA,CAAc,EAAE,OAAA,EAAqC,EAAA;AACpE,EAAM,MAAA,EAAE,SAAU,EAAA,GAAI,gBAAiB,EAAA;AACvC,EAAA,IAAI,CAAC,SAAW,EAAA;AACf,IAAO,OAAA,IAAA;AAAA;AAER,EAAA,2BAAQ,UAAW,EAAA,EAAA,SAAA,EAAsB,QAAQ,EAAE,GAAG,SAAW,EAAA,CAAA;AAClE;AAEO,SAAS,WAAY,CAAA;AAAA,EAC3B;AACD,CAEG,EAAA;AACF,EAAM,MAAA,CAAC,UAAU,CAAA,GAAI,aAAc,EAAA;AACnC,EAAM,MAAA,EAAE,SAAU,EAAA,GAAI,gBAAiB,EAAA;AACvC,EAAM,MAAA,gBAAA,GAAqC,QAAQ,MAAM;AACxD,IAAA,OAAO,0BAA2B,CAAA,UAAA,CAAW,EAAM,IAAA,EAAE,CAAA;AAAA,GACnD,EAAA,CAAC,UAAW,CAAA,EAAE,CAAC,CAAA;AAElB,EAAM,MAAA,cAAA,GAAwC,QAAQ,MAAM;AAC3D,IAAM,MAAA,UAAA,GACL,UAAU,SAAU,CAAA,OAAA,EAAS,CAAC,MAAQ,EAAA,OAAO,CAAC,CAAK,IAAA,EAAA;AACpD,IAAA,OACC,UAAU,QAAU,EAAA,UAAA,CAAW,IAAI,CAAG,EAAA,GAAA,CAAI,CAAC,MAAW,KAAA;AACrD,MAAA,MAAM,SAAS,IAAK,CAAA,OAAA,CAAQ,gBAAgB,CAAC,IAAA,EAAM,MAAM,CAAC,CAAA;AAC1D,MAAA,MAAM,OACL,SAAU,CAAA,QAAA,EAAU,YAAY,EAAI,EAAA,GAAA,CAAI,CAAC,IAAS,KAAA;AACjD,QAAA,MAAM,MAAS,GAAA,MAAA;AAAA,UACd,SAAU,CAAA,IAAA;AAAA,UACV,CAAC,QAAQ,GAAI,CAAA,QAAA,CAAS,MAAM,CAAK,IAAA,GAAA,CAAI,SAAS,IAAI;AAAA,SACnD;AACA,QAAA,MAAM,QAAQ,MAAO,CAAA,MAAA;AAAA,UACpB,CAAC,GAAKC,EAAAA,MAAAA,KAAU,MAAM,UAAWA,CAAAA,MAAAA,CAAM,UAAU,CAAC,CAAA;AAAA,UAClD;AAAA,SACD;AACA,QAAO,OAAA;AAAA,UACN,IAAM,EAAA,KAAA;AAAA,UACN,QAAU,EAAA,MAAA;AAAA,UACV,OAAS,EAAA;AAAA,SACV;AAAA,OACA,KAAK,EAAC;AACR,MAAO,OAAA;AAAA,QACN,GAAG,MAAA;AAAA,QACH;AAAA,OACD;AAAA,KACA,KAAK,EAAC;AAAA,GAEN,EAAA;AAAA,IACF,SAAU,CAAA,OAAA;AAAA,IACV,UAAU,QAAU,EAAA,UAAA;AAAA,IACpB,OAAQ,CAAA,cAAA;AAAA,IACR,SAAU,CAAA;AAAA,GACV,CAAA;AAED,EACC,uBAAA,GAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACA,eAAiB,EAAA;AAAA,QAChB,SAAS,UAAW,CAAA;AAAA,OACrB;AAAA,MACA,gBAAA;AAAA,MACA;AAAA;AAAA,GACD;AAEF;AAEO,SAAS,qBAAA,CAAsB,EAAE,MAAA,EAAsC,EAAA;AAC7E,EAAM,MAAA,CAAC,IAAI,CAAA,GAAI,oBAAqB,EAAA;AACpC,EAAA,MAAM,EAAE,SAAA,EAAW,OAAQ,EAAA,GAAI,gBAAiB,EAAA;AAEhD,EAAA,IAAI,OAAS,EAAA;AACZ,IACC,uBAAA,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACA,KAAO,EAAA;AAAA,UACN,KAAO,EAAA,MAAA;AAAA,UACP,MAAQ,EAAA,MAAA;AAAA,UACR,OAAS,EAAA,MAAA;AAAA,UACT,cAAgB,EAAA,QAAA;AAAA,UAChB,UAAY,EAAA;AAAA,SACb;AAAA,QAEA,QAAA,kBAAA,GAAA,CAAC,cAAe,EAAA,EAAA,KAAA,EAAK,IAAC,EAAA;AAAA;AAAA,KACvB;AAAA;AAGF,EAAA,IAAI,CAAC,SAAW,EAAA;AACf,IAAO,OAAA,IAAA;AAAA;AAGR,EAAA,uBAEG,IAAA,CAAA,QAAA,EAAA,EAAA,QAAA,EAAA;AAAA,IAAA,IAAA,KAAS,YACT,oBAAA,GAAA;AAAA,MAAC,kBAAA;AAAA,MAAA;AAAA,QACA,SAAS,MAAQ,EAAA;AAAA;AAAA,KAClB;AAAA,IAEA,SAAS,OACT,oBAAA,GAAA,CAAC,aAAc,EAAA,EAAA,OAAA,EAAS,QAAQ,KAAsB,EAAA,CAAA;AAAA,IAEtD,SAAS,KACT,oBAAA,GAAA;AAAA,MAAC,WAAA;AAAA,MAAA;AAAA,QACA,SACC,MAAQ,EAAA;AAAA;AAAA;AAKV,GAEF,EAAA,CAAA;AAEF","file":"index.js","sourcesContent":["import { useMemo } from \"react\";\nimport { useVisualizationType } from \"../VisualizationTypeProvider/index.js\";\nimport { useAnalyticsData } from \"../AnalyticsDataProvider/index.js\";\nimport { CircularLoader } from \"@dhis2/ui\";\nimport {\n\tDHIS2PivotTable,\n\tDHIS2PivotTableOptions,\n} from \"../../../DHIS2PivotTable/index.js\";\nimport { useLayout } from \"../LayoutProvider/index.js\";\nimport { filter, find, findIndex, forEach, mapValues, set } from \"lodash\";\nimport { Dimension, useDimensions } from \"../DimensionsProvider/index.js\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { ChartConfig, DHIS2Chart } from \"../../../ChartAnalytics/index.js\";\nimport { VisualizationConfig } from \"../../index.js\";\nimport { DHIS2Map, MapProps } from \"../../../Map/index.js\";\nimport { OrgUnitSelection } from \"@hisptz/dhis2-utils\";\nimport {\n\tThematicLayerConfig,\n\tThematicLayerRawData,\n} from \"../../../Map/components/MapLayer/interfaces/index.js\";\nimport type { PivotTableLayoutProps } from \"../../../DHIS2PivotTable/components/Table/index.js\";\n\nexport interface VisualizationSelectorProps {\n\tconfig: VisualizationConfig;\n}\n\nexport function getDimensionLabel(dimension: Dimension) {\n\tswitch (dimension) {\n\t\tcase \"pe\":\n\t\t\treturn i18n.t(\"Period\");\n\t\tcase \"ou\":\n\t\t\treturn i18n.t(\"Organisation unit\");\n\t\tcase \"dx\":\n\t\t\treturn i18n.t(\"Data\");\n\t\tdefault:\n\t\t\treturn \"\";\n\t}\n}\n\nexport function getOrgUnitSelectionFromIds(ous: string[]) {\n\tconst orgUnitSelection: OrgUnitSelection = {\n\t\torgUnits: [],\n\t};\n\tforEach(ous, (ou) => {\n\t\tif (ou === \"USER_ORGUNIT\") {\n\t\t\tset(orgUnitSelection, [\"userOrgUnit\"], true);\n\t\t} else if (ou === \"USER_ORGUNIT_CHILDREN\") {\n\t\t\tset(orgUnitSelection, [\"userSubUnit\"], true);\n\t\t} else if (ou === \"USER_ORGUNIT_GRANDCHILDREN\") {\n\t\t\tset(orgUnitSelection, [\"userSubX2Unit\"], true);\n\t\t} else {\n\t\t\tconst orgUnits = [...(orgUnitSelection.orgUnits ?? [])];\n\t\t\torgUnits.push({\n\t\t\t\tid: ou,\n\t\t\t\tchildren: [],\n\t\t\t\tpath: \"\",\n\t\t\t});\n\t\t\tset(orgUnitSelection, [\"orgUnits\"], orgUnits);\n\t\t}\n\t});\n\treturn orgUnitSelection;\n}\n\nexport function PivotTableRenderer({\n\toptions,\n}: {\n\toptions: DHIS2PivotTableOptions & PivotTableLayoutProps;\n}) {\n\tconst [layout] = useLayout();\n\tconst { analytics } = useAnalyticsData();\n\n\tconst sanitizedLayout = useMemo(() => {\n\t\treturn mapValues(layout, (dimension) =>\n\t\t\tdimension.map((dimension) => ({\n\t\t\t\tdimension,\n\t\t\t\tlabel: getDimensionLabel(dimension),\n\t\t\t})),\n\t\t);\n\t}, [layout]);\n\n\tif (!analytics) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<DHIS2PivotTable\n\t\t\ttableProps={{\n\t\t\t\tscrollHeight: options.scrollHeight ?? \"100%\",\n\t\t\t\tscrollWidth: options.scrollWidth ?? \"100%\",\n\t\t\t\twidth: options.width ?? \"100%\",\n\t\t\t}}\n\t\t\tanalytics={analytics}\n\t\t\tconfig={{ layout: sanitizedLayout, options }}\n\t\t/>\n\t);\n}\n\nexport function ChartRenderer({ options }: { options: ChartConfig }) {\n\tconst { analytics } = useAnalyticsData();\n\tif (!analytics) {\n\t\treturn null;\n\t}\n\treturn <DHIS2Chart analytics={analytics} config={{ ...options }} />;\n}\n\nexport function MapRenderer({\n\toptions,\n}: {\n\toptions: Omit<MapProps, \"orgUnitSelection\" | \"periodSelection\">;\n}) {\n\tconst [dimensions] = useDimensions();\n\tconst { analytics } = useAnalyticsData();\n\tconst orgUnitSelection: OrgUnitSelection = useMemo(() => {\n\t\treturn getOrgUnitSelectionFromIds(dimensions.ou ?? []);\n\t}, [dimensions.ou]);\n\n\tconst thematicLayers: ThematicLayerConfig[] = useMemo(() => {\n\t\tconst valueIndex =\n\t\t\tfindIndex(analytics.headers, [\"name\", \"value\"]) ?? -1;\n\t\treturn (\n\t\t\tanalytics.metaData?.dimensions[\"dx\"]?.map((dataId) => {\n\t\t\t\tconst config = find(options.thematicLayers, [\"id\", dataId]);\n\t\t\t\tconst data: ThematicLayerRawData[] =\n\t\t\t\t\tanalytics.metaData?.dimensions?.ou?.map((ouId) => {\n\t\t\t\t\t\tconst values = filter(\n\t\t\t\t\t\t\tanalytics.rows,\n\t\t\t\t\t\t\t(row) => row.includes(dataId) && row.includes(ouId),\n\t\t\t\t\t\t) as unknown as string[];\n\t\t\t\t\t\tconst value = values.reduce(\n\t\t\t\t\t\t\t(acc, value) => acc + parseFloat(value[valueIndex]),\n\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tdata: value,\n\t\t\t\t\t\t\tdataItem: dataId,\n\t\t\t\t\t\t\torgUnit: ouId,\n\t\t\t\t\t\t};\n\t\t\t\t\t}) ?? [];\n\t\t\t\treturn {\n\t\t\t\t\t...config,\n\t\t\t\t\tdata,\n\t\t\t\t} as ThematicLayerConfig;\n\t\t\t}) ?? []\n\t\t);\n\t}, [\n\t\tanalytics.headers,\n\t\tanalytics.metaData?.dimensions,\n\t\toptions.thematicLayers,\n\t\tanalytics.rows,\n\t]);\n\n\treturn (\n\t\t<DHIS2Map\n\t\t\tperiodSelection={{\n\t\t\t\tperiods: dimensions.pe,\n\t\t\t}}\n\t\t\torgUnitSelection={orgUnitSelection}\n\t\t\tthematicLayers={thematicLayers}\n\t\t/>\n\t);\n}\n\nexport function VisualizationSelector({ config }: VisualizationSelectorProps) {\n\tconst [type] = useVisualizationType();\n\tconst { analytics, loading } = useAnalyticsData();\n\n\tif (loading) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\theight: \"100%\",\n\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\tjustifyContent: \"center\",\n\t\t\t\t\talignItems: \"center\",\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<CircularLoader small />\n\t\t\t</div>\n\t\t);\n\t}\n\tif (!analytics) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{type === \"pivotTable\" && (\n\t\t\t\t<PivotTableRenderer\n\t\t\t\t\toptions={config?.pivotTable as DHIS2PivotTableOptions}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{type === \"chart\" && (\n\t\t\t\t<ChartRenderer options={config?.chart as ChartConfig} />\n\t\t\t)}\n\t\t\t{type === \"map\" && (\n\t\t\t\t<MapRenderer\n\t\t\t\t\toptions={\n\t\t\t\t\t\tconfig?.map as Omit<\n\t\t\t\t\t\t\tMapProps,\n\t\t\t\t\t\t\t\"orgUnitSelection\" | \"periodSelection\"\n\t\t\t\t\t\t>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../../../src/components/Visualization/components/VisualizationSelector/index.tsx"],"names":["dimension","value"],"mappings":"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","file":"index.js","sourcesContent":["import { useMemo } from \"react\";\nimport { useVisualizationType } from \"../VisualizationTypeProvider/index.js\";\nimport { useAnalyticsData } from \"../AnalyticsDataProvider/index.js\";\nimport { CircularLoader } from \"@dhis2/ui\";\nimport {\n\tDHIS2PivotTable,\n\tDHIS2PivotTableOptions,\n} from \"../../../DHIS2PivotTable/index.js\";\nimport { useLayout } from \"../LayoutProvider/index.js\";\nimport { filter, find, findIndex, forEach, mapValues, set } from \"lodash\";\nimport { Dimension, useDimensions } from \"../DimensionsProvider/index.js\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { ChartConfig, DHIS2Chart } from \"../../../ChartAnalytics/index.js\";\nimport { VisualizationConfig } from \"../../index.js\";\nimport { DHIS2Map, MapProps } from \"../../../Map/index.js\";\nimport { OrgUnitSelection } from \"@hisptz/dhis2-utils\";\nimport {\n\tThematicLayerConfig,\n\tThematicLayerRawData,\n} from \"../../../Map/components/MapLayer/interfaces/index.js\";\nimport type { PivotTableLayoutProps } from \"../../../DHIS2PivotTable/components/Table/index.js\";\n\nexport interface VisualizationSelectorProps {\n\tconfig: VisualizationConfig;\n}\n\nexport function getDimensionLabel(dimension: Dimension) {\n\tswitch (dimension) {\n\t\tcase \"pe\":\n\t\t\treturn i18n.t(\"Period\");\n\t\tcase \"ou\":\n\t\t\treturn i18n.t(\"Organisation unit\");\n\t\tcase \"dx\":\n\t\t\treturn i18n.t(\"Data\");\n\t\tdefault:\n\t\t\treturn \"\";\n\t}\n}\n\nexport function getOrgUnitSelectionFromIds(ous: string[]) {\n\tconst orgUnitSelection: OrgUnitSelection = {\n\t\torgUnits: [],\n\t};\n\tforEach(ous, (ou) => {\n\t\tif (ou === \"USER_ORGUNIT\") {\n\t\t\tset(orgUnitSelection, [\"userOrgUnit\"], true);\n\t\t} else if (ou === \"USER_ORGUNIT_CHILDREN\") {\n\t\t\tset(orgUnitSelection, [\"userSubUnit\"], true);\n\t\t} else if (ou === \"USER_ORGUNIT_GRANDCHILDREN\") {\n\t\t\tset(orgUnitSelection, [\"userSubX2Unit\"], true);\n\t\t} else {\n\t\t\tconst orgUnits = [...(orgUnitSelection.orgUnits ?? [])];\n\t\t\torgUnits.push({\n\t\t\t\tid: ou,\n\t\t\t\tchildren: [],\n\t\t\t\tpath: \"\",\n\t\t\t});\n\t\t\tset(orgUnitSelection, [\"orgUnits\"], orgUnits);\n\t\t}\n\t});\n\treturn orgUnitSelection;\n}\n\nexport function PivotTableRenderer({\n\toptions,\n}: {\n\toptions: DHIS2PivotTableOptions & PivotTableLayoutProps;\n}) {\n\tconst [layout] = useLayout();\n\tconst { analytics } = useAnalyticsData();\n\n\tconst sanitizedLayout = useMemo(() => {\n\t\treturn mapValues(layout, (dimension) =>\n\t\t\tdimension.map((dimension) => ({\n\t\t\t\tdimension,\n\t\t\t\tlabel: getDimensionLabel(dimension),\n\t\t\t})),\n\t\t);\n\t}, [layout]);\n\n\tif (!analytics) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<DHIS2PivotTable\n\t\t\ttableProps={{\n\t\t\t\tscrollHeight: options.scrollHeight ?? \"100%\",\n\t\t\t\tscrollWidth: options.scrollWidth ?? \"100%\",\n\t\t\t\twidth: options.width ?? \"100%\",\n\t\t\t}}\n\t\t\tanalytics={analytics}\n\t\t\tconfig={{ layout: sanitizedLayout, options }}\n\t\t/>\n\t);\n}\n\nexport function ChartRenderer({ options }: { options: ChartConfig }) {\n\tconst { analytics } = useAnalyticsData();\n\tif (!analytics) {\n\t\treturn null;\n\t}\n\treturn <DHIS2Chart analytics={analytics} config={{ ...options }} />;\n}\n\nexport function MapRenderer({\n\toptions,\n}: {\n\toptions: Omit<MapProps, \"orgUnitSelection\" | \"periodSelection\">;\n}) {\n\tconst [dimensions] = useDimensions();\n\tconst { analytics } = useAnalyticsData();\n\tconst orgUnitSelection: OrgUnitSelection = useMemo(() => {\n\t\treturn getOrgUnitSelectionFromIds(dimensions.ou ?? []);\n\t}, [dimensions.ou]);\n\n\tconst thematicLayers: ThematicLayerConfig[] = useMemo(() => {\n\t\tconst valueIndex =\n\t\t\tfindIndex(analytics.headers, [\"name\", \"value\"]) ?? -1;\n\t\treturn (\n\t\t\tanalytics.metaData?.dimensions[\"dx\"]?.map((dataId) => {\n\t\t\t\tconst config = find(options.thematicLayers, [\"id\", dataId]);\n\t\t\t\tconst data: ThematicLayerRawData[] =\n\t\t\t\t\tanalytics.metaData?.dimensions?.ou?.map((ouId) => {\n\t\t\t\t\t\tconst values = filter(\n\t\t\t\t\t\t\tanalytics.rows,\n\t\t\t\t\t\t\t(row) => row.includes(dataId) && row.includes(ouId),\n\t\t\t\t\t\t) as unknown as string[];\n\t\t\t\t\t\tconst value = values.reduce(\n\t\t\t\t\t\t\t(acc, value) => acc + parseFloat(value[valueIndex]),\n\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tdata: value,\n\t\t\t\t\t\t\tdataItem: dataId,\n\t\t\t\t\t\t\torgUnit: ouId,\n\t\t\t\t\t\t};\n\t\t\t\t\t}) ?? [];\n\t\t\t\treturn {\n\t\t\t\t\t...config,\n\t\t\t\t\tdata,\n\t\t\t\t} as ThematicLayerConfig;\n\t\t\t}) ?? []\n\t\t);\n\t}, [\n\t\tanalytics.headers,\n\t\tanalytics.metaData?.dimensions,\n\t\toptions.thematicLayers,\n\t\tanalytics.rows,\n\t]);\n\n\treturn (\n\t\t<DHIS2Map\n\t\t\tperiodSelection={{\n\t\t\t\tperiods: dimensions.pe,\n\t\t\t}}\n\t\t\torgUnitSelection={orgUnitSelection}\n\t\t\tthematicLayers={thematicLayers}\n\t\t/>\n\t);\n}\n\nexport function VisualizationSelector({ config }: VisualizationSelectorProps) {\n\tconst [type] = useVisualizationType();\n\tconst { analytics, loading } = useAnalyticsData();\n\n\tif (loading) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\theight: \"100%\",\n\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\tjustifyContent: \"center\",\n\t\t\t\t\talignItems: \"center\",\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<CircularLoader small />\n\t\t\t</div>\n\t\t);\n\t}\n\tif (!analytics) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{type === \"pivotTable\" && (\n\t\t\t\t<PivotTableRenderer\n\t\t\t\t\toptions={config?.pivotTable as DHIS2PivotTableOptions}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{type === \"chart\" && (\n\t\t\t\t<ChartRenderer options={config?.chart as ChartConfig} />\n\t\t\t)}\n\t\t\t{type === \"map\" && (\n\t\t\t\t<MapRenderer\n\t\t\t\t\toptions={\n\t\t\t\t\t\tconfig?.map as Omit<\n\t\t\t\t\t\t\tMapProps,\n\t\t\t\t\t\t\t\"orgUnitSelection\" | \"periodSelection\"\n\t\t\t\t\t\t>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</>\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/Visualization/components/VisualizationTypeProvider/index.tsx"],"names":[],"mappings":";;;AAYa,MAAA,wBAAA,GACZ,cAAiC,YAAY;AACjC,MAAA,0BAAA,GAA6B,cAExC,MAAS;AACE,MAAA,uBAAA,GAA0B,cAErC,MAAS;AAQJ,SAAS,oBAAuB,GAAA;AACtC,EAAO,OAAA;AAAA,IACN,WAAW,wBAAwB,CAAA;AAAA,IACnC,WAAW,uBAAuB;AAAA,GACnC;AACD;AAEO,SAAS,sBAAyB,GAAA;AACxC,EAAA,OAAO,WAAW,0BAA0B,CAAA;AAC7C;AAEO,SAAS,yBAA0B,CAAA;AAAA,EACzC,QAAA;AAAA,EACA,WAAA;AAAA,EACA;AACD,CAAmC,EAAA;AAClC,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAI,SAA4B,WAAW,CAAA;AAE/D,EACC,uBAAA,GAAA,CAAC,yBAAyB,QAAzB,EAAA,EAAkC,OAAO,IACzC,EAAA,QAAA,kBAAA,GAAA,CAAC,2BAA2B,QAA3B,EAAA,EAAoC,OAAO,MAC3C,EAAA,QAAA,kBAAA,GAAA,CAAC,wBAAwB,QAAxB,EAAA,EAAiC,OAAO,OACvC,EAAA,QAAA,EACF,GACD,CACD,EAAA,CAAA;AAEF","file":"index.js","sourcesContent":["import {\n\tcreateContext,\n\ttype Dispatch,\n\ttype ReactNode,\n\ttype SetStateAction,\n\tuseContext,\n\tuseState,\n} from \"react\";\nimport { VisualizationConfig } from \"../../index.js\";\n\nexport type VisualizationType = \"pivotTable\" | \"chart\" | \"map\";\n\nexport const VisualizationTypeContext =\n\tcreateContext<VisualizationType>(\"pivotTable\");\nexport const VisualizationConfigContext = createContext<\n\tVisualizationConfig | undefined\n>(undefined);\nexport const VisualizationTypeSetter = createContext<\n\tDispatch<SetStateAction<VisualizationType>> | undefined\n>(undefined);\n\nexport interface VisualizationTypeProviderProps {\n\tchildren: ReactNode;\n\tdefaultType: VisualizationType;\n\tconfig: VisualizationConfig;\n}\n\nexport function useVisualizationType() {\n\treturn [\n\t\tuseContext(VisualizationTypeContext),\n\t\tuseContext(VisualizationTypeSetter),\n\t] as [VisualizationType, Dispatch<SetStateAction<VisualizationType>>];\n}\n\nexport function useVisualizationConfig() {\n\treturn useContext(VisualizationConfigContext);\n}\n\nexport function VisualizationTypeProvider({\n\tchildren,\n\tdefaultType,\n\tconfig,\n}: VisualizationTypeProviderProps) {\n\tconst [type, setType] = useState<VisualizationType>(defaultType);\n\n\treturn (\n\t\t<VisualizationTypeContext.Provider value={type}>\n\t\t\t<VisualizationConfigContext.Provider value={config}>\n\t\t\t\t<VisualizationTypeSetter.Provider value={setType}>\n\t\t\t\t\t{children}\n\t\t\t\t</VisualizationTypeSetter.Provider>\n\t\t\t</VisualizationConfigContext.Provider>\n\t\t</VisualizationTypeContext.Provider>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../../../src/components/Visualization/components/VisualizationTypeProvider/index.tsx"],"names":[],"mappings":";;;AAYO,MAAM,wBAAA,GACZ,cAAiC,YAAY;AACvC,MAAM,0BAAA,GAA6B,cAExC,MAAS;AACJ,MAAM,uBAAA,GAA0B,cAErC,MAAS;AAQJ,SAAS,oBAAA,GAAuB;AACtC,EAAA,OAAO;AAAA,IACN,WAAW,wBAAwB,CAAA;AAAA,IACnC,WAAW,uBAAuB;AAAA,GACnC;AACD;AAEO,SAAS,sBAAA,GAAyB;AACxC,EAAA,OAAO,WAAW,0BAA0B,CAAA;AAC7C;AAEO,SAAS,yBAAA,CAA0B;AAAA,EACzC,QAAA;AAAA,EACA,WAAA;AAAA,EACA;AACD,CAAA,EAAmC;AAClC,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAI,SAA4B,WAAW,CAAA;AAE/D,EAAA,uBACC,GAAA,CAAC,yBAAyB,QAAA,EAAzB,EAAkC,OAAO,IAAA,EACzC,QAAA,kBAAA,GAAA,CAAC,2BAA2B,QAAA,EAA3B,EAAoC,OAAO,MAAA,EAC3C,QAAA,kBAAA,GAAA,CAAC,wBAAwB,QAAA,EAAxB,EAAiC,OAAO,OAAA,EACvC,QAAA,EACF,GACD,CAAA,EACD,CAAA;AAEF","file":"index.js","sourcesContent":["import {\n\tcreateContext,\n\ttype Dispatch,\n\ttype ReactNode,\n\ttype SetStateAction,\n\tuseContext,\n\tuseState,\n} from \"react\";\nimport { VisualizationConfig } from \"../../index.js\";\n\nexport type VisualizationType = \"pivotTable\" | \"chart\" | \"map\";\n\nexport const VisualizationTypeContext =\n\tcreateContext<VisualizationType>(\"pivotTable\");\nexport const VisualizationConfigContext = createContext<\n\tVisualizationConfig | undefined\n>(undefined);\nexport const VisualizationTypeSetter = createContext<\n\tDispatch<SetStateAction<VisualizationType>> | undefined\n>(undefined);\n\nexport interface VisualizationTypeProviderProps {\n\tchildren: ReactNode;\n\tdefaultType: VisualizationType;\n\tconfig: VisualizationConfig;\n}\n\nexport function useVisualizationType() {\n\treturn [\n\t\tuseContext(VisualizationTypeContext),\n\t\tuseContext(VisualizationTypeSetter),\n\t] as [VisualizationType, Dispatch<SetStateAction<VisualizationType>>];\n}\n\nexport function useVisualizationConfig() {\n\treturn useContext(VisualizationConfigContext);\n}\n\nexport function VisualizationTypeProvider({\n\tchildren,\n\tdefaultType,\n\tconfig,\n}: VisualizationTypeProviderProps) {\n\tconst [type, setType] = useState<VisualizationType>(defaultType);\n\n\treturn (\n\t\t<VisualizationTypeContext.Provider value={type}>\n\t\t\t<VisualizationConfigContext.Provider value={config}>\n\t\t\t\t<VisualizationTypeSetter.Provider value={setType}>\n\t\t\t\t\t{children}\n\t\t\t\t</VisualizationTypeSetter.Provider>\n\t\t\t</VisualizationConfigContext.Provider>\n\t\t</VisualizationTypeContext.Provider>\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/Visualization/components/VisualizationTypeSelector/index.tsx"],"names":[],"mappings":";;;;;;AAeA,MAAM,2BAA8B,GAAA;AAAA,EACnC;AAAA,IACC,EAAI,EAAA,YAAA;AAAA,IACJ,IAAA,sBAAO,WAAY,EAAA,EAAA,CAAA;AAAA,IACnB,KAAA,EAAO,IAAK,CAAA,CAAA,CAAE,aAAa;AAAA,GAC5B;AAAA,EACA;AAAA,IACC,EAAI,EAAA,OAAA;AAAA,IACJ,IAAA,sBAAO,yBAA0B,EAAA,EAAA,CAAA;AAAA,IACjC,KAAA,EAAO,IAAK,CAAA,CAAA,CAAE,OAAO;AAAA,GACtB;AAAA,EACA;AAAA,IACC,EAAI,EAAA,KAAA;AAAA,IACJ,IAAA,sBAAO,WAAY,EAAA,EAAA,CAAA;AAAA,IACnB,KAAA,EAAO,IAAK,CAAA,CAAA,CAAE,KAAK;AAAA;AAErB,CAAA;AAEO,SAAS,yBAA4B,GAAA;AAC3C,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAI,oBAAqB,EAAA;AAC7C,EAAA,MAAM,SAAS,sBAAuB,EAAA;AAEtC,EAAA,MAAM,KAAQ,GAAA,OAAA;AAAA,IACb,MACC,2BAAA,CAA4B,MAAO,CAAA,CAAC,aAAkB,KAAA;AACrD,MACC,OAAA,MAAA,CAAO,IAAK,CAAA,MAAA,IAAU,EAAE,CAAE,CAAA,QAAA,CAAS,aAAc,CAAA,EAAE,CACnD,IAAA,aAAA,CAAc,EAAO,KAAA,IAAA;AAAA,KAEtB,CAAA;AAAA,IACF,CAAC,MAAM,MAAM;AAAA,GACd;AAEA,EAAA,2BACE,KAAI,EAAA,EAAA,KAAA,EAAO,EAAE,OAAA,EAAS,QAAQ,GAAK,EAAA,CAAA,EAClC,EAAA,QAAA,EAAA,KAAA,CAAM,IAAI,CAAC,EAAE,IAAM,EAAA,KAAA,EAAO,IAAS,KAAA;AACnC,IACC,uBAAA,GAAA;AAAA,MAAC,OAAA;AAAA,MAAA;AAAA,QAEA,OAAA,EAAS,IAAK,CAAA,CAAA,CAAE,kBAAoB,EAAA;AAAA,UACnC,IAAA,EAAM,MAAM,WAAY;AAAA,SACxB,CAAA;AAAA,QAED,QAAA,kBAAA,GAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACA,OAAA,EAAS,MAAM,OAAA,CAAQ,EAAuB,CAAA;AAAA,YAC9C;AAAA;AAAA;AACD,OAAA;AAAA,MARK,GAAG,KAAK,CAAA,QAAA;AAAA,KASd;AAAA,GAED,CACF,EAAA,CAAA;AAEF","file":"index.js","sourcesContent":["import { useMemo } from \"react\";\nimport {\n\tuseVisualizationConfig,\n\tuseVisualizationType,\n\tVisualizationType,\n} from \"../VisualizationTypeProvider/index.js\";\nimport {\n\tButton,\n\tIconTable24,\n\tIconVisualizationColumn24,\n\tIconWorld24,\n\tTooltip,\n} from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\n\nconst supportedVisualizationTypes = [\n\t{\n\t\tid: \"pivotTable\",\n\t\ticon: <IconTable24 />,\n\t\tlabel: i18n.t(\"Pivot table\"),\n\t},\n\t{\n\t\tid: \"chart\",\n\t\ticon: <IconVisualizationColumn24 />,\n\t\tlabel: i18n.t(\"Chart\"),\n\t},\n\t{\n\t\tid: \"map\",\n\t\ticon: <IconWorld24 />,\n\t\tlabel: i18n.t(\"Map\"),\n\t},\n];\n\nexport function VisualizationTypeSelector() {\n\tconst [type, setType] = useVisualizationType();\n\tconst config = useVisualizationConfig();\n\n\tconst types = useMemo(\n\t\t() =>\n\t\t\tsupportedVisualizationTypes.filter((supportedType) => {\n\t\t\t\treturn (\n\t\t\t\t\tObject.keys(config ?? {}).includes(supportedType.id) &&\n\t\t\t\t\tsupportedType.id !== type\n\t\t\t\t);\n\t\t\t}),\n\t\t[type, config],\n\t);\n\n\treturn (\n\t\t<div style={{ display: \"flex\", gap: 8 }}>\n\t\t\t{types.map(({ icon, label, id }) => {\n\t\t\t\treturn (\n\t\t\t\t\t<Tooltip\n\t\t\t\t\t\tkey={`${label}-tooltip`}\n\t\t\t\t\t\tcontent={i18n.t(\"View as {{type}}\", {\n\t\t\t\t\t\t\ttype: label.toLowerCase(),\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tonClick={() => setType(id as VisualizationType)}\n\t\t\t\t\t\t\ticon={icon}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t);\n\t\t\t})}\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../../../src/components/Visualization/components/VisualizationTypeSelector/index.tsx"],"names":[],"mappings":";;;;;;AAeA,MAAM,2BAAA,GAA8B;AAAA,EACnC;AAAA,IACC,EAAA,EAAI,YAAA;AAAA,IACJ,IAAA,sBAAO,WAAA,EAAA,EAAY,CAAA;AAAA,IACnB,KAAA,EAAO,IAAA,CAAK,CAAA,CAAE,aAAa;AAAA,GAC5B;AAAA,EACA;AAAA,IACC,EAAA,EAAI,OAAA;AAAA,IACJ,IAAA,sBAAO,yBAAA,EAAA,EAA0B,CAAA;AAAA,IACjC,KAAA,EAAO,IAAA,CAAK,CAAA,CAAE,OAAO;AAAA,GACtB;AAAA,EACA;AAAA,IACC,EAAA,EAAI,KAAA;AAAA,IACJ,IAAA,sBAAO,WAAA,EAAA,EAAY,CAAA;AAAA,IACnB,KAAA,EAAO,IAAA,CAAK,CAAA,CAAE,KAAK;AAAA;AAErB,CAAA;AAEO,SAAS,yBAAA,GAA4B;AAC3C,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAI,oBAAA,EAAqB;AAC7C,EAAA,MAAM,SAAS,sBAAA,EAAuB;AAEtC,EAAA,MAAM,KAAA,GAAQ,OAAA;AAAA,IACb,MACC,2BAAA,CAA4B,MAAA,CAAO,CAAC,aAAA,KAAkB;AACrD,MAAA,OACC,MAAA,CAAO,IAAA,CAAK,MAAA,IAAU,EAAE,CAAA,CAAE,QAAA,CAAS,aAAA,CAAc,EAAE,CAAA,IACnD,aAAA,CAAc,EAAA,KAAO,IAAA;AAAA,IAEvB,CAAC,CAAA;AAAA,IACF,CAAC,MAAM,MAAM;AAAA,GACd;AAEA,EAAA,2BACE,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,QAAQ,GAAA,EAAK,CAAA,EAAE,EACpC,QAAA,EAAA,KAAA,CAAM,IAAI,CAAC,EAAE,IAAA,EAAM,KAAA,EAAO,IAAG,KAAM;AACnC,IAAA,uBACC,GAAA;AAAA,MAAC,OAAA;AAAA,MAAA;AAAA,QAEA,OAAA,EAAS,IAAA,CAAK,CAAA,CAAE,kBAAA,EAAoB;AAAA,UACnC,IAAA,EAAM,MAAM,WAAA;AAAY,SACxB,CAAA;AAAA,QAED,QAAA,kBAAA,GAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACA,OAAA,EAAS,MAAM,OAAA,CAAQ,EAAuB,CAAA;AAAA,YAC9C;AAAA;AAAA;AACD,OAAA;AAAA,MARK,GAAG,KAAK,CAAA,QAAA;AAAA,KASd;AAAA,EAEF,CAAC,CAAA,EACF,CAAA;AAEF","file":"index.js","sourcesContent":["import { useMemo } from \"react\";\nimport {\n\tuseVisualizationConfig,\n\tuseVisualizationType,\n\tVisualizationType,\n} from \"../VisualizationTypeProvider/index.js\";\nimport {\n\tButton,\n\tIconTable24,\n\tIconVisualizationColumn24,\n\tIconWorld24,\n\tTooltip,\n} from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\n\nconst supportedVisualizationTypes = [\n\t{\n\t\tid: \"pivotTable\",\n\t\ticon: <IconTable24 />,\n\t\tlabel: i18n.t(\"Pivot table\"),\n\t},\n\t{\n\t\tid: \"chart\",\n\t\ticon: <IconVisualizationColumn24 />,\n\t\tlabel: i18n.t(\"Chart\"),\n\t},\n\t{\n\t\tid: \"map\",\n\t\ticon: <IconWorld24 />,\n\t\tlabel: i18n.t(\"Map\"),\n\t},\n];\n\nexport function VisualizationTypeSelector() {\n\tconst [type, setType] = useVisualizationType();\n\tconst config = useVisualizationConfig();\n\n\tconst types = useMemo(\n\t\t() =>\n\t\t\tsupportedVisualizationTypes.filter((supportedType) => {\n\t\t\t\treturn (\n\t\t\t\t\tObject.keys(config ?? {}).includes(supportedType.id) &&\n\t\t\t\t\tsupportedType.id !== type\n\t\t\t\t);\n\t\t\t}),\n\t\t[type, config],\n\t);\n\n\treturn (\n\t\t<div style={{ display: \"flex\", gap: 8 }}>\n\t\t\t{types.map(({ icon, label, id }) => {\n\t\t\t\treturn (\n\t\t\t\t\t<Tooltip\n\t\t\t\t\t\tkey={`${label}-tooltip`}\n\t\t\t\t\t\tcontent={i18n.t(\"View as {{type}}\", {\n\t\t\t\t\t\t\ttype: label.toLowerCase(),\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tonClick={() => setType(id as VisualizationType)}\n\t\t\t\t\t\t\ticon={icon}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t);\n\t\t\t})}\n\t\t</div>\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Visualization/index.tsx"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import React from \"react\";\nimport { AnalyticsDimension } from \"@hisptz/dhis2-utils\";\nimport { VisualizationProvider } from \"./components/VisualizationProvider/index.js\";\nimport { Layout } from \"./components/LayoutProvider/index.js\";\nimport { VisualizationType } from \"./components/VisualizationTypeProvider/index.js\";\nimport { VisualizationTypeSelector } from \"./components/VisualizationTypeSelector/index.js\";\nimport { VisualizationDimensionSelector } from \"./components/VisualizationDimensionSelector/index.js\";\nimport { VisualizationSelector } from \"./components/VisualizationSelector/index.js\";\nimport { DHIS2PivotTableOptions } from \"../DHIS2PivotTable/index.js\";\nimport { ChartConfig } from \"../ChartAnalytics/index.js\";\nimport { MapProps } from \"../Map/index.js\";\nimport { ErrorBoundary, FallbackProps } from \"react-error-boundary\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { Button, colors, IconError24 } from \"@dhis2/ui\";\n\nexport interface VisualizationConfig {\n\tpivotTable?: DHIS2PivotTableOptions;\n\tchart?: ChartConfig;\n\tmap?: Omit<MapProps, \"orgUnitSelection\" | \"periodSelection\">;\n}\n\nexport interface VisualizationProps {\n\tlayout: Layout;\n\tdefaultVisualizationType: VisualizationType;\n\tdimensions: AnalyticsDimension;\n\tconfig: VisualizationConfig;\n\theight?: number;\n\tshowToolbar?: boolean;\n\tshowPeriodSelector?: boolean;\n\tshowOrgUnitSelector?: boolean;\n}\n\n/**\n * An analytics component that allows visualization of `chart`, `map`, and `pivot table` by passing analytics object and the default layout and type\n *\n * */\n\nfunction ErrorFallback({\n\terror,\n\tresetErrorBoundary,\n\theight,\n}: FallbackProps & { height?: number }) {\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\twidth: \"100%\",\n\t\t\t\ttextAlign: \"center\",\n\t\t\t\theight: height ?? 500,\n\t\t\t\tdisplay: \"flex\",\n\t\t\t\tflexDirection: \"column\",\n\t\t\t\talignItems: \"center\",\n\t\t\t\tjustifyContent: \"center\",\n\t\t\t\tgap: 16,\n\t\t\t\tpadding: 16,\n\t\t\t}}\n\t\t>\n\t\t\t<IconError24 />\n\t\t\t<h3\n\t\t\t\tstyle={{\n\t\t\t\t\tcolor: colors.grey800,\n\t\t\t\t\tmargin: 0,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{i18n.t(\"Could not load visualization\")}\n\t\t\t</h3>\n\t\t\t<p style={{ margin: 0 }}>{error.message}</p>\n\t\t\t{resetErrorBoundary && (\n\t\t\t\t<Button onClick={resetErrorBoundary} small>\n\t\t\t\t\t{i18n.t(\"Try again\")}\n\t\t\t\t</Button>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n\nexport function Visualization({\n\tdimensions,\n\tlayout,\n\tdefaultVisualizationType,\n\tconfig,\n\theight,\n\tshowToolbar,\n\tshowOrgUnitSelector,\n\tshowPeriodSelector,\n}: VisualizationProps) {\n\treturn (\n\t\t<ErrorBoundary\n\t\t\tresetKeys={[dimensions, layout, defaultVisualizationType, config]}\n\t\t\tfallbackRender={(props) =>\n\t\t\t\t(<ErrorFallback height={height} {...props} />) as any\n\t\t\t}\n\t\t>\n\t\t\t<VisualizationProvider\n\t\t\t\tconfig={config}\n\t\t\t\ttype={defaultVisualizationType}\n\t\t\t\tlayout={layout}\n\t\t\t\tdimensions={dimensions}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\tflexDirection: \"column\",\n\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\theight: \"100%\",\n\t\t\t\t\t\tgap: 16,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{showToolbar && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\t\t\tflexDirection: \"row\",\n\t\t\t\t\t\t\t\tgap: 16,\n\t\t\t\t\t\t\t\tjustifyContent: \"space-between\",\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<VisualizationTypeSelector />\n\t\t\t\t\t\t\t<VisualizationDimensionSelector\n\t\t\t\t\t\t\t\tshowPeriodSelector={showPeriodSelector}\n\t\t\t\t\t\t\t\tshowOrgUnitSelector={showOrgUnitSelector}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t<>\n\t\t\t\t\t\t<VisualizationSelector config={config} />\n\t\t\t\t\t</>\n\t\t\t\t</div>\n\t\t\t</VisualizationProvider>\n\t\t</ErrorBoundary>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../src/components/Visualization/index.tsx"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import React from \"react\";\nimport { AnalyticsDimension } from \"@hisptz/dhis2-utils\";\nimport { VisualizationProvider } from \"./components/VisualizationProvider/index.js\";\nimport { Layout } from \"./components/LayoutProvider/index.js\";\nimport { VisualizationType } from \"./components/VisualizationTypeProvider/index.js\";\nimport { VisualizationTypeSelector } from \"./components/VisualizationTypeSelector/index.js\";\nimport { VisualizationDimensionSelector } from \"./components/VisualizationDimensionSelector/index.js\";\nimport { VisualizationSelector } from \"./components/VisualizationSelector/index.js\";\nimport { DHIS2PivotTableOptions } from \"../DHIS2PivotTable/index.js\";\nimport { ChartConfig } from \"../ChartAnalytics/index.js\";\nimport { MapProps } from \"../Map/index.js\";\nimport { ErrorBoundary, FallbackProps } from \"react-error-boundary\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { Button, colors, IconError24 } from \"@dhis2/ui\";\n\nexport interface VisualizationConfig {\n\tpivotTable?: DHIS2PivotTableOptions;\n\tchart?: ChartConfig;\n\tmap?: Omit<MapProps, \"orgUnitSelection\" | \"periodSelection\">;\n}\n\nexport interface VisualizationProps {\n\tlayout: Layout;\n\tdefaultVisualizationType: VisualizationType;\n\tdimensions: AnalyticsDimension;\n\tconfig: VisualizationConfig;\n\theight?: number;\n\tshowToolbar?: boolean;\n\tshowPeriodSelector?: boolean;\n\tshowOrgUnitSelector?: boolean;\n}\n\n/**\n * An analytics component that allows visualization of `chart`, `map`, and `pivot table` by passing analytics object and the default layout and type\n *\n * */\n\nfunction ErrorFallback({\n\terror,\n\tresetErrorBoundary,\n\theight,\n}: FallbackProps & { height?: number }) {\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\twidth: \"100%\",\n\t\t\t\ttextAlign: \"center\",\n\t\t\t\theight: height ?? 500,\n\t\t\t\tdisplay: \"flex\",\n\t\t\t\tflexDirection: \"column\",\n\t\t\t\talignItems: \"center\",\n\t\t\t\tjustifyContent: \"center\",\n\t\t\t\tgap: 16,\n\t\t\t\tpadding: 16,\n\t\t\t}}\n\t\t>\n\t\t\t<IconError24 />\n\t\t\t<h3\n\t\t\t\tstyle={{\n\t\t\t\t\tcolor: colors.grey800,\n\t\t\t\t\tmargin: 0,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{i18n.t(\"Could not load visualization\")}\n\t\t\t</h3>\n\t\t\t<p style={{ margin: 0 }}>{error.message}</p>\n\t\t\t{resetErrorBoundary && (\n\t\t\t\t<Button onClick={resetErrorBoundary} small>\n\t\t\t\t\t{i18n.t(\"Try again\")}\n\t\t\t\t</Button>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n\nexport function Visualization({\n\tdimensions,\n\tlayout,\n\tdefaultVisualizationType,\n\tconfig,\n\theight,\n\tshowToolbar,\n\tshowOrgUnitSelector,\n\tshowPeriodSelector,\n}: VisualizationProps) {\n\treturn (\n\t\t<ErrorBoundary\n\t\t\tresetKeys={[dimensions, layout, defaultVisualizationType, config]}\n\t\t\tfallbackRender={(props) =>\n\t\t\t\t(<ErrorFallback height={height} {...props} />) as any\n\t\t\t}\n\t\t>\n\t\t\t<VisualizationProvider\n\t\t\t\tconfig={config}\n\t\t\t\ttype={defaultVisualizationType}\n\t\t\t\tlayout={layout}\n\t\t\t\tdimensions={dimensions}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\tflexDirection: \"column\",\n\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\theight: \"100%\",\n\t\t\t\t\t\tgap: 16,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{showToolbar && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\t\t\tflexDirection: \"row\",\n\t\t\t\t\t\t\t\tgap: 16,\n\t\t\t\t\t\t\t\tjustifyContent: \"space-between\",\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<VisualizationTypeSelector />\n\t\t\t\t\t\t\t<VisualizationDimensionSelector\n\t\t\t\t\t\t\t\tshowPeriodSelector={showPeriodSelector}\n\t\t\t\t\t\t\t\tshowOrgUnitSelector={showOrgUnitSelector}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t<>\n\t\t\t\t\t\t<VisualizationSelector config={config} />\n\t\t\t\t\t</>\n\t\t\t\t</div>\n\t\t\t</VisualizationProvider>\n\t\t</ErrorBoundary>\n\t);\n}\n"]}
@@ -0,0 +1,63 @@
1
+ {
2
+ "name": "@hisptz/dhis2-analytics",
3
+ "version": "2.1.28",
4
+ "main": "./dist/index.js",
5
+ "module": "./dist/esm/index.js",
6
+ "types": "./dist/types/index.d.ts",
7
+ "typings": "./dist/types/index.d.ts",
8
+ "exports": {
9
+ "import": "./dist/esm/index.js",
10
+ "require": "./dist/index.js",
11
+ "types": "./dist/types/index.d.ts"
12
+ },
13
+ "sideEffects": false,
14
+ "license": "MIT",
15
+ "files": [
16
+ "dist/**",
17
+ "package.json"
18
+ ],
19
+ "scripts": {
20
+ "build": "tsup && tsc",
21
+ "dev": "tsup --watch",
22
+ "lint": "eslint . --max-warnings 0",
23
+ "clean": "rm -rf .turbo && rm -rf node_modules && rm -rf dist"
24
+ },
25
+ "dependencies": {
26
+ "@hisptz/dhis2-ui": "workspace:*",
27
+ "@hisptz/dhis2-utils": "workspace:*",
28
+ "@react-leaflet/core": "^2.1.0",
29
+ "@react-pdf/renderer": "^4.0.0",
30
+ "@tanstack/react-table": "^8.19.3",
31
+ "async-es": "^3.2.5",
32
+ "d3-color": "^3.1.0",
33
+ "d3-scale": "^4.0.2",
34
+ "file-saver": "^2.0.5",
35
+ "geolib": "^3.3.4",
36
+ "jotai-devtools": "^0.10.1",
37
+ "leaflet": "^1.9.4",
38
+ "leaflet-easyprint": "^2.1.9",
39
+ "leaflet.fullscreen": "^4.0.0",
40
+ "luxon": "^3.4.4",
41
+ "react-circular-progressbar": "^2.1.0",
42
+ "react-dnd": "^16.0.1",
43
+ "react-dnd-html5-backend": "^16.0.1",
44
+ "react-error-boundary": "^4.0.12",
45
+ "react-helmet": "^6.1.0",
46
+ "react-leaflet": "^4.2.1",
47
+ "react-leaflet-custom-control": "^1.4.0",
48
+ "react-spring": "^9.6.1",
49
+ "react-to-print": "^3.0.1",
50
+ "screenfull": "^6.0.2",
51
+ "xlsx": "^0.18.5"
52
+ },
53
+ "peerDependencies": {
54
+ "classnames": "^2",
55
+ "highcharts": "^12",
56
+ "highcharts-react-official": "^3",
57
+ "lodash": "^4",
58
+ "zod": "^3"
59
+ },
60
+ "publishConfig": {
61
+ "access": "public"
62
+ }
63
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../../../../src/components/ChartAnalytics/services/export.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,YAAY,CAAC;AACzC,OAAO,eAAe,MAAM,2BAA2B,CAAC;AACxD,OAAO,8BAA8B,CAAC;AACtC,OAAO,gCAAgC,CAAC;AACxC,OAAO,gCAAgC,CAAC;AACxC,OAAO,kCAAkC,CAAC;AAE1C;;KAEK;AACL,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,OAAO,UAAU,QAInE;AAED,wBAAgB,gBAAgB,CAC/B,QAAQ,EAAE,eAAe,CAAC,SAAS,EACnC,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,QAG5B;AAED,wBAAgB,aAAa,CAC5B,QAAQ,EAAE,eAAe,CAAC,SAAS,EACnC,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,QAG5B;AAED,wBAAgB,aAAa,CAC5B,QAAQ,EAAE,eAAe,CAAC,SAAS,EACnC,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,QAG5B;AAED,eAAO,MAAM,eAAe,GAC3B,UAAU,eAAe,CAAC,SAAS,EACnC,MAAM,KAAK,GAAG,SAAS,GAAG,MAAM,EAChC,UAAU,UAAU,CAAC,OAAO,SAG5B,CAAC;AAEF,eAAO,MAAM,aAAa,GACzB,UAAU,eAAe,CAAC,SAAS,EACnC,MAAM,OAAO,SAUb,CAAC"}
1
+ {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../../../../src/components/ChartAnalytics/services/export.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,YAAY,CAAC;AACzC,OAAO,eAAe,MAAM,2BAA2B,CAAC;AACxD,OAAO,8BAA8B,CAAC;AACtC,OAAO,gCAAgC,CAAC;AACxC,OAAO,gCAAgC,CAAC;AACxC,OAAO,kCAAkC,CAAC;AAE1C;;KAEK;AACL,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,OAAO,UAAU,QAInE;AAED,wBAAgB,gBAAgB,CAC/B,QAAQ,EAAE,eAAe,CAAC,SAAS,EACnC,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,QAG5B;AAED,wBAAgB,aAAa,CAC5B,QAAQ,EAAE,eAAe,CAAC,SAAS,EACnC,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,QAK5B;AAED,wBAAgB,aAAa,CAC5B,QAAQ,EAAE,eAAe,CAAC,SAAS,EACnC,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,QAK5B;AAED,eAAO,MAAM,eAAe,GAC3B,UAAU,eAAe,CAAC,SAAS,EACnC,MAAM,KAAK,GAAG,SAAS,GAAG,MAAM,EAChC,UAAU,UAAU,CAAC,OAAO,SAI5B,CAAC;AAEF,eAAO,MAAM,aAAa,GACzB,UAAU,eAAe,CAAC,SAAS,EACnC,MAAM,OAAO,SAUb,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/DHIS2PivotTable/components/TableHeaders/index.tsx"],"names":[],"mappings":"AA6GA,wBAAgB,YAAY,sDAmB3B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/DHIS2PivotTable/components/TableHeaders/index.tsx"],"names":[],"mappings":"AA+GA,wBAAgB,YAAY,sDAmB3B"}
@@ -6,6 +6,7 @@ export declare function LegendItem({ legend, value, }: {
6
6
  startValue: number;
7
7
  endValue: number;
8
8
  color: string;
9
+ name?: string;
9
10
  };
10
11
  value: number;
11
12
  }): import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"ChoroplethLegend.d.ts","sourceRoot":"","sources":["../../../../../../../../../../../src/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.tsx"],"names":[],"mappings":"AAAA,OAAO,6BAA6B,CAAC;AAErC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAGlD,OAAO,EACN,iBAAiB,EACjB,qBAAqB,EACrB,MAAM,2BAA2B,CAAC;AAQnC,wBAAgB,UAAU,CAAC,EAC1B,MAAM,EACN,KAAK,GACL,EAAE;IACF,MAAM,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAChE,KAAK,EAAE,MAAM,CAAC;CACd,2CAWA;;UAUO,iBAAiB,EAAE;cACf,qBAAqB;WACxB,MAAM;kBACC,OAAO;iBACR,MAAM,IAAI;aACd,MAAM,EAAE;;AAyBnB,wBAA4C"}
1
+ {"version":3,"file":"ChoroplethLegend.d.ts","sourceRoot":"","sources":["../../../../../../../../../../../src/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.tsx"],"names":[],"mappings":"AAAA,OAAO,6BAA6B,CAAC;AAErC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAGlD,OAAO,EACN,iBAAiB,EACjB,qBAAqB,EACrB,MAAM,2BAA2B,CAAC;AAQnC,wBAAgB,UAAU,CAAC,EAC1B,MAAM,EACN,KAAK,GACL,EAAE;IACF,MAAM,EAAE;QACP,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;IACF,KAAK,EAAE,MAAM,CAAC;CACd,2CAoDA;;UAUO,iBAAiB,EAAE;cACf,qBAAqB;WACxB,MAAM;kBACC,OAAO;iBACR,MAAM,IAAI;aACd,MAAM,EAAE;;AAyBnB,wBAA4C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hisptz/dhis2-analytics",
3
- "version": "2.1.28",
3
+ "version": "2.1.30",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/esm/index.js",
6
6
  "types": "./dist/types/index.d.ts",
@@ -17,7 +17,9 @@
17
17
  "package.json"
18
18
  ],
19
19
  "devDependencies": {
20
- "@dhis2/app-runtime": "^3.14.1",
20
+ "@dhis2/app-runtime": "^3.14.5",
21
+ "@dhis2/d2-i18n": "^1.1.3",
22
+ "@dhis2/ui": "^10.9.1",
21
23
  "@google/earthengine": "^1.5.21",
22
24
  "@storybook/react": "^7.6.7",
23
25
  "@tanstack/react-query": "^4.36.1",
@@ -74,8 +76,8 @@
74
76
  "react-to-print": "^3.0.1",
75
77
  "screenfull": "^6.0.2",
76
78
  "xlsx": "^0.18.5",
77
- "@hisptz/dhis2-ui": "2.0.50",
78
- "@hisptz/dhis2-utils": "2.0.18"
79
+ "@hisptz/dhis2-ui": "2.0.51",
80
+ "@hisptz/dhis2-utils": "2.0.19"
79
81
  },
80
82
  "peerDependencies": {
81
83
  "classnames": "^2",