From d30c67b9607a3efa440b28a49b707094f0555f15 Mon Sep 17 00:00:00 2001 From: YANGDB Date: Mon, 29 Apr 2024 16:28:00 -0700 Subject: [PATCH] fix issue https://github.com/opensearch-project/dashboards-observability/issues/1665 Signed-off-by: YANGDB --- .../components/custom_panels/helpers/utils.tsx | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/public/components/custom_panels/helpers/utils.tsx b/public/components/custom_panels/helpers/utils.tsx index cbb188514b..a753ca7a95 100644 --- a/public/components/custom_panels/helpers/utils.tsx +++ b/public/components/custom_panels/helpers/utils.tsx @@ -704,16 +704,25 @@ export const constructOtelMetricsMetaData = () => { }; }; +export const parseMetadataUserConfig = ( + userConfigs?: string | SavedObjectAttributes +): SavedObjectAttributes => { + if (userConfigs === undefined || userConfigs === '') { + return {}; + } else if (typeof userConfigs === 'string') { + return JSON.parse(userConfigs); + } else { + return userConfigs; + } +}; + // Renders visualization in the vizualization container component export const displayVisualization = (metaData: any, data: any, type: string) => { if (metaData === undefined || isEmpty(metaData)) { return <>; } - if (metaData.userConfigs !== undefined && metaData.userConfigs !== '') { - metaData.userConfigs = JSON.parse(metaData.userConfigs); - } - + metaData.userConfigs = parseMetadataUserConfig(metaData.userConfigs); const dataConfig = { ...(metaData.userConfigs?.dataConfig || {}) }; const hasBreakdowns = !_.isEmpty(dataConfig.breakdowns); const realTimeParsedStats = {