Commit 17d02a70 by Senkevich Alexsandr

added suppressing of empty results in table plugin

parent 9b4d95ff
...@@ -21,6 +21,10 @@ ...@@ -21,6 +21,10 @@
<metric-segment segment="editor.addColumnSegment" get-options="editor.getColumnOptions()" on-change="editor.addColumn()"></metric-segment> <metric-segment segment="editor.addColumnSegment" get-options="editor.getColumnOptions()" on-change="editor.addColumn()"></metric-segment>
</div> </div>
</div> </div>
<gf-form-switch class="gf-form" label-class="width-10"
label="Filter null values"
checked="editor.panel.filterNull"
on-change="editor.render()"></gf-form-switch>
</div> </div>
<div class="section gf-form-group"> <div class="section gf-form-group">
......
...@@ -42,6 +42,7 @@ class TablePanelCtrl extends MetricsPanelCtrl { ...@@ -42,6 +42,7 @@ class TablePanelCtrl extends MetricsPanelCtrl {
scroll: true, scroll: true,
fontSize: '100%', fontSize: '100%',
sort: {col: 0, desc: true}, sort: {col: 0, desc: true},
filterNull: false,
}; };
/** @ngInject */ /** @ngInject */
......
...@@ -5,6 +5,7 @@ import moment from 'moment'; ...@@ -5,6 +5,7 @@ import moment from 'moment';
import flatten from '../../../core/utils/flatten'; import flatten from '../../../core/utils/flatten';
import TimeSeries from '../../../core/time_series2'; import TimeSeries from '../../../core/time_series2';
import TableModel from '../../../core/table_model'; import TableModel from '../../../core/table_model';
import angular from "angular";
var transformers = {}; var transformers = {};
...@@ -219,7 +220,8 @@ transformers['json'] = { ...@@ -219,7 +220,8 @@ transformers['json'] = {
}; };
function transformDataToTable(data, panel) { function transformDataToTable(data, panel) {
var model = new TableModel(); var model = new TableModel(),
copyData = angular.copy(data);
if (!data || data.length === 0) { if (!data || data.length === 0) {
return model; return model;
...@@ -230,7 +232,13 @@ function transformDataToTable(data, panel) { ...@@ -230,7 +232,13 @@ function transformDataToTable(data, panel) {
throw {message: 'Transformer ' + panel.transformer + ' not found'}; throw {message: 'Transformer ' + panel.transformer + ' not found'};
} }
transformer.transform(data, panel, model); if (panel.filterNull) {
for (var i = 0; i < copyData.length; i++) {
copyData[i].datapoints = copyData[i].datapoints.filter((dp) => dp[0] != null);
}
}
transformer.transform(copyData, panel, model);
return model; return model;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment