@undp/data-viz 2.5.4 → 2.6.0
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/AreaChart.cjs +1 -1
- package/dist/AreaChart.cjs.map +1 -1
- package/dist/AreaChart.js +17 -16
- package/dist/AreaChart.js.map +1 -1
- package/dist/Axis-DY7jsk1Y.cjs +2 -0
- package/dist/{Axis-BTaS9oPQ.cjs.map → Axis-DY7jsk1Y.cjs.map} +1 -1
- package/dist/{Axis-CNZYWzH0.js → Axis-RRx-0Rlw.js} +9 -8
- package/dist/{Axis-CNZYWzH0.js.map → Axis-RRx-0Rlw.js.map} +1 -1
- package/dist/AxisTitle-B9F80_Z0.js +30 -0
- package/dist/AxisTitle-B9F80_Z0.js.map +1 -0
- package/dist/AxisTitle-CyFFbdNU.cjs +2 -0
- package/dist/{AxisTitle-DP_evhbe.cjs.map → AxisTitle-CyFFbdNU.cjs.map} +1 -1
- package/dist/BarGraph.cjs +1 -1
- package/dist/BarGraph.cjs.map +1 -1
- package/dist/BarGraph.js +203 -201
- package/dist/BarGraph.js.map +1 -1
- package/dist/BasicStatCard.cjs +1 -1
- package/dist/BasicStatCard.cjs.map +1 -1
- package/dist/BasicStatCard.js +15 -14
- package/dist/BasicStatCard.js.map +1 -1
- package/dist/BeeSwarmChart.cjs +1 -1
- package/dist/BeeSwarmChart.cjs.map +1 -1
- package/dist/BeeSwarmChart.js +60 -59
- package/dist/BeeSwarmChart.js.map +1 -1
- package/dist/BiVariateChoroplethMap.cjs +1 -1
- package/dist/BiVariateChoroplethMap.cjs.map +1 -1
- package/dist/BiVariateChoroplethMap.js +88 -86
- package/dist/BiVariateChoroplethMap.js.map +1 -1
- package/dist/BulletChart.cjs +1 -1
- package/dist/BulletChart.cjs.map +1 -1
- package/dist/BulletChart.js +88 -86
- package/dist/BulletChart.js.map +1 -1
- package/dist/ButterflyChart.cjs +1 -1
- package/dist/ButterflyChart.cjs.map +1 -1
- package/dist/ButterflyChart.js +100 -98
- package/dist/ButterflyChart.js.map +1 -1
- package/dist/ChoroplethMap.cjs +1 -1
- package/dist/ChoroplethMap.cjs.map +1 -1
- package/dist/ChoroplethMap.js +83 -81
- package/dist/ChoroplethMap.js.map +1 -1
- package/dist/CirclePackingGraph.cjs +1 -1
- package/dist/CirclePackingGraph.js +4 -4
- package/dist/ColorLegend.cjs +1 -1
- package/dist/ColorLegend.cjs.map +1 -1
- package/dist/ColorLegend.js +17 -16
- package/dist/ColorLegend.js.map +1 -1
- package/dist/ColorLegendWithMouseOver.cjs +1 -1
- package/dist/ColorLegendWithMouseOver.cjs.map +1 -1
- package/dist/ColorLegendWithMouseOver.js +13 -12
- package/dist/ColorLegendWithMouseOver.js.map +1 -1
- package/dist/CopyTextButton.cjs +1 -1
- package/dist/CopyTextButton.cjs.map +1 -1
- package/dist/CopyTextButton.js +37 -754
- package/dist/CopyTextButton.js.map +1 -1
- package/dist/CsvDownloadButton.cjs +4 -4
- package/dist/CsvDownloadButton.cjs.map +1 -1
- package/dist/CsvDownloadButton.js +47 -45
- package/dist/CsvDownloadButton.js.map +1 -1
- package/dist/DataCards.cjs +1 -1
- package/dist/DataCards.cjs.map +1 -1
- package/dist/DataCards.js +213 -467
- package/dist/DataCards.js.map +1 -1
- package/dist/DataTable.cjs +1 -1
- package/dist/DataTable.cjs.map +1 -1
- package/dist/DataTable.js +19 -19
- package/dist/DetailsModal-BmjtLqrZ.cjs +2 -0
- package/dist/{DetailsModal-Du8Fr1QD.cjs.map → DetailsModal-BmjtLqrZ.cjs.map} +1 -1
- package/dist/{DetailsModal-GqEbGHY2.js → DetailsModal-k-Me_U_T.js} +3 -3
- package/dist/{DetailsModal-GqEbGHY2.js.map → DetailsModal-k-Me_U_T.js.map} +1 -1
- package/dist/DifferenceLineChart.cjs +1 -1
- package/dist/DifferenceLineChart.cjs.map +1 -1
- package/dist/DifferenceLineChart.js +61 -60
- package/dist/DifferenceLineChart.js.map +1 -1
- package/dist/DonutChart.cjs +1 -1
- package/dist/DonutChart.cjs.map +1 -1
- package/dist/DonutChart.js +47 -46
- package/dist/DonutChart.js.map +1 -1
- package/dist/DotDensityMap.cjs +1 -1
- package/dist/DotDensityMap.cjs.map +1 -1
- package/dist/DotDensityMap.js +112 -110
- package/dist/DotDensityMap.js.map +1 -1
- package/dist/DualAxisLineChart.cjs +1 -1
- package/dist/DualAxisLineChart.cjs.map +1 -1
- package/dist/DualAxisLineChart.js +13 -12
- package/dist/DualAxisLineChart.js.map +1 -1
- package/dist/DumbbellChart.cjs +1 -1
- package/dist/DumbbellChart.cjs.map +1 -1
- package/dist/DumbbellChart.js +104 -102
- package/dist/DumbbellChart.js.map +1 -1
- package/dist/EmptyState-BoaUUuo6.cjs +2 -0
- package/dist/{EmptyState-CFmiFPHz.cjs.map → EmptyState-BoaUUuo6.cjs.map} +1 -1
- package/dist/{EmptyState-CaxXCkiN.js → EmptyState-prZ8OnEs.js} +4 -4
- package/dist/{EmptyState-CaxXCkiN.js.map → EmptyState-prZ8OnEs.js.map} +1 -1
- package/dist/ExcelDownloadButton.cjs +1 -1
- package/dist/ExcelDownloadButton.cjs.map +1 -1
- package/dist/ExcelDownloadButton.js +15 -13
- package/dist/ExcelDownloadButton.js.map +1 -1
- package/dist/FootNote.cjs +1 -1
- package/dist/FootNote.cjs.map +1 -1
- package/dist/FootNote.js +10 -9
- package/dist/FootNote.js.map +1 -1
- package/dist/GeoHubCompareMaps.cjs +1 -1
- package/dist/GeoHubCompareMaps.cjs.map +1 -1
- package/dist/GeoHubCompareMaps.js +14 -14
- package/dist/GeoHubMap.cjs +1 -1
- package/dist/GeoHubMap.cjs.map +1 -1
- package/dist/GeoHubMap.js +59 -59
- package/dist/GeoHubMapWithLayerSelection.cjs +1 -1
- package/dist/GeoHubMapWithLayerSelection.cjs.map +1 -1
- package/dist/GeoHubMapWithLayerSelection.js +50 -50
- package/dist/{GraphContainer-B8ZqOzKI.js → GraphContainer-DcOM2CI6.js} +28 -27
- package/dist/GraphContainer-DcOM2CI6.js.map +1 -0
- package/dist/GraphContainer-gaG9TSy4.cjs +2 -0
- package/dist/{GraphContainer-Cul9b74X.cjs.map → GraphContainer-gaG9TSy4.cjs.map} +1 -1
- package/dist/GraphDescription.cjs +1 -1
- package/dist/GraphDescription.cjs.map +1 -1
- package/dist/GraphDescription.js +14 -13
- package/dist/GraphDescription.js.map +1 -1
- package/dist/{GraphEl-Ch0uAeZw.js → GraphEl-C7KBBHvB.js} +9 -9
- package/dist/{GraphEl-Ch0uAeZw.js.map → GraphEl-C7KBBHvB.js.map} +1 -1
- package/dist/GraphEl-CGALp07K.cjs +2 -0
- package/dist/{GraphEl-BgkDbq50.cjs.map → GraphEl-CGALp07K.cjs.map} +1 -1
- package/dist/GraphFooter.cjs +1 -1
- package/dist/GraphFooter.cjs.map +1 -1
- package/dist/GraphFooter.js +2 -2
- package/dist/GraphHeader.cjs +1 -1
- package/dist/GraphHeader.cjs.map +1 -1
- package/dist/GraphHeader.js +1 -1
- package/dist/GraphTitle.cjs +1 -1
- package/dist/GraphTitle.cjs.map +1 -1
- package/dist/GraphTitle.js +14 -13
- package/dist/GraphTitle.js.map +1 -1
- package/dist/GriddedGraphs.cjs +1 -1
- package/dist/GriddedGraphs.cjs.map +1 -1
- package/dist/GriddedGraphs.js +58 -55
- package/dist/GriddedGraphs.js.map +1 -1
- package/dist/GriddedGraphsFromConfig.cjs +1 -1
- package/dist/GriddedGraphsFromConfig.cjs.map +1 -1
- package/dist/GriddedGraphsFromConfig.js +15 -15
- package/dist/HeatMap.cjs +1 -1
- package/dist/HeatMap.cjs.map +1 -1
- package/dist/HeatMap.js +17 -16
- package/dist/HeatMap.js.map +1 -1
- package/dist/Histogram.cjs +1 -1
- package/dist/Histogram.cjs.map +1 -1
- package/dist/Histogram.js +3 -3
- package/dist/HybridMap.cjs +1 -1
- package/dist/HybridMap.cjs.map +1 -1
- package/dist/HybridMap.js +392 -424
- package/dist/HybridMap.js.map +1 -1
- package/dist/ImageDownloadButton.cjs +1 -1
- package/dist/ImageDownloadButton.cjs.map +1 -1
- package/dist/ImageDownloadButton.js +16 -14
- package/dist/ImageDownloadButton.js.map +1 -1
- package/dist/LineChartWithConfidenceInterval.cjs +1 -1
- package/dist/LineChartWithConfidenceInterval.cjs.map +1 -1
- package/dist/LineChartWithConfidenceInterval.js +16 -15
- package/dist/LineChartWithConfidenceInterval.js.map +1 -1
- package/dist/LinearColorLegend.cjs +1 -1
- package/dist/LinearColorLegend.cjs.map +1 -1
- package/dist/LinearColorLegend.js +5 -4
- package/dist/LinearColorLegend.js.map +1 -1
- package/dist/MultiGraphDashboard.cjs +1 -1
- package/dist/MultiGraphDashboard.cjs.map +1 -1
- package/dist/MultiGraphDashboard.js +62 -60
- package/dist/MultiGraphDashboard.js.map +1 -1
- package/dist/MultiGraphDashboardFromConfig.cjs +1 -1
- package/dist/MultiGraphDashboardFromConfig.cjs.map +1 -1
- package/dist/MultiGraphDashboardFromConfig.js +7 -7
- package/dist/MultiGraphDashboardWideToLongFormat.cjs +1 -1
- package/dist/MultiGraphDashboardWideToLongFormat.cjs.map +1 -1
- package/dist/MultiGraphDashboardWideToLongFormat.js +21 -21
- package/dist/MultiGraphDashboardWideToLongFormat.js.map +1 -1
- package/dist/MultiGraphDashboardWideToLongFormatFromConfig.cjs +1 -1
- package/dist/MultiGraphDashboardWideToLongFormatFromConfig.cjs.map +1 -1
- package/dist/MultiGraphDashboardWideToLongFormatFromConfig.js +3 -3
- package/dist/MultiLineAltChart.cjs +1 -1
- package/dist/MultiLineAltChart.cjs.map +1 -1
- package/dist/MultiLineAltChart.js +16 -15
- package/dist/MultiLineAltChart.js.map +1 -1
- package/dist/MultiLineChart.cjs +1 -1
- package/dist/MultiLineChart.cjs.map +1 -1
- package/dist/MultiLineChart.js +16 -15
- package/dist/MultiLineChart.js.map +1 -1
- package/dist/ParetoChart.cjs +1 -1
- package/dist/ParetoChart.cjs.map +1 -1
- package/dist/ParetoChart.js +14 -13
- package/dist/ParetoChart.js.map +1 -1
- package/dist/PerformanceIntensiveMultiGraphDashboard.cjs +1 -1
- package/dist/PerformanceIntensiveMultiGraphDashboard.cjs.map +1 -1
- package/dist/PerformanceIntensiveMultiGraphDashboard.js +67 -65
- package/dist/PerformanceIntensiveMultiGraphDashboard.js.map +1 -1
- package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.cjs +1 -1
- package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.cjs.map +1 -1
- package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.js +8 -8
- package/dist/PerformanceIntensiveScrollStory.cjs +1 -1
- package/dist/PerformanceIntensiveScrollStory.cjs.map +1 -1
- package/dist/PerformanceIntensiveScrollStory.js +3 -3
- package/dist/RadarChart.cjs +1 -1
- package/dist/RadarChart.cjs.map +1 -1
- package/dist/RadarChart.js +11 -10
- package/dist/RadarChart.js.map +1 -1
- package/dist/ReferenceLine-CxITVT1K.cjs +2 -0
- package/dist/{ReferenceLine-CpU4G01Y.cjs.map → ReferenceLine-CxITVT1K.cjs.map} +1 -1
- package/dist/{ReferenceLine-D41VuUhE.js → ReferenceLine-NF4g3Reh.js} +26 -25
- package/dist/ReferenceLine-NF4g3Reh.js.map +1 -0
- package/dist/RegressionLine-BQ6h-NZP.js +88 -0
- package/dist/RegressionLine-BQ6h-NZP.js.map +1 -0
- package/dist/RegressionLine-BpcVBjL0.cjs +2 -0
- package/dist/{RegressionLine-BFoBiVJk.cjs.map → RegressionLine-BpcVBjL0.cjs.map} +1 -1
- package/dist/SVGDownloadButton.cjs +1 -1
- package/dist/SVGDownloadButton.cjs.map +1 -1
- package/dist/SVGDownloadButton.js +11 -9
- package/dist/SVGDownloadButton.js.map +1 -1
- package/dist/SankeyChart.cjs +1 -1
- package/dist/SankeyChart.cjs.map +1 -1
- package/dist/SankeyChart.js +63 -62
- package/dist/SankeyChart.js.map +1 -1
- package/dist/ScatterPlot.cjs +1 -1
- package/dist/ScatterPlot.cjs.map +1 -1
- package/dist/ScatterPlot.js +109 -107
- package/dist/ScatterPlot.js.map +1 -1
- package/dist/ScrollStory.cjs +1 -1
- package/dist/ScrollStory.cjs.map +1 -1
- package/dist/ScrollStory.js +3 -3
- package/dist/SimpleLineChart.cjs +1 -1
- package/dist/SimpleLineChart.cjs.map +1 -1
- package/dist/SimpleLineChart.js +17 -16
- package/dist/SimpleLineChart.js.map +1 -1
- package/dist/SingleGraphDashboard.cjs +1 -1
- package/dist/SingleGraphDashboard.cjs.map +1 -1
- package/dist/SingleGraphDashboard.js +59 -56
- package/dist/SingleGraphDashboard.js.map +1 -1
- package/dist/SingleGraphDashboardFromConfig.cjs +1 -1
- package/dist/SingleGraphDashboardFromConfig.cjs.map +1 -1
- package/dist/SingleGraphDashboardFromConfig.js +6 -6
- package/dist/SingleGraphDashboardGeoHubMaps.cjs +1 -1
- package/dist/SingleGraphDashboardGeoHubMaps.cjs.map +1 -1
- package/dist/SingleGraphDashboardGeoHubMaps.js +12 -12
- package/dist/SingleGraphDashboardGeoHubMapsFromConfig.cjs +1 -1
- package/dist/SingleGraphDashboardGeoHubMapsFromConfig.cjs.map +1 -1
- package/dist/SingleGraphDashboardGeoHubMapsFromConfig.js +8 -8
- package/dist/SingleGraphDashboardThreeDGraphs.cjs +1 -1
- package/dist/SingleGraphDashboardThreeDGraphs.cjs.map +1 -1
- package/dist/SingleGraphDashboardThreeDGraphs.js +59 -56
- package/dist/SingleGraphDashboardThreeDGraphs.js.map +1 -1
- package/dist/SingleGraphDashboardThreeDGraphsFromConfig.cjs +1 -1
- package/dist/SingleGraphDashboardThreeDGraphsFromConfig.cjs.map +1 -1
- package/dist/SingleGraphDashboardThreeDGraphsFromConfig.js +7 -7
- package/dist/SlopeChart.cjs +1 -1
- package/dist/SlopeChart.cjs.map +1 -1
- package/dist/SlopeChart.js +60 -59
- package/dist/SlopeChart.js.map +1 -1
- package/dist/Source.cjs +1 -1
- package/dist/Source.cjs.map +1 -1
- package/dist/Source.js +38 -4
- package/dist/Source.js.map +1 -1
- package/dist/SparkLine.cjs +1 -1
- package/dist/SparkLine.cjs.map +1 -1
- package/dist/SparkLine.js +11 -10
- package/dist/SparkLine.js.map +1 -1
- package/dist/StatCardFromData.cjs +1 -1
- package/dist/StatCardFromData.cjs.map +1 -1
- package/dist/StatCardFromData.js +15 -14
- package/dist/StatCardFromData.js.map +1 -1
- package/dist/StripChart.cjs +1 -1
- package/dist/StripChart.cjs.map +1 -1
- package/dist/StripChart.js +11 -10
- package/dist/StripChart.js.map +1 -1
- package/dist/ThreeDGlobe.cjs +1 -1
- package/dist/ThreeDGlobe.cjs.map +1 -1
- package/dist/ThreeDGlobe.js +52 -51
- package/dist/ThreeDGlobe.js.map +1 -1
- package/dist/ThresholdColorLegendWithMouseOver.cjs +1 -1
- package/dist/ThresholdColorLegendWithMouseOver.cjs.map +1 -1
- package/dist/ThresholdColorLegendWithMouseOver.js +17 -16
- package/dist/ThresholdColorLegendWithMouseOver.js.map +1 -1
- package/dist/{Tooltip-3EYDVa3w.js → Tooltip-DO56mY4b.js} +11 -10
- package/dist/{Tooltip-3EYDVa3w.js.map → Tooltip-DO56mY4b.js.map} +1 -1
- package/dist/Tooltip-DwUFLDrj.cjs +2 -0
- package/dist/{Tooltip-C9F3uYG0.cjs.map → Tooltip-DwUFLDrj.cjs.map} +1 -1
- package/dist/TreeMapGraph.cjs +1 -1
- package/dist/TreeMapGraph.cjs.map +1 -1
- package/dist/TreeMapGraph.js +34 -33
- package/dist/TreeMapGraph.js.map +1 -1
- package/dist/UnitChart.cjs +1 -1
- package/dist/UnitChart.cjs.map +1 -1
- package/dist/UnitChart.js +27 -27
- package/dist/WaterfallChart.cjs +1 -1
- package/dist/WaterfallChart.cjs.map +1 -1
- package/dist/WaterfallChart.js +21 -20
- package/dist/WaterfallChart.js.map +1 -1
- package/dist/XAxesLabels-0ROJnigy.cjs +2 -0
- package/dist/{XAxesLabels-C03jHniq.cjs.map → XAxesLabels-0ROJnigy.cjs.map} +1 -1
- package/dist/{XAxesLabels-B9gkjUiC.js → XAxesLabels-CPZX3OJN.js} +12 -11
- package/dist/XAxesLabels-CPZX3OJN.js.map +1 -0
- package/dist/XTicksAndGridLines-BO6KJc8d.cjs +2 -0
- package/dist/{XTicksAndGridLines-B4UhDVyU.cjs.map → XTicksAndGridLines-BO6KJc8d.cjs.map} +1 -1
- package/dist/{XTicksAndGridLines-CkYwVshF.js → XTicksAndGridLines-obTK2e7G.js} +10 -9
- package/dist/{XTicksAndGridLines-CkYwVshF.js.map → XTicksAndGridLines-obTK2e7G.js.map} +1 -1
- package/dist/{YAxesLabels-hWEUCTvs.js → YAxesLabels-CwVnFG2a.js} +13 -12
- package/dist/YAxesLabels-CwVnFG2a.js.map +1 -0
- package/dist/YAxesLabels-DIa2cEXL.cjs +2 -0
- package/dist/{YAxesLabels-DeENFC2M.cjs.map → YAxesLabels-DIa2cEXL.cjs.map} +1 -1
- package/dist/YTicksAndGridLines-C7glLI5b.cjs +2 -0
- package/dist/{YTicksAndGridLines-sT3zdCs6.cjs.map → YTicksAndGridLines-C7glLI5b.cjs.map} +1 -1
- package/dist/{YTicksAndGridLines-BbujwxOB.js → YTicksAndGridLines-wtuAKNeT.js} +10 -9
- package/dist/{YTicksAndGridLines-BbujwxOB.js.map → YTicksAndGridLines-wtuAKNeT.js.map} +1 -1
- package/dist/checkIfMultiple-BIEQDuA3.cjs +2 -0
- package/dist/checkIfMultiple-BIEQDuA3.cjs.map +1 -0
- package/dist/checkIfMultiple-D2tgEnYM.js +11 -0
- package/dist/checkIfMultiple-D2tgEnYM.js.map +1 -0
- package/dist/compiler-runtime-oPPev21o.cjs +11 -0
- package/dist/compiler-runtime-oPPev21o.cjs.map +1 -0
- package/dist/compiler-runtime-qHgugrLy.js +297 -0
- package/dist/compiler-runtime-qHgugrLy.js.map +1 -0
- package/dist/customArea-BCGIYDQa.cjs +2 -0
- package/dist/{customArea-BAcQ3pBM.cjs.map → customArea-BCGIYDQa.cjs.map} +1 -1
- package/dist/{customArea-D89lETG0.js → customArea-Dixg0NtQ.js} +10 -9
- package/dist/{customArea-D89lETG0.js.map → customArea-Dixg0NtQ.js.map} +1 -1
- package/dist/{fetchAndParseData-BAXhgTDM.js → fetchAndParseData-CDjQZ1fL.js} +5 -5
- package/dist/{fetchAndParseData-BAXhgTDM.js.map → fetchAndParseData-CDjQZ1fL.js.map} +1 -1
- package/dist/fetchAndParseData.js +1 -1
- package/dist/getSliderMarks-Bj_JJTtX.cjs +2 -0
- package/dist/getSliderMarks-Bj_JJTtX.cjs.map +1 -0
- package/dist/getSliderMarks-DSxFGb1f.js +21 -0
- package/dist/getSliderMarks-DSxFGb1f.js.map +1 -0
- package/dist/index-5BQWR1Z8.cjs +10 -0
- package/dist/{index-FXfr51ZM.cjs.map → index-5BQWR1Z8.cjs.map} +1 -1
- package/dist/index-BaXzoD4r.cjs +2 -0
- package/dist/{index-BuhBhuCq.cjs.map → index-BaXzoD4r.cjs.map} +1 -1
- package/dist/{index-Cv_5q6Rb.js → index-CNUlPiEL.js} +3 -3
- package/dist/{index-Cv_5q6Rb.js.map → index-CNUlPiEL.js.map} +1 -1
- package/dist/{index-DHVGV8Df.js → index-CmkqqFRG.js} +3 -3
- package/dist/{index-DHVGV8Df.js.map → index-CmkqqFRG.js.map} +1 -1
- package/dist/index-D_ls5oK8.js +142 -0
- package/dist/index-D_ls5oK8.js.map +1 -0
- package/dist/index-DbSnila_.cjs +2 -0
- package/dist/index-DbSnila_.cjs.map +1 -0
- package/dist/{index-BPyj_6hG.js → index-_w-CQAbR.js} +113 -112
- package/dist/{index-BPyj_6hG.js.map → index-_w-CQAbR.js.map} +1 -1
- package/dist/index-dN3wiQgD.cjs +2 -0
- package/dist/{index-DuLvdHo2.cjs.map → index-dN3wiQgD.cjs.map} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +181 -180
- package/dist/index.js.map +1 -1
- package/dist/{proxy-BsxtcZKa.js → proxy-D31SA_aE.js} +2 -2
- package/dist/{proxy-BsxtcZKa.js.map → proxy-D31SA_aE.js.map} +1 -1
- package/dist/proxy-QMeVVqam.cjs +2 -0
- package/dist/{proxy-CqH8m8IQ.cjs.map → proxy-QMeVVqam.cjs.map} +1 -1
- package/dist/style.css +1 -1
- package/dist/transformData.js +2 -2
- package/dist/{transformDataForGraphFromFile-dt9sHTVy.js → transformDataForGraphFromFile-COZC6A0_.js} +4 -4
- package/dist/{transformDataForGraphFromFile-dt9sHTVy.js.map → transformDataForGraphFromFile-COZC6A0_.js.map} +1 -1
- package/dist/{use-in-view-KOXq5Kmc.js → use-in-view-Co5SmzfT.js} +2 -2
- package/dist/{use-in-view-KOXq5Kmc.js.map → use-in-view-Co5SmzfT.js.map} +1 -1
- package/dist/use-in-view-DjR_gqJP.cjs +2 -0
- package/dist/{use-in-view-dnRv_qqF.cjs.map → use-in-view-DjR_gqJP.cjs.map} +1 -1
- package/package.json +1 -1
- package/dist/Axis-BTaS9oPQ.cjs +0 -2
- package/dist/AxisTitle-CyLCqpW6.js +0 -29
- package/dist/AxisTitle-CyLCqpW6.js.map +0 -1
- package/dist/AxisTitle-DP_evhbe.cjs +0 -2
- package/dist/DetailsModal-Du8Fr1QD.cjs +0 -2
- package/dist/DropdownSelect-CX1yMemd.cjs +0 -5
- package/dist/DropdownSelect-CX1yMemd.cjs.map +0 -1
- package/dist/DropdownSelect-Dz7imdTB.js +0 -4191
- package/dist/DropdownSelect-Dz7imdTB.js.map +0 -1
- package/dist/EmptyState-CFmiFPHz.cjs +0 -2
- package/dist/GraphContainer-B8ZqOzKI.js.map +0 -1
- package/dist/GraphContainer-Cul9b74X.cjs +0 -2
- package/dist/GraphEl-BgkDbq50.cjs +0 -2
- package/dist/Modal-BIErPPKT.cjs +0 -46
- package/dist/Modal-BIErPPKT.cjs.map +0 -1
- package/dist/Modal-CrUYln5V.js +0 -1047
- package/dist/Modal-CrUYln5V.js.map +0 -1
- package/dist/ReferenceLine-CpU4G01Y.cjs +0 -2
- package/dist/ReferenceLine-D41VuUhE.js.map +0 -1
- package/dist/RegressionLine-BFoBiVJk.cjs +0 -2
- package/dist/RegressionLine-CuwB42I6.js +0 -87
- package/dist/RegressionLine-CuwB42I6.js.map +0 -1
- package/dist/Source-PKuwZOn3.cjs +0 -2
- package/dist/Source-PKuwZOn3.cjs.map +0 -1
- package/dist/Source-QGk8vhkS.js +0 -78
- package/dist/Source-QGk8vhkS.js.map +0 -1
- package/dist/Spinner-B2IIKg9r.js +0 -47
- package/dist/Spinner-B2IIKg9r.js.map +0 -1
- package/dist/Spinner-WHzzloYQ.cjs +0 -2
- package/dist/Spinner-WHzzloYQ.cjs.map +0 -1
- package/dist/Tooltip-C9F3uYG0.cjs +0 -2
- package/dist/Typography-BO0gQDIT.js +0 -270
- package/dist/Typography-BO0gQDIT.js.map +0 -1
- package/dist/Typography-BqmyF1gP.cjs +0 -2
- package/dist/Typography-BqmyF1gP.cjs.map +0 -1
- package/dist/XAxesLabels-B9gkjUiC.js.map +0 -1
- package/dist/XAxesLabels-C03jHniq.cjs +0 -2
- package/dist/XTicksAndGridLines-B4UhDVyU.cjs +0 -2
- package/dist/YAxesLabels-DeENFC2M.cjs +0 -2
- package/dist/YAxesLabels-hWEUCTvs.js.map +0 -1
- package/dist/YTicksAndGridLines-sT3zdCs6.cjs +0 -2
- package/dist/checkIfMultiple-CH5tqj4q.cjs +0 -2
- package/dist/checkIfMultiple-CH5tqj4q.cjs.map +0 -1
- package/dist/checkIfMultiple-Dpyy6BUP.js +0 -938
- package/dist/checkIfMultiple-Dpyy6BUP.js.map +0 -1
- package/dist/customArea-BAcQ3pBM.cjs +0 -2
- package/dist/getSliderMarks-BzrpHrHS.cjs +0 -2
- package/dist/getSliderMarks-BzrpHrHS.cjs.map +0 -1
- package/dist/getSliderMarks-X-_goqH9.js +0 -1027
- package/dist/getSliderMarks-X-_goqH9.js.map +0 -1
- package/dist/index-ApTBN0kp.js +0 -196
- package/dist/index-ApTBN0kp.js.map +0 -1
- package/dist/index-BhI7mBJx.cjs +0 -2
- package/dist/index-BhI7mBJx.cjs.map +0 -1
- package/dist/index-BuhBhuCq.cjs +0 -2
- package/dist/index-CHPV5EwG-BzibaIRc.js +0 -3360
- package/dist/index-CHPV5EwG-BzibaIRc.js.map +0 -1
- package/dist/index-CHPV5EwG-D4pAp7u0.cjs +0 -20
- package/dist/index-CHPV5EwG-D4pAp7u0.cjs.map +0 -1
- package/dist/index-DuLvdHo2.cjs +0 -2
- package/dist/index-FXfr51ZM.cjs +0 -10
- package/dist/index-Scxs_wcm-BAjU0Cob.js +0 -49
- package/dist/index-Scxs_wcm-BAjU0Cob.js.map +0 -1
- package/dist/index-Scxs_wcm-DUDU-Gll.cjs +0 -2
- package/dist/index-Scxs_wcm-DUDU-Gll.cjs.map +0 -1
- package/dist/index-w64Zl8io-DrMm5QSb.cjs +0 -2
- package/dist/index-w64Zl8io-DrMm5QSb.cjs.map +0 -1
- package/dist/index-w64Zl8io-ihagHOdP.js +0 -459
- package/dist/index-w64Zl8io-ihagHOdP.js.map +0 -1
- package/dist/proxy-CqH8m8IQ.cjs +0 -2
- package/dist/toConsumableArray-DiWOvh_d-DcLaZvDq.cjs +0 -4
- package/dist/toConsumableArray-DiWOvh_d-DcLaZvDq.cjs.map +0 -1
- package/dist/toConsumableArray-DiWOvh_d-DlpOlgap.js +0 -145
- package/dist/toConsumableArray-DiWOvh_d-DlpOlgap.js.map +0 -1
- package/dist/use-in-view-dnRv_qqF.cjs +0 -2
- package/dist/x-BXShoIAM-BC2sxios.cjs +0 -2
- package/dist/x-BXShoIAM-BC2sxios.cjs.map +0 -1
- package/dist/x-BXShoIAM-D6VWO6z5.js +0 -74
- package/dist/x-BXShoIAM-D6VWO6z5.js.map +0 -1
|
@@ -1,21 +1,24 @@
|
|
|
1
|
-
import { c as ue, j as o } from "./
|
|
2
|
-
import { useState as
|
|
1
|
+
import { c as ue, j as o } from "./compiler-runtime-qHgugrLy.js";
|
|
2
|
+
import { useState as y, useRef as Q, useEffectEvent as E, useEffect as k } from "react";
|
|
3
3
|
import { i as de } from "./index-BuwmuDFJ.js";
|
|
4
4
|
import { f as z } from "./index-EArKRVKg.js";
|
|
5
5
|
import { i as ce } from "./index-Bwrro8-q.js";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
6
|
+
import { DropdownSelect as O, createFilter as L } from "@undp/design-system-react/DropdownSelect";
|
|
7
|
+
import { CheckboxGroup as X, CheckboxGroupItem as Y } from "@undp/design-system-react/CheckboxGroup";
|
|
8
|
+
import { RadioGroup as U, RadioGroupItem as B } from "@undp/design-system-react/RadioGroup";
|
|
9
|
+
import { Spinner as he } from "@undp/design-system-react/Spinner";
|
|
10
|
+
import { Label as M } from "@undp/design-system-react/Label";
|
|
11
|
+
import { P as _ } from "@undp/design-system-react/Typography";
|
|
12
|
+
import { ThreeDGlobe as ge } from "./ThreeDGlobe.js";
|
|
13
|
+
import { g as pe, c as me } from "./checkIfMultiple-D2tgEnYM.js";
|
|
14
|
+
import { b as fe, d as Ce, f as be, c as ve, t as xe } from "./fetchAndParseData-CDjQZ1fL.js";
|
|
12
15
|
import { a as we, t as Ie } from "./transformDataForAggregation-wdPf8bNt.js";
|
|
13
16
|
import { g as ee } from "./getUniqValue-DsqSii6M.js";
|
|
14
17
|
import { GraphHeader as De } from "./GraphHeader.js";
|
|
15
18
|
import { f as ae } from "./filterData-DsAiFzKY.js";
|
|
16
|
-
import { g as
|
|
19
|
+
import { g as Se } from "./getGraphList-Bpd3PVmF.js";
|
|
17
20
|
import { t as te } from "./transformDataForSelect-D8AuvYdf.js";
|
|
18
|
-
import { G as
|
|
21
|
+
import { G as ye } from "./GraphContainer-DcOM2CI6.js";
|
|
19
22
|
function Ve(D) {
|
|
20
23
|
const a = ue.c(24), {
|
|
21
24
|
settings: t,
|
|
@@ -39,9 +42,9 @@ function Ve(D) {
|
|
|
39
42
|
}
|
|
40
43
|
let b;
|
|
41
44
|
a[6] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (b = {
|
|
42
|
-
threeDGlobe:
|
|
45
|
+
threeDGlobe: ge
|
|
43
46
|
}, a[6] = b) : b = a[6];
|
|
44
|
-
const
|
|
47
|
+
const H = b;
|
|
45
48
|
let j;
|
|
46
49
|
a[7] !== d || a[8] !== r || a[9] !== V || a[10] !== t || a[11] !== w ? (j = (f) => f === "threeDGlobe" ? {
|
|
47
50
|
numberDisplayOptions: t?.numberDisplayOptions,
|
|
@@ -61,7 +64,7 @@ function Ve(D) {
|
|
|
61
64
|
sources: t?.sources,
|
|
62
65
|
colorDomain: t?.colorDomain,
|
|
63
66
|
colors: t?.colors,
|
|
64
|
-
colorLegendTitle: Object.keys(t || {}).indexOf("colorLegendTitle") !== -1 ? t?.colorLegendTitle :
|
|
67
|
+
colorLegendTitle: Object.keys(t || {}).indexOf("colorLegendTitle") !== -1 ? t?.colorLegendTitle : pe("x", r || [], V || []),
|
|
65
68
|
scaleType: t?.scaleType,
|
|
66
69
|
data: d,
|
|
67
70
|
centerPoint: t?.centerPoint,
|
|
@@ -95,18 +98,18 @@ function Ve(D) {
|
|
|
95
98
|
highlightedAltitude: t?.highlightedAltitude,
|
|
96
99
|
selectedId: t?.selectedId
|
|
97
100
|
} : {}, a[7] = d, a[8] = r, a[9] = V, a[10] = t, a[11] = w, a[12] = j) : j = a[12];
|
|
98
|
-
const c = j, T =
|
|
101
|
+
const c = j, T = H[g];
|
|
99
102
|
let h;
|
|
100
103
|
a[13] !== c || a[14] !== g ? (h = c(g), a[13] = c, a[14] = g, a[15] = h) : h = a[15];
|
|
101
|
-
const p = h,
|
|
102
|
-
let
|
|
103
|
-
a[16] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (
|
|
104
|
+
const p = h, G = `grow my-0 mx-auto flex flex-col w-full justify-center ${t?.theme || "light"}`;
|
|
105
|
+
let S;
|
|
106
|
+
a[16] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (S = {
|
|
104
107
|
minHeight: "inherit"
|
|
105
|
-
}, a[16] =
|
|
108
|
+
}, a[16] = S) : S = a[16];
|
|
106
109
|
let s;
|
|
107
110
|
a[17] !== T || a[18] !== g || a[19] !== p ? (s = T ? /* @__PURE__ */ o.jsx(T, { ...p }) : /* @__PURE__ */ o.jsx(_, { size: "sm", marginBottom: "none", className: "p-2 text-center text-accent-dark-red dark:text-accent-red", children: `Invalid chart type: ${g}` }), a[17] = T, a[18] = g, a[19] = p, a[20] = s) : s = a[20];
|
|
108
|
-
let
|
|
109
|
-
return a[21] !==
|
|
111
|
+
let N;
|
|
112
|
+
return a[21] !== G || a[22] !== s ? (N = /* @__PURE__ */ o.jsx("div", { className: G, style: S, children: s }), a[21] = G, a[22] = s, a[23] = N) : N = a[23], N;
|
|
110
113
|
}
|
|
111
114
|
const W = (D, a) => {
|
|
112
115
|
const t = a?.map((g) => {
|
|
@@ -117,7 +120,7 @@ const W = (D, a) => {
|
|
|
117
120
|
}) || [];
|
|
118
121
|
return Object.assign({}, ...t);
|
|
119
122
|
};
|
|
120
|
-
function
|
|
123
|
+
function Je(D) {
|
|
121
124
|
const {
|
|
122
125
|
graphSettings: a,
|
|
123
126
|
dataSettings: t,
|
|
@@ -128,13 +131,13 @@ function We(D) {
|
|
|
128
131
|
dataFilters: V,
|
|
129
132
|
debugMode: w,
|
|
130
133
|
dataSelectionOptions: b,
|
|
131
|
-
advancedDataSelectionOptions:
|
|
134
|
+
advancedDataSelectionOptions: H,
|
|
132
135
|
readableHeader: j,
|
|
133
136
|
noOfFiltersPerRow: c = 4,
|
|
134
137
|
updateFilters: T,
|
|
135
138
|
uiMode: h = "normal",
|
|
136
139
|
highlightDataPointSettings: p
|
|
137
|
-
} = D, [
|
|
140
|
+
} = D, [G, S] = y(void 0), [s, N] = y(void 0), [f, m] = y(r), [u, x] = y({}), [$, le] = y(void 0), [ie, oe] = y([]), q = Q(null), Z = Q(r), [R, J] = y([]), P = {
|
|
138
141
|
ignoreCase: !0,
|
|
139
142
|
ignoreAccents: !0,
|
|
140
143
|
trim: !0
|
|
@@ -155,48 +158,48 @@ function We(D) {
|
|
|
155
158
|
}));
|
|
156
159
|
J(e);
|
|
157
160
|
});
|
|
158
|
-
|
|
161
|
+
k(() => {
|
|
159
162
|
(async () => {
|
|
160
163
|
try {
|
|
161
164
|
const n = t.dataURL ? typeof t.dataURL == "string" ? t.fileType === "json" ? await fe(t.dataURL, t.columnsToArray, t.dataTransformation, w) : t.fileType === "api" ? await Ce(t.dataURL, t.apiHeaders, t.columnsToArray, t.dataTransformation, w) : await be(t.dataURL, t.dataTransformation, t.columnsToArray, w, t.delimiter, !0) : await ve(t.dataURL, t.idColumnTitle) : await xe(t.data, t.columnsToArray);
|
|
162
|
-
|
|
165
|
+
N(n);
|
|
163
166
|
} catch (n) {
|
|
164
167
|
console.error("Data fetching error:", n);
|
|
165
168
|
}
|
|
166
169
|
})(), K();
|
|
167
|
-
}, [t, w]),
|
|
170
|
+
}, [t, w]), k(() => {
|
|
168
171
|
K();
|
|
169
172
|
}, [g, s]);
|
|
170
173
|
const re = E(() => {
|
|
171
|
-
if (!s ||
|
|
174
|
+
if (!s || R.length === 0) S(s);
|
|
172
175
|
else {
|
|
173
|
-
const e = s.filter((n) =>
|
|
174
|
-
|
|
176
|
+
const e = s.filter((n) => R.every((l) => l.value && z([l.value]).length > 0 ? de(z([n[l.filter]]), z([l.value]).map((i) => i.value)).length > 0 : !0));
|
|
177
|
+
S(e);
|
|
175
178
|
}
|
|
176
179
|
});
|
|
177
|
-
|
|
180
|
+
k(() => {
|
|
178
181
|
re();
|
|
179
|
-
}, [
|
|
182
|
+
}, [R, s]), k(() => {
|
|
180
183
|
b && x(W(b, r));
|
|
181
184
|
}, [b, r]);
|
|
182
185
|
const ne = E(() => {
|
|
183
|
-
p?.column &&
|
|
186
|
+
p?.column && G && oe(ee(G, p.column).filter((e) => !p?.excludeValues?.includes(`${e}`)).map((e) => ({
|
|
184
187
|
value: e,
|
|
185
188
|
label: e
|
|
186
189
|
})));
|
|
187
190
|
});
|
|
188
|
-
|
|
191
|
+
k(() => {
|
|
189
192
|
ne();
|
|
190
|
-
}, [p]),
|
|
193
|
+
}, [p]), k(() => {
|
|
191
194
|
ce(Z.current, r) || (m(r), Z.current = r);
|
|
192
195
|
}, [r]);
|
|
193
|
-
const
|
|
196
|
+
const A = (e, n) => {
|
|
194
197
|
J((l) => l.map((i) => i.filter === e ? {
|
|
195
198
|
...i,
|
|
196
199
|
value: n
|
|
197
200
|
} : i));
|
|
198
201
|
}, se = s ? we(I ? Ie(ae(s, V || []), I.keyColumn, I.aggregationColumnsSetting) : ae(s, V || []), d, f) : void 0;
|
|
199
|
-
return /* @__PURE__ */ o.jsx(
|
|
202
|
+
return /* @__PURE__ */ o.jsx(ye, { className: a?.classNames?.graphContainer, style: a?.styles?.graphContainer, id: a?.graphID, ref: q, "aria-label": a?.ariaLabel, backgroundColor: a?.backgroundColor ?? !1, theme: a?.theme || "light", language: a?.language || "en", width: a?.width, height: a?.height, padding: a?.padding, minHeight: a?.minHeight, relativeHeight: a?.relativeHeight, children: s || Se.filter((e) => e.geoHubMapPresentation).map((e) => e.graphID).indexOf(d) !== -1 ? /* @__PURE__ */ o.jsxs(o.Fragment, { children: [
|
|
200
203
|
u?.graphTitle || u?.graphDescription || a?.graphTitle || a?.graphDescription || a?.graphDownload || a?.dataDownload ? /* @__PURE__ */ o.jsx(De, { styles: {
|
|
201
204
|
title: u?.styles?.title || a?.styles?.title,
|
|
202
205
|
description: u?.styles?.description || a?.styles?.description
|
|
@@ -204,8 +207,8 @@ function We(D) {
|
|
|
204
207
|
title: u?.classNames?.title || a?.classNames?.title,
|
|
205
208
|
description: u?.classNames?.description || a?.classNames?.description
|
|
206
209
|
}, graphTitle: u?.graphTitle || a?.graphTitle, graphDescription: u?.graphDescription || a?.graphDescription, width: u?.width || a?.width, graphDownload: a?.graphDownload ? q : void 0, dataDownload: a?.dataDownload && s && s.length > 0 ? s : null }) : null,
|
|
207
|
-
|
|
208
|
-
|
|
210
|
+
R.length !== 0 || (b || []).length !== 0 || (H || []).length !== 0 || p ? /* @__PURE__ */ o.jsxs("div", { className: "flex flex-wrap items-start gap-x-4 gap-y-0 w-full", children: [
|
|
211
|
+
H?.map((e, n) => /* @__PURE__ */ o.jsxs("div", { style: {
|
|
209
212
|
width: e.width || `calc(${100 / c}% - ${(c - 1) / c}rem)`,
|
|
210
213
|
flexGrow: e.width ? 0 : 1,
|
|
211
214
|
flexShrink: e.ui !== "radio" || e.width ? 0 : 1,
|
|
@@ -247,7 +250,7 @@ function We(D) {
|
|
|
247
250
|
minWidth: "240px"
|
|
248
251
|
}, className: "pb-4", children: [
|
|
249
252
|
/* @__PURE__ */ o.jsx(M, { className: "mb-2", children: e.label || `Visualize ${e.chartConfigId} by` }),
|
|
250
|
-
|
|
253
|
+
me(e.chartConfigId, f || []) ? e.ui !== "radio" ? /* @__PURE__ */ o.jsx(
|
|
251
254
|
O,
|
|
252
255
|
{
|
|
253
256
|
options: e.allowedColumnIds,
|
|
@@ -257,7 +260,7 @@ function We(D) {
|
|
|
257
260
|
variant: h,
|
|
258
261
|
controlShouldRenderValue: !0,
|
|
259
262
|
defaultValue: r ? r[r.findIndex((l) => l.chartConfigId === e.chartConfigId)].columnId.map((l) => e.allowedColumnIds[e.allowedColumnIds.findIndex((i) => i.value === l)]) : void 0,
|
|
260
|
-
filterOption: L(
|
|
263
|
+
filterOption: L(P),
|
|
261
264
|
onChange: (l) => {
|
|
262
265
|
const i = {
|
|
263
266
|
columnId: (l || []).map(
|
|
@@ -301,25 +304,25 @@ function We(D) {
|
|
|
301
304
|
x(W(b, C)), m(C);
|
|
302
305
|
}, children: e.allowedColumnIds.map((l, i) => /* @__PURE__ */ o.jsx(B, { label: l.label, value: l.label }, i)) })
|
|
303
306
|
] }, n)),
|
|
304
|
-
|
|
307
|
+
R?.map((e, n) => /* @__PURE__ */ o.jsxs("div", { style: {
|
|
305
308
|
width: e.width || `calc(${100 / c}% - ${(c - 1) / c}rem)`,
|
|
306
309
|
flexGrow: e.width ? 0 : 1,
|
|
307
310
|
flexShrink: e.ui !== "radio" || e.width ? 0 : 1,
|
|
308
311
|
minWidth: "240px"
|
|
309
312
|
}, className: "pb-4", children: [
|
|
310
313
|
/* @__PURE__ */ o.jsx(M, { className: "mb-2", children: e.label }),
|
|
311
|
-
e.singleSelect ? e.ui !== "radio" ? /* @__PURE__ */ o.jsx(O, { options: e.availableValues, variant: h, isClearable: e.clearable === void 0 ? !0 : e.clearable, isSearchable: !0, controlShouldRenderValue: !0, filterOption: L(
|
|
312
|
-
|
|
314
|
+
e.singleSelect ? e.ui !== "radio" ? /* @__PURE__ */ o.jsx(O, { options: e.availableValues, variant: h, isClearable: e.clearable === void 0 ? !0 : e.clearable, isSearchable: !0, controlShouldRenderValue: !0, filterOption: L(P), onChange: (l) => {
|
|
315
|
+
A(e.filter, l);
|
|
313
316
|
}, value: e.value, defaultValue: e.defaultValue }) : /* @__PURE__ */ o.jsx(U, { variant: h, defaultValue: e.defaultValue.value, onValueChange: (l) => {
|
|
314
|
-
|
|
317
|
+
A(e.filter, e.availableValues.filter((i) => i.value === l));
|
|
315
318
|
}, children: e.availableValues.map((l, i) => /* @__PURE__ */ o.jsx(B, { label: `${l.label}`, value: `${l.value}` }, i)) }) : /* @__PURE__ */ o.jsxs(o.Fragment, { children: [
|
|
316
|
-
e.ui !== "radio" ? /* @__PURE__ */ o.jsx(O, { options: e.availableValues, variant: h, size: "sm", isMulti: !0, isClearable: e.clearable === void 0 ? !0 : e.clearable, isSearchable: !0, controlShouldRenderValue: !0, filterOption: L(
|
|
317
|
-
|
|
319
|
+
e.ui !== "radio" ? /* @__PURE__ */ o.jsx(O, { options: e.availableValues, variant: h, size: "sm", isMulti: !0, isClearable: e.clearable === void 0 ? !0 : e.clearable, isSearchable: !0, controlShouldRenderValue: !0, filterOption: L(P), onChange: (l) => {
|
|
320
|
+
A(e.filter, l);
|
|
318
321
|
}, value: e.value, defaultValue: e.defaultValue }) : /* @__PURE__ */ o.jsx(X, { variant: h, defaultValue: e.defaultValue ? e.defaultValue.map((l) => `${l.value}`) : [], value: e.value ? e.value.map((l) => `${l.value}`) : void 0, onValueChange: (l) => {
|
|
319
|
-
|
|
322
|
+
A(e.filter, e.availableValues.filter((i) => l.indexOf(`${i.value}`) !== -1));
|
|
320
323
|
}, children: e.availableValues.map((l, i) => /* @__PURE__ */ o.jsx(Y, { label: `${l.label}`, value: `${l.value}` }, i)) }),
|
|
321
324
|
e.allowSelectAll ? /* @__PURE__ */ o.jsx("button", { type: "button", className: "bg-transparent border-0 p-0 mt-2 cursor-pointer text-primary-blue-600 dark:text-primary-blue-400", onClick: () => {
|
|
322
|
-
|
|
325
|
+
A(e.filter, e.availableValues);
|
|
323
326
|
}, children: "Select all options" }) : null
|
|
324
327
|
] })
|
|
325
328
|
] }, n)),
|
|
@@ -340,11 +343,11 @@ function We(D) {
|
|
|
340
343
|
isClearable: !0,
|
|
341
344
|
isSearchable: !0,
|
|
342
345
|
controlShouldRenderValue: !0,
|
|
343
|
-
filterOption: L(
|
|
346
|
+
filterOption: L(P),
|
|
344
347
|
onChange: (e) => {
|
|
345
348
|
le(e?.map((n) => n.value));
|
|
346
349
|
},
|
|
347
|
-
value:
|
|
350
|
+
value: $?.map((e) => ({
|
|
348
351
|
label: e,
|
|
349
352
|
value: e
|
|
350
353
|
})),
|
|
@@ -370,15 +373,15 @@ function We(D) {
|
|
|
370
373
|
relativeHeight: void 0,
|
|
371
374
|
minHeight: void 0,
|
|
372
375
|
theme: a?.theme,
|
|
373
|
-
|
|
374
|
-
highlightedDataPoints:
|
|
375
|
-
highlightedIds:
|
|
376
|
-
highlightedLines:
|
|
376
|
+
...$ ? {
|
|
377
|
+
highlightedDataPoints: $,
|
|
378
|
+
highlightedIds: $?.map((e) => `${e}`),
|
|
379
|
+
highlightedLines: $?.map((e) => e)
|
|
377
380
|
} : {}
|
|
378
381
|
} })
|
|
379
|
-
] }) : /* @__PURE__ */ o.jsx("div", { className: "w-full flex justify-center p-4", children: /* @__PURE__ */ o.jsx(
|
|
382
|
+
] }) : /* @__PURE__ */ o.jsx("div", { className: "w-full flex justify-center p-4", children: /* @__PURE__ */ o.jsx(he, {}) }) });
|
|
380
383
|
}
|
|
381
384
|
export {
|
|
382
|
-
|
|
385
|
+
Je as SingleGraphDashboardThreeDGraphs
|
|
383
386
|
};
|
|
384
387
|
//# sourceMappingURL=SingleGraphDashboardThreeDGraphs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SingleGraphDashboardThreeDGraphs.js","sources":["../src/Components/Dashboard/PerformanceIntensive/ThreeDGraphEl.tsx","../src/Components/Dashboard/PerformanceIntensive/SingleGraphDashboardThreeDGraphs.tsx"],"sourcesContent":["import { P } from '@undp/design-system-react/Typography';\r\n\r\nimport { ThreeDGlobe } from '../../Graphs/Maps/ThreeDGlobe';\r\n\r\nimport { getValues } from '@/Utils/getValues';\r\nimport { GraphConfigurationDataType, GraphSettingsDataType, ThreeDGraphType } from '@/Types';\r\n\r\ninterface Props {\r\n graph: ThreeDGraphType;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n graphData: any;\r\n settings?: GraphSettingsDataType;\r\n debugMode?: boolean;\r\n graphDataConfiguration?: GraphConfigurationDataType[];\r\n readableHeader: {\r\n value: string;\r\n label: string;\r\n }[];\r\n updateFilters?: (_d: string) => void;\r\n}\r\n\r\nfunction ThreeDGraphEl(props: Props) {\r\n const {\r\n settings,\r\n graph,\r\n graphData,\r\n debugMode,\r\n graphDataConfiguration,\r\n readableHeader,\r\n updateFilters,\r\n } = props;\r\n if (debugMode) {\r\n // eslint-disable-next-line no-console\r\n console.log(`Graph: ${graph}`);\r\n // eslint-disable-next-line no-console\r\n console.log('Transformed data:', graphData);\r\n // eslint-disable-next-line no-console\r\n console.log('Settings:', settings);\r\n }\r\n if (typeof graphData === 'string')\r\n return (\r\n <div\r\n className={`flex my-0 mx-auto grow flex-col justify-center ${\r\n settings?.width ? 'w-fit' : 'w-full'\r\n }`}\r\n style={{ height: 'inherit' }}\r\n >\r\n <P\r\n size='sm'\r\n marginBottom='none'\r\n className='p-2 text-center text-accent-dark-red dark:text-accent-red'\r\n >\r\n {graphData}\r\n </P>\r\n </div>\r\n );\r\n const graphComponents: Record<ThreeDGraphType, React.ElementType | null> = {\r\n threeDGlobe: ThreeDGlobe,\r\n };\r\n const getGraphProps = (graphType: ThreeDGraphType) => {\r\n switch (graphType) {\r\n case 'threeDGlobe':\r\n return {\r\n numberDisplayOptions: settings?.numberDisplayOptions,\r\n globeOffset: settings?.globeOffset,\r\n collapseColorScaleByDefault: settings?.collapseColorScaleByDefault,\r\n polygonAltitude: settings?.polygonAltitude,\r\n highlightedIds: settings?.highlightedIds,\r\n scale: settings?.scale,\r\n theme: settings?.theme,\r\n resetSelectionOnDoubleClick: settings?.resetSelectionOnDoubleClick,\r\n graphTitle: settings?.graphTitle,\r\n mapData: settings?.mapData,\r\n graphDescription: settings?.graphDescription,\r\n footNote: settings?.footNote,\r\n width: settings?.width,\r\n height: settings?.height,\r\n sources: settings?.sources,\r\n colorDomain: settings?.colorDomain as string[] | number[],\r\n colors: settings?.colors as string[] | undefined,\r\n colorLegendTitle:\r\n Object.keys(settings || {}).indexOf('colorLegendTitle') !== -1\r\n ? settings?.colorLegendTitle\r\n : getValues('x', graphDataConfiguration || [], readableHeader || []),\r\n scaleType: settings?.scaleType,\r\n data: graphData,\r\n centerPoint: settings?.centerPoint,\r\n backgroundColor: settings?.backgroundColor,\r\n mapNoDataColor: settings?.mapNoDataColor,\r\n mapBorderColor: settings?.mapBorderColor,\r\n relativeHeight: settings?.relativeHeight,\r\n padding: settings?.padding,\r\n tooltip: settings?.tooltip,\r\n showColorScale: settings?.showColorScale,\r\n graphID: settings?.graphID,\r\n dataDownload: settings?.dataDownload,\r\n mapProperty: settings?.mapProperty,\r\n language: settings?.language,\r\n minHeight: settings?.minHeight,\r\n ariaLabel: settings?.ariaLabel,\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseClick: (el: any) => {\r\n updateFilters?.(el.id);\r\n },\r\n detailsOnClick: settings?.detailsOnClick,\r\n styles: settings?.styles,\r\n classNames: settings?.classNames,\r\n autoRotate: settings?.autoRotate,\r\n globeMaterial: settings?.globeMaterial,\r\n atmosphereColor: settings?.atmosphereColor,\r\n enableZoom: settings?.enableZoom,\r\n atmosphereAltitude: settings?.atmosphereAltitude,\r\n globeCurvatureResolution: settings?.globeCurvatureResolution,\r\n fogSettings: settings?.fogSetting,\r\n lights: settings?.lights,\r\n highlightedAltitude: settings?.highlightedAltitude,\r\n selectedId: settings?.selectedId,\r\n };\r\n default:\r\n return {};\r\n }\r\n };\r\n const GraphComponent = graphComponents[graph];\r\n const graphProps = getGraphProps(graph);\r\n return (\r\n <div\r\n className={`grow my-0 mx-auto flex flex-col w-full justify-center ${settings?.theme || 'light'}`}\r\n style={{ minHeight: 'inherit' }}\r\n >\r\n {GraphComponent ? (\r\n <GraphComponent {...graphProps} />\r\n ) : (\r\n <P\r\n size='sm'\r\n marginBottom='none'\r\n className='p-2 text-center text-accent-dark-red dark:text-accent-red'\r\n >\r\n {`Invalid chart type: ${graph}`}\r\n </P>\r\n )}\r\n </div>\r\n );\r\n}\r\n\r\nexport default ThreeDGraphEl;\r\n","import { useEffect, useEffectEvent, useRef, useState } from 'react';\r\nimport intersection from 'lodash.intersection';\r\nimport flattenDeep from 'lodash.flattendeep';\r\nimport isEqual from 'fast-deep-equal';\r\nimport { createFilter, DropdownSelect } from '@undp/design-system-react/DropdownSelect';\r\nimport { CheckboxGroup, CheckboxGroupItem } from '@undp/design-system-react/CheckboxGroup';\r\nimport { RadioGroup, RadioGroupItem } from '@undp/design-system-react/RadioGroup';\r\nimport { Spinner } from '@undp/design-system-react/Spinner';\r\nimport { Label } from '@undp/design-system-react/Label';\r\n\r\nimport ThreeDGraphEl from './ThreeDGraphEl';\r\n\r\nimport {\r\n AdvancedDataSelectionDataType,\r\n AggregationSettingsDataType,\r\n DataFilterDataType,\r\n DataSelectionDataType,\r\n DataSettingsDataType,\r\n FilterSettingsDataType,\r\n FilterUiSettingsDataType,\r\n GraphConfigurationDataType,\r\n GraphSettingsDataType,\r\n HighlightDataPointSettingsDataType,\r\n ThreeDGraphType,\r\n} from '@/Types';\r\nimport {\r\n fetchAndParseCSV,\r\n fetchAndParseJSON,\r\n fetchAndParseMultipleDataSources,\r\n fetchAndTransformDataFromAPI,\r\n} from '@/Utils/fetchAndParseData';\r\nimport { transformDataForGraph } from '@/Utils/transformData/transformDataForGraph';\r\nimport { getUniqValue } from '@/Utils/getUniqValue';\r\nimport { transformDataForAggregation } from '@/Utils/transformData/transformDataForAggregation';\r\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\r\nimport { filterData } from '@/Utils/transformData/filterData';\r\nimport { checkIfMultiple } from '@/Utils/checkIfMultiple';\r\nimport { transformColumnsToArray } from '@/Utils/transformData/transformColumnsToArray';\r\nimport { graphList } from '@/Utils/getGraphList';\r\nimport { transformDefaultValue } from '@/Utils/transformDataForSelect';\r\nimport { GraphContainer } from '@/Components/Elements/GraphContainer';\r\n\r\ninterface Props {\r\n graphSettings?: GraphSettingsDataType;\r\n readableHeader?: {\r\n value: string;\r\n label: string;\r\n }[];\r\n dataSettings: DataSettingsDataType;\r\n filters?: FilterUiSettingsDataType[];\r\n highlightDataPointSettings?: HighlightDataPointSettingsDataType;\r\n noOfFiltersPerRow?: number;\r\n graphType: ThreeDGraphType;\r\n dataTransform?: {\r\n keyColumn: string;\r\n aggregationColumnsSetting?: AggregationSettingsDataType[];\r\n };\r\n dataFilters?: DataFilterDataType[];\r\n graphDataConfiguration?: GraphConfigurationDataType[];\r\n dataSelectionOptions?: DataSelectionDataType[];\r\n advancedDataSelectionOptions?: AdvancedDataSelectionDataType[];\r\n debugMode?: boolean;\r\n uiMode?: 'light' | 'normal';\r\n updateFilters?: (_d: string) => void;\r\n}\r\n\r\nconst getGraphSettings = (\r\n dataSelectionOptions: DataSelectionDataType[],\r\n updatedConfig?: GraphConfigurationDataType[],\r\n) => {\r\n const updatedSettings =\r\n updatedConfig?.map(c => {\r\n const indx = dataSelectionOptions?.findIndex(opt => opt.chartConfigId === c.chartConfigId);\r\n if (indx === -1) return {};\r\n const allowedValIndx = dataSelectionOptions[indx]?.allowedColumnIds?.findIndex(\r\n col => col.value === c.columnId,\r\n );\r\n if (allowedValIndx === -1) return {};\r\n return dataSelectionOptions[indx].allowedColumnIds[allowedValIndx].graphSettings || {};\r\n }) || [];\r\n return Object.assign({}, ...updatedSettings);\r\n};\r\n\r\nexport function SingleGraphDashboardThreeDGraphs(props: Props) {\r\n const {\r\n graphSettings,\r\n dataSettings,\r\n filters,\r\n graphType,\r\n dataTransform,\r\n graphDataConfiguration,\r\n dataFilters,\r\n debugMode,\r\n dataSelectionOptions,\r\n advancedDataSelectionOptions,\r\n readableHeader,\r\n noOfFiltersPerRow = 4,\r\n updateFilters,\r\n uiMode = 'normal',\r\n highlightDataPointSettings,\r\n } = props;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [filteredData, setFilteredData] = useState<any>(undefined);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [data, setData] = useState<any>(undefined);\r\n const [graphConfig, setGraphConfig] = useState<GraphConfigurationDataType[] | undefined>(\r\n graphDataConfiguration,\r\n );\r\n const [advancedGraphSettings, setAdvancedGraphSettings] = useState<GraphSettingsDataType>({});\r\n const [highlightedDataPointList, setHighlightedDataPointList] = useState<\r\n (string | number)[] | undefined\r\n >(undefined);\r\n const [highlightedDataPointOptions, setHighlightedDataPointOption] = useState<\r\n { label: string | number; value: string | number }[]\r\n >([]);\r\n const graphParentDiv = useRef<HTMLDivElement>(null);\r\n\r\n const prevGraphDataConfigRef = useRef<GraphConfigurationDataType[] | undefined>(\r\n graphDataConfiguration,\r\n );\r\n const [filterSettings, setFilterSettings] = useState<FilterSettingsDataType[]>([]);\r\n\r\n const filterConfig = {\r\n ignoreCase: true,\r\n ignoreAccents: true,\r\n trim: true,\r\n };\r\n\r\n const updateFiltersEvent = useEffectEvent(() => {\r\n const filterSettingsTemp = (filters || []).map(el => ({\r\n filter: el.column,\r\n label: el.label || `Filter by ${el.column}`,\r\n singleSelect: el.singleSelect,\r\n clearable: el.clearable,\r\n defaultValue: transformDefaultValue(el.defaultValue),\r\n value: transformDefaultValue(el.defaultValue),\r\n availableValues: getUniqValue(data, el.column)\r\n .filter(v => !el.excludeValues?.includes(`${v}`))\r\n .map(v => ({ value: v, label: v })),\r\n allowSelectAll: el.allowSelectAll,\r\n width: el.width,\r\n }));\r\n setFilterSettings(filterSettingsTemp);\r\n });\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n try {\r\n const dataFromFile = dataSettings.dataURL\r\n ? typeof dataSettings.dataURL === 'string'\r\n ? dataSettings.fileType === 'json'\r\n ? await fetchAndParseJSON(\r\n dataSettings.dataURL,\r\n dataSettings.columnsToArray,\r\n dataSettings.dataTransformation,\r\n debugMode,\r\n )\r\n : dataSettings.fileType === 'api'\r\n ? await fetchAndTransformDataFromAPI(\r\n dataSettings.dataURL,\r\n dataSettings.apiHeaders,\r\n dataSettings.columnsToArray,\r\n dataSettings.dataTransformation,\r\n debugMode,\r\n )\r\n : await fetchAndParseCSV(\r\n dataSettings.dataURL,\r\n dataSettings.dataTransformation,\r\n dataSettings.columnsToArray,\r\n debugMode,\r\n dataSettings.delimiter,\r\n true,\r\n )\r\n : await fetchAndParseMultipleDataSources(\r\n dataSettings.dataURL,\r\n dataSettings.idColumnTitle,\r\n )\r\n : await transformColumnsToArray(dataSettings.data, dataSettings.columnsToArray);\r\n setData(dataFromFile);\r\n } catch (error) {\r\n console.error('Data fetching error:', error);\r\n }\r\n };\r\n fetchData();\r\n updateFiltersEvent();\r\n }, [dataSettings, debugMode]);\r\n\r\n useEffect(() => {\r\n updateFiltersEvent();\r\n }, [filters, data]);\r\n\r\n const filteredDataEvent = useEffectEvent(() => {\r\n if (!data || filterSettings.length === 0) setFilteredData(data);\r\n else {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const result = data.filter((item: any) =>\r\n filterSettings.every(filter =>\r\n filter.value && flattenDeep([filter.value]).length > 0\r\n ? intersection(\r\n flattenDeep([item[filter.filter]]),\r\n flattenDeep([filter.value]).map(el => el.value),\r\n ).length > 0\r\n : true,\r\n ),\r\n );\r\n setFilteredData(result);\r\n }\r\n });\r\n\r\n useEffect(() => {\r\n filteredDataEvent();\r\n }, [filterSettings, data]);\r\n\r\n useEffect(() => {\r\n if (dataSelectionOptions)\r\n // eslint-disable-next-line react-hooks/set-state-in-effect\r\n setAdvancedGraphSettings(getGraphSettings(dataSelectionOptions, graphDataConfiguration));\r\n }, [dataSelectionOptions, graphDataConfiguration]);\r\n\r\n const updateHighlightedDataPointOptions = useEffectEvent(() => {\r\n if (highlightDataPointSettings?.column && filteredData)\r\n setHighlightedDataPointOption(\r\n getUniqValue(filteredData, highlightDataPointSettings.column)\r\n .filter(v => !highlightDataPointSettings?.excludeValues?.includes(`${v}`))\r\n .map(d => ({ value: d, label: d })),\r\n );\r\n });\r\n\r\n useEffect(() => {\r\n updateHighlightedDataPointOptions();\r\n }, [highlightDataPointSettings]);\r\n\r\n useEffect(() => {\r\n if (!isEqual(prevGraphDataConfigRef.current, graphDataConfiguration)) {\r\n // eslint-disable-next-line react-hooks/set-state-in-effect\r\n setGraphConfig(graphDataConfiguration);\r\n prevGraphDataConfigRef.current = graphDataConfiguration;\r\n }\r\n }, [graphDataConfiguration]);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const handleFilterChange = (filter: string, values: any) => {\r\n setFilterSettings(prev => prev.map(f => (f.filter === filter ? { ...f, value: values } : f)));\r\n };\r\n\r\n const graphData = !data\r\n ? undefined\r\n : transformDataForGraph(\r\n dataTransform\r\n ? transformDataForAggregation(\r\n filterData(data, dataFilters || []),\r\n dataTransform.keyColumn,\r\n dataTransform.aggregationColumnsSetting,\r\n )\r\n : filterData(data, dataFilters || []),\r\n graphType,\r\n graphConfig,\r\n );\r\n return (\r\n <GraphContainer\r\n className={graphSettings?.classNames?.graphContainer}\r\n style={graphSettings?.styles?.graphContainer}\r\n id={graphSettings?.graphID}\r\n ref={graphParentDiv}\r\n aria-label={graphSettings?.ariaLabel}\r\n backgroundColor={graphSettings?.backgroundColor ?? false}\r\n theme={graphSettings?.theme || 'light'}\r\n language={graphSettings?.language || 'en'}\r\n width={graphSettings?.width}\r\n height={graphSettings?.height}\r\n padding={graphSettings?.padding}\r\n minHeight={graphSettings?.minHeight}\r\n relativeHeight={graphSettings?.relativeHeight}\r\n >\r\n {data ||\r\n graphList\r\n .filter(el => el.geoHubMapPresentation)\r\n .map(el => el.graphID)\r\n .indexOf(graphType) !== -1 ? (\r\n <>\r\n {advancedGraphSettings?.graphTitle ||\r\n advancedGraphSettings?.graphDescription ||\r\n graphSettings?.graphTitle ||\r\n graphSettings?.graphDescription ||\r\n graphSettings?.graphDownload ||\r\n graphSettings?.dataDownload ? (\r\n <GraphHeader\r\n styles={{\r\n title: advancedGraphSettings?.styles?.title || graphSettings?.styles?.title,\r\n description:\r\n advancedGraphSettings?.styles?.description || graphSettings?.styles?.description,\r\n }}\r\n classNames={{\r\n title: advancedGraphSettings?.classNames?.title || graphSettings?.classNames?.title,\r\n description:\r\n advancedGraphSettings?.classNames?.description ||\r\n graphSettings?.classNames?.description,\r\n }}\r\n graphTitle={advancedGraphSettings?.graphTitle || graphSettings?.graphTitle}\r\n graphDescription={\r\n advancedGraphSettings?.graphDescription || graphSettings?.graphDescription\r\n }\r\n width={advancedGraphSettings?.width || graphSettings?.width}\r\n graphDownload={graphSettings?.graphDownload ? graphParentDiv : undefined}\r\n dataDownload={\r\n graphSettings?.dataDownload && data ? (data.length > 0 ? data : null) : null\r\n }\r\n />\r\n ) : null}\r\n {filterSettings.length !== 0 ||\r\n (dataSelectionOptions || []).length !== 0 ||\r\n (advancedDataSelectionOptions || []).length !== 0 ||\r\n highlightDataPointSettings ? (\r\n <div className='flex flex-wrap items-start gap-x-4 gap-y-0 w-full'>\r\n {advancedDataSelectionOptions?.map((d, i) => (\r\n <div\r\n style={{\r\n width:\r\n d.width ||\r\n `calc(${100 / noOfFiltersPerRow}% - ${\r\n (noOfFiltersPerRow - 1) / noOfFiltersPerRow\r\n }rem)`,\r\n flexGrow: d.width ? 0 : 1,\r\n flexShrink: d.ui !== 'radio' || d.width ? 0 : 1,\r\n minWidth: '240px',\r\n }}\r\n key={i}\r\n className='pb-4'\r\n >\r\n <Label className='mb-2'>{d.label || 'Graph by'}</Label>\r\n {d.ui !== 'radio' ? (\r\n <DropdownSelect\r\n options={d.options.map(opt => ({\r\n ...opt,\r\n value: opt.label,\r\n }))}\r\n size='sm'\r\n isClearable={false}\r\n isSearchable\r\n variant={uiMode}\r\n controlShouldRenderValue\r\n defaultValue={\r\n d.defaultValue\r\n ? {\r\n ...d.defaultValue,\r\n value: d.defaultValue?.label,\r\n }\r\n : {\r\n ...d.options[0],\r\n value: d.options[0].label,\r\n }\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onChange={(el: any) => {\r\n setAdvancedGraphSettings(el?.graphSettings || {});\r\n setGraphConfig(el?.dataConfiguration);\r\n }}\r\n />\r\n ) : (\r\n <RadioGroup\r\n defaultValue={d.defaultValue?.label || d.options[0].label}\r\n variant={uiMode}\r\n onValueChange={el => {\r\n const selectedOption =\r\n d.options[d.options.findIndex(opt => opt.label === el)];\r\n setAdvancedGraphSettings(selectedOption.graphSettings || {});\r\n setGraphConfig(selectedOption.dataConfiguration);\r\n }}\r\n >\r\n {d.options.map((el, j) => (\r\n <RadioGroupItem label={el.label} value={el.label} key={j} />\r\n ))}\r\n </RadioGroup>\r\n )}\r\n </div>\r\n ))}\r\n {dataSelectionOptions?.map((d, i) => (\r\n <div\r\n style={{\r\n width:\r\n d.width ||\r\n `calc(${100 / noOfFiltersPerRow}% - ${\r\n (noOfFiltersPerRow - 1) / noOfFiltersPerRow\r\n }rem)`,\r\n flexGrow: d.width ? 0 : 1,\r\n flexShrink: d.ui !== 'radio' || d.width ? 0 : 1,\r\n minWidth: '240px',\r\n }}\r\n key={i}\r\n className='pb-4'\r\n >\r\n <Label className='mb-2'>{d.label || `Visualize ${d.chartConfigId} by`}</Label>\r\n {!checkIfMultiple(d.chartConfigId, graphConfig || []) ? (\r\n d.ui !== 'radio' ? (\r\n <DropdownSelect\r\n options={d.allowedColumnIds}\r\n size='sm'\r\n isClearable={false}\r\n isSearchable\r\n variant={uiMode}\r\n controlShouldRenderValue\r\n defaultValue={\r\n graphDataConfiguration\r\n ? d.allowedColumnIds[\r\n d.allowedColumnIds.findIndex(\r\n j =>\r\n j.value ===\r\n (graphDataConfiguration[\r\n graphDataConfiguration.findIndex(\r\n el => el.chartConfigId === d.chartConfigId,\r\n )\r\n ].columnId as string),\r\n )\r\n ]\r\n : undefined\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onChange={(el: any) => {\r\n const newGraphConfig = {\r\n columnId: el?.value as string,\r\n chartConfigId: d.chartConfigId,\r\n };\r\n const updatedConfig = graphConfig?.map(item =>\r\n item.chartConfigId === newGraphConfig.chartConfigId\r\n ? newGraphConfig\r\n : item,\r\n );\r\n setAdvancedGraphSettings(\r\n getGraphSettings(dataSelectionOptions, updatedConfig),\r\n );\r\n setGraphConfig(updatedConfig);\r\n }}\r\n />\r\n ) : (\r\n <RadioGroup\r\n variant={uiMode}\r\n defaultValue={\r\n graphDataConfiguration\r\n ? d.allowedColumnIds[\r\n d.allowedColumnIds.findIndex(\r\n j =>\r\n j.value ===\r\n (graphDataConfiguration[\r\n graphDataConfiguration.findIndex(\r\n el => el.chartConfigId === d.chartConfigId,\r\n )\r\n ].columnId as string),\r\n )\r\n ].label\r\n : ''\r\n }\r\n onValueChange={el => {\r\n const selectedOption =\r\n d.allowedColumnIds[\r\n d.allowedColumnIds.findIndex(opt => opt.label === el)\r\n ];\r\n const newGraphConfig = {\r\n columnId: selectedOption.value,\r\n chartConfigId: d.chartConfigId,\r\n };\r\n const updatedConfig = graphConfig?.map(item =>\r\n item.chartConfigId === newGraphConfig.chartConfigId\r\n ? newGraphConfig\r\n : item,\r\n );\r\n setAdvancedGraphSettings(\r\n getGraphSettings(dataSelectionOptions, updatedConfig),\r\n );\r\n setGraphConfig(updatedConfig);\r\n }}\r\n >\r\n {d.allowedColumnIds.map((el, j) => (\r\n <RadioGroupItem label={el.label} value={el.label} key={j} />\r\n ))}\r\n </RadioGroup>\r\n )\r\n ) : d.ui !== 'radio' ? (\r\n <DropdownSelect\r\n options={d.allowedColumnIds}\r\n size='sm'\r\n isMulti\r\n isSearchable\r\n variant={uiMode}\r\n controlShouldRenderValue\r\n defaultValue={\r\n graphDataConfiguration\r\n ? (\r\n graphDataConfiguration[\r\n graphDataConfiguration.findIndex(\r\n el => el.chartConfigId === d.chartConfigId,\r\n )\r\n ].columnId as string[]\r\n ).map(\r\n el =>\r\n d.allowedColumnIds[\r\n d.allowedColumnIds.findIndex(j => j.value === el)\r\n ],\r\n )\r\n : undefined\r\n }\r\n filterOption={createFilter(filterConfig)}\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onChange={(el: any) => {\r\n const newGraphConfig = {\r\n columnId: (el || []).map(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (item: any) => item.value,\r\n ) as string[],\r\n chartConfigId: d.chartConfigId,\r\n };\r\n const updatedConfig = graphConfig?.map(item =>\r\n item.chartConfigId === newGraphConfig.chartConfigId\r\n ? newGraphConfig\r\n : item,\r\n );\r\n setGraphConfig(updatedConfig);\r\n }}\r\n />\r\n ) : (\r\n <CheckboxGroup\r\n variant={uiMode}\r\n defaultValue={\r\n graphDataConfiguration\r\n ? (\r\n graphDataConfiguration[\r\n graphDataConfiguration.findIndex(\r\n el => el.chartConfigId === d.chartConfigId,\r\n )\r\n ].columnId as string[]\r\n )\r\n .map(\r\n el =>\r\n d.allowedColumnIds[\r\n d.allowedColumnIds.findIndex(j => j.value === el)\r\n ],\r\n )\r\n .map(el => el.value)\r\n : []\r\n }\r\n onValueChange={el => {\r\n const newGraphConfig = {\r\n columnId: el || [],\r\n chartConfigId: d.chartConfigId,\r\n };\r\n const updatedConfig = graphConfig?.map(item =>\r\n item.chartConfigId === newGraphConfig.chartConfigId\r\n ? newGraphConfig\r\n : item,\r\n );\r\n setGraphConfig(updatedConfig);\r\n }}\r\n >\r\n {d.allowedColumnIds.map((el, j) => (\r\n <CheckboxGroupItem label={el.label} value={el.label} key={j} />\r\n ))}\r\n </CheckboxGroup>\r\n )}\r\n </div>\r\n ))}\r\n {filterSettings?.map((d, i) => (\r\n <div\r\n style={{\r\n width:\r\n d.width ||\r\n `calc(${100 / noOfFiltersPerRow}% - ${\r\n (noOfFiltersPerRow - 1) / noOfFiltersPerRow\r\n }rem)`,\r\n flexGrow: d.width ? 0 : 1,\r\n flexShrink: d.ui !== 'radio' || d.width ? 0 : 1,\r\n minWidth: '240px',\r\n }}\r\n key={i}\r\n className='pb-4'\r\n >\r\n <Label className='mb-2'>{d.label}</Label>\r\n {d.singleSelect ? (\r\n d.ui !== 'radio' ? (\r\n <DropdownSelect\r\n options={d.availableValues}\r\n variant={uiMode}\r\n isClearable={d.clearable === undefined ? true : d.clearable}\r\n isSearchable\r\n controlShouldRenderValue\r\n filterOption={createFilter(filterConfig)}\r\n onChange={el => {\r\n handleFilterChange(d.filter, el);\r\n }}\r\n value={d.value}\r\n defaultValue={d.defaultValue}\r\n />\r\n ) : (\r\n <RadioGroup\r\n variant={uiMode}\r\n defaultValue={(d.defaultValue as { value: string; label: string }).value}\r\n onValueChange={el => {\r\n handleFilterChange(\r\n d.filter,\r\n d.availableValues.filter(v => v.value === el),\r\n );\r\n }}\r\n >\r\n {d.availableValues.map((el, j) => (\r\n <RadioGroupItem label={`${el.label}`} value={`${el.value}`} key={j} />\r\n ))}\r\n </RadioGroup>\r\n )\r\n ) : (\r\n <>\r\n {d.ui !== 'radio' ? (\r\n <DropdownSelect\r\n options={d.availableValues}\r\n variant={uiMode}\r\n size='sm'\r\n isMulti\r\n isClearable={d.clearable === undefined ? true : d.clearable}\r\n isSearchable\r\n controlShouldRenderValue\r\n filterOption={createFilter(filterConfig)}\r\n onChange={el => {\r\n handleFilterChange(d.filter, el);\r\n }}\r\n value={d.value}\r\n defaultValue={d.defaultValue}\r\n />\r\n ) : (\r\n <CheckboxGroup\r\n variant={uiMode}\r\n defaultValue={\r\n d.defaultValue\r\n ? (\r\n d.defaultValue as {\r\n value: string | number;\r\n label: string | number;\r\n }[]\r\n ).map(el => `${el.value}`)\r\n : []\r\n }\r\n value={\r\n d.value\r\n ? (\r\n d.value as {\r\n value: string | number;\r\n label: string | number;\r\n }[]\r\n ).map(el => `${el.value}`)\r\n : undefined\r\n }\r\n onValueChange={el => {\r\n handleFilterChange(\r\n d.filter,\r\n d.availableValues.filter(v => el.indexOf(`${v.value}`) !== -1),\r\n );\r\n }}\r\n >\r\n {d.availableValues.map((el, j) => (\r\n <CheckboxGroupItem\r\n label={`${el.label}`}\r\n value={`${el.value}`}\r\n key={j}\r\n />\r\n ))}\r\n </CheckboxGroup>\r\n )}\r\n {d.allowSelectAll ? (\r\n <button\r\n type='button'\r\n className='bg-transparent border-0 p-0 mt-2 cursor-pointer text-primary-blue-600 dark:text-primary-blue-400'\r\n onClick={() => {\r\n handleFilterChange(d.filter, d.availableValues);\r\n }}\r\n >\r\n Select all options\r\n </button>\r\n ) : null}\r\n </>\r\n )}\r\n </div>\r\n ))}\r\n {highlightDataPointSettings ? (\r\n <div\r\n style={{\r\n width:\r\n highlightDataPointSettings.width ||\r\n `calc(${100 / noOfFiltersPerRow}% - ${\r\n (noOfFiltersPerRow - 1) / noOfFiltersPerRow\r\n }rem)`,\r\n flexGrow: highlightDataPointSettings.width ? 0 : 1,\r\n flexShrink: 0,\r\n minWidth: '240px',\r\n }}\r\n className='pb-4'\r\n >\r\n <Label className='mb-2'>\r\n {highlightDataPointSettings.label || 'Highlight data'}\r\n </Label>\r\n <DropdownSelect\r\n options={highlightedDataPointOptions}\r\n variant={uiMode}\r\n size='sm'\r\n isMulti\r\n isClearable\r\n isSearchable\r\n controlShouldRenderValue\r\n filterOption={createFilter(filterConfig)}\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onChange={(el: any) => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n setHighlightedDataPointList(el?.map((d: any) => d.value));\r\n }}\r\n value={highlightedDataPointList?.map(d => ({\r\n label: d,\r\n value: d,\r\n }))}\r\n defaultValue={highlightDataPointSettings.defaultValues?.map(d => ({\r\n label: d,\r\n value: d,\r\n }))}\r\n />\r\n </div>\r\n ) : null}\r\n </div>\r\n ) : null}\r\n <ThreeDGraphEl\r\n graph={graphType}\r\n graphData={graphData}\r\n graphDataConfiguration={graphConfig}\r\n debugMode={debugMode}\r\n readableHeader={readableHeader || []}\r\n updateFilters={updateFilters}\r\n settings={{\r\n ...(graphSettings || {}),\r\n ...advancedGraphSettings,\r\n graphTitle: undefined,\r\n graphDescription: undefined,\r\n graphDownload: false,\r\n dataDownload: false,\r\n backgroundColor: undefined,\r\n padding: '0',\r\n width: undefined,\r\n height: undefined,\r\n relativeHeight: undefined,\r\n minHeight: undefined,\r\n theme: graphSettings?.theme,\r\n ...(highlightedDataPointList\r\n ? {\r\n highlightedDataPoints: highlightedDataPointList,\r\n highlightedIds: highlightedDataPointList?.map(d => `${d}`),\r\n highlightedLines: highlightedDataPointList?.map(d => d),\r\n }\r\n : {}),\r\n }}\r\n />\r\n </>\r\n ) : (\r\n <div className='w-full flex justify-center p-4'>\r\n <Spinner />\r\n </div>\r\n )}\r\n </GraphContainer>\r\n );\r\n}\r\n"],"names":["ThreeDGraphEl","props","$","_c","settings","graph","graphData","debugMode","graphDataConfiguration","readableHeader","updateFilters","console","log","t0","width","t1","Symbol","for","height","t2","P","t3","threeDGlobe","ThreeDGlobe","graphComponents","graphType","numberDisplayOptions","globeOffset","collapseColorScaleByDefault","polygonAltitude","highlightedIds","scale","theme","resetSelectionOnDoubleClick","graphTitle","mapData","graphDescription","footNote","sources","colorDomain","colors","colorLegendTitle","Object","keys","indexOf","getValues","scaleType","data","centerPoint","backgroundColor","mapNoDataColor","mapBorderColor","relativeHeight","padding","tooltip","showColorScale","graphID","dataDownload","mapProperty","language","minHeight","ariaLabel","onSeriesMouseClick","el","id","detailsOnClick","styles","classNames","autoRotate","globeMaterial","atmosphereColor","enableZoom","atmosphereAltitude","globeCurvatureResolution","fogSettings","fogSetting","lights","highlightedAltitude","selectedId","getGraphProps","GraphComponent","graphProps","t4","t5","jsx","t6","getGraphSettings","dataSelectionOptions","updatedConfig","updatedSettings","map","c","indx","findIndex","opt","chartConfigId","allowedValIndx","allowedColumnIds","col","value","columnId","graphSettings","assign","SingleGraphDashboardThreeDGraphs","dataSettings","filters","dataTransform","dataFilters","advancedDataSelectionOptions","noOfFiltersPerRow","uiMode","highlightDataPointSettings","filteredData","setFilteredData","useState","undefined","setData","graphConfig","setGraphConfig","advancedGraphSettings","setAdvancedGraphSettings","highlightedDataPointList","setHighlightedDataPointList","highlightedDataPointOptions","setHighlightedDataPointOption","graphParentDiv","useRef","prevGraphDataConfigRef","filterSettings","setFilterSettings","filterConfig","ignoreCase","ignoreAccents","trim","updateFiltersEvent","useEffectEvent","filterSettingsTemp","filter","column","label","singleSelect","clearable","defaultValue","transformDefaultValue","availableValues","getUniqValue","v","excludeValues","includes","allowSelectAll","useEffect","fetchData","dataFromFile","dataURL","fileType","fetchAndParseJSON","columnsToArray","dataTransformation","fetchAndTransformDataFromAPI","apiHeaders","fetchAndParseCSV","delimiter","fetchAndParseMultipleDataSources","idColumnTitle","transformColumnsToArray","error","filteredDataEvent","length","result","item","every","flattenDeep","intersection","updateHighlightedDataPointOptions","d","isEqual","current","handleFilterChange","values","prev","f","transformDataForGraph","transformDataForAggregation","filterData","keyColumn","aggregationColumnsSetting","GraphContainer","graphContainer","graphList","geoHubMapPresentation","jsxs","Fragment","graphDownload","GraphHeader","title","description","i","flexGrow","flexShrink","ui","minWidth","Label","DropdownSelect","options","dataConfiguration","RadioGroup","selectedOption","j","RadioGroupItem","checkIfMultiple","createFilter","newGraphConfig","CheckboxGroup","CheckboxGroupItem","defaultValues","highlightedDataPoints","highlightedLines","Spinner"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SingleGraphDashboardThreeDGraphs.js","sources":["../src/Components/Dashboard/PerformanceIntensive/ThreeDGraphEl.tsx","../src/Components/Dashboard/PerformanceIntensive/SingleGraphDashboardThreeDGraphs.tsx"],"sourcesContent":["import { P } from '@undp/design-system-react/Typography';\r\n\r\nimport { ThreeDGlobe } from '../../Graphs/Maps/ThreeDGlobe';\r\n\r\nimport { getValues } from '@/Utils/getValues';\r\nimport { GraphConfigurationDataType, GraphSettingsDataType, ThreeDGraphType } from '@/Types';\r\n\r\ninterface Props {\r\n graph: ThreeDGraphType;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n graphData: any;\r\n settings?: GraphSettingsDataType;\r\n debugMode?: boolean;\r\n graphDataConfiguration?: GraphConfigurationDataType[];\r\n readableHeader: {\r\n value: string;\r\n label: string;\r\n }[];\r\n updateFilters?: (_d: string) => void;\r\n}\r\n\r\nfunction ThreeDGraphEl(props: Props) {\r\n const {\r\n settings,\r\n graph,\r\n graphData,\r\n debugMode,\r\n graphDataConfiguration,\r\n readableHeader,\r\n updateFilters,\r\n } = props;\r\n if (debugMode) {\r\n // eslint-disable-next-line no-console\r\n console.log(`Graph: ${graph}`);\r\n // eslint-disable-next-line no-console\r\n console.log('Transformed data:', graphData);\r\n // eslint-disable-next-line no-console\r\n console.log('Settings:', settings);\r\n }\r\n if (typeof graphData === 'string')\r\n return (\r\n <div\r\n className={`flex my-0 mx-auto grow flex-col justify-center ${\r\n settings?.width ? 'w-fit' : 'w-full'\r\n }`}\r\n style={{ height: 'inherit' }}\r\n >\r\n <P\r\n size='sm'\r\n marginBottom='none'\r\n className='p-2 text-center text-accent-dark-red dark:text-accent-red'\r\n >\r\n {graphData}\r\n </P>\r\n </div>\r\n );\r\n const graphComponents: Record<ThreeDGraphType, React.ElementType | null> = {\r\n threeDGlobe: ThreeDGlobe,\r\n };\r\n const getGraphProps = (graphType: ThreeDGraphType) => {\r\n switch (graphType) {\r\n case 'threeDGlobe':\r\n return {\r\n numberDisplayOptions: settings?.numberDisplayOptions,\r\n globeOffset: settings?.globeOffset,\r\n collapseColorScaleByDefault: settings?.collapseColorScaleByDefault,\r\n polygonAltitude: settings?.polygonAltitude,\r\n highlightedIds: settings?.highlightedIds,\r\n scale: settings?.scale,\r\n theme: settings?.theme,\r\n resetSelectionOnDoubleClick: settings?.resetSelectionOnDoubleClick,\r\n graphTitle: settings?.graphTitle,\r\n mapData: settings?.mapData,\r\n graphDescription: settings?.graphDescription,\r\n footNote: settings?.footNote,\r\n width: settings?.width,\r\n height: settings?.height,\r\n sources: settings?.sources,\r\n colorDomain: settings?.colorDomain as string[] | number[],\r\n colors: settings?.colors as string[] | undefined,\r\n colorLegendTitle:\r\n Object.keys(settings || {}).indexOf('colorLegendTitle') !== -1\r\n ? settings?.colorLegendTitle\r\n : getValues('x', graphDataConfiguration || [], readableHeader || []),\r\n scaleType: settings?.scaleType,\r\n data: graphData,\r\n centerPoint: settings?.centerPoint,\r\n backgroundColor: settings?.backgroundColor,\r\n mapNoDataColor: settings?.mapNoDataColor,\r\n mapBorderColor: settings?.mapBorderColor,\r\n relativeHeight: settings?.relativeHeight,\r\n padding: settings?.padding,\r\n tooltip: settings?.tooltip,\r\n showColorScale: settings?.showColorScale,\r\n graphID: settings?.graphID,\r\n dataDownload: settings?.dataDownload,\r\n mapProperty: settings?.mapProperty,\r\n language: settings?.language,\r\n minHeight: settings?.minHeight,\r\n ariaLabel: settings?.ariaLabel,\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseClick: (el: any) => {\r\n updateFilters?.(el.id);\r\n },\r\n detailsOnClick: settings?.detailsOnClick,\r\n styles: settings?.styles,\r\n classNames: settings?.classNames,\r\n autoRotate: settings?.autoRotate,\r\n globeMaterial: settings?.globeMaterial,\r\n atmosphereColor: settings?.atmosphereColor,\r\n enableZoom: settings?.enableZoom,\r\n atmosphereAltitude: settings?.atmosphereAltitude,\r\n globeCurvatureResolution: settings?.globeCurvatureResolution,\r\n fogSettings: settings?.fogSetting,\r\n lights: settings?.lights,\r\n highlightedAltitude: settings?.highlightedAltitude,\r\n selectedId: settings?.selectedId,\r\n };\r\n default:\r\n return {};\r\n }\r\n };\r\n const GraphComponent = graphComponents[graph];\r\n const graphProps = getGraphProps(graph);\r\n return (\r\n <div\r\n className={`grow my-0 mx-auto flex flex-col w-full justify-center ${settings?.theme || 'light'}`}\r\n style={{ minHeight: 'inherit' }}\r\n >\r\n {GraphComponent ? (\r\n <GraphComponent {...graphProps} />\r\n ) : (\r\n <P\r\n size='sm'\r\n marginBottom='none'\r\n className='p-2 text-center text-accent-dark-red dark:text-accent-red'\r\n >\r\n {`Invalid chart type: ${graph}`}\r\n </P>\r\n )}\r\n </div>\r\n );\r\n}\r\n\r\nexport default ThreeDGraphEl;\r\n","import { useEffect, useEffectEvent, useRef, useState } from 'react';\r\nimport intersection from 'lodash.intersection';\r\nimport flattenDeep from 'lodash.flattendeep';\r\nimport isEqual from 'fast-deep-equal';\r\nimport { createFilter, DropdownSelect } from '@undp/design-system-react/DropdownSelect';\r\nimport { CheckboxGroup, CheckboxGroupItem } from '@undp/design-system-react/CheckboxGroup';\r\nimport { RadioGroup, RadioGroupItem } from '@undp/design-system-react/RadioGroup';\r\nimport { Spinner } from '@undp/design-system-react/Spinner';\r\nimport { Label } from '@undp/design-system-react/Label';\r\n\r\nimport ThreeDGraphEl from './ThreeDGraphEl';\r\n\r\nimport {\r\n AdvancedDataSelectionDataType,\r\n AggregationSettingsDataType,\r\n DataFilterDataType,\r\n DataSelectionDataType,\r\n DataSettingsDataType,\r\n FilterSettingsDataType,\r\n FilterUiSettingsDataType,\r\n GraphConfigurationDataType,\r\n GraphSettingsDataType,\r\n HighlightDataPointSettingsDataType,\r\n ThreeDGraphType,\r\n} from '@/Types';\r\nimport {\r\n fetchAndParseCSV,\r\n fetchAndParseJSON,\r\n fetchAndParseMultipleDataSources,\r\n fetchAndTransformDataFromAPI,\r\n} from '@/Utils/fetchAndParseData';\r\nimport { transformDataForGraph } from '@/Utils/transformData/transformDataForGraph';\r\nimport { getUniqValue } from '@/Utils/getUniqValue';\r\nimport { transformDataForAggregation } from '@/Utils/transformData/transformDataForAggregation';\r\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\r\nimport { filterData } from '@/Utils/transformData/filterData';\r\nimport { checkIfMultiple } from '@/Utils/checkIfMultiple';\r\nimport { transformColumnsToArray } from '@/Utils/transformData/transformColumnsToArray';\r\nimport { graphList } from '@/Utils/getGraphList';\r\nimport { transformDefaultValue } from '@/Utils/transformDataForSelect';\r\nimport { GraphContainer } from '@/Components/Elements/GraphContainer';\r\n\r\ninterface Props {\r\n graphSettings?: GraphSettingsDataType;\r\n readableHeader?: {\r\n value: string;\r\n label: string;\r\n }[];\r\n dataSettings: DataSettingsDataType;\r\n filters?: FilterUiSettingsDataType[];\r\n highlightDataPointSettings?: HighlightDataPointSettingsDataType;\r\n noOfFiltersPerRow?: number;\r\n graphType: ThreeDGraphType;\r\n dataTransform?: {\r\n keyColumn: string;\r\n aggregationColumnsSetting?: AggregationSettingsDataType[];\r\n };\r\n dataFilters?: DataFilterDataType[];\r\n graphDataConfiguration?: GraphConfigurationDataType[];\r\n dataSelectionOptions?: DataSelectionDataType[];\r\n advancedDataSelectionOptions?: AdvancedDataSelectionDataType[];\r\n debugMode?: boolean;\r\n uiMode?: 'light' | 'normal';\r\n updateFilters?: (_d: string) => void;\r\n}\r\n\r\nconst getGraphSettings = (\r\n dataSelectionOptions: DataSelectionDataType[],\r\n updatedConfig?: GraphConfigurationDataType[],\r\n) => {\r\n const updatedSettings =\r\n updatedConfig?.map(c => {\r\n const indx = dataSelectionOptions?.findIndex(opt => opt.chartConfigId === c.chartConfigId);\r\n if (indx === -1) return {};\r\n const allowedValIndx = dataSelectionOptions[indx]?.allowedColumnIds?.findIndex(\r\n col => col.value === c.columnId,\r\n );\r\n if (allowedValIndx === -1) return {};\r\n return dataSelectionOptions[indx].allowedColumnIds[allowedValIndx].graphSettings || {};\r\n }) || [];\r\n return Object.assign({}, ...updatedSettings);\r\n};\r\n\r\nexport function SingleGraphDashboardThreeDGraphs(props: Props) {\r\n const {\r\n graphSettings,\r\n dataSettings,\r\n filters,\r\n graphType,\r\n dataTransform,\r\n graphDataConfiguration,\r\n dataFilters,\r\n debugMode,\r\n dataSelectionOptions,\r\n advancedDataSelectionOptions,\r\n readableHeader,\r\n noOfFiltersPerRow = 4,\r\n updateFilters,\r\n uiMode = 'normal',\r\n highlightDataPointSettings,\r\n } = props;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [filteredData, setFilteredData] = useState<any>(undefined);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [data, setData] = useState<any>(undefined);\r\n const [graphConfig, setGraphConfig] = useState<GraphConfigurationDataType[] | undefined>(\r\n graphDataConfiguration,\r\n );\r\n const [advancedGraphSettings, setAdvancedGraphSettings] = useState<GraphSettingsDataType>({});\r\n const [highlightedDataPointList, setHighlightedDataPointList] = useState<\r\n (string | number)[] | undefined\r\n >(undefined);\r\n const [highlightedDataPointOptions, setHighlightedDataPointOption] = useState<\r\n { label: string | number; value: string | number }[]\r\n >([]);\r\n const graphParentDiv = useRef<HTMLDivElement>(null);\r\n\r\n const prevGraphDataConfigRef = useRef<GraphConfigurationDataType[] | undefined>(\r\n graphDataConfiguration,\r\n );\r\n const [filterSettings, setFilterSettings] = useState<FilterSettingsDataType[]>([]);\r\n\r\n const filterConfig = {\r\n ignoreCase: true,\r\n ignoreAccents: true,\r\n trim: true,\r\n };\r\n\r\n const updateFiltersEvent = useEffectEvent(() => {\r\n const filterSettingsTemp = (filters || []).map(el => ({\r\n filter: el.column,\r\n label: el.label || `Filter by ${el.column}`,\r\n singleSelect: el.singleSelect,\r\n clearable: el.clearable,\r\n defaultValue: transformDefaultValue(el.defaultValue),\r\n value: transformDefaultValue(el.defaultValue),\r\n availableValues: getUniqValue(data, el.column)\r\n .filter(v => !el.excludeValues?.includes(`${v}`))\r\n .map(v => ({ value: v, label: v })),\r\n allowSelectAll: el.allowSelectAll,\r\n width: el.width,\r\n }));\r\n setFilterSettings(filterSettingsTemp);\r\n });\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n try {\r\n const dataFromFile = dataSettings.dataURL\r\n ? typeof dataSettings.dataURL === 'string'\r\n ? dataSettings.fileType === 'json'\r\n ? await fetchAndParseJSON(\r\n dataSettings.dataURL,\r\n dataSettings.columnsToArray,\r\n dataSettings.dataTransformation,\r\n debugMode,\r\n )\r\n : dataSettings.fileType === 'api'\r\n ? await fetchAndTransformDataFromAPI(\r\n dataSettings.dataURL,\r\n dataSettings.apiHeaders,\r\n dataSettings.columnsToArray,\r\n dataSettings.dataTransformation,\r\n debugMode,\r\n )\r\n : await fetchAndParseCSV(\r\n dataSettings.dataURL,\r\n dataSettings.dataTransformation,\r\n dataSettings.columnsToArray,\r\n debugMode,\r\n dataSettings.delimiter,\r\n true,\r\n )\r\n : await fetchAndParseMultipleDataSources(\r\n dataSettings.dataURL,\r\n dataSettings.idColumnTitle,\r\n )\r\n : await transformColumnsToArray(dataSettings.data, dataSettings.columnsToArray);\r\n setData(dataFromFile);\r\n } catch (error) {\r\n console.error('Data fetching error:', error);\r\n }\r\n };\r\n fetchData();\r\n updateFiltersEvent();\r\n }, [dataSettings, debugMode]);\r\n\r\n useEffect(() => {\r\n updateFiltersEvent();\r\n }, [filters, data]);\r\n\r\n const filteredDataEvent = useEffectEvent(() => {\r\n if (!data || filterSettings.length === 0) setFilteredData(data);\r\n else {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const result = data.filter((item: any) =>\r\n filterSettings.every(filter =>\r\n filter.value && flattenDeep([filter.value]).length > 0\r\n ? intersection(\r\n flattenDeep([item[filter.filter]]),\r\n flattenDeep([filter.value]).map(el => el.value),\r\n ).length > 0\r\n : true,\r\n ),\r\n );\r\n setFilteredData(result);\r\n }\r\n });\r\n\r\n useEffect(() => {\r\n filteredDataEvent();\r\n }, [filterSettings, data]);\r\n\r\n useEffect(() => {\r\n if (dataSelectionOptions)\r\n // eslint-disable-next-line react-hooks/set-state-in-effect\r\n setAdvancedGraphSettings(getGraphSettings(dataSelectionOptions, graphDataConfiguration));\r\n }, [dataSelectionOptions, graphDataConfiguration]);\r\n\r\n const updateHighlightedDataPointOptions = useEffectEvent(() => {\r\n if (highlightDataPointSettings?.column && filteredData)\r\n setHighlightedDataPointOption(\r\n getUniqValue(filteredData, highlightDataPointSettings.column)\r\n .filter(v => !highlightDataPointSettings?.excludeValues?.includes(`${v}`))\r\n .map(d => ({ value: d, label: d })),\r\n );\r\n });\r\n\r\n useEffect(() => {\r\n updateHighlightedDataPointOptions();\r\n }, [highlightDataPointSettings]);\r\n\r\n useEffect(() => {\r\n if (!isEqual(prevGraphDataConfigRef.current, graphDataConfiguration)) {\r\n // eslint-disable-next-line react-hooks/set-state-in-effect\r\n setGraphConfig(graphDataConfiguration);\r\n prevGraphDataConfigRef.current = graphDataConfiguration;\r\n }\r\n }, [graphDataConfiguration]);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const handleFilterChange = (filter: string, values: any) => {\r\n setFilterSettings(prev => prev.map(f => (f.filter === filter ? { ...f, value: values } : f)));\r\n };\r\n\r\n const graphData = !data\r\n ? undefined\r\n : transformDataForGraph(\r\n dataTransform\r\n ? transformDataForAggregation(\r\n filterData(data, dataFilters || []),\r\n dataTransform.keyColumn,\r\n dataTransform.aggregationColumnsSetting,\r\n )\r\n : filterData(data, dataFilters || []),\r\n graphType,\r\n graphConfig,\r\n );\r\n return (\r\n <GraphContainer\r\n className={graphSettings?.classNames?.graphContainer}\r\n style={graphSettings?.styles?.graphContainer}\r\n id={graphSettings?.graphID}\r\n ref={graphParentDiv}\r\n aria-label={graphSettings?.ariaLabel}\r\n backgroundColor={graphSettings?.backgroundColor ?? false}\r\n theme={graphSettings?.theme || 'light'}\r\n language={graphSettings?.language || 'en'}\r\n width={graphSettings?.width}\r\n height={graphSettings?.height}\r\n padding={graphSettings?.padding}\r\n minHeight={graphSettings?.minHeight}\r\n relativeHeight={graphSettings?.relativeHeight}\r\n >\r\n {data ||\r\n graphList\r\n .filter(el => el.geoHubMapPresentation)\r\n .map(el => el.graphID)\r\n .indexOf(graphType) !== -1 ? (\r\n <>\r\n {advancedGraphSettings?.graphTitle ||\r\n advancedGraphSettings?.graphDescription ||\r\n graphSettings?.graphTitle ||\r\n graphSettings?.graphDescription ||\r\n graphSettings?.graphDownload ||\r\n graphSettings?.dataDownload ? (\r\n <GraphHeader\r\n styles={{\r\n title: advancedGraphSettings?.styles?.title || graphSettings?.styles?.title,\r\n description:\r\n advancedGraphSettings?.styles?.description || graphSettings?.styles?.description,\r\n }}\r\n classNames={{\r\n title: advancedGraphSettings?.classNames?.title || graphSettings?.classNames?.title,\r\n description:\r\n advancedGraphSettings?.classNames?.description ||\r\n graphSettings?.classNames?.description,\r\n }}\r\n graphTitle={advancedGraphSettings?.graphTitle || graphSettings?.graphTitle}\r\n graphDescription={\r\n advancedGraphSettings?.graphDescription || graphSettings?.graphDescription\r\n }\r\n width={advancedGraphSettings?.width || graphSettings?.width}\r\n graphDownload={graphSettings?.graphDownload ? graphParentDiv : undefined}\r\n dataDownload={\r\n graphSettings?.dataDownload && data ? (data.length > 0 ? data : null) : null\r\n }\r\n />\r\n ) : null}\r\n {filterSettings.length !== 0 ||\r\n (dataSelectionOptions || []).length !== 0 ||\r\n (advancedDataSelectionOptions || []).length !== 0 ||\r\n highlightDataPointSettings ? (\r\n <div className='flex flex-wrap items-start gap-x-4 gap-y-0 w-full'>\r\n {advancedDataSelectionOptions?.map((d, i) => (\r\n <div\r\n style={{\r\n width:\r\n d.width ||\r\n `calc(${100 / noOfFiltersPerRow}% - ${\r\n (noOfFiltersPerRow - 1) / noOfFiltersPerRow\r\n }rem)`,\r\n flexGrow: d.width ? 0 : 1,\r\n flexShrink: d.ui !== 'radio' || d.width ? 0 : 1,\r\n minWidth: '240px',\r\n }}\r\n key={i}\r\n className='pb-4'\r\n >\r\n <Label className='mb-2'>{d.label || 'Graph by'}</Label>\r\n {d.ui !== 'radio' ? (\r\n <DropdownSelect\r\n options={d.options.map(opt => ({\r\n ...opt,\r\n value: opt.label,\r\n }))}\r\n size='sm'\r\n isClearable={false}\r\n isSearchable\r\n variant={uiMode}\r\n controlShouldRenderValue\r\n defaultValue={\r\n d.defaultValue\r\n ? {\r\n ...d.defaultValue,\r\n value: d.defaultValue?.label,\r\n }\r\n : {\r\n ...d.options[0],\r\n value: d.options[0].label,\r\n }\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onChange={(el: any) => {\r\n setAdvancedGraphSettings(el?.graphSettings || {});\r\n setGraphConfig(el?.dataConfiguration);\r\n }}\r\n />\r\n ) : (\r\n <RadioGroup\r\n defaultValue={d.defaultValue?.label || d.options[0].label}\r\n variant={uiMode}\r\n onValueChange={el => {\r\n const selectedOption =\r\n d.options[d.options.findIndex(opt => opt.label === el)];\r\n setAdvancedGraphSettings(selectedOption.graphSettings || {});\r\n setGraphConfig(selectedOption.dataConfiguration);\r\n }}\r\n >\r\n {d.options.map((el, j) => (\r\n <RadioGroupItem label={el.label} value={el.label} key={j} />\r\n ))}\r\n </RadioGroup>\r\n )}\r\n </div>\r\n ))}\r\n {dataSelectionOptions?.map((d, i) => (\r\n <div\r\n style={{\r\n width:\r\n d.width ||\r\n `calc(${100 / noOfFiltersPerRow}% - ${\r\n (noOfFiltersPerRow - 1) / noOfFiltersPerRow\r\n }rem)`,\r\n flexGrow: d.width ? 0 : 1,\r\n flexShrink: d.ui !== 'radio' || d.width ? 0 : 1,\r\n minWidth: '240px',\r\n }}\r\n key={i}\r\n className='pb-4'\r\n >\r\n <Label className='mb-2'>{d.label || `Visualize ${d.chartConfigId} by`}</Label>\r\n {!checkIfMultiple(d.chartConfigId, graphConfig || []) ? (\r\n d.ui !== 'radio' ? (\r\n <DropdownSelect\r\n options={d.allowedColumnIds}\r\n size='sm'\r\n isClearable={false}\r\n isSearchable\r\n variant={uiMode}\r\n controlShouldRenderValue\r\n defaultValue={\r\n graphDataConfiguration\r\n ? d.allowedColumnIds[\r\n d.allowedColumnIds.findIndex(\r\n j =>\r\n j.value ===\r\n (graphDataConfiguration[\r\n graphDataConfiguration.findIndex(\r\n el => el.chartConfigId === d.chartConfigId,\r\n )\r\n ].columnId as string),\r\n )\r\n ]\r\n : undefined\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onChange={(el: any) => {\r\n const newGraphConfig = {\r\n columnId: el?.value as string,\r\n chartConfigId: d.chartConfigId,\r\n };\r\n const updatedConfig = graphConfig?.map(item =>\r\n item.chartConfigId === newGraphConfig.chartConfigId\r\n ? newGraphConfig\r\n : item,\r\n );\r\n setAdvancedGraphSettings(\r\n getGraphSettings(dataSelectionOptions, updatedConfig),\r\n );\r\n setGraphConfig(updatedConfig);\r\n }}\r\n />\r\n ) : (\r\n <RadioGroup\r\n variant={uiMode}\r\n defaultValue={\r\n graphDataConfiguration\r\n ? d.allowedColumnIds[\r\n d.allowedColumnIds.findIndex(\r\n j =>\r\n j.value ===\r\n (graphDataConfiguration[\r\n graphDataConfiguration.findIndex(\r\n el => el.chartConfigId === d.chartConfigId,\r\n )\r\n ].columnId as string),\r\n )\r\n ].label\r\n : ''\r\n }\r\n onValueChange={el => {\r\n const selectedOption =\r\n d.allowedColumnIds[\r\n d.allowedColumnIds.findIndex(opt => opt.label === el)\r\n ];\r\n const newGraphConfig = {\r\n columnId: selectedOption.value,\r\n chartConfigId: d.chartConfigId,\r\n };\r\n const updatedConfig = graphConfig?.map(item =>\r\n item.chartConfigId === newGraphConfig.chartConfigId\r\n ? newGraphConfig\r\n : item,\r\n );\r\n setAdvancedGraphSettings(\r\n getGraphSettings(dataSelectionOptions, updatedConfig),\r\n );\r\n setGraphConfig(updatedConfig);\r\n }}\r\n >\r\n {d.allowedColumnIds.map((el, j) => (\r\n <RadioGroupItem label={el.label} value={el.label} key={j} />\r\n ))}\r\n </RadioGroup>\r\n )\r\n ) : d.ui !== 'radio' ? (\r\n <DropdownSelect\r\n options={d.allowedColumnIds}\r\n size='sm'\r\n isMulti\r\n isSearchable\r\n variant={uiMode}\r\n controlShouldRenderValue\r\n defaultValue={\r\n graphDataConfiguration\r\n ? (\r\n graphDataConfiguration[\r\n graphDataConfiguration.findIndex(\r\n el => el.chartConfigId === d.chartConfigId,\r\n )\r\n ].columnId as string[]\r\n ).map(\r\n el =>\r\n d.allowedColumnIds[\r\n d.allowedColumnIds.findIndex(j => j.value === el)\r\n ],\r\n )\r\n : undefined\r\n }\r\n filterOption={createFilter(filterConfig)}\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onChange={(el: any) => {\r\n const newGraphConfig = {\r\n columnId: (el || []).map(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (item: any) => item.value,\r\n ) as string[],\r\n chartConfigId: d.chartConfigId,\r\n };\r\n const updatedConfig = graphConfig?.map(item =>\r\n item.chartConfigId === newGraphConfig.chartConfigId\r\n ? newGraphConfig\r\n : item,\r\n );\r\n setGraphConfig(updatedConfig);\r\n }}\r\n />\r\n ) : (\r\n <CheckboxGroup\r\n variant={uiMode}\r\n defaultValue={\r\n graphDataConfiguration\r\n ? (\r\n graphDataConfiguration[\r\n graphDataConfiguration.findIndex(\r\n el => el.chartConfigId === d.chartConfigId,\r\n )\r\n ].columnId as string[]\r\n )\r\n .map(\r\n el =>\r\n d.allowedColumnIds[\r\n d.allowedColumnIds.findIndex(j => j.value === el)\r\n ],\r\n )\r\n .map(el => el.value)\r\n : []\r\n }\r\n onValueChange={el => {\r\n const newGraphConfig = {\r\n columnId: el || [],\r\n chartConfigId: d.chartConfigId,\r\n };\r\n const updatedConfig = graphConfig?.map(item =>\r\n item.chartConfigId === newGraphConfig.chartConfigId\r\n ? newGraphConfig\r\n : item,\r\n );\r\n setGraphConfig(updatedConfig);\r\n }}\r\n >\r\n {d.allowedColumnIds.map((el, j) => (\r\n <CheckboxGroupItem label={el.label} value={el.label} key={j} />\r\n ))}\r\n </CheckboxGroup>\r\n )}\r\n </div>\r\n ))}\r\n {filterSettings?.map((d, i) => (\r\n <div\r\n style={{\r\n width:\r\n d.width ||\r\n `calc(${100 / noOfFiltersPerRow}% - ${\r\n (noOfFiltersPerRow - 1) / noOfFiltersPerRow\r\n }rem)`,\r\n flexGrow: d.width ? 0 : 1,\r\n flexShrink: d.ui !== 'radio' || d.width ? 0 : 1,\r\n minWidth: '240px',\r\n }}\r\n key={i}\r\n className='pb-4'\r\n >\r\n <Label className='mb-2'>{d.label}</Label>\r\n {d.singleSelect ? (\r\n d.ui !== 'radio' ? (\r\n <DropdownSelect\r\n options={d.availableValues}\r\n variant={uiMode}\r\n isClearable={d.clearable === undefined ? true : d.clearable}\r\n isSearchable\r\n controlShouldRenderValue\r\n filterOption={createFilter(filterConfig)}\r\n onChange={el => {\r\n handleFilterChange(d.filter, el);\r\n }}\r\n value={d.value}\r\n defaultValue={d.defaultValue}\r\n />\r\n ) : (\r\n <RadioGroup\r\n variant={uiMode}\r\n defaultValue={(d.defaultValue as { value: string; label: string }).value}\r\n onValueChange={el => {\r\n handleFilterChange(\r\n d.filter,\r\n d.availableValues.filter(v => v.value === el),\r\n );\r\n }}\r\n >\r\n {d.availableValues.map((el, j) => (\r\n <RadioGroupItem label={`${el.label}`} value={`${el.value}`} key={j} />\r\n ))}\r\n </RadioGroup>\r\n )\r\n ) : (\r\n <>\r\n {d.ui !== 'radio' ? (\r\n <DropdownSelect\r\n options={d.availableValues}\r\n variant={uiMode}\r\n size='sm'\r\n isMulti\r\n isClearable={d.clearable === undefined ? true : d.clearable}\r\n isSearchable\r\n controlShouldRenderValue\r\n filterOption={createFilter(filterConfig)}\r\n onChange={el => {\r\n handleFilterChange(d.filter, el);\r\n }}\r\n value={d.value}\r\n defaultValue={d.defaultValue}\r\n />\r\n ) : (\r\n <CheckboxGroup\r\n variant={uiMode}\r\n defaultValue={\r\n d.defaultValue\r\n ? (\r\n d.defaultValue as {\r\n value: string | number;\r\n label: string | number;\r\n }[]\r\n ).map(el => `${el.value}`)\r\n : []\r\n }\r\n value={\r\n d.value\r\n ? (\r\n d.value as {\r\n value: string | number;\r\n label: string | number;\r\n }[]\r\n ).map(el => `${el.value}`)\r\n : undefined\r\n }\r\n onValueChange={el => {\r\n handleFilterChange(\r\n d.filter,\r\n d.availableValues.filter(v => el.indexOf(`${v.value}`) !== -1),\r\n );\r\n }}\r\n >\r\n {d.availableValues.map((el, j) => (\r\n <CheckboxGroupItem\r\n label={`${el.label}`}\r\n value={`${el.value}`}\r\n key={j}\r\n />\r\n ))}\r\n </CheckboxGroup>\r\n )}\r\n {d.allowSelectAll ? (\r\n <button\r\n type='button'\r\n className='bg-transparent border-0 p-0 mt-2 cursor-pointer text-primary-blue-600 dark:text-primary-blue-400'\r\n onClick={() => {\r\n handleFilterChange(d.filter, d.availableValues);\r\n }}\r\n >\r\n Select all options\r\n </button>\r\n ) : null}\r\n </>\r\n )}\r\n </div>\r\n ))}\r\n {highlightDataPointSettings ? (\r\n <div\r\n style={{\r\n width:\r\n highlightDataPointSettings.width ||\r\n `calc(${100 / noOfFiltersPerRow}% - ${\r\n (noOfFiltersPerRow - 1) / noOfFiltersPerRow\r\n }rem)`,\r\n flexGrow: highlightDataPointSettings.width ? 0 : 1,\r\n flexShrink: 0,\r\n minWidth: '240px',\r\n }}\r\n className='pb-4'\r\n >\r\n <Label className='mb-2'>\r\n {highlightDataPointSettings.label || 'Highlight data'}\r\n </Label>\r\n <DropdownSelect\r\n options={highlightedDataPointOptions}\r\n variant={uiMode}\r\n size='sm'\r\n isMulti\r\n isClearable\r\n isSearchable\r\n controlShouldRenderValue\r\n filterOption={createFilter(filterConfig)}\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onChange={(el: any) => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n setHighlightedDataPointList(el?.map((d: any) => d.value));\r\n }}\r\n value={highlightedDataPointList?.map(d => ({\r\n label: d,\r\n value: d,\r\n }))}\r\n defaultValue={highlightDataPointSettings.defaultValues?.map(d => ({\r\n label: d,\r\n value: d,\r\n }))}\r\n />\r\n </div>\r\n ) : null}\r\n </div>\r\n ) : null}\r\n <ThreeDGraphEl\r\n graph={graphType}\r\n graphData={graphData}\r\n graphDataConfiguration={graphConfig}\r\n debugMode={debugMode}\r\n readableHeader={readableHeader || []}\r\n updateFilters={updateFilters}\r\n settings={{\r\n ...(graphSettings || {}),\r\n ...advancedGraphSettings,\r\n graphTitle: undefined,\r\n graphDescription: undefined,\r\n graphDownload: false,\r\n dataDownload: false,\r\n backgroundColor: undefined,\r\n padding: '0',\r\n width: undefined,\r\n height: undefined,\r\n relativeHeight: undefined,\r\n minHeight: undefined,\r\n theme: graphSettings?.theme,\r\n ...(highlightedDataPointList\r\n ? {\r\n highlightedDataPoints: highlightedDataPointList,\r\n highlightedIds: highlightedDataPointList?.map(d => `${d}`),\r\n highlightedLines: highlightedDataPointList?.map(d => d),\r\n }\r\n : {}),\r\n }}\r\n />\r\n </>\r\n ) : (\r\n <div className='w-full flex justify-center p-4'>\r\n <Spinner />\r\n </div>\r\n )}\r\n </GraphContainer>\r\n );\r\n}\r\n"],"names":["ThreeDGraphEl","props","$","_c","settings","graph","graphData","debugMode","graphDataConfiguration","readableHeader","updateFilters","console","log","t0","width","t1","Symbol","for","height","t2","P","t3","threeDGlobe","ThreeDGlobe","graphComponents","graphType","numberDisplayOptions","globeOffset","collapseColorScaleByDefault","polygonAltitude","highlightedIds","scale","theme","resetSelectionOnDoubleClick","graphTitle","mapData","graphDescription","footNote","sources","colorDomain","colors","colorLegendTitle","Object","keys","indexOf","getValues","scaleType","data","centerPoint","backgroundColor","mapNoDataColor","mapBorderColor","relativeHeight","padding","tooltip","showColorScale","graphID","dataDownload","mapProperty","language","minHeight","ariaLabel","onSeriesMouseClick","el","id","detailsOnClick","styles","classNames","autoRotate","globeMaterial","atmosphereColor","enableZoom","atmosphereAltitude","globeCurvatureResolution","fogSettings","fogSetting","lights","highlightedAltitude","selectedId","getGraphProps","GraphComponent","graphProps","t4","t5","jsx","t6","getGraphSettings","dataSelectionOptions","updatedConfig","updatedSettings","map","c","indx","findIndex","opt","chartConfigId","allowedValIndx","allowedColumnIds","col","value","columnId","graphSettings","assign","SingleGraphDashboardThreeDGraphs","dataSettings","filters","dataTransform","dataFilters","advancedDataSelectionOptions","noOfFiltersPerRow","uiMode","highlightDataPointSettings","filteredData","setFilteredData","useState","undefined","setData","graphConfig","setGraphConfig","advancedGraphSettings","setAdvancedGraphSettings","highlightedDataPointList","setHighlightedDataPointList","highlightedDataPointOptions","setHighlightedDataPointOption","graphParentDiv","useRef","prevGraphDataConfigRef","filterSettings","setFilterSettings","filterConfig","ignoreCase","ignoreAccents","trim","updateFiltersEvent","useEffectEvent","filterSettingsTemp","filter","column","label","singleSelect","clearable","defaultValue","transformDefaultValue","availableValues","getUniqValue","v","excludeValues","includes","allowSelectAll","useEffect","fetchData","dataFromFile","dataURL","fileType","fetchAndParseJSON","columnsToArray","dataTransformation","fetchAndTransformDataFromAPI","apiHeaders","fetchAndParseCSV","delimiter","fetchAndParseMultipleDataSources","idColumnTitle","transformColumnsToArray","error","filteredDataEvent","length","result","item","every","flattenDeep","intersection","updateHighlightedDataPointOptions","d","isEqual","current","handleFilterChange","values","prev","f","transformDataForGraph","transformDataForAggregation","filterData","keyColumn","aggregationColumnsSetting","GraphContainer","graphContainer","graphList","geoHubMapPresentation","jsxs","Fragment","graphDownload","GraphHeader","title","description","i","flexGrow","flexShrink","ui","minWidth","Label","DropdownSelect","options","dataConfiguration","RadioGroup","selectedOption","j","RadioGroupItem","checkIfMultiple","createFilter","newGraphConfig","CheckboxGroup","CheckboxGroupItem","defaultValues","highlightedDataPoints","highlightedLines","Spinner"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAqBA,SAAAA,GAAAC,GAAA;AAAA,QAAAC,IAAAC,GAAAA,EAAA,EAAA,GACE;AAAA,IAAAC,UAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC,WAAAA;AAAAA,IAAAC,WAAAA;AAAAA,IAAAC,wBAAAA;AAAAA,IAAAC,gBAAAA;AAAAA,IAAAC,eAAAA;AAAAA,EAAAA,IAQIT;AASJ,MARIM,MAEFI,QAAOC,IAAK,UAAUP,CAAK,EAAE,GAE7BM,QAAOC,IAAK,qBAAqBN,CAAS,GAE1CK,QAAOC,IAAK,aAAaR,CAAQ,IAE/B,OAAOE,KAAc,UAAQ;AAGhB,UAAAO,sDACTT,GAAQU,QAAR,UAAA,QAAoC;AACpC,QAAAC;AAAA,IAAAb,EAAA,CAAA,MAAAc,uBAAAC,IAAA,2BAAA,KACKF,IAAA;AAAA,MAAAG,QAAU;AAAA,IAAA,GAAWhB,OAAAa,KAAAA,IAAAb,EAAA,CAAA;AAAA,QAAAiB;AAAA,IAAAjB,SAAAI,KAE5Ba,0BAACC,GAAA,EACM,MAAA,MACQ,cAAA,QACH,WAAA,0EAGZ,GAAIlB,OAAAI,GAAAJ,OAAAiB,KAAAA,IAAAjB,EAAA,CAAA;AAAA,QAAAmB;AAAA,WAAAnB,EAAA,CAAA,MAAAW,KAAAX,SAAAiB,KAZNE,mCACa,WAAAR,GAGJ,OAAAE,GAEPI,UAAAA,GAOF,GAAMjB,OAAAW,GAAAX,OAAAiB,GAAAjB,OAAAmB,KAAAA,IAAAnB,EAAA,CAAA,GAbNmB;AAAAA,EAaM;AACN,MAAAR;AAAA,EAAAX,EAAA,CAAA,MAAAc,uBAAAC,IAAA,2BAAA,KACuEJ,IAAA;AAAA,IAAAS,aAC5DC;AAAAA,EAAAA,GACdrB,OAAAW,KAAAA,IAAAX,EAAA,CAAA;AAFD,QAAAsB,IAA2EX;AAEzE,MAAAE;AAAA,EAAAb,EAAA,CAAA,MAAAI,KAAAJ,EAAA,CAAA,MAAAM,KAAAN,EAAA,CAAA,MAAAO,KAAAP,EAAA,EAAA,MAAAE,KAAAF,UAAAQ,KACoBK,IAAAU,CAAAA,MACZA,MACD,gBACI;AAAA,IAAAC,sBACiBtB,GAAQsB;AAAAA,IAAsBC,aACvCvB,GAAQuB;AAAAA,IAAaC,6BACLxB,GAAQwB;AAAAA,IAA6BC,iBACjDzB,GAAQyB;AAAAA,IAAiBC,gBAC1B1B,GAAQ0B;AAAAA,IAAgBC,OACjC3B,GAAQ2B;AAAAA,IAAOC,OACf5B,GAAQ4B;AAAAA,IAAOC,6BACO7B,GAAQ6B;AAAAA,IAA6BC,YACtD9B,GAAQ8B;AAAAA,IAAYC,SACvB/B,GAAQ+B;AAAAA,IAASC,kBACRhC,GAAQgC;AAAAA,IAAkBC,UAClCjC,GAAQiC;AAAAA,IAAUvB,OACrBV,GAAQU;AAAAA,IAAOI,QACdd,GAAQc;AAAAA,IAAQoB,SACflC,GAAQkC;AAAAA,IAASC,aACbnC,GAAQmC;AAAAA,IAAoCC,QACjDpC,GAAQoC;AAAAA,IAAgCC,kBAE9CC,OAAMC,KAAMvC,KAAA,CAAA,CAAc,EAACwC,QAAS,kBAAkB,MAAM,KACxDxC,GAAQqC,mBACRI,GAAU,KAAKrC,KAAA,CAAA,GAA8BC,KAAA,EAAoB;AAAA,IAACqC,WAC7D1C,GAAQ0C;AAAAA,IAAWC,MACxBzC;AAAAA,IAAS0C,aACF5C,GAAQ4C;AAAAA,IAAaC,iBACjB7C,GAAQ6C;AAAAA,IAAiBC,gBAC1B9C,GAAQ8C;AAAAA,IAAgBC,gBACxB/C,GAAQ+C;AAAAA,IAAgBC,gBACxBhD,GAAQgD;AAAAA,IAAgBC,SAC/BjD,GAAQiD;AAAAA,IAASC,SACjBlD,GAAQkD;AAAAA,IAASC,gBACVnD,GAAQmD;AAAAA,IAAgBC,SAC/BpD,GAAQoD;AAAAA,IAASC,cACZrD,GAAQqD;AAAAA,IAAcC,aACvBtD,GAAQsD;AAAAA,IAAaC,UACxBvD,GAAQuD;AAAAA,IAAUC,WACjBxD,GAAQwD;AAAAA,IAAWC,WACnBzD,GAAQyD;AAAAA,IAAWC,oBAEVC,CAAAA,MAAA;AAClBrD,MAAAA,IAAgBqD,EAAEC,EAAG;AAAA,IAAC;AAAA,IACvBC,gBACe7D,GAAQ6D;AAAAA,IAAgBC,QAChC9D,GAAQ8D;AAAAA,IAAQC,YACZ/D,GAAQ+D;AAAAA,IAAYC,YACpBhE,GAAQgE;AAAAA,IAAYC,eACjBjE,GAAQiE;AAAAA,IAAeC,iBACrBlE,GAAQkE;AAAAA,IAAiBC,YAC9BnE,GAAQmE;AAAAA,IAAYC,oBACZpE,GAAQoE;AAAAA,IAAoBC,0BACtBrE,GAAQqE;AAAAA,IAA0BC,aAC/CtE,GAAQuE;AAAAA,IAAYC,QACzBxE,GAAQwE;AAAAA,IAAQC,qBACHzE,GAAQyE;AAAAA,IAAqBC,YACtC1E,GAAQ0E;AAAAA,EAAAA,IAGf,CAAA,GAEZ5E,OAAAI,GAAAJ,OAAAM,GAAAN,OAAAO,GAAAP,QAAAE,GAAAF,QAAAQ,GAAAR,QAAAa,KAAAA,IAAAb,EAAA,EAAA;AA9DD,QAAA6E,IAAsBhE,GA+DtBiE,IAAuBxD,EAAgBnB,CAAK;AAAE,MAAAc;AAAA,EAAAjB,EAAA,EAAA,MAAA6E,KAAA7E,UAAAG,KAC3Bc,IAAA4D,EAAc1E,CAAK,GAACH,QAAA6E,GAAA7E,QAAAG,GAAAH,QAAAiB,KAAAA,IAAAjB,EAAA,EAAA;AAAvC,QAAA+E,IAAmB9D,GAGJE,IAAA,yDAAyDjB,GAAQ4B,SAAR,OAA0B;AAAE,MAAAkD;AAAA,EAAAhF,EAAA,EAAA,MAAAc,uBAAAC,IAAA,2BAAA,KACzFiE,IAAA;AAAA,IAAAtB,WAAa;AAAA,EAAA,GAAW1D,QAAAgF,KAAAA,IAAAhF,EAAA,EAAA;AAAA,MAAAiF;AAAA,EAAAjF,EAAA,EAAA,MAAA8E,KAAA9E,UAAAG,KAAAH,EAAA,EAAA,MAAA+E,KAE9BE,IAAAH,IACCI,gBAAAA,EAAAA,IAACJ,GAAA,EAAc,GAAKC,GAAU,IAE9BG,gBAAAA,MAAChE,GAAA,EACM,MAAA,MACQ,cAAA,QACH,WAAA,6DAET,UAAA,uBAAuBf,CAAK,IAC/B,GACDH,QAAA8E,GAAA9E,QAAAG,GAAAH,QAAA+E,GAAA/E,QAAAiF,KAAAA,IAAAjF,EAAA,EAAA;AAAA,MAAAmF;AAAA,SAAAnF,EAAA,EAAA,MAAAmB,KAAAnB,UAAAiF,KAdHE,mCACa,WAAAhE,GACJ,OAAA6D,GAENC,UAAAA,GAWH,GAAMjF,QAAAmB,GAAAnB,QAAAiF,GAAAjF,QAAAmF,KAAAA,IAAAnF,EAAA,EAAA,GAfNmF;AAeM;AC1EV,MAAMC,IAAmBA,CACvBC,GACAC,MACG;AACH,QAAMC,IACJD,GAAeE,IAAIC,CAAAA,MAAK;AACtB,UAAMC,IAAOL,GAAsBM,UAAUC,OAAOA,EAAIC,kBAAkBJ,EAAEI,aAAa;AACzF,QAAIH,MAAS,GAAI,QAAO,CAAA;AACxB,UAAMI,IAAiBT,EAAqBK,CAAI,GAAGK,kBAAkBJ,UACnEK,CAAAA,MAAOA,EAAIC,UAAUR,EAAES,QACzB;AACA,WAAIJ,MAAmB,KAAW,CAAA,IAC3BT,EAAqBK,CAAI,EAAEK,iBAAiBD,CAAc,EAAEK,iBAAiB,CAAA;AAAA,EACtF,CAAC,KAAK,CAAA;AACR,SAAO3D,OAAO4D,OAAO,CAAA,GAAI,GAAGb,CAAe;AAC7C;AAEO,SAASc,GAAiCtG,GAAc;AAC7D,QAAM;AAAA,IACJoG,eAAAA;AAAAA,IACAG,cAAAA;AAAAA,IACAC,SAAAA;AAAAA,IACAhF,WAAAA;AAAAA,IACAiF,eAAAA;AAAAA,IACAlG,wBAAAA;AAAAA,IACAmG,aAAAA;AAAAA,IACApG,WAAAA;AAAAA,IACAgF,sBAAAA;AAAAA,IACAqB,8BAAAA;AAAAA,IACAnG,gBAAAA;AAAAA,IACAoG,mBAAAA,IAAoB;AAAA,IACpBnG,eAAAA;AAAAA,IACAoG,QAAAA,IAAS;AAAA,IACTC,4BAAAA;AAAAA,EAAAA,IACE9G,GAEE,CAAC+G,GAAcC,CAAe,IAAIC,EAAcC,MAAS,GAEzD,CAACpE,GAAMqE,CAAO,IAAIF,EAAcC,MAAS,GACzC,CAACE,GAAaC,CAAc,IAAIJ,EACpC1G,CACF,GACM,CAAC+G,GAAuBC,CAAwB,IAAIN,EAAgC,CAAA,CAAE,GACtF,CAACO,GAA0BC,EAA2B,IAAIR,EAE9DC,MAAS,GACL,CAACQ,IAA6BC,EAA6B,IAAIV,EAEnE,CAAA,CAAE,GACEW,IAAiBC,EAAuB,IAAI,GAE5CC,IAAyBD,EAC7BtH,CACF,GACM,CAACwH,GAAgBC,CAAiB,IAAIf,EAAmC,CAAA,CAAE,GAE3EgB,IAAe;AAAA,IACnBC,YAAY;AAAA,IACZC,eAAe;AAAA,IACfC,MAAM;AAAA,EAAA,GAGFC,IAAqBC,EAAe,MAAM;AAC9C,UAAMC,KAAsB/B,KAAW,CAAA,GAAIf,IAAI3B,CAAAA,OAAO;AAAA,MACpD0E,QAAQ1E,EAAG2E;AAAAA,MACXC,OAAO5E,EAAG4E,SAAS,aAAa5E,EAAG2E,MAAM;AAAA,MACzCE,cAAc7E,EAAG6E;AAAAA,MACjBC,WAAW9E,EAAG8E;AAAAA,MACdC,cAAcC,GAAsBhF,EAAG+E,YAAY;AAAA,MACnD3C,OAAO4C,GAAsBhF,EAAG+E,YAAY;AAAA,MAC5CE,iBAAiBC,GAAalG,GAAMgB,EAAG2E,MAAM,EAC1CD,OAAOS,CAAAA,MAAK,CAACnF,EAAGoF,eAAeC,SAAS,GAAGF,CAAC,EAAE,CAAC,EAC/CxD,IAAIwD,CAAAA,OAAM;AAAA,QAAE/C,OAAO+C;AAAAA,QAAGP,OAAOO;AAAAA,MAAAA,EAAI;AAAA,MACpCG,gBAAgBtF,EAAGsF;AAAAA,MACnBvI,OAAOiD,EAAGjD;AAAAA,IAAAA,EACV;AACFmH,IAAAA,EAAkBO,CAAkB;AAAA,EACtC,CAAC;AACDc,EAAAA,EAAU,MAAM;AAsCdC,KArCkB,YAAY;AAC5B,UAAI;AACF,cAAMC,IAAehD,EAAaiD,UAC9B,OAAOjD,EAAaiD,WAAY,WAC9BjD,EAAakD,aAAa,SACxB,MAAMC,GACJnD,EAAaiD,SACbjD,EAAaoD,gBACbpD,EAAaqD,oBACbtJ,CACF,IACAiG,EAAakD,aAAa,QACxB,MAAMI,GACJtD,EAAaiD,SACbjD,EAAauD,YACbvD,EAAaoD,gBACbpD,EAAaqD,oBACbtJ,CACF,IACA,MAAMyJ,GACJxD,EAAaiD,SACbjD,EAAaqD,oBACbrD,EAAaoD,gBACbrJ,GACAiG,EAAayD,WACb,EACF,IACJ,MAAMC,GACJ1D,EAAaiD,SACbjD,EAAa2D,aACf,IACF,MAAMC,GAAwB5D,EAAazD,MAAMyD,EAAaoD,cAAc;AAChFxC,QAAAA,EAAQoC,CAAY;AAAA,MACtB,SAASa,GAAO;AACd1J,gBAAQ0J,MAAM,wBAAwBA,CAAK;AAAA,MAC7C;AAAA,IACF,GACAd,GACAjB,EAAAA;AAAAA,EACF,GAAG,CAAC9B,GAAcjG,CAAS,CAAC,GAE5B+I,EAAU,MAAM;AACdhB,IAAAA,EAAAA;AAAAA,EACF,GAAG,CAAC7B,GAAS1D,CAAI,CAAC;AAElB,QAAMuH,KAAoB/B,EAAe,MAAM;AAC7C,QAAI,CAACxF,KAAQiF,EAAeuC,WAAW,KAAmBxH,CAAI;AAAA,SACzD;AAEH,YAAMyH,IAASzH,EAAK0F,OAAO,CAACgC,MAC1BzC,EAAe0C,MAAMjC,CAAAA,MACnBA,EAAOtC,SAASwE,EAAY,CAAClC,EAAOtC,KAAK,CAAC,EAAEoE,SAAS,IACjDK,GACED,EAAY,CAACF,EAAKhC,EAAOA,MAAM,CAAC,CAAC,GACjCkC,EAAY,CAAClC,EAAOtC,KAAK,CAAC,EAAET,IAAI3B,CAAAA,MAAMA,EAAGoC,KAAK,CAChD,EAAEoE,SAAS,IACX,EACN,CACF;AACAtD,MAAAA,EAAgBuD,CAAM;AAAA,IACxB;AAAA,EACF,CAAC;AAEDlB,EAAAA,EAAU,MAAM;AACdgB,IAAAA,GAAAA;AAAAA,EACF,GAAG,CAACtC,GAAgBjF,CAAI,CAAC,GAEzBuG,EAAU,MAAM;AACd,IAAI/D,KAEFiC,EAAyBlC,EAAiBC,GAAsB/E,CAAsB,CAAC;AAAA,EAC3F,GAAG,CAAC+E,GAAsB/E,CAAsB,CAAC;AAEjD,QAAMqK,KAAoCtC,EAAe,MAAM;AAC7D,IAAIxB,GAA4B2B,UAAU1B,KACxCY,GACEqB,GAAajC,GAAcD,EAA2B2B,MAAM,EACzDD,OAAOS,OAAK,CAACnC,GAA4BoC,eAAeC,SAAS,GAAGF,CAAC,EAAE,CAAC,EACxExD,IAAIoF,CAAAA,OAAM;AAAA,MAAE3E,OAAO2E;AAAAA,MAAGnC,OAAOmC;AAAAA,IAAAA,EAAI,CACtC;AAAA,EACJ,CAAC;AAEDxB,EAAAA,EAAU,MAAM;AACduB,IAAAA,GAAAA;AAAAA,EACF,GAAG,CAAC9D,CAA0B,CAAC,GAE/BuC,EAAU,MAAM;AACd,IAAKyB,GAAQhD,EAAuBiD,SAASxK,CAAsB,MAEjE8G,EAAe9G,CAAsB,GACrCuH,EAAuBiD,UAAUxK;AAAAA,EAErC,GAAG,CAACA,CAAsB,CAAC;AAE3B,QAAMyK,IAAqBA,CAACxC,GAAgByC,MAAgB;AAC1DjD,IAAAA,EAAkBkD,OAAQA,EAAKzF,IAAI0F,CAAAA,MAAMA,EAAE3C,WAAWA,IAAS;AAAA,MAAE,GAAG2C;AAAAA,MAAGjF,OAAO+E;AAAAA,IAAAA,IAAWE,CAAE,CAAC;AAAA,EAC9F,GAEM9K,KAAayC,IAEfsI,GACE3E,IACI4E,GACEC,GAAWxI,GAAM4D,KAAe,CAAA,CAAE,GAClCD,EAAc8E,WACd9E,EAAc+E,yBAChB,IACAF,GAAWxI,GAAM4D,KAAe,CAAA,CAAE,GACtClF,GACA4F,CACF,IAXAF;AAYJ,SACE/B,gBAAAA,EAAAA,IAACsG,IAAA,EACC,WAAWrF,GAAelC,YAAYwH,gBACtC,OAAOtF,GAAenC,QAAQyH,gBAC9B,IAAItF,GAAe7C,SACnB,KAAKqE,GACL,cAAYxB,GAAexC,WAC3B,iBAAiBwC,GAAepD,mBAAmB,IACnD,OAAOoD,GAAerE,SAAS,SAC/B,UAAUqE,GAAe1C,YAAY,MACrC,OAAO0C,GAAevF,OACtB,QAAQuF,GAAenF,QACvB,SAASmF,GAAehD,SACxB,WAAWgD,GAAezC,WAC1B,gBAAgByC,GAAejD,gBAE9BL,UAAAA,KACD6I,GACGnD,OAAO1E,CAAAA,MAAMA,EAAG8H,qBAAqB,EACrCnG,IAAI3B,CAAAA,MAAMA,EAAGP,OAAO,EACpBZ,QAAQnB,CAAS,MAAM,KACxBqK,gBAAAA,EAAAA,KAAAC,EAAAA,UAAA,EACGxE,UAAAA;AAAAA,IAAAA,GAAuBrF,cACxBqF,GAAuBnF,oBACvBiE,GAAenE,cACfmE,GAAejE,oBACfiE,GAAe2F,iBACf3F,GAAe5C,eACb2B,gBAAAA,EAAAA,IAAC6G,MACC,QAAQ;AAAA,MACNC,OAAO3E,GAAuBrD,QAAQgI,SAAS7F,GAAenC,QAAQgI;AAAAA,MACtEC,aACE5E,GAAuBrD,QAAQiI,eAAe9F,GAAenC,QAAQiI;AAAAA,IAAAA,GAEzE,YAAY;AAAA,MACVD,OAAO3E,GAAuBpD,YAAY+H,SAAS7F,GAAelC,YAAY+H;AAAAA,MAC9EC,aACE5E,GAAuBpD,YAAYgI,eACnC9F,GAAelC,YAAYgI;AAAAA,IAAAA,GAE/B,YAAY5E,GAAuBrF,cAAcmE,GAAenE,YAChE,kBACEqF,GAAuBnF,oBAAoBiE,GAAejE,kBAE5D,OAAOmF,GAAuBzG,SAASuF,GAAevF,OACtD,eAAeuF,GAAe2F,gBAAgBnE,IAAiBV,QAC/D,cACEd,GAAe5C,gBAAgBV,KAAQA,EAAKwH,SAAS,IAAIxH,IAAe,MACzE,IAED;AAAA,IACHiF,EAAeuC,WAAW,MAC1BhF,KAAwB,CAAA,GAAIgF,WAAW,MACvC3D,KAAgC,CAAA,GAAI2D,WAAW,KAChDxD,IACE+E,gBAAAA,EAAAA,KAAC,OAAA,EAAI,WAAU,qDACZlF,UAAAA;AAAAA,MAAAA,GAA8BlB,IAAI,CAACoF,GAAGsB,MACrCN,gBAAAA,OAAC,SACC,OAAO;AAAA,QACLhL,OACEgK,EAAEhK,SACF,QAAQ,MAAM+F,CAAiB,QAC5BA,IAAoB,KAAKA,CAAiB;AAAA,QAE/CwF,UAAUvB,EAAEhK,QAAQ,IAAI;AAAA,QACxBwL,YAAYxB,EAAEyB,OAAO,WAAWzB,EAAEhK,QAAQ,IAAI;AAAA,QAC9C0L,UAAU;AAAA,MAAA,GAGZ,WAAU,QAEV,UAAA;AAAA,QAAApH,gBAAAA,MAACqH,GAAA,EAAM,WAAU,QAAQ3B,UAAAA,EAAEnC,SAAS,YAAW;AAAA,QAC9CmC,EAAEyB,OAAO,UACRnH,gBAAAA,EAAAA;AAAAA,UAACsH;AAAA,UAAA;AAAA,YACC,SAAS5B,EAAE6B,QAAQjH,IAAII,CAAAA,OAAQ;AAAA,cAC7B,GAAGA;AAAAA,cACHK,OAAOL,EAAI6C;AAAAA,YAAAA,EACX;AAAA,YACF,MAAK;AAAA,YACL,aAAa;AAAA,YACb,cAAY;AAAA,YACZ,SAAS7B;AAAAA,YACT,0BAAwB;AAAA,YACxB,cACEgE,EAAEhC,eACE;AAAA,cACE,GAAGgC,EAAEhC;AAAAA,cACL3C,OAAO2E,EAAEhC,cAAcH;AAAAA,YAAAA,IAEzB;AAAA,cACE,GAAGmC,EAAE6B,QAAQ,CAAC;AAAA,cACdxG,OAAO2E,EAAE6B,QAAQ,CAAC,EAAEhE;AAAAA,YAAAA;AAAAA,YAI5B,UAAU,CAAC5E,MAAY;AACrByD,cAAAA,EAAyBzD,GAAIsC,iBAAiB,EAAE,GAChDiB,EAAevD,GAAI6I,iBAAiB;AAAA,YACtC;AAAA,UAAA;AAAA,QAAA,IAGFxH,gBAAAA,EAAAA,IAACyH,GAAA,EACC,cAAc/B,EAAEhC,cAAcH,SAASmC,EAAE6B,QAAQ,CAAC,EAAEhE,OACpD,SAAS7B,GACT,eAAe/C,CAAAA,MAAM;AACnB,gBAAM+I,IACJhC,EAAE6B,QAAQ7B,EAAE6B,QAAQ9G,UAAUC,CAAAA,MAAOA,EAAI6C,UAAU5E,CAAE,CAAC;AACxDyD,UAAAA,EAAyBsF,EAAezG,iBAAiB,EAAE,GAC3DiB,EAAewF,EAAeF,iBAAiB;AAAA,QACjD,GAEC9B,UAAAA,EAAE6B,QAAQjH,IAAI,CAAC3B,GAAIgJ,MAClB3H,gBAAAA,MAAC4H,GAAA,EAAe,OAAOjJ,EAAG4E,OAAO,OAAO5E,EAAG4E,MAAAA,GAAYoE,CAAE,CAC1D,EAAA,CACH;AAAA,MAAA,EAAA,GA9CGX,CAgDP,CACD;AAAA,MACA7G,GAAsBG,IAAI,CAACoF,GAAGsB,MAC7BN,gBAAAA,OAAC,SACC,OAAO;AAAA,QACLhL,OACEgK,EAAEhK,SACF,QAAQ,MAAM+F,CAAiB,QAC5BA,IAAoB,KAAKA,CAAiB;AAAA,QAE/CwF,UAAUvB,EAAEhK,QAAQ,IAAI;AAAA,QACxBwL,YAAYxB,EAAEyB,OAAO,WAAWzB,EAAEhK,QAAQ,IAAI;AAAA,QAC9C0L,UAAU;AAAA,MAAA,GAGZ,WAAU,QAEV,UAAA;AAAA,QAAApH,gBAAAA,EAAAA,IAACqH,GAAA,EAAM,WAAU,QAAQ3B,UAAAA,EAAEnC,SAAS,aAAamC,EAAE/E,aAAa,MAAA,CAAM;AAAA,QACpEkH,GAAgBnC,EAAE/E,eAAesB,KAAe,CAAA,CAAE,IAoFhDyD,EAAEyB,OAAO,UACXnH,gBAAAA,EAAAA;AAAAA,UAACsH;AAAA,UAAA;AAAA,YACC,SAAS5B,EAAE7E;AAAAA,YACX,MAAK;AAAA,YACL,SAAO;AAAA,YACP,cAAY;AAAA,YACZ,SAASa;AAAAA,YACT,0BAAwB;AAAA,YACxB,cACEtG,IAEMA,EACEA,EAAuBqF,UACrB9B,CAAAA,MAAMA,EAAGgC,kBAAkB+E,EAAE/E,aAC/B,CAAC,EACDK,SACFV,IACA3B,CAAAA,MACE+G,EAAE7E,iBACA6E,EAAE7E,iBAAiBJ,UAAUkH,CAAAA,MAAKA,EAAE5G,UAAUpC,CAAE,CAAC,CAEvD,IACAoD;AAAAA,YAEN,cAAc+F,EAAahF,CAAY;AAAA,YAEvC,UAAU,CAACnE,MAAY;AACrB,oBAAMoJ,IAAiB;AAAA,gBACrB/G,WAAWrC,KAAM,CAAA,GAAI2B;AAAAA;AAAAA,kBAEnB,CAAC+E,MAAcA,EAAKtE;AAAAA,gBAAAA;AAAAA,gBAEtBJ,eAAe+E,EAAE/E;AAAAA,cAAAA,GAEbP,IAAgB6B,GAAa3B,IAAI+E,CAAAA,MACrCA,EAAK1E,kBAAkBoH,EAAepH,gBAClCoH,IACA1C,CACN;AACAnD,cAAAA,EAAe9B,CAAa;AAAA,YAC9B;AAAA,UAAA;AAAA,QAAA,IAGFJ,gBAAAA,EAAAA,IAACgI,GAAA,EACC,SAAStG,GACT,cACEtG,IAEMA,EACEA,EAAuBqF,UACrB9B,CAAAA,MAAMA,EAAGgC,kBAAkB+E,EAAE/E,aAC/B,CAAC,EACDK,SAEDV,IACC3B,CAAAA,MACE+G,EAAE7E,iBACA6E,EAAE7E,iBAAiBJ,UAAUkH,OAAKA,EAAE5G,UAAUpC,CAAE,CAAC,CAEvD,EACC2B,IAAI3B,OAAMA,EAAGoC,KAAK,IACrB,CAAA,GAEN,eAAepC,CAAAA,MAAM;AACnB,gBAAMoJ,IAAiB;AAAA,YACrB/G,UAAUrC,KAAM,CAAA;AAAA,YAChBgC,eAAe+E,EAAE/E;AAAAA,UAAAA,GAEbP,IAAgB6B,GAAa3B,IAAI+E,CAAAA,MACrCA,EAAK1E,kBAAkBoH,EAAepH,gBAClCoH,IACA1C,CACN;AACAnD,UAAAA,EAAe9B,CAAa;AAAA,QAC9B,GAECsF,UAAAA,EAAE7E,iBAAiBP,IAAI,CAAC3B,GAAIgJ,MAC3B3H,gBAAAA,MAACiI,GAAA,EAAkB,OAAOtJ,EAAG4E,OAAO,OAAO5E,EAAG4E,MAAAA,GAAYoE,CAAE,CAC7D,EAAA,CACH,IAlKAjC,EAAEyB,OAAO,UACPnH,gBAAAA,EAAAA;AAAAA,UAACsH;AAAA,UAAA;AAAA,YACC,SAAS5B,EAAE7E;AAAAA,YACX,MAAK;AAAA,YACL,aAAa;AAAA,YACb,cAAY;AAAA,YACZ,SAASa;AAAAA,YACT,0BAAwB;AAAA,YACxB,cACEtG,IACIsK,EAAE7E,iBACA6E,EAAE7E,iBAAiBJ,UACjBkH,CAAAA,MACEA,EAAE5G,UACD3F,EACCA,EAAuBqF,UACrB9B,CAAAA,MAAMA,EAAGgC,kBAAkB+E,EAAE/E,aAC/B,CAAC,EACDK,QACN,CAAC,IAEHe;AAAAA,YAGN,UAAU,CAACpD,MAAY;AACrB,oBAAMoJ,IAAiB;AAAA,gBACrB/G,UAAUrC,GAAIoC;AAAAA,gBACdJ,eAAe+E,EAAE/E;AAAAA,cAAAA,GAEbP,IAAgB6B,GAAa3B,IAAI+E,CAAAA,MACrCA,EAAK1E,kBAAkBoH,EAAepH,gBAClCoH,IACA1C,CACN;AACAjD,cAAAA,EACElC,EAAiBC,GAAsBC,CAAa,CACtD,GACA8B,EAAe9B,CAAa;AAAA,YAC9B;AAAA,UAAA;AAAA,QAAA,IAGFJ,gBAAAA,EAAAA,IAACyH,GAAA,EACC,SAAS/F,GACT,cACEtG,IACIsK,EAAE7E,iBACA6E,EAAE7E,iBAAiBJ,UACjBkH,OACEA,EAAE5G,UACD3F,EACCA,EAAuBqF,UACrB9B,CAAAA,MAAMA,EAAGgC,kBAAkB+E,EAAE/E,aAC/B,CAAC,EACDK,QACN,CAAC,EACDuC,QACF,IAEN,eAAe5E,CAAAA,MAAM;AAKnB,gBAAMoJ,IAAiB;AAAA,YACrB/G,UAJA0E,EAAE7E,iBACA6E,EAAE7E,iBAAiBJ,UAAUC,CAAAA,MAAOA,EAAI6C,UAAU5E,CAAE,CAAC,EAG9BoC;AAAAA,YACzBJ,eAAe+E,EAAE/E;AAAAA,UAAAA,GAEbP,IAAgB6B,GAAa3B,IAAI+E,CAAAA,MACrCA,EAAK1E,kBAAkBoH,EAAepH,gBAClCoH,IACA1C,CACN;AACAjD,UAAAA,EACElC,EAAiBC,GAAsBC,CAAa,CACtD,GACA8B,EAAe9B,CAAa;AAAA,QAC9B,GAECsF,YAAE7E,iBAAiBP,IAAI,CAAC3B,GAAIgJ,4BAC1BC,GAAA,EAAe,OAAOjJ,EAAG4E,OAAO,OAAO5E,EAAG4E,SAAYoE,CAAE,CAC1D,EAAA,CACH;AAAA,MAiFF,EAAA,GAvKGX,CAyKP,CACD;AAAA,MACApE,GAAgBtC,IAAI,CAACoF,GAAGsB,MACvBN,gBAAAA,OAAC,SACC,OAAO;AAAA,QACLhL,OACEgK,EAAEhK,SACF,QAAQ,MAAM+F,CAAiB,QAC5BA,IAAoB,KAAKA,CAAiB;AAAA,QAE/CwF,UAAUvB,EAAEhK,QAAQ,IAAI;AAAA,QACxBwL,YAAYxB,EAAEyB,OAAO,WAAWzB,EAAEhK,QAAQ,IAAI;AAAA,QAC9C0L,UAAU;AAAA,MAAA,GAGZ,WAAU,QAEV,UAAA;AAAA,QAAApH,gBAAAA,EAAAA,IAACqH,GAAA,EAAM,WAAU,QAAQ3B,UAAAA,EAAEnC,OAAM;AAAA,QAChCmC,EAAElC,eACDkC,EAAEyB,OAAO,UACPnH,gBAAAA,EAAAA,IAACsH,GAAA,EACC,SAAS5B,EAAE9B,iBACX,SAASlC,GACT,aAAagE,EAAEjC,cAAc1B,SAAY,KAAO2D,EAAEjC,WAClD,cAAY,IACZ,0BAAwB,IACxB,cAAcqE,EAAahF,CAAY,GACvC,UAAUnE,CAAAA,MAAM;AACdkH,UAAAA,EAAmBH,EAAErC,QAAQ1E,CAAE;AAAA,QACjC,GACA,OAAO+G,EAAE3E,OACT,cAAc2E,EAAEhC,aAAAA,CAAa,IAG/B1D,gBAAAA,EAAAA,IAACyH,GAAA,EACC,SAAS/F,GACT,cAAegE,EAAEhC,aAAkD3C,OACnE,eAAepC,CAAAA,MAAM;AACnBkH,UAAAA,EACEH,EAAErC,QACFqC,EAAE9B,gBAAgBP,OAAOS,CAAAA,MAAKA,EAAE/C,UAAUpC,CAAE,CAC9C;AAAA,QACF,GAEC+G,YAAE9B,gBAAgBtD,IAAI,CAAC3B,GAAIgJ,MAC1B3H,gBAAAA,EAAAA,IAAC4H,GAAA,EAAe,OAAO,GAAGjJ,EAAG4E,KAAK,IAAI,OAAO,GAAG5E,EAAGoC,KAAK,MAAS4G,CAAE,CACpE,EAAA,CACH,IAGFjB,gBAAAA,EAAAA,KAAAC,EAAAA,UAAA,EACGjB,UAAAA;AAAAA,UAAAA,EAAEyB,OAAO,UACRnH,gBAAAA,EAAAA,IAACsH,GAAA,EACC,SAAS5B,EAAE9B,iBACX,SAASlC,GACT,MAAK,MACL,SAAO,IACP,aAAagE,EAAEjC,cAAc1B,SAAY,KAAO2D,EAAEjC,WAClD,cAAY,IACZ,0BAAwB,IACxB,cAAcqE,EAAahF,CAAY,GACvC,UAAUnE,CAAAA,MAAM;AACdkH,YAAAA,EAAmBH,EAAErC,QAAQ1E,CAAE;AAAA,UACjC,GACA,OAAO+G,EAAE3E,OACT,cAAc2E,EAAEhC,cAAa,IAG/B1D,gBAAAA,MAACgI,GAAA,EACC,SAAStG,GACT,cACEgE,EAAEhC,eAEIgC,EAAEhC,aAIFpD,IAAI3B,CAAAA,MAAM,GAAGA,EAAGoC,KAAK,EAAE,IACzB,CAAA,GAEN,OACE2E,EAAE3E,QAEI2E,EAAE3E,MAIFT,IAAI3B,CAAAA,MAAM,GAAGA,EAAGoC,KAAK,EAAE,IACzBgB,QAEN,eAAepD,CAAAA,MAAM;AACnBkH,YAAAA,EACEH,EAAErC,QACFqC,EAAE9B,gBAAgBP,OAAOS,CAAAA,MAAKnF,EAAGnB,QAAQ,GAAGsG,EAAE/C,KAAK,EAAE,MAAM,EAAE,CAC/D;AAAA,UACF,GAEC2E,YAAE9B,gBAAgBtD,IAAI,CAAC3B,GAAIgJ,4BACzBM,GAAA,EACC,OAAO,GAAGtJ,EAAG4E,KAAK,IAClB,OAAO,GAAG5E,EAAGoC,KAAK,GAAA,GACb4G,CAAE,CAEV,EAAA,CACH;AAAA,UAEDjC,EAAEzB,iBACDjE,gBAAAA,EAAAA,IAAC,UAAA,EACC,MAAK,UACL,WAAU,oGACV,SAAS,MAAM;AACb6F,YAAAA,EAAmBH,EAAErC,QAAQqC,EAAE9B,eAAe;AAAA,UAChD,GACD,gCAED,IACE;AAAA,QAAA,EAAA,CACN;AAAA,MAAA,EAAA,GAvGGoD,CAyGP,CACD;AAAA,MACArF,IACC+E,gBAAAA,EAAAA,KAAC,OAAA,EACC,OAAO;AAAA,QACLhL,OACEiG,EAA2BjG,SAC3B,QAAQ,MAAM+F,CAAiB,QAC5BA,IAAoB,KAAKA,CAAiB;AAAA,QAE/CwF,UAAUtF,EAA2BjG,QAAQ,IAAI;AAAA,QACjDwL,YAAY;AAAA,QACZE,UAAU;AAAA,MAAA,GAEZ,WAAU,QAEV,UAAA;AAAA,QAAApH,gBAAAA,MAACqH,GAAA,EAAM,WAAU,QACd1F,UAAAA,EAA2B4B,SAAS,kBACvC;AAAA,QACAvD,gBAAAA,EAAAA;AAAAA,UAACsH;AAAA,UAAA;AAAA,YACC,SAAS/E;AAAAA,YACT,SAASb;AAAAA,YACT,MAAK;AAAA,YACL,SAAO;AAAA,YACP,aAAW;AAAA,YACX,cAAY;AAAA,YACZ,0BAAwB;AAAA,YACxB,cAAcoG,EAAahF,CAAY;AAAA,YAEvC,UAAU,CAACnE,MAAY;AAErB2D,cAAAA,GAA4B3D,GAAI2B,IAAI,CAACoF,MAAWA,EAAE3E,KAAK,CAAC;AAAA,YAC1D;AAAA,YACA,OAAOsB,GAA0B/B,IAAIoF,CAAAA,OAAM;AAAA,cACzCnC,OAAOmC;AAAAA,cACP3E,OAAO2E;AAAAA,YAAAA,EACP;AAAA,YACF,cAAc/D,EAA2BuG,eAAe5H,IAAIoF,CAAAA,OAAM;AAAA,cAChEnC,OAAOmC;AAAAA,cACP3E,OAAO2E;AAAAA,YAAAA,EACP;AAAA,UAAA;AAAA,QAAA;AAAA,MAAE,EAAA,CAER,IACE;AAAA,IAAA,EAAA,CACN,IACE;AAAA,IACJ1F,gBAAAA,EAAAA,IAACpF,IAAA,EACC,OAAOyB,GACP,WAAAnB,IACA,wBAAwB+G,GACxB,WAAA9G,GACA,gBAAgBE,KAAkB,CAAA,GAClC,eAAAC,GACA,UAAU;AAAA,MACR,GAAI2F,KAAiB,CAAA;AAAA,MACrB,GAAGkB;AAAAA,MACHrF,YAAYiF;AAAAA,MACZ/E,kBAAkB+E;AAAAA,MAClB6E,eAAe;AAAA,MACfvI,cAAc;AAAA,MACdR,iBAAiBkE;AAAAA,MACjB9D,SAAS;AAAA,MACTvC,OAAOqG;AAAAA,MACPjG,QAAQiG;AAAAA,MACR/D,gBAAgB+D;AAAAA,MAChBvD,WAAWuD;AAAAA,MACXnF,OAAOqE,GAAerE;AAAAA,MACtB,GAAIyF,IACA;AAAA,QACE8F,uBAAuB9F;AAAAA,QACvB3F,gBAAgB2F,GAA0B/B,IAAIoF,CAAAA,MAAK,GAAGA,CAAC,EAAE;AAAA,QACzD0C,kBAAkB/F,GAA0B/B,IAAIoF,CAAAA,MAAKA,CAAC;AAAA,MAAA,IAExD,CAAA;AAAA,IAAC,EACP,CAAE;AAAA,EAAA,EAAA,CAEN,0BAEC,OAAA,EAAI,WAAU,kCACb,UAAA1F,gBAAAA,EAAAA,IAACqI,IAAA,EAAO,GACV,EAAA,CAEJ;AAEJ;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./compiler-runtime-oPPev21o.cjs"),g=require("react"),c=require("@undp/design-system-react/Spinner"),p=require("./SingleGraphDashboardThreeDGraphs.cjs"),f=require("./fetchAndParseData-QTF6tjij.cjs");function S(l){const t=s.compilerRuntimeExports.c(19),{config:a}=l,[e,d]=g.useState(void 0);let r,n;if(t[0]!==a?(r=()=>{(async()=>{if(typeof a=="string"){const h=await f.fetchAndParseJSON(a);d(h)}else d(a)})()},n=[a],t[0]=a,t[1]=r,t[2]=n):(r=t[1],n=t[2]),g.useEffect(r,n),!e){let i;return t[3]===Symbol.for("react.memo_cache_sentinel")?(i=s.jsxRuntimeExports.jsx("div",{className:"w-full flex justify-center p-4",children:s.jsxRuntimeExports.jsx(c.Spinner,{})}),t[3]=i):i=t[3],i}let o;return t[4]!==e.advancedDataSelectionOptions||t[5]!==e.dataFilters||t[6]!==e.dataSelectionOptions||t[7]!==e.dataSettings||t[8]!==e.dataTransform||t[9]!==e.debugMode||t[10]!==e.filters||t[11]!==e.graphDataConfiguration||t[12]!==e.graphSettings||t[13]!==e.graphType||t[14]!==e.highlightDataPointSettings||t[15]!==e.noOfFiltersPerRow||t[16]!==e.readableHeader||t[17]!==e.uiMode?(o=s.jsxRuntimeExports.jsx(p.SingleGraphDashboardThreeDGraphs,{graphSettings:e.graphSettings,dataSettings:e.dataSettings,filters:e.filters,graphType:e.graphType,dataTransform:e.dataTransform,graphDataConfiguration:e.graphDataConfiguration,dataFilters:e.dataFilters,debugMode:e.debugMode,dataSelectionOptions:e.dataSelectionOptions,advancedDataSelectionOptions:e.advancedDataSelectionOptions,readableHeader:e.readableHeader,noOfFiltersPerRow:e.noOfFiltersPerRow,uiMode:e.uiMode,highlightDataPointSettings:e.highlightDataPointSettings}),t[4]=e.advancedDataSelectionOptions,t[5]=e.dataFilters,t[6]=e.dataSelectionOptions,t[7]=e.dataSettings,t[8]=e.dataTransform,t[9]=e.debugMode,t[10]=e.filters,t[11]=e.graphDataConfiguration,t[12]=e.graphSettings,t[13]=e.graphType,t[14]=e.highlightDataPointSettings,t[15]=e.noOfFiltersPerRow,t[16]=e.readableHeader,t[17]=e.uiMode,t[18]=o):o=t[18],o}exports.SingleGraphDashboardThreeDGraphsFromConfig=S;
|
|
2
2
|
//# sourceMappingURL=SingleGraphDashboardThreeDGraphsFromConfig.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SingleGraphDashboardThreeDGraphsFromConfig.cjs","sources":["../src/Components/Dashboard/PerformanceIntensive/SingleGraphDashboardThreeDGraphsFromConfig.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\r\nimport { Spinner } from '@undp/design-system-react/Spinner';\r\n\r\nimport { SingleGraphDashboardThreeDGraphs } from './SingleGraphDashboardThreeDGraphs';\r\n\r\nimport {\r\n AdvancedDataSelectionDataType,\r\n AggregationSettingsDataType,\r\n DataFilterDataType,\r\n DataSelectionDataType,\r\n DataSettingsDataType,\r\n FilterUiSettingsDataType,\r\n GraphConfigurationDataType,\r\n GraphSettingsDataType,\r\n HighlightDataPointSettingsDataType,\r\n ThreeDGraphType,\r\n} from '@/Types';\r\nimport { fetchAndParseJSON } from '@/Utils/fetchAndParseData';\r\n\r\ninterface ConfigObject {\r\n graphSettings?: GraphSettingsDataType;\r\n dataSettings: DataSettingsDataType;\r\n filters?: FilterUiSettingsDataType[];\r\n graphType: ThreeDGraphType;\r\n noOfFiltersPerRow?: number;\r\n dataTransform?: {\r\n keyColumn: string;\r\n aggregationColumnsSetting?: AggregationSettingsDataType[];\r\n };\r\n dataFilters?: DataFilterDataType[];\r\n graphDataConfiguration?: GraphConfigurationDataType[];\r\n debugMode?: boolean;\r\n dataSelectionOptions?: DataSelectionDataType[];\r\n advancedDataSelectionOptions?: AdvancedDataSelectionDataType[];\r\n highlightDataPointSettings?: HighlightDataPointSettingsDataType;\r\n readableHeader?: {\r\n value: string;\r\n label: string;\r\n }[];\r\n uiMode?: 'light' | 'normal';\r\n}\r\n\r\ninterface Props {\r\n config: string | ConfigObject;\r\n}\r\n\r\nexport function SingleGraphDashboardThreeDGraphsFromConfig(props: Props) {\r\n const { config } = props;\r\n const [configSettings, setConfigSettings] = useState<ConfigObject | undefined>(undefined);\r\n\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n if (typeof config === 'string') {\r\n const data = await fetchAndParseJSON(config);\r\n setConfigSettings(data);\r\n } else {\r\n setConfigSettings(config);\r\n }\r\n };\r\n fetchData();\r\n }, [config]);\r\n if (!configSettings)\r\n return (\r\n <div className='w-full flex justify-center p-4'>\r\n <Spinner />\r\n </div>\r\n );\r\n return (\r\n <SingleGraphDashboardThreeDGraphs\r\n graphSettings={configSettings.graphSettings}\r\n dataSettings={configSettings.dataSettings}\r\n filters={configSettings.filters}\r\n graphType={configSettings.graphType}\r\n dataTransform={configSettings.dataTransform}\r\n graphDataConfiguration={configSettings.graphDataConfiguration}\r\n dataFilters={configSettings.dataFilters}\r\n debugMode={configSettings.debugMode}\r\n dataSelectionOptions={configSettings.dataSelectionOptions}\r\n advancedDataSelectionOptions={configSettings.advancedDataSelectionOptions}\r\n readableHeader={configSettings.readableHeader}\r\n noOfFiltersPerRow={configSettings.noOfFiltersPerRow}\r\n uiMode={configSettings.uiMode}\r\n highlightDataPointSettings={configSettings.highlightDataPointSettings}\r\n />\r\n );\r\n}\r\n"],"names":["SingleGraphDashboardThreeDGraphsFromConfig","props","$","_c","config","configSettings","setConfigSettings","useState","undefined","t0","t1","data","fetchAndParseJSON","fetchData","useEffect","t2","Symbol","for","jsx","Spinner","advancedDataSelectionOptions","dataFilters","dataSelectionOptions","dataSettings","dataTransform","debugMode","filters","graphDataConfiguration","graphSettings","graphType","highlightDataPointSettings","noOfFiltersPerRow","readableHeader","uiMode","SingleGraphDashboardThreeDGraphs"],"mappings":"
|
|
1
|
+
{"version":3,"file":"SingleGraphDashboardThreeDGraphsFromConfig.cjs","sources":["../src/Components/Dashboard/PerformanceIntensive/SingleGraphDashboardThreeDGraphsFromConfig.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\r\nimport { Spinner } from '@undp/design-system-react/Spinner';\r\n\r\nimport { SingleGraphDashboardThreeDGraphs } from './SingleGraphDashboardThreeDGraphs';\r\n\r\nimport {\r\n AdvancedDataSelectionDataType,\r\n AggregationSettingsDataType,\r\n DataFilterDataType,\r\n DataSelectionDataType,\r\n DataSettingsDataType,\r\n FilterUiSettingsDataType,\r\n GraphConfigurationDataType,\r\n GraphSettingsDataType,\r\n HighlightDataPointSettingsDataType,\r\n ThreeDGraphType,\r\n} from '@/Types';\r\nimport { fetchAndParseJSON } from '@/Utils/fetchAndParseData';\r\n\r\ninterface ConfigObject {\r\n graphSettings?: GraphSettingsDataType;\r\n dataSettings: DataSettingsDataType;\r\n filters?: FilterUiSettingsDataType[];\r\n graphType: ThreeDGraphType;\r\n noOfFiltersPerRow?: number;\r\n dataTransform?: {\r\n keyColumn: string;\r\n aggregationColumnsSetting?: AggregationSettingsDataType[];\r\n };\r\n dataFilters?: DataFilterDataType[];\r\n graphDataConfiguration?: GraphConfigurationDataType[];\r\n debugMode?: boolean;\r\n dataSelectionOptions?: DataSelectionDataType[];\r\n advancedDataSelectionOptions?: AdvancedDataSelectionDataType[];\r\n highlightDataPointSettings?: HighlightDataPointSettingsDataType;\r\n readableHeader?: {\r\n value: string;\r\n label: string;\r\n }[];\r\n uiMode?: 'light' | 'normal';\r\n}\r\n\r\ninterface Props {\r\n config: string | ConfigObject;\r\n}\r\n\r\nexport function SingleGraphDashboardThreeDGraphsFromConfig(props: Props) {\r\n const { config } = props;\r\n const [configSettings, setConfigSettings] = useState<ConfigObject | undefined>(undefined);\r\n\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n if (typeof config === 'string') {\r\n const data = await fetchAndParseJSON(config);\r\n setConfigSettings(data);\r\n } else {\r\n setConfigSettings(config);\r\n }\r\n };\r\n fetchData();\r\n }, [config]);\r\n if (!configSettings)\r\n return (\r\n <div className='w-full flex justify-center p-4'>\r\n <Spinner />\r\n </div>\r\n );\r\n return (\r\n <SingleGraphDashboardThreeDGraphs\r\n graphSettings={configSettings.graphSettings}\r\n dataSettings={configSettings.dataSettings}\r\n filters={configSettings.filters}\r\n graphType={configSettings.graphType}\r\n dataTransform={configSettings.dataTransform}\r\n graphDataConfiguration={configSettings.graphDataConfiguration}\r\n dataFilters={configSettings.dataFilters}\r\n debugMode={configSettings.debugMode}\r\n dataSelectionOptions={configSettings.dataSelectionOptions}\r\n advancedDataSelectionOptions={configSettings.advancedDataSelectionOptions}\r\n readableHeader={configSettings.readableHeader}\r\n noOfFiltersPerRow={configSettings.noOfFiltersPerRow}\r\n uiMode={configSettings.uiMode}\r\n highlightDataPointSettings={configSettings.highlightDataPointSettings}\r\n />\r\n );\r\n}\r\n"],"names":["SingleGraphDashboardThreeDGraphsFromConfig","props","$","_c","config","configSettings","setConfigSettings","useState","undefined","t0","t1","data","fetchAndParseJSON","fetchData","useEffect","t2","Symbol","for","jsx","Spinner","advancedDataSelectionOptions","dataFilters","dataSelectionOptions","dataSettings","dataTransform","debugMode","filters","graphDataConfiguration","graphSettings","graphType","highlightDataPointSettings","noOfFiltersPerRow","readableHeader","uiMode","SingleGraphDashboardThreeDGraphs"],"mappings":"uSA8CO,SAAAA,EAAAC,EAAA,CAAA,MAAAC,EAAAC,EAAAA,uBAAAA,EAAA,EAAA,EACL,CAAAC,OAAAA,CAAAA,EAAmBH,EACnB,CAAAI,EAAAC,CAAA,EAA4CC,EAAAA,SAAmCC,MAAS,EAAE,IAAAC,EAAAC,EAa1F,GAb0FR,OAAAE,GAEhFK,EAAAA,IAAA,EACU,SAAA,CAChB,GAAI,OAAOL,GAAW,SAAQ,CAC5B,MAAAO,EAAa,MAAMC,EAAAA,kBAAkBR,CAAM,EAC3CE,EAAkBK,CAAI,CAAC,MAEvBL,EAAkBF,CAAM,CACzB,GAEHS,CAAW,EACVH,EAAA,CAACN,CAAM,EAACF,KAAAE,EAAAF,KAAAO,EAAAP,KAAAQ,IAAAD,EAAAP,EAAA,CAAA,EAAAQ,EAAAR,EAAA,CAAA,GAVXY,EAAAA,UAAUL,EAUPC,CAAQ,EACP,CAACL,EAAc,CAAA,IAAAU,EAAA,OAAAb,EAAA,CAAA,IAAAc,OAAAC,IAAA,2BAAA,GAEfF,EAAAG,EAAAA,kBAAAA,IAAA,MAAA,CAAe,UAAA,iCACb,SAAAA,wBAACC,EAAAA,UAAO,EACV,EAAMjB,KAAAa,GAAAA,EAAAb,EAAA,CAAA,EAFNa,CAEM,CACN,IAAAA,EAAA,OAAAb,EAAA,CAAA,IAAAG,EAAAe,8BAAAlB,EAAA,CAAA,IAAAG,EAAAgB,aAAAnB,OAAAG,EAAAiB,sBAAApB,EAAA,CAAA,IAAAG,EAAAkB,cAAArB,EAAA,CAAA,IAAAG,EAAAmB,eAAAtB,EAAA,CAAA,IAAAG,EAAAoB,WAAAvB,EAAA,EAAA,IAAAG,EAAAqB,SAAAxB,QAAAG,EAAAsB,wBAAAzB,EAAA,EAAA,IAAAG,EAAAuB,eAAA1B,EAAA,EAAA,IAAAG,EAAAwB,WAAA3B,EAAA,EAAA,IAAAG,EAAAyB,4BAAA5B,QAAAG,EAAA0B,mBAAA7B,EAAA,EAAA,IAAAG,EAAA2B,gBAAA9B,EAAA,EAAA,IAAAG,EAAA4B,QAEFlB,0BAACmB,EAAAA,iCAAA,CACgB,cAAA7B,EAAcuB,cACf,aAAAvB,EAAckB,aACnB,QAAAlB,EAAcqB,QACZ,UAAArB,EAAcwB,UACV,cAAAxB,EAAcmB,cACL,uBAAAnB,EAAcsB,uBACzB,YAAAtB,EAAcgB,YAChB,UAAAhB,EAAcoB,UACH,qBAAApB,EAAciB,qBACN,6BAAAjB,EAAce,6BAC5B,eAAAf,EAAc2B,eACX,kBAAA3B,EAAc0B,kBACzB,OAAA1B,EAAc4B,OACM,2BAAA5B,EAAcyB,2BAA2B,EACrE5B,EAAA,CAAA,EAAAG,EAAAe,6BAAAlB,EAAA,CAAA,EAAAG,EAAAgB,YAAAnB,EAAA,CAAA,EAAAG,EAAAiB,qBAAApB,EAAA,CAAA,EAAAG,EAAAkB,aAAArB,EAAA,CAAA,EAAAG,EAAAmB,cAAAtB,EAAA,CAAA,EAAAG,EAAAoB,UAAAvB,EAAA,EAAA,EAAAG,EAAAqB,QAAAxB,EAAA,EAAA,EAAAG,EAAAsB,uBAAAzB,EAAA,EAAA,EAAAG,EAAAuB,cAAA1B,EAAA,EAAA,EAAAG,EAAAwB,UAAA3B,EAAA,EAAA,EAAAG,EAAAyB,2BAAA5B,EAAA,EAAA,EAAAG,EAAA0B,kBAAA7B,EAAA,EAAA,EAAAG,EAAA2B,eAAA9B,EAAA,EAAA,EAAAG,EAAA4B,OAAA/B,MAAAa,GAAAA,EAAAb,EAAA,EAAA,EAfFa,CAeE"}
|