@hisptz/dhis2-analytics 2.0.0-alpha.0 → 2.0.0-alpha.1
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 +20 -43
- package/dist/components/ChartAnalytics/DHIS2Chart.js +17 -43
- package/dist/components/ChartAnalytics/DHIS2Chart.js.map +1 -1
- package/dist/components/ChartAnalytics/components/DownloadMenu/components/Menu.js +14 -16
- package/dist/components/ChartAnalytics/components/DownloadMenu/components/Menu.js.map +1 -1
- package/dist/components/ChartAnalytics/components/DownloadMenu/constants/menu.js +8 -14
- package/dist/components/ChartAnalytics/components/DownloadMenu/index.js +19 -21
- package/dist/components/ChartAnalytics/components/DownloadMenu/index.js.map +1 -1
- package/dist/components/ChartAnalytics/components/DownloadMenu/interfaces/menu.js +0 -1
- package/dist/components/ChartAnalytics/hooks/useChart.js +11 -13
- package/dist/components/ChartAnalytics/hooks/useChart.js.map +1 -1
- package/dist/components/ChartAnalytics/index.js +1 -12
- package/dist/components/ChartAnalytics/index.js.map +1 -1
- package/dist/components/ChartAnalytics/models/bar.js +3 -6
- package/dist/components/ChartAnalytics/models/bar.js.map +1 -1
- package/dist/components/ChartAnalytics/models/column.js +6 -9
- package/dist/components/ChartAnalytics/models/column.js.map +1 -1
- package/dist/components/ChartAnalytics/models/index.js +1 -6
- package/dist/components/ChartAnalytics/models/index.js.map +1 -1
- package/dist/components/ChartAnalytics/models/line.js +6 -8
- package/dist/components/ChartAnalytics/models/line.js.map +1 -1
- package/dist/components/ChartAnalytics/models/multi-series.js +26 -15
- package/dist/components/ChartAnalytics/models/multi-series.js.map +1 -1
- package/dist/components/ChartAnalytics/models/pie.js +8 -8
- package/dist/components/ChartAnalytics/models/pie.js.map +1 -1
- package/dist/components/ChartAnalytics/services/export.js +7 -20
- package/dist/components/ChartAnalytics/services/export.js.map +1 -1
- package/dist/components/ChartAnalytics/styles/custom-highchart.css +40 -0
- package/dist/components/ChartAnalytics/styles/custom-highchart.css.map +1 -0
- package/dist/components/ChartAnalytics/types/props.js +0 -1
- package/dist/components/ChartAnalytics/utils/chart.js +24 -31
- package/dist/components/ChartAnalytics/utils/chart.js.map +1 -1
- package/dist/components/CircularProgressDashboard/CircularProgressIndicator.js +14 -23
- package/dist/components/CircularProgressDashboard/CircularProgressIndicator.js.map +1 -1
- package/dist/components/CircularProgressDashboard/CircularProgressIndicator.stories.js +3 -10
- package/dist/components/CircularProgressDashboard/index.js +2 -19
- package/dist/components/CircularProgressDashboard/index.js.map +1 -1
- package/dist/components/CircularProgressDashboard/types/props.js +0 -1
- package/dist/components/DHIS2PivotTable/DHIS2PivotTable.js +13 -15
- package/dist/components/DHIS2PivotTable/DHIS2PivotTable.js.map +1 -1
- package/dist/components/DHIS2PivotTable/DHIS2PivotTable.stories.js +5 -14
- package/dist/components/DHIS2PivotTable/components/Table/index.js +4 -6
- package/dist/components/DHIS2PivotTable/components/TableBody/index.js +30 -36
- package/dist/components/DHIS2PivotTable/components/TableBody/index.js.map +1 -1
- package/dist/components/DHIS2PivotTable/components/TableHeaders/index.js +27 -33
- package/dist/components/DHIS2PivotTable/components/TableHeaders/index.js.map +1 -1
- package/dist/components/DHIS2PivotTable/index.js +2 -19
- package/dist/components/DHIS2PivotTable/index.js.map +1 -1
- package/dist/components/DHIS2PivotTable/interfaces/index.js +0 -1
- package/dist/components/DHIS2PivotTable/services/engine.js +10 -18
- package/dist/components/DHIS2PivotTable/services/engine.js.map +1 -1
- package/dist/components/DHIS2PivotTable/state/engine.js +6 -9
- package/dist/components/DHIS2PivotTable/state/engine.js.map +1 -1
- package/dist/components/Map/DHIS2Map.js +13 -20
- package/dist/components/Map/DHIS2Map.js.map +1 -1
- package/dist/components/Map/DHIS2Map.stories.js +3 -17
- package/dist/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfigModal.js +15 -21
- package/dist/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfigModal.js.map +1 -1
- package/dist/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfigModal.stories.js +10 -15
- package/dist/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfiguration.js +16 -18
- package/dist/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfiguration.js.map +1 -1
- package/dist/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfiguration.stories.js +7 -12
- package/dist/components/Map/components/EarthEngineLayerConfiguration/components/AggregationSelector.js +24 -30
- package/dist/components/Map/components/EarthEngineLayerConfiguration/components/AggregationSelector.js.map +1 -1
- package/dist/components/Map/components/EarthEngineLayerConfiguration/components/ColorConfig.js +42 -49
- package/dist/components/Map/components/EarthEngineLayerConfiguration/components/ColorConfig.js.map +1 -1
- package/dist/components/Map/components/EarthEngineLayerConfiguration/components/Name.js +16 -22
- package/dist/components/Map/components/EarthEngineLayerConfiguration/components/Name.js.map +1 -1
- package/dist/components/Map/components/EarthEngineLayerConfiguration/components/PeriodSelector.js +26 -32
- package/dist/components/Map/components/EarthEngineLayerConfiguration/components/PeriodSelector.js.map +1 -1
- package/dist/components/Map/components/EarthEngineLayerConfiguration/components/StylesConfig.js +10 -16
- package/dist/components/Map/components/EarthEngineLayerConfiguration/components/StylesConfig.js.map +1 -1
- package/dist/components/Map/components/EarthEngineLayerConfiguration/components/TypeField.js +21 -27
- package/dist/components/Map/components/EarthEngineLayerConfiguration/components/TypeField.js.map +1 -1
- package/dist/components/Map/components/EarthEngineLayerConfiguration/hooks/data.js +16 -19
- package/dist/components/Map/components/EarthEngineLayerConfiguration/hooks/data.js.map +1 -1
- package/dist/components/Map/components/EarthEngineLayerConfiguration/index.js +2 -19
- package/dist/components/Map/components/EarthEngineLayerConfiguration/index.js.map +1 -1
- package/dist/components/Map/components/MapArea/index.js +60 -54
- package/dist/components/Map/components/MapArea/index.js.map +1 -1
- package/dist/components/Map/components/MapArea/interfaces/index.js +0 -1
- package/dist/components/Map/components/MapControls/components/CustomControl/index.js +3 -5
- package/dist/components/Map/components/MapControls/components/DownloadControl/index.js +8 -14
- package/dist/components/Map/components/MapControls/components/FullscreenControl/index.js +7 -9
- package/dist/components/Map/components/MapControls/index.js +22 -17
- package/dist/components/Map/components/MapControls/index.js.map +1 -1
- package/dist/components/Map/components/MapLayer/components/BoundaryLayer/hooks/useBoundaryData.js +3 -5
- package/dist/components/Map/components/MapLayer/components/BoundaryLayer/hooks/useBoundaryData.js.map +1 -1
- package/dist/components/Map/components/MapLayer/components/BoundaryLayer/index.js +21 -31
- package/dist/components/Map/components/MapLayer/components/BoundaryLayer/index.js.map +1 -1
- package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/components/EarthEngineLegend.js +59 -34
- 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 +99 -89
- 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 +9 -14
- package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/hooks/index.js.map +1 -1
- package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/index.js +62 -69
- package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/index.js.map +1 -1
- package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/interfaces/index.js +0 -1
- package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/services/api.js +31466 -0
- package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/services/api.js.map +1 -0
- package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/services/engine.js +43 -43
- 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 +34 -31
- 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 +6 -8
- package/dist/components/Map/components/MapLayer/components/LegendArea/index.js +46 -57
- 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 +38 -30
- 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 +5 -7
- package/dist/components/Map/components/MapLayer/components/PointLayer/hooks/index.js.map +1 -1
- package/dist/components/Map/components/MapLayer/components/PointLayer/index.js +21 -28
- 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 +39 -13
- 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 +40 -32
- 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 +13 -20
- 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 +17 -23
- 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 +30 -25
- 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 +17 -20
- 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 +15 -21
- 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 +6 -8
- package/dist/components/Map/components/MapLayer/components/ThematicLayer/hooks/config.js.map +1 -1
- package/dist/components/Map/components/MapLayer/components/ThematicLayer/index.js +16 -24
- package/dist/components/Map/components/MapLayer/components/ThematicLayer/index.js.map +1 -1
- package/dist/components/Map/components/MapLayer/components/ThematicLayer/styles/legends.css +56 -0
- package/dist/components/Map/components/MapLayer/components/ThematicLayer/styles/legends.css.map +1 -0
- package/dist/components/Map/components/MapLayer/index.js +10 -18
- package/dist/components/Map/components/MapLayer/index.js.map +1 -1
- package/dist/components/Map/components/MapLayer/interfaces/index.js +7 -4
- package/dist/components/Map/components/MapLayer/interfaces/index.js.map +1 -1
- package/dist/components/Map/components/MapProvider/components/MapLayerProvider/hooks/index.js +59 -63
- package/dist/components/Map/components/MapProvider/components/MapLayerProvider/hooks/index.js.map +1 -1
- package/dist/components/Map/components/MapProvider/components/MapLayerProvider/index.js +30 -36
- package/dist/components/Map/components/MapProvider/components/MapLayerProvider/index.js.map +1 -1
- package/dist/components/Map/components/MapProvider/hooks/index.js +6 -10
- package/dist/components/Map/components/MapProvider/hooks/index.js.map +1 -1
- package/dist/components/Map/components/MapProvider/index.js +25 -31
- package/dist/components/Map/components/MapProvider/index.js.map +1 -1
- package/dist/components/Map/components/MapUpdater/index.js +5 -7
- package/dist/components/Map/components/MapUpdater/index.js.map +1 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfigModal.js +15 -21
- package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfigModal.js.map +1 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfigModal.stories.js +5 -10
- package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfiguration.js +53 -60
- package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfiguration.js.map +1 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfiguration.stories.js +7 -12
- package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/components/ColorScale/index.js +21 -15
- 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 -4
- package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/index.js +22 -30
- package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/index.js.map +1 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/utils/colors.js +18 -21
- package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/utils/colors.js.map +1 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/components/CustomLegend/index.js +23 -30
- package/dist/components/Map/components/ThematicLayerConfiguration/components/CustomLegend/index.js.map +1 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/components/IndicatorSelectorModal/index.js +16 -22
- package/dist/components/Map/components/ThematicLayerConfiguration/components/LegendSetSelector/index.js +16 -22
- package/dist/components/Map/components/ThematicLayerConfiguration/components/RadiusField.js +16 -22
- package/dist/components/Map/components/ThematicLayerConfiguration/components/TypeField.js +18 -24
- package/dist/components/Map/components/ThematicLayerConfiguration/index.js +3 -26
- package/dist/components/Map/components/ThematicLayerConfiguration/index.js.map +1 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/types/index.js +0 -1
- package/dist/components/Map/constants/colors.js +1 -4
- package/dist/components/Map/constants/legendSet.js +1 -3
- package/dist/components/Map/hooks/map.js +17 -21
- package/dist/components/Map/hooks/map.js.map +1 -1
- package/dist/components/Map/index.js +5 -40
- package/dist/components/Map/index.js.map +1 -1
- package/dist/components/Map/interfaces/index.js +0 -1
- package/dist/components/Map/state/index.js +5 -9
- package/dist/components/Map/state/index.js.map +1 -1
- package/dist/components/Map/utils/colors.js +18 -22
- package/dist/components/Map/utils/colors.js.map +1 -1
- package/dist/components/Map/utils/helpers.js +3 -11
- package/dist/components/Map/utils/map.js +25 -24
- package/dist/components/Map/utils/map.js.map +1 -1
- package/dist/components/SingleValueContainer/SingleValueContainer.stories.js +3 -11
- package/dist/components/SingleValueContainer/SingleValueVisualizer.js +17 -35
- package/dist/components/SingleValueContainer/SingleValueVisualizer.js.map +1 -1
- package/dist/components/SingleValueContainer/components/SingleValueItem/SingleValueItem.js +14 -21
- package/dist/components/SingleValueContainer/components/SingleValueItem/SingleValueItem.js.map +1 -1
- package/dist/components/SingleValueContainer/components/SingleValueItem/SingleValuePercentage.js +7 -13
- package/dist/components/SingleValueContainer/index.js +3 -19
- package/dist/components/SingleValueContainer/index.js.map +1 -1
- package/dist/components/SingleValueContainer/types/props.js +0 -1
- package/dist/components/Visualization/components/AnalyticsDataProvider/index.js +50 -26
- package/dist/components/Visualization/components/AnalyticsDataProvider/index.js.map +1 -1
- package/dist/components/Visualization/components/DimensionsProvider/index.js +13 -18
- package/dist/components/Visualization/components/LayoutProvider/index.js +11 -14
- package/dist/components/Visualization/components/LayoutProvider/index.js.map +1 -1
- package/dist/components/Visualization/components/VisualizationDimensionSelector/index.js +30 -36
- package/dist/components/Visualization/components/VisualizationDimensionSelector/index.js.map +1 -1
- package/dist/components/Visualization/components/VisualizationProvider/index.js +14 -10
- package/dist/components/Visualization/components/VisualizationProvider/index.js.map +1 -1
- package/dist/components/Visualization/components/VisualizationSelector/index.js +46 -57
- package/dist/components/Visualization/components/VisualizationSelector/index.js.map +1 -1
- package/dist/components/Visualization/components/VisualizationTypeProvider/index.js +16 -19
- package/dist/components/Visualization/components/VisualizationTypeProvider/index.js.map +1 -1
- package/dist/components/Visualization/components/VisualizationTypeSelector/index.js +37 -27
- package/dist/components/Visualization/components/VisualizationTypeSelector/index.js.map +1 -1
- package/dist/components/Visualization/index.js +27 -33
- package/dist/components/Visualization/index.js.map +1 -1
- package/dist/index.js +6 -47
- package/dist/index.js.map +1 -1
- package/dist/types/components/ChartAnalytics/DHIS2Chart.d.ts +4 -4
- package/dist/types/components/ChartAnalytics/DHIS2Chart.d.ts.map +1 -1
- package/dist/types/components/ChartAnalytics/components/DownloadMenu/components/Menu.d.ts +2 -2
- package/dist/types/components/ChartAnalytics/components/DownloadMenu/components/Menu.d.ts.map +1 -1
- package/dist/types/components/ChartAnalytics/components/DownloadMenu/index.d.ts +2 -2
- package/dist/types/components/ChartAnalytics/components/DownloadMenu/index.d.ts.map +1 -1
- package/dist/types/components/ChartAnalytics/hooks/useChart.d.ts +1 -1
- package/dist/types/components/ChartAnalytics/hooks/useChart.d.ts.map +1 -1
- package/dist/types/components/ChartAnalytics/index.d.ts +1 -1
- package/dist/types/components/ChartAnalytics/index.d.ts.map +1 -1
- package/dist/types/components/ChartAnalytics/models/bar.d.ts +1 -1
- package/dist/types/components/ChartAnalytics/models/bar.d.ts.map +1 -1
- package/dist/types/components/ChartAnalytics/models/column.d.ts +1 -1
- package/dist/types/components/ChartAnalytics/models/column.d.ts.map +1 -1
- package/dist/types/components/ChartAnalytics/models/index.d.ts +1 -1
- package/dist/types/components/ChartAnalytics/models/index.d.ts.map +1 -1
- package/dist/types/components/ChartAnalytics/models/line.d.ts +1 -1
- package/dist/types/components/ChartAnalytics/models/line.d.ts.map +1 -1
- package/dist/types/components/ChartAnalytics/models/multi-series.d.ts +1 -1
- package/dist/types/components/ChartAnalytics/models/multi-series.d.ts.map +1 -1
- package/dist/types/components/ChartAnalytics/models/pie.d.ts +1 -1
- package/dist/types/components/ChartAnalytics/models/pie.d.ts.map +1 -1
- package/dist/types/components/ChartAnalytics/services/export.d.ts.map +1 -1
- package/dist/types/components/ChartAnalytics/utils/chart.d.ts +2 -2
- package/dist/types/components/ChartAnalytics/utils/chart.d.ts.map +1 -1
- package/dist/types/components/CircularProgressDashboard/CircularProgressIndicator.d.ts +2 -2
- package/dist/types/components/CircularProgressDashboard/CircularProgressIndicator.d.ts.map +1 -1
- package/dist/types/components/CircularProgressDashboard/index.d.ts +2 -2
- package/dist/types/components/CircularProgressDashboard/index.d.ts.map +1 -1
- package/dist/types/components/DHIS2PivotTable/DHIS2PivotTable.d.ts +2 -2
- package/dist/types/components/DHIS2PivotTable/DHIS2PivotTable.d.ts.map +1 -1
- package/dist/types/components/DHIS2PivotTable/components/TableHeaders/index.d.ts +1 -1
- package/dist/types/components/DHIS2PivotTable/components/TableHeaders/index.d.ts.map +1 -1
- package/dist/types/components/DHIS2PivotTable/index.d.ts +2 -2
- package/dist/types/components/DHIS2PivotTable/index.d.ts.map +1 -1
- package/dist/types/components/DHIS2PivotTable/services/engine.d.ts +1 -1
- package/dist/types/components/DHIS2PivotTable/services/engine.d.ts.map +1 -1
- package/dist/types/components/DHIS2PivotTable/state/engine.d.ts +2 -2
- package/dist/types/components/DHIS2PivotTable/state/engine.d.ts.map +1 -1
- package/dist/types/components/Map/DHIS2Map.d.ts +1 -1
- package/dist/types/components/Map/DHIS2Map.d.ts.map +1 -1
- package/dist/types/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfigModal.d.ts +2 -2
- package/dist/types/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfigModal.d.ts.map +1 -1
- package/dist/types/components/Map/components/EarthEngineLayerConfiguration/components/AggregationSelector.d.ts +1 -1
- package/dist/types/components/Map/components/EarthEngineLayerConfiguration/components/AggregationSelector.d.ts.map +1 -1
- package/dist/types/components/Map/components/EarthEngineLayerConfiguration/components/ColorConfig.d.ts +1 -1
- package/dist/types/components/Map/components/EarthEngineLayerConfiguration/components/ColorConfig.d.ts.map +1 -1
- package/dist/types/components/Map/components/EarthEngineLayerConfiguration/components/Name.d.ts +1 -1
- package/dist/types/components/Map/components/EarthEngineLayerConfiguration/components/Name.d.ts.map +1 -1
- package/dist/types/components/Map/components/EarthEngineLayerConfiguration/components/PeriodSelector.d.ts +1 -1
- package/dist/types/components/Map/components/EarthEngineLayerConfiguration/components/PeriodSelector.d.ts.map +1 -1
- package/dist/types/components/Map/components/EarthEngineLayerConfiguration/components/StylesConfig.d.ts +1 -1
- package/dist/types/components/Map/components/EarthEngineLayerConfiguration/components/StylesConfig.d.ts.map +1 -1
- package/dist/types/components/Map/components/EarthEngineLayerConfiguration/components/TypeField.d.ts +1 -1
- package/dist/types/components/Map/components/EarthEngineLayerConfiguration/components/TypeField.d.ts.map +1 -1
- package/dist/types/components/Map/components/EarthEngineLayerConfiguration/hooks/data.d.ts +1 -1
- package/dist/types/components/Map/components/EarthEngineLayerConfiguration/hooks/data.d.ts.map +1 -1
- package/dist/types/components/Map/components/EarthEngineLayerConfiguration/index.d.ts +2 -2
- package/dist/types/components/Map/components/EarthEngineLayerConfiguration/index.d.ts.map +1 -1
- package/dist/types/components/Map/components/MapArea/index.d.ts +1 -1
- package/dist/types/components/Map/components/MapArea/index.d.ts.map +1 -1
- package/dist/types/components/Map/components/MapControls/index.d.ts +2 -2
- package/dist/types/components/Map/components/MapControls/index.d.ts.map +1 -1
- package/dist/types/components/Map/components/MapLayer/components/BoundaryLayer/hooks/useBoundaryData.d.ts +1 -1
- package/dist/types/components/Map/components/MapLayer/components/BoundaryLayer/hooks/useBoundaryData.d.ts.map +1 -1
- package/dist/types/components/Map/components/MapLayer/components/BoundaryLayer/index.d.ts +2 -2
- package/dist/types/components/Map/components/MapLayer/components/BoundaryLayer/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/constants/index.d.ts +1 -1
- package/dist/types/components/Map/components/MapLayer/components/GoogleEngineLayer/constants/index.d.ts.map +1 -1
- package/dist/types/components/Map/components/MapLayer/components/GoogleEngineLayer/hooks/index.d.ts +2 -2
- 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/index.d.ts +1 -1
- package/dist/types/components/Map/components/MapLayer/components/GoogleEngineLayer/index.d.ts.map +1 -1
- package/dist/types/components/Map/components/MapLayer/components/GoogleEngineLayer/interfaces/index.d.ts +1 -1
- package/dist/types/components/Map/components/MapLayer/components/GoogleEngineLayer/interfaces/index.d.ts.map +1 -1
- package/dist/types/components/Map/components/MapLayer/components/GoogleEngineLayer/services/engine.d.ts +2 -2
- package/dist/types/components/Map/components/MapLayer/components/GoogleEngineLayer/services/engine.d.ts.map +1 -1
- package/dist/types/components/Map/components/MapLayer/components/GoogleEngineLayer/utils/index.d.ts +2 -2
- package/dist/types/components/Map/components/MapLayer/components/GoogleEngineLayer/utils/index.d.ts.map +1 -1
- package/dist/types/components/Map/components/MapLayer/components/LegendArea/index.d.ts +3 -3
- package/dist/types/components/Map/components/MapLayer/components/LegendArea/index.d.ts.map +1 -1
- package/dist/types/components/Map/components/MapLayer/components/PointLayer/components/PointLegend/index.d.ts.map +1 -1
- package/dist/types/components/Map/components/MapLayer/components/PointLayer/hooks/index.d.ts +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/PointLayer/index.d.ts +1 -1
- package/dist/types/components/Map/components/MapLayer/components/PointLayer/index.d.ts.map +1 -1
- package/dist/types/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubble.d.ts +1 -1
- package/dist/types/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubble.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 +1 -1
- 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/Bubble/index.d.ts +2 -2
- package/dist/types/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/index.d.ts.map +1 -1
- package/dist/types/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.d.ts +1 -1
- package/dist/types/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.d.ts.map +1 -1
- package/dist/types/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/index.d.ts +4 -4
- package/dist/types/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/index.d.ts.map +1 -1
- package/dist/types/components/Map/components/MapLayer/components/ThematicLayer/components/CustomTooltip/index.d.ts +2 -2
- package/dist/types/components/Map/components/MapLayer/components/ThematicLayer/components/CustomTooltip/index.d.ts.map +1 -1
- package/dist/types/components/Map/components/MapLayer/components/ThematicLayer/hooks/config.d.ts +1 -1
- package/dist/types/components/Map/components/MapLayer/components/ThematicLayer/hooks/config.d.ts.map +1 -1
- package/dist/types/components/Map/components/MapLayer/components/ThematicLayer/index.d.ts +1 -1
- package/dist/types/components/Map/components/MapLayer/components/ThematicLayer/index.d.ts.map +1 -1
- package/dist/types/components/Map/components/MapLayer/index.d.ts +2 -2
- package/dist/types/components/Map/components/MapLayer/index.d.ts.map +1 -1
- package/dist/types/components/Map/components/MapLayer/interfaces/index.d.ts +4 -4
- package/dist/types/components/Map/components/MapLayer/interfaces/index.d.ts.map +1 -1
- package/dist/types/components/Map/components/MapProvider/components/MapLayerProvider/index.d.ts +2 -2
- package/dist/types/components/Map/components/MapProvider/components/MapLayerProvider/index.d.ts.map +1 -1
- package/dist/types/components/Map/components/MapProvider/hooks/index.d.ts +3 -3
- package/dist/types/components/Map/components/MapProvider/index.d.ts +2 -2
- package/dist/types/components/Map/components/MapProvider/index.d.ts.map +1 -1
- package/dist/types/components/Map/components/MapUpdater/index.d.ts +1 -1
- package/dist/types/components/Map/components/MapUpdater/index.d.ts.map +1 -1
- package/dist/types/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfiguration.d.ts +2 -2
- package/dist/types/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfiguration.d.ts.map +1 -1
- package/dist/types/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/components/ColorScale/index.d.ts +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/components/ThematicLayerConfiguration/components/ColorScaleSelect/utils/colors.d.ts +1 -1
- package/dist/types/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/utils/colors.d.ts.map +1 -1
- package/dist/types/components/Map/components/ThematicLayerConfiguration/components/CustomLegend/index.d.ts +1 -1
- package/dist/types/components/Map/components/ThematicLayerConfiguration/components/CustomLegend/index.d.ts.map +1 -1
- package/dist/types/components/Map/components/ThematicLayerConfiguration/index.d.ts +3 -3
- package/dist/types/components/Map/components/ThematicLayerConfiguration/index.d.ts.map +1 -1
- package/dist/types/components/Map/hooks/map.d.ts.map +1 -1
- package/dist/types/components/Map/index.d.ts +5 -5
- package/dist/types/components/Map/index.d.ts.map +1 -1
- package/dist/types/components/Map/interfaces/index.d.ts +2 -2
- package/dist/types/components/Map/interfaces/index.d.ts.map +1 -1
- package/dist/types/components/Map/state/index.d.ts +2 -2
- package/dist/types/components/Map/state/index.d.ts.map +1 -1
- package/dist/types/components/Map/utils/colors.d.ts +1 -1
- package/dist/types/components/Map/utils/colors.d.ts.map +1 -1
- package/dist/types/components/Map/utils/map.d.ts.map +1 -1
- package/dist/types/components/SingleValueContainer/SingleValueVisualizer.d.ts +3 -3
- package/dist/types/components/SingleValueContainer/SingleValueVisualizer.d.ts.map +1 -1
- package/dist/types/components/SingleValueContainer/components/SingleValueItem/SingleValueItem.d.ts +1 -1
- package/dist/types/components/SingleValueContainer/components/SingleValueItem/SingleValueItem.d.ts.map +1 -1
- package/dist/types/components/SingleValueContainer/index.d.ts +3 -2
- package/dist/types/components/SingleValueContainer/index.d.ts.map +1 -1
- package/dist/types/components/Visualization/components/AnalyticsDataProvider/index.d.ts +1 -1
- package/dist/types/components/Visualization/components/AnalyticsDataProvider/index.d.ts.map +1 -1
- package/dist/types/components/Visualization/components/LayoutProvider/index.d.ts +2 -2
- package/dist/types/components/Visualization/components/LayoutProvider/index.d.ts.map +1 -1
- package/dist/types/components/Visualization/components/VisualizationDimensionSelector/index.d.ts +1 -1
- package/dist/types/components/Visualization/components/VisualizationDimensionSelector/index.d.ts.map +1 -1
- package/dist/types/components/Visualization/components/VisualizationProvider/index.d.ts +4 -4
- package/dist/types/components/Visualization/components/VisualizationProvider/index.d.ts.map +1 -1
- package/dist/types/components/Visualization/components/VisualizationSelector/index.d.ts +10 -10
- package/dist/types/components/Visualization/components/VisualizationSelector/index.d.ts.map +1 -1
- package/dist/types/components/Visualization/components/VisualizationTypeProvider/index.d.ts +2 -2
- package/dist/types/components/Visualization/components/VisualizationTypeProvider/index.d.ts.map +1 -1
- package/dist/types/components/Visualization/components/VisualizationTypeSelector/index.d.ts +1 -1
- package/dist/types/components/Visualization/components/VisualizationTypeSelector/index.d.ts.map +1 -1
- package/dist/types/components/Visualization/index.d.ts +6 -6
- package/dist/types/components/Visualization/index.d.ts.map +1 -1
- package/dist/types/index.d.ts +6 -6
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +5 -4
- package/dist/components/ChartAnalytics/ChartAnalytics.stories.mjs +0 -254
- package/dist/components/ChartAnalytics/ChartAnalytics.stories.mjs.map +0 -1
- package/dist/components/ChartAnalytics/DHIS2Chart.mjs +0 -36
- package/dist/components/ChartAnalytics/DHIS2Chart.mjs.map +0 -1
- package/dist/components/ChartAnalytics/components/DownloadMenu/components/Menu.mjs +0 -52
- package/dist/components/ChartAnalytics/components/DownloadMenu/components/Menu.mjs.map +0 -1
- package/dist/components/ChartAnalytics/components/DownloadMenu/constants/menu.mjs +0 -42
- package/dist/components/ChartAnalytics/components/DownloadMenu/constants/menu.mjs.map +0 -1
- package/dist/components/ChartAnalytics/components/DownloadMenu/index.mjs +0 -65
- package/dist/components/ChartAnalytics/components/DownloadMenu/index.mjs.map +0 -1
- package/dist/components/ChartAnalytics/components/DownloadMenu/interfaces/menu.mjs +0 -3
- package/dist/components/ChartAnalytics/components/DownloadMenu/interfaces/menu.mjs.map +0 -1
- package/dist/components/ChartAnalytics/hooks/useChart.mjs +0 -43
- package/dist/components/ChartAnalytics/hooks/useChart.mjs.map +0 -1
- package/dist/components/ChartAnalytics/index.mjs +0 -3
- package/dist/components/ChartAnalytics/index.mjs.map +0 -1
- package/dist/components/ChartAnalytics/models/bar.mjs +0 -21
- package/dist/components/ChartAnalytics/models/bar.mjs.map +0 -1
- package/dist/components/ChartAnalytics/models/column.mjs +0 -48
- package/dist/components/ChartAnalytics/models/column.mjs.map +0 -1
- package/dist/components/ChartAnalytics/models/index.mjs +0 -117
- package/dist/components/ChartAnalytics/models/index.mjs.map +0 -1
- package/dist/components/ChartAnalytics/models/line.mjs +0 -31
- package/dist/components/ChartAnalytics/models/line.mjs.map +0 -1
- package/dist/components/ChartAnalytics/models/multi-series.mjs +0 -99
- package/dist/components/ChartAnalytics/models/multi-series.mjs.map +0 -1
- package/dist/components/ChartAnalytics/models/pie.mjs +0 -51
- package/dist/components/ChartAnalytics/models/pie.mjs.map +0 -1
- package/dist/components/ChartAnalytics/services/export.mjs +0 -35
- package/dist/components/ChartAnalytics/services/export.mjs.map +0 -1
- package/dist/components/ChartAnalytics/types/props.mjs +0 -3
- package/dist/components/ChartAnalytics/types/props.mjs.map +0 -1
- package/dist/components/ChartAnalytics/utils/chart.mjs +0 -130
- package/dist/components/ChartAnalytics/utils/chart.mjs.map +0 -1
- package/dist/components/CircularProgressDashboard/CircularProgressIndicator.mjs +0 -66
- package/dist/components/CircularProgressDashboard/CircularProgressIndicator.mjs.map +0 -1
- package/dist/components/CircularProgressDashboard/CircularProgressIndicator.stories.mjs +0 -42
- package/dist/components/CircularProgressDashboard/CircularProgressIndicator.stories.mjs.map +0 -1
- package/dist/components/CircularProgressDashboard/index.mjs +0 -4
- package/dist/components/CircularProgressDashboard/index.mjs.map +0 -1
- package/dist/components/CircularProgressDashboard/types/props.mjs +0 -3
- package/dist/components/CircularProgressDashboard/types/props.mjs.map +0 -1
- package/dist/components/DHIS2PivotTable/DHIS2PivotTable.mjs +0 -26
- package/dist/components/DHIS2PivotTable/DHIS2PivotTable.mjs.map +0 -1
- package/dist/components/DHIS2PivotTable/DHIS2PivotTable.stories.mjs +0 -30
- package/dist/components/DHIS2PivotTable/DHIS2PivotTable.stories.mjs.map +0 -1
- package/dist/components/DHIS2PivotTable/components/Table/index.mjs +0 -10
- package/dist/components/DHIS2PivotTable/components/Table/index.mjs.map +0 -1
- package/dist/components/DHIS2PivotTable/components/TableBody/index.mjs +0 -106
- package/dist/components/DHIS2PivotTable/components/TableBody/index.mjs.map +0 -1
- package/dist/components/DHIS2PivotTable/components/TableHeaders/index.mjs +0 -94
- package/dist/components/DHIS2PivotTable/components/TableHeaders/index.mjs.map +0 -1
- package/dist/components/DHIS2PivotTable/index.mjs +0 -4
- package/dist/components/DHIS2PivotTable/index.mjs.map +0 -1
- package/dist/components/DHIS2PivotTable/interfaces/index.mjs +0 -3
- package/dist/components/DHIS2PivotTable/interfaces/index.mjs.map +0 -1
- package/dist/components/DHIS2PivotTable/services/engine.mjs +0 -93
- package/dist/components/DHIS2PivotTable/services/engine.mjs.map +0 -1
- package/dist/components/DHIS2PivotTable/state/engine.mjs +0 -17
- package/dist/components/DHIS2PivotTable/state/engine.mjs.map +0 -1
- package/dist/components/Map/DHIS2Map.mjs +0 -65
- package/dist/components/Map/DHIS2Map.mjs.map +0 -1
- package/dist/components/Map/DHIS2Map.stories.mjs +0 -366
- package/dist/components/Map/DHIS2Map.stories.mjs.map +0 -1
- package/dist/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfigModal.mjs +0 -41
- package/dist/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfigModal.mjs.map +0 -1
- package/dist/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfigModal.stories.mjs +0 -34
- package/dist/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfigModal.stories.mjs.map +0 -1
- package/dist/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfiguration.mjs +0 -26
- package/dist/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfiguration.mjs.map +0 -1
- package/dist/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfiguration.stories.mjs +0 -21
- package/dist/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfiguration.stories.mjs.map +0 -1
- package/dist/components/Map/components/EarthEngineLayerConfiguration/components/AggregationSelector.mjs +0 -67
- package/dist/components/Map/components/EarthEngineLayerConfiguration/components/AggregationSelector.mjs.map +0 -1
- package/dist/components/Map/components/EarthEngineLayerConfiguration/components/ColorConfig.mjs +0 -134
- package/dist/components/Map/components/EarthEngineLayerConfiguration/components/ColorConfig.mjs.map +0 -1
- package/dist/components/Map/components/EarthEngineLayerConfiguration/components/Name.mjs +0 -44
- package/dist/components/Map/components/EarthEngineLayerConfiguration/components/Name.mjs.map +0 -1
- package/dist/components/Map/components/EarthEngineLayerConfiguration/components/PeriodSelector.mjs +0 -67
- package/dist/components/Map/components/EarthEngineLayerConfiguration/components/PeriodSelector.mjs.map +0 -1
- package/dist/components/Map/components/EarthEngineLayerConfiguration/components/StylesConfig.mjs +0 -24
- package/dist/components/Map/components/EarthEngineLayerConfiguration/components/StylesConfig.mjs.map +0 -1
- package/dist/components/Map/components/EarthEngineLayerConfiguration/components/TypeField.mjs +0 -67
- package/dist/components/Map/components/EarthEngineLayerConfiguration/components/TypeField.mjs.map +0 -1
- package/dist/components/Map/components/EarthEngineLayerConfiguration/hooks/data.mjs +0 -45
- package/dist/components/Map/components/EarthEngineLayerConfiguration/hooks/data.mjs.map +0 -1
- package/dist/components/Map/components/EarthEngineLayerConfiguration/index.mjs +0 -4
- package/dist/components/Map/components/EarthEngineLayerConfiguration/index.mjs.map +0 -1
- package/dist/components/Map/components/MapArea/index.mjs +0 -85
- package/dist/components/Map/components/MapArea/index.mjs.map +0 -1
- package/dist/components/Map/components/MapArea/interfaces/index.mjs +0 -3
- package/dist/components/Map/components/MapArea/interfaces/index.mjs.map +0 -1
- package/dist/components/Map/components/MapControls/components/CustomControl/index.mjs +0 -16
- package/dist/components/Map/components/MapControls/components/CustomControl/index.mjs.map +0 -1
- package/dist/components/Map/components/MapControls/components/DownloadControl/index.mjs +0 -15
- package/dist/components/Map/components/MapControls/components/DownloadControl/index.mjs.map +0 -1
- package/dist/components/Map/components/MapControls/components/FullscreenControl/index.mjs +0 -13
- package/dist/components/Map/components/MapControls/components/FullscreenControl/index.mjs.map +0 -1
- package/dist/components/Map/components/MapControls/index.mjs +0 -23
- package/dist/components/Map/components/MapControls/index.mjs.map +0 -1
- package/dist/components/Map/components/MapLayer/components/BoundaryLayer/hooks/useBoundaryData.mjs +0 -10
- package/dist/components/Map/components/MapLayer/components/BoundaryLayer/hooks/useBoundaryData.mjs.map +0 -1
- package/dist/components/Map/components/MapLayer/components/BoundaryLayer/index.mjs +0 -52
- package/dist/components/Map/components/MapLayer/components/BoundaryLayer/index.mjs.map +0 -1
- package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/components/EarthEngineLegend.mjs +0 -65
- package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/components/EarthEngineLegend.mjs.map +0 -1
- package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/constants/index.mjs +0 -439
- package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/constants/index.mjs.map +0 -1
- package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/hooks/index.mjs +0 -32
- package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/hooks/index.mjs.map +0 -1
- package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/index.mjs +0 -197
- package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/index.mjs.map +0 -1
- package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/interfaces/index.mjs +0 -3
- package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/interfaces/index.mjs.map +0 -1
- package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/services/engine.mjs +0 -359
- package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/services/engine.mjs.map +0 -1
- package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/utils/index.mjs +0 -82
- package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/utils/index.mjs.map +0 -1
- package/dist/components/Map/components/MapLayer/components/LegendArea/components/LegendCardHeader/index.mjs +0 -17
- package/dist/components/Map/components/MapLayer/components/LegendArea/components/LegendCardHeader/index.mjs.map +0 -1
- package/dist/components/Map/components/MapLayer/components/LegendArea/index.mjs +0 -179
- package/dist/components/Map/components/MapLayer/components/LegendArea/index.mjs.map +0 -1
- package/dist/components/Map/components/MapLayer/components/PointLayer/components/PointLegend/index.mjs +0 -78
- package/dist/components/Map/components/MapLayer/components/PointLayer/components/PointLegend/index.mjs.map +0 -1
- package/dist/components/Map/components/MapLayer/components/PointLayer/hooks/index.mjs +0 -11
- package/dist/components/Map/components/MapLayer/components/PointLayer/hooks/index.mjs.map +0 -1
- package/dist/components/Map/components/MapLayer/components/PointLayer/index.mjs +0 -48
- package/dist/components/Map/components/MapLayer/components/PointLayer/index.mjs.map +0 -1
- package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubble.mjs +0 -36
- package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubble.mjs.map +0 -1
- package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubbles.mjs +0 -111
- package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubbles.mjs.map +0 -1
- package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/index.mjs +0 -41
- package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/index.mjs.map +0 -1
- package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/index.mjs +0 -50
- package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/index.mjs.map +0 -1
- package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.mjs +0 -42
- package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.mjs.map +0 -1
- package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/index.mjs +0 -37
- package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/index.mjs.map +0 -1
- package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/CustomTooltip/index.mjs +0 -40
- package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/CustomTooltip/index.mjs.map +0 -1
- package/dist/components/Map/components/MapLayer/components/ThematicLayer/hooks/config.mjs +0 -12
- package/dist/components/Map/components/MapLayer/components/ThematicLayer/hooks/config.mjs.map +0 -1
- package/dist/components/Map/components/MapLayer/components/ThematicLayer/index.mjs +0 -55
- package/dist/components/Map/components/MapLayer/components/ThematicLayer/index.mjs.map +0 -1
- package/dist/components/Map/components/MapLayer/index.mjs +0 -32
- package/dist/components/Map/components/MapLayer/index.mjs.map +0 -1
- package/dist/components/Map/components/MapLayer/interfaces/index.mjs +0 -5
- package/dist/components/Map/components/MapLayer/interfaces/index.mjs.map +0 -1
- package/dist/components/Map/components/MapProvider/components/MapLayerProvider/hooks/index.mjs +0 -405
- package/dist/components/Map/components/MapProvider/components/MapLayerProvider/hooks/index.mjs.map +0 -1
- package/dist/components/Map/components/MapProvider/components/MapLayerProvider/index.mjs +0 -115
- package/dist/components/Map/components/MapProvider/components/MapLayerProvider/index.mjs.map +0 -1
- package/dist/components/Map/components/MapProvider/hooks/index.mjs +0 -16
- package/dist/components/Map/components/MapProvider/hooks/index.mjs.map +0 -1
- package/dist/components/Map/components/MapProvider/index.mjs +0 -95
- package/dist/components/Map/components/MapProvider/index.mjs.map +0 -1
- package/dist/components/Map/components/MapUpdater/index.mjs +0 -11
- package/dist/components/Map/components/MapUpdater/index.mjs.map +0 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfigModal.mjs +0 -41
- package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfigModal.mjs.map +0 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfigModal.stories.mjs +0 -24
- package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfigModal.stories.mjs.map +0 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfiguration.mjs +0 -174
- package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfiguration.mjs.map +0 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfiguration.stories.mjs +0 -21
- package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfiguration.stories.mjs.map +0 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/components/ColorScale/index.mjs +0 -24
- package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/components/ColorScale/index.mjs.map +0 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/constants/colors.mjs +0 -436
- package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/constants/colors.mjs.map +0 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/index.mjs +0 -71
- package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/index.mjs.map +0 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/utils/colors.mjs +0 -74
- package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/utils/colors.mjs.map +0 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/components/CustomLegend/index.mjs +0 -57
- package/dist/components/Map/components/ThematicLayerConfiguration/components/CustomLegend/index.mjs.map +0 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/components/IndicatorSelectorModal/index.mjs +0 -44
- package/dist/components/Map/components/ThematicLayerConfiguration/components/IndicatorSelectorModal/index.mjs.map +0 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/components/LegendSetSelector/index.mjs +0 -60
- package/dist/components/Map/components/ThematicLayerConfiguration/components/LegendSetSelector/index.mjs.map +0 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/components/RadiusField.mjs +0 -54
- package/dist/components/Map/components/ThematicLayerConfiguration/components/RadiusField.mjs.map +0 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/components/TypeField.mjs +0 -63
- package/dist/components/Map/components/ThematicLayerConfiguration/components/TypeField.mjs.map +0 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/index.mjs +0 -5
- package/dist/components/Map/components/ThematicLayerConfiguration/index.mjs.map +0 -1
- package/dist/components/Map/components/ThematicLayerConfiguration/types/index.mjs +0 -3
- package/dist/components/Map/components/ThematicLayerConfiguration/types/index.mjs.map +0 -1
- package/dist/components/Map/constants/colors.mjs +0 -436
- package/dist/components/Map/constants/colors.mjs.map +0 -1
- package/dist/components/Map/constants/legendSet.mjs +0 -23
- package/dist/components/Map/constants/legendSet.mjs.map +0 -1
- package/dist/components/Map/hooks/map.mjs +0 -44
- package/dist/components/Map/hooks/map.mjs.map +0 -1
- package/dist/components/Map/index.mjs +0 -7
- package/dist/components/Map/index.mjs.map +0 -1
- package/dist/components/Map/interfaces/index.mjs +0 -3
- package/dist/components/Map/interfaces/index.mjs.map +0 -1
- package/dist/components/Map/state/index.mjs +0 -18
- package/dist/components/Map/state/index.mjs.map +0 -1
- package/dist/components/Map/utils/colors.mjs +0 -77
- package/dist/components/Map/utils/colors.mjs.map +0 -1
- package/dist/components/Map/utils/helpers.mjs +0 -18
- package/dist/components/Map/utils/helpers.mjs.map +0 -1
- package/dist/components/Map/utils/map.mjs +0 -127
- package/dist/components/Map/utils/map.mjs.map +0 -1
- package/dist/components/SingleValueContainer/SingleValueContainer.stories.mjs +0 -145
- package/dist/components/SingleValueContainer/SingleValueContainer.stories.mjs.map +0 -1
- package/dist/components/SingleValueContainer/SingleValueVisualizer.mjs +0 -44
- package/dist/components/SingleValueContainer/SingleValueVisualizer.mjs.map +0 -1
- package/dist/components/SingleValueContainer/components/SingleValueItem/SingleValueItem.mjs +0 -49
- package/dist/components/SingleValueContainer/components/SingleValueItem/SingleValueItem.mjs.map +0 -1
- package/dist/components/SingleValueContainer/components/SingleValueItem/SingleValuePercentage.mjs +0 -22
- package/dist/components/SingleValueContainer/components/SingleValueItem/SingleValuePercentage.mjs.map +0 -1
- package/dist/components/SingleValueContainer/index.mjs +0 -4
- package/dist/components/SingleValueContainer/index.mjs.map +0 -1
- package/dist/components/SingleValueContainer/types/props.mjs +0 -3
- package/dist/components/SingleValueContainer/types/props.mjs.map +0 -1
- package/dist/components/Visualization/components/AnalyticsDataProvider/index.mjs +0 -67
- package/dist/components/Visualization/components/AnalyticsDataProvider/index.mjs.map +0 -1
- package/dist/components/Visualization/components/DimensionsProvider/index.mjs +0 -35
- package/dist/components/Visualization/components/DimensionsProvider/index.mjs.map +0 -1
- package/dist/components/Visualization/components/LayoutProvider/index.mjs +0 -17
- package/dist/components/Visualization/components/LayoutProvider/index.mjs.map +0 -1
- package/dist/components/Visualization/components/VisualizationDimensionSelector/index.mjs +0 -85
- package/dist/components/Visualization/components/VisualizationDimensionSelector/index.mjs.map +0 -1
- package/dist/components/Visualization/components/VisualizationProvider/index.mjs +0 -13
- package/dist/components/Visualization/components/VisualizationProvider/index.mjs.map +0 -1
- package/dist/components/Visualization/components/VisualizationSelector/index.mjs +0 -167
- package/dist/components/Visualization/components/VisualizationSelector/index.mjs.map +0 -1
- package/dist/components/Visualization/components/VisualizationTypeProvider/index.mjs +0 -23
- package/dist/components/Visualization/components/VisualizationTypeProvider/index.mjs.map +0 -1
- package/dist/components/Visualization/components/VisualizationTypeSelector/index.mjs +0 -39
- package/dist/components/Visualization/components/VisualizationTypeSelector/index.mjs.map +0 -1
- package/dist/components/Visualization/index.mjs +0 -113
- package/dist/components/Visualization/index.mjs.map +0 -1
- package/dist/index.mjs +0 -8
- package/dist/index.mjs.map +0 -1
package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/services/engine.js
CHANGED
|
@@ -1,29 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
import { getInfo, getScale, getFeatureCollectionProperties, getHistogramStatistics, hasClasses, combineReducers } from '../utils/index.js';
|
|
2
|
+
import { head, isEmpty, find } from 'lodash';
|
|
3
|
+
import * as EE from './api.js';
|
|
2
4
|
|
|
3
|
-
|
|
4
|
-
var lodash = require('lodash');
|
|
5
|
-
var EE = require('./api');
|
|
6
|
-
|
|
7
|
-
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
8
|
-
|
|
9
|
-
var EE__default = /*#__PURE__*/_interopDefault(EE);
|
|
10
|
-
|
|
11
|
-
const ee = EE__default.default;
|
|
5
|
+
const ee = EE;
|
|
12
6
|
window.ee = ee;
|
|
13
7
|
const FEATURE_STYLE = { color: "FFA500", strokeWidth: 2 };
|
|
14
8
|
const DEFAULT_TILE_SCALE = 1;
|
|
15
9
|
class EarthEngine {
|
|
16
|
-
token;
|
|
17
|
-
options;
|
|
18
|
-
refresh;
|
|
19
|
-
orgUnits;
|
|
20
|
-
initialized = false;
|
|
21
|
-
period;
|
|
22
|
-
instance;
|
|
23
|
-
scale;
|
|
24
|
-
image;
|
|
25
|
-
aggregationData;
|
|
26
10
|
constructor({ options }) {
|
|
11
|
+
this.initialized = false;
|
|
27
12
|
this.options = options;
|
|
28
13
|
this.initialized = true;
|
|
29
14
|
this.getInstance();
|
|
@@ -90,7 +75,7 @@ class EarthEngine {
|
|
|
90
75
|
}
|
|
91
76
|
const imageCollection = this.instance.distinct("system:time_start").sort("system:time_start", false);
|
|
92
77
|
const featureCollection = ee.FeatureCollection(imageCollection).select(["system:time_start", "system:time_end"], null, false);
|
|
93
|
-
return
|
|
78
|
+
return getInfo(featureCollection);
|
|
94
79
|
}
|
|
95
80
|
async info() {
|
|
96
81
|
return new Promise((resolve) => {
|
|
@@ -102,10 +87,10 @@ class EarthEngine {
|
|
|
102
87
|
const { type } = this.options;
|
|
103
88
|
switch (type) {
|
|
104
89
|
case "ImageCollection":
|
|
105
|
-
this.scale = await
|
|
90
|
+
this.scale = await getScale(this.instance.first());
|
|
106
91
|
break;
|
|
107
92
|
default:
|
|
108
|
-
this.scale = await
|
|
93
|
+
this.scale = await getScale(this.getImage());
|
|
109
94
|
}
|
|
110
95
|
} catch (e) {
|
|
111
96
|
}
|
|
@@ -119,20 +104,20 @@ class EarthEngine {
|
|
|
119
104
|
const count = dataset.filterBounds(feature.geometry()).size();
|
|
120
105
|
return feature.set("count", count);
|
|
121
106
|
}).select(["count"], null, false);
|
|
122
|
-
return
|
|
107
|
+
return getInfo(aggFeatures).then(getFeatureCollectionProperties);
|
|
123
108
|
}
|
|
124
109
|
async getHistogramAggregations() {
|
|
125
110
|
try {
|
|
126
|
-
const aggregation =
|
|
111
|
+
const aggregation = head(this.options.aggregations) ?? "";
|
|
127
112
|
const reducer = ee.Reducer.frequencyHistogram();
|
|
128
113
|
const collection = this.getFeatureCollection();
|
|
129
114
|
const legend = this.options.legend?.items;
|
|
130
115
|
const scale = this.scale;
|
|
131
116
|
const tileScale = this.options.tileScale ?? DEFAULT_TILE_SCALE;
|
|
132
|
-
const scaleValue = await
|
|
117
|
+
const scaleValue = await getInfo(scale);
|
|
133
118
|
const image = this.getImage();
|
|
134
119
|
const features = Object.values(
|
|
135
|
-
await
|
|
120
|
+
await getInfo(
|
|
136
121
|
image.reduceRegions({
|
|
137
122
|
collection,
|
|
138
123
|
reducer,
|
|
@@ -140,7 +125,7 @@ class EarthEngine {
|
|
|
140
125
|
tileScale
|
|
141
126
|
}).select(["histogram"], null, false)
|
|
142
127
|
).then(
|
|
143
|
-
(data) =>
|
|
128
|
+
(data) => getHistogramStatistics({
|
|
144
129
|
data,
|
|
145
130
|
scale: scaleValue,
|
|
146
131
|
aggregationType: aggregation,
|
|
@@ -170,11 +155,11 @@ class EarthEngine {
|
|
|
170
155
|
const aggregations = this.options.aggregations;
|
|
171
156
|
if (!aggregations)
|
|
172
157
|
return;
|
|
173
|
-
if (
|
|
158
|
+
if (hasClasses(head(aggregations) ?? "")) {
|
|
174
159
|
this.aggregationData = await this.getHistogramAggregations();
|
|
175
160
|
return;
|
|
176
161
|
}
|
|
177
|
-
const reducer =
|
|
162
|
+
const reducer = combineReducers(ee)(aggregations);
|
|
178
163
|
const collection = this.getFeatureCollection();
|
|
179
164
|
const image = this.getImage();
|
|
180
165
|
const scale = this.scale;
|
|
@@ -185,21 +170,28 @@ class EarthEngine {
|
|
|
185
170
|
scale,
|
|
186
171
|
tileScale
|
|
187
172
|
}).select(aggregations, null, false);
|
|
188
|
-
const features = Object.values(
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
173
|
+
const features = Object.values(
|
|
174
|
+
getFeatureCollectionProperties(await getInfo(aggregatedFeatures))
|
|
175
|
+
);
|
|
176
|
+
if (!isEmpty(features) && features.length === this.orgUnits?.length) {
|
|
177
|
+
this.aggregationData = features.map(
|
|
178
|
+
(feature, index) => {
|
|
179
|
+
return {
|
|
180
|
+
orgUnit: this.orgUnits?.[index],
|
|
181
|
+
data: feature
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
);
|
|
196
185
|
}
|
|
197
186
|
}
|
|
198
187
|
getAggregation(orgUnit) {
|
|
199
|
-
if (
|
|
188
|
+
if (isEmpty(this.aggregationData)) {
|
|
200
189
|
return;
|
|
201
190
|
}
|
|
202
|
-
return
|
|
191
|
+
return find(
|
|
192
|
+
this.aggregationData,
|
|
193
|
+
(aggregation) => aggregation.orgUnit.id === orgUnit.id
|
|
194
|
+
);
|
|
203
195
|
}
|
|
204
196
|
async url() {
|
|
205
197
|
if (!this.initialized)
|
|
@@ -240,12 +232,20 @@ class EarthEngine {
|
|
|
240
232
|
case "Feature":
|
|
241
233
|
return ee.Feature(geometry);
|
|
242
234
|
case "FeatureCollection":
|
|
243
|
-
return ee.FeatureCollection([
|
|
235
|
+
return ee.FeatureCollection([
|
|
236
|
+
...features.map(
|
|
237
|
+
(feature) => ee.Feature(this.getGeometryByType(feature))
|
|
238
|
+
)
|
|
239
|
+
]);
|
|
244
240
|
}
|
|
245
241
|
}
|
|
246
242
|
getFeatureCollection() {
|
|
247
243
|
if (this.orgUnits) {
|
|
248
|
-
return ee.FeatureCollection(
|
|
244
|
+
return ee.FeatureCollection(
|
|
245
|
+
this.orgUnits.map(
|
|
246
|
+
(orgUnit) => this.getFeatureByType(orgUnit.geoJSON)
|
|
247
|
+
)
|
|
248
|
+
);
|
|
249
249
|
} else {
|
|
250
250
|
throw "You need to set org units first";
|
|
251
251
|
}
|
|
@@ -360,6 +360,6 @@ class EarthEngine {
|
|
|
360
360
|
}
|
|
361
361
|
}
|
|
362
362
|
|
|
363
|
-
|
|
363
|
+
export { EarthEngine };
|
|
364
364
|
//# sourceMappingURL=out.js.map
|
|
365
365
|
//# sourceMappingURL=engine.js.map
|
package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/services/engine.js.map
CHANGED
|
@@ -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\";\nimport {\n\tEarthEngineOptions,\n\tEarthEngineToken,\n\tRefreshToken,\n} from \"../interfaces\";\nimport {\n\tcombineReducers,\n\tgetFeatureCollectionProperties,\n\tgetHistogramStatistics,\n\tgetInfo,\n\tgetScale,\n\thasClasses,\n} from \"../utils\";\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 EE from \"./api\";\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 token?: EarthEngineToken;\n options: EarthEngineOptions;\n refresh?: RefreshToken;\n orgUnits?: MapOrgUnit[];\n initialized = false;\n period?: string | string[];\n instance: any;\n scale?: any;\n image: any;\n aggregationData: any;\n\n constructor({options}: { options: EarthEngineOptions }) {\n this.options = options;\n this.initialized = true;\n this.getInstance();\n }\n\n static async setToken(token: EarthEngineToken, refresh: RefreshToken): Promise<void> {\n const tokenType = \"Bearer\";\n\n function refreshToken(authArgs: { scope: any }, callback: (props: any) => void) {\n refresh().then(({token}: { token: EarthEngineToken }) => {\n callback({\n ...token,\n token_type: tokenType ?? \"Bearer\",\n state: authArgs?.scope,\n });\n });\n }\n\n await new Promise((resolve, reject) => {\n if (ee.data.getAuthToken()) {\n ee.initialize(null, null, resolve, reject);\n }\n if (token) {\n const {access_token, client_id, expires_in} = token;\n ee.data.setAuthToken(\n client_id,\n tokenType ?? \"Bearer\",\n access_token,\n expires_in,\n null,\n () => {\n ee.initialize(null, null, resolve, reject);\n },\n false\n );\n ee.data.setAuthTokenRefresher(refreshToken);\n }\n resolve(\"Token not found\");\n });\n }\n\n setOrgUnits(orgUnits: MapOrgUnit[]): EarthEngine {\n this.orgUnits = orgUnits;\n return this;\n }\n\n setPeriod(period: string) {\n this.period = period;\n }\n\n async getValue(geoJSON: any, type: string) {\n return new Promise((resolve, reject) => {\n const point = this.getGeometryByType(geoJSON);\n const reducer = this.getReducerByType(type);\n const image = this.getImage();\n\n const reducedImage = image.reduceRegion(reducer, point, 1);\n\n reducedImage.evaluate((data: unknown, error: any) => {\n if (error) {\n reject(error);\n } else {\n resolve(data);\n }\n });\n });\n }\n\n async getPeriod() {\n const {type} = this.options;\n if (type !== \"ImageCollection\") {\n return;\n }\n\n const imageCollection = this.instance.distinct(\"system:time_start\").sort(\"system:time_start\", false);\n const featureCollection = ee.FeatureCollection(imageCollection).select([\"system:time_start\", \"system:time_end\"], null, false);\n\n return getInfo(featureCollection);\n }\n\n async info() {\n return new Promise((resolve) => {\n this.instance.getInfo(resolve);\n });\n }\n\n async getScale() {\n try {\n const {type} = this.options;\n switch (type) {\n case \"ImageCollection\":\n this.scale = await getScale(this.instance.first());\n break;\n default:\n this.scale = await getScale(this.getImage());\n }\n } catch (e) {\n }\n }\n\n async getFeatureCollectionAggregation() {\n const {datasetId} = this.options;\n const dataset = ee.FeatureCollection(datasetId);\n const collection = this.getFeatureCollection() as any;\n const aggFeatures = collection\n ?.map((feature: any) => {\n feature = ee.Feature(feature);\n const count = dataset.filterBounds(feature.geometry()).size();\n\n return feature.set(\"count\", count);\n })\n .select([\"count\"], null, false);\n\n return getInfo(aggFeatures).then(getFeatureCollectionProperties);\n }\n\n async getHistogramAggregations() {\n try {\n const aggregation = head(this.options.aggregations) ?? \"\";\n const reducer = ee.Reducer.frequencyHistogram();\n const collection = this.getFeatureCollection();\n const legend = this.options.legend?.items;\n const scale = this.scale;\n const tileScale = this.options.tileScale ?? DEFAULT_TILE_SCALE;\n const scaleValue = await getInfo(scale);\n\n const image = this.getImage();\n const features = Object.values(\n await getInfo(\n image\n .reduceRegions({\n collection,\n reducer,\n scale,\n tileScale,\n })\n .select([\"histogram\"], null, false)\n ).then((data) =>\n getHistogramStatistics({\n data,\n scale: scaleValue,\n aggregationType: aggregation,\n legend,\n })\n )\n );\n\n return features.map((feature: any, index: number) => {\n return {\n orgUnit: this.orgUnits?.[index],\n data: feature,\n };\n });\n } catch (e: any) {\n throw Error(\"Could not get histogram\", {\n cause: e,\n });\n }\n }\n\n async getAggregations() {\n await this.getScale();\n const {type} = this.options;\n if (type === \"FeatureCollection\") {\n this.aggregationData = await this.getFeatureCollectionAggregation();\n return;\n }\n const aggregations = this.options.aggregations;\n if (!aggregations) return;\n\n if (hasClasses(head(aggregations) ?? \"\")) {\n this.aggregationData = await this.getHistogramAggregations();\n return;\n }\n\n const reducer = combineReducers(ee)(aggregations);\n const collection = this.getFeatureCollection();\n const image = this.getImage();\n const scale = this.scale;\n const tileScale = this.options.tileScale ?? DEFAULT_TILE_SCALE;\n const aggregatedFeatures = image\n .reduceRegions({\n collection,\n reducer,\n scale,\n tileScale,\n })\n .select(aggregations, null, false);\n\n const features = Object.values(getFeatureCollectionProperties(await getInfo(aggregatedFeatures))) as any[];\n if (!isEmpty(features) && features.length === this.orgUnits?.length) {\n //Mapping features to orgUnits using index.\n this.aggregationData = features.map((feature: any, index: number) => {\n return {\n orgUnit: this.orgUnits?.[index],\n data: feature,\n };\n });\n }\n }\n\n getAggregation(orgUnit: MapOrgUnit) {\n if (isEmpty(this.aggregationData)) {\n return;\n }\n return find(this.aggregationData, (aggregation) => aggregation.orgUnit.id === orgUnit.id);\n }\n\n async url(): Promise<string> {\n if (!this.initialized) throw \"You need to call init() first\";\n return this.visualize(this.getImage());\n }\n\n protected applyPeriod(imageCollection: any) {\n const period = this.period;\n if (period) {\n return imageCollection.filterDate(period);\n }\n }\n\n protected applyMask(image: any) {\n if (this.options.mask) {\n return image.updateMask(image.gt(0));\n } else {\n return image;\n }\n }\n\n protected applyBand(imageCollection: any) {\n if (this.options.selectedBands) {\n return imageCollection.select(this.options.selectedBands);\n } else {\n return imageCollection;\n }\n }\n\n protected getReducerByType(type: string) {\n return ee.Reducer[type].call();\n }\n\n protected getGeometryByType(geoJSON: any) {\n return ee.Geometry(geoJSON?.geometry);\n }\n\n protected getFeatureByType(geoJSON: any) {\n const featureType = geoJSON.type;\n const features = geoJSON.features ?? [];\n const geometry = this.getGeometryByType(geoJSON);\n switch (featureType) {\n case \"Feature\":\n return ee.Feature(geometry);\n case \"FeatureCollection\":\n return ee.FeatureCollection([...features.map((feature: any) => ee.Feature(this.getGeometryByType(feature)))]);\n }\n }\n\n protected getFeatureCollection(): unknown {\n if (this.orgUnits) {\n return ee.FeatureCollection(this.orgUnits.map((orgUnit: MapOrgUnit) => this.getFeatureByType(orgUnit.geoJSON)));\n } else {\n throw \"You need to set org units first\";\n }\n }\n\n protected getParamsFromLegend() {\n if (!this.options.legend) return;\n const legend = this.options.legend.items;\n const keys = legend.map((l) => l.id);\n const min = Math.min(...keys);\n const max = Math.max(...keys);\n const palette = legend.map((l) => l.color).join(\",\");\n return {min, max, palette};\n }\n\n protected async visualize(image: any): Promise<string> {\n const {min, max, palette} = this.getParamsFromLegend() ??\n this.options.params ?? {\n min: null,\n max: null,\n palette: null,\n };\n return (\n (await new Promise((resolve, reject) => {\n image.getMap({min, max, palette}, resolve);\n })) as any\n )?.urlFormat;\n }\n\n protected getImageCollectionInstance() {\n const {datasetId} = this.options;\n let imageCollection = ee.ImageCollection(datasetId);\n if (this.period) {\n imageCollection = this.applyPeriod(imageCollection);\n }\n imageCollection = this.applyBand(imageCollection);\n return imageCollection;\n }\n\n protected getImageFromImageCollection() {\n const {mosaic} = this.options;\n const imageCollection = this.instance;\n return mosaic\n ? imageCollection.mosaic().clipToCollection(this.getFeatureCollection())\n : ee.Image(imageCollection.first()).clipToCollection(this.getFeatureCollection());\n }\n\n protected getImageInstance() {\n const {datasetId} = this.options;\n return ee.Image(datasetId).clipToCollection(this.getFeatureCollection());\n }\n\n protected getImageFromImage() {\n return this.instance;\n }\n\n protected getFeatureInstance() {\n const {datasetId} = this.options;\n const feature = ee.Feature(datasetId);\n this.instance = feature;\n return feature;\n }\n\n protected getImageFromFeature() {\n return this.instance;\n }\n\n protected getFeatureCollectionInstance() {\n const {datasetId} = this.options;\n let featureCollection = ee.FeatureCollection(datasetId);\n if (this.period) {\n featureCollection = this.applyPeriod(featureCollection);\n }\n return featureCollection;\n }\n\n protected getImageFromFeatureCollection() {\n let featureCollection = this.instance;\n return featureCollection.draw(FEATURE_STYLE).clipToCollection(this.getFeatureCollection());\n }\n\n protected getInstance() {\n const {type} = this.options;\n switch (type) {\n case \"Feature\":\n this.instance = this.getFeatureInstance();\n break;\n case \"FeatureCollection\":\n this.instance = this.getFeatureCollectionInstance();\n break;\n case \"Image\":\n this.instance = this.getImageInstance();\n break;\n case \"ImageCollection\":\n this.instance = this.getImageCollectionInstance();\n break;\n default:\n this.instance = this.getImageFromImage();\n }\n }\n\n protected getImage(): any {\n if (this.image) {\n return this.image;\n }\n const {type} = this.options;\n let image;\n switch (type) {\n case \"Feature\":\n image = this.getImageFromFeature();\n break;\n case \"FeatureCollection\":\n image = this.getImageFromFeatureCollection();\n break;\n case \"Image\":\n image = this.getImageFromImage();\n break;\n case \"ImageCollection\":\n image = this.getImageFromImageCollection();\n break;\n default:\n image = this.getImageFromImage();\n }\n image = this.applyMask(image);\n image = this.applyBand(image);\n this.image = image;\n return image;\n }\n}\n"]}
|
|
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,5 +1,3 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
1
|
const combineReducers = (ee) => (types) => types.reduce(
|
|
4
2
|
(r, t, i) => i === 0 ? r[t]() : r.combine({
|
|
5
3
|
reducer2: ee.Reducer[t](),
|
|
@@ -56,35 +54,40 @@ const squareMetersToHectares = (value) => value / 1e4;
|
|
|
56
54
|
const squareMetersToAcres = (value) => value / 4046.8564224;
|
|
57
55
|
const classAggregation = ["percentage", "hectares", "acres"];
|
|
58
56
|
const hasClasses = (type) => classAggregation.includes(type);
|
|
59
|
-
const getHistogramStatistics = ({
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
57
|
+
const getHistogramStatistics = ({
|
|
58
|
+
data,
|
|
59
|
+
scale,
|
|
60
|
+
aggregationType,
|
|
61
|
+
legend
|
|
62
|
+
}) => data.features.reduce(
|
|
63
|
+
(obj, { id, properties }) => {
|
|
64
|
+
const { histogram } = properties;
|
|
65
|
+
const sum = Object.values(histogram).reduce(
|
|
66
|
+
(a, b) => a + b,
|
|
67
|
+
0
|
|
68
|
+
);
|
|
69
|
+
obj[id] = legend.reduce((values, { id: id2 }) => {
|
|
70
|
+
const count = histogram[id2] || 0;
|
|
71
|
+
const sqMeters = count * (scale * scale);
|
|
72
|
+
let value;
|
|
73
|
+
switch (aggregationType) {
|
|
74
|
+
case "hectares":
|
|
75
|
+
value = Math.round(squareMetersToHectares(sqMeters));
|
|
76
|
+
break;
|
|
77
|
+
case "acres":
|
|
78
|
+
value = Math.round(squareMetersToAcres(sqMeters));
|
|
79
|
+
break;
|
|
80
|
+
default:
|
|
81
|
+
value = count / sum * 100;
|
|
82
|
+
}
|
|
83
|
+
values[id2] = value;
|
|
84
|
+
return values;
|
|
85
|
+
}, {});
|
|
86
|
+
return obj;
|
|
87
|
+
},
|
|
88
|
+
{}
|
|
89
|
+
);
|
|
81
90
|
|
|
82
|
-
|
|
83
|
-
exports.getClassifiedImage = getClassifiedImage;
|
|
84
|
-
exports.getFeatureCollectionProperties = getFeatureCollectionProperties;
|
|
85
|
-
exports.getHistogramStatistics = getHistogramStatistics;
|
|
86
|
-
exports.getInfo = getInfo;
|
|
87
|
-
exports.getScale = getScale;
|
|
88
|
-
exports.hasClasses = hasClasses;
|
|
91
|
+
export { combineReducers, getClassifiedImage, getFeatureCollectionProperties, getHistogramStatistics, getInfo, getScale, hasClasses };
|
|
89
92
|
//# sourceMappingURL=out.js.map
|
|
90
93
|
//# sourceMappingURL=index.js.map
|
package/dist/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,kBAAkB,CAAC,OAAY,CAAC,UAC5C,MAAM;AAAA,EACL,CAAC,GAAQ,GAAQ,MAChB,MAAM,IACH,EAAE,CAAC,EAAE,IACL,EAAE,QAAQ;AAAA,IACV,UAAU,GAAG,QAAQ,CAAC,EAAE;AAAA,IACxB,cAAc;AAAA,EACf,CAAC;AAAA,EACJ,GAAG;AACJ;AAEM,MAAM,UAAU,CAAC,
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../src/components/Map/components/MapLayer/components/GoogleEngineLayer/utils/index.ts"],"names":["id"],"mappings":"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","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,19 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
-
var ui = require('@dhis2/ui');
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { IconLaunch16 } from '@dhis2/ui';
|
|
5
3
|
|
|
6
4
|
function LegendCardHeader({
|
|
7
5
|
title,
|
|
8
6
|
collapsible,
|
|
9
7
|
onCollapse
|
|
10
8
|
}) {
|
|
11
|
-
return /* @__PURE__ */
|
|
12
|
-
/* @__PURE__ */
|
|
13
|
-
collapsible && /* @__PURE__ */
|
|
9
|
+
return /* @__PURE__ */ jsxs("div", { className: "row w-100 space-between align-items-center", children: [
|
|
10
|
+
/* @__PURE__ */ jsx("h4", { style: { margin: 0 }, className: "legend-header", children: title }),
|
|
11
|
+
collapsible && /* @__PURE__ */ jsx("div", { onClick: onCollapse, children: /* @__PURE__ */ jsx(IconLaunch16, {}) })
|
|
14
12
|
] });
|
|
15
13
|
}
|
|
16
14
|
|
|
17
|
-
|
|
15
|
+
export { LegendCardHeader as default };
|
|
18
16
|
//# sourceMappingURL=out.js.map
|
|
19
17
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,35 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
var classes = require('./LegendArea.module.css');
|
|
14
|
-
var map = require('../../../../hooks/map');
|
|
15
|
-
|
|
16
|
-
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
17
|
-
|
|
18
|
-
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
19
|
-
var PointLegend__default = /*#__PURE__*/_interopDefault(PointLegend);
|
|
20
|
-
var BubbleLegend__default = /*#__PURE__*/_interopDefault(BubbleLegend);
|
|
21
|
-
var ChoroplethLegend__default = /*#__PURE__*/_interopDefault(ChoroplethLegend);
|
|
22
|
-
var EarthEngineLegend__default = /*#__PURE__*/_interopDefault(EarthEngineLegend);
|
|
23
|
-
var classes__default = /*#__PURE__*/_interopDefault(classes);
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import { IconLegend24, Portal, Popper, colors } from '@dhis2/ui';
|
|
3
|
+
import { compact, head } from 'lodash';
|
|
4
|
+
import React, { useState, useRef, useEffect } from 'react';
|
|
5
|
+
import { CustomControl } from '../../../MapControls/components/CustomControl/index.js';
|
|
6
|
+
import { SUPPORTED_EARTH_ENGINE_LAYERS } from '../../interfaces/index.js';
|
|
7
|
+
import PointLegend from '../PointLayer/components/PointLegend/index.js';
|
|
8
|
+
import BubbleLegend from '../ThematicLayer/components/Bubble/components/BubbleLegend/index.js';
|
|
9
|
+
import ChoroplethLegend from '../ThematicLayer/components/Choropleth/components/ChoroplethLegend.js';
|
|
10
|
+
import EarthEngineLegend from '../GoogleEngineLayer/components/EarthEngineLegend.js';
|
|
11
|
+
import classes from './LegendArea.module.css';
|
|
12
|
+
import { usePrintMedia } from '../../../../hooks/map.js';
|
|
24
13
|
|
|
25
14
|
const TOOLTIP_OFFSET = 4;
|
|
26
15
|
function getLegendComponent(layer) {
|
|
27
16
|
if (layer.type === "point") {
|
|
28
|
-
return /* @__PURE__ */
|
|
17
|
+
return /* @__PURE__ */ jsx(PointLegend, { name: layer.label });
|
|
29
18
|
}
|
|
30
|
-
if (
|
|
31
|
-
return /* @__PURE__ */
|
|
32
|
-
|
|
19
|
+
if (SUPPORTED_EARTH_ENGINE_LAYERS.includes(layer.type)) {
|
|
20
|
+
return /* @__PURE__ */ jsx(
|
|
21
|
+
EarthEngineLegend,
|
|
33
22
|
{
|
|
34
23
|
name: layer.name ?? "",
|
|
35
24
|
layer
|
|
@@ -42,8 +31,8 @@ function getLegendComponent(layer) {
|
|
|
42
31
|
}
|
|
43
32
|
switch (type) {
|
|
44
33
|
case "bubble":
|
|
45
|
-
return /* @__PURE__ */
|
|
46
|
-
|
|
34
|
+
return /* @__PURE__ */ jsx(
|
|
35
|
+
BubbleLegend,
|
|
47
36
|
{
|
|
48
37
|
radius: layer?.radius ?? {
|
|
49
38
|
min: 0,
|
|
@@ -52,17 +41,17 @@ function getLegendComponent(layer) {
|
|
|
52
41
|
legends: legends ?? [],
|
|
53
42
|
name: name ?? dataItem.displayName,
|
|
54
43
|
data,
|
|
55
|
-
dataItem:
|
|
44
|
+
dataItem: head(data)?.dataItem ?? dataItem
|
|
56
45
|
}
|
|
57
46
|
);
|
|
58
47
|
case "choropleth":
|
|
59
|
-
return /* @__PURE__ */
|
|
60
|
-
|
|
48
|
+
return /* @__PURE__ */ jsx(
|
|
49
|
+
ChoroplethLegend,
|
|
61
50
|
{
|
|
62
51
|
legends: legends ?? [],
|
|
63
52
|
name: name ?? dataItem.displayName,
|
|
64
53
|
data,
|
|
65
|
-
dataItem:
|
|
54
|
+
dataItem: head(data)?.dataItem ?? dataItem
|
|
66
55
|
}
|
|
67
56
|
);
|
|
68
57
|
}
|
|
@@ -73,10 +62,10 @@ function CollapsedLegendIcon({
|
|
|
73
62
|
}) {
|
|
74
63
|
const openDelay = 200;
|
|
75
64
|
const closeDelay = 200;
|
|
76
|
-
const [openTooltip, setOpenTooltip] =
|
|
77
|
-
const openTimerRef =
|
|
78
|
-
const closeTimerRef =
|
|
79
|
-
const ref =
|
|
65
|
+
const [openTooltip, setOpenTooltip] = useState(false);
|
|
66
|
+
const openTimerRef = useRef(null);
|
|
67
|
+
const closeTimerRef = useRef(null);
|
|
68
|
+
const ref = useRef(null);
|
|
80
69
|
const hideModifier = { name: "hide" };
|
|
81
70
|
const offsetModifier = {
|
|
82
71
|
name: "offset",
|
|
@@ -100,14 +89,14 @@ function CollapsedLegendIcon({
|
|
|
100
89
|
setOpenTooltip(false);
|
|
101
90
|
}, closeDelay);
|
|
102
91
|
};
|
|
103
|
-
|
|
92
|
+
useEffect(
|
|
104
93
|
() => () => {
|
|
105
94
|
clearTimeout(openTimerRef.current);
|
|
106
95
|
clearTimeout(closeTimerRef.current);
|
|
107
96
|
},
|
|
108
97
|
[]
|
|
109
98
|
);
|
|
110
|
-
return /* @__PURE__ */
|
|
99
|
+
return /* @__PURE__ */ jsxs(
|
|
111
100
|
"div",
|
|
112
101
|
{
|
|
113
102
|
ref,
|
|
@@ -117,24 +106,24 @@ function CollapsedLegendIcon({
|
|
|
117
106
|
style: { width: 28, height: 28 },
|
|
118
107
|
className: "legend-card collapsed",
|
|
119
108
|
children: [
|
|
120
|
-
/* @__PURE__ */
|
|
121
|
-
openTooltip && /* @__PURE__ */
|
|
122
|
-
|
|
109
|
+
/* @__PURE__ */ jsx(IconLegend24, {}),
|
|
110
|
+
openTooltip && /* @__PURE__ */ jsx(
|
|
111
|
+
Portal,
|
|
123
112
|
{
|
|
124
|
-
className:
|
|
125
|
-
children: /* @__PURE__ */
|
|
126
|
-
|
|
113
|
+
className: classes["map-tooltip"],
|
|
114
|
+
children: /* @__PURE__ */ jsx(
|
|
115
|
+
Popper,
|
|
127
116
|
{
|
|
128
|
-
className:
|
|
117
|
+
className: classes["map-tooltip"],
|
|
129
118
|
reference: ref,
|
|
130
119
|
modifiers: [offsetModifier, flipModifier, hideModifier],
|
|
131
|
-
children: /* @__PURE__ */
|
|
120
|
+
children: /* @__PURE__ */ jsx(
|
|
132
121
|
"div",
|
|
133
122
|
{
|
|
134
123
|
style: {
|
|
135
|
-
backgroundColor: `${
|
|
124
|
+
backgroundColor: `${colors.grey900}`,
|
|
136
125
|
borderRadius: 3,
|
|
137
|
-
color: `${
|
|
126
|
+
color: `${colors.white}`,
|
|
138
127
|
padding: "4px 6px"
|
|
139
128
|
},
|
|
140
129
|
"data-test": `content`,
|
|
@@ -153,29 +142,29 @@ function Legend({
|
|
|
153
142
|
children,
|
|
154
143
|
collapsible
|
|
155
144
|
}) {
|
|
156
|
-
const [collapsed, setCollapsed] =
|
|
157
|
-
const inPrintMode =
|
|
145
|
+
const [collapsed, setCollapsed] = useState(collapsible);
|
|
146
|
+
const inPrintMode = usePrintMedia();
|
|
158
147
|
const onCollapse = () => {
|
|
159
148
|
if (collapsible) {
|
|
160
149
|
setCollapsed((prevState) => !prevState);
|
|
161
150
|
}
|
|
162
151
|
};
|
|
163
|
-
const name =
|
|
152
|
+
const name = head(React.Children.toArray(children))?.props.name;
|
|
164
153
|
const shouldCollapse = collapsed && !inPrintMode;
|
|
165
|
-
return /* @__PURE__ */
|
|
154
|
+
return /* @__PURE__ */ jsx("div", { className: "w-100", children: shouldCollapse ? /* @__PURE__ */ jsx(CollapsedLegendIcon, { name, onCollapse }) : React.Children.map(
|
|
166
155
|
children,
|
|
167
|
-
(child) =>
|
|
156
|
+
(child) => React.cloneElement(child, { collapsible, onCollapse })
|
|
168
157
|
) });
|
|
169
158
|
}
|
|
170
159
|
function LegendArea({
|
|
171
160
|
layers,
|
|
172
161
|
legends: legendConfig
|
|
173
162
|
}) {
|
|
174
|
-
const legends =
|
|
163
|
+
const legends = compact(
|
|
175
164
|
layers.filter((layer) => layer.enabled).map(getLegendComponent)
|
|
176
165
|
);
|
|
177
166
|
const { position, collapsible } = legendConfig ?? {};
|
|
178
|
-
return /* @__PURE__ */
|
|
167
|
+
return /* @__PURE__ */ jsx(CustomControl, { position, children: /* @__PURE__ */ jsx("div", { className: "column gap-16 align-items-end", children: legends?.map((legend, index) => /* @__PURE__ */ jsx(
|
|
179
168
|
Legend,
|
|
180
169
|
{
|
|
181
170
|
collapsible: collapsible ?? true,
|
|
@@ -185,6 +174,6 @@ function LegendArea({
|
|
|
185
174
|
)) }) });
|
|
186
175
|
}
|
|
187
176
|
|
|
188
|
-
|
|
177
|
+
export { LegendArea as default };
|
|
189
178
|
//# sourceMappingURL=out.js.map
|
|
190
179
|
//# sourceMappingURL=index.js.map
|