fixed issue with singlestat and repeated scopedVars, was only working for time series data sources, and only if there was any series, now scoped vars is always set, fixes #14367

This commit is contained in:
Torkel Ödegaard 2018-12-10 13:40:32 +01:00
parent acf24bd679
commit 976d25d6ae

View File

@ -107,7 +107,10 @@ class SingleStatCtrl extends MetricsPanelCtrl {
} }
onDataReceived(dataList) { onDataReceived(dataList) {
const data: any = {}; const data: any = {
scopedVars: _.extend({}, this.panel.scopedVars),
};
if (dataList.length > 0 && dataList[0].type === 'table') { if (dataList.length > 0 && dataList[0].type === 'table') {
this.dataType = 'table'; this.dataType = 'table';
const tableData = dataList.map(this.tableHandler.bind(this)); const tableData = dataList.map(this.tableHandler.bind(this));
@ -117,6 +120,7 @@ class SingleStatCtrl extends MetricsPanelCtrl {
this.series = dataList.map(this.seriesHandler.bind(this)); this.series = dataList.map(this.seriesHandler.bind(this));
this.setValues(data); this.setValues(data);
} }
this.data = data; this.data = data;
this.render(); this.render();
} }
@ -320,7 +324,6 @@ class SingleStatCtrl extends MetricsPanelCtrl {
} }
// Add $__name variable for using in prefix or postfix // Add $__name variable for using in prefix or postfix
data.scopedVars = _.extend({}, this.panel.scopedVars);
data.scopedVars['__name'] = { value: this.series[0].label }; data.scopedVars['__name'] = { value: this.series[0].label };
} }
this.setValueMapping(data); this.setValueMapping(data);