From 8c4b3d17027fdaf89f7d7376d0ddb0df2cb6ab5f Mon Sep 17 00:00:00 2001 From: Kristina Demeshchik Date: Tue, 9 Dec 2025 09:59:21 -0500 Subject: [PATCH] Dashboard: Default dashboard folder to current folder when importing (#114929) * Set default folder when importing dashboard * console * remove unused import --- eslint-suppressions.json | 3 --- .../v2schema/ImportDashboardFormV2.tsx | 17 ++++++++--------- .../v2schema/ImportDashboardOverviewV2.tsx | 11 +---------- 3 files changed, 9 insertions(+), 22 deletions(-) diff --git a/eslint-suppressions.json b/eslint-suppressions.json index 9ecdfaed054..ba2f59ffe7c 100644 --- a/eslint-suppressions.json +++ b/eslint-suppressions.json @@ -2062,9 +2062,6 @@ }, "@typescript-eslint/no-explicit-any": { "count": 3 - }, - "no-restricted-syntax": { - "count": 3 } }, "public/app/features/dashboard-scene/v2schema/ImportDashboardOverviewV2.tsx": { diff --git a/public/app/features/dashboard-scene/v2schema/ImportDashboardFormV2.tsx b/public/app/features/dashboard-scene/v2schema/ImportDashboardFormV2.tsx index ed2e5760a49..b264675e3e9 100644 --- a/public/app/features/dashboard-scene/v2schema/ImportDashboardFormV2.tsx +++ b/public/app/features/dashboard-scene/v2schema/ImportDashboardFormV2.tsx @@ -17,10 +17,8 @@ interface Props 'register' | 'control' | 'getValues' | 'watch' > { inputs: DashboardInputs; - uidReset: boolean; errors: FieldErrors & { [key: `datasource-${string}`]: string }>; onCancel: () => void; - onUidReset: () => void; onSubmit: FormsOnSubmit & { [key: `datasource-${string}`]: string }>; } @@ -30,8 +28,6 @@ export const ImportDashboardFormV2 = ({ control, inputs, getValues, - uidReset, - onUidReset, onCancel, onSubmit, watch, @@ -56,12 +52,12 @@ export const ImportDashboardFormV2 = ({ }, [errors, getValues, isSubmitted, onSubmit]); return ( - <> - Options + - + + render={({ field: { ref, value, onChange, ...field } }) => ( + {inputs.dataSources && inputs.dataSources.map((input: DataSourceInput) => { if (input.pluginId === ExpressionDatasourceRef.type) { @@ -102,6 +100,7 @@ export const ImportDashboardFormV2 = ({ key={input.pluginId} invalid={!!errors[dataSourceOption]} error={errors[dataSourceOption] ? 'Please select a data source' : undefined} + noMargin > name={dataSourceOption} @@ -133,7 +132,7 @@ export const ImportDashboardFormV2 = ({ ); })} - + - + ); }; diff --git a/public/app/features/dashboard-scene/v2schema/ImportDashboardOverviewV2.tsx b/public/app/features/dashboard-scene/v2schema/ImportDashboardOverviewV2.tsx index 9f87a602d3f..e71b419b8e4 100644 --- a/public/app/features/dashboard-scene/v2schema/ImportDashboardOverviewV2.tsx +++ b/public/app/features/dashboard-scene/v2schema/ImportDashboardOverviewV2.tsx @@ -1,5 +1,3 @@ -import { useState } from 'react'; - import { locationUtil } from '@grafana/data'; import { locationService, reportInteraction } from '@grafana/runtime'; import { @@ -20,7 +18,6 @@ const IMPORT_FINISHED_EVENT_NAME = 'dashboard_import_imported'; type FormData = SaveDashboardCommand & { [key: `datasource-${string}`]: string }; export function ImportDashboardOverviewV2() { - const [uidReset, setUidReset] = useState(false); const dispatch = useDispatch(); // Get state from Redux store @@ -29,10 +26,6 @@ export function ImportDashboardOverviewV2() { const inputs = useSelector((state: StoreState) => state.importDashboard.inputs); const folder = searchObj.folderUid ? { uid: String(searchObj.folderUid) } : { uid: '' }; - function onUidReset() { - setUidReset(true); - } - function onCancel() { dispatch(clearLoadedDashboard()); } @@ -180,7 +173,7 @@ export function ImportDashboardOverviewV2() { <> onSubmit={onSubmit} - defaultValues={{ dashboard, k8s: { annotations: { 'grafana.app/folder': folder.uid } } }} + defaultValues={{ dashboard, folderUid: folder.uid, k8s: { annotations: { 'grafana.app/folder': folder.uid } } }} validateOnMount validateOn="onChange" > @@ -191,9 +184,7 @@ export function ImportDashboardOverviewV2() { errors={errors} control={control} getValues={getValues} - uidReset={uidReset} onCancel={onCancel} - onUidReset={onUidReset} onSubmit={onSubmit} watch={watch} />