From 318a98c20c0502a9c934b463e66ebd715b058e91 Mon Sep 17 00:00:00 2001 From: Roberto Jimenez Sanchez Date: Tue, 2 Dec 2025 22:18:59 +0100 Subject: [PATCH] fix(typescript): fix type errors in ShareExport.tsx - Remove unused Dashboard import - Change openSaveAsDialog to accept Record & { title?: string } to work with both Dashboard and DashboardJson types - Add type assertions when calling openSaveAsDialog since Dashboard and DashboardJson don't have index signatures --- .../dashboard/components/ShareModal/ShareExport.tsx | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/public/app/features/dashboard/components/ShareModal/ShareExport.tsx b/public/app/features/dashboard/components/ShareModal/ShareExport.tsx index 8e4d49fcd39..594623e2e38 100644 --- a/public/app/features/dashboard/components/ShareModal/ShareExport.tsx +++ b/public/app/features/dashboard/components/ShareModal/ShareExport.tsx @@ -3,7 +3,6 @@ import { memo, useState, useMemo } from 'react'; import { Trans, t } from '@grafana/i18n'; import { config } from '@grafana/runtime'; -import { Dashboard } from '@grafana/schema'; import { Button, Drawer, Field, Modal, Switch, Text } from '@grafana/ui'; import { appEvents } from 'app/core/app_events'; import { DashboardExporter } from 'app/features/dashboard/components/DashExportModal/DashboardExporter'; @@ -39,10 +38,10 @@ export const ShareExport = memo(({ dashboard, panel, onDismiss }: Props) => { console.error('Failed to export dashboard:', dashboardJson.error); return; } - openSaveAsDialog(dashboardJson); + openSaveAsDialog(dashboardJson as Record & { title?: string }); }); } else { - openSaveAsDialog(dashboard.getSaveModelClone()); + openSaveAsDialog(dashboard.getSaveModelClone() as Record & { title?: string }); } }; @@ -61,7 +60,7 @@ export const ShareExport = memo(({ dashboard, panel, onDismiss }: Props) => { } }; - const openSaveAsDialog = (dash: { title?: string; [key: string]: unknown }) => { + const openSaveAsDialog = (dash: Record & { title?: string }) => { const dashboardJsonPretty = JSON.stringify(dash, null, 2); const blob = new Blob([dashboardJsonPretty], { type: 'application/json;charset=utf-8',