{"version":3,"file":"PerformanceIntensiveMultiGraphDashboardFromConfig.cjs","names":[],"sources":["../src/Components/Dashboard/PerformanceIntensive/MultiGraphDashboardFromConfig.tsx"],"sourcesContent":["import { Spinner } from '@undp/design-system-react/Spinner';\r\nimport { useEffect, useState } from 'react';\r\nimport type {\r\n  ClassNameObject,\r\n  DataFilterDataType,\r\n  DataSettingsDataType,\r\n  FilterUiSettingsDataType,\r\n  PerformanceIntensiveDashboardLayoutDataType,\r\n  StyleObject,\r\n} from '@/Types';\r\nimport { fetchAndParseJSON } from '@/Utils/fetchAndParseData';\r\nimport { PerformanceIntensiveMultiGraphDashboard } from './MultiGraphDashboard';\r\n\r\ninterface ConfigObject {\r\n  dashboardID?: string;\r\n  dashboardLayout: PerformanceIntensiveDashboardLayoutDataType;\r\n  dataSettings: DataSettingsDataType;\r\n  filters?: FilterUiSettingsDataType[];\r\n  noOfFiltersPerRow?: number;\r\n  filterPosition?: 'top' | 'side';\r\n  debugMode?: boolean;\r\n  theme?: 'dark' | 'light';\r\n  readableHeader?: {\r\n    value: string;\r\n    label: string;\r\n  }[];\r\n  dataFilters?: DataFilterDataType[];\r\n  uiMode?: 'light' | 'normal';\r\n  graphStyles?: StyleObject;\r\n  graphClassNames?: ClassNameObject;\r\n}\r\n\r\ninterface Props {\r\n  config: string | ConfigObject;\r\n}\r\n\r\nexport function PerformanceIntensiveMultiGraphDashboardFromConfig(props: Props) {\r\n  const { config } = props;\r\n  const [configSettings, setConfigSettings] = useState<ConfigObject | undefined>(undefined);\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    <PerformanceIntensiveMultiGraphDashboard\r\n      dashboardID={configSettings.dashboardID}\r\n      dashboardLayout={configSettings.dashboardLayout}\r\n      dataSettings={configSettings.dataSettings}\r\n      filters={configSettings.filters}\r\n      debugMode={configSettings.debugMode}\r\n      theme={configSettings.theme}\r\n      readableHeader={configSettings.readableHeader}\r\n      dataFilters={configSettings.dataFilters}\r\n      noOfFiltersPerRow={configSettings.noOfFiltersPerRow}\r\n      filterPosition={configSettings.filterPosition}\r\n      uiMode={configSettings.uiMode}\r\n      graphStyles={configSettings.graphStyles}\r\n      graphClassNames={configSettings.graphClassNames}\r\n    />\r\n  );\r\n}\r\n"],"mappings":"uTAoCA,SAAgB,EAAkD,EAAc,CAC9E,GAAM,CAAE,UAAW,EACb,CAAC,EAAgB,IAAA,EAAA,EAAA,UAAwD,IAAA,EAAS,EAkBxF,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,wCAAD,CACE,YAAa,EAAe,YAC5B,gBAAiB,EAAe,gBAChC,aAAc,EAAe,aAC7B,QAAS,EAAe,QACxB,UAAW,EAAe,UAC1B,MAAO,EAAe,MACtB,eAAgB,EAAe,eAC/B,YAAa,EAAe,YAC5B,kBAAmB,EAAe,kBAClC,eAAgB,EAAe,eAC/B,OAAQ,EAAe,OACvB,YAAa,EAAe,YAC5B,gBAAiB,EAAe,eACjC,CAAA,GAnBC,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,2CACb,EAAA,EAAA,KAAC,EAAA,QAAD,CAAU,CAAA,CACP,CAAA,CAmBX"}