added suppressing of empty results in table plugin

This commit is contained in:
Senkevich Alexsandr 2017-02-16 14:35:42 +03:00
parent 9b4d95ff25
commit 17d02a7065
3 changed files with 15 additions and 2 deletions

View File

@ -21,6 +21,10 @@
<metric-segment segment="editor.addColumnSegment" get-options="editor.getColumnOptions()" on-change="editor.addColumn()"></metric-segment>
</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 class="section gf-form-group">

View File

@ -42,6 +42,7 @@ class TablePanelCtrl extends MetricsPanelCtrl {
scroll: true,
fontSize: '100%',
sort: {col: 0, desc: true},
filterNull: false,
};
/** @ngInject */

View File

@ -5,6 +5,7 @@ import moment from 'moment';
import flatten from '../../../core/utils/flatten';
import TimeSeries from '../../../core/time_series2';
import TableModel from '../../../core/table_model';
import angular from "angular";
var transformers = {};
@ -219,7 +220,8 @@ transformers['json'] = {
};
function transformDataToTable(data, panel) {
var model = new TableModel();
var model = new TableModel(),
copyData = angular.copy(data);
if (!data || data.length === 0) {
return model;
@ -230,7 +232,13 @@ function transformDataToTable(data, panel) {
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;
}