@hisptz/dhis2-analytics 2.1.27 → 2.1.29

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 (214) 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.map +1 -1
  61. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/index.js.map +1 -1
  62. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/CustomTooltip/index.js.map +1 -1
  63. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/LabelMarker/index.js.map +1 -1
  64. package/dist/components/Map/components/MapLayer/components/ThematicLayer/hooks/config.js.map +1 -1
  65. package/dist/components/Map/components/MapLayer/components/ThematicLayer/index.js.map +1 -1
  66. package/dist/components/Map/components/MapLayer/components/ThematicLayer/utils/label.js.map +1 -1
  67. package/dist/components/Map/components/MapLayer/index.js.map +1 -1
  68. package/dist/components/Map/components/MapLayer/interfaces/index.js.map +1 -1
  69. package/dist/components/Map/components/MapProvider/components/MapLayerProvider/hooks/index.js.map +1 -1
  70. package/dist/components/Map/components/MapProvider/components/MapLayerProvider/index.js.map +1 -1
  71. package/dist/components/Map/components/MapProvider/hooks/index.js.map +1 -1
  72. package/dist/components/Map/components/MapProvider/index.js +1 -1
  73. package/dist/components/Map/components/MapProvider/index.js.map +1 -1
  74. package/dist/components/Map/components/MapTitle/index.js.map +1 -1
  75. package/dist/components/Map/components/MapUpdater/index.js.map +1 -1
  76. package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfigModal.js.map +1 -1
  77. package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfiguration.js.map +1 -1
  78. package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/components/ColorScale/index.js.map +1 -1
  79. package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/constants/colors.js.map +1 -1
  80. package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/index.js.map +1 -1
  81. package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/utils/colors.js.map +1 -1
  82. package/dist/components/Map/components/ThematicLayerConfiguration/components/CustomLegend/index.js.map +1 -1
  83. package/dist/components/Map/components/ThematicLayerConfiguration/components/IndicatorSelectorModal/index.js.map +1 -1
  84. package/dist/components/Map/components/ThematicLayerConfiguration/components/LegendSetSelector/index.js.map +1 -1
  85. package/dist/components/Map/components/ThematicLayerConfiguration/components/RadiusField.js.map +1 -1
  86. package/dist/components/Map/components/ThematicLayerConfiguration/components/TypeField.js.map +1 -1
  87. package/dist/components/Map/constants/colors.js.map +1 -1
  88. package/dist/components/Map/constants/legendSet.js.map +1 -1
  89. package/dist/components/Map/hooks/map.js.map +1 -1
  90. package/dist/components/Map/state/index.js.map +1 -1
  91. package/dist/components/Map/utils/colors.js.map +1 -1
  92. package/dist/components/Map/utils/helpers.js.map +1 -1
  93. package/dist/components/Map/utils/map.js.map +1 -1
  94. package/dist/components/SingleValueContainer/SingleValueVisualizer.js.map +1 -1
  95. package/dist/components/SingleValueContainer/components/SingleValueItem/SingleValueItem.js.map +1 -1
  96. package/dist/components/SingleValueContainer/components/SingleValueItem/SingleValuePercentage.js.map +1 -1
  97. package/dist/components/Visualization/components/AnalyticsDataProvider/index.js.map +1 -1
  98. package/dist/components/Visualization/components/DimensionsProvider/index.js.map +1 -1
  99. package/dist/components/Visualization/components/LayoutProvider/index.js.map +1 -1
  100. package/dist/components/Visualization/components/VisualizationDimensionSelector/index.js.map +1 -1
  101. package/dist/components/Visualization/components/VisualizationProvider/index.js.map +1 -1
  102. package/dist/components/Visualization/components/VisualizationSelector/index.js.map +1 -1
  103. package/dist/components/Visualization/components/VisualizationTypeProvider/index.js.map +1 -1
  104. package/dist/components/Visualization/components/VisualizationTypeSelector/index.js.map +1 -1
  105. package/dist/components/Visualization/index.js.map +1 -1
  106. package/dist/esm/components/ChartAnalytics/DHIS2Chart.js.map +1 -1
  107. package/dist/esm/components/ChartAnalytics/components/DownloadMenu/components/Menu.js.map +1 -1
  108. package/dist/esm/components/ChartAnalytics/components/DownloadMenu/constants/menu.js.map +1 -1
  109. package/dist/esm/components/ChartAnalytics/components/DownloadMenu/index.js.map +1 -1
  110. package/dist/esm/components/ChartAnalytics/hooks/useChart.js.map +1 -1
  111. package/dist/esm/components/ChartAnalytics/models/area.js.map +1 -1
  112. package/dist/esm/components/ChartAnalytics/models/bar.js.map +1 -1
  113. package/dist/esm/components/ChartAnalytics/models/column.js.map +1 -1
  114. package/dist/esm/components/ChartAnalytics/models/gauge.js.map +1 -1
  115. package/dist/esm/components/ChartAnalytics/models/index.js.map +1 -1
  116. package/dist/esm/components/ChartAnalytics/models/line.js.map +1 -1
  117. package/dist/esm/components/ChartAnalytics/models/multi-series.js.map +1 -1
  118. package/dist/esm/components/ChartAnalytics/models/pie.js.map +1 -1
  119. package/dist/esm/components/ChartAnalytics/models/radar.js.map +1 -1
  120. package/dist/esm/components/ChartAnalytics/models/scatter.js.map +1 -1
  121. package/dist/esm/components/ChartAnalytics/services/export.js.map +1 -1
  122. package/dist/esm/components/ChartAnalytics/utils/chart.js.map +1 -1
  123. package/dist/esm/components/CircularProgressDashboard/CircularProgressIndicator.js.map +1 -1
  124. package/dist/esm/components/DHIS2PivotTable/DHIS2PivotTable.js.map +1 -1
  125. package/dist/esm/components/DHIS2PivotTable/components/Table/index.js.map +1 -1
  126. package/dist/esm/components/DHIS2PivotTable/components/TableBody/index.js.map +1 -1
  127. package/dist/esm/components/DHIS2PivotTable/components/TableHeaders/index.js.map +1 -1
  128. package/dist/esm/components/DHIS2PivotTable/services/engine.js.map +1 -1
  129. package/dist/esm/components/DHIS2PivotTable/state/engine.js.map +1 -1
  130. package/dist/esm/components/DHIS2PivotTable/utils/color.js.map +1 -1
  131. package/dist/esm/components/Map/DHIS2Map.js.map +1 -1
  132. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfigModal.js.map +1 -1
  133. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfiguration.js.map +1 -1
  134. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/AggregationSelector.js.map +1 -1
  135. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/ColorConfig.js.map +1 -1
  136. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/Name.js.map +1 -1
  137. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/PeriodSelector.js.map +1 -1
  138. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/StylesConfig.js.map +1 -1
  139. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/TypeField.js.map +1 -1
  140. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/hooks/data.js.map +1 -1
  141. package/dist/esm/components/Map/components/MapArea/index.js.map +1 -1
  142. package/dist/esm/components/Map/components/MapControls/components/CustomControl/index.js.map +1 -1
  143. package/dist/esm/components/Map/components/MapControls/components/DownloadControl/index.js.map +1 -1
  144. package/dist/esm/components/Map/components/MapControls/components/FullscreenControl/index.js.map +1 -1
  145. package/dist/esm/components/Map/components/MapControls/index.js.map +1 -1
  146. package/dist/esm/components/Map/components/MapLayer/components/BoundaryLayer/hooks/useBoundaryData.js.map +1 -1
  147. package/dist/esm/components/Map/components/MapLayer/components/BoundaryLayer/index.js.map +1 -1
  148. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/components/EarthEngineLegend.js.map +1 -1
  149. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/constants/index.js.map +1 -1
  150. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/hooks/index.js.map +1 -1
  151. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/index.js.map +1 -1
  152. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/services/api.js +22 -22
  153. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/services/api.js.map +1 -1
  154. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/services/engine.js.map +1 -1
  155. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/utils/index.js.map +1 -1
  156. package/dist/esm/components/Map/components/MapLayer/components/LegendArea/components/LegendCardHeader/index.js.map +1 -1
  157. package/dist/esm/components/Map/components/MapLayer/components/LegendArea/index.js.map +1 -1
  158. package/dist/esm/components/Map/components/MapLayer/components/PointLayer/components/PointLegend/index.js.map +1 -1
  159. package/dist/esm/components/Map/components/MapLayer/components/PointLayer/hooks/index.js.map +1 -1
  160. package/dist/esm/components/Map/components/MapLayer/components/PointLayer/index.js.map +1 -1
  161. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubble.js.map +1 -1
  162. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubbles.js.map +1 -1
  163. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/index.js.map +1 -1
  164. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/index.js.map +1 -1
  165. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.js.map +1 -1
  166. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/index.js.map +1 -1
  167. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/CustomTooltip/index.js.map +1 -1
  168. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/LabelMarker/index.js.map +1 -1
  169. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/hooks/config.js.map +1 -1
  170. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/index.js.map +1 -1
  171. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/utils/label.js.map +1 -1
  172. package/dist/esm/components/Map/components/MapLayer/index.js.map +1 -1
  173. package/dist/esm/components/Map/components/MapLayer/interfaces/index.js.map +1 -1
  174. package/dist/esm/components/Map/components/MapProvider/components/MapLayerProvider/hooks/index.js.map +1 -1
  175. package/dist/esm/components/Map/components/MapProvider/components/MapLayerProvider/index.js.map +1 -1
  176. package/dist/esm/components/Map/components/MapProvider/hooks/index.js.map +1 -1
  177. package/dist/esm/components/Map/components/MapProvider/index.js +1 -1
  178. package/dist/esm/components/Map/components/MapProvider/index.js.map +1 -1
  179. package/dist/esm/components/Map/components/MapTitle/index.js.map +1 -1
  180. package/dist/esm/components/Map/components/MapUpdater/index.js.map +1 -1
  181. package/dist/esm/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfigModal.js.map +1 -1
  182. package/dist/esm/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfiguration.js.map +1 -1
  183. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/components/ColorScale/index.js.map +1 -1
  184. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/constants/colors.js.map +1 -1
  185. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/index.js.map +1 -1
  186. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/utils/colors.js.map +1 -1
  187. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/CustomLegend/index.js.map +1 -1
  188. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/IndicatorSelectorModal/index.js.map +1 -1
  189. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/LegendSetSelector/index.js.map +1 -1
  190. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/RadiusField.js.map +1 -1
  191. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/TypeField.js.map +1 -1
  192. package/dist/esm/components/Map/constants/colors.js.map +1 -1
  193. package/dist/esm/components/Map/constants/legendSet.js.map +1 -1
  194. package/dist/esm/components/Map/hooks/map.js.map +1 -1
  195. package/dist/esm/components/Map/state/index.js.map +1 -1
  196. package/dist/esm/components/Map/utils/colors.js.map +1 -1
  197. package/dist/esm/components/Map/utils/helpers.js.map +1 -1
  198. package/dist/esm/components/Map/utils/map.js.map +1 -1
  199. package/dist/esm/components/SingleValueContainer/SingleValueVisualizer.js.map +1 -1
  200. package/dist/esm/components/SingleValueContainer/components/SingleValueItem/SingleValueItem.js.map +1 -1
  201. package/dist/esm/components/SingleValueContainer/components/SingleValueItem/SingleValuePercentage.js.map +1 -1
  202. package/dist/esm/components/Visualization/components/AnalyticsDataProvider/index.js.map +1 -1
  203. package/dist/esm/components/Visualization/components/DimensionsProvider/index.js.map +1 -1
  204. package/dist/esm/components/Visualization/components/LayoutProvider/index.js.map +1 -1
  205. package/dist/esm/components/Visualization/components/VisualizationDimensionSelector/index.js.map +1 -1
  206. package/dist/esm/components/Visualization/components/VisualizationProvider/index.js.map +1 -1
  207. package/dist/esm/components/Visualization/components/VisualizationSelector/index.js.map +1 -1
  208. package/dist/esm/components/Visualization/components/VisualizationTypeProvider/index.js.map +1 -1
  209. package/dist/esm/components/Visualization/components/VisualizationTypeSelector/index.js.map +1 -1
  210. package/dist/esm/components/Visualization/index.js.map +1 -1
  211. package/dist/package.json +63 -0
  212. package/dist/types/components/ChartAnalytics/services/export.d.ts.map +1 -1
  213. package/dist/types/components/DHIS2PivotTable/components/TableHeaders/index.d.ts.map +1 -1
  214. package/package.json +8 -16
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../src/components/Map/components/EarthEngineLayerConfiguration/components/ColorConfig.tsx"],"names":["palette","colorClass"],"mappings":"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","file":"ColorConfig.js","sourcesContent":["import { Controller } from \"react-hook-form\";\nimport {\n\tField,\n\tInputField,\n\tSingleSelectField,\n\tSingleSelectOption,\n} from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport {\n\tdefaultClasses,\n\tdefaultColorScaleName,\n\tgetColorClasses,\n\tgetColorPalette,\n\tgetColorScale,\n} from \"../../../utils/colors.js\";\nimport ColorScaleSelect from \"../../ThematicLayerConfiguration/components/ColorScaleSelect/index.js\";\nimport React from \"react\";\n\nexport function ColorConfig() {\n\treturn (\n\t\t<div className=\"column gap-16\">\n\t\t\t<div className=\"row gap-8\">\n\t\t\t\t<Controller\n\t\t\t\t\trender={({ field, fieldState }) => (\n\t\t\t\t\t\t<InputField\n\t\t\t\t\t\t\t{...field}\n\t\t\t\t\t\t\terror={Boolean(fieldState.error)}\n\t\t\t\t\t\t\tvalidationText={fieldState.error?.message}\n\t\t\t\t\t\t\tvalue={field.value?.toString()}\n\t\t\t\t\t\t\tonChange={({ value }: { value?: string }) => {\n\t\t\t\t\t\t\t\tif (!value) return;\n\t\t\t\t\t\t\t\tfield.onChange(parseInt(value));\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={i18n.t(\"Min\")}\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\tname={\"params.min\"}\n\t\t\t\t/>\n\t\t\t\t<Controller\n\t\t\t\t\trender={({ field, fieldState }) => (\n\t\t\t\t\t\t<InputField\n\t\t\t\t\t\t\t{...field}\n\t\t\t\t\t\t\terror={Boolean(fieldState.error)}\n\t\t\t\t\t\t\tvalidationText={fieldState.error?.message}\n\t\t\t\t\t\t\tvalue={field.value?.toString()}\n\t\t\t\t\t\t\tonChange={({ value }: { value?: string }) => {\n\t\t\t\t\t\t\t\tif (!value) return;\n\t\t\t\t\t\t\t\tfield.onChange(parseInt(value));\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={i18n.t(\"Max\")}\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\tname={\"params.max\"}\n\t\t\t\t/>\n\t\t\t\t<Controller\n\t\t\t\t\tname=\"params.palette\"\n\t\t\t\t\trender={({ field, fieldState }) => {\n\t\t\t\t\t\tconst palette = field.value;\n\t\t\t\t\t\tconst scale = getColorClasses(palette);\n\t\t\t\t\t\tconst colorClass = getColorScale(palette ?? \"\");\n\n\t\t\t\t\t\tconst onChange = ({\n\t\t\t\t\t\t\tselected,\n\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\tselected: string;\n\t\t\t\t\t\t}) => {\n\t\t\t\t\t\t\tconst palette = getColorPalette(\n\t\t\t\t\t\t\t\tcolorClass as string,\n\t\t\t\t\t\t\t\tparseInt(selected),\n\t\t\t\t\t\t\t)?.join(\",\");\n\t\t\t\t\t\t\tfield.onChange(palette);\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<SingleSelectField\n\t\t\t\t\t\t\t\tvalidationText={fieldState.error?.message}\n\t\t\t\t\t\t\t\terror={Boolean(fieldState.error)}\n\t\t\t\t\t\t\t\tselected={\n\t\t\t\t\t\t\t\t\tscale?.toString() ??\n\t\t\t\t\t\t\t\t\tdefaultClasses.toString()\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tlabel={i18n.t(\"Steps\")}\n\t\t\t\t\t\t\t\tonChange={onChange}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{[3, 4, 5, 6, 7, 8, 9].map((value) => (\n\t\t\t\t\t\t\t\t\t<SingleSelectOption\n\t\t\t\t\t\t\t\t\t\tkey={`${value}-classes-option`}\n\t\t\t\t\t\t\t\t\t\tlabel={`${value}`}\n\t\t\t\t\t\t\t\t\t\tvalue={value?.toString()}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</SingleSelectField>\n\t\t\t\t\t\t);\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<Controller\n\t\t\t\t\tname=\"params.palette\"\n\t\t\t\t\trender={({ field, fieldState }) => {\n\t\t\t\t\t\tconst palette = field.value;\n\t\t\t\t\t\tconst scale = getColorClasses(palette);\n\t\t\t\t\t\tconst colorClass = getColorScale(palette ?? \"\");\n\n\t\t\t\t\t\tconst onChange = (colorClass: string) => {\n\t\t\t\t\t\t\tconst palette = getColorPalette(\n\t\t\t\t\t\t\t\tcolorClass,\n\t\t\t\t\t\t\t\tscale,\n\t\t\t\t\t\t\t)?.join(\",\");\n\t\t\t\t\t\t\tfield.onChange(palette);\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Field\n\t\t\t\t\t\t\t\terror={Boolean(fieldState.error)}\n\t\t\t\t\t\t\t\tvalidationText={fieldState.error?.message}\n\t\t\t\t\t\t\t\tlabel={i18n.t(\"Colors\")}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ColorScaleSelect\n\t\t\t\t\t\t\t\t\tcount={scale ?? defaultClasses}\n\t\t\t\t\t\t\t\t\tcolorClass={\n\t\t\t\t\t\t\t\t\t\tcolorClass ?? defaultColorScaleName\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\twidth={300}\n\t\t\t\t\t\t\t\t\tonChange={onChange}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</Field>\n\t\t\t\t\t\t);\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../../../../src/components/Map/components/EarthEngineLayerConfiguration/components/ColorConfig.tsx"],"names":["palette","colorClass"],"mappings":"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","file":"ColorConfig.js","sourcesContent":["import { Controller } from \"react-hook-form\";\nimport {\n\tField,\n\tInputField,\n\tSingleSelectField,\n\tSingleSelectOption,\n} from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport {\n\tdefaultClasses,\n\tdefaultColorScaleName,\n\tgetColorClasses,\n\tgetColorPalette,\n\tgetColorScale,\n} from \"../../../utils/colors.js\";\nimport ColorScaleSelect from \"../../ThematicLayerConfiguration/components/ColorScaleSelect/index.js\";\nimport React from \"react\";\n\nexport function ColorConfig() {\n\treturn (\n\t\t<div className=\"column gap-16\">\n\t\t\t<div className=\"row gap-8\">\n\t\t\t\t<Controller\n\t\t\t\t\trender={({ field, fieldState }) => (\n\t\t\t\t\t\t<InputField\n\t\t\t\t\t\t\t{...field}\n\t\t\t\t\t\t\terror={Boolean(fieldState.error)}\n\t\t\t\t\t\t\tvalidationText={fieldState.error?.message}\n\t\t\t\t\t\t\tvalue={field.value?.toString()}\n\t\t\t\t\t\t\tonChange={({ value }: { value?: string }) => {\n\t\t\t\t\t\t\t\tif (!value) return;\n\t\t\t\t\t\t\t\tfield.onChange(parseInt(value));\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={i18n.t(\"Min\")}\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\tname={\"params.min\"}\n\t\t\t\t/>\n\t\t\t\t<Controller\n\t\t\t\t\trender={({ field, fieldState }) => (\n\t\t\t\t\t\t<InputField\n\t\t\t\t\t\t\t{...field}\n\t\t\t\t\t\t\terror={Boolean(fieldState.error)}\n\t\t\t\t\t\t\tvalidationText={fieldState.error?.message}\n\t\t\t\t\t\t\tvalue={field.value?.toString()}\n\t\t\t\t\t\t\tonChange={({ value }: { value?: string }) => {\n\t\t\t\t\t\t\t\tif (!value) return;\n\t\t\t\t\t\t\t\tfield.onChange(parseInt(value));\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={i18n.t(\"Max\")}\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\tname={\"params.max\"}\n\t\t\t\t/>\n\t\t\t\t<Controller\n\t\t\t\t\tname=\"params.palette\"\n\t\t\t\t\trender={({ field, fieldState }) => {\n\t\t\t\t\t\tconst palette = field.value;\n\t\t\t\t\t\tconst scale = getColorClasses(palette);\n\t\t\t\t\t\tconst colorClass = getColorScale(palette ?? \"\");\n\n\t\t\t\t\t\tconst onChange = ({\n\t\t\t\t\t\t\tselected,\n\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\tselected: string;\n\t\t\t\t\t\t}) => {\n\t\t\t\t\t\t\tconst palette = getColorPalette(\n\t\t\t\t\t\t\t\tcolorClass as string,\n\t\t\t\t\t\t\t\tparseInt(selected),\n\t\t\t\t\t\t\t)?.join(\",\");\n\t\t\t\t\t\t\tfield.onChange(palette);\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<SingleSelectField\n\t\t\t\t\t\t\t\tvalidationText={fieldState.error?.message}\n\t\t\t\t\t\t\t\terror={Boolean(fieldState.error)}\n\t\t\t\t\t\t\t\tselected={\n\t\t\t\t\t\t\t\t\tscale?.toString() ??\n\t\t\t\t\t\t\t\t\tdefaultClasses.toString()\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tlabel={i18n.t(\"Steps\")}\n\t\t\t\t\t\t\t\tonChange={onChange}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{[3, 4, 5, 6, 7, 8, 9].map((value) => (\n\t\t\t\t\t\t\t\t\t<SingleSelectOption\n\t\t\t\t\t\t\t\t\t\tkey={`${value}-classes-option`}\n\t\t\t\t\t\t\t\t\t\tlabel={`${value}`}\n\t\t\t\t\t\t\t\t\t\tvalue={value?.toString()}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</SingleSelectField>\n\t\t\t\t\t\t);\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<Controller\n\t\t\t\t\tname=\"params.palette\"\n\t\t\t\t\trender={({ field, fieldState }) => {\n\t\t\t\t\t\tconst palette = field.value;\n\t\t\t\t\t\tconst scale = getColorClasses(palette);\n\t\t\t\t\t\tconst colorClass = getColorScale(palette ?? \"\");\n\n\t\t\t\t\t\tconst onChange = (colorClass: string) => {\n\t\t\t\t\t\t\tconst palette = getColorPalette(\n\t\t\t\t\t\t\t\tcolorClass,\n\t\t\t\t\t\t\t\tscale,\n\t\t\t\t\t\t\t)?.join(\",\");\n\t\t\t\t\t\t\tfield.onChange(palette);\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Field\n\t\t\t\t\t\t\t\terror={Boolean(fieldState.error)}\n\t\t\t\t\t\t\t\tvalidationText={fieldState.error?.message}\n\t\t\t\t\t\t\t\tlabel={i18n.t(\"Colors\")}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ColorScaleSelect\n\t\t\t\t\t\t\t\t\tcount={scale ?? defaultClasses}\n\t\t\t\t\t\t\t\t\tcolorClass={\n\t\t\t\t\t\t\t\t\t\tcolorClass ?? defaultColorScaleName\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\twidth={300}\n\t\t\t\t\t\t\t\t\tonChange={onChange}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</Field>\n\t\t\t\t\t\t);\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../src/components/Map/components/EarthEngineLayerConfiguration/components/Name.tsx"],"names":[],"mappings":";;;;;;;AAMO,SAAS,IAAO,GAAA;AACtB,EAAA,MAAM,SAAS,OAAQ,EAAA;AACvB,EAAM,MAAA,EAAE,QAAS,EAAA,GAAI,cAAe,EAAA;AACpC,EAAA,SAAA,CAAU,MAAM;AACf,IAAS,QAAA,CAAA,MAAA,EAAQ,QAAQ,IAAI,CAAA;AAC7B,IAAS,QAAA,CAAA,IAAA,EAAM,QAAQ,EAAE,CAAA;AAAA,GAC1B,EAAG,CAAC,MAAM,CAAC,CAAA;AAEX,EACC,uBAAA,GAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MACA,IAAK,EAAA,MAAA;AAAA,MACL,KAAO,EAAA;AAAA,QACN,QAAA,EAAU,IAAK,CAAA,CAAA,CAAE,kBAAkB;AAAA,OACpC;AAAA,MACA,MAAQ,EAAA,CAAC,EAAE,KAAA,EAAO,YACjB,qBAAA,GAAA;AAAA,QAAC,UAAA;AAAA,QAAA;AAAA,UACA,KAAA,EAAO,IAAK,CAAA,CAAA,CAAE,YAAY,CAAA;AAAA,UAC1B,IAAK,EAAA,MAAA;AAAA,UACL,QAAQ,EAAA,IAAA;AAAA,UACR,KAAA,EAAO,OAAQ,CAAA,UAAA,CAAW,KAAK,CAAA;AAAA,UAC/B,cAAA,EAAgB,WAAW,KAAO,EAAA,OAAA;AAAA,UAClC,QAAU,EAAA,CAAC,EAAE,KAAA,EAAgC,KAAA;AAC5C,YAAA,IAAI,CAAC,KAAO,EAAA;AACZ,YAAA,KAAA,CAAM,SAAS,KAAK,CAAA;AAAA,WACrB;AAAA,UACA,OAAO,KAAM,CAAA;AAAA;AAAA;AACd;AAAA,GAEF;AAEF","file":"Name.js","sourcesContent":["import { Controller, useFormContext } from \"react-hook-form\";\nimport { useEffect } from \"react\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { InputField } from \"@dhis2/ui\";\nimport { useType } from \"../hooks/data.js\";\n\nexport function Name() {\n\tconst config = useType();\n\tconst { setValue } = useFormContext();\n\tuseEffect(() => {\n\t\tsetValue(\"name\", config?.name);\n\t\tsetValue(\"id\", config?.id);\n\t}, [config]);\n\n\treturn (\n\t\t<Controller\n\t\t\tname=\"name\"\n\t\t\trules={{\n\t\t\t\trequired: i18n.t(\"Name is required\"),\n\t\t\t}}\n\t\t\trender={({ field, fieldState }) => (\n\t\t\t\t<InputField\n\t\t\t\t\tlabel={i18n.t(\"Layer name\")}\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\trequired\n\t\t\t\t\terror={Boolean(fieldState.error)}\n\t\t\t\t\tvalidationText={fieldState.error?.message}\n\t\t\t\t\tonChange={({ value }: { value?: string }) => {\n\t\t\t\t\t\tif (!value) return;\n\t\t\t\t\t\tfield.onChange(value);\n\t\t\t\t\t}}\n\t\t\t\t\tvalue={field.value}\n\t\t\t\t/>\n\t\t\t)}\n\t\t/>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../../../../src/components/Map/components/EarthEngineLayerConfiguration/components/Name.tsx"],"names":[],"mappings":";;;;;;;AAMO,SAAS,IAAA,GAAO;AACtB,EAAA,MAAM,SAAS,OAAA,EAAQ;AACvB,EAAA,MAAM,EAAE,QAAA,EAAS,GAAI,cAAA,EAAe;AACpC,EAAA,SAAA,CAAU,MAAM;AACf,IAAA,QAAA,CAAS,MAAA,EAAQ,QAAQ,IAAI,CAAA;AAC7B,IAAA,QAAA,CAAS,IAAA,EAAM,QAAQ,EAAE,CAAA;AAAA,EAC1B,CAAA,EAAG,CAAC,MAAM,CAAC,CAAA;AAEX,EAAA,uBACC,GAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MACA,IAAA,EAAK,MAAA;AAAA,MACL,KAAA,EAAO;AAAA,QACN,QAAA,EAAU,IAAA,CAAK,CAAA,CAAE,kBAAkB;AAAA,OACpC;AAAA,MACA,MAAA,EAAQ,CAAC,EAAE,KAAA,EAAO,YAAW,qBAC5B,GAAA;AAAA,QAAC,UAAA;AAAA,QAAA;AAAA,UACA,KAAA,EAAO,IAAA,CAAK,CAAA,CAAE,YAAY,CAAA;AAAA,UAC1B,IAAA,EAAK,MAAA;AAAA,UACL,QAAA,EAAQ,IAAA;AAAA,UACR,KAAA,EAAO,OAAA,CAAQ,UAAA,CAAW,KAAK,CAAA;AAAA,UAC/B,cAAA,EAAgB,WAAW,KAAA,EAAO,OAAA;AAAA,UAClC,QAAA,EAAU,CAAC,EAAE,KAAA,EAAM,KAA0B;AAC5C,YAAA,IAAI,CAAC,KAAA,EAAO;AACZ,YAAA,KAAA,CAAM,SAAS,KAAK,CAAA;AAAA,UACrB,CAAA;AAAA,UACA,OAAO,KAAA,CAAM;AAAA;AAAA;AACd;AAAA,GAEF;AAEF","file":"Name.js","sourcesContent":["import { Controller, useFormContext } from \"react-hook-form\";\nimport { useEffect } from \"react\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { InputField } from \"@dhis2/ui\";\nimport { useType } from \"../hooks/data.js\";\n\nexport function Name() {\n\tconst config = useType();\n\tconst { setValue } = useFormContext();\n\tuseEffect(() => {\n\t\tsetValue(\"name\", config?.name);\n\t\tsetValue(\"id\", config?.id);\n\t}, [config]);\n\n\treturn (\n\t\t<Controller\n\t\t\tname=\"name\"\n\t\t\trules={{\n\t\t\t\trequired: i18n.t(\"Name is required\"),\n\t\t\t}}\n\t\t\trender={({ field, fieldState }) => (\n\t\t\t\t<InputField\n\t\t\t\t\tlabel={i18n.t(\"Layer name\")}\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\trequired\n\t\t\t\t\terror={Boolean(fieldState.error)}\n\t\t\t\t\tvalidationText={fieldState.error?.message}\n\t\t\t\t\tonChange={({ value }: { value?: string }) => {\n\t\t\t\t\t\tif (!value) return;\n\t\t\t\t\t\tfield.onChange(value);\n\t\t\t\t\t}}\n\t\t\t\t\tvalue={field.value}\n\t\t\t\t/>\n\t\t\t)}\n\t\t/>\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../src/components/Map/components/EarthEngineLayerConfiguration/components/PeriodSelector.tsx"],"names":[],"mappings":"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","file":"PeriodSelector.js","sourcesContent":["import { Controller, useFormContext } from \"react-hook-form\";\nimport { useEffect } from \"react\";\nimport { head, isEmpty } from \"lodash\";\nimport {\n\tCenter,\n\tCircularLoader,\n\tSingleSelectField,\n\tSingleSelectOption,\n} from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { useDatasetInfo, useType } from \"../hooks/data.js\";\n\nexport function PeriodSelector() {\n\tconst config = useType();\n\tconst { setValue, getValues } = useFormContext();\n\tconst filters = config?.filters ?? [];\n\tconst hasPeriodFilter = filters.includes(\"period\");\n\tconst { loading, error, periods } = useDatasetInfo(hasPeriodFilter, config);\n\tconst initialPeriod = getValues(\"filters.period\");\n\n\tuseEffect(() => {\n\t\tif (!isEmpty(periods) && !initialPeriod) {\n\t\t\tsetValue(\"filters.period\", head(periods));\n\t\t}\n\t}, [periods]);\n\n\tif (!hasPeriodFilter) {\n\t\treturn null;\n\t}\n\n\tif (error) {\n\t\treturn (\n\t\t\t<div style={{ minWidth: \"100%\", minHeight: 100 }}>\n\t\t\t\t<Center>\n\t\t\t\t\t<p>{error?.message ?? error?.toString()}</p>\n\t\t\t\t</Center>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Controller\n\t\t\tname=\"filters.period\"\n\t\t\trules={{\n\t\t\t\trequired: i18n.t(\"Period is required\"),\n\t\t\t}}\n\t\t\trender={({ field, fieldState }) => (\n\t\t\t\t<div style={{ gap: 4 }} className=\"row align-items-center\">\n\t\t\t\t\t<div style={{ flex: 1 }}>\n\t\t\t\t\t\t<SingleSelectField\n\t\t\t\t\t\t\thelpText={i18n.t(\n\t\t\t\t\t\t\t\t\"Available periods are set by the source data\",\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tloading={loading}\n\t\t\t\t\t\t\tfilterable\n\t\t\t\t\t\t\tlabel={i18n.t(\"Period\")}\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\terror={Boolean(fieldState.error)}\n\t\t\t\t\t\t\tvalidationText={fieldState.error?.message}\n\t\t\t\t\t\t\tonChange={({ selected }: { selected: string }) =>\n\t\t\t\t\t\t\t\tfield.onChange(parseInt(selected))\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tselected={\n\t\t\t\t\t\t\t\tperiods?.includes(field.value)\n\t\t\t\t\t\t\t\t\t? field.value?.toString()\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{periods?.map((period: number) => (\n\t\t\t\t\t\t\t\t<SingleSelectOption\n\t\t\t\t\t\t\t\t\tkey={`${period}-option`}\n\t\t\t\t\t\t\t\t\tvalue={period.toString()}\n\t\t\t\t\t\t\t\t\tlabel={period.toString()}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</SingleSelectField>\n\t\t\t\t\t</div>\n\t\t\t\t\t{loading && <CircularLoader extrasmall />}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t/>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../../../../src/components/Map/components/EarthEngineLayerConfiguration/components/PeriodSelector.tsx"],"names":[],"mappings":"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","file":"PeriodSelector.js","sourcesContent":["import { Controller, useFormContext } from \"react-hook-form\";\nimport { useEffect } from \"react\";\nimport { head, isEmpty } from \"lodash\";\nimport {\n\tCenter,\n\tCircularLoader,\n\tSingleSelectField,\n\tSingleSelectOption,\n} from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { useDatasetInfo, useType } from \"../hooks/data.js\";\n\nexport function PeriodSelector() {\n\tconst config = useType();\n\tconst { setValue, getValues } = useFormContext();\n\tconst filters = config?.filters ?? [];\n\tconst hasPeriodFilter = filters.includes(\"period\");\n\tconst { loading, error, periods } = useDatasetInfo(hasPeriodFilter, config);\n\tconst initialPeriod = getValues(\"filters.period\");\n\n\tuseEffect(() => {\n\t\tif (!isEmpty(periods) && !initialPeriod) {\n\t\t\tsetValue(\"filters.period\", head(periods));\n\t\t}\n\t}, [periods]);\n\n\tif (!hasPeriodFilter) {\n\t\treturn null;\n\t}\n\n\tif (error) {\n\t\treturn (\n\t\t\t<div style={{ minWidth: \"100%\", minHeight: 100 }}>\n\t\t\t\t<Center>\n\t\t\t\t\t<p>{error?.message ?? error?.toString()}</p>\n\t\t\t\t</Center>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Controller\n\t\t\tname=\"filters.period\"\n\t\t\trules={{\n\t\t\t\trequired: i18n.t(\"Period is required\"),\n\t\t\t}}\n\t\t\trender={({ field, fieldState }) => (\n\t\t\t\t<div style={{ gap: 4 }} className=\"row align-items-center\">\n\t\t\t\t\t<div style={{ flex: 1 }}>\n\t\t\t\t\t\t<SingleSelectField\n\t\t\t\t\t\t\thelpText={i18n.t(\n\t\t\t\t\t\t\t\t\"Available periods are set by the source data\",\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tloading={loading}\n\t\t\t\t\t\t\tfilterable\n\t\t\t\t\t\t\tlabel={i18n.t(\"Period\")}\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\terror={Boolean(fieldState.error)}\n\t\t\t\t\t\t\tvalidationText={fieldState.error?.message}\n\t\t\t\t\t\t\tonChange={({ selected }: { selected: string }) =>\n\t\t\t\t\t\t\t\tfield.onChange(parseInt(selected))\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tselected={\n\t\t\t\t\t\t\t\tperiods?.includes(field.value)\n\t\t\t\t\t\t\t\t\t? field.value?.toString()\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{periods?.map((period: number) => (\n\t\t\t\t\t\t\t\t<SingleSelectOption\n\t\t\t\t\t\t\t\t\tkey={`${period}-option`}\n\t\t\t\t\t\t\t\t\tvalue={period.toString()}\n\t\t\t\t\t\t\t\t\tlabel={period.toString()}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</SingleSelectField>\n\t\t\t\t\t</div>\n\t\t\t\t\t{loading && <CircularLoader extrasmall />}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t/>\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../src/components/Map/components/EarthEngineLayerConfiguration/components/StylesConfig.tsx"],"names":[],"mappings":";;;;;AAKO,SAAS,YAAe,GAAA;AAC9B,EAAA,MAAM,SAAS,OAAQ,EAAA;AACvB,EAAM,MAAA,SAAA,GAAY,OAAQ,CAAA,MAAA,EAAQ,MAAM,CAAA;AAExC,EAAA,IAAI,CAAC,SAAW,EAAA;AACf,IAAO,OAAA,IAAA;AAAA;AAGR,EAAA,uBACE,GAAA,CAAA,KAAA,EAAA,EAAI,KAAO,EAAA,EAAE,UAAU,GAAK,EAAA,SAAA,EAAW,GAAI,EAAA,EAAG,SAAU,EAAA,YAAA,EACxD,QAAC,kBAAA,IAAA,CAAA,KAAA,EAAA,EAAI,WAAU,QACd,EAAA,QAAA,EAAA;AAAA,oBAAA,IAAA,CAAC,GACC,EAAA,EAAA,QAAA,EAAA;AAAA,MAAA,IAAA,CAAK,EAAE,MAAM,CAAA;AAAA,MAAE,IAAA;AAAA,MAAG,MAAQ,EAAA;AAAA,KAC5B,EAAA,CAAA;AAAA,wBACC,WAAY,EAAA,EAAA;AAAA,GAAA,EACd,CACD,EAAA,CAAA;AAEF","file":"StylesConfig.js","sourcesContent":["import i18n from \"@dhis2/d2-i18n\";\nimport { ColorConfig } from \"./ColorConfig.js\";\nimport React from \"react\";\nimport { useType } from \"../hooks/data.js\";\n\nexport function StylesConfig() {\n\tconst config = useType();\n\tconst hasParams = Boolean(config?.params);\n\n\tif (!hasParams) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div style={{ minWidth: 200, minHeight: 100 }} className=\"row gap-16\">\n\t\t\t<div className=\"column\">\n\t\t\t\t<p>\n\t\t\t\t\t{i18n.t(\"Unit\")}: {config?.unit}\n\t\t\t\t</p>\n\t\t\t\t<ColorConfig />\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../../../../src/components/Map/components/EarthEngineLayerConfiguration/components/StylesConfig.tsx"],"names":[],"mappings":";;;;;AAKO,SAAS,YAAA,GAAe;AAC9B,EAAA,MAAM,SAAS,OAAA,EAAQ;AACvB,EAAA,MAAM,SAAA,GAAY,OAAA,CAAQ,MAAA,EAAQ,MAAM,CAAA;AAExC,EAAA,IAAI,CAAC,SAAA,EAAW;AACf,IAAA,OAAO,IAAA;AAAA,EACR;AAEA,EAAA,uBACC,GAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,UAAU,GAAA,EAAK,SAAA,EAAW,GAAA,EAAI,EAAG,SAAA,EAAU,YAAA,EACxD,QAAA,kBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,QAAA,EACd,QAAA,EAAA;AAAA,oBAAA,IAAA,CAAC,GAAA,EAAA,EACC,QAAA,EAAA;AAAA,MAAA,IAAA,CAAK,EAAE,MAAM,CAAA;AAAA,MAAE,IAAA;AAAA,MAAG,MAAA,EAAQ;AAAA,KAAA,EAC5B,CAAA;AAAA,wBACC,WAAA,EAAA,EAAY;AAAA,GAAA,EACd,CAAA,EACD,CAAA;AAEF","file":"StylesConfig.js","sourcesContent":["import i18n from \"@dhis2/d2-i18n\";\nimport { ColorConfig } from \"./ColorConfig.js\";\nimport React from \"react\";\nimport { useType } from \"../hooks/data.js\";\n\nexport function StylesConfig() {\n\tconst config = useType();\n\tconst hasParams = Boolean(config?.params);\n\n\tif (!hasParams) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div style={{ minWidth: 200, minHeight: 100 }} className=\"row gap-16\">\n\t\t\t<div className=\"column\">\n\t\t\t\t<p>\n\t\t\t\t\t{i18n.t(\"Unit\")}: {config?.unit}\n\t\t\t\t</p>\n\t\t\t\t<ColorConfig />\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../src/components/Map/components/EarthEngineLayerConfiguration/components/TypeField.tsx"],"names":[],"mappings":";;;;;;;AAUO,SAAS,SAAA,CAAU,EAAE,QAAA,EAAqC,EAAA;AAChE,EAAA,MAAM,eAAkB,GAAA,MAAA;AAAA,IACvB,mBAAA;AAAA,IACA,CAAC,EAAE,EAAG,EAAA,KACL,6BAA8B,CAAA,QAAA,CAAS,EAAE,CAAA,IACzC,EAAE,QAAA,EAAU,QAAS,CAAA,EAAE,CAAK,IAAA,KAAA;AAAA,GAC9B;AACA,EAAM,MAAA,EAAE,QAAS,EAAA,GAAI,cAAe,EAAA;AACpC,EAAM,MAAA,iBAAA,GAAoB,CAAC,QAAqB,KAAA;AAC/C,IAAA,MAAM,SAAS,IAAK,CAAA,eAAA,EAAiB,CAAC,IAAA,EAAM,QAAQ,CAAC,CAAA;AACrD,IAAA,IAAI,CAAC,MAAQ,EAAA;AAEb,IAAA,IAAI,QAAQ,mBAAqB,EAAA;AAChC,MAAS,QAAA,CAAA,cAAA,EAAgB,QAAQ,mBAAmB,CAAA;AAAA,KAC9C,MAAA;AACN,MAAA,QAAA,CAAS,gBAAgB,MAAS,CAAA;AAAA;AAGnC,IAAA,IAAI,QAAQ,MAAQ,EAAA;AACnB,MAAA,MAAM,EAAE,GAAA,EAAK,GAAK,EAAA,OAAA,KAAY,MAAO,CAAA,MAAA;AACrC,MAAA,QAAA,CAAS,cAAc,GAAG,CAAA;AAC1B,MAAA,QAAA,CAAS,cAAc,GAAG,CAAA;AAC1B,MAAA,QAAA,CAAS,kBAAkB,OAAO,CAAA;AAAA,KAC5B,MAAA;AACN,MAAA,QAAA,CAAS,UAAU,MAAS,CAAA;AAAA;AAC7B,GACD;AAEA,EACC,uBAAA,GAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MACA,IAAK,EAAA,MAAA;AAAA,MACL,KAAO,EAAA;AAAA,QACN,QAAA,EAAU,IAAK,CAAA,CAAA,CAAE,kBAAkB;AAAA,OACpC;AAAA,MACA,MAAQ,EAAA,CAAC,EAAE,KAAA,EAAO,YACjB,qBAAA,GAAA;AAAA,QAAC,iBAAA;AAAA,QAAA;AAAA,UACA,KAAA,EAAO,IAAK,CAAA,CAAA,CAAE,YAAY,CAAA;AAAA,UAC1B,QAAQ,EAAA,IAAA;AAAA,UACR,KAAA,EAAO,OAAQ,CAAA,UAAA,CAAW,KAAK,CAAA;AAAA,UAC/B,cAAA,EAAgB,WAAW,KAAO,EAAA,OAAA;AAAA,UAClC,QAAU,EAAA,CAAC,EAAE,QAAA,EAAqC,KAAA;AACjD,YAAA,iBAAA,CAAkB,QAAQ,CAAA;AAC1B,YAAA,KAAA,CAAM,SAAS,QAAQ,CAAA;AAAA,WACxB;AAAA,UACA,QAAA,EACC,OAAQ,CAAA,IAAA,CAAK,eAAiB,EAAA,IAAA,EAAM,MAAM,KAAK,CAAC,CAC7C,GAAA,KAAA,CAAM,KACN,GAAA,MAAA;AAAA,UAGH,QAAA,EAAA,eAAA,EAAiB,GAAI,CAAA,CAAC,KACtB,qBAAA,GAAA;AAAA,YAAC,kBAAA;AAAA,YAAA;AAAA,cAEA,OAAO,KAAM,CAAA,EAAA;AAAA,cACb,OAAO,KAAM,CAAA;AAAA,aAAA;AAAA,YAFR,CAAA,EAAG,MAAM,EAAE,CAAA,OAAA;AAAA,WAIjB;AAAA;AAAA;AACF;AAAA,GAEF;AAEF","file":"TypeField.js","sourcesContent":["import { filter, find } from \"lodash\";\nimport {\n\tEARTH_ENGINE_LAYERS,\n\tSUPPORTED_EARTH_ENGINE_LAYERS,\n} from \"../../MapLayer/components/GoogleEngineLayer/constants/index.js\";\nimport { Controller, useFormContext } from \"react-hook-form\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { SingleSelectField, SingleSelectOption } from \"@dhis2/ui\";\nimport React from \"react\";\n\nexport function TypeField({ excluded }: { excluded?: string[] }) {\n\tconst supportedLayers = filter(\n\t\tEARTH_ENGINE_LAYERS,\n\t\t({ id }) =>\n\t\t\tSUPPORTED_EARTH_ENGINE_LAYERS.includes(id) &&\n\t\t\t!(excluded?.includes(id) ?? false),\n\t);\n\tconst { setValue } = useFormContext();\n\tconst setConfigDefaults = (selected: string) => {\n\t\tconst config = find(supportedLayers, [\"id\", selected]);\n\t\tif (!config) return;\n\n\t\tif (config?.defaultAggregations) {\n\t\t\tsetValue(\"aggregations\", config?.defaultAggregations);\n\t\t} else {\n\t\t\tsetValue(\"aggregations\", undefined);\n\t\t}\n\n\t\tif (config?.params) {\n\t\t\tconst { max, min, palette } = config.params;\n\t\t\tsetValue(\"params.max\", max);\n\t\t\tsetValue(\"params.min\", min);\n\t\t\tsetValue(\"params.palette\", palette);\n\t\t} else {\n\t\t\tsetValue(\"params\", undefined);\n\t\t}\n\t};\n\n\treturn (\n\t\t<Controller\n\t\t\tname=\"type\"\n\t\t\trules={{\n\t\t\t\trequired: i18n.t(\"Type is required\"),\n\t\t\t}}\n\t\t\trender={({ field, fieldState }) => (\n\t\t\t\t<SingleSelectField\n\t\t\t\t\tlabel={i18n.t(\"Layer type\")}\n\t\t\t\t\trequired\n\t\t\t\t\terror={Boolean(fieldState.error)}\n\t\t\t\t\tvalidationText={fieldState.error?.message}\n\t\t\t\t\tonChange={({ selected }: { selected: string }) => {\n\t\t\t\t\t\tsetConfigDefaults(selected);\n\t\t\t\t\t\tfield.onChange(selected);\n\t\t\t\t\t}}\n\t\t\t\t\tselected={\n\t\t\t\t\t\tBoolean(find(supportedLayers, \"id\", field.value))\n\t\t\t\t\t\t\t? field.value\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{supportedLayers?.map((layer) => (\n\t\t\t\t\t\t<SingleSelectOption\n\t\t\t\t\t\t\tkey={`${layer.id}-option`}\n\t\t\t\t\t\t\tvalue={layer.id}\n\t\t\t\t\t\t\tlabel={layer.name}\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t\t</SingleSelectField>\n\t\t\t)}\n\t\t/>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../../../../src/components/Map/components/EarthEngineLayerConfiguration/components/TypeField.tsx"],"names":[],"mappings":";;;;;;;AAUO,SAAS,SAAA,CAAU,EAAE,QAAA,EAAS,EAA4B;AAChE,EAAA,MAAM,eAAA,GAAkB,MAAA;AAAA,IACvB,mBAAA;AAAA,IACA,CAAC,EAAE,EAAA,EAAG,KACL,6BAAA,CAA8B,QAAA,CAAS,EAAE,CAAA,IACzC,EAAE,QAAA,EAAU,QAAA,CAAS,EAAE,CAAA,IAAK,KAAA;AAAA,GAC9B;AACA,EAAA,MAAM,EAAE,QAAA,EAAS,GAAI,cAAA,EAAe;AACpC,EAAA,MAAM,iBAAA,GAAoB,CAAC,QAAA,KAAqB;AAC/C,IAAA,MAAM,SAAS,IAAA,CAAK,eAAA,EAAiB,CAAC,IAAA,EAAM,QAAQ,CAAC,CAAA;AACrD,IAAA,IAAI,CAAC,MAAA,EAAQ;AAEb,IAAA,IAAI,QAAQ,mBAAA,EAAqB;AAChC,MAAA,QAAA,CAAS,cAAA,EAAgB,QAAQ,mBAAmB,CAAA;AAAA,IACrD,CAAA,MAAO;AACN,MAAA,QAAA,CAAS,gBAAgB,MAAS,CAAA;AAAA,IACnC;AAEA,IAAA,IAAI,QAAQ,MAAA,EAAQ;AACnB,MAAA,MAAM,EAAE,GAAA,EAAK,GAAA,EAAK,OAAA,KAAY,MAAA,CAAO,MAAA;AACrC,MAAA,QAAA,CAAS,cAAc,GAAG,CAAA;AAC1B,MAAA,QAAA,CAAS,cAAc,GAAG,CAAA;AAC1B,MAAA,QAAA,CAAS,kBAAkB,OAAO,CAAA;AAAA,IACnC,CAAA,MAAO;AACN,MAAA,QAAA,CAAS,UAAU,MAAS,CAAA;AAAA,IAC7B;AAAA,EACD,CAAA;AAEA,EAAA,uBACC,GAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MACA,IAAA,EAAK,MAAA;AAAA,MACL,KAAA,EAAO;AAAA,QACN,QAAA,EAAU,IAAA,CAAK,CAAA,CAAE,kBAAkB;AAAA,OACpC;AAAA,MACA,MAAA,EAAQ,CAAC,EAAE,KAAA,EAAO,YAAW,qBAC5B,GAAA;AAAA,QAAC,iBAAA;AAAA,QAAA;AAAA,UACA,KAAA,EAAO,IAAA,CAAK,CAAA,CAAE,YAAY,CAAA;AAAA,UAC1B,QAAA,EAAQ,IAAA;AAAA,UACR,KAAA,EAAO,OAAA,CAAQ,UAAA,CAAW,KAAK,CAAA;AAAA,UAC/B,cAAA,EAAgB,WAAW,KAAA,EAAO,OAAA;AAAA,UAClC,QAAA,EAAU,CAAC,EAAE,QAAA,EAAS,KAA4B;AACjD,YAAA,iBAAA,CAAkB,QAAQ,CAAA;AAC1B,YAAA,KAAA,CAAM,SAAS,QAAQ,CAAA;AAAA,UACxB,CAAA;AAAA,UACA,QAAA,EACC,OAAA,CAAQ,IAAA,CAAK,eAAA,EAAiB,IAAA,EAAM,MAAM,KAAK,CAAC,CAAA,GAC7C,KAAA,CAAM,KAAA,GACN,MAAA;AAAA,UAGH,QAAA,EAAA,eAAA,EAAiB,GAAA,CAAI,CAAC,KAAA,qBACtB,GAAA;AAAA,YAAC,kBAAA;AAAA,YAAA;AAAA,cAEA,OAAO,KAAA,CAAM,EAAA;AAAA,cACb,OAAO,KAAA,CAAM;AAAA,aAAA;AAAA,YAFR,CAAA,EAAG,MAAM,EAAE,CAAA,OAAA;AAAA,WAIjB;AAAA;AAAA;AACF;AAAA,GAEF;AAEF","file":"TypeField.js","sourcesContent":["import { filter, find } from \"lodash\";\nimport {\n\tEARTH_ENGINE_LAYERS,\n\tSUPPORTED_EARTH_ENGINE_LAYERS,\n} from \"../../MapLayer/components/GoogleEngineLayer/constants/index.js\";\nimport { Controller, useFormContext } from \"react-hook-form\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { SingleSelectField, SingleSelectOption } from \"@dhis2/ui\";\nimport React from \"react\";\n\nexport function TypeField({ excluded }: { excluded?: string[] }) {\n\tconst supportedLayers = filter(\n\t\tEARTH_ENGINE_LAYERS,\n\t\t({ id }) =>\n\t\t\tSUPPORTED_EARTH_ENGINE_LAYERS.includes(id) &&\n\t\t\t!(excluded?.includes(id) ?? false),\n\t);\n\tconst { setValue } = useFormContext();\n\tconst setConfigDefaults = (selected: string) => {\n\t\tconst config = find(supportedLayers, [\"id\", selected]);\n\t\tif (!config) return;\n\n\t\tif (config?.defaultAggregations) {\n\t\t\tsetValue(\"aggregations\", config?.defaultAggregations);\n\t\t} else {\n\t\t\tsetValue(\"aggregations\", undefined);\n\t\t}\n\n\t\tif (config?.params) {\n\t\t\tconst { max, min, palette } = config.params;\n\t\t\tsetValue(\"params.max\", max);\n\t\t\tsetValue(\"params.min\", min);\n\t\t\tsetValue(\"params.palette\", palette);\n\t\t} else {\n\t\t\tsetValue(\"params\", undefined);\n\t\t}\n\t};\n\n\treturn (\n\t\t<Controller\n\t\t\tname=\"type\"\n\t\t\trules={{\n\t\t\t\trequired: i18n.t(\"Type is required\"),\n\t\t\t}}\n\t\t\trender={({ field, fieldState }) => (\n\t\t\t\t<SingleSelectField\n\t\t\t\t\tlabel={i18n.t(\"Layer type\")}\n\t\t\t\t\trequired\n\t\t\t\t\terror={Boolean(fieldState.error)}\n\t\t\t\t\tvalidationText={fieldState.error?.message}\n\t\t\t\t\tonChange={({ selected }: { selected: string }) => {\n\t\t\t\t\t\tsetConfigDefaults(selected);\n\t\t\t\t\t\tfield.onChange(selected);\n\t\t\t\t\t}}\n\t\t\t\t\tselected={\n\t\t\t\t\t\tBoolean(find(supportedLayers, \"id\", field.value))\n\t\t\t\t\t\t\t? field.value\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{supportedLayers?.map((layer) => (\n\t\t\t\t\t\t<SingleSelectOption\n\t\t\t\t\t\t\tkey={`${layer.id}-option`}\n\t\t\t\t\t\t\tvalue={layer.id}\n\t\t\t\t\t\t\tlabel={layer.name}\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t\t</SingleSelectField>\n\t\t\t)}\n\t\t/>\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../src/components/Map/components/EarthEngineLayerConfiguration/hooks/data.ts"],"names":[],"mappings":";;;;;;;;AASO,SAAS,cAAA,CACf,WACA,MACC,EAAA;AACD,EAAM,MAAA,EAAE,OAAQ,EAAA,GAAI,oBAAqB,EAAA;AAEzC,EAAA,eAAe,OAAU,GAAA;AACxB,IAAA,IAAI,MAAQ,EAAA;AACX,MAAM,MAAA,SAAA,GAAY,MAAM,OAAQ,EAAA;AAChC,MAAA,MAAM,WAAY,CAAA,QAAA,CAAS,SAAU,CAAA,KAAA,EAAO,OAAO,CAAA;AACnD,MAAM,MAAA,MAAA,GAAS,IAAI,WAAY,CAAA;AAAA,QAC9B,OAAS,EAAA;AAAA,OACT,CAAA;AACD,MAAA,OAAO,OAAO,SAAU,EAAA;AAAA;AACzB;AAGD,EAAM,MAAA,EAAE,MAAM,KAAO,EAAA,SAAA,KAAc,QAAS,CAAA,CAAC,MAAM,CAAA,EAAG,OAAO,CAAA;AAE7D,EAAM,MAAA,OAAA,GAAU,QAAQ,MAAM;AAC7B,IAAA,MAAM,WAAY,IAAc,EAAA,QAAA;AAChC,IAAO,OAAA,QAAA,EAAU,GAAI,CAAA,CAAC,OAAiB,KAAA;AACtC,MAAA,OAAO,IAAI,IAAA;AAAA,QACV,OAAA,EAAS,WAAW,mBAAmB;AAAA,SACrC,WAAY,EAAA;AAAA,KACf,CAAA;AAAA,GACF,EAAG,CAAC,IAAI,CAAC,CAAA;AAET,EAAO,OAAA;AAAA,IACN,OAAS,EAAA,SAAA;AAAA,IACT,KAAA;AAAA,IACA;AAAA,GACD;AACD;AAEO,SAAS,OAAU,GAAA;AACzB,EAAA,MAAM,OAAO,QAAS,CAAA;AAAA,IACrB,IAAM,EAAA;AAAA,GACN,CAAA;AACD,EAAA,OAAO,IAAK,CAAA,mBAAA,EAAqB,CAAC,IAAA,EAAM,IAAI,CAAC,CAAA;AAC9C","file":"data.js","sourcesContent":["import { EarthEngineOptions } from \"../../MapLayer/components/GoogleEngineLayer/interfaces/index.js\";\nimport { useGoogleEngineToken } from \"../../MapLayer/components/GoogleEngineLayer/hooks/index.js\";\nimport { EarthEngine } from \"../../MapLayer/components/GoogleEngineLayer/services/engine.js\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport { useMemo } from \"react\";\nimport { useWatch } from \"react-hook-form\";\nimport { find } from \"lodash\";\nimport { EARTH_ENGINE_LAYERS } from \"../../MapLayer/components/GoogleEngineLayer/constants/index.js\";\n\nexport function useDatasetInfo(\n\tshouldRun: boolean,\n\tconfig?: EarthEngineOptions,\n) {\n\tconst { refresh } = useGoogleEngineToken();\n\n\tasync function getInfo() {\n\t\tif (config) {\n\t\t\tconst tokenData = await refresh();\n\t\t\tawait EarthEngine.setToken(tokenData.token, refresh);\n\t\t\tconst engine = new EarthEngine({\n\t\t\t\toptions: config,\n\t\t\t});\n\t\t\treturn engine.getPeriod();\n\t\t}\n\t}\n\n\tconst { data, error, isLoading } = useQuery([config], getInfo);\n\n\tconst periods = useMemo(() => {\n\t\tconst features = (data as any)?.features;\n\t\treturn features?.map((feature: any) => {\n\t\t\treturn new Date(\n\t\t\t\tfeature?.properties[\"system:time_start\"],\n\t\t\t)?.getFullYear();\n\t\t});\n\t}, [data]);\n\n\treturn {\n\t\tloading: isLoading,\n\t\terror: error as any,\n\t\tperiods,\n\t};\n}\n\nexport function useType() {\n\tconst type = useWatch({\n\t\tname: \"type\",\n\t});\n\treturn find(EARTH_ENGINE_LAYERS, [\"id\", type]);\n}\n"]}
1
+ {"version":3,"sources":["../../../../../../../src/components/Map/components/EarthEngineLayerConfiguration/hooks/data.ts"],"names":[],"mappings":";;;;;;;;AASO,SAAS,cAAA,CACf,WACA,MAAA,EACC;AACD,EAAA,MAAM,EAAE,OAAA,EAAQ,GAAI,oBAAA,EAAqB;AAEzC,EAAA,eAAe,OAAA,GAAU;AACxB,IAAA,IAAI,MAAA,EAAQ;AACX,MAAA,MAAM,SAAA,GAAY,MAAM,OAAA,EAAQ;AAChC,MAAA,MAAM,WAAA,CAAY,QAAA,CAAS,SAAA,CAAU,KAAA,EAAO,OAAO,CAAA;AACnD,MAAA,MAAM,MAAA,GAAS,IAAI,WAAA,CAAY;AAAA,QAC9B,OAAA,EAAS;AAAA,OACT,CAAA;AACD,MAAA,OAAO,OAAO,SAAA,EAAU;AAAA,IACzB;AAAA,EACD;AAEA,EAAA,MAAM,EAAE,MAAM,KAAA,EAAO,SAAA,KAAc,QAAA,CAAS,CAAC,MAAM,CAAA,EAAG,OAAO,CAAA;AAE7D,EAAA,MAAM,OAAA,GAAU,QAAQ,MAAM;AAC7B,IAAA,MAAM,WAAY,IAAA,EAAc,QAAA;AAChC,IAAA,OAAO,QAAA,EAAU,GAAA,CAAI,CAAC,OAAA,KAAiB;AACtC,MAAA,OAAO,IAAI,IAAA;AAAA,QACV,OAAA,EAAS,WAAW,mBAAmB;AAAA,SACrC,WAAA,EAAY;AAAA,IAChB,CAAC,CAAA;AAAA,EACF,CAAA,EAAG,CAAC,IAAI,CAAC,CAAA;AAET,EAAA,OAAO;AAAA,IACN,OAAA,EAAS,SAAA;AAAA,IACT,KAAA;AAAA,IACA;AAAA,GACD;AACD;AAEO,SAAS,OAAA,GAAU;AACzB,EAAA,MAAM,OAAO,QAAA,CAAS;AAAA,IACrB,IAAA,EAAM;AAAA,GACN,CAAA;AACD,EAAA,OAAO,IAAA,CAAK,mBAAA,EAAqB,CAAC,IAAA,EAAM,IAAI,CAAC,CAAA;AAC9C","file":"data.js","sourcesContent":["import { EarthEngineOptions } from \"../../MapLayer/components/GoogleEngineLayer/interfaces/index.js\";\nimport { useGoogleEngineToken } from \"../../MapLayer/components/GoogleEngineLayer/hooks/index.js\";\nimport { EarthEngine } from \"../../MapLayer/components/GoogleEngineLayer/services/engine.js\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport { useMemo } from \"react\";\nimport { useWatch } from \"react-hook-form\";\nimport { find } from \"lodash\";\nimport { EARTH_ENGINE_LAYERS } from \"../../MapLayer/components/GoogleEngineLayer/constants/index.js\";\n\nexport function useDatasetInfo(\n\tshouldRun: boolean,\n\tconfig?: EarthEngineOptions,\n) {\n\tconst { refresh } = useGoogleEngineToken();\n\n\tasync function getInfo() {\n\t\tif (config) {\n\t\t\tconst tokenData = await refresh();\n\t\t\tawait EarthEngine.setToken(tokenData.token, refresh);\n\t\t\tconst engine = new EarthEngine({\n\t\t\t\toptions: config,\n\t\t\t});\n\t\t\treturn engine.getPeriod();\n\t\t}\n\t}\n\n\tconst { data, error, isLoading } = useQuery([config], getInfo);\n\n\tconst periods = useMemo(() => {\n\t\tconst features = (data as any)?.features;\n\t\treturn features?.map((feature: any) => {\n\t\t\treturn new Date(\n\t\t\t\tfeature?.properties[\"system:time_start\"],\n\t\t\t)?.getFullYear();\n\t\t});\n\t}, [data]);\n\n\treturn {\n\t\tloading: isLoading,\n\t\terror: error as any,\n\t\tperiods,\n\t};\n}\n\nexport function useType() {\n\tconst type = useWatch({\n\t\tname: \"type\",\n\t});\n\treturn find(EARTH_ENGINE_LAYERS, [\"id\", type]);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/Map/components/MapArea/index.tsx"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import { uid } from \"@hisptz/dhis2-utils\";\nimport { Map as LeafletMap } from \"leaflet\";\nimport { isEmpty } from \"lodash\";\nimport { forwardRef, type Ref, useRef } from \"react\";\nimport { LayersControl, MapContainer, TileLayer } from \"react-leaflet\";\nimport { useMapBounds } from \"../../hooks/map.js\";\nimport MapControl from \"../MapControls/index.js\";\nimport MapLayer from \"../MapLayer/index.js\";\nimport LegendArea from \"../MapLayer/components/LegendArea/index.js\";\nimport { CustomThematicLayer } from \"../MapLayer/interfaces/index.js\";\nimport { MapLayersProvider } from \"../MapProvider/components/MapLayerProvider/index.js\";\nimport { useMapLayers } from \"../MapProvider/hooks/index.js\";\nimport {\n\tMapAreaProps,\n\tMapControls,\n\tMapLegendConfig,\n} from \"./interfaces/index.js\";\nimport MapUpdater from \"../MapUpdater/index.js\";\nimport { MapPeriodTitle } from \"../MapTitle\";\n\nfunction MapLayerArea({\n\tid,\n\tbase = { enabled: true },\n\tcontrols,\n\tlegends,\n}: {\n\tid: string;\n\tbase?: {\n\t\turl?: string;\n\t\tattribution?: string;\n\t\tenabled?: boolean;\n\t};\n\tcontrols?: MapControls[];\n\tlegends?: MapLegendConfig;\n}) {\n\tconst { layers } = useMapLayers();\n\n\treturn (\n\t\t<>\n\t\t\t{base?.enabled && (\n\t\t\t\t<TileLayer\n\t\t\t\t\tid={id}\n\t\t\t\t\tattribution={\n\t\t\t\t\t\tbase?.attribution ??\n\t\t\t\t\t\t'&copy; <a href=\"https://www.openstreetmap.org/copyright\">OpenStreetMap</a> | &copy; <a href=\"https://carto.com/attribution\">CARTO</a>'\n\t\t\t\t\t}\n\t\t\t\t\turl={\n\t\t\t\t\t\tbase?.url ??\n\t\t\t\t\t\t\"https://cartodb-basemaps-{s}.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png\"\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{controls?.map((control) => (\n\t\t\t\t<MapControl\n\t\t\t\t\tmapId={id}\n\t\t\t\t\tkey={`${control.type}-control`}\n\t\t\t\t\t{...control}\n\t\t\t\t/>\n\t\t\t))}\n\t\t\t{!isEmpty(layers) && (\n\t\t\t\t<LayersControl hideSingleBase position={\"topleft\"}>\n\t\t\t\t\t{(layers as CustomThematicLayer[]).map(\n\t\t\t\t\t\t(layer: CustomThematicLayer, index) => (\n\t\t\t\t\t\t\t<MapLayer\n\t\t\t\t\t\t\t\tkey={layer.id}\n\t\t\t\t\t\t\t\tlayer={layer}\n\t\t\t\t\t\t\t\tindex={index}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t),\n\t\t\t\t\t)}\n\t\t\t\t</LayersControl>\n\t\t\t)}\n\t\t\t{!isEmpty(layers) && (\n\t\t\t\t<LegendArea\n\t\t\t\t\tlegends={legends}\n\t\t\t\t\tlayers={layers as CustomThematicLayer[]}\n\t\t\t\t\tposition={\"topright\"}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</>\n\t);\n}\n\nconst MapArea = (\n\t{\n\t\tbase,\n\t\tcontrols,\n\t\tmapOptions,\n\t\tshowPeriodTitle,\n\t\tkey,\n\t\tlegends,\n\t\tlayers,\n\t\tanalyticsOptions,\n\t}: MapAreaProps,\n\tref: Ref<LeafletMap> | undefined,\n) => {\n\tconst { center, bounds } = useMapBounds();\n\tconst { current: id } = useRef<string>(uid());\n\tconst containerRef = useRef<HTMLDivElement | null>(null);\n\n\treturn (\n\t\t<div\n\t\t\tref={containerRef}\n\t\t\tid={`${id}-\"map-container`}\n\t\t\tstyle={{ height: \"100%\", width: \"100%\" }}\n\t\t>\n\t\t\t<MapContainer\n\t\t\t\tattributionControl\n\t\t\t\tref={ref}\n\t\t\t\tid={id}\n\t\t\t\tcenter={center}\n\t\t\t\tbounceAtZoomLimits\n\t\t\t\tbounds={bounds}\n\t\t\t\tstyle={{ height: \"100%\", width: \"100%\", minHeight: 500 }}\n\t\t\t\tkey={key}\n\t\t\t\ttrackResize\n\t\t\t\t{...mapOptions}\n\t\t\t>\n\t\t\t\t<>\n\t\t\t\t\t{showPeriodTitle && <MapPeriodTitle />}\n\t\t\t\t\t<MapUpdater containerRef={containerRef} bounds={bounds} />\n\t\t\t\t\t<MapLayersProvider\n\t\t\t\t\t\tanalyticsOptions={analyticsOptions}\n\t\t\t\t\t\tlayers={layers}\n\t\t\t\t\t>\n\t\t\t\t\t\t<MapLayerArea\n\t\t\t\t\t\t\tbase={base}\n\t\t\t\t\t\t\tid={id}\n\t\t\t\t\t\t\tcontrols={controls}\n\t\t\t\t\t\t\tlegends={legends}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</MapLayersProvider>\n\t\t\t\t</>\n\t\t\t</MapContainer>\n\t\t</div>\n\t);\n};\n\nexport default forwardRef(MapArea);\n"]}
1
+ {"version":3,"sources":["../../../../../../src/components/Map/components/MapArea/index.tsx"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import { uid } from \"@hisptz/dhis2-utils\";\nimport { Map as LeafletMap } from \"leaflet\";\nimport { isEmpty } from \"lodash\";\nimport { forwardRef, type Ref, useRef } from \"react\";\nimport { LayersControl, MapContainer, TileLayer } from \"react-leaflet\";\nimport { useMapBounds } from \"../../hooks/map.js\";\nimport MapControl from \"../MapControls/index.js\";\nimport MapLayer from \"../MapLayer/index.js\";\nimport LegendArea from \"../MapLayer/components/LegendArea/index.js\";\nimport { CustomThematicLayer } from \"../MapLayer/interfaces/index.js\";\nimport { MapLayersProvider } from \"../MapProvider/components/MapLayerProvider/index.js\";\nimport { useMapLayers } from \"../MapProvider/hooks/index.js\";\nimport {\n\tMapAreaProps,\n\tMapControls,\n\tMapLegendConfig,\n} from \"./interfaces/index.js\";\nimport MapUpdater from \"../MapUpdater/index.js\";\nimport { MapPeriodTitle } from \"../MapTitle\";\n\nfunction MapLayerArea({\n\tid,\n\tbase = { enabled: true },\n\tcontrols,\n\tlegends,\n}: {\n\tid: string;\n\tbase?: {\n\t\turl?: string;\n\t\tattribution?: string;\n\t\tenabled?: boolean;\n\t};\n\tcontrols?: MapControls[];\n\tlegends?: MapLegendConfig;\n}) {\n\tconst { layers } = useMapLayers();\n\n\treturn (\n\t\t<>\n\t\t\t{base?.enabled && (\n\t\t\t\t<TileLayer\n\t\t\t\t\tid={id}\n\t\t\t\t\tattribution={\n\t\t\t\t\t\tbase?.attribution ??\n\t\t\t\t\t\t'&copy; <a href=\"https://www.openstreetmap.org/copyright\">OpenStreetMap</a> | &copy; <a href=\"https://carto.com/attribution\">CARTO</a>'\n\t\t\t\t\t}\n\t\t\t\t\turl={\n\t\t\t\t\t\tbase?.url ??\n\t\t\t\t\t\t\"https://cartodb-basemaps-{s}.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png\"\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{controls?.map((control) => (\n\t\t\t\t<MapControl\n\t\t\t\t\tmapId={id}\n\t\t\t\t\tkey={`${control.type}-control`}\n\t\t\t\t\t{...control}\n\t\t\t\t/>\n\t\t\t))}\n\t\t\t{!isEmpty(layers) && (\n\t\t\t\t<LayersControl hideSingleBase position={\"topleft\"}>\n\t\t\t\t\t{(layers as CustomThematicLayer[]).map(\n\t\t\t\t\t\t(layer: CustomThematicLayer, index) => (\n\t\t\t\t\t\t\t<MapLayer\n\t\t\t\t\t\t\t\tkey={layer.id}\n\t\t\t\t\t\t\t\tlayer={layer}\n\t\t\t\t\t\t\t\tindex={index}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t),\n\t\t\t\t\t)}\n\t\t\t\t</LayersControl>\n\t\t\t)}\n\t\t\t{!isEmpty(layers) && (\n\t\t\t\t<LegendArea\n\t\t\t\t\tlegends={legends}\n\t\t\t\t\tlayers={layers as CustomThematicLayer[]}\n\t\t\t\t\tposition={\"topright\"}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</>\n\t);\n}\n\nconst MapArea = (\n\t{\n\t\tbase,\n\t\tcontrols,\n\t\tmapOptions,\n\t\tshowPeriodTitle,\n\t\tkey,\n\t\tlegends,\n\t\tlayers,\n\t\tanalyticsOptions,\n\t}: MapAreaProps,\n\tref: Ref<LeafletMap> | undefined,\n) => {\n\tconst { center, bounds } = useMapBounds();\n\tconst { current: id } = useRef<string>(uid());\n\tconst containerRef = useRef<HTMLDivElement | null>(null);\n\n\treturn (\n\t\t<div\n\t\t\tref={containerRef}\n\t\t\tid={`${id}-\"map-container`}\n\t\t\tstyle={{ height: \"100%\", width: \"100%\" }}\n\t\t>\n\t\t\t<MapContainer\n\t\t\t\tattributionControl\n\t\t\t\tref={ref}\n\t\t\t\tid={id}\n\t\t\t\tcenter={center}\n\t\t\t\tbounceAtZoomLimits\n\t\t\t\tbounds={bounds}\n\t\t\t\tstyle={{ height: \"100%\", width: \"100%\", minHeight: 500 }}\n\t\t\t\tkey={key}\n\t\t\t\ttrackResize\n\t\t\t\t{...mapOptions}\n\t\t\t>\n\t\t\t\t<>\n\t\t\t\t\t{showPeriodTitle && <MapPeriodTitle />}\n\t\t\t\t\t<MapUpdater containerRef={containerRef} bounds={bounds} />\n\t\t\t\t\t<MapLayersProvider\n\t\t\t\t\t\tanalyticsOptions={analyticsOptions}\n\t\t\t\t\t\tlayers={layers}\n\t\t\t\t\t>\n\t\t\t\t\t\t<MapLayerArea\n\t\t\t\t\t\t\tbase={base}\n\t\t\t\t\t\t\tid={id}\n\t\t\t\t\t\t\tcontrols={controls}\n\t\t\t\t\t\t\tlegends={legends}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</MapLayersProvider>\n\t\t\t\t</>\n\t\t\t</MapContainer>\n\t\t</div>\n\t);\n};\n\nexport default forwardRef(MapArea);\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../../src/components/Map/components/MapControls/components/CustomControl/index.tsx"],"names":[],"mappings":";;AAGA,MAAM,gBAAmB,GAAA;AAAA,EACxB,UAAY,EAAA,6BAAA;AAAA,EACZ,WAAa,EAAA,8BAAA;AAAA,EACb,OAAS,EAAA,0BAAA;AAAA,EACT,QAAU,EAAA;AACX,CAAA;AAMO,SAAS,aAAc,CAAA;AAAA,EAC7B,QAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACJ,CAAyB,EAAA;AACxB,EAAA,MAAM,aACJ,GAAA,QAAA,IAAY,gBAAiB,CAAA,QAAQ,KAAM,gBAAiB,CAAA,QAAA;AAC9D,EAAA,2BACE,KAAK,EAAA,EAAA,GAAG,SAAS,SAAW,EAAA,CAAA,EAAG,aAAa,CAC5C,CAAA,EAAA,QAAA,kBAAA,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,KAAO,EAAA,EAAE,QAAU,EAAA,QAAA,EAAU,QAAQ,MAAO,EAAA;AAAA,MAC5C,SAAU,EAAA,6BAAA;AAAA,MAET;AAAA;AAAA,GAEH,EAAA,CAAA;AAEF","file":"index.js","sourcesContent":["import { ControlOptions } from \"leaflet\";\nimport { type ReactNode } from \"react\";\n\nconst POSITION_CLASSES = {\n\tbottomleft: \"leaflet-bottom leaflet-left\",\n\tbottomright: \"leaflet-bottom leaflet-right\",\n\ttopleft: \"leaflet-top leaflet-left\",\n\ttopright: \"leaflet-top leaflet-right\",\n};\n\ninterface CustomControlOptions extends ControlOptions {\n\tchildren: ReactNode;\n}\n\nexport function CustomControl({\n\tchildren,\n\tposition,\n\t...options\n}: CustomControlOptions) {\n\tconst positionClass =\n\t\t(position && POSITION_CLASSES[position]) || POSITION_CLASSES.topright;\n\treturn (\n\t\t<div {...options} className={`${positionClass}`}>\n\t\t\t<div\n\t\t\t\tstyle={{ overflow: \"hidden\", border: \"none\" }}\n\t\t\t\tclassName=\"leaflet-control leaflet-bar\"\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../../../../../src/components/Map/components/MapControls/components/CustomControl/index.tsx"],"names":[],"mappings":";;AAGA,MAAM,gBAAA,GAAmB;AAAA,EACxB,UAAA,EAAY,6BAAA;AAAA,EACZ,WAAA,EAAa,8BAAA;AAAA,EACb,OAAA,EAAS,0BAAA;AAAA,EACT,QAAA,EAAU;AACX,CAAA;AAMO,SAAS,aAAA,CAAc;AAAA,EAC7B,QAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACJ,CAAA,EAAyB;AACxB,EAAA,MAAM,aAAA,GACJ,QAAA,IAAY,gBAAA,CAAiB,QAAQ,KAAM,gBAAA,CAAiB,QAAA;AAC9D,EAAA,2BACE,KAAA,EAAA,EAAK,GAAG,SAAS,SAAA,EAAW,CAAA,EAAG,aAAa,CAAA,CAAA,EAC5C,QAAA,kBAAA,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,KAAA,EAAO,EAAE,QAAA,EAAU,QAAA,EAAU,QAAQ,MAAA,EAAO;AAAA,MAC5C,SAAA,EAAU,6BAAA;AAAA,MAET;AAAA;AAAA,GACF,EACD,CAAA;AAEF","file":"index.js","sourcesContent":["import { ControlOptions } from \"leaflet\";\nimport { type ReactNode } from \"react\";\n\nconst POSITION_CLASSES = {\n\tbottomleft: \"leaflet-bottom leaflet-left\",\n\tbottomright: \"leaflet-bottom leaflet-right\",\n\ttopleft: \"leaflet-top leaflet-left\",\n\ttopright: \"leaflet-top leaflet-right\",\n};\n\ninterface CustomControlOptions extends ControlOptions {\n\tchildren: ReactNode;\n}\n\nexport function CustomControl({\n\tchildren,\n\tposition,\n\t...options\n}: CustomControlOptions) {\n\tconst positionClass =\n\t\t(position && POSITION_CLASSES[position]) || POSITION_CLASSES.topright;\n\treturn (\n\t\t<div {...options} className={`${positionClass}`}>\n\t\t\t<div\n\t\t\t\tstyle={{ overflow: \"hidden\", border: \"none\" }}\n\t\t\t\tclassName=\"leaflet-control leaflet-bar\"\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../../src/components/Map/components/MapControls/components/DownloadControl/index.tsx"],"names":[],"mappings":";;;;;AAKA,MAAM,wBAAA,GAA2B,sBAAuB,CAAA,CAAC,KAAU,KAAA;AAClE,EAAQ,OAAA,CAAA,CAAU,UAAU,KAAK,CAAA;AAClC,CAAC,CAAA;AACc,SAAR,eAAiC,CAAA,EAAE,OAAS,EAAA,QAAA,EAAU,OAAqE,EAAA;AAChI,EAAA,2BAAQ,wBAA0B,EAAA,EAAA,GAAG,EAAE,GAAG,OAAA,EAAS,UAAY,EAAA,CAAA;AACjE","file":"index.js","sourcesContent":["import { createControlComponent } from \"@react-leaflet/core\";\nimport L, { ControlPosition } from \"leaflet\";\nimport \"leaflet-easyprint\";\nimport React from \"react\";\n\nconst DownloadControlComponent = createControlComponent((props) => {\n\treturn (L as any).easyPrint(props);\n});\nexport default function DownloadControl({ options, position, mapId }: { options: any; position: ControlPosition; mapId: string }) {\n return <DownloadControlComponent {...{ ...options, position }} />;\n}\n"]}
1
+ {"version":3,"sources":["../../../../../../../../src/components/Map/components/MapControls/components/DownloadControl/index.tsx"],"names":[],"mappings":";;;;;AAKA,MAAM,wBAAA,GAA2B,sBAAA,CAAuB,CAAC,KAAA,KAAU;AAClE,EAAA,OAAQ,CAAA,CAAU,UAAU,KAAK,CAAA;AAClC,CAAC,CAAA;AACc,SAAR,eAAA,CAAiC,EAAE,OAAA,EAAS,QAAA,EAAU,OAAM,EAA+D;AAChI,EAAA,2BAAQ,wBAAA,EAAA,EAA0B,GAAG,EAAE,GAAG,OAAA,EAAS,UAAS,EAAG,CAAA;AACjE","file":"index.js","sourcesContent":["import { createControlComponent } from \"@react-leaflet/core\";\nimport L, { ControlPosition } from \"leaflet\";\nimport \"leaflet-easyprint\";\nimport React from \"react\";\n\nconst DownloadControlComponent = createControlComponent((props) => {\n\treturn (L as any).easyPrint(props);\n});\nexport default function DownloadControl({ options, position, mapId }: { options: any; position: ControlPosition; mapId: string }) {\n return <DownloadControlComponent {...{ ...options, position }} />;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../../src/components/Map/components/MapControls/components/FullscreenControl/index.tsx"],"names":[],"mappings":";;;;;AAMA,MAAM,oBAEF,sBAAuB,CAAA,CAAC,UAAW,OAAgB,CAAA,UAAA,CAAW,KAAK,CAAC,CAAA;AACxE,IAAO,yBAAQ,GAAA","file":"index.js","sourcesContent":["import { createControlComponent } from \"@react-leaflet/core\";\nimport { control, type ControlOptions } from \"leaflet\";\nimport \"leaflet.fullscreen\";\nimport \"leaflet.fullscreen/Control.FullScreen.css\";\nimport type { ForwardRefExoticComponent, RefAttributes } from \"react\";\n\nconst FullscreenControl: ForwardRefExoticComponent<\n\tControlOptions & RefAttributes<any>\n> = createControlComponent((props) => (control as any).fullscreen(props));\nexport default FullscreenControl;\n"]}
1
+ {"version":3,"sources":["../../../../../../../../src/components/Map/components/MapControls/components/FullscreenControl/index.tsx"],"names":[],"mappings":";;;;;AAMA,MAAM,oBAEF,sBAAA,CAAuB,CAAC,UAAW,OAAA,CAAgB,UAAA,CAAW,KAAK,CAAC,CAAA;AACxE,IAAO,yBAAA,GAAQ","file":"index.js","sourcesContent":["import { createControlComponent } from \"@react-leaflet/core\";\nimport { control, type ControlOptions } from \"leaflet\";\nimport \"leaflet.fullscreen\";\nimport \"leaflet.fullscreen/Control.FullScreen.css\";\nimport type { ForwardRefExoticComponent, RefAttributes } from \"react\";\n\nconst FullscreenControl: ForwardRefExoticComponent<\n\tControlOptions & RefAttributes<any>\n> = createControlComponent((props) => (control as any).fullscreen(props));\nexport default FullscreenControl;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/Map/components/MapControls/index.tsx"],"names":[],"mappings":";;;;;AAUe,SAAR,UAA4B,CAAA;AAAA,EAClC,IAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA;AACD,CAAoB,EAAA;AACnB,EAAA,QAAQ,IAAM;AAAA,IACb,KAAK,MAAA;AACJ,MAAA,uBAAQ,GAAA,CAAA,WAAA,EAAA,EAAY,QAAqB,EAAA,GAAG,OAAS,EAAA,CAAA;AAAA,IACtD,KAAK,OAAA;AACJ,MAAA,uBAAQ,GAAA,CAAA,YAAA,EAAA,EAAa,QAAqB,EAAA,GAAG,OAAS,EAAA,CAAA;AAAA,IACvD,KAAK,YAAA;AACJ,MAAA,uBAAQ,GAAA,CAAA,iBAAA,EAAA,EAAkB,QAAqB,EAAA,GAAG,OAAS,EAAA,CAAA;AAAA,IAC5D,KAAK,OAAA;AACJ,MACC,uBAAA,GAAA;AAAA,QAAC,eAAA;AAAA,QAAA;AAAA,UACA,KAAA;AAAA,UACA,QAAA;AAAA,UACA;AAAA;AAAA,OACD;AAAA,IAEF;AACC,MAAO,OAAA,IAAA;AAAA;AAEV","file":"index.js","sourcesContent":["import React from \"react\";\nimport { ScaleControl, ZoomControl } from \"react-leaflet\";\nimport { MapControls } from \"../MapArea/interfaces/index.js\";\nimport FullscreenControl from \"./components/FullscreenControl/index.js\";\nimport DownloadControl from \"./components/DownloadControl/index.js\";\n\nexport interface MapControlProps extends MapControls {\n\tmapId: string;\n}\n\nexport default function MapControl({\n\ttype,\n\toptions,\n\tposition,\n\tmapId,\n}: MapControlProps) {\n\tswitch (type) {\n\t\tcase \"zoom\":\n\t\t\treturn <ZoomControl position={position} {...options} />;\n\t\tcase \"scale\":\n\t\t\treturn <ScaleControl position={position} {...options} />;\n\t\tcase \"fullscreen\":\n\t\t\treturn <FullscreenControl position={position} {...options} />;\n\t\tcase \"print\":\n\t\t\treturn (\n\t\t\t\t<DownloadControl\n\t\t\t\t\tmapId={mapId}\n\t\t\t\t\tposition={position}\n\t\t\t\t\toptions={options}\n\t\t\t\t/>\n\t\t\t);\n\t\tdefault:\n\t\t\treturn null;\n\t}\n}\n"]}
1
+ {"version":3,"sources":["../../../../../../src/components/Map/components/MapControls/index.tsx"],"names":[],"mappings":";;;;;AAUe,SAAR,UAAA,CAA4B;AAAA,EAClC,IAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA;AACD,CAAA,EAAoB;AACnB,EAAA,QAAQ,IAAA;AAAM,IACb,KAAK,MAAA;AACJ,MAAA,uBAAO,GAAA,CAAC,WAAA,EAAA,EAAY,QAAA,EAAqB,GAAG,OAAA,EAAS,CAAA;AAAA,IACtD,KAAK,OAAA;AACJ,MAAA,uBAAO,GAAA,CAAC,YAAA,EAAA,EAAa,QAAA,EAAqB,GAAG,OAAA,EAAS,CAAA;AAAA,IACvD,KAAK,YAAA;AACJ,MAAA,uBAAO,GAAA,CAAC,iBAAA,EAAA,EAAkB,QAAA,EAAqB,GAAG,OAAA,EAAS,CAAA;AAAA,IAC5D,KAAK,OAAA;AACJ,MAAA,uBACC,GAAA;AAAA,QAAC,eAAA;AAAA,QAAA;AAAA,UACA,KAAA;AAAA,UACA,QAAA;AAAA,UACA;AAAA;AAAA,OACD;AAAA,IAEF;AACC,MAAA,OAAO,IAAA;AAAA;AAEV","file":"index.js","sourcesContent":["import React from \"react\";\nimport { ScaleControl, ZoomControl } from \"react-leaflet\";\nimport { MapControls } from \"../MapArea/interfaces/index.js\";\nimport FullscreenControl from \"./components/FullscreenControl/index.js\";\nimport DownloadControl from \"./components/DownloadControl/index.js\";\n\nexport interface MapControlProps extends MapControls {\n\tmapId: string;\n}\n\nexport default function MapControl({\n\ttype,\n\toptions,\n\tposition,\n\tmapId,\n}: MapControlProps) {\n\tswitch (type) {\n\t\tcase \"zoom\":\n\t\t\treturn <ZoomControl position={position} {...options} />;\n\t\tcase \"scale\":\n\t\t\treturn <ScaleControl position={position} {...options} />;\n\t\tcase \"fullscreen\":\n\t\t\treturn <FullscreenControl position={position} {...options} />;\n\t\tcase \"print\":\n\t\t\treturn (\n\t\t\t\t<DownloadControl\n\t\t\t\t\tmapId={mapId}\n\t\t\t\t\tposition={position}\n\t\t\t\t\toptions={options}\n\t\t\t\t/>\n\t\t\t);\n\t\tdefault:\n\t\t\treturn null;\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../../../src/components/Map/components/MapLayer/components/BoundaryLayer/hooks/useBoundaryData.ts"],"names":[],"mappings":";;AAEO,SAAS,eAAkB,GAAA;AACjC,EAAM,MAAA,EAAE,QAAS,EAAA,GAAI,sBAAuB,EAAA;AAE5C,EAAO,OAAA,QAAA;AACR","file":"useBoundaryData.js","sourcesContent":["import { useMapOrganisationUnit } from \"../../../../MapProvider/hooks/index.js\";\n\nexport function useBoundaryData() {\n\tconst { orgUnits } = useMapOrganisationUnit();\n\n\treturn orgUnits;\n}\n"]}
1
+ {"version":3,"sources":["../../../../../../../../../src/components/Map/components/MapLayer/components/BoundaryLayer/hooks/useBoundaryData.ts"],"names":[],"mappings":";;AAEO,SAAS,eAAA,GAAkB;AACjC,EAAA,MAAM,EAAE,QAAA,EAAS,GAAI,sBAAA,EAAuB;AAE5C,EAAA,OAAO,QAAA;AACR","file":"useBoundaryData.js","sourcesContent":["import { useMapOrganisationUnit } from \"../../../../MapProvider/hooks/index.js\";\n\nexport function useBoundaryData() {\n\tconst { orgUnits } = useMapOrganisationUnit();\n\n\treturn orgUnits;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../../src/components/Map/components/MapLayer/components/BoundaryLayer/index.tsx"],"names":[],"mappings":";;;;;;;AAeO,MAAM,YAAe,GAAA;AAAA,EAC3B,MAAQ,EAAA,CAAA;AAAA,EACR,OAAO,MAAO,CAAA,OAAA;AAAA,EACd,WAAW,MAAO,CAAA,OAAA;AAAA,EAClB,WAAa,EAAA;AACd;AACO,MAAM,cAAiB,GAAA;AAAA,EAC7B,MAAQ,EAAA,CAAA;AAAA,EACR,OAAO,MAAO,CAAA,OAAA;AAAA,EACd,SAAW,EAAA,EAAA;AAAA,EACX,WAAa,EAAA;AACd;AAEe,SAAR,cAA+B,KAA+B,EAAA;AACpE,EAAA,MAAM,EAAE,OAAS,EAAA,mBAAA,EAAqB,YAAa,EAAA,GAAI,SAAS,EAAC;AACjE,EAAA,MAAM,WAAW,eAAgB,EAAA;AAEjC,EAAA,2BACE,aAAc,CAAA,OAAA,EAAd,EAAsB,OAAA,EAAS,SAAS,IAAM,EAAA,IAAA,CAAK,CAAE,CAAA,YAAY,GACjE,QAAC,kBAAA,GAAA,CAAA,UAAA,EAAA,EACC,QAAU,EAAA,QAAA,EAAA,GAAA,CAAI,CAAC,IAAqB,KAAA;AACpC,IACC,uBAAA,IAAA;AAAA,MAAC,OAAA;AAAA,MAAA;AAAA,QACA,MAAM,IAAK,CAAA,OAAA;AAAA,QACX,WAAW,EAAA,IAAA;AAAA,QACX,aAAe,EAAA;AAAA,UACd,SAAW,EAAA,CAAC,CACX,KAAA,gBAAA,CAAiB,GAAG,cAAc,CAAA;AAAA,UACnC,QAAU,EAAA,CAAC,CACV,KAAA,cAAA,CAAe,GAAG,YAAY,CAAA;AAAA,UAC/B,GAAI,uBAAuB,EAAC;AAAA,UAC5B,SAAA,EAAW,CAAC,CAAM,KAAA;AACjB,YAAA,IAAI,YAAc,EAAA;AACjB,cAAA,YAAA,CAAa,CAAG,EAAA,EAAE,OAAS,EAAA,IAAA,EAAM,CAAA;AAAA;AAClC;AACD,SACD;AAAA,QAEA,WAAa,EAAA,YAAA;AAAA,QAEb,QAAA,EAAA;AAAA,0BAAC,GAAA,CAAA,OAAA,EAAA,EAAS,eAAK,IAAK,EAAA,CAAA;AAAA,0BACpB,IAAA,CAAC,KAAM,EAAA,EAAA,QAAA,EAAU,EAChB,EAAA,QAAA,EAAA;AAAA,4BAAC,GAAA,CAAA,IAAA,EAAA,EAAI,eAAK,IAAK,EAAA,CAAA;AAAA,iCACd,KACA,EAAA,EAAA,QAAA,EAAA;AAAA,8BAAA,GAAA,CAAC,OAAE,QAAO,EAAA,SAAA,EAAA,CAAA;AAAA,cACT,IAAK,CAAA;AAAA,aACP,EAAA;AAAA,WACD,EAAA;AAAA;AAAA,OAAA;AAAA,MAVK,CAAA,EAAG,KAAK,EAAE,CAAA,QAAA;AAAA,KAWhB;AAAA,GAED,GACF,CACD,EAAA,CAAA;AAEF","file":"index.js","sourcesContent":["import i18n from \"@dhis2/d2-i18n\";\nimport { colors } from \"@dhis2/ui\";\nimport React from \"react\";\nimport {\n\tGeoJSON,\n\tLayerGroup,\n\tLayersControl,\n\tPopup,\n\tTooltip,\n} from \"react-leaflet\";\nimport { MapOrgUnit } from \"../../../../interfaces/index.js\";\nimport { highlightFeature, resetHighlight } from \"../../../../utils/map.js\";\nimport { CustomBoundaryLayer as BoundaryLayerInterface } from \"../../interfaces/index.js\";\nimport { useBoundaryData } from \"./hooks/useBoundaryData.js\";\n\nexport const defaultStyle = {\n\tweight: 1,\n\tcolor: colors.grey900,\n\tfillColor: colors.grey900,\n\tfillOpacity: 0.0,\n};\nexport const highlightStyle = {\n\tweight: 2,\n\tcolor: colors.grey900,\n\tdashArray: \"\",\n\tfillOpacity: 0.1,\n};\n\nexport default function BoundaryLayer(props: BoundaryLayerInterface) {\n\tconst { enabled, customEventHandlers, onLayerClick } = props ?? {};\n\tconst orgUnits = useBoundaryData();\n\n\treturn (\n\t\t<LayersControl.Overlay checked={enabled} name={i18n.t(\"Boundaries\")}>\n\t\t\t<LayerGroup>\n\t\t\t\t{orgUnits?.map((area: MapOrgUnit) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<GeoJSON\n\t\t\t\t\t\t\tdata={area.geoJSON}\n\t\t\t\t\t\t\tinteractive\n\t\t\t\t\t\t\teventHandlers={{\n\t\t\t\t\t\t\t\tmouseover: (e) =>\n\t\t\t\t\t\t\t\t\thighlightFeature(e, highlightStyle),\n\t\t\t\t\t\t\t\tmouseout: (e) =>\n\t\t\t\t\t\t\t\t\tresetHighlight(e, defaultStyle),\n\t\t\t\t\t\t\t\t...(customEventHandlers ?? {}),\n\t\t\t\t\t\t\t\tmousedown: (e) => {\n\t\t\t\t\t\t\t\t\tif (onLayerClick) {\n\t\t\t\t\t\t\t\t\t\tonLayerClick(e, { orgUnit: area });\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tkey={`${area.id}-polygon`}\n\t\t\t\t\t\t\tpathOptions={defaultStyle}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Tooltip>{area.name}</Tooltip>\n\t\t\t\t\t\t\t<Popup minWidth={80}>\n\t\t\t\t\t\t\t\t<h3>{area.name}</h3>\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<b>Level: </b>\n\t\t\t\t\t\t\t\t\t{area.level}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</Popup>\n\t\t\t\t\t\t</GeoJSON>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</LayerGroup>\n\t\t</LayersControl.Overlay>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../../../../../src/components/Map/components/MapLayer/components/BoundaryLayer/index.tsx"],"names":[],"mappings":";;;;;;;AAeO,MAAM,YAAA,GAAe;AAAA,EAC3B,MAAA,EAAQ,CAAA;AAAA,EACR,OAAO,MAAA,CAAO,OAAA;AAAA,EACd,WAAW,MAAA,CAAO,OAAA;AAAA,EAClB,WAAA,EAAa;AACd;AACO,MAAM,cAAA,GAAiB;AAAA,EAC7B,MAAA,EAAQ,CAAA;AAAA,EACR,OAAO,MAAA,CAAO,OAAA;AAAA,EACd,SAAA,EAAW,EAAA;AAAA,EACX,WAAA,EAAa;AACd;AAEe,SAAR,cAA+B,KAAA,EAA+B;AACpE,EAAA,MAAM,EAAE,OAAA,EAAS,mBAAA,EAAqB,YAAA,EAAa,GAAI,SAAS,EAAC;AACjE,EAAA,MAAM,WAAW,eAAA,EAAgB;AAEjC,EAAA,2BACE,aAAA,CAAc,OAAA,EAAd,EAAsB,OAAA,EAAS,SAAS,IAAA,EAAM,IAAA,CAAK,CAAA,CAAE,YAAY,GACjE,QAAA,kBAAA,GAAA,CAAC,UAAA,EAAA,EACC,QAAA,EAAA,QAAA,EAAU,GAAA,CAAI,CAAC,IAAA,KAAqB;AACpC,IAAA,uBACC,IAAA;AAAA,MAAC,OAAA;AAAA,MAAA;AAAA,QACA,MAAM,IAAA,CAAK,OAAA;AAAA,QACX,WAAA,EAAW,IAAA;AAAA,QACX,aAAA,EAAe;AAAA,UACd,SAAA,EAAW,CAAC,CAAA,KACX,gBAAA,CAAiB,GAAG,cAAc,CAAA;AAAA,UACnC,QAAA,EAAU,CAAC,CAAA,KACV,cAAA,CAAe,GAAG,YAAY,CAAA;AAAA,UAC/B,GAAI,uBAAuB,EAAC;AAAA,UAC5B,SAAA,EAAW,CAAC,CAAA,KAAM;AACjB,YAAA,IAAI,YAAA,EAAc;AACjB,cAAA,YAAA,CAAa,CAAA,EAAG,EAAE,OAAA,EAAS,IAAA,EAAM,CAAA;AAAA,YAClC;AAAA,UACD;AAAA,SACD;AAAA,QAEA,WAAA,EAAa,YAAA;AAAA,QAEb,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,OAAA,EAAA,EAAS,eAAK,IAAA,EAAK,CAAA;AAAA,0BACpB,IAAA,CAAC,KAAA,EAAA,EAAM,QAAA,EAAU,EAAA,EAChB,QAAA,EAAA;AAAA,4BAAA,GAAA,CAAC,IAAA,EAAA,EAAI,eAAK,IAAA,EAAK,CAAA;AAAA,iCACd,KAAA,EAAA,EACA,QAAA,EAAA;AAAA,8BAAA,GAAA,CAAC,OAAE,QAAA,EAAA,SAAA,EAAO,CAAA;AAAA,cACT,IAAA,CAAK;AAAA,aAAA,EACP;AAAA,WAAA,EACD;AAAA;AAAA,OAAA;AAAA,MAVK,CAAA,EAAG,KAAK,EAAE,CAAA,QAAA;AAAA,KAWhB;AAAA,EAEF,CAAC,GACF,CAAA,EACD,CAAA;AAEF","file":"index.js","sourcesContent":["import i18n from \"@dhis2/d2-i18n\";\nimport { colors } from \"@dhis2/ui\";\nimport React from \"react\";\nimport {\n\tGeoJSON,\n\tLayerGroup,\n\tLayersControl,\n\tPopup,\n\tTooltip,\n} from \"react-leaflet\";\nimport { MapOrgUnit } from \"../../../../interfaces/index.js\";\nimport { highlightFeature, resetHighlight } from \"../../../../utils/map.js\";\nimport { CustomBoundaryLayer as BoundaryLayerInterface } from \"../../interfaces/index.js\";\nimport { useBoundaryData } from \"./hooks/useBoundaryData.js\";\n\nexport const defaultStyle = {\n\tweight: 1,\n\tcolor: colors.grey900,\n\tfillColor: colors.grey900,\n\tfillOpacity: 0.0,\n};\nexport const highlightStyle = {\n\tweight: 2,\n\tcolor: colors.grey900,\n\tdashArray: \"\",\n\tfillOpacity: 0.1,\n};\n\nexport default function BoundaryLayer(props: BoundaryLayerInterface) {\n\tconst { enabled, customEventHandlers, onLayerClick } = props ?? {};\n\tconst orgUnits = useBoundaryData();\n\n\treturn (\n\t\t<LayersControl.Overlay checked={enabled} name={i18n.t(\"Boundaries\")}>\n\t\t\t<LayerGroup>\n\t\t\t\t{orgUnits?.map((area: MapOrgUnit) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<GeoJSON\n\t\t\t\t\t\t\tdata={area.geoJSON}\n\t\t\t\t\t\t\tinteractive\n\t\t\t\t\t\t\teventHandlers={{\n\t\t\t\t\t\t\t\tmouseover: (e) =>\n\t\t\t\t\t\t\t\t\thighlightFeature(e, highlightStyle),\n\t\t\t\t\t\t\t\tmouseout: (e) =>\n\t\t\t\t\t\t\t\t\tresetHighlight(e, defaultStyle),\n\t\t\t\t\t\t\t\t...(customEventHandlers ?? {}),\n\t\t\t\t\t\t\t\tmousedown: (e) => {\n\t\t\t\t\t\t\t\t\tif (onLayerClick) {\n\t\t\t\t\t\t\t\t\t\tonLayerClick(e, { orgUnit: area });\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tkey={`${area.id}-polygon`}\n\t\t\t\t\t\t\tpathOptions={defaultStyle}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Tooltip>{area.name}</Tooltip>\n\t\t\t\t\t\t\t<Popup minWidth={80}>\n\t\t\t\t\t\t\t\t<h3>{area.name}</h3>\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<b>Level: </b>\n\t\t\t\t\t\t\t\t\t{area.level}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</Popup>\n\t\t\t\t\t\t</GeoJSON>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</LayerGroup>\n\t\t</LayersControl.Overlay>\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../../../src/components/Map/components/MapLayer/components/GoogleEngineLayer/components/EarthEngineLegend.tsx"],"names":["min","max"],"mappings":"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","file":"EarthEngineLegend.js","sourcesContent":["import { forwardRef, type LegacyRef } from \"react\";\nimport LegendCardHeader from \"../../LegendArea/components/LegendCardHeader/index.js\";\nimport { CustomGoogleEngineLayer } from \"../../../interfaces/index.js\";\nimport { Divider } from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { isEmpty } from \"lodash\";\n\nexport function LegendItem({\n\tlegend,\n}: {\n\tlegend: { min: number; max: number; color: string; name?: string };\n}) {\n\treturn (\n\t\t<div className=\"legend-item\">\n\t\t\t<div\n\t\t\t\tclassName=\"legend-item-color\"\n\t\t\t\tstyle={{ backgroundColor: legend.color }}\n\t\t\t/>\n\t\t\t{legend.name ? (\n\t\t\t\t<div className=\"legend-item-label\">{`${legend.name}`}</div>\n\t\t\t) : (\n\t\t\t\t<div className=\"legend-item-label\">{`${legend.min} - ${legend.max}`}</div>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n\nfunction getLegendsFromParams(params?: {\n\tmin: number;\n\tmax: number;\n\tpalette: string | string[];\n}) {\n\tif (!params) return [];\n\n\tconst { palette, min, max } = params;\n\tconst sanitizedPalette = Array.isArray(palette)\n\t\t? palette\n\t\t: palette.split(\",\");\n\tconst classes = sanitizedPalette.length;\n\tconst difference = max - min;\n\tconst interval = Math.round(difference / classes);\n\tconst legends = [];\n\tfor (let i = 0; i < classes; i++) {\n\t\tconst min = i * interval;\n\t\tconst max = min + interval;\n\n\t\tconst name = i === classes - 1 ? `> ${min}` : undefined;\n\n\t\tlegends.push({\n\t\t\tid: sanitizedPalette[i],\n\t\t\tcolor: sanitizedPalette[i],\n\t\t\tmin,\n\t\t\tmax,\n\t\t\tname,\n\t\t});\n\t}\n\n\treturn legends;\n}\n\nfunction EarthEngineLegend(\n\t{\n\t\tlayer,\n\t\tcollapsible,\n\t\tonCollapse,\n\t\tname,\n\t}: {\n\t\tlayer: CustomGoogleEngineLayer;\n\t\tcollapsible?: boolean;\n\t\tonCollapse?: () => void;\n\t\tname: string;\n\t},\n\tref: LegacyRef<HTMLDivElement>,\n) {\n\tconst { options } = layer;\n\tconst legends =\n\t\toptions?.legend?.items ?? getLegendsFromParams(options?.params);\n\n\treturn (\n\t\t<div\n\t\t\tstyle={{ maxWidth: 200, alignItems: \"start\", gap: 8 }}\n\t\t\tclassName=\"legend-card\"\n\t\t\tref={ref}\n\t\t>\n\t\t\t<LegendCardHeader\n\t\t\t\ttitle={name}\n\t\t\t\tcollapsible={collapsible}\n\t\t\t\tonCollapse={onCollapse}\n\t\t\t/>\n\t\t\t<Divider margin={\"0\"} />\n\t\t\t<p style={{ margin: 0 }}>{options?.description ?? \"\"}</p>\n\t\t\t{!isEmpty(legends) && <b>{options?.unit ?? \"\"}</b>}\n\t\t\t<div className=\"legend-list\">\n\t\t\t\t{legends?.map((legend: any) => (\n\t\t\t\t\t<LegendItem\n\t\t\t\t\t\tkey={`${legend?.color}-legend-list`}\n\t\t\t\t\t\tlegend={legend}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t</div>\n\t\t\t{options?.source && (\n\t\t\t\t<div className=\"row gap-8\">\n\t\t\t\t\t{i18n.t(\"Source\")}:\n\t\t\t\t\t<a\n\t\t\t\t\t\tclassName=\"source-url\"\n\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\treferrerPolicy=\"no-referrer\"\n\t\t\t\t\t\thref={options?.sourceUrl}\n\t\t\t\t\t>\n\t\t\t\t\t\t{options?.source ?? \"\"}\n\t\t\t\t\t</a>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n\nexport default forwardRef(EarthEngineLegend);\n"]}
1
+ {"version":3,"sources":["../../../../../../../../../src/components/Map/components/MapLayer/components/GoogleEngineLayer/components/EarthEngineLegend.tsx"],"names":["min","max"],"mappings":"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","file":"EarthEngineLegend.js","sourcesContent":["import { forwardRef, type LegacyRef } from \"react\";\nimport LegendCardHeader from \"../../LegendArea/components/LegendCardHeader/index.js\";\nimport { CustomGoogleEngineLayer } from \"../../../interfaces/index.js\";\nimport { Divider } from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { isEmpty } from \"lodash\";\n\nexport function LegendItem({\n\tlegend,\n}: {\n\tlegend: { min: number; max: number; color: string; name?: string };\n}) {\n\treturn (\n\t\t<div className=\"legend-item\">\n\t\t\t<div\n\t\t\t\tclassName=\"legend-item-color\"\n\t\t\t\tstyle={{ backgroundColor: legend.color }}\n\t\t\t/>\n\t\t\t{legend.name ? (\n\t\t\t\t<div className=\"legend-item-label\">{`${legend.name}`}</div>\n\t\t\t) : (\n\t\t\t\t<div className=\"legend-item-label\">{`${legend.min} - ${legend.max}`}</div>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n\nfunction getLegendsFromParams(params?: {\n\tmin: number;\n\tmax: number;\n\tpalette: string | string[];\n}) {\n\tif (!params) return [];\n\n\tconst { palette, min, max } = params;\n\tconst sanitizedPalette = Array.isArray(palette)\n\t\t? palette\n\t\t: palette.split(\",\");\n\tconst classes = sanitizedPalette.length;\n\tconst difference = max - min;\n\tconst interval = Math.round(difference / classes);\n\tconst legends = [];\n\tfor (let i = 0; i < classes; i++) {\n\t\tconst min = i * interval;\n\t\tconst max = min + interval;\n\n\t\tconst name = i === classes - 1 ? `> ${min}` : undefined;\n\n\t\tlegends.push({\n\t\t\tid: sanitizedPalette[i],\n\t\t\tcolor: sanitizedPalette[i],\n\t\t\tmin,\n\t\t\tmax,\n\t\t\tname,\n\t\t});\n\t}\n\n\treturn legends;\n}\n\nfunction EarthEngineLegend(\n\t{\n\t\tlayer,\n\t\tcollapsible,\n\t\tonCollapse,\n\t\tname,\n\t}: {\n\t\tlayer: CustomGoogleEngineLayer;\n\t\tcollapsible?: boolean;\n\t\tonCollapse?: () => void;\n\t\tname: string;\n\t},\n\tref: LegacyRef<HTMLDivElement>,\n) {\n\tconst { options } = layer;\n\tconst legends =\n\t\toptions?.legend?.items ?? getLegendsFromParams(options?.params);\n\n\treturn (\n\t\t<div\n\t\t\tstyle={{ maxWidth: 200, alignItems: \"start\", gap: 8 }}\n\t\t\tclassName=\"legend-card\"\n\t\t\tref={ref}\n\t\t>\n\t\t\t<LegendCardHeader\n\t\t\t\ttitle={name}\n\t\t\t\tcollapsible={collapsible}\n\t\t\t\tonCollapse={onCollapse}\n\t\t\t/>\n\t\t\t<Divider margin={\"0\"} />\n\t\t\t<p style={{ margin: 0 }}>{options?.description ?? \"\"}</p>\n\t\t\t{!isEmpty(legends) && <b>{options?.unit ?? \"\"}</b>}\n\t\t\t<div className=\"legend-list\">\n\t\t\t\t{legends?.map((legend: any) => (\n\t\t\t\t\t<LegendItem\n\t\t\t\t\t\tkey={`${legend?.color}-legend-list`}\n\t\t\t\t\t\tlegend={legend}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t</div>\n\t\t\t{options?.source && (\n\t\t\t\t<div className=\"row gap-8\">\n\t\t\t\t\t{i18n.t(\"Source\")}:\n\t\t\t\t\t<a\n\t\t\t\t\t\tclassName=\"source-url\"\n\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\treferrerPolicy=\"no-referrer\"\n\t\t\t\t\t\thref={options?.sourceUrl}\n\t\t\t\t\t>\n\t\t\t\t\t\t{options?.source ?? \"\"}\n\t\t\t\t\t</a>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n\nexport default forwardRef(EarthEngineLegend);\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../../../src/components/Map/components/MapLayer/components/GoogleEngineLayer/constants/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import i18n from \"@dhis2/d2-i18n\";\nimport { EarthEngineOptions } from \"../interfaces/index.js\";\n\nexport const EARTH_ENGINE_LAYER = \"earthEngine\";\n\nexport const EARTH_ENGINE_LAYERS: EarthEngineOptions[] = [\n\t{\n\t\tlayer: EARTH_ENGINE_LAYER,\n\t\tid: \"population\",\n\t\tdatasetId: \"WorldPop/GP/100m/pop\",\n\t\ttype: \"ImageCollection\",\n\t\tname: i18n.t(\"Population\"),\n\t\tunit: i18n.t(\"people per hectare\"),\n\t\tdescription: i18n.t(\"Estimated number of people living in an area.\"),\n\t\tsource: \"WorldPop / Google Earth Engine\",\n\t\tsourceUrl:\n\t\t\t\"https://developers.google.com/earth-engine/datasets/catalog/WorldPop_GP_100m_pop\",\n\t\timg: \"images/population.png\",\n\t\tdefaultAggregations: [\"sum\", \"mean\"],\n\t\ttokenType: \"Bearer\",\n\t\tperiodType: \"Yearly\",\n\t\tfilters: [\"period\"],\n\t\tmosaic: true,\n\t\tparams: {\n\t\t\tmin: 0,\n\t\t\tmax: 10,\n\t\t\tpalette: \"#fee5d9,#fcbba1,#fc9272,#fb6a4a,#de2d26,#a50f15\", // Reds\n\t\t},\n\t\topacity: 0.9,\n\t},\n\t{\n\t\tlayer: EARTH_ENGINE_LAYER,\n\t\ttype: \"ImageCollection\",\n\t\ttokenType: \"Bearer\",\n\t\tid: \"populationAgeGroups\",\n\t\tdatasetId: \"WorldPop/GP/100m/pop_age_sex_cons_unadj\",\n\t\tname: i18n.t(\"Population age groups\"),\n\t\tunit: i18n.t(\"people per hectare\"),\n\t\tdescription: i18n.t(\n\t\t\t\"Estimated number of people living in an area, grouped by age and gender.\",\n\t\t),\n\t\tsource: \"WorldPop / Google Earth Engine\",\n\t\tsourceUrl:\n\t\t\t\"https://developers.google.com/earth-engine/datasets/catalog/WorldPop_GP_100m_pop_age_sex_cons_unadj\",\n\t\timg: \"images/population.png\",\n\t\tperiodType: \"Yearly\",\n\t\tdefaultAggregations: [\"sum\", \"mean\"],\n\t\tbands: [\n\t\t\t{\n\t\t\t\tid: \"M_0\",\n\t\t\t\tname: i18n.t(\"Male 0 - 1 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_1\",\n\t\t\t\tname: i18n.t(\"Male 1 - 4 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_5\",\n\t\t\t\tname: i18n.t(\"Male 5 - 9 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_10\",\n\t\t\t\tname: i18n.t(\"Male 10 - 14 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_15\",\n\t\t\t\tname: i18n.t(\"Male 15 - 19 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_20\",\n\t\t\t\tname: i18n.t(\"Male 20 - 24 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_25\",\n\t\t\t\tname: i18n.t(\"Male 25 - 29 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_30\",\n\t\t\t\tname: i18n.t(\"Male 30 - 34 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_35\",\n\t\t\t\tname: i18n.t(\"Male 35 - 39 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_40\",\n\t\t\t\tname: i18n.t(\"Male 40 - 44 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_45\",\n\t\t\t\tname: i18n.t(\"Male 45 - 49 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_50\",\n\t\t\t\tname: i18n.t(\"Male 50 - 54 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_55\",\n\t\t\t\tname: i18n.t(\"Male 55 - 59 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_60\",\n\t\t\t\tname: i18n.t(\"Male 60 - 64 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_65\",\n\t\t\t\tname: i18n.t(\"Male 65 - 69 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_70\",\n\t\t\t\tname: i18n.t(\"Male 70 - 74 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_75\",\n\t\t\t\tname: i18n.t(\"Male 75 - 79 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_80\",\n\t\t\t\tname: i18n.t(\"Male 80 years and above\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_0\",\n\t\t\t\tname: i18n.t(\"Female 0 - 1 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_1\",\n\t\t\t\tname: i18n.t(\"Female 1 - 4 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_5\",\n\t\t\t\tname: i18n.t(\"Female 5 - 9 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_10\",\n\t\t\t\tname: i18n.t(\"Female 10 - 14 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_15\",\n\t\t\t\tname: i18n.t(\"Female 15 - 19 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_20\",\n\t\t\t\tname: i18n.t(\"Female 20 - 24 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_25\",\n\t\t\t\tname: i18n.t(\"Female 25 - 29 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_30\",\n\t\t\t\tname: i18n.t(\"Female 30 - 34 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_35\",\n\t\t\t\tname: i18n.t(\"Female 35 - 39 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_40\",\n\t\t\t\tname: i18n.t(\"Female 40 - 44 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_45\",\n\t\t\t\tname: i18n.t(\"Female 45 - 49 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_50\",\n\t\t\t\tname: i18n.t(\"Female 50 - 54 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_55\",\n\t\t\t\tname: i18n.t(\"Female 55 - 59 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_60\",\n\t\t\t\tname: i18n.t(\"Female 60 - 64 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_65\",\n\t\t\t\tname: i18n.t(\"Female 65 - 69 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_70\",\n\t\t\t\tname: i18n.t(\"Female 70 - 74 years\"),\n\t\t\t\tmultiple: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_75\",\n\t\t\t\tname: i18n.t(\"Female 75 - 79 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_80\",\n\t\t\t\tname: i18n.t(\"Female 80 years and above\"),\n\t\t\t},\n\t\t],\n\t\tfilters: [\"period\"],\n\t\tmosaic: true,\n\t\tparams: {\n\t\t\tmin: 0,\n\t\t\tmax: 10,\n\t\t\tpalette: \"#fee5d9,#fcbba1,#fc9272,#fb6a4a,#de2d26,#a50f15\", // Reds\n\t\t},\n\t\topacity: 0.9,\n\t\ttileScale: 4,\n\t},\n\t{\n\t\tlayer: EARTH_ENGINE_LAYER,\n\t\tid: \"footprints\",\n\t\tdatasetId: \"GOOGLE/Research/open-buildings/v1/polygons\",\n\t\ttype: \"FeatureCollection\",\n\t\tname: i18n.t(\"Building footprints\"),\n\t\tunit: i18n.t(\"Number of buildings\"),\n\t\tdescription: i18n.t(\n\t\t\t\"The outlines of buildings derived from high-resolution satellite imagery. Only for the continent of Africa.\",\n\t\t),\n\t\tnotice: i18n.t(\n\t\t\t\"Building counts are only available for smaller organisation unit areas.\",\n\t\t),\n\t\terror: i18n.t(\n\t\t\t\"Select a smaller area or single organization unit to see the count of buildings.\",\n\t\t),\n\t\tsource: \"NASA / USGS / JPL-Caltech / Google Earth Engine\",\n\t\tsourceUrl: \"https://sites.research.google/open-buildings/\",\n\t\timg: \"images/buildings.png\",\n\t\taggregations: [\"count\"],\n\t\tdefaultAggregations: [\"count\"],\n\t\topacity: 0.9,\n\t\ttokenType: \"Bearer\",\n\t},\n\t{\n\t\tlayer: EARTH_ENGINE_LAYER,\n\t\tid: \"elevation\",\n\t\ttype: \"Image\",\n\t\ttokenType: \"Bearer\",\n\t\tdatasetId: \"USGS/SRTMGL1_003\",\n\t\tname: i18n.t(\"Elevation\"),\n\t\tunit: i18n.t(\"meters\"),\n\t\tdescription: i18n.t(\"Elevation above sea-level.\"),\n\t\tsource: \"NASA / USGS / JPL-Caltech / Google Earth Engine\",\n\t\tsourceUrl:\n\t\t\t\"https://explorer.earthengine.google.com/#detail/USGS%2FSRTMGL1_003\",\n\t\timg: \"images/elevation.png\",\n\t\taggregations: [\"min\", \"max\", \"mean\", \"median\", \"stdDev\", \"variance\"],\n\t\tdefaultAggregations: [\"mean\", \"min\", \"max\"],\n\t\tselectedBands: [\"elevation\"],\n\t\tparams: {\n\t\t\tmin: 0,\n\t\t\tmax: 1500,\n\t\t\tpalette: \"#ffffd4,#fee391,#fec44f,#fe9929,#d95f0e,#993404\", // YlOrBr\n\t\t},\n\t\topacity: 0.9,\n\t},\n\t{\n\t\tlayer: EARTH_ENGINE_LAYER,\n\t\tdatasetId: \"UCSB-CHG/CHIRPS/PENTAD\",\n\t\tid: \"precipitation\",\n\t\ttype: \"ImageCollection\",\n\t\ttokenType: \"Bearer\",\n\t\tname: i18n.t(\"Precipitation\"),\n\t\tunit: i18n.t(\"millimeter\"),\n\t\tdescription: i18n.t(\n\t\t\t\"Precipitation collected from satellite and weather stations on the ground. The values are in millimeters within 5 days periods. Updated monthly, during the 3rd week of the following month.\",\n\t\t),\n\t\tsource: \"UCSB / CHG / Google Earth Engine\",\n\t\tsourceUrl:\n\t\t\t\"https://explorer.earthengine.google.com/#detail/UCSB-CHG%2FCHIRPS%2FPENTAD\",\n\t\tperiodType: \"Custom\",\n\t\tselectedBands: [\"precipitation\"],\n\t\taggregations: [\"min\", \"max\", \"mean\", \"median\", \"stdDev\", \"variance\"],\n\t\tdefaultAggregations: [\"mean\", \"min\", \"max\"],\n\t\tmask: true,\n\t\timg: \"images/precipitation.png\",\n\t\tparams: {\n\t\t\tmin: 0,\n\t\t\tmax: 100,\n\t\t\tpalette: \"#eff3ff,#c6dbef,#9ecae1,#6baed6,#3182bd,#08519c\", // Blues\n\t\t},\n\t\topacity: 0.9,\n\t},\n\t{\n\t\tlayer: EARTH_ENGINE_LAYER,\n\t\tdatasetId: \"MODIS/006/MOD11A2\",\n\t\tid: \"temperature\",\n\t\ttype: \"ImageCollection\",\n\t\ttokenType: \"Bearer\",\n\t\tname: i18n.t(\"Temperature\"),\n\t\tunit: i18n.t(\"°C during daytime\"),\n\t\tdescription: i18n.t(\n\t\t\t\"Land surface temperatures collected from satellite. Blank spots will appear in areas with a persistent cloud cover.\",\n\t\t),\n\t\tsource: \"NASA LP DAAC / Google Earth Engine\",\n\t\tsourceUrl:\n\t\t\t\"https://explorer.earthengine.google.com/#detail/MODIS%2FMOD11A2\",\n\t\timg: \"images/temperature.png\",\n\t\taggregations: [\"min\", \"max\", \"mean\", \"median\", \"stdDev\", \"variance\"],\n\t\tdefaultAggregations: [\"mean\", \"min\", \"max\"],\n\t\tperiodType: \"Custom\",\n\t\tselectedBands: [\"LST_Day_1km\"],\n\t\tmask: true,\n\t\tmethods: {\n\t\t\ttoFloat: [],\n\t\t\tmultiply: [0.02],\n\t\t\tsubtract: [273.15],\n\t\t},\n\t\tparams: {\n\t\t\tmin: 0,\n\t\t\tmax: 40,\n\t\t\tpalette:\n\t\t\t\t\"#fff5f0,#fee0d2,#fcbba1,#fc9272,#fb6a4a,#ef3b2c,#cb181d,#a50f15,#67000d\", // Reds\n\t\t},\n\t\topacity: 0.9,\n\t},\n\t{\n\t\tlayer: EARTH_ENGINE_LAYER,\n\t\ttype: \"ImageCollection\",\n\t\ttokenType: \"Bearer\",\n\t\tid: \"landCover\",\n\t\tdatasetId: \"MODIS/006/MCD12Q1\", // No longer in use: 'MODIS/051/MCD12Q1',\n\t\tname: i18n.t(\"Landcover\"),\n\t\tdescription: i18n.t(\n\t\t\t\"Distinct landcover types collected from satellites.\",\n\t\t),\n\t\tsource: \"NASA LP DAAC / Google Earth Engine\",\n\t\tsourceUrl:\n\t\t\t\"https://developers.google.com/earth-engine/datasets/catalog/MODIS_006_MCD12Q1\",\n\t\tperiodType: \"Yearly\",\n\t\tfilters: [\"period\"],\n\t\tselectedBands: [\"LC_Type1\"],\n\t\tdefaultAggregations: [\"percentage\", \"hectares\", \"acres\"],\n\t\tmaxAggregations: 1,\n\t\tlegend: {\n\t\t\titems: [\n\t\t\t\t// http://www.eomf.ou.edu/static/IGBP.pdf\n\t\t\t\t{\n\t\t\t\t\tid: 1,\n\t\t\t\t\tname: i18n.t(\"Evergreen Needleleaf forest\"),\n\t\t\t\t\tcolor: \"#162103\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 2,\n\t\t\t\t\tname: i18n.t(\"Evergreen Broadleaf forest\"),\n\t\t\t\t\tcolor: \"#235123\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 3,\n\t\t\t\t\tname: i18n.t(\"Deciduous Needleleaf forest\"),\n\t\t\t\t\tcolor: \"#399b38\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 4,\n\t\t\t\t\tname: i18n.t(\"Deciduous Broadleaf forest\"),\n\t\t\t\t\tcolor: \"#38eb38\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 5,\n\t\t\t\t\tname: i18n.t(\"Mixed forest\"),\n\t\t\t\t\tcolor: \"#39723b\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 6,\n\t\t\t\t\tname: i18n.t(\"Closed shrublands\"),\n\t\t\t\t\tcolor: \"#6a2424\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 7,\n\t\t\t\t\tname: i18n.t(\"Open shrublands\"),\n\t\t\t\t\tcolor: \"#c3a55f\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 8,\n\t\t\t\t\tname: i18n.t(\"Woody savannas\"),\n\t\t\t\t\tcolor: \"#b76124\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 9,\n\t\t\t\t\tname: i18n.t(\"Savannas\"),\n\t\t\t\t\tcolor: \"#d99125\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 10,\n\t\t\t\t\tname: i18n.t(\"Grasslands\"),\n\t\t\t\t\tcolor: \"#92af1f\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 11,\n\t\t\t\t\tname: i18n.t(\"Permanent wetlands\"),\n\t\t\t\t\tcolor: \"#10104c\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 12,\n\t\t\t\t\tname: i18n.t(\"Croplands\"),\n\t\t\t\t\tcolor: \"#cdb400\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 13,\n\t\t\t\t\tname: i18n.t(\"Urban and built-up\"),\n\t\t\t\t\tcolor: \"#cc0202\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 14,\n\t\t\t\t\tname: i18n.t(\"Cropland/Natural vegetation mosaic\"),\n\t\t\t\t\tcolor: \"#332808\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 15,\n\t\t\t\t\tname: i18n.t(\"Snow and ice\"),\n\t\t\t\t\tcolor: \"#d7cdcc\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 16,\n\t\t\t\t\tname: i18n.t(\"Barren or sparsely vegetated\"),\n\t\t\t\t\tcolor: \"#f7e174\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 17,\n\t\t\t\t\tname: i18n.t(\"Water\"),\n\t\t\t\t\tcolor: \"#aec3d6\",\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\tmask: false,\n\t\timg: \"images/landcover.png\",\n\t\topacity: 0.9,\n\t},\n\t{\n\t\tlayer: EARTH_ENGINE_LAYER,\n\t\tid: \"nightLights\",\n\t\ttype: \"ImageCollection\",\n\t\ttokenType: \"Bearer\",\n\t\tlegacy: true, // Kept for backward compability\n\t\tdatasetId: \"NOAA/DMSP-OLS/NIGHTTIME_LIGHTS\",\n\t\tname: i18n.t(\"Nighttime lights\"),\n\t\tunit: i18n.t(\"light intensity\"),\n\t\tdescription: i18n.t(\n\t\t\t\"Light intensity from cities, towns, and other sites with persistent lighting, including gas flares.\",\n\t\t),\n\t\tsource: \"NOAA / Google Earth Engine\",\n\t\tsourceUrl:\n\t\t\t\"https://explorer.earthengine.google.com/#detail/NOAA%2FDMSP-OLS%2FNIGHTTIME_LIGHTS\",\n\t\tperiodType: \"Yearly\",\n\t\tselectedBands: [\"stable_lights\"],\n\t\tmask: true,\n\t\timg: \"images/nighttime.png\",\n\t\tparams: {\n\t\t\tmin: 0,\n\t\t\tmax: 63,\n\t\t\tpalette: \"#ffffd4,#fee391,#fec44f,#fe9929,#ec7014,#cc4c02,#8c2d04\", // YlOrBr\n\t\t},\n\t\topacity: 0.9,\n\t},\n];\n\nexport const SUPPORTED_EARTH_ENGINE_LAYERS = [\n\t\"population\",\n\t\"landCover\",\n\t\"footprints\",\n];\n"]}
1
+ {"version":3,"sources":["../../../../../../../../../src/components/Map/components/MapLayer/components/GoogleEngineLayer/constants/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import i18n from \"@dhis2/d2-i18n\";\nimport { EarthEngineOptions } from \"../interfaces/index.js\";\n\nexport const EARTH_ENGINE_LAYER = \"earthEngine\";\n\nexport const EARTH_ENGINE_LAYERS: EarthEngineOptions[] = [\n\t{\n\t\tlayer: EARTH_ENGINE_LAYER,\n\t\tid: \"population\",\n\t\tdatasetId: \"WorldPop/GP/100m/pop\",\n\t\ttype: \"ImageCollection\",\n\t\tname: i18n.t(\"Population\"),\n\t\tunit: i18n.t(\"people per hectare\"),\n\t\tdescription: i18n.t(\"Estimated number of people living in an area.\"),\n\t\tsource: \"WorldPop / Google Earth Engine\",\n\t\tsourceUrl:\n\t\t\t\"https://developers.google.com/earth-engine/datasets/catalog/WorldPop_GP_100m_pop\",\n\t\timg: \"images/population.png\",\n\t\tdefaultAggregations: [\"sum\", \"mean\"],\n\t\ttokenType: \"Bearer\",\n\t\tperiodType: \"Yearly\",\n\t\tfilters: [\"period\"],\n\t\tmosaic: true,\n\t\tparams: {\n\t\t\tmin: 0,\n\t\t\tmax: 10,\n\t\t\tpalette: \"#fee5d9,#fcbba1,#fc9272,#fb6a4a,#de2d26,#a50f15\", // Reds\n\t\t},\n\t\topacity: 0.9,\n\t},\n\t{\n\t\tlayer: EARTH_ENGINE_LAYER,\n\t\ttype: \"ImageCollection\",\n\t\ttokenType: \"Bearer\",\n\t\tid: \"populationAgeGroups\",\n\t\tdatasetId: \"WorldPop/GP/100m/pop_age_sex_cons_unadj\",\n\t\tname: i18n.t(\"Population age groups\"),\n\t\tunit: i18n.t(\"people per hectare\"),\n\t\tdescription: i18n.t(\n\t\t\t\"Estimated number of people living in an area, grouped by age and gender.\",\n\t\t),\n\t\tsource: \"WorldPop / Google Earth Engine\",\n\t\tsourceUrl:\n\t\t\t\"https://developers.google.com/earth-engine/datasets/catalog/WorldPop_GP_100m_pop_age_sex_cons_unadj\",\n\t\timg: \"images/population.png\",\n\t\tperiodType: \"Yearly\",\n\t\tdefaultAggregations: [\"sum\", \"mean\"],\n\t\tbands: [\n\t\t\t{\n\t\t\t\tid: \"M_0\",\n\t\t\t\tname: i18n.t(\"Male 0 - 1 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_1\",\n\t\t\t\tname: i18n.t(\"Male 1 - 4 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_5\",\n\t\t\t\tname: i18n.t(\"Male 5 - 9 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_10\",\n\t\t\t\tname: i18n.t(\"Male 10 - 14 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_15\",\n\t\t\t\tname: i18n.t(\"Male 15 - 19 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_20\",\n\t\t\t\tname: i18n.t(\"Male 20 - 24 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_25\",\n\t\t\t\tname: i18n.t(\"Male 25 - 29 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_30\",\n\t\t\t\tname: i18n.t(\"Male 30 - 34 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_35\",\n\t\t\t\tname: i18n.t(\"Male 35 - 39 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_40\",\n\t\t\t\tname: i18n.t(\"Male 40 - 44 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_45\",\n\t\t\t\tname: i18n.t(\"Male 45 - 49 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_50\",\n\t\t\t\tname: i18n.t(\"Male 50 - 54 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_55\",\n\t\t\t\tname: i18n.t(\"Male 55 - 59 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_60\",\n\t\t\t\tname: i18n.t(\"Male 60 - 64 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_65\",\n\t\t\t\tname: i18n.t(\"Male 65 - 69 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_70\",\n\t\t\t\tname: i18n.t(\"Male 70 - 74 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_75\",\n\t\t\t\tname: i18n.t(\"Male 75 - 79 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_80\",\n\t\t\t\tname: i18n.t(\"Male 80 years and above\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_0\",\n\t\t\t\tname: i18n.t(\"Female 0 - 1 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_1\",\n\t\t\t\tname: i18n.t(\"Female 1 - 4 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_5\",\n\t\t\t\tname: i18n.t(\"Female 5 - 9 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_10\",\n\t\t\t\tname: i18n.t(\"Female 10 - 14 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_15\",\n\t\t\t\tname: i18n.t(\"Female 15 - 19 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_20\",\n\t\t\t\tname: i18n.t(\"Female 20 - 24 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_25\",\n\t\t\t\tname: i18n.t(\"Female 25 - 29 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_30\",\n\t\t\t\tname: i18n.t(\"Female 30 - 34 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_35\",\n\t\t\t\tname: i18n.t(\"Female 35 - 39 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_40\",\n\t\t\t\tname: i18n.t(\"Female 40 - 44 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_45\",\n\t\t\t\tname: i18n.t(\"Female 45 - 49 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_50\",\n\t\t\t\tname: i18n.t(\"Female 50 - 54 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_55\",\n\t\t\t\tname: i18n.t(\"Female 55 - 59 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_60\",\n\t\t\t\tname: i18n.t(\"Female 60 - 64 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_65\",\n\t\t\t\tname: i18n.t(\"Female 65 - 69 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_70\",\n\t\t\t\tname: i18n.t(\"Female 70 - 74 years\"),\n\t\t\t\tmultiple: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_75\",\n\t\t\t\tname: i18n.t(\"Female 75 - 79 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_80\",\n\t\t\t\tname: i18n.t(\"Female 80 years and above\"),\n\t\t\t},\n\t\t],\n\t\tfilters: [\"period\"],\n\t\tmosaic: true,\n\t\tparams: {\n\t\t\tmin: 0,\n\t\t\tmax: 10,\n\t\t\tpalette: \"#fee5d9,#fcbba1,#fc9272,#fb6a4a,#de2d26,#a50f15\", // Reds\n\t\t},\n\t\topacity: 0.9,\n\t\ttileScale: 4,\n\t},\n\t{\n\t\tlayer: EARTH_ENGINE_LAYER,\n\t\tid: \"footprints\",\n\t\tdatasetId: \"GOOGLE/Research/open-buildings/v1/polygons\",\n\t\ttype: \"FeatureCollection\",\n\t\tname: i18n.t(\"Building footprints\"),\n\t\tunit: i18n.t(\"Number of buildings\"),\n\t\tdescription: i18n.t(\n\t\t\t\"The outlines of buildings derived from high-resolution satellite imagery. Only for the continent of Africa.\",\n\t\t),\n\t\tnotice: i18n.t(\n\t\t\t\"Building counts are only available for smaller organisation unit areas.\",\n\t\t),\n\t\terror: i18n.t(\n\t\t\t\"Select a smaller area or single organization unit to see the count of buildings.\",\n\t\t),\n\t\tsource: \"NASA / USGS / JPL-Caltech / Google Earth Engine\",\n\t\tsourceUrl: \"https://sites.research.google/open-buildings/\",\n\t\timg: \"images/buildings.png\",\n\t\taggregations: [\"count\"],\n\t\tdefaultAggregations: [\"count\"],\n\t\topacity: 0.9,\n\t\ttokenType: \"Bearer\",\n\t},\n\t{\n\t\tlayer: EARTH_ENGINE_LAYER,\n\t\tid: \"elevation\",\n\t\ttype: \"Image\",\n\t\ttokenType: \"Bearer\",\n\t\tdatasetId: \"USGS/SRTMGL1_003\",\n\t\tname: i18n.t(\"Elevation\"),\n\t\tunit: i18n.t(\"meters\"),\n\t\tdescription: i18n.t(\"Elevation above sea-level.\"),\n\t\tsource: \"NASA / USGS / JPL-Caltech / Google Earth Engine\",\n\t\tsourceUrl:\n\t\t\t\"https://explorer.earthengine.google.com/#detail/USGS%2FSRTMGL1_003\",\n\t\timg: \"images/elevation.png\",\n\t\taggregations: [\"min\", \"max\", \"mean\", \"median\", \"stdDev\", \"variance\"],\n\t\tdefaultAggregations: [\"mean\", \"min\", \"max\"],\n\t\tselectedBands: [\"elevation\"],\n\t\tparams: {\n\t\t\tmin: 0,\n\t\t\tmax: 1500,\n\t\t\tpalette: \"#ffffd4,#fee391,#fec44f,#fe9929,#d95f0e,#993404\", // YlOrBr\n\t\t},\n\t\topacity: 0.9,\n\t},\n\t{\n\t\tlayer: EARTH_ENGINE_LAYER,\n\t\tdatasetId: \"UCSB-CHG/CHIRPS/PENTAD\",\n\t\tid: \"precipitation\",\n\t\ttype: \"ImageCollection\",\n\t\ttokenType: \"Bearer\",\n\t\tname: i18n.t(\"Precipitation\"),\n\t\tunit: i18n.t(\"millimeter\"),\n\t\tdescription: i18n.t(\n\t\t\t\"Precipitation collected from satellite and weather stations on the ground. The values are in millimeters within 5 days periods. Updated monthly, during the 3rd week of the following month.\",\n\t\t),\n\t\tsource: \"UCSB / CHG / Google Earth Engine\",\n\t\tsourceUrl:\n\t\t\t\"https://explorer.earthengine.google.com/#detail/UCSB-CHG%2FCHIRPS%2FPENTAD\",\n\t\tperiodType: \"Custom\",\n\t\tselectedBands: [\"precipitation\"],\n\t\taggregations: [\"min\", \"max\", \"mean\", \"median\", \"stdDev\", \"variance\"],\n\t\tdefaultAggregations: [\"mean\", \"min\", \"max\"],\n\t\tmask: true,\n\t\timg: \"images/precipitation.png\",\n\t\tparams: {\n\t\t\tmin: 0,\n\t\t\tmax: 100,\n\t\t\tpalette: \"#eff3ff,#c6dbef,#9ecae1,#6baed6,#3182bd,#08519c\", // Blues\n\t\t},\n\t\topacity: 0.9,\n\t},\n\t{\n\t\tlayer: EARTH_ENGINE_LAYER,\n\t\tdatasetId: \"MODIS/006/MOD11A2\",\n\t\tid: \"temperature\",\n\t\ttype: \"ImageCollection\",\n\t\ttokenType: \"Bearer\",\n\t\tname: i18n.t(\"Temperature\"),\n\t\tunit: i18n.t(\"°C during daytime\"),\n\t\tdescription: i18n.t(\n\t\t\t\"Land surface temperatures collected from satellite. Blank spots will appear in areas with a persistent cloud cover.\",\n\t\t),\n\t\tsource: \"NASA LP DAAC / Google Earth Engine\",\n\t\tsourceUrl:\n\t\t\t\"https://explorer.earthengine.google.com/#detail/MODIS%2FMOD11A2\",\n\t\timg: \"images/temperature.png\",\n\t\taggregations: [\"min\", \"max\", \"mean\", \"median\", \"stdDev\", \"variance\"],\n\t\tdefaultAggregations: [\"mean\", \"min\", \"max\"],\n\t\tperiodType: \"Custom\",\n\t\tselectedBands: [\"LST_Day_1km\"],\n\t\tmask: true,\n\t\tmethods: {\n\t\t\ttoFloat: [],\n\t\t\tmultiply: [0.02],\n\t\t\tsubtract: [273.15],\n\t\t},\n\t\tparams: {\n\t\t\tmin: 0,\n\t\t\tmax: 40,\n\t\t\tpalette:\n\t\t\t\t\"#fff5f0,#fee0d2,#fcbba1,#fc9272,#fb6a4a,#ef3b2c,#cb181d,#a50f15,#67000d\", // Reds\n\t\t},\n\t\topacity: 0.9,\n\t},\n\t{\n\t\tlayer: EARTH_ENGINE_LAYER,\n\t\ttype: \"ImageCollection\",\n\t\ttokenType: \"Bearer\",\n\t\tid: \"landCover\",\n\t\tdatasetId: \"MODIS/006/MCD12Q1\", // No longer in use: 'MODIS/051/MCD12Q1',\n\t\tname: i18n.t(\"Landcover\"),\n\t\tdescription: i18n.t(\n\t\t\t\"Distinct landcover types collected from satellites.\",\n\t\t),\n\t\tsource: \"NASA LP DAAC / Google Earth Engine\",\n\t\tsourceUrl:\n\t\t\t\"https://developers.google.com/earth-engine/datasets/catalog/MODIS_006_MCD12Q1\",\n\t\tperiodType: \"Yearly\",\n\t\tfilters: [\"period\"],\n\t\tselectedBands: [\"LC_Type1\"],\n\t\tdefaultAggregations: [\"percentage\", \"hectares\", \"acres\"],\n\t\tmaxAggregations: 1,\n\t\tlegend: {\n\t\t\titems: [\n\t\t\t\t// http://www.eomf.ou.edu/static/IGBP.pdf\n\t\t\t\t{\n\t\t\t\t\tid: 1,\n\t\t\t\t\tname: i18n.t(\"Evergreen Needleleaf forest\"),\n\t\t\t\t\tcolor: \"#162103\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 2,\n\t\t\t\t\tname: i18n.t(\"Evergreen Broadleaf forest\"),\n\t\t\t\t\tcolor: \"#235123\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 3,\n\t\t\t\t\tname: i18n.t(\"Deciduous Needleleaf forest\"),\n\t\t\t\t\tcolor: \"#399b38\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 4,\n\t\t\t\t\tname: i18n.t(\"Deciduous Broadleaf forest\"),\n\t\t\t\t\tcolor: \"#38eb38\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 5,\n\t\t\t\t\tname: i18n.t(\"Mixed forest\"),\n\t\t\t\t\tcolor: \"#39723b\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 6,\n\t\t\t\t\tname: i18n.t(\"Closed shrublands\"),\n\t\t\t\t\tcolor: \"#6a2424\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 7,\n\t\t\t\t\tname: i18n.t(\"Open shrublands\"),\n\t\t\t\t\tcolor: \"#c3a55f\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 8,\n\t\t\t\t\tname: i18n.t(\"Woody savannas\"),\n\t\t\t\t\tcolor: \"#b76124\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 9,\n\t\t\t\t\tname: i18n.t(\"Savannas\"),\n\t\t\t\t\tcolor: \"#d99125\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 10,\n\t\t\t\t\tname: i18n.t(\"Grasslands\"),\n\t\t\t\t\tcolor: \"#92af1f\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 11,\n\t\t\t\t\tname: i18n.t(\"Permanent wetlands\"),\n\t\t\t\t\tcolor: \"#10104c\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 12,\n\t\t\t\t\tname: i18n.t(\"Croplands\"),\n\t\t\t\t\tcolor: \"#cdb400\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 13,\n\t\t\t\t\tname: i18n.t(\"Urban and built-up\"),\n\t\t\t\t\tcolor: \"#cc0202\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 14,\n\t\t\t\t\tname: i18n.t(\"Cropland/Natural vegetation mosaic\"),\n\t\t\t\t\tcolor: \"#332808\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 15,\n\t\t\t\t\tname: i18n.t(\"Snow and ice\"),\n\t\t\t\t\tcolor: \"#d7cdcc\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 16,\n\t\t\t\t\tname: i18n.t(\"Barren or sparsely vegetated\"),\n\t\t\t\t\tcolor: \"#f7e174\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 17,\n\t\t\t\t\tname: i18n.t(\"Water\"),\n\t\t\t\t\tcolor: \"#aec3d6\",\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\tmask: false,\n\t\timg: \"images/landcover.png\",\n\t\topacity: 0.9,\n\t},\n\t{\n\t\tlayer: EARTH_ENGINE_LAYER,\n\t\tid: \"nightLights\",\n\t\ttype: \"ImageCollection\",\n\t\ttokenType: \"Bearer\",\n\t\tlegacy: true, // Kept for backward compability\n\t\tdatasetId: \"NOAA/DMSP-OLS/NIGHTTIME_LIGHTS\",\n\t\tname: i18n.t(\"Nighttime lights\"),\n\t\tunit: i18n.t(\"light intensity\"),\n\t\tdescription: i18n.t(\n\t\t\t\"Light intensity from cities, towns, and other sites with persistent lighting, including gas flares.\",\n\t\t),\n\t\tsource: \"NOAA / Google Earth Engine\",\n\t\tsourceUrl:\n\t\t\t\"https://explorer.earthengine.google.com/#detail/NOAA%2FDMSP-OLS%2FNIGHTTIME_LIGHTS\",\n\t\tperiodType: \"Yearly\",\n\t\tselectedBands: [\"stable_lights\"],\n\t\tmask: true,\n\t\timg: \"images/nighttime.png\",\n\t\tparams: {\n\t\t\tmin: 0,\n\t\t\tmax: 63,\n\t\t\tpalette: \"#ffffd4,#fee391,#fec44f,#fe9929,#ec7014,#cc4c02,#8c2d04\", // YlOrBr\n\t\t},\n\t\topacity: 0.9,\n\t},\n];\n\nexport const SUPPORTED_EARTH_ENGINE_LAYERS = [\n\t\"population\",\n\t\"landCover\",\n\t\"footprints\",\n];\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../../../src/components/Map/components/MapLayer/components/GoogleEngineLayer/hooks/index.ts"],"names":[],"mappings":";;;;;AAOA,MAAM,oBAAuB,GAAA;AAAA,EAC5B,KAAO,EAAA;AAAA,IACN,QAAU,EAAA;AAAA;AAEZ,CAAA;AAEO,SAAS,oBAAuB,GAAA;AACtC,EAAA,MAAM,SAAS,aAAc,EAAA;AAC7B,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAS,KAAK,CAAA;AAE5C,EAAA,MAAM,WAAW,YAAY;AAC5B,IAAA,UAAA,CAAW,IAAI,CAAA;AACf,IAAA,MAAM,KAAQ,GAAA,MAAM,MAAO,CAAA,KAAA,CAAM,oBAAoB,CAAA;AACrD,IAAA,UAAA,CAAW,KAAK,CAAA;AAChB,IAAO,OAAA,KAAA;AAAA,GACR;AAEA,EAAO,OAAA;AAAA,IACN,OAAS,EAAA,QAAA;AAAA,IAGT;AAAA,GACD;AACD;AAEe,SAAR,qBACN,OACsC,EAAA;AACtC,EAAM,MAAA,EAAE,MAAO,EAAA,GAAI,YAAa,EAAA;AAChC,EAAA,OAAO,IAAK,CAAA,MAAA,EAAqC,CAAC,IAAA,EAAM,OAAO,CAAC,CAAA;AACjE","file":"index.js","sourcesContent":["import { useDataEngine } from \"@dhis2/app-runtime\";\nimport { find } from \"lodash\";\nimport { useMapLayers } from \"../../../../MapProvider/hooks/index.js\";\nimport { CustomGoogleEngineLayer } from \"../../../interfaces/index.js\";\nimport { EarthEngineToken } from \"../interfaces/index.js\";\nimport { useState } from \"react\";\n\nconst googleEngineKeyQuery = {\n\ttoken: {\n\t\tresource: \"tokens/google\",\n\t},\n};\n\nexport function useGoogleEngineToken() {\n\tconst engine = useDataEngine();\n\tconst [loading, setLoading] = useState(false);\n\n\tconst getToken = async () => {\n\t\tsetLoading(true);\n\t\tconst token = await engine.query(googleEngineKeyQuery);\n\t\tsetLoading(false);\n\t\treturn token;\n\t};\n\n\treturn {\n\t\trefresh: getToken as unknown as () => Promise<{\n\t\t\ttoken: EarthEngineToken;\n\t\t}>,\n\t\tloading,\n\t};\n}\n\nexport default function useGoogleEngineLayer(\n\tlayerId: string,\n): CustomGoogleEngineLayer | undefined {\n\tconst { layers } = useMapLayers();\n\treturn find(layers as CustomGoogleEngineLayer[], [\"id\", layerId]);\n}\n"]}
1
+ {"version":3,"sources":["../../../../../../../../../src/components/Map/components/MapLayer/components/GoogleEngineLayer/hooks/index.ts"],"names":[],"mappings":";;;;;AAOA,MAAM,oBAAA,GAAuB;AAAA,EAC5B,KAAA,EAAO;AAAA,IACN,QAAA,EAAU;AAAA;AAEZ,CAAA;AAEO,SAAS,oBAAA,GAAuB;AACtC,EAAA,MAAM,SAAS,aAAA,EAAc;AAC7B,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAS,KAAK,CAAA;AAE5C,EAAA,MAAM,WAAW,YAAY;AAC5B,IAAA,UAAA,CAAW,IAAI,CAAA;AACf,IAAA,MAAM,KAAA,GAAQ,MAAM,MAAA,CAAO,KAAA,CAAM,oBAAoB,CAAA;AACrD,IAAA,UAAA,CAAW,KAAK,CAAA;AAChB,IAAA,OAAO,KAAA;AAAA,EACR,CAAA;AAEA,EAAA,OAAO;AAAA,IACN,OAAA,EAAS,QAAA;AAAA,IAGT;AAAA,GACD;AACD;AAEe,SAAR,qBACN,OAAA,EACsC;AACtC,EAAA,MAAM,EAAE,MAAA,EAAO,GAAI,YAAA,EAAa;AAChC,EAAA,OAAO,IAAA,CAAK,MAAA,EAAqC,CAAC,IAAA,EAAM,OAAO,CAAC,CAAA;AACjE","file":"index.js","sourcesContent":["import { useDataEngine } from \"@dhis2/app-runtime\";\nimport { find } from \"lodash\";\nimport { useMapLayers } from \"../../../../MapProvider/hooks/index.js\";\nimport { CustomGoogleEngineLayer } from \"../../../interfaces/index.js\";\nimport { EarthEngineToken } from \"../interfaces/index.js\";\nimport { useState } from \"react\";\n\nconst googleEngineKeyQuery = {\n\ttoken: {\n\t\tresource: \"tokens/google\",\n\t},\n};\n\nexport function useGoogleEngineToken() {\n\tconst engine = useDataEngine();\n\tconst [loading, setLoading] = useState(false);\n\n\tconst getToken = async () => {\n\t\tsetLoading(true);\n\t\tconst token = await engine.query(googleEngineKeyQuery);\n\t\tsetLoading(false);\n\t\treturn token;\n\t};\n\n\treturn {\n\t\trefresh: getToken as unknown as () => Promise<{\n\t\t\ttoken: EarthEngineToken;\n\t\t}>,\n\t\tloading,\n\t};\n}\n\nexport default function useGoogleEngineLayer(\n\tlayerId: string,\n): CustomGoogleEngineLayer | undefined {\n\tconst { layers } = useMapLayers();\n\treturn find(layers as CustomGoogleEngineLayer[], [\"id\", layerId]);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../../src/components/Map/components/MapLayer/components/GoogleEngineLayer/index.tsx"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import { capitalize, find, head, isEmpty, sortBy } from \"lodash\";\nimport { useMemo, useRef } from \"react\";\nimport {\n\tGeoJSON,\n\tLayerGroup,\n\tLayersControl,\n\tPopup,\n\tTileLayer,\n\tTooltip,\n} from \"react-leaflet\";\nimport { useBoundaryData } from \"../BoundaryLayer/hooks/useBoundaryData.js\";\nimport useGoogleEngineLayer from \"./hooks/index.js\";\nimport { MapOrgUnit } from \"../../../../interfaces/index.js\";\nimport { highlightFeature, resetHighlight } from \"../../../../utils/map.js\";\nimport { defaultStyle, highlightStyle } from \"../BoundaryLayer/index.js\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport { Center, CircularLoader, Divider } from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { CustomGoogleEngineLayer } from \"../../interfaces/index.js\";\n\nfunction formatValues(value: number): string {\n\treturn Intl.NumberFormat(\"en-GB\", { maximumFractionDigits: 2 }).format(\n\t\tvalue,\n\t);\n}\n\nfunction getUnit(unit?: string) {\n\tif (unit === \"percentage\") {\n\t\treturn \"%\";\n\t}\n}\n\nfunction Legend({\n\theader,\n\tlegends,\n\tvalue,\n\tunit,\n}: {\n\theader: number;\n\tlegends: { id: number | string; color: string; name: string }[];\n\tvalue: number;\n\tunit?: string;\n}) {\n\tconst legend = find(legends, [\"id\", header]);\n\n\treturn (\n\t\t<div className=\"row gap-8 space-between\">\n\t\t\t<div className=\"row gap-8\">\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"legend-item-color\"\n\t\t\t\t\tstyle={{ backgroundColor: legend?.color }}\n\t\t\t\t/>\n\t\t\t\t<div>{legend?.name}</div>\n\t\t\t</div>\n\t\t\t<span>\n\t\t\t\t{formatValues(value)}\n\t\t\t\t{getUnit(unit)}\n\t\t\t</span>\n\t\t</div>\n\t);\n}\n\nfunction AggregationView({ header, value }: { header: string; value: number }) {\n\treturn (\n\t\t<div className=\"row space-between\">\n\t\t\t<span>{capitalize(header.toString())}</span>\n\t\t\t<span>{formatValues(value)}</span>\n\t\t</div>\n\t);\n}\n\nfunction EarthEnginePopup({\n\tlayer,\n\torgUnit,\n\tloading,\n\terror,\n}: {\n\tlayer?: CustomGoogleEngineLayer;\n\torgUnit: MapOrgUnit;\n\tloading: boolean;\n\terror?: string;\n}) {\n\tconst engine = layer?.engine;\n\tconst legends = layer?.engine?.options?.legend?.items;\n\tconst data = engine?.getAggregation(orgUnit)?.data;\n\tconst unit =\n\t\tlayer?.engine?.options?.unit ??\n\t\thead(layer?.engine?.options.aggregations);\n\n\tconst aggregations = useMemo(() => {\n\t\tif (!isEmpty(legends)) {\n\t\t\treturn sortBy(\n\t\t\t\tObject.keys(data ?? {}).map((key) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tid: parseInt(key),\n\t\t\t\t\t\tvalue: data[key],\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t\t[\"value\"],\n\t\t\t).reverse();\n\t\t}\n\t\treturn data ?? {};\n\t}, [data]);\n\n\tif (loading) {\n\t\treturn (\n\t\t\t<div style={{ width: 200, height: 200 }}>\n\t\t\t\t<Center>\n\t\t\t\t\t<CircularLoader extrasmall />\n\t\t\t\t</Center>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif (error) {\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t<h3 style={{ margin: \"0\" }}>{orgUnit.name}</h3>\n\t\t\t\t<Divider margin={\"0\"} />\n\t\t\t\t<div className=\"column gap-8\">\n\t\t\t\t\t<div className=\"column\">\n\t\t\t\t\t\t<b>{layer?.options?.name}</b>\n\t\t\t\t\t\t<div>{layer?.options?.unit}</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"column\">\n\t\t\t\t\t\t<p>{i18n.t(\"Could not get aggregate data\")}</p>\n\t\t\t\t\t\t<p>{error}</p>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div>\n\t\t\t<h3 style={{ margin: \"0\" }}>{orgUnit.name}</h3>\n\t\t\t<Divider margin={\"0\"} />\n\t\t\t<div className=\"column gap-8\">\n\t\t\t\t<div className=\"column\">\n\t\t\t\t\t<b>{layer?.options?.name}</b>\n\t\t\t\t\t<div>{layer?.options?.unit ?? unit}</div>\n\t\t\t\t</div>\n\t\t\t\t{data && (\n\t\t\t\t\t<div className=\"column\">\n\t\t\t\t\t\t{Array.isArray(aggregations)\n\t\t\t\t\t\t\t? aggregations?.map(({ id, value }) => (\n\t\t\t\t\t\t\t\t\t<Legend\n\t\t\t\t\t\t\t\t\t\tkey={`${orgUnit.id}-legend-details-${id}`}\n\t\t\t\t\t\t\t\t\t\tlegends={legends ?? []}\n\t\t\t\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\t\t\t\theader={id}\n\t\t\t\t\t\t\t\t\t\tunit={unit}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t))\n\t\t\t\t\t\t\t: Object.keys(aggregations)?.map((key) => (\n\t\t\t\t\t\t\t\t\t<AggregationView\n\t\t\t\t\t\t\t\t\t\tkey={`${orgUnit.id}-aggregate-details-${key}`}\n\t\t\t\t\t\t\t\t\t\theader={key}\n\t\t\t\t\t\t\t\t\t\tvalue={aggregations[key]}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nfunction EarthEngineArea({\n\tarea,\n\tlayer,\n\tloading,\n\terror,\n}: {\n\tarea: MapOrgUnit;\n\tlayer?: CustomGoogleEngineLayer;\n\tloading: boolean;\n\terror?: string;\n}) {\n\tconst ref = useRef<any>();\n\n\treturn (\n\t\t<GeoJSON\n\t\t\tref={ref}\n\t\t\tdata={area.geoJSON}\n\t\t\tinteractive\n\t\t\teventHandlers={{\n\t\t\t\tmouseover: (e) => highlightFeature(e, highlightStyle),\n\t\t\t\tmouseout: (e) => resetHighlight(e, defaultStyle),\n\t\t\t}}\n\t\t\tkey={`${area.id}-polygon`}\n\t\t\tpathOptions={defaultStyle}\n\t\t>\n\t\t\t<Tooltip>{area.name}</Tooltip>\n\t\t\t<Popup minWidth={100}>\n\t\t\t\t<EarthEnginePopup\n\t\t\t\t\terror={error}\n\t\t\t\t\tlayer={layer}\n\t\t\t\t\torgUnit={area}\n\t\t\t\t\tloading={loading}\n\t\t\t\t/>\n\t\t\t</Popup>\n\t\t</GeoJSON>\n\t);\n}\n\nexport default function GoogleEngineLayer({ layerId }: { layerId: string }) {\n\tconst layer = useGoogleEngineLayer(layerId);\n\tconst { name, type, enabled, url, options, engine } = layer ?? {};\n\tconst { isLoading: loadingAggregateData, error } = useQuery(\n\t\t[engine],\n\t\tasync () => engine?.getAggregations(),\n\t\t{\n\t\t\tsuspense: false,\n\t\t},\n\t);\n\tconst orgUnits = useBoundaryData();\n\n\tif (!url) return null;\n\n\treturn (\n\t\t<LayersControl.Overlay\n\t\t\tchecked={enabled}\n\t\t\tname={name ?? capitalize(type)}\n\t\t>\n\t\t\t<LayerGroup>\n\t\t\t\t<TileLayer id={options?.id} url={url} />\n\t\t\t\t{orgUnits?.map((area: MapOrgUnit) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<EarthEngineArea\n\t\t\t\t\t\t\terror={\n\t\t\t\t\t\t\t\t(error as any)?.toString() as string | undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tloading={loadingAggregateData}\n\t\t\t\t\t\t\tkey={`${area.id}-polygon`}\n\t\t\t\t\t\t\tarea={area}\n\t\t\t\t\t\t\tlayer={layer}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</LayerGroup>\n\t\t</LayersControl.Overlay>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../../../../../src/components/Map/components/MapLayer/components/GoogleEngineLayer/index.tsx"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import { capitalize, find, head, isEmpty, sortBy } from \"lodash\";\nimport { useMemo, useRef } from \"react\";\nimport {\n\tGeoJSON,\n\tLayerGroup,\n\tLayersControl,\n\tPopup,\n\tTileLayer,\n\tTooltip,\n} from \"react-leaflet\";\nimport { useBoundaryData } from \"../BoundaryLayer/hooks/useBoundaryData.js\";\nimport useGoogleEngineLayer from \"./hooks/index.js\";\nimport { MapOrgUnit } from \"../../../../interfaces/index.js\";\nimport { highlightFeature, resetHighlight } from \"../../../../utils/map.js\";\nimport { defaultStyle, highlightStyle } from \"../BoundaryLayer/index.js\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport { Center, CircularLoader, Divider } from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { CustomGoogleEngineLayer } from \"../../interfaces/index.js\";\n\nfunction formatValues(value: number): string {\n\treturn Intl.NumberFormat(\"en-GB\", { maximumFractionDigits: 2 }).format(\n\t\tvalue,\n\t);\n}\n\nfunction getUnit(unit?: string) {\n\tif (unit === \"percentage\") {\n\t\treturn \"%\";\n\t}\n}\n\nfunction Legend({\n\theader,\n\tlegends,\n\tvalue,\n\tunit,\n}: {\n\theader: number;\n\tlegends: { id: number | string; color: string; name: string }[];\n\tvalue: number;\n\tunit?: string;\n}) {\n\tconst legend = find(legends, [\"id\", header]);\n\n\treturn (\n\t\t<div className=\"row gap-8 space-between\">\n\t\t\t<div className=\"row gap-8\">\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"legend-item-color\"\n\t\t\t\t\tstyle={{ backgroundColor: legend?.color }}\n\t\t\t\t/>\n\t\t\t\t<div>{legend?.name}</div>\n\t\t\t</div>\n\t\t\t<span>\n\t\t\t\t{formatValues(value)}\n\t\t\t\t{getUnit(unit)}\n\t\t\t</span>\n\t\t</div>\n\t);\n}\n\nfunction AggregationView({ header, value }: { header: string; value: number }) {\n\treturn (\n\t\t<div className=\"row space-between\">\n\t\t\t<span>{capitalize(header.toString())}</span>\n\t\t\t<span>{formatValues(value)}</span>\n\t\t</div>\n\t);\n}\n\nfunction EarthEnginePopup({\n\tlayer,\n\torgUnit,\n\tloading,\n\terror,\n}: {\n\tlayer?: CustomGoogleEngineLayer;\n\torgUnit: MapOrgUnit;\n\tloading: boolean;\n\terror?: string;\n}) {\n\tconst engine = layer?.engine;\n\tconst legends = layer?.engine?.options?.legend?.items;\n\tconst data = engine?.getAggregation(orgUnit)?.data;\n\tconst unit =\n\t\tlayer?.engine?.options?.unit ??\n\t\thead(layer?.engine?.options.aggregations);\n\n\tconst aggregations = useMemo(() => {\n\t\tif (!isEmpty(legends)) {\n\t\t\treturn sortBy(\n\t\t\t\tObject.keys(data ?? {}).map((key) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tid: parseInt(key),\n\t\t\t\t\t\tvalue: data[key],\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t\t[\"value\"],\n\t\t\t).reverse();\n\t\t}\n\t\treturn data ?? {};\n\t}, [data]);\n\n\tif (loading) {\n\t\treturn (\n\t\t\t<div style={{ width: 200, height: 200 }}>\n\t\t\t\t<Center>\n\t\t\t\t\t<CircularLoader extrasmall />\n\t\t\t\t</Center>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif (error) {\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t<h3 style={{ margin: \"0\" }}>{orgUnit.name}</h3>\n\t\t\t\t<Divider margin={\"0\"} />\n\t\t\t\t<div className=\"column gap-8\">\n\t\t\t\t\t<div className=\"column\">\n\t\t\t\t\t\t<b>{layer?.options?.name}</b>\n\t\t\t\t\t\t<div>{layer?.options?.unit}</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"column\">\n\t\t\t\t\t\t<p>{i18n.t(\"Could not get aggregate data\")}</p>\n\t\t\t\t\t\t<p>{error}</p>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div>\n\t\t\t<h3 style={{ margin: \"0\" }}>{orgUnit.name}</h3>\n\t\t\t<Divider margin={\"0\"} />\n\t\t\t<div className=\"column gap-8\">\n\t\t\t\t<div className=\"column\">\n\t\t\t\t\t<b>{layer?.options?.name}</b>\n\t\t\t\t\t<div>{layer?.options?.unit ?? unit}</div>\n\t\t\t\t</div>\n\t\t\t\t{data && (\n\t\t\t\t\t<div className=\"column\">\n\t\t\t\t\t\t{Array.isArray(aggregations)\n\t\t\t\t\t\t\t? aggregations?.map(({ id, value }) => (\n\t\t\t\t\t\t\t\t\t<Legend\n\t\t\t\t\t\t\t\t\t\tkey={`${orgUnit.id}-legend-details-${id}`}\n\t\t\t\t\t\t\t\t\t\tlegends={legends ?? []}\n\t\t\t\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\t\t\t\theader={id}\n\t\t\t\t\t\t\t\t\t\tunit={unit}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t))\n\t\t\t\t\t\t\t: Object.keys(aggregations)?.map((key) => (\n\t\t\t\t\t\t\t\t\t<AggregationView\n\t\t\t\t\t\t\t\t\t\tkey={`${orgUnit.id}-aggregate-details-${key}`}\n\t\t\t\t\t\t\t\t\t\theader={key}\n\t\t\t\t\t\t\t\t\t\tvalue={aggregations[key]}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nfunction EarthEngineArea({\n\tarea,\n\tlayer,\n\tloading,\n\terror,\n}: {\n\tarea: MapOrgUnit;\n\tlayer?: CustomGoogleEngineLayer;\n\tloading: boolean;\n\terror?: string;\n}) {\n\tconst ref = useRef<any>();\n\n\treturn (\n\t\t<GeoJSON\n\t\t\tref={ref}\n\t\t\tdata={area.geoJSON}\n\t\t\tinteractive\n\t\t\teventHandlers={{\n\t\t\t\tmouseover: (e) => highlightFeature(e, highlightStyle),\n\t\t\t\tmouseout: (e) => resetHighlight(e, defaultStyle),\n\t\t\t}}\n\t\t\tkey={`${area.id}-polygon`}\n\t\t\tpathOptions={defaultStyle}\n\t\t>\n\t\t\t<Tooltip>{area.name}</Tooltip>\n\t\t\t<Popup minWidth={100}>\n\t\t\t\t<EarthEnginePopup\n\t\t\t\t\terror={error}\n\t\t\t\t\tlayer={layer}\n\t\t\t\t\torgUnit={area}\n\t\t\t\t\tloading={loading}\n\t\t\t\t/>\n\t\t\t</Popup>\n\t\t</GeoJSON>\n\t);\n}\n\nexport default function GoogleEngineLayer({ layerId }: { layerId: string }) {\n\tconst layer = useGoogleEngineLayer(layerId);\n\tconst { name, type, enabled, url, options, engine } = layer ?? {};\n\tconst { isLoading: loadingAggregateData, error } = useQuery(\n\t\t[engine],\n\t\tasync () => engine?.getAggregations(),\n\t\t{\n\t\t\tsuspense: false,\n\t\t},\n\t);\n\tconst orgUnits = useBoundaryData();\n\n\tif (!url) return null;\n\n\treturn (\n\t\t<LayersControl.Overlay\n\t\t\tchecked={enabled}\n\t\t\tname={name ?? capitalize(type)}\n\t\t>\n\t\t\t<LayerGroup>\n\t\t\t\t<TileLayer id={options?.id} url={url} />\n\t\t\t\t{orgUnits?.map((area: MapOrgUnit) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<EarthEngineArea\n\t\t\t\t\t\t\terror={\n\t\t\t\t\t\t\t\t(error as any)?.toString() as string | undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tloading={loadingAggregateData}\n\t\t\t\t\t\t\tkey={`${area.id}-polygon`}\n\t\t\t\t\t\t\tarea={area}\n\t\t\t\t\t\t\tlayer={layer}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</LayerGroup>\n\t\t</LayersControl.Overlay>\n\t);\n}\n"]}