mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Let the cached props from previous visualization be the masters, unless specified in keepLatestProps const
This commit is contained in:
@@ -55,6 +55,12 @@ const mustKeepProps: { [str: string]: boolean } = {
|
||||
cachedPluginOptions: true,
|
||||
};
|
||||
|
||||
// Keep current option value when switching visualization
|
||||
const keepLatestProps: { [str: string]: boolean } = {
|
||||
title: true,
|
||||
description: true,
|
||||
};
|
||||
|
||||
const defaults: any = {
|
||||
gridPos: { x: 0, y: 0, h: 3, w: 6 },
|
||||
datasource: null,
|
||||
@@ -209,11 +215,11 @@ export class PanelModel {
|
||||
|
||||
restorePanelOptions(pluginId: string) {
|
||||
const currentOptions = this.getPanelOptions();
|
||||
const prevOptions = this.cachedPluginOptions[pluginId];
|
||||
const prevOptions = this.cachedPluginOptions[pluginId] || {};
|
||||
const newOptions = Object.keys(prevOptions).reduce((acc, currKey: string) => {
|
||||
return {
|
||||
...acc,
|
||||
[currKey]: currentOptions[currKey] || prevOptions[currKey],
|
||||
[currKey]: keepLatestProps[currKey] ? currentOptions[currKey] : prevOptions[currKey],
|
||||
};
|
||||
}, {});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user