@undp/data-viz 2.0.9 → 2.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AreaChart.cjs +1 -1
- package/dist/AreaChart.d.ts +2 -0
- package/dist/AreaChart.js +4 -4
- package/dist/BarGraph.cjs +1 -1
- package/dist/BarGraph.cjs.map +1 -1
- package/dist/BarGraph.d.ts +2 -0
- package/dist/BarGraph.js +1699 -1577
- package/dist/BarGraph.js.map +1 -1
- package/dist/BasicStatCard.d.ts +2 -0
- package/dist/BeeSwarmChart.cjs +1 -1
- package/dist/BeeSwarmChart.cjs.map +1 -1
- package/dist/BeeSwarmChart.d.ts +2 -0
- package/dist/BeeSwarmChart.js +258 -267
- package/dist/BeeSwarmChart.js.map +1 -1
- package/dist/BiVariateChoroplethMap.cjs +1 -1
- package/dist/BiVariateChoroplethMap.cjs.map +1 -1
- package/dist/BiVariateChoroplethMap.d.ts +2 -0
- package/dist/BiVariateChoroplethMap.js +252 -245
- package/dist/BiVariateChoroplethMap.js.map +1 -1
- package/dist/BulletChart.cjs +1 -1
- package/dist/BulletChart.cjs.map +1 -1
- package/dist/BulletChart.d.ts +2 -0
- package/dist/BulletChart.js +566 -536
- package/dist/BulletChart.js.map +1 -1
- package/dist/ButterflyChart.cjs +1 -1
- package/dist/ButterflyChart.cjs.map +1 -1
- package/dist/ButterflyChart.d.ts +2 -0
- package/dist/ButterflyChart.js +388 -378
- package/dist/ButterflyChart.js.map +1 -1
- package/dist/ChoroplethMap.cjs +1 -1
- package/dist/ChoroplethMap.cjs.map +1 -1
- package/dist/ChoroplethMap.d.ts +2 -0
- package/dist/ChoroplethMap.js +297 -291
- package/dist/ChoroplethMap.js.map +1 -1
- package/dist/CirclePackingGraph.cjs +1 -1
- package/dist/CirclePackingGraph.d.ts +2 -0
- package/dist/CirclePackingGraph.js +1 -1
- package/dist/DataCards.d.ts +2 -0
- package/dist/DataCards.js +1 -1
- package/dist/DataTable.d.ts +2 -0
- package/dist/DetailsModal-0Ry5nXiC.js +32 -0
- package/dist/DetailsModal-0Ry5nXiC.js.map +1 -0
- package/dist/DetailsModal-BN0HDFlV.cjs +2 -0
- package/dist/DetailsModal-BN0HDFlV.cjs.map +1 -0
- package/dist/DifferenceLineChart.cjs +1 -1
- package/dist/DifferenceLineChart.d.ts +2 -0
- package/dist/DifferenceLineChart.js +4 -4
- package/dist/DonutChart.cjs +1 -1
- package/dist/DonutChart.cjs.map +1 -1
- package/dist/DonutChart.d.ts +2 -0
- package/dist/DonutChart.js +185 -190
- package/dist/DonutChart.js.map +1 -1
- package/dist/DotDensityMap.cjs +1 -1
- package/dist/DotDensityMap.cjs.map +1 -1
- package/dist/DotDensityMap.d.ts +2 -0
- package/dist/DotDensityMap.js +252 -244
- package/dist/DotDensityMap.js.map +1 -1
- package/dist/DualAxisLineChart.cjs +1 -1
- package/dist/DualAxisLineChart.d.ts +2 -0
- package/dist/DualAxisLineChart.js +4 -4
- package/dist/DumbbellChart.cjs +1 -1
- package/dist/DumbbellChart.cjs.map +1 -1
- package/dist/DumbbellChart.d.ts +2 -0
- package/dist/DumbbellChart.js +563 -525
- package/dist/DumbbellChart.js.map +1 -1
- package/dist/GeoHubCompareMaps.d.ts +2 -0
- package/dist/GeoHubMap.d.ts +2 -0
- package/dist/GeoHubMapWithLayerSelection.d.ts +2 -0
- package/dist/{GraphEl-BcKU0bG1.cjs → GraphEl-B16EYkko.cjs} +2 -2
- package/dist/{GraphEl-BcKU0bG1.cjs.map → GraphEl-B16EYkko.cjs.map} +1 -1
- package/dist/{GraphEl-CGq1EWRn.js → GraphEl-DEzobeOM.js} +3 -3
- package/dist/{GraphEl-CGq1EWRn.js.map → GraphEl-DEzobeOM.js.map} +1 -1
- package/dist/GriddedGraphs.cjs +1 -1
- package/dist/GriddedGraphs.cjs.map +1 -1
- package/dist/GriddedGraphs.d.ts +2 -0
- package/dist/GriddedGraphs.js +19 -19
- package/dist/GriddedGraphs.js.map +1 -1
- package/dist/GriddedGraphsFromConfig.d.ts +2 -0
- package/dist/HeatMap.cjs +1 -1
- package/dist/HeatMap.cjs.map +1 -1
- package/dist/HeatMap.d.ts +2 -0
- package/dist/HeatMap.js +112 -117
- package/dist/HeatMap.js.map +1 -1
- package/dist/Histogram.cjs +1 -1
- package/dist/Histogram.d.ts +2 -0
- package/dist/Histogram.js +3 -3
- package/dist/HybridMap.cjs +1 -1
- package/dist/HybridMap.cjs.map +1 -1
- package/dist/HybridMap.d.ts +2 -0
- package/dist/HybridMap.js +366 -359
- package/dist/HybridMap.js.map +1 -1
- package/dist/LineChartWithConfidenceInterval.cjs +1 -1
- package/dist/LineChartWithConfidenceInterval.d.ts +2 -0
- package/dist/LineChartWithConfidenceInterval.js +4 -4
- package/dist/{Modal-DGcuAHyK.js → Modal-bMQA6bL_.js} +5 -5
- package/dist/{Modal-DGcuAHyK.js.map → Modal-bMQA6bL_.js.map} +1 -1
- package/dist/MultiGraphDashboard.cjs +1 -1
- package/dist/MultiGraphDashboard.cjs.map +1 -1
- package/dist/MultiGraphDashboard.d.ts +2 -0
- package/dist/MultiGraphDashboard.js +10 -10
- package/dist/MultiGraphDashboard.js.map +1 -1
- package/dist/MultiGraphDashboardFromConfig.d.ts +2 -0
- package/dist/MultiGraphDashboardWideToLongFormat.d.ts +2 -0
- package/dist/MultiGraphDashboardWideToLongFormat.js +1 -1
- package/dist/MultiGraphDashboardWideToLongFormatFromConfig.d.ts +2 -0
- package/dist/MultiLineAltChart.cjs +1 -1
- package/dist/MultiLineAltChart.cjs.map +1 -1
- package/dist/MultiLineAltChart.d.ts +2 -0
- package/dist/MultiLineAltChart.js +453 -425
- package/dist/MultiLineAltChart.js.map +1 -1
- package/dist/MultiLineChart.cjs +1 -1
- package/dist/MultiLineChart.d.ts +2 -0
- package/dist/MultiLineChart.js +4 -4
- package/dist/ParetoChart.cjs +1 -1
- package/dist/ParetoChart.cjs.map +1 -1
- package/dist/ParetoChart.d.ts +2 -0
- package/dist/ParetoChart.js +188 -193
- package/dist/ParetoChart.js.map +1 -1
- package/dist/PerformanceIntensiveMultiGraphDashboard.cjs +1 -1
- package/dist/PerformanceIntensiveMultiGraphDashboard.cjs.map +1 -1
- package/dist/PerformanceIntensiveMultiGraphDashboard.d.ts +2 -0
- package/dist/PerformanceIntensiveMultiGraphDashboard.js +16 -16
- package/dist/PerformanceIntensiveMultiGraphDashboard.js.map +1 -1
- package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.d.ts +2 -0
- package/dist/PerformanceIntensiveScrollStory.d.ts +2 -0
- package/dist/RadarChart.cjs +1 -1
- package/dist/RadarChart.cjs.map +1 -1
- package/dist/RadarChart.d.ts +2 -0
- package/dist/RadarChart.js +158 -163
- package/dist/RadarChart.js.map +1 -1
- package/dist/SankeyChart.cjs +1 -1
- package/dist/SankeyChart.cjs.map +1 -1
- package/dist/SankeyChart.d.ts +2 -0
- package/dist/SankeyChart.js +172 -177
- package/dist/SankeyChart.js.map +1 -1
- package/dist/ScatterPlot.cjs +1 -1
- package/dist/ScatterPlot.cjs.map +1 -1
- package/dist/ScatterPlot.d.ts +2 -0
- package/dist/ScatterPlot.js +494 -483
- package/dist/ScatterPlot.js.map +1 -1
- package/dist/ScrollStory.d.ts +2 -0
- package/dist/SimpleLineChart.cjs +1 -1
- package/dist/SimpleLineChart.d.ts +2 -0
- package/dist/SimpleLineChart.js +4 -4
- package/dist/SingleGraphDashboard.cjs +1 -1
- package/dist/SingleGraphDashboard.cjs.map +1 -1
- package/dist/SingleGraphDashboard.d.ts +2 -0
- package/dist/SingleGraphDashboard.js +24 -24
- package/dist/SingleGraphDashboard.js.map +1 -1
- package/dist/SingleGraphDashboardFromConfig.d.ts +2 -0
- package/dist/SingleGraphDashboardGeoHubMaps.d.ts +2 -0
- package/dist/SingleGraphDashboardGeoHubMapsFromConfig.d.ts +2 -0
- package/dist/SingleGraphDashboardThreeDGraphs.cjs +1 -1
- package/dist/SingleGraphDashboardThreeDGraphs.cjs.map +1 -1
- package/dist/SingleGraphDashboardThreeDGraphs.d.ts +2 -0
- package/dist/SingleGraphDashboardThreeDGraphs.js +46 -46
- package/dist/SingleGraphDashboardThreeDGraphs.js.map +1 -1
- package/dist/SingleGraphDashboardThreeDGraphsFromConfig.d.ts +2 -0
- package/dist/SlopeChart.cjs +1 -1
- package/dist/SlopeChart.cjs.map +1 -1
- package/dist/SlopeChart.d.ts +2 -0
- package/dist/SlopeChart.js +182 -187
- package/dist/SlopeChart.js.map +1 -1
- package/dist/SparkLine.cjs +1 -1
- package/dist/SparkLine.d.ts +2 -0
- package/dist/SparkLine.js +4 -4
- package/dist/StatCardFromData.d.ts +2 -0
- package/dist/StripChart.cjs +1 -1
- package/dist/StripChart.cjs.map +1 -1
- package/dist/StripChart.d.ts +2 -0
- package/dist/StripChart.js +249 -258
- package/dist/StripChart.js.map +1 -1
- package/dist/ThreeDGlobe.cjs +1 -1
- package/dist/ThreeDGlobe.cjs.map +1 -1
- package/dist/ThreeDGlobe.d.ts +2 -0
- package/dist/ThreeDGlobe.js +142 -147
- package/dist/ThreeDGlobe.js.map +1 -1
- package/dist/Tooltip-Dj5eVppQ.js +45 -0
- package/dist/Tooltip-Dj5eVppQ.js.map +1 -0
- package/dist/Tooltip-uUdw6wJL.cjs +2 -0
- package/dist/Tooltip-uUdw6wJL.cjs.map +1 -0
- package/dist/TreeMapGraph.cjs +1 -1
- package/dist/TreeMapGraph.cjs.map +1 -1
- package/dist/TreeMapGraph.d.ts +2 -0
- package/dist/TreeMapGraph.js +159 -164
- package/dist/TreeMapGraph.js.map +1 -1
- package/dist/Types.d.ts +2 -0
- package/dist/UnitChart.d.ts +2 -0
- package/dist/{band-CyHaVft5.js → band-DHUZ2X7J.js} +3 -3
- package/dist/{band-CyHaVft5.js.map → band-DHUZ2X7J.js.map} +1 -1
- package/dist/{checkIfMultiple-Y9iKaV_u.js → checkIfMultiple-CIRtG0KE.js} +2 -2
- package/dist/{checkIfMultiple-Y9iKaV_u.js.map → checkIfMultiple-CIRtG0KE.js.map} +1 -1
- package/dist/index-CF5hnGvG.cjs +2 -0
- package/dist/index-CF5hnGvG.cjs.map +1 -0
- package/dist/index-DPGq3eIL.js +330 -0
- package/dist/index-DPGq3eIL.js.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1 -1
- package/dist/{init-BJFW6EwE.js → init-BhZylTFx.js} +3 -3
- package/dist/{init-BJFW6EwE.js.map → init-BhZylTFx.js.map} +1 -1
- package/dist/{linear-BwnDd9KF.js → linear-BqltdMeF.js} +2 -2
- package/dist/{linear-BwnDd9KF.js.map → linear-BqltdMeF.js.map} +1 -1
- package/dist/{ordinal-P77xw8aL.js → ordinal-BJ6O_LC5.js} +2 -2
- package/dist/{ordinal-P77xw8aL.js.map → ordinal-BJ6O_LC5.js.map} +1 -1
- package/dist/{pow-DE4c7dbW.js → pow-CM2aze4M.js} +3 -3
- package/dist/{pow-DE4c7dbW.js.map → pow-CM2aze4M.js.map} +1 -1
- package/dist/{threshold-Bgr20hik.js → threshold-DFfqcDMa.js} +2 -2
- package/dist/{threshold-Bgr20hik.js.map → threshold-DFfqcDMa.js.map} +1 -1
- package/dist/{time-DCCfQk3V.js → time-BUL-dwnK.js} +3 -3
- package/dist/{time-DCCfQk3V.js.map → time-BUL-dwnK.js.map} +1 -1
- package/package.json +4 -4
- package/dist/Tooltip-4dJo4_AF.cjs +0 -2
- package/dist/Tooltip-4dJo4_AF.cjs.map +0 -1
- package/dist/Tooltip-CwWUegPB.js +0 -43
- package/dist/Tooltip-CwWUegPB.js.map +0 -1
- package/dist/index-B2LQV7Tk.js +0 -335
- package/dist/index-B2LQV7Tk.js.map +0 -1
- package/dist/index-xRHRLDIp.cjs +0 -2
- package/dist/index-xRHRLDIp.cjs.map +0 -1
- package/dist/sort-BIvMlUH1.js +0 -34
- package/dist/sort-BIvMlUH1.js.map +0 -1
- package/dist/sort-O96oMZLb.cjs +0 -2
- package/dist/sort-O96oMZLb.cjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SingleGraphDashboard.js","sources":["../src/Components/Dashboard/SingleGraphDashboard.tsx"],"sourcesContent":["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 { GraphContainer } from '../Elements/GraphContainer';\r\n\r\nimport GraphEl from './GraphEl';\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 GraphType,\r\n HighlightDataPointSettingsDataType,\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\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: GraphType;\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 addMinAndMax = (config: GraphConfigurationDataType[]) => {\r\n if (\r\n config.findIndex(d => d.chartConfigId === 'yMin') !== -1 &&\r\n config.findIndex(d => d.chartConfigId === 'yMax') !== -1\r\n )\r\n return config;\r\n const configTemp = [...config];\r\n if (config.findIndex(d => d.chartConfigId === 'yMin') === -1) {\r\n configTemp.push({\r\n chartConfigId: 'yMin',\r\n columnId: `${config[config.findIndex(d => d.chartConfigId === 'y')].columnId}Min`,\r\n });\r\n }\r\n if (config.findIndex(d => d.chartConfigId === 'yMax') === -1) {\r\n configTemp.push({\r\n chartConfigId: 'yMax',\r\n columnId: `${config[config.findIndex(d => d.chartConfigId === 'y')].columnId}Max`,\r\n });\r\n }\r\n return configTemp;\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 SingleGraphDashboard(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 ui: el.ui,\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\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 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\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 graphType === 'lineChartWithConfidenceInterval' && graphConfig\r\n ? addMinAndMax(graphConfig)\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: 1,\r\n flexShrink: d.ui !== 'radio' ? 0 : 1,\r\n minWidth: '240px',\r\n }}\r\n className='pb-4'\r\n key={i}\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: 1,\r\n flexShrink: d.ui !== 'radio' ? 0 : 1,\r\n minWidth: '240px',\r\n }}\r\n className='pb-4'\r\n key={i}\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: 1,\r\n flexShrink: 0,\r\n minWidth: '240px',\r\n }}\r\n className='pb-4'\r\n key={i}\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: 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 <GraphEl\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 width: undefined,\r\n height: undefined,\r\n relativeHeight: undefined,\r\n minHeight: undefined,\r\n padding: '0',\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":["addMinAndMax","config","findIndex","d","chartConfigId","configTemp","push","columnId","getGraphSettings","dataSelectionOptions","updatedConfig","updatedSettings","map","c","indx","opt","allowedValIndx","allowedColumnIds","col","value","graphSettings","Object","assign","SingleGraphDashboard","props","dataSettings","filters","graphType","dataTransform","graphDataConfiguration","dataFilters","debugMode","advancedDataSelectionOptions","readableHeader","noOfFiltersPerRow","updateFilters","uiMode","highlightDataPointSettings","filteredData","setFilteredData","useState","undefined","data","setData","graphConfig","setGraphConfig","advancedGraphSettings","setAdvancedGraphSettings","highlightedDataPointList","setHighlightedDataPointList","highlightedDataPointOptions","setHighlightedDataPointOption","graphParentDiv","useRef","prevGraphDataConfigRef","filterSettings","setFilterSettings","filterConfig","ignoreCase","ignoreAccents","trim","updateFiltersEvent","useEffectEvent","filterSettingsTemp","el","filter","column","label","singleSelect","clearable","ui","defaultValue","transformDefaultValue","availableValues","getUniqValue","v","excludeValues","includes","allowSelectAll","width","useEffect","fetchData","dataFromFile","dataURL","fileType","fetchAndParseJSON","columnsToArray","dataTransformation","fetchAndTransformDataFromAPI","apiHeaders","fetchAndParseCSV","delimiter","fetchAndParseMultipleDataSources","idColumnTitle","transformColumnsToArray","error","console","filteredDataEvent","length","result","item","every","flattenDeep","intersection","updateHighlightedDataPointOptions","isEqual","current","handleFilterChange","values","prev","f","graphData","transformDataForGraph","transformDataForAggregation","filterData","keyColumn","aggregationColumnsSetting","jsx","GraphContainer","classNames","graphContainer","styles","graphID","ariaLabel","backgroundColor","theme","language","height","padding","minHeight","relativeHeight","graphList","geoHubMapPresentation","indexOf","jsxs","Fragment","graphTitle","graphDescription","graphDownload","dataDownload","GraphHeader","title","description","i","flexGrow","flexShrink","minWidth","Label","DropdownSelect","options","dataConfiguration","RadioGroup","selectedOption","j","RadioGroupItem","checkIfMultiple","createFilter","newGraphConfig","CheckboxGroup","CheckboxGroupItem","defaultValues","GraphEl","highlightedDataPoints","highlightedIds","highlightedLines","Spinner"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SingleGraphDashboard.js","sources":["../src/Components/Dashboard/SingleGraphDashboard.tsx"],"sourcesContent":["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 { GraphContainer } from '../Elements/GraphContainer';\r\n\r\nimport GraphEl from './GraphEl';\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 GraphType,\r\n HighlightDataPointSettingsDataType,\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\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: GraphType;\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 addMinAndMax = (config: GraphConfigurationDataType[]) => {\r\n if (\r\n config.findIndex(d => d.chartConfigId === 'yMin') !== -1 &&\r\n config.findIndex(d => d.chartConfigId === 'yMax') !== -1\r\n )\r\n return config;\r\n const configTemp = [...config];\r\n if (config.findIndex(d => d.chartConfigId === 'yMin') === -1) {\r\n configTemp.push({\r\n chartConfigId: 'yMin',\r\n columnId: `${config[config.findIndex(d => d.chartConfigId === 'y')].columnId}Min`,\r\n });\r\n }\r\n if (config.findIndex(d => d.chartConfigId === 'yMax') === -1) {\r\n configTemp.push({\r\n chartConfigId: 'yMax',\r\n columnId: `${config[config.findIndex(d => d.chartConfigId === 'y')].columnId}Max`,\r\n });\r\n }\r\n return configTemp;\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 SingleGraphDashboard(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 ui: el.ui,\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\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 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\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 graphType === 'lineChartWithConfidenceInterval' && graphConfig\r\n ? addMinAndMax(graphConfig)\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 className='pb-4'\r\n key={i}\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 className='pb-4'\r\n key={i}\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: 0,\r\n minWidth: '240px',\r\n }}\r\n className='pb-4'\r\n key={i}\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 <GraphEl\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 width: undefined,\r\n height: undefined,\r\n relativeHeight: undefined,\r\n minHeight: undefined,\r\n padding: '0',\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":["addMinAndMax","config","findIndex","d","chartConfigId","configTemp","push","columnId","getGraphSettings","dataSelectionOptions","updatedConfig","updatedSettings","map","c","indx","opt","allowedValIndx","allowedColumnIds","col","value","graphSettings","Object","assign","SingleGraphDashboard","props","dataSettings","filters","graphType","dataTransform","graphDataConfiguration","dataFilters","debugMode","advancedDataSelectionOptions","readableHeader","noOfFiltersPerRow","updateFilters","uiMode","highlightDataPointSettings","filteredData","setFilteredData","useState","undefined","data","setData","graphConfig","setGraphConfig","advancedGraphSettings","setAdvancedGraphSettings","highlightedDataPointList","setHighlightedDataPointList","highlightedDataPointOptions","setHighlightedDataPointOption","graphParentDiv","useRef","prevGraphDataConfigRef","filterSettings","setFilterSettings","filterConfig","ignoreCase","ignoreAccents","trim","updateFiltersEvent","useEffectEvent","filterSettingsTemp","el","filter","column","label","singleSelect","clearable","ui","defaultValue","transformDefaultValue","availableValues","getUniqValue","v","excludeValues","includes","allowSelectAll","width","useEffect","fetchData","dataFromFile","dataURL","fileType","fetchAndParseJSON","columnsToArray","dataTransformation","fetchAndTransformDataFromAPI","apiHeaders","fetchAndParseCSV","delimiter","fetchAndParseMultipleDataSources","idColumnTitle","transformColumnsToArray","error","console","filteredDataEvent","length","result","item","every","flattenDeep","intersection","updateHighlightedDataPointOptions","isEqual","current","handleFilterChange","values","prev","f","graphData","transformDataForGraph","transformDataForAggregation","filterData","keyColumn","aggregationColumnsSetting","jsx","GraphContainer","classNames","graphContainer","styles","graphID","ariaLabel","backgroundColor","theme","language","height","padding","minHeight","relativeHeight","graphList","geoHubMapPresentation","indexOf","jsxs","Fragment","graphTitle","graphDescription","graphDownload","dataDownload","GraphHeader","title","description","i","flexGrow","flexShrink","minWidth","Label","DropdownSelect","options","dataConfiguration","RadioGroup","selectedOption","j","RadioGroupItem","checkIfMultiple","createFilter","newGraphConfig","CheckboxGroup","CheckboxGroupItem","defaultValues","GraphEl","highlightedDataPoints","highlightedIds","highlightedLines","Spinner"],"mappings":"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"}
|
|
@@ -95,6 +95,7 @@ declare interface ClassNameObject {
|
|
|
95
95
|
regLine?: string;
|
|
96
96
|
dataCards?: string;
|
|
97
97
|
colorLegend?: string;
|
|
98
|
+
modal?: string;
|
|
98
99
|
}
|
|
99
100
|
|
|
100
101
|
declare interface ColumnConfigurationDataType {
|
|
@@ -600,6 +601,7 @@ declare interface StyleObject {
|
|
|
600
601
|
mouseOverLine?: React.CSSProperties;
|
|
601
602
|
regLine?: React.CSSProperties;
|
|
602
603
|
dataCards?: React.CSSProperties;
|
|
604
|
+
modal?: React.CSSProperties;
|
|
603
605
|
}
|
|
604
606
|
|
|
605
607
|
declare interface TimelineDataType {
|
|
@@ -68,6 +68,7 @@ declare interface ClassNameObject {
|
|
|
68
68
|
regLine?: string;
|
|
69
69
|
dataCards?: string;
|
|
70
70
|
colorLegend?: string;
|
|
71
|
+
modal?: string;
|
|
71
72
|
}
|
|
72
73
|
|
|
73
74
|
declare type CurveTypes = 'linear' | 'curve' | 'step' | 'stepAfter' | 'stepBefore';
|
|
@@ -482,6 +483,7 @@ declare interface StyleObject {
|
|
|
482
483
|
mouseOverLine?: React.CSSProperties;
|
|
483
484
|
regLine?: React.CSSProperties;
|
|
484
485
|
dataCards?: React.CSSProperties;
|
|
486
|
+
modal?: React.CSSProperties;
|
|
485
487
|
}
|
|
486
488
|
|
|
487
489
|
declare interface TimelineDataType {
|
|
@@ -68,6 +68,7 @@ declare interface ClassNameObject {
|
|
|
68
68
|
regLine?: string;
|
|
69
69
|
dataCards?: string;
|
|
70
70
|
colorLegend?: string;
|
|
71
|
+
modal?: string;
|
|
71
72
|
}
|
|
72
73
|
|
|
73
74
|
declare interface ConfigObject {
|
|
@@ -486,6 +487,7 @@ declare interface StyleObject {
|
|
|
486
487
|
mouseOverLine?: React.CSSProperties;
|
|
487
488
|
regLine?: React.CSSProperties;
|
|
488
489
|
dataCards?: React.CSSProperties;
|
|
490
|
+
modal?: React.CSSProperties;
|
|
489
491
|
}
|
|
490
492
|
|
|
491
493
|
declare interface TimelineDataType {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./index-CHPV5EwG-CTPQjnHt.cjs"),u=require("react"),le=require("./index-CyZ1lmi_.cjs"),F=require("./index-BS2TADPj.cjs"),ie=require("./index-DQA8q5sC.cjs"),I=require("./DropdownSelect-Doz3mCrM.cjs"),g=require("./checkIfMultiple-wg6hJLXy.cjs"),ne=require("./Spinner-DRMBUsX7.cjs"),W=require("./Typography-DX7PlgQU.cjs"),oe=require("./ThreeDGlobe.cjs"),A=require("./fetchAndParseData-l5HGMAEs.cjs"),Z=require("./transformDataForAggregation-XNg0OGYE.cjs"),J=require("./getUniqValue-NX8DgwND.cjs"),re=require("./GraphHeader.cjs"),K=require("./filterData-T5DQBE9b.cjs"),se=require("./getGraphList-CA17dvFB.cjs"),Q=require("./transformDataForSelect-YmStusCI.cjs"),ue=require("./GraphContainer-d8A46BK2.cjs");function ce(y){const t=i.compilerRuntimeExports.c(24),{settings:a,graph:m,graphData:d,debugMode:S,graphDataConfiguration:o,readableHeader:E,updateFilters:w}=y;if(S&&(console.log(`Graph: ${m}`),console.log("Transformed data:",d),console.log("Settings:",a)),typeof d=="string"){const b=`flex my-0 mx-auto grow flex-col justify-center ${a?.width?"w-fit":"w-full"}`;let f;t[0]===Symbol.for("react.memo_cache_sentinel")?(f={height:"inherit"},t[0]=f):f=t[0];let c;t[1]!==d?(c=i.jsxRuntimeExports.jsx(W.j,{size:"sm",marginBottom:"none",className:"p-2 text-center text-accent-dark-red dark:text-accent-red",children:d}),t[1]=d,t[2]=c):c=t[2];let D;return t[3]!==b||t[4]!==c?(D=i.jsxRuntimeExports.jsx("div",{className:b,style:f,children:c}),t[3]=b,t[4]=c,t[5]=D):D=t[5],D}let v;t[6]===Symbol.for("react.memo_cache_sentinel")?(v={threeDGlobe:oe.ThreeDGlobe},t[6]=v):v=t[6];const O=v;let V;t[7]!==d||t[8]!==o||t[9]!==E||t[10]!==a||t[11]!==w?(V=b=>{switch(b){case"threeDGlobe":return{globeOffset:a?.globeOffset,collapseColorScaleByDefault:a?.collapseColorScaleByDefault,polygonAltitude:a?.polygonAltitude,highlightedIds:a?.highlightedIds,scale:a?.scale,theme:a?.theme,resetSelectionOnDoubleClick:a?.resetSelectionOnDoubleClick,graphTitle:a?.graphTitle,mapData:a?.mapData,graphDescription:a?.graphDescription,footNote:a?.footNote,width:a?.width,height:a?.height,sources:a?.sources,colorDomain:a?.colorDomain,colors:a?.colors,colorLegendTitle:Object.keys(a||{}).indexOf("colorLegendTitle")!==-1?a?.colorLegendTitle:g.getValues("x",o||[],E||[]),scaleType:a?.scaleType,data:d,centerPoint:a?.centerPoint,backgroundColor:a?.backgroundColor,mapNoDataColor:a?.mapNoDataColor,mapBorderColor:a?.mapBorderColor,relativeHeight:a?.relativeHeight,padding:a?.padding,tooltip:a?.tooltip,showColorScale:a?.showColorScale,graphID:a?.graphID,dataDownload:a?.dataDownload,mapProperty:a?.mapProperty,language:a?.language,minHeight:a?.minHeight,ariaLabel:a?.ariaLabel,onSeriesMouseClick:f=>{w?.(f.id)},detailsOnClick:a?.detailsOnClick,styles:a?.styles,classNames:a?.classNames,autoRotate:a?.autoRotate,globeMaterial:a?.globeMaterial,atmosphereColor:a?.atmosphereColor,enableZoom:a?.enableZoom,atmosphereAltitude:a?.atmosphereAltitude,globeCurvatureResolution:a?.globeCurvatureResolution,fogSettings:a?.fogSetting,lights:a?.lights,highlightedAltitude:a?.highlightedAltitude,selectedId:a?.selectedId};default:return{}}},t[7]=d,t[8]=o,t[9]=E,t[10]=a,t[11]=w,t[12]=V):V=t[12];const h=V,T=O[m];let p;t[13]!==h||t[14]!==m?(p=h(m),t[13]=h,t[14]=m,t[15]=p):p=t[15];const x=p,G=`grow my-0 mx-auto flex flex-col w-full justify-center ${a?.theme||"light"}`;let R;t[16]===Symbol.for("react.memo_cache_sentinel")?(R={minHeight:"inherit"},t[16]=R):R=t[16];let s;t[17]!==T||t[18]!==m||t[19]!==x?(s=T?i.jsxRuntimeExports.jsx(T,{...x}):i.jsxRuntimeExports.jsx(W.j,{size:"sm",marginBottom:"none",className:"p-2 text-center text-accent-dark-red dark:text-accent-red",children:`Invalid chart type: ${m}`}),t[17]=T,t[18]=m,t[19]=x,t[20]=s):s=t[20];let N;return t[21]!==G||t[22]!==s?(N=i.jsxRuntimeExports.jsx("div",{className:G,style:R,children:s}),t[21]=G,t[22]=s,t[23]=N):N=t[23],N}const L=(y,t)=>{const a=t?.map(m=>{const d=y?.findIndex(o=>o.chartConfigId===m.chartConfigId);if(d===-1)return{};const S=y[d]?.allowedColumnIds?.findIndex(o=>o.value===m.columnId);return S===-1?{}:y[d].allowedColumnIds[S].graphSettings||{}})||[];return Object.assign({},...a)};function de(y){const{graphSettings:t,dataSettings:a,filters:m,graphType:d,dataTransform:S,graphDataConfiguration:o,dataFilters:E,debugMode:w,dataSelectionOptions:v,advancedDataSelectionOptions:O,readableHeader:V,noOfFiltersPerRow:h=4,updateFilters:T,uiMode:p="normal",highlightDataPointSettings:x}=y,[G,R]=u.useState(void 0),[s,N]=u.useState(void 0),[b,f]=u.useState(o),[c,D]=u.useState({}),[$,X]=u.useState(void 0),[Y,_]=u.useState([]),M=u.useRef(null),U=u.useRef(o),[P,z]=u.useState([]),H={ignoreCase:!0,ignoreAccents:!0,trim:!0},B=u.useEffectEvent(()=>{const e=(m||[]).map(r=>({filter:r.column,label:r.label||`Filter by ${r.column}`,singleSelect:r.singleSelect,clearable:r.clearable,defaultValue:Q.transformDefaultValue(r.defaultValue),value:Q.transformDefaultValue(r.defaultValue),availableValues:J.getUniqValue(s,r.column).filter(l=>!r.excludeValues?.includes(`${l}`)).map(l=>({value:l,label:l})),allowSelectAll:r.allowSelectAll,width:r.width}));z(e)});u.useEffect(()=>{(async()=>{try{const r=a.dataURL?typeof a.dataURL=="string"?a.fileType==="json"?await A.fetchAndParseJSON(a.dataURL,a.columnsToArray,a.dataTransformation,w):a.fileType==="api"?await A.fetchAndTransformDataFromAPI(a.dataURL,a.apiHeaders,a.columnsToArray,a.dataTransformation,w):await A.fetchAndParseCSV(a.dataURL,a.dataTransformation,a.columnsToArray,w,a.delimiter,!0):await A.fetchAndParseMultipleDataSources(a.dataURL,a.idColumnTitle):await A.transformColumnsToArray(a.data,a.columnsToArray);N(r)}catch(r){console.error("Data fetching error:",r)}})(),B()},[a,w]),u.useEffect(()=>{B()},[m,s]);const ee=u.useEffectEvent(()=>{if(!s||P.length===0)R(s);else{const e=s.filter(r=>P.every(l=>l.value&&F.flattenDeep([l.value]).length>0?le.intersection(F.flattenDeep([r[l.filter]]),F.flattenDeep([l.value]).map(n=>n.value)).length>0:!0));R(e)}});u.useEffect(()=>{ee()},[P,s]),u.useEffect(()=>{v&&D(L(v,o))},[v,o]);const te=u.useEffectEvent(()=>{x?.column&&G&&_(J.getUniqValue(G,x.column).filter(e=>!x?.excludeValues?.includes(`${e}`)).map(e=>({value:e,label:e})))});u.useEffect(()=>{te()},[x]),u.useEffect(()=>{ie.isEqual(U.current,o)||(f(o),U.current=o)},[o]);const k=(e,r)=>{z(l=>l.map(n=>n.filter===e?{...n,value:r}:n))},ae=s?Z.transformDataForGraph(S?Z.transformDataForAggregation(K.filterData(s,E||[]),S.keyColumn,S.aggregationColumnsSetting):K.filterData(s,E||[]),d,b):void 0;return i.jsxRuntimeExports.jsx(ue.GraphContainer,{className:t?.classNames?.graphContainer,style:t?.styles?.graphContainer,id:t?.graphID,ref:M,"aria-label":t?.ariaLabel,backgroundColor:t?.backgroundColor??!1,theme:t?.theme||"light",language:t?.language||"en",width:t?.width,height:t?.height,padding:t?.padding,minHeight:t?.minHeight,relativeHeight:t?.relativeHeight,children:s||se.graphList.filter(e=>e.geoHubMapPresentation).map(e=>e.graphID).indexOf(d)!==-1?i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[c?.graphTitle||c?.graphDescription||t?.graphTitle||t?.graphDescription||t?.graphDownload||t?.dataDownload?i.jsxRuntimeExports.jsx(re.GraphHeader,{styles:{title:c?.styles?.title||t?.styles?.title,description:c?.styles?.description||t?.styles?.description},classNames:{title:c?.classNames?.title||t?.classNames?.title,description:c?.classNames?.description||t?.classNames?.description},graphTitle:c?.graphTitle||t?.graphTitle,graphDescription:c?.graphDescription||t?.graphDescription,width:c?.width||t?.width,graphDownload:t?.graphDownload?M:void 0,dataDownload:t?.dataDownload&&s&&s.length>0?s:null}):null,P.length!==0||(v||[]).length!==0||(O||[]).length!==0||x?i.jsxRuntimeExports.jsxs("div",{className:"flex flex-wrap items-start gap-x-4 gap-y-0 w-full",children:[O?.map((e,r)=>i.jsxRuntimeExports.jsxs("div",{style:{width:e.width||`calc(${100/h}% - ${(h-1)/h}rem)`,flexGrow:1,flexShrink:e.ui!=="radio"?0:1,minWidth:"240px"},className:"pb-4",children:[i.jsxRuntimeExports.jsx(g.b,{className:"mb-2",children:e.label||"Graph by"}),e.ui!=="radio"?i.jsxRuntimeExports.jsx(I.ja,{options:e.options.map(l=>({...l,value:l.label})),size:"sm",isClearable:!1,isSearchable:!0,variant:p,controlShouldRenderValue:!0,defaultValue:e.defaultValue?{...e.defaultValue,value:e.defaultValue?.label}:{...e.options[0],value:e.options[0].label},onChange:l=>{D(l?.graphSettings||{}),f(l?.dataConfiguration)}}):i.jsxRuntimeExports.jsx(g.ye,{defaultValue:e.defaultValue?.label||e.options[0].label,variant:p,onValueChange:l=>{const n=e.options[e.options.findIndex(j=>j.label===l)];D(n.graphSettings||{}),f(n.dataConfiguration)},children:e.options.map((l,n)=>i.jsxRuntimeExports.jsx(g.he,{label:l.label,value:l.label},n))})]},r)),v?.map((e,r)=>i.jsxRuntimeExports.jsxs("div",{style:{width:e.width||`calc(${100/h}% - ${(h-1)/h}rem)`,flexGrow:1,flexShrink:e.ui!=="radio"?0:1,minWidth:"240px"},className:"pb-4",children:[i.jsxRuntimeExports.jsx(g.b,{className:"mb-2",children:e.label||`Visualize ${e.chartConfigId} by`}),g.checkIfMultiple(e.chartConfigId,b||[])?e.ui!=="radio"?i.jsxRuntimeExports.jsx(I.ja,{options:e.allowedColumnIds,size:"sm",isMulti:!0,isSearchable:!0,variant:p,controlShouldRenderValue:!0,defaultValue:o?o[o.findIndex(l=>l.chartConfigId===e.chartConfigId)].columnId.map(l=>e.allowedColumnIds[e.allowedColumnIds.findIndex(n=>n.value===l)]):void 0,filterOption:I.Du(H),onChange:l=>{const n={columnId:(l||[]).map(C=>C.value),chartConfigId:e.chartConfigId},j=b?.map(C=>C.chartConfigId===n.chartConfigId?n:C);f(j)}}):i.jsxRuntimeExports.jsx(g.$,{variant:p,defaultValue:o?o[o.findIndex(l=>l.chartConfigId===e.chartConfigId)].columnId.map(l=>e.allowedColumnIds[e.allowedColumnIds.findIndex(n=>n.value===l)]).map(l=>l.value):[],onValueChange:l=>{const n={columnId:l||[],chartConfigId:e.chartConfigId},j=b?.map(C=>C.chartConfigId===n.chartConfigId?n:C);f(j)},children:e.allowedColumnIds.map((l,n)=>i.jsxRuntimeExports.jsx(g.P,{label:l.label,value:l.label},n))}):e.ui!=="radio"?i.jsxRuntimeExports.jsx(I.ja,{options:e.allowedColumnIds,size:"sm",isClearable:!1,isSearchable:!0,variant:p,controlShouldRenderValue:!0,defaultValue:o?e.allowedColumnIds[e.allowedColumnIds.findIndex(l=>l.value===o[o.findIndex(n=>n.chartConfigId===e.chartConfigId)].columnId)]:void 0,onChange:l=>{const n={columnId:l?.value,chartConfigId:e.chartConfigId},j=b?.map(C=>C.chartConfigId===n.chartConfigId?n:C);D(L(v,j)),f(j)}}):i.jsxRuntimeExports.jsx(g.ye,{variant:p,defaultValue:o?e.allowedColumnIds[e.allowedColumnIds.findIndex(l=>l.value===o[o.findIndex(n=>n.chartConfigId===e.chartConfigId)].columnId)].label:"",onValueChange:l=>{const j={columnId:e.allowedColumnIds[e.allowedColumnIds.findIndex(q=>q.label===l)].value,chartConfigId:e.chartConfigId},C=b?.map(q=>q.chartConfigId===j.chartConfigId?j:q);D(L(v,C)),f(C)},children:e.allowedColumnIds.map((l,n)=>i.jsxRuntimeExports.jsx(g.he,{label:l.label,value:l.label},n))})]},r)),P?.map((e,r)=>i.jsxRuntimeExports.jsxs("div",{style:{width:e.width||`calc(${100/h}% - ${(h-1)/h}rem)`,flexGrow:1,flexShrink:0,minWidth:"240px"},className:"pb-4",children:[i.jsxRuntimeExports.jsx(g.b,{className:"mb-2",children:e.label}),e.singleSelect?e.ui!=="radio"?i.jsxRuntimeExports.jsx(I.ja,{options:e.availableValues,variant:p,isClearable:e.clearable===void 0?!0:e.clearable,isSearchable:!0,controlShouldRenderValue:!0,filterOption:I.Du(H),onChange:l=>{k(e.filter,l)},value:e.value,defaultValue:e.defaultValue}):i.jsxRuntimeExports.jsx(g.ye,{variant:p,defaultValue:e.defaultValue.value,onValueChange:l=>{k(e.filter,e.availableValues.filter(n=>n.value===l))},children:e.availableValues.map((l,n)=>i.jsxRuntimeExports.jsx(g.he,{label:`${l.label}`,value:`${l.value}`},n))}):i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[e.ui!=="radio"?i.jsxRuntimeExports.jsx(I.ja,{options:e.availableValues,variant:p,size:"sm",isMulti:!0,isClearable:e.clearable===void 0?!0:e.clearable,isSearchable:!0,controlShouldRenderValue:!0,filterOption:I.Du(H),onChange:l=>{k(e.filter,l)},value:e.value,defaultValue:e.defaultValue}):i.jsxRuntimeExports.jsx(g.$,{variant:p,defaultValue:e.defaultValue?e.defaultValue.map(l=>`${l.value}`):[],value:e.value?e.value.map(l=>`${l.value}`):void 0,onValueChange:l=>{k(e.filter,e.availableValues.filter(n=>l.indexOf(`${n.value}`)!==-1))},children:e.availableValues.map((l,n)=>i.jsxRuntimeExports.jsx(g.P,{label:`${l.label}`,value:`${l.value}`},n))}),e.allowSelectAll?i.jsxRuntimeExports.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:()=>{k(e.filter,e.availableValues)},children:"Select all options"}):null]})]},r)),x?i.jsxRuntimeExports.jsxs("div",{style:{width:x.width||`calc(${100/h}% - ${(h-1)/h}rem)`,flexGrow:1,flexShrink:0,minWidth:"240px"},className:"pb-4",children:[i.jsxRuntimeExports.jsx(g.b,{className:"mb-2",children:x.label||"Highlight data"}),i.jsxRuntimeExports.jsx(I.ja,{options:Y,variant:p,size:"sm",isMulti:!0,isClearable:!0,isSearchable:!0,controlShouldRenderValue:!0,filterOption:I.Du(H),onChange:e=>{X(e?.map(r=>r.value))},value:$?.map(e=>({label:e,value:e})),defaultValue:x.defaultValues?.map(e=>({label:e,value:e}))})]}):null]}):null,i.jsxRuntimeExports.jsx(ce,{graph:d,graphData:ae,graphDataConfiguration:b,debugMode:w,readableHeader:V||[],updateFilters:T,settings:{...t||{},...c,graphTitle:void 0,graphDescription:void 0,graphDownload:!1,dataDownload:!1,backgroundColor:void 0,padding:"0",width:void 0,height:void 0,relativeHeight:void 0,minHeight:void 0,theme:t?.theme,...$?{highlightedDataPoints:$,highlightedIds:$?.map(e=>`${e}`),highlightedLines:$?.map(e=>e)}:{}}})]}):i.jsxRuntimeExports.jsx("div",{className:"w-full flex justify-center p-4",children:i.jsxRuntimeExports.jsx(ne.w,{})})})}exports.SingleGraphDashboardThreeDGraphs=de;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./index-CHPV5EwG-CTPQjnHt.cjs"),u=require("react"),le=require("./index-CyZ1lmi_.cjs"),F=require("./index-BS2TADPj.cjs"),ie=require("./index-DQA8q5sC.cjs"),D=require("./DropdownSelect-Doz3mCrM.cjs"),g=require("./checkIfMultiple-wg6hJLXy.cjs"),oe=require("./Spinner-DRMBUsX7.cjs"),W=require("./Typography-DX7PlgQU.cjs"),ne=require("./ThreeDGlobe.cjs"),A=require("./fetchAndParseData-l5HGMAEs.cjs"),Z=require("./transformDataForAggregation-XNg0OGYE.cjs"),J=require("./getUniqValue-NX8DgwND.cjs"),re=require("./GraphHeader.cjs"),K=require("./filterData-T5DQBE9b.cjs"),se=require("./getGraphList-CA17dvFB.cjs"),Q=require("./transformDataForSelect-YmStusCI.cjs"),ue=require("./GraphContainer-d8A46BK2.cjs");function ce(y){const t=i.compilerRuntimeExports.c(24),{settings:a,graph:m,graphData:d,debugMode:S,graphDataConfiguration:n,readableHeader:E,updateFilters:I}=y;if(S&&(console.log(`Graph: ${m}`),console.log("Transformed data:",d),console.log("Settings:",a)),typeof d=="string"){const b=`flex my-0 mx-auto grow flex-col justify-center ${a?.width?"w-fit":"w-full"}`;let x;t[0]===Symbol.for("react.memo_cache_sentinel")?(x={height:"inherit"},t[0]=x):x=t[0];let c;t[1]!==d?(c=i.jsxRuntimeExports.jsx(W.j,{size:"sm",marginBottom:"none",className:"p-2 text-center text-accent-dark-red dark:text-accent-red",children:d}),t[1]=d,t[2]=c):c=t[2];let w;return t[3]!==b||t[4]!==c?(w=i.jsxRuntimeExports.jsx("div",{className:b,style:x,children:c}),t[3]=b,t[4]=c,t[5]=w):w=t[5],w}let v;t[6]===Symbol.for("react.memo_cache_sentinel")?(v={threeDGlobe:ne.ThreeDGlobe},t[6]=v):v=t[6];const O=v;let V;t[7]!==d||t[8]!==n||t[9]!==E||t[10]!==a||t[11]!==I?(V=b=>{switch(b){case"threeDGlobe":return{globeOffset:a?.globeOffset,collapseColorScaleByDefault:a?.collapseColorScaleByDefault,polygonAltitude:a?.polygonAltitude,highlightedIds:a?.highlightedIds,scale:a?.scale,theme:a?.theme,resetSelectionOnDoubleClick:a?.resetSelectionOnDoubleClick,graphTitle:a?.graphTitle,mapData:a?.mapData,graphDescription:a?.graphDescription,footNote:a?.footNote,width:a?.width,height:a?.height,sources:a?.sources,colorDomain:a?.colorDomain,colors:a?.colors,colorLegendTitle:Object.keys(a||{}).indexOf("colorLegendTitle")!==-1?a?.colorLegendTitle:g.getValues("x",n||[],E||[]),scaleType:a?.scaleType,data:d,centerPoint:a?.centerPoint,backgroundColor:a?.backgroundColor,mapNoDataColor:a?.mapNoDataColor,mapBorderColor:a?.mapBorderColor,relativeHeight:a?.relativeHeight,padding:a?.padding,tooltip:a?.tooltip,showColorScale:a?.showColorScale,graphID:a?.graphID,dataDownload:a?.dataDownload,mapProperty:a?.mapProperty,language:a?.language,minHeight:a?.minHeight,ariaLabel:a?.ariaLabel,onSeriesMouseClick:x=>{I?.(x.id)},detailsOnClick:a?.detailsOnClick,styles:a?.styles,classNames:a?.classNames,autoRotate:a?.autoRotate,globeMaterial:a?.globeMaterial,atmosphereColor:a?.atmosphereColor,enableZoom:a?.enableZoom,atmosphereAltitude:a?.atmosphereAltitude,globeCurvatureResolution:a?.globeCurvatureResolution,fogSettings:a?.fogSetting,lights:a?.lights,highlightedAltitude:a?.highlightedAltitude,selectedId:a?.selectedId};default:return{}}},t[7]=d,t[8]=n,t[9]=E,t[10]=a,t[11]=I,t[12]=V):V=t[12];const h=V,T=O[m];let p;t[13]!==h||t[14]!==m?(p=h(m),t[13]=h,t[14]=m,t[15]=p):p=t[15];const f=p,G=`grow my-0 mx-auto flex flex-col w-full justify-center ${a?.theme||"light"}`;let R;t[16]===Symbol.for("react.memo_cache_sentinel")?(R={minHeight:"inherit"},t[16]=R):R=t[16];let s;t[17]!==T||t[18]!==m||t[19]!==f?(s=T?i.jsxRuntimeExports.jsx(T,{...f}):i.jsxRuntimeExports.jsx(W.j,{size:"sm",marginBottom:"none",className:"p-2 text-center text-accent-dark-red dark:text-accent-red",children:`Invalid chart type: ${m}`}),t[17]=T,t[18]=m,t[19]=f,t[20]=s):s=t[20];let N;return t[21]!==G||t[22]!==s?(N=i.jsxRuntimeExports.jsx("div",{className:G,style:R,children:s}),t[21]=G,t[22]=s,t[23]=N):N=t[23],N}const L=(y,t)=>{const a=t?.map(m=>{const d=y?.findIndex(n=>n.chartConfigId===m.chartConfigId);if(d===-1)return{};const S=y[d]?.allowedColumnIds?.findIndex(n=>n.value===m.columnId);return S===-1?{}:y[d].allowedColumnIds[S].graphSettings||{}})||[];return Object.assign({},...a)};function de(y){const{graphSettings:t,dataSettings:a,filters:m,graphType:d,dataTransform:S,graphDataConfiguration:n,dataFilters:E,debugMode:I,dataSelectionOptions:v,advancedDataSelectionOptions:O,readableHeader:V,noOfFiltersPerRow:h=4,updateFilters:T,uiMode:p="normal",highlightDataPointSettings:f}=y,[G,R]=u.useState(void 0),[s,N]=u.useState(void 0),[b,x]=u.useState(n),[c,w]=u.useState({}),[$,X]=u.useState(void 0),[Y,_]=u.useState([]),M=u.useRef(null),U=u.useRef(n),[P,z]=u.useState([]),H={ignoreCase:!0,ignoreAccents:!0,trim:!0},B=u.useEffectEvent(()=>{const e=(m||[]).map(r=>({filter:r.column,label:r.label||`Filter by ${r.column}`,singleSelect:r.singleSelect,clearable:r.clearable,defaultValue:Q.transformDefaultValue(r.defaultValue),value:Q.transformDefaultValue(r.defaultValue),availableValues:J.getUniqValue(s,r.column).filter(l=>!r.excludeValues?.includes(`${l}`)).map(l=>({value:l,label:l})),allowSelectAll:r.allowSelectAll,width:r.width}));z(e)});u.useEffect(()=>{(async()=>{try{const r=a.dataURL?typeof a.dataURL=="string"?a.fileType==="json"?await A.fetchAndParseJSON(a.dataURL,a.columnsToArray,a.dataTransformation,I):a.fileType==="api"?await A.fetchAndTransformDataFromAPI(a.dataURL,a.apiHeaders,a.columnsToArray,a.dataTransformation,I):await A.fetchAndParseCSV(a.dataURL,a.dataTransformation,a.columnsToArray,I,a.delimiter,!0):await A.fetchAndParseMultipleDataSources(a.dataURL,a.idColumnTitle):await A.transformColumnsToArray(a.data,a.columnsToArray);N(r)}catch(r){console.error("Data fetching error:",r)}})(),B()},[a,I]),u.useEffect(()=>{B()},[m,s]);const ee=u.useEffectEvent(()=>{if(!s||P.length===0)R(s);else{const e=s.filter(r=>P.every(l=>l.value&&F.flattenDeep([l.value]).length>0?le.intersection(F.flattenDeep([r[l.filter]]),F.flattenDeep([l.value]).map(o=>o.value)).length>0:!0));R(e)}});u.useEffect(()=>{ee()},[P,s]),u.useEffect(()=>{v&&w(L(v,n))},[v,n]);const te=u.useEffectEvent(()=>{f?.column&&G&&_(J.getUniqValue(G,f.column).filter(e=>!f?.excludeValues?.includes(`${e}`)).map(e=>({value:e,label:e})))});u.useEffect(()=>{te()},[f]),u.useEffect(()=>{ie.isEqual(U.current,n)||(x(n),U.current=n)},[n]);const k=(e,r)=>{z(l=>l.map(o=>o.filter===e?{...o,value:r}:o))},ae=s?Z.transformDataForGraph(S?Z.transformDataForAggregation(K.filterData(s,E||[]),S.keyColumn,S.aggregationColumnsSetting):K.filterData(s,E||[]),d,b):void 0;return i.jsxRuntimeExports.jsx(ue.GraphContainer,{className:t?.classNames?.graphContainer,style:t?.styles?.graphContainer,id:t?.graphID,ref:M,"aria-label":t?.ariaLabel,backgroundColor:t?.backgroundColor??!1,theme:t?.theme||"light",language:t?.language||"en",width:t?.width,height:t?.height,padding:t?.padding,minHeight:t?.minHeight,relativeHeight:t?.relativeHeight,children:s||se.graphList.filter(e=>e.geoHubMapPresentation).map(e=>e.graphID).indexOf(d)!==-1?i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[c?.graphTitle||c?.graphDescription||t?.graphTitle||t?.graphDescription||t?.graphDownload||t?.dataDownload?i.jsxRuntimeExports.jsx(re.GraphHeader,{styles:{title:c?.styles?.title||t?.styles?.title,description:c?.styles?.description||t?.styles?.description},classNames:{title:c?.classNames?.title||t?.classNames?.title,description:c?.classNames?.description||t?.classNames?.description},graphTitle:c?.graphTitle||t?.graphTitle,graphDescription:c?.graphDescription||t?.graphDescription,width:c?.width||t?.width,graphDownload:t?.graphDownload?M:void 0,dataDownload:t?.dataDownload&&s&&s.length>0?s:null}):null,P.length!==0||(v||[]).length!==0||(O||[]).length!==0||f?i.jsxRuntimeExports.jsxs("div",{className:"flex flex-wrap items-start gap-x-4 gap-y-0 w-full",children:[O?.map((e,r)=>i.jsxRuntimeExports.jsxs("div",{style:{width:e.width||`calc(${100/h}% - ${(h-1)/h}rem)`,flexGrow:e.width?0:1,flexShrink:e.ui!=="radio"||e.width?0:1,minWidth:"240px"},className:"pb-4",children:[i.jsxRuntimeExports.jsx(g.b,{className:"mb-2",children:e.label||"Graph by"}),e.ui!=="radio"?i.jsxRuntimeExports.jsx(D.ja,{options:e.options.map(l=>({...l,value:l.label})),size:"sm",isClearable:!1,isSearchable:!0,variant:p,controlShouldRenderValue:!0,defaultValue:e.defaultValue?{...e.defaultValue,value:e.defaultValue?.label}:{...e.options[0],value:e.options[0].label},onChange:l=>{w(l?.graphSettings||{}),x(l?.dataConfiguration)}}):i.jsxRuntimeExports.jsx(g.ye,{defaultValue:e.defaultValue?.label||e.options[0].label,variant:p,onValueChange:l=>{const o=e.options[e.options.findIndex(j=>j.label===l)];w(o.graphSettings||{}),x(o.dataConfiguration)},children:e.options.map((l,o)=>i.jsxRuntimeExports.jsx(g.he,{label:l.label,value:l.label},o))})]},r)),v?.map((e,r)=>i.jsxRuntimeExports.jsxs("div",{style:{width:e.width||`calc(${100/h}% - ${(h-1)/h}rem)`,flexGrow:e.width?0:1,flexShrink:e.ui!=="radio"||e.width?0:1,minWidth:"240px"},className:"pb-4",children:[i.jsxRuntimeExports.jsx(g.b,{className:"mb-2",children:e.label||`Visualize ${e.chartConfigId} by`}),g.checkIfMultiple(e.chartConfigId,b||[])?e.ui!=="radio"?i.jsxRuntimeExports.jsx(D.ja,{options:e.allowedColumnIds,size:"sm",isMulti:!0,isSearchable:!0,variant:p,controlShouldRenderValue:!0,defaultValue:n?n[n.findIndex(l=>l.chartConfigId===e.chartConfigId)].columnId.map(l=>e.allowedColumnIds[e.allowedColumnIds.findIndex(o=>o.value===l)]):void 0,filterOption:D.Du(H),onChange:l=>{const o={columnId:(l||[]).map(C=>C.value),chartConfigId:e.chartConfigId},j=b?.map(C=>C.chartConfigId===o.chartConfigId?o:C);x(j)}}):i.jsxRuntimeExports.jsx(g.$,{variant:p,defaultValue:n?n[n.findIndex(l=>l.chartConfigId===e.chartConfigId)].columnId.map(l=>e.allowedColumnIds[e.allowedColumnIds.findIndex(o=>o.value===l)]).map(l=>l.value):[],onValueChange:l=>{const o={columnId:l||[],chartConfigId:e.chartConfigId},j=b?.map(C=>C.chartConfigId===o.chartConfigId?o:C);x(j)},children:e.allowedColumnIds.map((l,o)=>i.jsxRuntimeExports.jsx(g.P,{label:l.label,value:l.label},o))}):e.ui!=="radio"?i.jsxRuntimeExports.jsx(D.ja,{options:e.allowedColumnIds,size:"sm",isClearable:!1,isSearchable:!0,variant:p,controlShouldRenderValue:!0,defaultValue:n?e.allowedColumnIds[e.allowedColumnIds.findIndex(l=>l.value===n[n.findIndex(o=>o.chartConfigId===e.chartConfigId)].columnId)]:void 0,onChange:l=>{const o={columnId:l?.value,chartConfigId:e.chartConfigId},j=b?.map(C=>C.chartConfigId===o.chartConfigId?o:C);w(L(v,j)),x(j)}}):i.jsxRuntimeExports.jsx(g.ye,{variant:p,defaultValue:n?e.allowedColumnIds[e.allowedColumnIds.findIndex(l=>l.value===n[n.findIndex(o=>o.chartConfigId===e.chartConfigId)].columnId)].label:"",onValueChange:l=>{const j={columnId:e.allowedColumnIds[e.allowedColumnIds.findIndex(q=>q.label===l)].value,chartConfigId:e.chartConfigId},C=b?.map(q=>q.chartConfigId===j.chartConfigId?j:q);w(L(v,C)),x(C)},children:e.allowedColumnIds.map((l,o)=>i.jsxRuntimeExports.jsx(g.he,{label:l.label,value:l.label},o))})]},r)),P?.map((e,r)=>i.jsxRuntimeExports.jsxs("div",{style:{width:e.width||`calc(${100/h}% - ${(h-1)/h}rem)`,flexGrow:e.width?0:1,flexShrink:e.ui!=="radio"||e.width?0:1,minWidth:"240px"},className:"pb-4",children:[i.jsxRuntimeExports.jsx(g.b,{className:"mb-2",children:e.label}),e.singleSelect?e.ui!=="radio"?i.jsxRuntimeExports.jsx(D.ja,{options:e.availableValues,variant:p,isClearable:e.clearable===void 0?!0:e.clearable,isSearchable:!0,controlShouldRenderValue:!0,filterOption:D.Du(H),onChange:l=>{k(e.filter,l)},value:e.value,defaultValue:e.defaultValue}):i.jsxRuntimeExports.jsx(g.ye,{variant:p,defaultValue:e.defaultValue.value,onValueChange:l=>{k(e.filter,e.availableValues.filter(o=>o.value===l))},children:e.availableValues.map((l,o)=>i.jsxRuntimeExports.jsx(g.he,{label:`${l.label}`,value:`${l.value}`},o))}):i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[e.ui!=="radio"?i.jsxRuntimeExports.jsx(D.ja,{options:e.availableValues,variant:p,size:"sm",isMulti:!0,isClearable:e.clearable===void 0?!0:e.clearable,isSearchable:!0,controlShouldRenderValue:!0,filterOption:D.Du(H),onChange:l=>{k(e.filter,l)},value:e.value,defaultValue:e.defaultValue}):i.jsxRuntimeExports.jsx(g.$,{variant:p,defaultValue:e.defaultValue?e.defaultValue.map(l=>`${l.value}`):[],value:e.value?e.value.map(l=>`${l.value}`):void 0,onValueChange:l=>{k(e.filter,e.availableValues.filter(o=>l.indexOf(`${o.value}`)!==-1))},children:e.availableValues.map((l,o)=>i.jsxRuntimeExports.jsx(g.P,{label:`${l.label}`,value:`${l.value}`},o))}),e.allowSelectAll?i.jsxRuntimeExports.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:()=>{k(e.filter,e.availableValues)},children:"Select all options"}):null]})]},r)),f?i.jsxRuntimeExports.jsxs("div",{style:{width:f.width||`calc(${100/h}% - ${(h-1)/h}rem)`,flexGrow:f.width?0:1,flexShrink:0,minWidth:"240px"},className:"pb-4",children:[i.jsxRuntimeExports.jsx(g.b,{className:"mb-2",children:f.label||"Highlight data"}),i.jsxRuntimeExports.jsx(D.ja,{options:Y,variant:p,size:"sm",isMulti:!0,isClearable:!0,isSearchable:!0,controlShouldRenderValue:!0,filterOption:D.Du(H),onChange:e=>{X(e?.map(r=>r.value))},value:$?.map(e=>({label:e,value:e})),defaultValue:f.defaultValues?.map(e=>({label:e,value:e}))})]}):null]}):null,i.jsxRuntimeExports.jsx(ce,{graph:d,graphData:ae,graphDataConfiguration:b,debugMode:I,readableHeader:V||[],updateFilters:T,settings:{...t||{},...c,graphTitle:void 0,graphDescription:void 0,graphDownload:!1,dataDownload:!1,backgroundColor:void 0,padding:"0",width:void 0,height:void 0,relativeHeight:void 0,minHeight:void 0,theme:t?.theme,...$?{highlightedDataPoints:$,highlightedIds:$?.map(e=>`${e}`),highlightedLines:$?.map(e=>e)}:{}}})]}):i.jsxRuntimeExports.jsx("div",{className:"w-full flex justify-center p-4",children:i.jsxRuntimeExports.jsx(oe.w,{})})})}exports.SingleGraphDashboardThreeDGraphs=de;
|
|
2
2
|
//# sourceMappingURL=SingleGraphDashboardThreeDGraphs.cjs.map
|