grafana/public/app/plugins/panel/graph/GraphMigrations.ts
Torkel Ödegaard 4b8f4df18d
Graph: Preseve existing data links in field config when loading dashboard (#27295)
* Graph: Preseve existing data links in field config

* ts fix
2020-08-31 17:53:21 +02:00

25 lines
705 B
TypeScript

import { PanelModel, FieldConfigSource, DataLink } from '@grafana/data';
/**
* Called when upgrading from a previously saved versoin
*/
export const graphPanelMigrationHandler = (panel: PanelModel<any>): Partial<any> => {
const fieldConfig: FieldConfigSource = panel.fieldConfig ?? {
defaults: {},
overrides: [],
};
const options = panel.options || {};
// Move <7.1 dataLinks to the field section
if (options.dataLinks) {
fieldConfig.defaults.links = options.dataLinks as DataLink[];
delete options.dataLinks;
}
// Mutate the original panel state (only necessary because it is angular)
panel.options = options;
panel.fieldConfig = fieldConfig;
return options;
};