SQL Datasources: Move database setting to jsonData (#58649)

* Datasource settings: Add deprecation notice for database field

* SQL Datasources: Migrate from settings.database to settings.jsonData.database

* Check jsonData first

* Remove comment from docs
This commit is contained in:
Zoltán Bedi
2022-12-13 09:56:52 +01:00
committed by GitHub
parent ac19b920f1
commit d65899de7b
14 changed files with 79 additions and 20 deletions

View File

@@ -0,0 +1,25 @@
import { useEffect } from 'react';
import { DataSourceJsonData, DataSourcePluginOptionsEditorProps } from '@grafana/data';
import { logDebug } from '@grafana/runtime';
import { SQLOptions } from '../../types';
/**
* Moves the database field from the options object to jsonData.database and empties the database field.
*/
export function useMigrateDatabaseField<T extends DataSourceJsonData = SQLOptions, S = {}>({
onOptionsChange,
options,
}: DataSourcePluginOptionsEditorProps<T, S>) {
useEffect(() => {
if (options.database) {
logDebug(`Migrating from options.database with value ${options.database} for ${options.name}`);
onOptionsChange({
...options,
database: '',
jsonData: { ...options.jsonData, database: options.database },
});
}
}, [onOptionsChange, options]);
}