fixing gauge update logic so it wont break tsvb (#15076) (#15088)

* updating gauge/metric to new version

* fixing, tests were failing

# Conflicts:
#	src/ui/public/vis/vis_update.js
This commit is contained in:
Peter Pisljar 2017-11-21 21:23:50 +01:00 committed by GitHub
parent 9c1f955a35
commit 28d8c3dc88
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 34 additions and 9 deletions

View file

@ -9,6 +9,7 @@
import _ from 'lodash';
import { VisProvider } from 'ui/vis';
import { uiModules } from 'ui/modules';
import { updateOldState } from 'ui/vis/vis_update_state';
uiModules
.get('app/visualize')
@ -111,9 +112,7 @@ uiModules
SavedVis.prototype._createVis = function () {
const self = this;
if (self.stateJSON) {
self.visState = Vis.convertOldState(self.typeName, JSON.parse(self.stateJSON));
}
self.visState = updateOldState(self.visState);
// visState doesn't yet exist when importing a visualization, so we can't
// assume that exists at this point. If it does exist, then we're not

View file

@ -1,10 +1,4 @@
const updateVisualizationConfig = (stateConfig, config) => {
if (config.type === 'gauge' && config.fontSize) {
config.gauge.style.fontSize = config.fontSize;
delete config.fontSize;
}
if (!stateConfig || stateConfig.seriesParams) return;
if (!['line', 'area', 'histogram'].includes(config.type)) return;

View file

@ -0,0 +1,32 @@
import _ from 'lodash';
export const updateOldState = (visState) => {
if (!visState) return visState;
const newState = _.cloneDeep(visState);
if (visState.type === 'gauge' && visState.fontSize) {
delete newState.fontSize;
_.set(newState, 'gauge.style.fontSize', visState.fontSize);
}
// update old metric to the new one
if (['gauge', 'metric'].includes(visState.type) && _.get(visState.params, 'gauge.gaugeType', null) === 'Metric') {
newState.type = 'metric';
newState.params.addLegend = false;
newState.params.type = 'metric';
newState.params.metric = newState.params.gauge;
delete newState.params.gauge;
delete newState.params.metric.gaugeType;
delete newState.params.metric.gaugeStyle;
delete newState.params.metric.backStyle;
delete newState.params.metric.scale;
delete newState.params.metric.type;
delete newState.params.metric.orientation;
delete newState.params.metric.verticalSplit;
delete newState.params.metric.autoExtend;
newState.params.metric.metricColorMode = newState.params.metric.gaugeColorMode;
delete newState.params.metric.gaugeColorMode;
}
return newState;
};