{"version":3,"file":"SingleGraphDashboardThreeDGraphsFromConfig.cjs","names":[],"sources":["../src/Components/Dashboard/PerformanceIntensive/SingleGraphDashboardThreeDGraphsFromConfig.tsx"],"sourcesContent":["import { Spinner } from '@undp/design-system-react/Spinner';\r\nimport { useEffect, useState } from 'react';\r\nimport type {\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\nimport { SingleGraphDashboardThreeDGraphs } from './SingleGraphDashboardThreeDGraphs';\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"],"mappings":"yTA4CA,SAAgB,EAA2C,EAAc,CACvE,GAAM,CAAE,UAAW,EACb,CAAC,EAAgB,IAAA,EAAA,EAAA,UAAwD,IAAA,EAAS,EAmBxF,OAjBA,EAAA,EAAA,eAAgB,EASd,SAR8B,CAG1B,EAFE,OAAO,GAAW,SAEF,MADC,EAAA,EAAkB,CAAM,EAGzB,CAAM,CAE5B,GACU,CACZ,EAAG,CAAC,CAAM,CAAC,EACN,GAOH,EAAA,EAAA,KAAC,EAAA,EAAD,CACE,cAAe,EAAe,cAC9B,aAAc,EAAe,aAC7B,QAAS,EAAe,QACxB,UAAW,EAAe,UAC1B,cAAe,EAAe,cAC9B,uBAAwB,EAAe,uBACvC,YAAa,EAAe,YAC5B,UAAW,EAAe,UAC1B,qBAAsB,EAAe,qBACrC,6BAA8B,EAAe,6BAC7C,eAAgB,EAAe,eAC/B,kBAAmB,EAAe,kBAClC,OAAQ,EAAe,OACvB,2BAA4B,EAAe,0BAC5C,CAAA,GApBC,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,2CACb,EAAA,EAAA,KAAC,EAAA,QAAD,CAAU,CAAA,CACP,CAAA,CAoBX"}