diff --git a/superset-frontend/src/dashboard/components/PropertiesModal/index.tsx b/superset-frontend/src/dashboard/components/PropertiesModal/index.tsx index 749411f2e..7a80f6155 100644 --- a/superset-frontend/src/dashboard/components/PropertiesModal/index.tsx +++ b/superset-frontend/src/dashboard/components/PropertiesModal/index.tsx @@ -59,6 +59,7 @@ type PropertiesModalProps = { setColorSchemeAndUnsavedChanges?: () => void; onSubmit?: (params: Record) => void; addSuccessToast: (message: string) => void; + addDangerToast: (message: string) => void; onlyApply?: boolean; }; @@ -80,6 +81,7 @@ type DashboardInfo = { const PropertiesModal = ({ addSuccessToast, + addDangerToast, colorScheme: currentColorScheme, dashboardId, dashboardInfo: currentDashboardInfo, @@ -294,7 +296,12 @@ const PropertiesModal = ({ // color scheme in json metadata has precedence over selection if (currentJsonMetadata?.length) { - const metadata = JSON.parse(currentJsonMetadata); + let metadata; + try { + metadata = JSON.parse(currentJsonMetadata); + } catch (error) { + addDangerToast(t('JSON metadata is invalid!')); + } currentColorScheme = metadata?.color_scheme || colorScheme; colorNamespace = metadata?.color_namespace || '';