@hisptz/dhis2-analytics 2.0.45 → 2.0.47
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.
- package/dist/components/ChartAnalytics/ChartAnalytics.stories.js +1 -1
- package/dist/components/ChartAnalytics/ChartAnalytics.stories.js.map +1 -1
- package/dist/components/ChartAnalytics/DHIS2Chart.js +1 -1
- package/dist/components/ChartAnalytics/DHIS2Chart.js.map +1 -1
- package/dist/components/ChartAnalytics/components/DownloadMenu/components/Menu.js +1 -1
- package/dist/components/ChartAnalytics/components/DownloadMenu/components/Menu.js.map +1 -1
- package/dist/components/ChartAnalytics/components/DownloadMenu/constants/menu.js +1 -1
- package/dist/components/ChartAnalytics/components/DownloadMenu/constants/menu.js.map +1 -1
- package/dist/components/ChartAnalytics/components/DownloadMenu/index.js +1 -1
- package/dist/components/ChartAnalytics/components/DownloadMenu/index.js.map +1 -1
- package/dist/components/ChartAnalytics/components/DownloadMenu/interfaces/menu.js +1 -1
- package/dist/components/ChartAnalytics/components/DownloadMenu/interfaces/menu.js.map +1 -1
- package/dist/components/ChartAnalytics/hooks/useChart.js +1 -1
- package/dist/components/ChartAnalytics/hooks/useChart.js.map +1 -1
- package/dist/components/ChartAnalytics/index.js +1 -1
- package/dist/components/ChartAnalytics/index.js.map +1 -1
- package/dist/components/ChartAnalytics/models/bar.js +1 -1
- package/dist/components/ChartAnalytics/models/bar.js.map +1 -1
- package/dist/components/ChartAnalytics/models/column.js +1 -1
- package/dist/components/ChartAnalytics/models/column.js.map +1 -1
- package/dist/components/ChartAnalytics/models/index.js +1 -1
- package/dist/components/ChartAnalytics/models/index.js.map +1 -1
- package/dist/components/ChartAnalytics/models/line.js +1 -1
- package/dist/components/ChartAnalytics/models/line.js.map +1 -1
- package/dist/components/ChartAnalytics/models/multi-series.js +1 -1
- package/dist/components/ChartAnalytics/models/multi-series.js.map +1 -1
- package/dist/components/ChartAnalytics/models/pie.js +1 -1
- package/dist/components/ChartAnalytics/models/pie.js.map +1 -1
- package/dist/components/ChartAnalytics/services/export.js +1 -1
- package/dist/components/ChartAnalytics/services/export.js.map +1 -1
- package/dist/components/ChartAnalytics/types/props.js +1 -1
- package/dist/components/ChartAnalytics/types/props.js.map +1 -1
- package/dist/components/ChartAnalytics/utils/chart.js +1 -1
- package/dist/components/ChartAnalytics/utils/chart.js.map +1 -1
- package/dist/components/CircularProgressDashboard/CircularProgressIndicator.js +1 -1
- package/dist/components/CircularProgressDashboard/CircularProgressIndicator.js.map +1 -1
- package/dist/components/CircularProgressDashboard/CircularProgressIndicator.stories.js +1 -1
- package/dist/components/CircularProgressDashboard/CircularProgressIndicator.stories.js.map +1 -1
- package/dist/components/CircularProgressDashboard/index.js +1 -1
- package/dist/components/CircularProgressDashboard/index.js.map +1 -1
- package/dist/components/CircularProgressDashboard/types/props.js +1 -1
- package/dist/components/CircularProgressDashboard/types/props.js.map +1 -1
- package/dist/components/DHIS2PivotTable/DHIS2PivotTable.js +1 -1
- package/dist/components/DHIS2PivotTable/DHIS2PivotTable.js.map +1 -1
- package/dist/components/DHIS2PivotTable/DHIS2PivotTable.stories.js +1 -1
- package/dist/components/DHIS2PivotTable/DHIS2PivotTable.stories.js.map +1 -1
- package/dist/components/DHIS2PivotTable/components/Table/index.js +1 -1
- package/dist/components/DHIS2PivotTable/components/Table/index.js.map +1 -1
- package/dist/components/DHIS2PivotTable/components/TableBody/index.js +1 -1
- package/dist/components/DHIS2PivotTable/components/TableBody/index.js.map +1 -1
- package/dist/components/DHIS2PivotTable/components/TableHeaders/index.js +1 -1
- package/dist/components/DHIS2PivotTable/components/TableHeaders/index.js.map +1 -1
- package/dist/components/DHIS2PivotTable/index.js +1 -1
- package/dist/components/DHIS2PivotTable/index.js.map +1 -1
- package/dist/components/DHIS2PivotTable/interfaces/index.js +1 -1
- package/dist/components/DHIS2PivotTable/interfaces/index.js.map +1 -1
- package/dist/components/DHIS2PivotTable/services/engine.js +1 -1
- package/dist/components/DHIS2PivotTable/services/engine.js.map +1 -1
- package/dist/components/DHIS2PivotTable/state/engine.js +1 -1
- package/dist/components/DHIS2PivotTable/state/engine.js.map +1 -1
- package/dist/components/Map/DHIS2Map.js +1 -1
- package/dist/components/Map/DHIS2Map.js.map +1 -1
- package/dist/components/Map/DHIS2Map.stories.js +1 -1
- package/dist/components/Map/DHIS2Map.stories.js.map +1 -1
- package/dist/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfigModal.js +1 -1
- package/dist/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfigModal.js.map +1 -1
- package/dist/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfigModal.stories.js +1 -1
- package/dist/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfigModal.stories.js.map +1 -1
- package/dist/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfiguration.js +1 -1
- package/dist/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfiguration.js.map +1 -1
- package/dist/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfiguration.stories.js +1 -1
- package/dist/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfiguration.stories.js.map +1 -1
- package/dist/components/Map/components/EarthEngineLayerConfiguration/components/AggregationSelector.js +1 -1
- package/dist/components/Map/components/EarthEngineLayerConfiguration/components/AggregationSelector.js.map +1 -1
- package/dist/components/Map/components/EarthEngineLayerConfiguration/components/ColorConfig.js +3 -5
- package/dist/components/Map/components/EarthEngineLayerConfiguration/components/ColorConfig.js.map +1 -1
- package/dist/components/Map/components/EarthEngineLayerConfiguration/components/Name.js +2 -3
- package/dist/components/Map/components/EarthEngineLayerConfiguration/components/Name.js.map +1 -1
- package/dist/components/Map/components/EarthEngineLayerConfiguration/components/PeriodSelector.js +1 -1
- package/dist/components/Map/components/EarthEngineLayerConfiguration/components/PeriodSelector.js.map +1 -1
- package/dist/components/Map/components/EarthEngineLayerConfiguration/components/StylesConfig.js +1 -1
- package/dist/components/Map/components/EarthEngineLayerConfiguration/components/StylesConfig.js.map +1 -1
- package/dist/components/Map/components/EarthEngineLayerConfiguration/components/TypeField.js +2 -3
- package/dist/components/Map/components/EarthEngineLayerConfiguration/components/TypeField.js.map +1 -1
- package/dist/components/Map/components/EarthEngineLayerConfiguration/hooks/data.js +1 -1
- package/dist/components/Map/components/EarthEngineLayerConfiguration/hooks/data.js.map +1 -1
- package/dist/components/Map/components/EarthEngineLayerConfiguration/index.js +1 -1
- package/dist/components/Map/components/EarthEngineLayerConfiguration/index.js.map +1 -1
- package/dist/components/Map/components/MapArea/index.js +4 -2
- package/dist/components/Map/components/MapArea/index.js.map +1 -1
- package/dist/components/Map/components/MapArea/interfaces/index.js +1 -1
- package/dist/components/Map/components/MapArea/interfaces/index.js.map +1 -1
- package/dist/components/Map/components/MapControls/components/CustomControl/index.js +1 -1
- package/dist/components/Map/components/MapControls/components/CustomControl/index.js.map +1 -1
- package/dist/components/Map/components/MapControls/components/DownloadControl/index.js +1 -1
- package/dist/components/Map/components/MapControls/components/DownloadControl/index.js.map +1 -1
- package/dist/components/Map/components/MapControls/components/FullscreenControl/index.js +1 -1
- package/dist/components/Map/components/MapControls/components/FullscreenControl/index.js.map +1 -1
- package/dist/components/Map/components/MapControls/index.js +1 -1
- package/dist/components/Map/components/MapControls/index.js.map +1 -1
- package/dist/components/Map/components/MapLayer/components/BoundaryLayer/hooks/useBoundaryData.js +1 -1
- package/dist/components/Map/components/MapLayer/components/BoundaryLayer/hooks/useBoundaryData.js.map +1 -1
- package/dist/components/Map/components/MapLayer/components/BoundaryLayer/index.js +1 -1
- package/dist/components/Map/components/MapLayer/components/BoundaryLayer/index.js.map +1 -1
- package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/components/EarthEngineLegend.js +2 -3
- package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/components/EarthEngineLegend.js.map +1 -1
- package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/constants/index.js +1 -1
- package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/constants/index.js.map +1 -1
- package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/hooks/index.js +1 -1
- package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/hooks/index.js.map +1 -1
- package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/index.js +2 -3
- package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/index.js.map +1 -1
- package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/interfaces/index.js +1 -1
- package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/interfaces/index.js.map +1 -1
- package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/services/api.js +1 -1
- package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/services/api.js.map +1 -1
- package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/services/engine.js +6 -9
- package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/services/engine.js.map +1 -1
- package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/utils/index.js +1 -1
- package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/utils/index.js.map +1 -1
- package/dist/components/Map/components/MapLayer/components/LegendArea/components/LegendCardHeader/index.js +1 -1
- package/dist/components/Map/components/MapLayer/components/LegendArea/components/LegendCardHeader/index.js.map +1 -1
- package/dist/components/Map/components/MapLayer/components/LegendArea/index.js +1 -1
- package/dist/components/Map/components/MapLayer/components/LegendArea/index.js.map +1 -1
- package/dist/components/Map/components/MapLayer/components/PointLayer/components/PointLegend/index.js +1 -1
- package/dist/components/Map/components/MapLayer/components/PointLayer/components/PointLegend/index.js.map +1 -1
- package/dist/components/Map/components/MapLayer/components/PointLayer/hooks/index.js +1 -1
- package/dist/components/Map/components/MapLayer/components/PointLayer/hooks/index.js.map +1 -1
- package/dist/components/Map/components/MapLayer/components/PointLayer/index.js +1 -1
- package/dist/components/Map/components/MapLayer/components/PointLayer/index.js.map +1 -1
- package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubble.js +1 -1
- package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubble.js.map +1 -1
- package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubbles.js +1 -1
- package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubbles.js.map +1 -1
- package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/index.js +1 -1
- package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/index.js.map +1 -1
- package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/index.js +1 -1
- package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/index.js.map +1 -1
- package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.js +1 -1
- package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.js.map +1 -1
- package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/index.js +1 -1
- package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/index.js.map +1 -1
- package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/CustomTooltip/index.js +1 -1
- package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/CustomTooltip/index.js.map +1 -1
- package/dist/components/Map/components/MapLayer/components/ThematicLayer/hooks/config.js +1 -1
- package/dist/components/Map/components/MapLayer/components/ThematicLayer/hooks/config.js.map +1 -1
- package/dist/components/Map/components/MapLayer/components/ThematicLayer/index.js +1 -1
- package/dist/components/Map/components/MapLayer/components/ThematicLayer/index.js.map +1 -1
- package/dist/components/Map/components/MapLayer/index.js +1 -1
- package/dist/components/Map/components/MapLayer/index.js.map +1 -1
- package/dist/components/Map/components/MapLayer/interfaces/index.js +1 -1
- package/dist/components/Map/components/MapLayer/interfaces/index.js.map +1 -1
- package/dist/components/Map/components/MapProvider/components/MapLayerProvider/hooks/index.js +1 -1
- package/dist/components/Map/components/MapProvider/components/MapLayerProvider/hooks/index.js.map +1 -1
- package/dist/components/Map/components/MapProvider/components/MapLayerProvider/index.js +1 -1
- package/dist/components/Map/components/MapProvider/components/MapLayerProvider/index.js.map +1 -1
- package/dist/components/Map/components/MapProvider/hooks/index.js +1 -1
- package/dist/components/Map/components/MapProvider/hooks/index.js.map +1 -1
- package/dist/components/Map/components/MapProvider/index.js +1 -1
- package/dist/components/Map/components/MapProvider/index.js.map +1 -1
- package/dist/components/Map/components/MapUpdater/index.js +7 -5
- package/dist/components/Map/components/MapUpdater/index.js.map +1 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfigModal.js +1 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfigModal.js.map +1 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfigModal.stories.js +1 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfigModal.stories.js.map +1 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfiguration.js +1 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfiguration.js.map +1 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfiguration.stories.js +1 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfiguration.stories.js.map +1 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/components/ColorScale/index.js +1 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/components/ColorScale/index.js.map +1 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/constants/colors.js +1 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/constants/colors.js.map +1 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/index.js +1 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/index.js.map +1 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/utils/colors.js +1 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/utils/colors.js.map +1 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/components/CustomLegend/index.js +1 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/components/CustomLegend/index.js.map +1 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/components/IndicatorSelectorModal/index.js +1 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/components/IndicatorSelectorModal/index.js.map +1 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/components/LegendSetSelector/index.js +1 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/components/LegendSetSelector/index.js.map +1 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/components/RadiusField.js +3 -5
- package/dist/components/Map/components/ThematicLayerConfiguration/components/RadiusField.js.map +1 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/components/TypeField.js +1 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/components/TypeField.js.map +1 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/index.js +1 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/index.js.map +1 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/types/index.js +1 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/types/index.js.map +1 -1
- package/dist/components/Map/constants/colors.js +1 -1
- package/dist/components/Map/constants/colors.js.map +1 -1
- package/dist/components/Map/constants/legendSet.js +1 -1
- package/dist/components/Map/constants/legendSet.js.map +1 -1
- package/dist/components/Map/hooks/map.js +14 -10
- package/dist/components/Map/hooks/map.js.map +1 -1
- package/dist/components/Map/index.js +22 -1
- package/dist/components/Map/index.js.map +1 -1
- package/dist/components/Map/interfaces/index.js +1 -1
- package/dist/components/Map/interfaces/index.js.map +1 -1
- package/dist/components/Map/state/index.js +1 -1
- package/dist/components/Map/state/index.js.map +1 -1
- package/dist/components/Map/utils/colors.js +1 -1
- package/dist/components/Map/utils/colors.js.map +1 -1
- package/dist/components/Map/utils/helpers.js +1 -1
- package/dist/components/Map/utils/helpers.js.map +1 -1
- package/dist/components/Map/utils/map.js +1 -1
- package/dist/components/Map/utils/map.js.map +1 -1
- package/dist/components/SingleValueContainer/SingleValueContainer.stories.js +1 -1
- package/dist/components/SingleValueContainer/SingleValueContainer.stories.js.map +1 -1
- package/dist/components/SingleValueContainer/SingleValueVisualizer.js +2 -2
- package/dist/components/SingleValueContainer/SingleValueVisualizer.js.map +1 -1
- package/dist/components/SingleValueContainer/components/SingleValueItem/SingleValueItem.js +1 -1
- package/dist/components/SingleValueContainer/components/SingleValueItem/SingleValueItem.js.map +1 -1
- package/dist/components/SingleValueContainer/components/SingleValueItem/SingleValuePercentage.js +1 -1
- package/dist/components/SingleValueContainer/components/SingleValueItem/SingleValuePercentage.js.map +1 -1
- package/dist/components/SingleValueContainer/index.js +1 -1
- package/dist/components/SingleValueContainer/index.js.map +1 -1
- package/dist/components/SingleValueContainer/types/props.js +1 -1
- package/dist/components/SingleValueContainer/types/props.js.map +1 -1
- package/dist/components/Visualization/components/AnalyticsDataProvider/index.js +1 -1
- package/dist/components/Visualization/components/AnalyticsDataProvider/index.js.map +1 -1
- package/dist/components/Visualization/components/DimensionsProvider/index.js +1 -1
- package/dist/components/Visualization/components/DimensionsProvider/index.js.map +1 -1
- package/dist/components/Visualization/components/LayoutProvider/index.js +1 -1
- package/dist/components/Visualization/components/LayoutProvider/index.js.map +1 -1
- package/dist/components/Visualization/components/VisualizationDimensionSelector/index.js +1 -1
- package/dist/components/Visualization/components/VisualizationDimensionSelector/index.js.map +1 -1
- package/dist/components/Visualization/components/VisualizationProvider/index.js +1 -1
- package/dist/components/Visualization/components/VisualizationProvider/index.js.map +1 -1
- package/dist/components/Visualization/components/VisualizationSelector/index.js +1 -1
- package/dist/components/Visualization/components/VisualizationSelector/index.js.map +1 -1
- package/dist/components/Visualization/components/VisualizationTypeProvider/index.js +1 -1
- package/dist/components/Visualization/components/VisualizationTypeProvider/index.js.map +1 -1
- package/dist/components/Visualization/components/VisualizationTypeSelector/index.js +1 -1
- package/dist/components/Visualization/components/VisualizationTypeSelector/index.js.map +1 -1
- package/dist/components/Visualization/index.js +1 -1
- package/dist/components/Visualization/index.js.map +1 -1
- package/dist/esm/components/ChartAnalytics/ChartAnalytics.stories.js +1 -1
- package/dist/esm/components/ChartAnalytics/ChartAnalytics.stories.js.map +1 -1
- package/dist/esm/components/ChartAnalytics/DHIS2Chart.js +1 -1
- package/dist/esm/components/ChartAnalytics/DHIS2Chart.js.map +1 -1
- package/dist/esm/components/ChartAnalytics/components/DownloadMenu/components/Menu.js +1 -1
- package/dist/esm/components/ChartAnalytics/components/DownloadMenu/components/Menu.js.map +1 -1
- package/dist/esm/components/ChartAnalytics/components/DownloadMenu/constants/menu.js +1 -1
- package/dist/esm/components/ChartAnalytics/components/DownloadMenu/constants/menu.js.map +1 -1
- package/dist/esm/components/ChartAnalytics/components/DownloadMenu/index.js +1 -1
- package/dist/esm/components/ChartAnalytics/components/DownloadMenu/index.js.map +1 -1
- package/dist/esm/components/ChartAnalytics/components/DownloadMenu/interfaces/menu.js +1 -1
- package/dist/esm/components/ChartAnalytics/components/DownloadMenu/interfaces/menu.js.map +1 -1
- package/dist/esm/components/ChartAnalytics/hooks/useChart.js +1 -1
- package/dist/esm/components/ChartAnalytics/hooks/useChart.js.map +1 -1
- package/dist/esm/components/ChartAnalytics/index.js +1 -1
- package/dist/esm/components/ChartAnalytics/index.js.map +1 -1
- package/dist/esm/components/ChartAnalytics/models/bar.js +1 -1
- package/dist/esm/components/ChartAnalytics/models/bar.js.map +1 -1
- package/dist/esm/components/ChartAnalytics/models/column.js +1 -1
- package/dist/esm/components/ChartAnalytics/models/column.js.map +1 -1
- package/dist/esm/components/ChartAnalytics/models/index.js +1 -1
- package/dist/esm/components/ChartAnalytics/models/index.js.map +1 -1
- package/dist/esm/components/ChartAnalytics/models/line.js +1 -1
- package/dist/esm/components/ChartAnalytics/models/line.js.map +1 -1
- package/dist/esm/components/ChartAnalytics/models/multi-series.js +1 -1
- package/dist/esm/components/ChartAnalytics/models/multi-series.js.map +1 -1
- package/dist/esm/components/ChartAnalytics/models/pie.js +1 -1
- package/dist/esm/components/ChartAnalytics/models/pie.js.map +1 -1
- package/dist/esm/components/ChartAnalytics/services/export.js +1 -1
- package/dist/esm/components/ChartAnalytics/services/export.js.map +1 -1
- package/dist/esm/components/ChartAnalytics/types/props.js +1 -1
- package/dist/esm/components/ChartAnalytics/types/props.js.map +1 -1
- package/dist/esm/components/ChartAnalytics/utils/chart.js +1 -1
- package/dist/esm/components/ChartAnalytics/utils/chart.js.map +1 -1
- package/dist/esm/components/CircularProgressDashboard/CircularProgressIndicator.js +1 -1
- package/dist/esm/components/CircularProgressDashboard/CircularProgressIndicator.js.map +1 -1
- package/dist/esm/components/CircularProgressDashboard/CircularProgressIndicator.stories.js +1 -1
- package/dist/esm/components/CircularProgressDashboard/CircularProgressIndicator.stories.js.map +1 -1
- package/dist/esm/components/CircularProgressDashboard/index.js +1 -1
- package/dist/esm/components/CircularProgressDashboard/index.js.map +1 -1
- package/dist/esm/components/CircularProgressDashboard/types/props.js +1 -1
- package/dist/esm/components/CircularProgressDashboard/types/props.js.map +1 -1
- package/dist/esm/components/DHIS2PivotTable/DHIS2PivotTable.js +1 -1
- package/dist/esm/components/DHIS2PivotTable/DHIS2PivotTable.js.map +1 -1
- package/dist/esm/components/DHIS2PivotTable/DHIS2PivotTable.stories.js +1 -1
- package/dist/esm/components/DHIS2PivotTable/DHIS2PivotTable.stories.js.map +1 -1
- package/dist/esm/components/DHIS2PivotTable/components/Table/index.js +1 -1
- package/dist/esm/components/DHIS2PivotTable/components/Table/index.js.map +1 -1
- package/dist/esm/components/DHIS2PivotTable/components/TableBody/index.js +1 -1
- package/dist/esm/components/DHIS2PivotTable/components/TableBody/index.js.map +1 -1
- package/dist/esm/components/DHIS2PivotTable/components/TableHeaders/index.js +1 -1
- package/dist/esm/components/DHIS2PivotTable/components/TableHeaders/index.js.map +1 -1
- package/dist/esm/components/DHIS2PivotTable/index.js +1 -1
- package/dist/esm/components/DHIS2PivotTable/index.js.map +1 -1
- package/dist/esm/components/DHIS2PivotTable/interfaces/index.js +1 -1
- package/dist/esm/components/DHIS2PivotTable/interfaces/index.js.map +1 -1
- package/dist/esm/components/DHIS2PivotTable/services/engine.js +1 -1
- package/dist/esm/components/DHIS2PivotTable/services/engine.js.map +1 -1
- package/dist/esm/components/DHIS2PivotTable/state/engine.js +1 -1
- package/dist/esm/components/DHIS2PivotTable/state/engine.js.map +1 -1
- package/dist/esm/components/Map/DHIS2Map.js +1 -1
- package/dist/esm/components/Map/DHIS2Map.js.map +1 -1
- package/dist/esm/components/Map/DHIS2Map.stories.js +1 -1
- package/dist/esm/components/Map/DHIS2Map.stories.js.map +1 -1
- package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfigModal.js +1 -1
- package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfigModal.js.map +1 -1
- package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfigModal.stories.js +1 -1
- package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfigModal.stories.js.map +1 -1
- package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfiguration.js +1 -1
- package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfiguration.js.map +1 -1
- package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfiguration.stories.js +1 -1
- package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfiguration.stories.js.map +1 -1
- package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/AggregationSelector.js +1 -1
- package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/AggregationSelector.js.map +1 -1
- package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/ColorConfig.js +3 -5
- package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/ColorConfig.js.map +1 -1
- package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/Name.js +2 -3
- package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/Name.js.map +1 -1
- package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/PeriodSelector.js +1 -1
- package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/PeriodSelector.js.map +1 -1
- package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/StylesConfig.js +1 -1
- package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/StylesConfig.js.map +1 -1
- package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/TypeField.js +2 -3
- package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/TypeField.js.map +1 -1
- package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/hooks/data.js +1 -1
- package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/hooks/data.js.map +1 -1
- package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/index.js +1 -1
- package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/index.js.map +1 -1
- package/dist/esm/components/Map/components/MapArea/index.js +4 -2
- package/dist/esm/components/Map/components/MapArea/index.js.map +1 -1
- package/dist/esm/components/Map/components/MapArea/interfaces/index.js +1 -1
- package/dist/esm/components/Map/components/MapArea/interfaces/index.js.map +1 -1
- package/dist/esm/components/Map/components/MapControls/components/CustomControl/index.js +1 -1
- package/dist/esm/components/Map/components/MapControls/components/CustomControl/index.js.map +1 -1
- package/dist/esm/components/Map/components/MapControls/components/DownloadControl/index.js +1 -1
- package/dist/esm/components/Map/components/MapControls/components/DownloadControl/index.js.map +1 -1
- package/dist/esm/components/Map/components/MapControls/components/FullscreenControl/index.js +1 -1
- package/dist/esm/components/Map/components/MapControls/components/FullscreenControl/index.js.map +1 -1
- package/dist/esm/components/Map/components/MapControls/index.js +1 -1
- package/dist/esm/components/Map/components/MapControls/index.js.map +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/BoundaryLayer/hooks/useBoundaryData.js +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/BoundaryLayer/hooks/useBoundaryData.js.map +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/BoundaryLayer/index.js +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/BoundaryLayer/index.js.map +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/components/EarthEngineLegend.js +2 -3
- package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/components/EarthEngineLegend.js.map +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/constants/index.js +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/constants/index.js.map +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/hooks/index.js +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/hooks/index.js.map +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/index.js +2 -3
- package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/index.js.map +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/interfaces/index.js +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/interfaces/index.js.map +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/services/api.js +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/services/api.js.map +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/services/engine.js +6 -9
- package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/services/engine.js.map +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/utils/index.js +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/utils/index.js.map +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/LegendArea/components/LegendCardHeader/index.js +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/LegendArea/components/LegendCardHeader/index.js.map +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/LegendArea/index.js +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/LegendArea/index.js.map +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/PointLayer/components/PointLegend/index.js +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/PointLayer/components/PointLegend/index.js.map +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/PointLayer/hooks/index.js +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/PointLayer/hooks/index.js.map +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/PointLayer/index.js +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/PointLayer/index.js.map +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubble.js +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubble.js.map +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubbles.js +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubbles.js.map +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/index.js +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/index.js.map +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/index.js +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/index.js.map +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.js +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.js.map +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/index.js +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/index.js.map +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/CustomTooltip/index.js +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/CustomTooltip/index.js.map +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/hooks/config.js +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/hooks/config.js.map +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/index.js +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/index.js.map +1 -1
- package/dist/esm/components/Map/components/MapLayer/index.js +1 -1
- package/dist/esm/components/Map/components/MapLayer/index.js.map +1 -1
- package/dist/esm/components/Map/components/MapLayer/interfaces/index.js +1 -1
- package/dist/esm/components/Map/components/MapLayer/interfaces/index.js.map +1 -1
- package/dist/esm/components/Map/components/MapProvider/components/MapLayerProvider/hooks/index.js +2 -2
- package/dist/esm/components/Map/components/MapProvider/components/MapLayerProvider/hooks/index.js.map +1 -1
- package/dist/esm/components/Map/components/MapProvider/components/MapLayerProvider/index.js +1 -1
- package/dist/esm/components/Map/components/MapProvider/components/MapLayerProvider/index.js.map +1 -1
- package/dist/esm/components/Map/components/MapProvider/hooks/index.js +1 -1
- package/dist/esm/components/Map/components/MapProvider/hooks/index.js.map +1 -1
- package/dist/esm/components/Map/components/MapProvider/index.js +1 -1
- package/dist/esm/components/Map/components/MapProvider/index.js.map +1 -1
- package/dist/esm/components/Map/components/MapUpdater/index.js +7 -5
- package/dist/esm/components/Map/components/MapUpdater/index.js.map +1 -1
- package/dist/esm/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfigModal.js +1 -1
- package/dist/esm/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfigModal.js.map +1 -1
- package/dist/esm/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfigModal.stories.js +1 -1
- package/dist/esm/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfigModal.stories.js.map +1 -1
- package/dist/esm/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfiguration.js +1 -1
- package/dist/esm/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfiguration.js.map +1 -1
- package/dist/esm/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfiguration.stories.js +1 -1
- package/dist/esm/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfiguration.stories.js.map +1 -1
- package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/components/ColorScale/index.js +1 -1
- package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/components/ColorScale/index.js.map +1 -1
- package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/constants/colors.js +1 -1
- package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/constants/colors.js.map +1 -1
- package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/index.js +1 -1
- package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/index.js.map +1 -1
- package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/utils/colors.js +1 -1
- package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/utils/colors.js.map +1 -1
- package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/CustomLegend/index.js +1 -1
- package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/CustomLegend/index.js.map +1 -1
- package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/IndicatorSelectorModal/index.js +1 -1
- package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/IndicatorSelectorModal/index.js.map +1 -1
- package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/LegendSetSelector/index.js +1 -1
- package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/LegendSetSelector/index.js.map +1 -1
- package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/RadiusField.js +3 -5
- package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/RadiusField.js.map +1 -1
- package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/TypeField.js +1 -1
- package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/TypeField.js.map +1 -1
- package/dist/esm/components/Map/components/ThematicLayerConfiguration/index.js +1 -1
- package/dist/esm/components/Map/components/ThematicLayerConfiguration/index.js.map +1 -1
- package/dist/esm/components/Map/components/ThematicLayerConfiguration/types/index.js +1 -1
- package/dist/esm/components/Map/components/ThematicLayerConfiguration/types/index.js.map +1 -1
- package/dist/esm/components/Map/constants/colors.js +1 -1
- package/dist/esm/components/Map/constants/colors.js.map +1 -1
- package/dist/esm/components/Map/constants/legendSet.js +1 -1
- package/dist/esm/components/Map/constants/legendSet.js.map +1 -1
- package/dist/esm/components/Map/hooks/map.js +15 -11
- package/dist/esm/components/Map/hooks/map.js.map +1 -1
- package/dist/esm/components/Map/index.js +4 -1
- package/dist/esm/components/Map/index.js.map +1 -1
- package/dist/esm/components/Map/interfaces/index.js +1 -1
- package/dist/esm/components/Map/interfaces/index.js.map +1 -1
- package/dist/esm/components/Map/state/index.js +1 -1
- package/dist/esm/components/Map/state/index.js.map +1 -1
- package/dist/esm/components/Map/utils/colors.js +1 -1
- package/dist/esm/components/Map/utils/colors.js.map +1 -1
- package/dist/esm/components/Map/utils/helpers.js +1 -1
- package/dist/esm/components/Map/utils/helpers.js.map +1 -1
- package/dist/esm/components/Map/utils/map.js +1 -1
- package/dist/esm/components/Map/utils/map.js.map +1 -1
- package/dist/esm/components/SingleValueContainer/SingleValueContainer.stories.js +1 -1
- package/dist/esm/components/SingleValueContainer/SingleValueContainer.stories.js.map +1 -1
- package/dist/esm/components/SingleValueContainer/SingleValueVisualizer.js +1 -1
- package/dist/esm/components/SingleValueContainer/SingleValueVisualizer.js.map +1 -1
- package/dist/esm/components/SingleValueContainer/components/SingleValueItem/SingleValueItem.js +1 -1
- package/dist/esm/components/SingleValueContainer/components/SingleValueItem/SingleValueItem.js.map +1 -1
- package/dist/esm/components/SingleValueContainer/components/SingleValueItem/SingleValuePercentage.js +1 -1
- package/dist/esm/components/SingleValueContainer/components/SingleValueItem/SingleValuePercentage.js.map +1 -1
- package/dist/esm/components/SingleValueContainer/index.js +1 -1
- package/dist/esm/components/SingleValueContainer/index.js.map +1 -1
- package/dist/esm/components/SingleValueContainer/types/props.js +1 -1
- package/dist/esm/components/SingleValueContainer/types/props.js.map +1 -1
- package/dist/esm/components/Visualization/components/AnalyticsDataProvider/index.js +1 -1
- package/dist/esm/components/Visualization/components/AnalyticsDataProvider/index.js.map +1 -1
- package/dist/esm/components/Visualization/components/DimensionsProvider/index.js +1 -1
- package/dist/esm/components/Visualization/components/DimensionsProvider/index.js.map +1 -1
- package/dist/esm/components/Visualization/components/LayoutProvider/index.js +1 -1
- package/dist/esm/components/Visualization/components/LayoutProvider/index.js.map +1 -1
- package/dist/esm/components/Visualization/components/VisualizationDimensionSelector/index.js +1 -1
- package/dist/esm/components/Visualization/components/VisualizationDimensionSelector/index.js.map +1 -1
- package/dist/esm/components/Visualization/components/VisualizationProvider/index.js +1 -1
- package/dist/esm/components/Visualization/components/VisualizationProvider/index.js.map +1 -1
- package/dist/esm/components/Visualization/components/VisualizationSelector/index.js +1 -1
- package/dist/esm/components/Visualization/components/VisualizationSelector/index.js.map +1 -1
- package/dist/esm/components/Visualization/components/VisualizationTypeProvider/index.js +1 -1
- package/dist/esm/components/Visualization/components/VisualizationTypeProvider/index.js.map +1 -1
- package/dist/esm/components/Visualization/components/VisualizationTypeSelector/index.js +1 -1
- package/dist/esm/components/Visualization/components/VisualizationTypeSelector/index.js.map +1 -1
- package/dist/esm/components/Visualization/index.js +1 -1
- package/dist/esm/components/Visualization/index.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/types/components/ChartAnalytics/services/export.d.ts.map +1 -1
- package/dist/types/components/ChartAnalytics/utils/chart.d.ts +3 -3
- package/dist/types/components/Map/components/EarthEngineLayerConfiguration/hooks/data.d.ts.map +1 -1
- package/dist/types/components/Map/components/MapArea/index.d.ts.map +1 -1
- package/dist/types/components/Map/components/MapControls/components/FullscreenControl/index.d.ts +0 -1
- package/dist/types/components/Map/components/MapControls/components/FullscreenControl/index.d.ts.map +1 -1
- package/dist/types/components/Map/components/MapLayer/components/GoogleEngineLayer/components/EarthEngineLegend.d.ts +2 -2
- package/dist/types/components/Map/components/MapLayer/components/GoogleEngineLayer/components/EarthEngineLegend.d.ts.map +1 -1
- package/dist/types/components/Map/components/MapLayer/components/GoogleEngineLayer/hooks/index.d.ts.map +1 -1
- package/dist/types/components/Map/components/MapLayer/components/GoogleEngineLayer/utils/index.d.ts.map +1 -1
- package/dist/types/components/Map/components/MapLayer/components/PointLayer/hooks/index.d.ts.map +1 -1
- package/dist/types/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubbles.d.ts +2 -2
- package/dist/types/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubbles.d.ts.map +1 -1
- package/dist/types/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/index.d.ts +3 -3
- package/dist/types/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/index.d.ts.map +1 -1
- package/dist/types/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.d.ts +3 -3
- package/dist/types/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.d.ts.map +1 -1
- package/dist/types/components/Map/components/MapProvider/components/MapLayerProvider/hooks/index.d.ts.map +1 -1
- package/dist/types/components/Map/components/MapProvider/hooks/index.d.ts +5 -5
- package/dist/types/components/Map/components/MapUpdater/index.d.ts +4 -2
- package/dist/types/components/Map/components/MapUpdater/index.d.ts.map +1 -1
- package/dist/types/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/components/ColorScale/index.d.ts.map +1 -1
- package/dist/types/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/index.d.ts +1 -1
- package/dist/types/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/index.d.ts.map +1 -1
- package/dist/types/components/Map/hooks/map.d.ts +4 -2
- package/dist/types/components/Map/hooks/map.d.ts.map +1 -1
- package/dist/types/components/Map/index.d.ts +3 -0
- package/dist/types/components/Map/index.d.ts.map +1 -1
- package/dist/types/components/Map/state/index.d.ts +3 -4
- package/dist/types/components/Map/state/index.d.ts.map +1 -1
- package/dist/types/components/Map/utils/helpers.d.ts.map +1 -1
- package/dist/types/components/Visualization/components/AnalyticsDataProvider/index.d.ts.map +1 -1
- package/dist/types/components/Visualization/components/DimensionsProvider/index.d.ts.map +1 -1
- package/dist/types/components/Visualization/components/VisualizationTypeProvider/index.d.ts.map +1 -1
- package/package.json +7 -7
package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/services/engine.js
CHANGED
|
@@ -19,7 +19,7 @@ class EarthEngine {
|
|
|
19
19
|
refresh().then(({ token: token2 }) => {
|
|
20
20
|
callback({
|
|
21
21
|
...token2,
|
|
22
|
-
token_type: tokenType
|
|
22
|
+
token_type: tokenType,
|
|
23
23
|
state: authArgs?.scope
|
|
24
24
|
});
|
|
25
25
|
});
|
|
@@ -32,7 +32,7 @@ class EarthEngine {
|
|
|
32
32
|
const { access_token, client_id, expires_in } = token;
|
|
33
33
|
ee.data.setAuthToken(
|
|
34
34
|
client_id,
|
|
35
|
-
tokenType
|
|
35
|
+
tokenType,
|
|
36
36
|
access_token,
|
|
37
37
|
expires_in,
|
|
38
38
|
null,
|
|
@@ -153,8 +153,7 @@ class EarthEngine {
|
|
|
153
153
|
return;
|
|
154
154
|
}
|
|
155
155
|
const aggregations = this.options.aggregations;
|
|
156
|
-
if (!aggregations)
|
|
157
|
-
return;
|
|
156
|
+
if (!aggregations) return;
|
|
158
157
|
if (hasClasses(head(aggregations) ?? "")) {
|
|
159
158
|
this.aggregationData = await this.getHistogramAggregations();
|
|
160
159
|
return;
|
|
@@ -194,8 +193,7 @@ class EarthEngine {
|
|
|
194
193
|
);
|
|
195
194
|
}
|
|
196
195
|
async url() {
|
|
197
|
-
if (!this.initialized)
|
|
198
|
-
throw "You need to call init() first";
|
|
196
|
+
if (!this.initialized) throw "You need to call init() first";
|
|
199
197
|
return this.visualize(this.getImage());
|
|
200
198
|
}
|
|
201
199
|
applyPeriod(imageCollection) {
|
|
@@ -251,8 +249,7 @@ class EarthEngine {
|
|
|
251
249
|
}
|
|
252
250
|
}
|
|
253
251
|
getParamsFromLegend() {
|
|
254
|
-
if (!this.options.legend)
|
|
255
|
-
return;
|
|
252
|
+
if (!this.options.legend) return;
|
|
256
253
|
const legend = this.options.legend.items;
|
|
257
254
|
const keys = legend.map((l) => l.id);
|
|
258
255
|
const min = Math.min(...keys);
|
|
@@ -361,5 +358,5 @@ class EarthEngine {
|
|
|
361
358
|
}
|
|
362
359
|
|
|
363
360
|
export { EarthEngine };
|
|
364
|
-
//# sourceMappingURL=
|
|
361
|
+
//# sourceMappingURL=engine.js.map
|
|
365
362
|
//# sourceMappingURL=engine.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../../src/components/Map/components/MapLayer/components/GoogleEngineLayer/services/engine.ts"],"names":["token"],"mappings":"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","sourcesContent":["import { MapOrgUnit } from \"../../../../../interfaces/index.js\";\nimport {\n\tEarthEngineOptions,\n\tEarthEngineToken,\n\tRefreshToken,\n} from \"../interfaces/index.js\";\nimport {\n\tcombineReducers,\n\tgetFeatureCollectionProperties,\n\tgetHistogramStatistics,\n\tgetInfo,\n\tgetScale,\n\thasClasses,\n} from \"../utils/index.js\";\nimport { find, head, isEmpty } from \"lodash\";\n\n// async function importEEModule(): Promise<any> {\n// // @ts-ignore\n// if (import.meta.env.STORYBOOK_BUILD === \"true\") {\n// return await import(\"@google/earthengine\");\n// }\n// return await import(\"./api\");\n// }\n// const EE = await importEEModule();\n//@ts-ignore\nimport * as EE from \"./api.js\";\n// @ts-ignore\nconst ee = EE as any;\n// @ts-ignore\nwindow.ee = ee;\n\nconst FEATURE_STYLE = { color: \"FFA500\", strokeWidth: 2 };\nconst DEFAULT_TILE_SCALE = 1;\n\nexport class EarthEngine {\n\ttoken?: EarthEngineToken;\n\toptions: EarthEngineOptions;\n\trefresh?: RefreshToken;\n\torgUnits?: MapOrgUnit[];\n\tinitialized = false;\n\tperiod?: string | string[];\n\tinstance: any;\n\tscale?: any;\n\timage: any;\n\taggregationData: any;\n\n\tconstructor({ options }: { options: EarthEngineOptions }) {\n\t\tthis.options = options;\n\t\tthis.initialized = true;\n\t\tthis.getInstance();\n\t}\n\n\tstatic async setToken(\n\t\ttoken: EarthEngineToken,\n\t\trefresh: RefreshToken,\n\t): Promise<void> {\n\t\tconst tokenType = \"Bearer\";\n\n\t\tfunction refreshToken(\n\t\t\tauthArgs: { scope: any },\n\t\t\tcallback: (props: any) => void,\n\t\t) {\n\t\t\trefresh().then(({ token }: { token: EarthEngineToken }) => {\n\t\t\t\tcallback({\n\t\t\t\t\t...token,\n\t\t\t\t\ttoken_type: tokenType ?? \"Bearer\",\n\t\t\t\t\tstate: authArgs?.scope,\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\tawait new Promise((resolve, reject) => {\n\t\t\tif (ee.data.getAuthToken()) {\n\t\t\t\tee.initialize(null, null, resolve, reject);\n\t\t\t}\n\t\t\tif (token) {\n\t\t\t\tconst { access_token, client_id, expires_in } = token;\n\t\t\t\tee.data.setAuthToken(\n\t\t\t\t\tclient_id,\n\t\t\t\t\ttokenType ?? \"Bearer\",\n\t\t\t\t\taccess_token,\n\t\t\t\t\texpires_in,\n\t\t\t\t\tnull,\n\t\t\t\t\t() => {\n\t\t\t\t\t\tee.initialize(null, null, resolve, reject);\n\t\t\t\t\t},\n\t\t\t\t\tfalse,\n\t\t\t\t);\n\t\t\t\tee.data.setAuthTokenRefresher(refreshToken);\n\t\t\t}\n\t\t\tresolve(\"Token not found\");\n\t\t});\n\t}\n\n\tsetOrgUnits(orgUnits: MapOrgUnit[]): EarthEngine {\n\t\tthis.orgUnits = orgUnits;\n\t\treturn this;\n\t}\n\n\tsetPeriod(period: string) {\n\t\tthis.period = period;\n\t}\n\n\tasync getValue(geoJSON: any, type: string) {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tconst point = this.getGeometryByType(geoJSON);\n\t\t\tconst reducer = this.getReducerByType(type);\n\t\t\tconst image = this.getImage();\n\n\t\t\tconst reducedImage = image.reduceRegion(reducer, point, 1);\n\n\t\t\treducedImage.evaluate((data: unknown, error: any) => {\n\t\t\t\tif (error) {\n\t\t\t\t\treject(error);\n\t\t\t\t} else {\n\t\t\t\t\tresolve(data);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\tasync getPeriod() {\n\t\tconst { type } = this.options;\n\t\tif (type !== \"ImageCollection\") {\n\t\t\treturn;\n\t\t}\n\n\t\tconst imageCollection = this.instance\n\t\t\t.distinct(\"system:time_start\")\n\t\t\t.sort(\"system:time_start\", false);\n\t\tconst featureCollection = ee\n\t\t\t.FeatureCollection(imageCollection)\n\t\t\t.select([\"system:time_start\", \"system:time_end\"], null, false);\n\n\t\treturn getInfo(featureCollection);\n\t}\n\n\tasync info() {\n\t\treturn new Promise((resolve) => {\n\t\t\tthis.instance.getInfo(resolve);\n\t\t});\n\t}\n\n\tasync getScale() {\n\t\ttry {\n\t\t\tconst { type } = this.options;\n\t\t\tswitch (type) {\n\t\t\t\tcase \"ImageCollection\":\n\t\t\t\t\tthis.scale = await getScale(this.instance.first());\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthis.scale = await getScale(this.getImage());\n\t\t\t}\n\t\t} catch (e) {}\n\t}\n\n\tasync getFeatureCollectionAggregation() {\n\t\tconst { datasetId } = this.options;\n\t\tconst dataset = ee.FeatureCollection(datasetId);\n\t\tconst collection = this.getFeatureCollection() as any;\n\t\tconst aggFeatures = collection\n\t\t\t?.map((feature: any) => {\n\t\t\t\tfeature = ee.Feature(feature);\n\t\t\t\tconst count = dataset.filterBounds(feature.geometry()).size();\n\n\t\t\t\treturn feature.set(\"count\", count);\n\t\t\t})\n\t\t\t.select([\"count\"], null, false);\n\n\t\treturn getInfo(aggFeatures).then(getFeatureCollectionProperties);\n\t}\n\n\tasync getHistogramAggregations() {\n\t\ttry {\n\t\t\tconst aggregation = head(this.options.aggregations) ?? \"\";\n\t\t\tconst reducer = ee.Reducer.frequencyHistogram();\n\t\t\tconst collection = this.getFeatureCollection();\n\t\t\tconst legend = this.options.legend?.items;\n\t\t\tconst scale = this.scale;\n\t\t\tconst tileScale = this.options.tileScale ?? DEFAULT_TILE_SCALE;\n\t\t\tconst scaleValue = await getInfo(scale);\n\n\t\t\tconst image = this.getImage();\n\t\t\tconst features = Object.values(\n\t\t\t\tawait getInfo(\n\t\t\t\t\timage\n\t\t\t\t\t\t.reduceRegions({\n\t\t\t\t\t\t\tcollection,\n\t\t\t\t\t\t\treducer,\n\t\t\t\t\t\t\tscale,\n\t\t\t\t\t\t\ttileScale,\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.select([\"histogram\"], null, false),\n\t\t\t\t).then((data) =>\n\t\t\t\t\tgetHistogramStatistics({\n\t\t\t\t\t\tdata,\n\t\t\t\t\t\tscale: scaleValue,\n\t\t\t\t\t\taggregationType: aggregation,\n\t\t\t\t\t\tlegend,\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t);\n\n\t\t\treturn features.map((feature: any, index: number) => {\n\t\t\t\treturn {\n\t\t\t\t\torgUnit: this.orgUnits?.[index],\n\t\t\t\t\tdata: feature,\n\t\t\t\t};\n\t\t\t});\n\t\t} catch (e: any) {\n\t\t\tthrow Error(\"Could not get histogram\", {\n\t\t\t\tcause: e,\n\t\t\t});\n\t\t}\n\t}\n\n\tasync getAggregations() {\n\t\tawait this.getScale();\n\t\tconst { type } = this.options;\n\t\tif (type === \"FeatureCollection\") {\n\t\t\tthis.aggregationData = await this.getFeatureCollectionAggregation();\n\t\t\treturn;\n\t\t}\n\t\tconst aggregations = this.options.aggregations;\n\t\tif (!aggregations) return;\n\n\t\tif (hasClasses(head(aggregations) ?? \"\")) {\n\t\t\tthis.aggregationData = await this.getHistogramAggregations();\n\t\t\treturn;\n\t\t}\n\n\t\tconst reducer = combineReducers(ee)(aggregations);\n\t\tconst collection = this.getFeatureCollection();\n\t\tconst image = this.getImage();\n\t\tconst scale = this.scale;\n\t\tconst tileScale = this.options.tileScale ?? DEFAULT_TILE_SCALE;\n\t\tconst aggregatedFeatures = image\n\t\t\t.reduceRegions({\n\t\t\t\tcollection,\n\t\t\t\treducer,\n\t\t\t\tscale,\n\t\t\t\ttileScale,\n\t\t\t})\n\t\t\t.select(aggregations, null, false);\n\n\t\tconst features = Object.values(\n\t\t\tgetFeatureCollectionProperties(await getInfo(aggregatedFeatures)),\n\t\t) as any[];\n\t\tif (!isEmpty(features) && features.length === this.orgUnits?.length) {\n\t\t\t//Mapping features to orgUnits using index.\n\t\t\tthis.aggregationData = features.map(\n\t\t\t\t(feature: any, index: number) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\torgUnit: this.orgUnits?.[index],\n\t\t\t\t\t\tdata: feature,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\t}\n\n\tgetAggregation(orgUnit: MapOrgUnit) {\n\t\tif (isEmpty(this.aggregationData)) {\n\t\t\treturn;\n\t\t}\n\t\treturn find(\n\t\t\tthis.aggregationData,\n\t\t\t(aggregation) => aggregation.orgUnit.id === orgUnit.id,\n\t\t);\n\t}\n\n\tasync url(): Promise<string> {\n\t\tif (!this.initialized) throw \"You need to call init() first\";\n\t\treturn this.visualize(this.getImage());\n\t}\n\n\tprotected applyPeriod(imageCollection: any) {\n\t\tconst period = this.period;\n\t\tif (period) {\n\t\t\treturn imageCollection.filterDate(period);\n\t\t}\n\t}\n\n\tprotected applyMask(image: any) {\n\t\tif (this.options.mask) {\n\t\t\treturn image.updateMask(image.gt(0));\n\t\t} else {\n\t\t\treturn image;\n\t\t}\n\t}\n\n\tprotected applyBand(imageCollection: any) {\n\t\tif (this.options.selectedBands) {\n\t\t\treturn imageCollection.select(this.options.selectedBands);\n\t\t} else {\n\t\t\treturn imageCollection;\n\t\t}\n\t}\n\n\tprotected getReducerByType(type: string) {\n\t\treturn ee.Reducer[type].call();\n\t}\n\n\tprotected getGeometryByType(geoJSON: any) {\n\t\treturn ee.Geometry(geoJSON?.geometry);\n\t}\n\n\tprotected getFeatureByType(geoJSON: any) {\n\t\tconst featureType = geoJSON.type;\n\t\tconst features = geoJSON.features ?? [];\n\t\tconst geometry = this.getGeometryByType(geoJSON);\n\t\tswitch (featureType) {\n\t\t\tcase \"Feature\":\n\t\t\t\treturn ee.Feature(geometry);\n\t\t\tcase \"FeatureCollection\":\n\t\t\t\treturn ee.FeatureCollection([\n\t\t\t\t\t...features.map((feature: any) =>\n\t\t\t\t\t\tee.Feature(this.getGeometryByType(feature)),\n\t\t\t\t\t),\n\t\t\t\t]);\n\t\t}\n\t}\n\n\tprotected getFeatureCollection(): unknown {\n\t\tif (this.orgUnits) {\n\t\t\treturn ee.FeatureCollection(\n\t\t\t\tthis.orgUnits.map((orgUnit: MapOrgUnit) =>\n\t\t\t\t\tthis.getFeatureByType(orgUnit.geoJSON),\n\t\t\t\t),\n\t\t\t);\n\t\t} else {\n\t\t\tthrow \"You need to set org units first\";\n\t\t}\n\t}\n\n\tprotected getParamsFromLegend() {\n\t\tif (!this.options.legend) return;\n\t\tconst legend = this.options.legend.items;\n\t\tconst keys = legend.map((l) => l.id);\n\t\tconst min = Math.min(...keys);\n\t\tconst max = Math.max(...keys);\n\t\tconst palette = legend.map((l) => l.color).join(\",\");\n\t\treturn { min, max, palette };\n\t}\n\n\tprotected async visualize(image: any): Promise<string> {\n\t\tconst { min, max, palette } = this.getParamsFromLegend() ??\n\t\t\tthis.options.params ?? {\n\t\t\t\tmin: null,\n\t\t\t\tmax: null,\n\t\t\t\tpalette: null,\n\t\t\t};\n\t\treturn (\n\t\t\t(await new Promise((resolve, reject) => {\n\t\t\t\timage.getMap({ min, max, palette }, resolve);\n\t\t\t})) as any\n\t\t)?.urlFormat;\n\t}\n\n\tprotected getImageCollectionInstance() {\n\t\tconst { datasetId } = this.options;\n\t\tlet imageCollection = ee.ImageCollection(datasetId);\n\t\tif (this.period) {\n\t\t\timageCollection = this.applyPeriod(imageCollection);\n\t\t}\n\t\timageCollection = this.applyBand(imageCollection);\n\t\treturn imageCollection;\n\t}\n\n\tprotected getImageFromImageCollection() {\n\t\tconst { mosaic } = this.options;\n\t\tconst imageCollection = this.instance;\n\t\treturn mosaic\n\t\t\t? imageCollection\n\t\t\t\t\t.mosaic()\n\t\t\t\t\t.clipToCollection(this.getFeatureCollection())\n\t\t\t: ee\n\t\t\t\t\t.Image(imageCollection.first())\n\t\t\t\t\t.clipToCollection(this.getFeatureCollection());\n\t}\n\n\tprotected getImageInstance() {\n\t\tconst { datasetId } = this.options;\n\t\treturn ee\n\t\t\t.Image(datasetId)\n\t\t\t.clipToCollection(this.getFeatureCollection());\n\t}\n\n\tprotected getImageFromImage() {\n\t\treturn this.instance;\n\t}\n\n\tprotected getFeatureInstance() {\n\t\tconst { datasetId } = this.options;\n\t\tconst feature = ee.Feature(datasetId);\n\t\tthis.instance = feature;\n\t\treturn feature;\n\t}\n\n\tprotected getImageFromFeature() {\n\t\treturn this.instance;\n\t}\n\n\tprotected getFeatureCollectionInstance() {\n\t\tconst { datasetId } = this.options;\n\t\tlet featureCollection = ee.FeatureCollection(datasetId);\n\t\tif (this.period) {\n\t\t\tfeatureCollection = this.applyPeriod(featureCollection);\n\t\t}\n\t\treturn featureCollection;\n\t}\n\n\tprotected getImageFromFeatureCollection() {\n\t\tlet featureCollection = this.instance;\n\t\treturn featureCollection\n\t\t\t.draw(FEATURE_STYLE)\n\t\t\t.clipToCollection(this.getFeatureCollection());\n\t}\n\n\tprotected getInstance() {\n\t\tconst { type } = this.options;\n\t\tswitch (type) {\n\t\t\tcase \"Feature\":\n\t\t\t\tthis.instance = this.getFeatureInstance();\n\t\t\t\tbreak;\n\t\t\tcase \"FeatureCollection\":\n\t\t\t\tthis.instance = this.getFeatureCollectionInstance();\n\t\t\t\tbreak;\n\t\t\tcase \"Image\":\n\t\t\t\tthis.instance = this.getImageInstance();\n\t\t\t\tbreak;\n\t\t\tcase \"ImageCollection\":\n\t\t\t\tthis.instance = this.getImageCollectionInstance();\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthis.instance = this.getImageFromImage();\n\t\t}\n\t}\n\n\tprotected getImage(): any {\n\t\tif (this.image) {\n\t\t\treturn this.image;\n\t\t}\n\t\tconst { type } = this.options;\n\t\tlet image;\n\t\tswitch (type) {\n\t\t\tcase \"Feature\":\n\t\t\t\timage = this.getImageFromFeature();\n\t\t\t\tbreak;\n\t\t\tcase \"FeatureCollection\":\n\t\t\t\timage = this.getImageFromFeatureCollection();\n\t\t\t\tbreak;\n\t\t\tcase \"Image\":\n\t\t\t\timage = this.getImageFromImage();\n\t\t\t\tbreak;\n\t\t\tcase \"ImageCollection\":\n\t\t\t\timage = this.getImageFromImageCollection();\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\timage = this.getImageFromImage();\n\t\t}\n\t\timage = this.applyMask(image);\n\t\timage = this.applyBand(image);\n\t\tthis.image = image;\n\t\treturn image;\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../../src/components/Map/components/MapLayer/components/GoogleEngineLayer/services/engine.ts"],"names":["token"],"mappings":"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","file":"engine.js","sourcesContent":["import { MapOrgUnit } from \"../../../../../interfaces/index.js\";\nimport {\n\tEarthEngineOptions,\n\tEarthEngineToken,\n\tRefreshToken,\n} from \"../interfaces/index.js\";\nimport {\n\tcombineReducers,\n\tgetFeatureCollectionProperties,\n\tgetHistogramStatistics,\n\tgetInfo,\n\tgetScale,\n\thasClasses,\n} from \"../utils/index.js\";\nimport { find, head, isEmpty } from \"lodash\";\n\n// async function importEEModule(): Promise<any> {\n// // @ts-ignore\n// if (import.meta.env.STORYBOOK_BUILD === \"true\") {\n// return await import(\"@google/earthengine\");\n// }\n// return await import(\"./api\");\n// }\n// const EE = await importEEModule();\n//@ts-ignore\nimport * as EE from \"./api.js\";\n// @ts-ignore\nconst ee = EE as any;\n// @ts-ignore\nwindow.ee = ee;\n\nconst FEATURE_STYLE = { color: \"FFA500\", strokeWidth: 2 };\nconst DEFAULT_TILE_SCALE = 1;\n\nexport class EarthEngine {\n\ttoken?: EarthEngineToken;\n\toptions: EarthEngineOptions;\n\trefresh?: RefreshToken;\n\torgUnits?: MapOrgUnit[];\n\tinitialized = false;\n\tperiod?: string | string[];\n\tinstance: any;\n\tscale?: any;\n\timage: any;\n\taggregationData: any;\n\n\tconstructor({ options }: { options: EarthEngineOptions }) {\n\t\tthis.options = options;\n\t\tthis.initialized = true;\n\t\tthis.getInstance();\n\t}\n\n\tstatic async setToken(\n\t\ttoken: EarthEngineToken,\n\t\trefresh: RefreshToken,\n\t): Promise<void> {\n\t\tconst tokenType = \"Bearer\";\n\n\t\tfunction refreshToken(\n\t\t\tauthArgs: { scope: any },\n\t\t\tcallback: (props: any) => void,\n\t\t) {\n\t\t\trefresh().then(({ token }: { token: EarthEngineToken }) => {\n\t\t\t\tcallback({\n\t\t\t\t\t...token,\n\t\t\t\t\ttoken_type: tokenType ?? \"Bearer\",\n\t\t\t\t\tstate: authArgs?.scope,\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\tawait new Promise((resolve, reject) => {\n\t\t\tif (ee.data.getAuthToken()) {\n\t\t\t\tee.initialize(null, null, resolve, reject);\n\t\t\t}\n\t\t\tif (token) {\n\t\t\t\tconst { access_token, client_id, expires_in } = token;\n\t\t\t\tee.data.setAuthToken(\n\t\t\t\t\tclient_id,\n\t\t\t\t\ttokenType ?? \"Bearer\",\n\t\t\t\t\taccess_token,\n\t\t\t\t\texpires_in,\n\t\t\t\t\tnull,\n\t\t\t\t\t() => {\n\t\t\t\t\t\tee.initialize(null, null, resolve, reject);\n\t\t\t\t\t},\n\t\t\t\t\tfalse,\n\t\t\t\t);\n\t\t\t\tee.data.setAuthTokenRefresher(refreshToken);\n\t\t\t}\n\t\t\tresolve(\"Token not found\");\n\t\t});\n\t}\n\n\tsetOrgUnits(orgUnits: MapOrgUnit[]): EarthEngine {\n\t\tthis.orgUnits = orgUnits;\n\t\treturn this;\n\t}\n\n\tsetPeriod(period: string) {\n\t\tthis.period = period;\n\t}\n\n\tasync getValue(geoJSON: any, type: string) {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tconst point = this.getGeometryByType(geoJSON);\n\t\t\tconst reducer = this.getReducerByType(type);\n\t\t\tconst image = this.getImage();\n\n\t\t\tconst reducedImage = image.reduceRegion(reducer, point, 1);\n\n\t\t\treducedImage.evaluate((data: unknown, error: any) => {\n\t\t\t\tif (error) {\n\t\t\t\t\treject(error);\n\t\t\t\t} else {\n\t\t\t\t\tresolve(data);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\tasync getPeriod() {\n\t\tconst { type } = this.options;\n\t\tif (type !== \"ImageCollection\") {\n\t\t\treturn;\n\t\t}\n\n\t\tconst imageCollection = this.instance\n\t\t\t.distinct(\"system:time_start\")\n\t\t\t.sort(\"system:time_start\", false);\n\t\tconst featureCollection = ee\n\t\t\t.FeatureCollection(imageCollection)\n\t\t\t.select([\"system:time_start\", \"system:time_end\"], null, false);\n\n\t\treturn getInfo(featureCollection);\n\t}\n\n\tasync info() {\n\t\treturn new Promise((resolve) => {\n\t\t\tthis.instance.getInfo(resolve);\n\t\t});\n\t}\n\n\tasync getScale() {\n\t\ttry {\n\t\t\tconst { type } = this.options;\n\t\t\tswitch (type) {\n\t\t\t\tcase \"ImageCollection\":\n\t\t\t\t\tthis.scale = await getScale(this.instance.first());\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthis.scale = await getScale(this.getImage());\n\t\t\t}\n\t\t} catch (e) {}\n\t}\n\n\tasync getFeatureCollectionAggregation() {\n\t\tconst { datasetId } = this.options;\n\t\tconst dataset = ee.FeatureCollection(datasetId);\n\t\tconst collection = this.getFeatureCollection() as any;\n\t\tconst aggFeatures = collection\n\t\t\t?.map((feature: any) => {\n\t\t\t\tfeature = ee.Feature(feature);\n\t\t\t\tconst count = dataset.filterBounds(feature.geometry()).size();\n\n\t\t\t\treturn feature.set(\"count\", count);\n\t\t\t})\n\t\t\t.select([\"count\"], null, false);\n\n\t\treturn getInfo(aggFeatures).then(getFeatureCollectionProperties);\n\t}\n\n\tasync getHistogramAggregations() {\n\t\ttry {\n\t\t\tconst aggregation = head(this.options.aggregations) ?? \"\";\n\t\t\tconst reducer = ee.Reducer.frequencyHistogram();\n\t\t\tconst collection = this.getFeatureCollection();\n\t\t\tconst legend = this.options.legend?.items;\n\t\t\tconst scale = this.scale;\n\t\t\tconst tileScale = this.options.tileScale ?? DEFAULT_TILE_SCALE;\n\t\t\tconst scaleValue = await getInfo(scale);\n\n\t\t\tconst image = this.getImage();\n\t\t\tconst features = Object.values(\n\t\t\t\tawait getInfo(\n\t\t\t\t\timage\n\t\t\t\t\t\t.reduceRegions({\n\t\t\t\t\t\t\tcollection,\n\t\t\t\t\t\t\treducer,\n\t\t\t\t\t\t\tscale,\n\t\t\t\t\t\t\ttileScale,\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.select([\"histogram\"], null, false),\n\t\t\t\t).then((data) =>\n\t\t\t\t\tgetHistogramStatistics({\n\t\t\t\t\t\tdata,\n\t\t\t\t\t\tscale: scaleValue,\n\t\t\t\t\t\taggregationType: aggregation,\n\t\t\t\t\t\tlegend,\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t);\n\n\t\t\treturn features.map((feature: any, index: number) => {\n\t\t\t\treturn {\n\t\t\t\t\torgUnit: this.orgUnits?.[index],\n\t\t\t\t\tdata: feature,\n\t\t\t\t};\n\t\t\t});\n\t\t} catch (e: any) {\n\t\t\tthrow Error(\"Could not get histogram\", {\n\t\t\t\tcause: e,\n\t\t\t});\n\t\t}\n\t}\n\n\tasync getAggregations() {\n\t\tawait this.getScale();\n\t\tconst { type } = this.options;\n\t\tif (type === \"FeatureCollection\") {\n\t\t\tthis.aggregationData = await this.getFeatureCollectionAggregation();\n\t\t\treturn;\n\t\t}\n\t\tconst aggregations = this.options.aggregations;\n\t\tif (!aggregations) return;\n\n\t\tif (hasClasses(head(aggregations) ?? \"\")) {\n\t\t\tthis.aggregationData = await this.getHistogramAggregations();\n\t\t\treturn;\n\t\t}\n\n\t\tconst reducer = combineReducers(ee)(aggregations);\n\t\tconst collection = this.getFeatureCollection();\n\t\tconst image = this.getImage();\n\t\tconst scale = this.scale;\n\t\tconst tileScale = this.options.tileScale ?? DEFAULT_TILE_SCALE;\n\t\tconst aggregatedFeatures = image\n\t\t\t.reduceRegions({\n\t\t\t\tcollection,\n\t\t\t\treducer,\n\t\t\t\tscale,\n\t\t\t\ttileScale,\n\t\t\t})\n\t\t\t.select(aggregations, null, false);\n\n\t\tconst features = Object.values(\n\t\t\tgetFeatureCollectionProperties(await getInfo(aggregatedFeatures)),\n\t\t) as any[];\n\t\tif (!isEmpty(features) && features.length === this.orgUnits?.length) {\n\t\t\t//Mapping features to orgUnits using index.\n\t\t\tthis.aggregationData = features.map(\n\t\t\t\t(feature: any, index: number) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\torgUnit: this.orgUnits?.[index],\n\t\t\t\t\t\tdata: feature,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\t}\n\n\tgetAggregation(orgUnit: MapOrgUnit) {\n\t\tif (isEmpty(this.aggregationData)) {\n\t\t\treturn;\n\t\t}\n\t\treturn find(\n\t\t\tthis.aggregationData,\n\t\t\t(aggregation) => aggregation.orgUnit.id === orgUnit.id,\n\t\t);\n\t}\n\n\tasync url(): Promise<string> {\n\t\tif (!this.initialized) throw \"You need to call init() first\";\n\t\treturn this.visualize(this.getImage());\n\t}\n\n\tprotected applyPeriod(imageCollection: any) {\n\t\tconst period = this.period;\n\t\tif (period) {\n\t\t\treturn imageCollection.filterDate(period);\n\t\t}\n\t}\n\n\tprotected applyMask(image: any) {\n\t\tif (this.options.mask) {\n\t\t\treturn image.updateMask(image.gt(0));\n\t\t} else {\n\t\t\treturn image;\n\t\t}\n\t}\n\n\tprotected applyBand(imageCollection: any) {\n\t\tif (this.options.selectedBands) {\n\t\t\treturn imageCollection.select(this.options.selectedBands);\n\t\t} else {\n\t\t\treturn imageCollection;\n\t\t}\n\t}\n\n\tprotected getReducerByType(type: string) {\n\t\treturn ee.Reducer[type].call();\n\t}\n\n\tprotected getGeometryByType(geoJSON: any) {\n\t\treturn ee.Geometry(geoJSON?.geometry);\n\t}\n\n\tprotected getFeatureByType(geoJSON: any) {\n\t\tconst featureType = geoJSON.type;\n\t\tconst features = geoJSON.features ?? [];\n\t\tconst geometry = this.getGeometryByType(geoJSON);\n\t\tswitch (featureType) {\n\t\t\tcase \"Feature\":\n\t\t\t\treturn ee.Feature(geometry);\n\t\t\tcase \"FeatureCollection\":\n\t\t\t\treturn ee.FeatureCollection([\n\t\t\t\t\t...features.map((feature: any) =>\n\t\t\t\t\t\tee.Feature(this.getGeometryByType(feature)),\n\t\t\t\t\t),\n\t\t\t\t]);\n\t\t}\n\t}\n\n\tprotected getFeatureCollection(): unknown {\n\t\tif (this.orgUnits) {\n\t\t\treturn ee.FeatureCollection(\n\t\t\t\tthis.orgUnits.map((orgUnit: MapOrgUnit) =>\n\t\t\t\t\tthis.getFeatureByType(orgUnit.geoJSON),\n\t\t\t\t),\n\t\t\t);\n\t\t} else {\n\t\t\tthrow \"You need to set org units first\";\n\t\t}\n\t}\n\n\tprotected getParamsFromLegend() {\n\t\tif (!this.options.legend) return;\n\t\tconst legend = this.options.legend.items;\n\t\tconst keys = legend.map((l) => l.id);\n\t\tconst min = Math.min(...keys);\n\t\tconst max = Math.max(...keys);\n\t\tconst palette = legend.map((l) => l.color).join(\",\");\n\t\treturn { min, max, palette };\n\t}\n\n\tprotected async visualize(image: any): Promise<string> {\n\t\tconst { min, max, palette } = this.getParamsFromLegend() ??\n\t\t\tthis.options.params ?? {\n\t\t\t\tmin: null,\n\t\t\t\tmax: null,\n\t\t\t\tpalette: null,\n\t\t\t};\n\t\treturn (\n\t\t\t(await new Promise((resolve, reject) => {\n\t\t\t\timage.getMap({ min, max, palette }, resolve);\n\t\t\t})) as any\n\t\t)?.urlFormat;\n\t}\n\n\tprotected getImageCollectionInstance() {\n\t\tconst { datasetId } = this.options;\n\t\tlet imageCollection = ee.ImageCollection(datasetId);\n\t\tif (this.period) {\n\t\t\timageCollection = this.applyPeriod(imageCollection);\n\t\t}\n\t\timageCollection = this.applyBand(imageCollection);\n\t\treturn imageCollection;\n\t}\n\n\tprotected getImageFromImageCollection() {\n\t\tconst { mosaic } = this.options;\n\t\tconst imageCollection = this.instance;\n\t\treturn mosaic\n\t\t\t? imageCollection\n\t\t\t\t\t.mosaic()\n\t\t\t\t\t.clipToCollection(this.getFeatureCollection())\n\t\t\t: ee\n\t\t\t\t\t.Image(imageCollection.first())\n\t\t\t\t\t.clipToCollection(this.getFeatureCollection());\n\t}\n\n\tprotected getImageInstance() {\n\t\tconst { datasetId } = this.options;\n\t\treturn ee\n\t\t\t.Image(datasetId)\n\t\t\t.clipToCollection(this.getFeatureCollection());\n\t}\n\n\tprotected getImageFromImage() {\n\t\treturn this.instance;\n\t}\n\n\tprotected getFeatureInstance() {\n\t\tconst { datasetId } = this.options;\n\t\tconst feature = ee.Feature(datasetId);\n\t\tthis.instance = feature;\n\t\treturn feature;\n\t}\n\n\tprotected getImageFromFeature() {\n\t\treturn this.instance;\n\t}\n\n\tprotected getFeatureCollectionInstance() {\n\t\tconst { datasetId } = this.options;\n\t\tlet featureCollection = ee.FeatureCollection(datasetId);\n\t\tif (this.period) {\n\t\t\tfeatureCollection = this.applyPeriod(featureCollection);\n\t\t}\n\t\treturn featureCollection;\n\t}\n\n\tprotected getImageFromFeatureCollection() {\n\t\tlet featureCollection = this.instance;\n\t\treturn featureCollection\n\t\t\t.draw(FEATURE_STYLE)\n\t\t\t.clipToCollection(this.getFeatureCollection());\n\t}\n\n\tprotected getInstance() {\n\t\tconst { type } = this.options;\n\t\tswitch (type) {\n\t\t\tcase \"Feature\":\n\t\t\t\tthis.instance = this.getFeatureInstance();\n\t\t\t\tbreak;\n\t\t\tcase \"FeatureCollection\":\n\t\t\t\tthis.instance = this.getFeatureCollectionInstance();\n\t\t\t\tbreak;\n\t\t\tcase \"Image\":\n\t\t\t\tthis.instance = this.getImageInstance();\n\t\t\t\tbreak;\n\t\t\tcase \"ImageCollection\":\n\t\t\t\tthis.instance = this.getImageCollectionInstance();\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthis.instance = this.getImageFromImage();\n\t\t}\n\t}\n\n\tprotected getImage(): any {\n\t\tif (this.image) {\n\t\t\treturn this.image;\n\t\t}\n\t\tconst { type } = this.options;\n\t\tlet image;\n\t\tswitch (type) {\n\t\t\tcase \"Feature\":\n\t\t\t\timage = this.getImageFromFeature();\n\t\t\t\tbreak;\n\t\t\tcase \"FeatureCollection\":\n\t\t\t\timage = this.getImageFromFeatureCollection();\n\t\t\t\tbreak;\n\t\t\tcase \"Image\":\n\t\t\t\timage = this.getImageFromImage();\n\t\t\t\tbreak;\n\t\t\tcase \"ImageCollection\":\n\t\t\t\timage = this.getImageFromImageCollection();\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\timage = this.getImageFromImage();\n\t\t}\n\t\timage = this.applyMask(image);\n\t\timage = this.applyBand(image);\n\t\tthis.image = image;\n\t\treturn image;\n\t}\n}\n"]}
|
package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/utils/index.js
CHANGED
|
@@ -89,5 +89,5 @@ const getHistogramStatistics = ({
|
|
|
89
89
|
);
|
|
90
90
|
|
|
91
91
|
export { combineReducers, getClassifiedImage, getFeatureCollectionProperties, getHistogramStatistics, getInfo, getScale, hasClasses };
|
|
92
|
-
//# sourceMappingURL=
|
|
92
|
+
//# sourceMappingURL=index.js.map
|
|
93
93
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../../src/components/Map/components/MapLayer/components/GoogleEngineLayer/utils/index.ts"],"names":["id"],"mappings":"AAEO,MAAM,
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../../src/components/Map/components/MapLayer/components/GoogleEngineLayer/utils/index.ts"],"names":["id"],"mappings":"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","file":"index.js","sourcesContent":["import { EarthEngineOptions } from \"../interfaces/index.js\";\n\nexport const combineReducers = (ee: any) => (types: string[]) =>\n\ttypes.reduce(\n\t\t(r: any, t: any, i: any) =>\n\t\t\ti === 0\n\t\t\t\t? r[t]()\n\t\t\t\t: r.combine({\n\t\t\t\t\t\treducer2: ee.Reducer[t](),\n\t\t\t\t\t\tsharedInputs: true,\n\t\t\t\t\t}),\n\t\tee.Reducer,\n\t);\n\nexport const getInfo = (instance: any) =>\n\tnew Promise((resolve, reject) =>\n\t\tinstance.evaluate((data: any, error: Error) => {\n\t\t\tif (error) {\n\t\t\t\treject(error);\n\t\t\t} else {\n\t\t\t\tresolve(data);\n\t\t\t}\n\t\t}),\n\t);\n\nexport const getFeatureCollectionProperties = (data: any) =>\n\tdata.features.reduce(\n\t\t(obj: any, f: any) => ({\n\t\t\t...obj,\n\t\t\t[f.id]: f.properties,\n\t\t}),\n\t\t{},\n\t);\n\nexport const getScale = async (image: any) => {\n\treturn image.select(0).projection().nominalScale();\n};\n\nconst getParamsFromLegend = (legend: any[]) => {\n\tconst keys = legend.map((l) => l.id);\n\tconst min = Math.min(...keys);\n\tconst max = Math.max(...keys);\n\tconst palette = legend.map((l) => l.color).join(\",\");\n\n\treturn { min, max, palette };\n};\n\nexport const getClassifiedImage = (\n\teeImage: any,\n\t{ legend: legends, params }: EarthEngineOptions,\n) => {\n\tconst legend = legends?.items ?? [];\n\tif (!params) {\n\t\t// Image has classes (e.g. landcover)\n\t\treturn { eeImage, params: getParamsFromLegend(legend) };\n\t}\n\n\tconst min = 0;\n\tconst max = legend.length - 1;\n\tconst { palette } = params;\n\tlet zones;\n\n\tfor (let i = min, item; i < max; i++) {\n\t\titem = legend[i] as any;\n\n\t\tif (!zones) {\n\t\t\tzones = eeImage.gt(item.to);\n\t\t} else {\n\t\t\tzones = zones.add(eeImage.gt(item.to));\n\t\t}\n\t}\n\n\treturn { eeImage: zones, params: { min, max, palette } };\n};\n\nconst squareMetersToHectares = (value: number) => value / 10000;\n\nconst squareMetersToAcres = (value: number) => value / 4046.8564224;\n\nconst classAggregation = [\"percentage\", \"hectares\", \"acres\"];\n\nexport const hasClasses = (type: string) => classAggregation.includes(type);\n\nexport const getHistogramStatistics = ({\n\tdata,\n\tscale,\n\taggregationType,\n\tlegend,\n}: {\n\tdata: any;\n\tscale: any;\n\taggregationType: string;\n\tlegend: any;\n}) =>\n\tdata.features.reduce(\n\t\t(\n\t\t\tobj: Record<any, any>,\n\t\t\t{ id, properties }: { id: string; properties: any },\n\t\t) => {\n\t\t\tconst { histogram } = properties;\n\t\t\tconst sum: number = Object.values(histogram).reduce(\n\t\t\t\t(a: any, b: any) => a + b,\n\t\t\t\t0,\n\t\t\t) as number;\n\t\t\tobj[id] = legend.reduce((values: any, { id }: { id: string }) => {\n\t\t\t\tconst count = histogram[id] || 0;\n\t\t\t\tconst sqMeters = count * (scale * scale);\n\t\t\t\tlet value;\n\t\t\t\tswitch (aggregationType) {\n\t\t\t\t\tcase \"hectares\":\n\t\t\t\t\t\tvalue = Math.round(squareMetersToHectares(sqMeters));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"acres\":\n\t\t\t\t\t\tvalue = Math.round(squareMetersToAcres(sqMeters));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tvalue = (count / sum) * 100; // percentage\n\t\t\t\t}\n\n\t\t\t\tvalues[id] = value;\n\n\t\t\t\treturn values;\n\t\t\t}, {});\n\t\t\treturn obj;\n\t\t},\n\t\t{},\n\t);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../../../src/components/Map/components/MapLayer/components/LegendArea/components/LegendCardHeader/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../../../src/components/Map/components/MapLayer/components/LegendArea/components/LegendCardHeader/index.tsx"],"names":[],"mappings":";;;AAGe,SAAR,gBAAkC,CAAA;AAAA,EACxC,KAAA;AAAA,EACA,WAAA;AAAA,EACA,UAAA;AACD,CAIG,EAAA;AACF,EACC,uBAAA,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,KAAO,EAAA;AAAA,QACN,OAAS,EAAA,MAAA;AAAA,QACT,KAAO,EAAA,MAAA;AAAA,QACP,cAAgB,EAAA,eAAA;AAAA,QAChB,UAAY,EAAA,QAAA;AAAA,QACZ,OAAS,EAAA,CAAA;AAAA,OACV;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAC,GAAA,CAAA,IAAA,EAAA,EAAG,OAAO,EAAE,MAAA,EAAQ,GAAK,EAAA,SAAA,EAAU,iBAClC,QACF,EAAA,KAAA,EAAA,CAAA;AAAA,QACC,+BACC,GAAA,CAAA,KAAA,EAAA,EAAI,SAAS,UACb,EAAA,QAAA,kBAAA,GAAA,CAAC,gBAAa,CACf,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA;AAAA,GAEF,CAAA;AAEF","file":"index.js","sourcesContent":["import { IconLaunch16 } from \"@dhis2/ui\";\nimport React from \"react\";\n\nexport default function LegendCardHeader({\n\ttitle,\n\tcollapsible,\n\tonCollapse,\n}: {\n\ttitle: string;\n\tonCollapse?: () => void;\n\tcollapsible?: boolean;\n}) {\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\tdisplay: \"flex\",\n\t\t\t\twidth: \"100%\",\n\t\t\t\tjustifyContent: \"space-between\",\n\t\t\t\talignItems: \"center\",\n\t\t\t\tpadding: 8,\n\t\t\t}}\n\t\t>\n\t\t\t<h4 style={{ margin: 0 }} className=\"legend-header\">\n\t\t\t\t{title}\n\t\t\t</h4>\n\t\t\t{collapsible && (\n\t\t\t\t<div onClick={onCollapse}>\n\t\t\t\t\t<IconLaunch16 />\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../src/components/Map/components/MapLayer/components/LegendArea/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import { colors, IconLegend24, Popper, Portal } from \"@dhis2/ui\";\nimport { ControlPosition } from \"leaflet\";\nimport { compact, head } from \"lodash\";\nimport React, { useEffect, useRef, useState } from \"react\";\nimport { MapLegendConfig } from \"../../../MapArea/interfaces/index.js\";\nimport { CustomControl } from \"../../../MapControls/components/CustomControl/index.js\";\nimport {\n\tCustomBubbleLayer,\n\tCustomGoogleEngineLayer,\n\tCustomPointLayer,\n\tCustomThematicLayer,\n\tSUPPORTED_EARTH_ENGINE_LAYERS,\n} from \"../../interfaces/index.js\";\nimport PointLegend from \"../PointLayer/components/PointLegend/index.js\";\nimport BubbleLegend from \"../ThematicLayer/components/Bubble/components/BubbleLegend/index.js\";\nimport ChoroplethLegend from \"../ThematicLayer/components/Choropleth/components/ChoroplethLegend.js\";\nimport EarthEngineLegend from \"../GoogleEngineLayer/components/EarthEngineLegend.js\";\nimport classes from \"./LegendArea.module.css\";\nimport { usePrintMedia } from \"../../../../hooks/map.js\";\n\nconst TOOLTIP_OFFSET = 4;\n\nfunction getLegendComponent(\n\tlayer: CustomThematicLayer | CustomPointLayer | CustomGoogleEngineLayer,\n) {\n\tif (layer.type === \"point\") {\n\t\treturn <PointLegend name={layer.label} />;\n\t}\n\n\tif (SUPPORTED_EARTH_ENGINE_LAYERS.includes(layer.type)) {\n\t\treturn (\n\t\t\t<EarthEngineLegend\n\t\t\t\tname={layer.name ?? \"\"}\n\t\t\t\tlayer={layer as CustomGoogleEngineLayer}\n\t\t\t/>\n\t\t);\n\t}\n\n\tconst { type, enabled, control, dataItem, name, data, legends } =\n\t\t(layer as CustomThematicLayer) ?? {};\n\n\tif (!enabled || !control) {\n\t\treturn null;\n\t}\n\tswitch (type) {\n\t\tcase \"bubble\":\n\t\t\treturn (\n\t\t\t\t<BubbleLegend\n\t\t\t\t\tradius={\n\t\t\t\t\t\t(layer as CustomBubbleLayer)?.radius ?? {\n\t\t\t\t\t\t\tmin: 0,\n\t\t\t\t\t\t\tmax: 50,\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tlegends={legends ?? []}\n\t\t\t\t\tname={name ?? dataItem.displayName}\n\t\t\t\t\tdata={data}\n\t\t\t\t\tdataItem={head(data)?.dataItem ?? dataItem}\n\t\t\t\t/>\n\t\t\t);\n\t\tcase \"choropleth\":\n\t\t\treturn (\n\t\t\t\t<ChoroplethLegend\n\t\t\t\t\tlegends={legends ?? []}\n\t\t\t\t\tname={name ?? dataItem.displayName}\n\t\t\t\t\tdata={data}\n\t\t\t\t\tdataItem={head(data)?.dataItem ?? dataItem}\n\t\t\t\t/>\n\t\t\t);\n\t}\n}\n\nfunction CollapsedLegendIcon({\n\tonCollapse,\n\tname,\n}: {\n\tname: string;\n\tonCollapse: () => void;\n}) {\n\tconst openDelay = 200;\n\tconst closeDelay = 200;\n\tconst [openTooltip, setOpenTooltip] = useState(false);\n\tconst openTimerRef = useRef<any>(null);\n\tconst closeTimerRef = useRef<any>(null);\n\tconst ref = useRef<HTMLDivElement>(null);\n\n\tconst hideModifier = { name: \"hide\" };\n\tconst offsetModifier = {\n\t\tname: \"offset\",\n\t\toptions: {\n\t\t\toffset: [0, TOOLTIP_OFFSET],\n\t\t},\n\t};\n\n\tconst flipModifier = {\n\t\tname: \"flip\",\n\t\toptions: { altBoundary: true },\n\t};\n\n\tconst onMouseOver = () => {\n\t\tclearTimeout(closeTimerRef.current);\n\n\t\topenTimerRef.current = setTimeout(() => {\n\t\t\tsetOpenTooltip(true);\n\t\t}, openDelay);\n\t};\n\n\tconst onMouseOut = () => {\n\t\tclearTimeout(openTimerRef.current);\n\n\t\tcloseTimerRef.current = setTimeout(() => {\n\t\t\tsetOpenTooltip(false);\n\t\t}, closeDelay);\n\t};\n\n\tuseEffect(\n\t\t() => () => {\n\t\t\tclearTimeout(openTimerRef.current);\n\t\t\tclearTimeout(closeTimerRef.current);\n\t\t},\n\t\t[],\n\t);\n\n\treturn (\n\t\t<div\n\t\t\tref={ref}\n\t\t\tonMouseOver={onMouseOver}\n\t\t\tonMouseOut={onMouseOut}\n\t\t\tonClick={onCollapse}\n\t\t\tstyle={{ width: 28, height: 28 }}\n\t\t\tclassName=\"legend-card collapsed\"\n\t\t>\n\t\t\t<IconLegend24 />\n\t\t\t{openTooltip && (\n\t\t\t\t<Portal\n\t\t\t\t\t/*\n\t\t\t // @ts-ignore */\n\t\t\t\t\tclassName={classes[\"map-tooltip\"]}\n\t\t\t\t>\n\t\t\t\t\t<Popper\n\t\t\t\t\t\tclassName={classes[\"map-tooltip\"]}\n\t\t\t\t\t\treference={ref}\n\t\t\t\t\t\t/*\n // @ts-ignore */\n\t\t\t\t\t\tmodifiers={[offsetModifier, flipModifier, hideModifier]}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tbackgroundColor: `${colors.grey900}`,\n\t\t\t\t\t\t\t\tborderRadius: 3,\n\t\t\t\t\t\t\t\tcolor: `${colors.white}`,\n\t\t\t\t\t\t\t\tpadding: \"4px 6px\",\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tdata-test={`content`}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{name}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</Popper>\n\t\t\t\t</Portal>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n\nfunction Legend({\n\tchildren,\n\tcollapsible,\n}: {\n\tchildren: React.ReactElement;\n\tcollapsible: boolean;\n}) {\n\tconst [collapsed, setCollapsed] = useState(collapsible);\n\tconst inPrintMode = usePrintMedia();\n\tconst onCollapse = () => {\n\t\tif (collapsible) {\n\t\t\tsetCollapsed((prevState) => !prevState);\n\t\t}\n\t};\n\n\tconst name = head(React.Children.toArray(children) as React.ReactElement[])\n\t\t?.props.name;\n\n\tconst shouldCollapse = collapsed && !inPrintMode;\n\n\treturn (\n\t\t<div className=\"w-100\">\n\t\t\t{shouldCollapse ? (\n\t\t\t\t<CollapsedLegendIcon name={name} onCollapse={onCollapse} />\n\t\t\t) : (\n\t\t\t\tReact.Children.map(children, (child) =>\n\t\t\t\t\tReact.cloneElement(child, { collapsible, onCollapse }),\n\t\t\t\t)\n\t\t\t)}\n\t\t</div>\n\t);\n}\n\nexport default function LegendArea({\n\tlayers,\n\tlegends: legendConfig,\n}: {\n\tlayers: Array<\n\t\tCustomThematicLayer | CustomPointLayer | CustomGoogleEngineLayer\n\t>;\n\tposition: ControlPosition;\n\tlegends?: MapLegendConfig;\n}) {\n\tconst legends: JSX.Element[] = compact(\n\t\tlayers.filter((layer) => layer.enabled).map(getLegendComponent),\n\t);\n\tconst { position, collapsible } = legendConfig ?? {};\n\n\treturn (\n\t\t<CustomControl position={position}>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\tflexDirection: \"column\",\n\t\t\t\t\tgap: 16,\n\t\t\t\t\talignItems: \"flex-end\",\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{legends?.map((legend: any, index) => (\n\t\t\t\t\t<Legend\n\t\t\t\t\t\tcollapsible={collapsible ?? true}\n\t\t\t\t\t\tkey={`${index}-map-legend`}\n\t\t\t\t\t>\n\t\t\t\t\t\t{legend}\n\t\t\t\t\t</Legend>\n\t\t\t\t))}\n\t\t\t</div>\n\t\t</CustomControl>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../src/components/Map/components/MapLayer/components/LegendArea/index.tsx"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import { colors, IconLegend24, Popper, Portal } from \"@dhis2/ui\";\nimport { ControlPosition } from \"leaflet\";\nimport { compact, head } from \"lodash\";\nimport React, { useEffect, useRef, useState } from \"react\";\nimport { MapLegendConfig } from \"../../../MapArea/interfaces/index.js\";\nimport { CustomControl } from \"../../../MapControls/components/CustomControl/index.js\";\nimport {\n\tCustomBubbleLayer,\n\tCustomGoogleEngineLayer,\n\tCustomPointLayer,\n\tCustomThematicLayer,\n\tSUPPORTED_EARTH_ENGINE_LAYERS,\n} from \"../../interfaces/index.js\";\nimport PointLegend from \"../PointLayer/components/PointLegend/index.js\";\nimport BubbleLegend from \"../ThematicLayer/components/Bubble/components/BubbleLegend/index.js\";\nimport ChoroplethLegend from \"../ThematicLayer/components/Choropleth/components/ChoroplethLegend.js\";\nimport EarthEngineLegend from \"../GoogleEngineLayer/components/EarthEngineLegend.js\";\nimport classes from \"./LegendArea.module.css\";\nimport { usePrintMedia } from \"../../../../hooks/map.js\";\n\nconst TOOLTIP_OFFSET = 4;\n\nfunction getLegendComponent(\n\tlayer: CustomThematicLayer | CustomPointLayer | CustomGoogleEngineLayer,\n) {\n\tif (layer.type === \"point\") {\n\t\treturn <PointLegend name={layer.label} />;\n\t}\n\n\tif (SUPPORTED_EARTH_ENGINE_LAYERS.includes(layer.type)) {\n\t\treturn (\n\t\t\t<EarthEngineLegend\n\t\t\t\tname={layer.name ?? \"\"}\n\t\t\t\tlayer={layer as CustomGoogleEngineLayer}\n\t\t\t/>\n\t\t);\n\t}\n\n\tconst { type, enabled, control, dataItem, name, data, legends } =\n\t\t(layer as CustomThematicLayer) ?? {};\n\n\tif (!enabled || !control) {\n\t\treturn null;\n\t}\n\tswitch (type) {\n\t\tcase \"bubble\":\n\t\t\treturn (\n\t\t\t\t<BubbleLegend\n\t\t\t\t\tradius={\n\t\t\t\t\t\t(layer as CustomBubbleLayer)?.radius ?? {\n\t\t\t\t\t\t\tmin: 0,\n\t\t\t\t\t\t\tmax: 50,\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tlegends={legends ?? []}\n\t\t\t\t\tname={name ?? dataItem.displayName}\n\t\t\t\t\tdata={data}\n\t\t\t\t\tdataItem={head(data)?.dataItem ?? dataItem}\n\t\t\t\t/>\n\t\t\t);\n\t\tcase \"choropleth\":\n\t\t\treturn (\n\t\t\t\t<ChoroplethLegend\n\t\t\t\t\tlegends={legends ?? []}\n\t\t\t\t\tname={name ?? dataItem.displayName}\n\t\t\t\t\tdata={data}\n\t\t\t\t\tdataItem={head(data)?.dataItem ?? dataItem}\n\t\t\t\t/>\n\t\t\t);\n\t}\n}\n\nfunction CollapsedLegendIcon({\n\tonCollapse,\n\tname,\n}: {\n\tname: string;\n\tonCollapse: () => void;\n}) {\n\tconst openDelay = 200;\n\tconst closeDelay = 200;\n\tconst [openTooltip, setOpenTooltip] = useState(false);\n\tconst openTimerRef = useRef<any>(null);\n\tconst closeTimerRef = useRef<any>(null);\n\tconst ref = useRef<HTMLDivElement>(null);\n\n\tconst hideModifier = { name: \"hide\" };\n\tconst offsetModifier = {\n\t\tname: \"offset\",\n\t\toptions: {\n\t\t\toffset: [0, TOOLTIP_OFFSET],\n\t\t},\n\t};\n\n\tconst flipModifier = {\n\t\tname: \"flip\",\n\t\toptions: { altBoundary: true },\n\t};\n\n\tconst onMouseOver = () => {\n\t\tclearTimeout(closeTimerRef.current);\n\n\t\topenTimerRef.current = setTimeout(() => {\n\t\t\tsetOpenTooltip(true);\n\t\t}, openDelay);\n\t};\n\n\tconst onMouseOut = () => {\n\t\tclearTimeout(openTimerRef.current);\n\n\t\tcloseTimerRef.current = setTimeout(() => {\n\t\t\tsetOpenTooltip(false);\n\t\t}, closeDelay);\n\t};\n\n\tuseEffect(\n\t\t() => () => {\n\t\t\tclearTimeout(openTimerRef.current);\n\t\t\tclearTimeout(closeTimerRef.current);\n\t\t},\n\t\t[],\n\t);\n\n\treturn (\n\t\t<div\n\t\t\tref={ref}\n\t\t\tonMouseOver={onMouseOver}\n\t\t\tonMouseOut={onMouseOut}\n\t\t\tonClick={onCollapse}\n\t\t\tstyle={{ width: 28, height: 28 }}\n\t\t\tclassName=\"legend-card collapsed\"\n\t\t>\n\t\t\t<IconLegend24 />\n\t\t\t{openTooltip && (\n\t\t\t\t<Portal\n\t\t\t\t\t/*\n\t\t\t // @ts-ignore */\n\t\t\t\t\tclassName={classes[\"map-tooltip\"]}\n\t\t\t\t>\n\t\t\t\t\t<Popper\n\t\t\t\t\t\tclassName={classes[\"map-tooltip\"]}\n\t\t\t\t\t\treference={ref}\n\t\t\t\t\t\t/*\n // @ts-ignore */\n\t\t\t\t\t\tmodifiers={[offsetModifier, flipModifier, hideModifier]}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tbackgroundColor: `${colors.grey900}`,\n\t\t\t\t\t\t\t\tborderRadius: 3,\n\t\t\t\t\t\t\t\tcolor: `${colors.white}`,\n\t\t\t\t\t\t\t\tpadding: \"4px 6px\",\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tdata-test={`content`}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{name}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</Popper>\n\t\t\t\t</Portal>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n\nfunction Legend({\n\tchildren,\n\tcollapsible,\n}: {\n\tchildren: React.ReactElement;\n\tcollapsible: boolean;\n}) {\n\tconst [collapsed, setCollapsed] = useState(collapsible);\n\tconst inPrintMode = usePrintMedia();\n\tconst onCollapse = () => {\n\t\tif (collapsible) {\n\t\t\tsetCollapsed((prevState) => !prevState);\n\t\t}\n\t};\n\n\tconst name = head(React.Children.toArray(children) as React.ReactElement[])\n\t\t?.props.name;\n\n\tconst shouldCollapse = collapsed && !inPrintMode;\n\n\treturn (\n\t\t<div className=\"w-100\">\n\t\t\t{shouldCollapse ? (\n\t\t\t\t<CollapsedLegendIcon name={name} onCollapse={onCollapse} />\n\t\t\t) : (\n\t\t\t\tReact.Children.map(children, (child) =>\n\t\t\t\t\tReact.cloneElement(child, { collapsible, onCollapse }),\n\t\t\t\t)\n\t\t\t)}\n\t\t</div>\n\t);\n}\n\nexport default function LegendArea({\n\tlayers,\n\tlegends: legendConfig,\n}: {\n\tlayers: Array<\n\t\tCustomThematicLayer | CustomPointLayer | CustomGoogleEngineLayer\n\t>;\n\tposition: ControlPosition;\n\tlegends?: MapLegendConfig;\n}) {\n\tconst legends: JSX.Element[] = compact(\n\t\tlayers.filter((layer) => layer.enabled).map(getLegendComponent),\n\t);\n\tconst { position, collapsible } = legendConfig ?? {};\n\n\treturn (\n\t\t<CustomControl position={position}>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\tflexDirection: \"column\",\n\t\t\t\t\tgap: 16,\n\t\t\t\t\talignItems: \"flex-end\",\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{legends?.map((legend: any, index) => (\n\t\t\t\t\t<Legend\n\t\t\t\t\t\tcollapsible={collapsible ?? true}\n\t\t\t\t\t\tkey={`${index}-map-legend`}\n\t\t\t\t\t>\n\t\t\t\t\t\t{legend}\n\t\t\t\t\t</Legend>\n\t\t\t\t))}\n\t\t\t</div>\n\t\t</CustomControl>\n\t);\n}\n"]}
|
|
@@ -100,5 +100,5 @@ function PointLegend({ collapsible, onCollapse }, ref) {
|
|
|
100
100
|
var PointLegend_default = forwardRef(PointLegend);
|
|
101
101
|
|
|
102
102
|
export { PointLegend_default as default };
|
|
103
|
-
//# sourceMappingURL=
|
|
103
|
+
//# sourceMappingURL=index.js.map
|
|
104
104
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../../../src/components/Map/components/MapLayer/components/PointLayer/components/PointLegend/index.tsx"],"names":["name"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../../../src/components/Map/components/MapLayer/components/PointLayer/components/PointLegend/index.tsx"],"names":["name"],"mappings":"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","file":"index.js","sourcesContent":["import { useConfig } from \"@dhis2/app-runtime\";\nimport { Divider } from \"@dhis2/ui\";\nimport React, { forwardRef } from \"react\";\nimport { getIconUrl } from \"../../../../../../utils/helpers.js\";\nimport LegendCardHeader from \"../../../LegendArea/components/LegendCardHeader/index.js\";\nimport { usePointLayer } from \"../../hooks/index.js\";\nimport i18n from \"@dhis2/d2-i18n\";\n\nfunction PointLegends({\n\torgUnitGroups,\n\ticon,\n\tlabel,\n}: {\n\torgUnitGroups: { name: string; symbol: string }[];\n\ticon?: string;\n\tlabel?: string;\n}) {\n\tconst { baseUrl } = useConfig();\n\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\tminWidth: 100,\n\t\t\t\talignItems: \"flex-start\",\n\t\t\t\twidth: \"100%\",\n\t\t\t\tpadding: 8,\n\t\t\t\tdisplay: \"flex\",\n\t\t\t\tflexDirection: \"column\",\n\t\t\t}}\n\t\t>\n\t\t\t{icon && (\n\t\t\t\t<div\n\t\t\t\t\tkey={`${icon}-legend`}\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\tgap: 16,\n\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t}}\n\t\t\t\t\tclassName=\"row gap-16 align-items-center\"\n\t\t\t\t>\n\t\t\t\t\t<img\n\t\t\t\t\t\theight={20}\n\t\t\t\t\t\twidth={20}\n\t\t\t\t\t\talt={`${name}-icon`}\n\t\t\t\t\t\tsrc={getIconUrl(icon, { baseUrl })}\n\t\t\t\t\t/>\n\t\t\t\t\t<p>{label}</p>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t{orgUnitGroups.map(({ name, symbol }) => {\n\t\t\t\treturn (\n\t\t\t\t\t<div\n\t\t\t\t\t\tkey={`${name}-legend`}\n\t\t\t\t\t\tclassName=\"row gap-16 align-items-center\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\theight={20}\n\t\t\t\t\t\t\twidth={20}\n\t\t\t\t\t\t\talt={`${name}-icon`}\n\t\t\t\t\t\t\tsrc={getIconUrl(symbol ?? \"\", { baseUrl })}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<p>{name}</p>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t})}\n\t\t</div>\n\t);\n}\n\nfunction PointLegend(\n\t{ collapsible, onCollapse }: any,\n\tref: React.LegacyRef<HTMLDivElement>,\n) {\n\tconst pointLayer = usePointLayer();\n\tconst { label, style } = pointLayer ?? {};\n\n\treturn (\n\t\t<div ref={ref} className=\"legend-card\">\n\t\t\t<LegendCardHeader\n\t\t\t\tcollapsible={collapsible}\n\t\t\t\tonCollapse={onCollapse}\n\t\t\t\ttitle={label ?? i18n.t(\"Points\")}\n\t\t\t/>\n\t\t\t<Divider margin={\"0\"} />\n\t\t\t<PointLegends\n\t\t\t\tlabel={label}\n\t\t\t\torgUnitGroups={style?.orgUnitGroups ?? []}\n\t\t\t\ticon={style?.icon}\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nexport default forwardRef(PointLegend);\n"]}
|
package/dist/esm/components/Map/components/MapLayer/components/PointLayer/hooks/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../../src/components/Map/components/MapLayer/components/PointLayer/hooks/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../../src/components/Map/components/MapLayer/components/PointLayer/hooks/index.ts"],"names":[],"mappings":";;;AAIO,SAAS,aAAgB,GAAA;AAC/B,EAAM,MAAA,EAAE,MAAO,EAAA,GAAI,YAAa,EAAA,CAAA;AAChC,EAAA,OAAO,IAAK,CAAA,MAAA,EAAQ,CAAC,MAAA,EAAQ,OAAO,CAAC,CAAA,CAAA;AACtC","file":"index.js","sourcesContent":["import { find } from \"lodash\";\nimport { useMapLayers } from \"../../../../MapProvider/hooks/index.js\";\nimport { CustomPointLayer } from \"../../../interfaces/index.js\";\n\nexport function usePointLayer() {\n\tconst { layers } = useMapLayers();\n\treturn find(layers, [\"type\", \"point\"]) as CustomPointLayer;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../src/components/Map/components/MapLayer/components/PointLayer/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../src/components/Map/components/MapLayer/components/PointLayer/index.tsx"],"names":[],"mappings":";;;;;;;;AAeO,SAAS,UAAa,GAAA;AAC5B,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAM,MAAA;AAAA,IACL,OAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAQ,EAAA,QAAA;AAAA,IACR,KAAA;AAAA,IACA,mBAAA;AAAA,IACA,YAAA;AAAA,GACD,GAAI,cAAc,EAAC,CAAA;AACnB,EAAM,MAAA,EAAE,OAAQ,EAAA,GAAI,SAAU,EAAA,CAAA;AAC9B,EACC,uBAAA,GAAA;AAAA,IAAC,aAAc,CAAA,OAAA;AAAA,IAAd;AAAA,MACA,OAAS,EAAA,OAAA;AAAA,MACT,IAAM,EAAA,KAAA,IAAS,IAAK,CAAA,CAAA,CAAE,QAAQ,CAAA;AAAA,MAE9B,QAAC,kBAAA,GAAA,CAAA,UAAA,EAAA,EACC,QAAU,EAAA,QAAA,EAAA,GAAA,CAAI,CAAC,IAAuB,KAAA;AACtC,QACC,uBAAA,IAAA;AAAA,UAAC,OAAA;AAAA,UAAA;AAAA,YACA,YAAA,EAAc,CAAC,CAAA,EAAG,WAAgB,KAAA;AACjC,cAAO,OAAA,CAAA,CAAE,OAAO,WAAa,EAAA;AAAA,gBAC5B,IAAM,EAAA,OAAA;AAAA,kBACL,UAAA;AAAA,oBACC,IAAA,CAAK,IAAK,CAAA,IAAA,IAAQ,KAAO,EAAA,IAAA;AAAA,oBACzB,EAAE,OAAQ,EAAA;AAAA,mBACX;AAAA,iBACD;AAAA,eACA,CAAA,CAAA;AAAA,aACF;AAAA,YACA,aAAe,EAAA;AAAA,cACd,GAAI,uBAAuB,EAAC;AAAA,cAC5B,SAAA,EAAW,CAAC,CAAM,KAAA;AACjB,gBAAA,IAAI,YAAc,EAAA;AACjB,kBAAA,YAAA,CAAa,CAAG,EAAA,EAAE,OAAS,EAAA,IAAA,EAAM,CAAA,CAAA;AAAA,iBAClC;AAAA,eACD;AAAA,aACD;AAAA,YACA,MAAM,IAAK,CAAA,OAAA;AAAA,YACX,WAAW,EAAA,IAAA;AAAA,YAGX,QAAA,EAAA;AAAA,8BAAC,GAAA,CAAA,OAAA,EAAA,EAAS,eAAK,IAAK,EAAA,CAAA;AAAA,8BACpB,GAAA,CAAC,SAAM,QAAU,EAAA,EAAA,EAChB,8BAAC,IAAI,EAAA,EAAA,QAAA,EAAA,IAAA,CAAK,MAAK,CAChB,EAAA,CAAA;AAAA,aAAA;AAAA,WAAA;AAAA,UALK,CAAA,EAAG,KAAK,EAAE,CAAA,QAAA,CAAA;AAAA,SAMhB,CAAA;AAAA,OAED,CACF,EAAA,CAAA;AAAA,KAAA;AAAA,GACD,CAAA;AAEF","file":"index.js","sourcesContent":["import { useConfig } from \"@dhis2/app-runtime\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport L from \"leaflet\";\nimport React from \"react\";\nimport {\n\tGeoJSON,\n\tLayerGroup,\n\tLayersControl,\n\tPopup,\n\tTooltip,\n} from \"react-leaflet\";\nimport { PointOrgUnit } from \"../../../../interfaces/index.js\";\nimport { getIcon, getIconUrl } from \"../../../../utils/helpers.js\";\nimport { usePointLayer } from \"./hooks/index.js\";\n\nexport function PointLayer() {\n\tconst pointLayer = usePointLayer();\n\tconst {\n\t\tenabled,\n\t\tlabel,\n\t\tpoints: orgUnits,\n\t\tstyle,\n\t\tcustomEventHandlers,\n\t\tonLayerClick,\n\t} = pointLayer ?? {};\n\tconst { baseUrl } = useConfig();\n\treturn (\n\t\t<LayersControl.Overlay\n\t\t\tchecked={enabled}\n\t\t\tname={label ?? i18n.t(\"Points\")}\n\t\t>\n\t\t\t<LayerGroup>\n\t\t\t\t{orgUnits?.map((area: PointOrgUnit) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<GeoJSON\n\t\t\t\t\t\t\tpointToLayer={(_, coordinates) => {\n\t\t\t\t\t\t\t\treturn L.marker(coordinates, {\n\t\t\t\t\t\t\t\t\ticon: getIcon(\n\t\t\t\t\t\t\t\t\t\tgetIconUrl(\n\t\t\t\t\t\t\t\t\t\t\tarea.icon.icon ?? style?.icon,\n\t\t\t\t\t\t\t\t\t\t\t{ baseUrl },\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\teventHandlers={{\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\tdata={area.geoJSON}\n\t\t\t\t\t\t\tinteractive\n\t\t\t\t\t\t\tkey={`${area.id}-polygon`}\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</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/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubble.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../../../../../../src/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubble.tsx"],"names":[],"mappings":";;;AAcA,MAAM,SAAS,CAAC;AAAA,EACf,MAAA;AAAA,EACA,SAAA;AAAA,EACA,IAAA;AAAA,EACA,SAAA;AAAA,EACA,KAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AACD,CAAmB,KAAA;AAClB,EAAA,MAAM,YAAY,SAAc,KAAA,MAAA,CAAA;AAChC,EAAA,MAAM,CAAI,GAAA,SAAA,CAAA;AACV,EAAM,MAAA,CAAA,GAAI,YAAY,CAAI,GAAA,MAAA,CAAA;AAC1B,EAAA,MAAM,KAAK,SACR,GAAA,CAAA,GAAI,SAAY,GAAA,WAAA,GAChB,IAAI,SAAY,GAAA,WAAA,CAAA;AACnB,EAAM,MAAA,EAAA,GAAK,SAAY,GAAA,CAAA,GAAI,MAAS,GAAA,CAAA,CAAA;AACpC,EAAA,MAAM,KAAQ,GAAA,EAAA,IAAM,SAAY,GAAA,CAAC,WAAc,GAAA,WAAA,CAAA,CAAA;AAC/C,EAAM,MAAA,UAAA,GAAa,YAAY,KAAQ,GAAA,OAAA,CAAA;AAEvC,EAAA,4BACE,GACA,EAAA,EAAA,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,QAAA;AAAA,MAAA;AAAA,QACA,EAAI,EAAA,CAAA;AAAA,QACJ,EAAI,EAAA,CAAA;AAAA,QACJ,CAAG,EAAA,MAAA;AAAA,QACH,QAAQ,MAAU,IAAA,MAAA;AAAA,QAClB,KAAO,EAAA;AAAA,UACN,IAAM,EAAA,OAAA,GAAU,CAAQ,KAAA,EAAA,OAAO,MAAM,KAAS,IAAA,MAAA;AAAA,UAC9C,WAAa,EAAA,GAAA;AAAA,SACd;AAAA,OAAA;AAAA,KACD;AAAA,IACC,IAAA,yBACC,GACA,EAAA,EAAA,QAAA,EAAA;AAAA,sBAAA,GAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UACA,EAAI,EAAA,CAAA;AAAA,UACJ,EAAA;AAAA,UACA,EAAI,EAAA,EAAA;AAAA,UACJ,EAAA;AAAA,UACA,MAAO,EAAA,OAAA;AAAA,UACP,KAAO,EAAA,EAAE,eAAiB,EAAA,MAAA,EAAQ,aAAa,GAAI,EAAA;AAAA,SAAA;AAAA,OACpD;AAAA,sBACA,GAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UACA,CAAG,EAAA,KAAA;AAAA,UACH,CAAG,EAAA,EAAA;AAAA,UACH,UAAA;AAAA,UACA,iBAAkB,EAAA,QAAA;AAAA,UAClB,KAAA,EAAO,EAAE,QAAA,EAAU,EAAG,EAAA;AAAA,UAErB,QAAA,EAAA,IAAA;AAAA,SAAA;AAAA,OACF;AAAA,KACD,EAAA,CAAA;AAAA,GAEF,EAAA,CAAA,CAAA;AAEF,CAAA,CAAA;AAEA,IAAO,cAAQ,GAAA","file":"Bubble.js","sourcesContent":["import React from \"react\";\nimport { guideLength, textPadding } from \"./Bubbles.js\";\n\nexport interface BubbleProps {\n\tradius: number;\n\tmaxRadius: number;\n\ttext?: string;\n\ttextAlign?: \"left\" | \"right\";\n\tcolor?: string;\n\tstroke?: string;\n\tpattern?: string;\n\tgap?: number;\n}\n\nconst Bubble = ({\n\tradius,\n\tmaxRadius,\n\ttext,\n\ttextAlign,\n\tcolor,\n\tstroke,\n\tpattern,\n}: BubbleProps) => {\n\tconst leftAlign = textAlign === \"left\";\n\tconst x = maxRadius;\n\tconst y = maxRadius * 2 - radius;\n\tconst x2 = leftAlign\n\t\t? x - maxRadius - guideLength\n\t\t: x + maxRadius + guideLength;\n\tconst y2 = maxRadius * 2 - radius * 2;\n\tconst textX = x2 + (leftAlign ? -textPadding : textPadding);\n\tconst textAnchor = leftAlign ? \"end\" : \"start\";\n\n\treturn (\n\t\t<g>\n\t\t\t<circle\n\t\t\t\tcx={x}\n\t\t\t\tcy={y}\n\t\t\t\tr={radius}\n\t\t\t\tstroke={stroke || \"#000\"}\n\t\t\t\tstyle={{\n\t\t\t\t\tfill: pattern ? `url(#${pattern})` : color || \"none\",\n\t\t\t\t\tstrokeWidth: 0.5,\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t{text && (\n\t\t\t\t<g>\n\t\t\t\t\t<line\n\t\t\t\t\t\tx1={x}\n\t\t\t\t\t\tx2={x2}\n\t\t\t\t\t\ty1={y2}\n\t\t\t\t\t\ty2={y2}\n\t\t\t\t\t\tstroke=\"black\"\n\t\t\t\t\t\tstyle={{ strokeDasharray: \"2, 2\", strokeWidth: 0.5 }}\n\t\t\t\t\t/>\n\t\t\t\t\t<text\n\t\t\t\t\t\tx={textX}\n\t\t\t\t\t\ty={y2}\n\t\t\t\t\t\ttextAnchor={textAnchor}\n\t\t\t\t\t\talignmentBaseline=\"middle\"\n\t\t\t\t\t\tstyle={{ fontSize: 12 }}\n\t\t\t\t\t>\n\t\t\t\t\t\t{text}\n\t\t\t\t\t</text>\n\t\t\t\t</g>\n\t\t\t)}\n\t\t</g>\n\t);\n};\n\nexport default Bubble;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../../../../../../src/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubbles.tsx"],"names":["smallestGap"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../../../../../../src/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubbles.tsx"],"names":["smallestGap"],"mappings":"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","file":"Bubbles.js","sourcesContent":["import i18n from \"@dhis2/d2-i18n\";\nimport { scaleSqrt } from \"d3-scale\";\nimport { reduce } from \"lodash\";\nimport React, { memo } from \"react\";\nimport { getContrastColor } from \"../../../../../../../../../utils/colors.js\";\nimport { getLongestTextLength } from \"../../../../../../../../../utils/helpers.js\";\nimport Bubble, { BubbleProps } from \"./Bubble.js\";\n\nconst style = {\n\tpaddingTop: 10,\n\tdisplay: \"flex\",\n\talignItems: \"center\",\n\tjustifyContent: \"center\",\n};\n\nconst legendWidth = 200;\nconst digitWidth = 6.8;\nexport const guideLength = 16;\nexport const textPadding = 4;\n\nconst Bubbles = ({\n\tradiusLow,\n\tradiusHigh,\n\tcolor,\n\tclasses,\n}: {\n\tradiusLow: number;\n\tradiusHigh: number;\n\tcolor?: string;\n\tclasses: Array<any>;\n}) => {\n\tconst height = radiusHigh * 2 + 4;\n\tconst scale = scaleSqrt().range([radiusLow, radiusHigh]);\n\tconst radiusMid = scale(0.5);\n\n\tif (isNaN(radiusLow) || isNaN(radiusHigh)) {\n\t\treturn null;\n\t}\n\n\tlet bubbles: Array<BubbleProps> = [];\n\n\t// If color legend\n\tif (Array.isArray(classes) && classes.length) {\n\t\tconst startValue = classes[0].startValue;\n\t\tconst endValue = classes[classes.length - 1].endValue;\n\t\tconst itemScale = scale.domain([startValue, endValue]);\n\n\t\tbubbles = [...classes].reverse().map((c) => ({\n\t\t\tradius: itemScale(c.endValue),\n\t\t\tmaxRadius: radiusHigh,\n\t\t\tcolor: c.color,\n\t\t\ttext: String(c.endValue),\n\t\t}));\n\n\t\t// Add the smallest bubble for the lowest value\n\t\tbubbles.push({\n\t\t\tradius: itemScale(startValue),\n\t\t\tmaxRadius: radiusHigh,\n\t\t\ttext: String(startValue),\n\t\t});\n\t} else {\n\t\t// If single color\n\t\tconst stroke = color && getContrastColor(color);\n\n\t\tbubbles = [\n\t\t\t{\n\t\t\t\tradius: radiusHigh,\n\t\t\t\tmaxRadius: radiusHigh,\n\t\t\t\tcolor,\n\t\t\t\tstroke,\n\t\t\t\ttext: i18n.t(\"Max\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tradius: radiusMid,\n\t\t\t\tmaxRadius: radiusHigh,\n\t\t\t\tcolor,\n\t\t\t\tstroke,\n\t\t\t\ttext: i18n.t(\"Mid\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tradius: radiusLow,\n\t\t\t\tmaxRadius: radiusHigh,\n\t\t\t\tcolor,\n\t\t\t\tstroke,\n\t\t\t\ttext: i18n.t(\"Min\"),\n\t\t\t},\n\t\t];\n\t}\n\n\t// Calculate the pixel length of the longest number\n\tlet textLength = Math.ceil(\n\t\tMath.max(\n\t\t\tgetLongestTextLength(classes, \"startValue\"),\n\t\t\tgetLongestTextLength(classes, \"endValue\"),\n\t\t) * digitWidth,\n\t);\n\n\t// Calculate the total length if numbers are alternate on each side\n\tconst alternateLength =\n\t\t(radiusHigh + guideLength + textPadding + textLength) * 2;\n\n\tlet smallestGap = reduce(bubbles, (prev, curr: any, i) => {\n\t\tconst gap = prev.radius - curr.radius;\n\t\tconst smallestGap =\n\t\t\tprev.gap === undefined || gap < prev.gap ? gap : prev.gap;\n\n\t\treturn i === bubbles.length - 1\n\t\t\t? Math.round(smallestGap * 2)\n\t\t\t: {\n\t\t\t\t\tradius: curr.radius,\n\t\t\t\t\tgap: smallestGap,\n\t\t\t\t};\n\t});\n\n\tconst alternateFit = alternateLength < legendWidth;\n\n\tconst alternate = alternateFit && smallestGap > 5 && smallestGap < 12;\n\n\tif (!alternateFit) {\n\t\tsmallestGap = smallestGap / 2;\n\t}\n\n\t// Too cramped to show number for each bubble\n\tif (smallestGap < 4) {\n\t\tconst [maxBubble] = bubbles;\n\t\tconst minBubble = bubbles[bubbles.length - 1];\n\t\tconst gap = maxBubble.radius - minBubble.radius;\n\t\tconst showNumbers = [0]; // Always show the largest number\n\n\t\tif (gap > 4) {\n\t\t\tshowNumbers.push(bubbles.length - 1);\n\t\t}\n\n\t\tif (gap > 15) {\n\t\t\tconst midRadius = minBubble.radius + gap / 2;\n\n\t\t\t// Find the closest bubble above the mid-radius\n\t\t\tconst midBubble = bubbles.reduce((prev, curr) =>\n\t\t\t\tcurr.radius >= midRadius &&\n\t\t\t\tcurr.radius - midRadius < prev.radius - midRadius\n\t\t\t\t\t? curr\n\t\t\t\t\t: prev,\n\t\t\t);\n\n\t\t\tshowNumbers.push(bubbles.indexOf(midBubble));\n\t\t}\n\n\t\tbubbles.forEach((b, i) => {\n\t\t\tif (!showNumbers.includes(i)) {\n\t\t\t\tdelete b.text;\n\t\t\t}\n\t\t});\n\t}\n\n\ttextLength = Math.ceil(getLongestTextLength(bubbles, \"text\") * digitWidth);\n\n\tconst offset = textLength + guideLength + textPadding;\n\n\treturn (\n\t\t<div style={style}>\n\t\t\t<svg width={legendWidth} height={height + 50}>\n\t\t\t\t<g transform={`translate(${alternate ? offset : \"16\"} 24)`}>\n\t\t\t\t\t{bubbles.map((bubble, i) => (\n\t\t\t\t\t\t<Bubble\n\t\t\t\t\t\t\tkey={i}\n\t\t\t\t\t\t\t{...bubble}\n\t\t\t\t\t\t\ttextAlign={\n\t\t\t\t\t\t\t\talternate && i % 2 == 0 ? \"left\" : \"right\"\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</g>\n\t\t\t</svg>\n\t\t</div>\n\t);\n};\n\nexport default memo(Bubbles);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../../../../../src/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../../../../../src/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/index.tsx"],"names":[],"mappings":";;;;;;AAUA,SAAS,YACR,CAAA;AAAA,EACC,MAAA;AAAA,EACA,QAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,WAAA;AAAA,EACA,UAAA;AAAA,EACA,OAAA;AACD,CAAA,EASA,GACC,EAAA;AACD,EAAA,uBACE,IAAA,CAAA,KAAA,EAAA,EAAI,SAAU,EAAA,aAAA,EAAc,GAC5B,EAAA,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,gBAAA;AAAA,MAAA;AAAA,QACA,OAAO,QAAS,CAAA,WAAA;AAAA,QAChB,UAAA;AAAA,QACA,WAAA;AAAA,OAAA;AAAA,KACD;AAAA,oBACA,GAAA,CAAC,OAAQ,EAAA,EAAA,MAAA,EAAQ,GAAK,EAAA,CAAA;AAAA,oBACtB,GAAA,CAAC,KAAI,EAAA,EAAA,SAAA,EAAU,kBACd,EAAA,QAAA,kBAAA,GAAA;AAAA,MAAC,OAAA;AAAA,MAAA;AAAA,QACA,OAAA,EAAS,QAAQ,OAAQ,EAAA;AAAA,QACzB,YAAY,MAAO,CAAA,GAAA;AAAA,QACnB,WAAW,MAAO,CAAA,GAAA;AAAA,QAClB,KAAO,EAAA,SAAA;AAAA,OAAA;AAAA,KAET,EAAA,CAAA;AAAA,GACD,EAAA,CAAA,CAAA;AAEF,CAAA;AAEO,IAAA,oBAAA,GAAQ,WAAW,YAAY","file":"index.js","sourcesContent":["import { Divider } from \"@dhis2/ui\";\nimport type { Legend } from \"@hisptz/dhis2-utils\";\nimport React, { forwardRef } from \"react\";\nimport {\n\tThematicLayerData,\n\tThematicLayerDataItem,\n} from \"../../../../../../interfaces/index.js\";\nimport LegendCardHeader from \"../../../../../LegendArea/components/LegendCardHeader/index.js\";\nimport Bubbles from \"./components/Bubbles.js\";\n\nfunction BubbleLegend(\n\t{\n\t\tradius,\n\t\tdataItem,\n\t\tdata,\n\t\tname,\n\t\tcollapsible,\n\t\tonCollapse,\n\t\tlegends,\n\t}: {\n\t\tradius: { min: number; max: number };\n\t\tdataItem: ThematicLayerDataItem;\n\t\tdata: ThematicLayerData[];\n\t\tname?: string;\n\t\tcollapsible?: boolean;\n\t\tonCollapse?: () => void;\n\t\tlegends: Legend[];\n\t},\n\tref: React.LegacyRef<HTMLDivElement> | undefined,\n) {\n\treturn (\n\t\t<div className=\"legend-card\" ref={ref}>\n\t\t\t<LegendCardHeader\n\t\t\t\ttitle={dataItem.displayName}\n\t\t\t\tonCollapse={onCollapse}\n\t\t\t\tcollapsible={collapsible}\n\t\t\t/>\n\t\t\t<Divider margin={\"0\"} />\n\t\t\t<div className=\"legend-list pt-8\">\n\t\t\t\t<Bubbles\n\t\t\t\t\tclasses={legends.reverse()}\n\t\t\t\t\tradiusHigh={radius.max}\n\t\t\t\t\tradiusLow={radius.min}\n\t\t\t\t\tcolor={\"#FF0000\"}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nexport default forwardRef(BubbleLegend);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../../../src/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../../../src/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/index.tsx"],"names":[],"mappings":";;;;;;;;AAqBA,MAAM,YAAe,GAAA;AAAA,EACpB,MAAQ,EAAA,CAAA;AACT,CAAA,CAAA;AACA,MAAM,cAAiB,GAAA;AAAA,EACtB,MAAQ,EAAA,CAAA;AACT,CAAA,CAAA;AAQe,SAAR,MAAwB,CAAA;AAAA,EAC9B,IAAA;AAAA,EACA,WAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AAAA,EACA,mBAAA;AAAA,EACA,YAAA;AACD,CAOG,EAAA;AACF,EAAA,MAAM,EAAE,OAAS,EAAA,IAAA,EAAM,KAAM,EAAA,GAAI,QAAQ,EAAC,CAAA;AAE1C,EAAA,MAAM,gBAAgB,OAAQ,CAAA,OAAA,CAAA;AAC9B,EAAA,MAAM,SAAS,OAAQ,CAAA,aAAa,CAAE,CAAA,SAAA,GAAY,SAAU,EAAA,CAAA;AAE5D,EAAM,MAAA,YAAA,GAAe,QAAQ,MAAM;AAClC,IAAA,OAAA,CAAS,KAAS,IAAA,CAAA,KAAM,MAAQ,EAAA,GAAA,IAAO,EAAO,CAAA,GAAA,WAAA,CAAA;AAAA,GAC5C,EAAA,CAAC,MAAQ,EAAA,IAAA,EAAM,WAAW,CAAC,CAAA,CAAA;AAE9B,EAAA,uBAEE,GAAA,CAAA,QAAA,EAAA,EAAA,QAAA,kBAAA,GAAA;AAAA,IAAC,YAAA;AAAA,IAAA;AAAA,MACA,WAAW,EAAA,IAAA;AAAA,MACX,aAAe,EAAA;AAAA,QACd,SAAW,EAAA,CAAC,CAAM,KAAA,gBAAA,CAAiB,GAAG,cAAc,CAAA;AAAA,QACpD,QAAU,EAAA,CAAC,CAAM,KAAA,cAAA,CAAe,GAAG,YAAY,CAAA;AAAA,QAC/C,GAAI,uBAAuB,EAAC;AAAA,QAC5B,SAAA,EAAW,CAAC,CAAM,KAAA;AACjB,UAAA,IAAI,YAAc,EAAA;AACjB,YAAA,YAAA,CAAa,GAAG,IAAI,CAAA,CAAA;AAAA,WACrB;AAAA,SACD;AAAA,OACD;AAAA,MACA,WAAa,EAAA;AAAA,QACZ,SAAW,EAAA,qBAAA,CAAsB,OAAS,EAAA,IAAA,CAAK,IAAI,CAAA;AAAA,QACnD,WAAa,EAAA,CAAA;AAAA,QACb,OAAO,MAAO,CAAA,OAAA;AAAA,QACd,MAAQ,EAAA,CAAA;AAAA,OACT;AAAA,MACA,MAAQ,EAAA,YAAA;AAAA,MACR,MAAA;AAAA,MAEA,QAAA,kBAAA,GAAA,CAAC,iBAAc,IAAY,EAAA,CAAA;AAAA,KAAA;AAAA,GAE7B,EAAA,CAAA,CAAA;AAEF","file":"index.js","sourcesContent":["import { colors } from \"@dhis2/ui\";\nimport type { Legend } from \"@hisptz/dhis2-utils\";\nimport {\n\tgeoJSON,\n\ttype LeafletEventHandlerFnMap,\n\ttype LeafletMouseEvent,\n} from \"leaflet\";\nimport React, { useMemo } from \"react\";\nimport { CircleMarker } from \"react-leaflet\";\nimport {\n\tgetColorFromLegendSet,\n\thighlightFeature,\n\tresetHighlight,\n} from \"../../../../../../utils/map.js\";\nimport {\n\tThematicLayerData,\n\tThematicLayerDataItem,\n} from \"../../../../interfaces/index.js\";\nimport CustomTooltip from \"../CustomTooltip/index.js\";\nimport { MapOrgUnit } from \"../../../../../../interfaces/index.js\";\n\nconst defaultStyle = {\n\tweight: 1,\n};\nconst highlightStyle = {\n\tweight: 2,\n};\n\ninterface LayerData {\n\torgUnit: MapOrgUnit;\n\tdata?: number;\n\tdataItem: ThematicLayerDataItem;\n}\n\nexport default function Bubble({\n\tdata,\n\thighestData,\n\tlegends,\n\tradius,\n\tcustomEventHandlers,\n\tonLayerClick,\n}: {\n\tdata: ThematicLayerData;\n\thighestData: number;\n\tlegends: Legend[];\n\tradius?: { min: number; max: number };\n\tcustomEventHandlers?: LeafletEventHandlerFnMap;\n\tonLayerClick?: (e: LeafletMouseEvent, data: LayerData) => void;\n}) {\n\tconst { orgUnit, data: value } = data ?? {};\n\n\tconst geoJSONObject = orgUnit.geoJSON;\n\tconst center = geoJSON(geoJSONObject).getBounds().getCenter();\n\n\tconst circleRadius = useMemo(() => {\n\t\treturn ((value ?? 0) * (radius?.max ?? 50)) / highestData;\n\t}, [radius, data, highestData]);\n\n\treturn (\n\t\t<>\n\t\t\t<CircleMarker\n\t\t\t\tinteractive\n\t\t\t\teventHandlers={{\n\t\t\t\t\tmouseover: (e) => highlightFeature(e, highlightStyle),\n\t\t\t\t\tmouseout: (e) => resetHighlight(e, defaultStyle),\n\t\t\t\t\t...(customEventHandlers ?? {}),\n\t\t\t\t\tmousedown: (e) => {\n\t\t\t\t\t\tif (onLayerClick) {\n\t\t\t\t\t\t\tonLayerClick(e, data);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t}}\n\t\t\t\tpathOptions={{\n\t\t\t\t\tfillColor: getColorFromLegendSet(legends, data.data),\n\t\t\t\t\tfillOpacity: 1,\n\t\t\t\t\tcolor: colors.grey900,\n\t\t\t\t\tweight: 1,\n\t\t\t\t}}\n\t\t\t\tradius={circleRadius}\n\t\t\t\tcenter={center}\n\t\t\t>\n\t\t\t\t<CustomTooltip data={data} />\n\t\t\t</CircleMarker>\n\t\t</>\n\t);\n}\n"]}
|
|
@@ -52,5 +52,5 @@ function ChoroplethLegend({
|
|
|
52
52
|
var ChoroplethLegend_default = forwardRef(ChoroplethLegend);
|
|
53
53
|
|
|
54
54
|
export { LegendItem, ChoroplethLegend_default as default };
|
|
55
|
-
//# sourceMappingURL=
|
|
55
|
+
//# sourceMappingURL=ChoroplethLegend.js.map
|
|
56
56
|
//# sourceMappingURL=ChoroplethLegend.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../../../../src/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../../../../src/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.tsx"],"names":[],"mappings":";;;;;;;AAWO,SAAS,UAAW,CAAA;AAAA,EAC1B,MAAA;AAAA,EACA,KAAA;AACD,CAGG,EAAA;AACF,EACC,uBAAA,IAAA,CAAC,KAAI,EAAA,EAAA,SAAA,EAAU,aACd,EAAA,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACA,SAAU,EAAA,mBAAA;AAAA,QACV,KAAO,EAAA,EAAE,eAAiB,EAAA,MAAA,CAAO,KAAM,EAAA;AAAA,OAAA;AAAA,KACxC;AAAA,oBACA,GAAA,CAAC,KAAI,EAAA,EAAA,SAAA,EAAU,mBAAqB,EAAA,QAAA,EAAA,CAAA,EAAG,OAAO,UAAU,CAAA,GAAA,EAAM,MAAO,CAAA,QAAQ,CAAG,CAAA,EAAA,CAAA;AAAA,wBAC/E,KAAI,EAAA,EAAA,SAAA,EAAU,mBAAqB,EAAA,QAAA,EAAA,CAAA,CAAA,EAAI,KAAK,CAAI,CAAA,CAAA,EAAA,CAAA;AAAA,GAClD,EAAA,CAAA,CAAA;AAEF,CAAA;AAEA,SAAS,gBACR,CAAA;AAAA,EACC,QAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,WAAA;AAAA,EACA,UAAA;AAAA,EACA,OAAA;AACD,CAAA,EAQA,GACC,EAAA;AACD,EAAA,uBACE,IAAA,CAAA,KAAA,EAAA,EAAI,SAAU,EAAA,aAAA,EAAc,GAC5B,EAAA,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,gBAAA;AAAA,MAAA;AAAA,QACA,OAAO,QAAS,CAAA,WAAA;AAAA,QAChB,WAAA;AAAA,QACA,UAAA;AAAA,OAAA;AAAA,KACD;AAAA,oBACA,GAAA,CAAC,OAAQ,EAAA,EAAA,MAAA,EAAQ,GAAK,EAAA,CAAA;AAAA,oBACrB,GAAA,CAAA,KAAA,EAAA,EAAI,KAAO,EAAA,EAAE,UAAY,EAAA,CAAA,EAAK,EAAA,SAAA,EAAU,aACvC,EAAA,QAAA,EAAA,OAAA,EAAS,GAAI,CAAA,CAAC,MACd,qBAAA,GAAA;AAAA,MAAC,UAAA;AAAA,MAAA;AAAA,QAEA,MAAA;AAAA,QACA,KAAA,EAAO,cAAe,CAAA,MAAA,EAAQ,IAAI,CAAA;AAAA,OAAA;AAAA,MAF7B,CAAA,EAAG,QAAQ,KAAK,CAAA,YAAA,CAAA;AAAA,KAItB,CACF,EAAA,CAAA;AAAA,GACD,EAAA,CAAA,CAAA;AAEF,CAAA;AAEO,IAAA,wBAAA,GAAQ,WAAW,gBAAgB","file":"ChoroplethLegend.js","sourcesContent":["import \"../../../styles/legends.css\";\nimport { Divider } from \"@dhis2/ui\";\nimport type { Legend } from \"@hisptz/dhis2-utils\";\nimport React, { forwardRef } from \"react\";\nimport { getLegendCount } from \"../../../../../../../utils/map.js\";\nimport {\n\tThematicLayerData,\n\tThematicLayerDataItem,\n} from \"../../../../../interfaces\";\nimport LegendCardHeader from \"../../../../LegendArea/components/LegendCardHeader/index.js\";\n\nexport function LegendItem({\n\tlegend,\n\tvalue,\n}: {\n\tlegend: { startValue: number; endValue: number; color: string };\n\tvalue: number;\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<div className=\"legend-item-label\">{`${legend.startValue} - ${legend.endValue}`}</div>\n\t\t\t<div className=\"legend-item-value\">{`(${value})`}</div>\n\t\t</div>\n\t);\n}\n\nfunction ChoroplethLegend(\n\t{\n\t\tdataItem,\n\t\tdata,\n\t\tname,\n\t\tcollapsible,\n\t\tonCollapse,\n\t\tlegends,\n\t}: {\n\t\tdata: ThematicLayerData[];\n\t\tdataItem: ThematicLayerDataItem;\n\t\tname?: string;\n\t\tcollapsible?: boolean;\n\t\tonCollapse?: () => void;\n\t\tlegends: Legend[];\n\t},\n\tref: React.LegacyRef<HTMLDivElement> | undefined,\n) {\n\treturn (\n\t\t<div className=\"legend-card\" ref={ref}>\n\t\t\t<LegendCardHeader\n\t\t\t\ttitle={dataItem.displayName}\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<div style={{ paddingTop: 8 }} 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\tvalue={getLegendCount(legend, data)}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nexport default forwardRef(ChoroplethLegend);\n"]}
|