Skip to content

Commit

Permalink
refactor of PR #526
Browse files Browse the repository at this point in the history
  • Loading branch information
alexanderzobnin committed Feb 20, 2018
1 parent a9d0b41 commit ca6a7d0
Show file tree
Hide file tree
Showing 10 changed files with 54 additions and 26 deletions.
15 changes: 8 additions & 7 deletions dist/datasource-zabbix/partials/query.editor.html
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,6 @@
<select class="gf-form-input gf-size-auto" ng-model="ctrl.target.resultFormat" ng-options="f.value as f.text for f in ctrl.resultFormats" ng-change="ctrl.refresh()"></select>
</div>
</div>
<div class="gf-form" ng-show="ctrl.target.mode === editorMode.TEXT && ctrl.target.resultFormat === 'table'">
<label class="gf-form-label query-keyword width-8">Options</label>
</gf-form-switch>
<gf-form-switch class="gf-form" label="Skip empty values" checked="ctrl.target.table.skipEmptyValues" on-change="ctrl.onTargetBlur()">
</gf-form-switch>
</div>
<div class="gf-form gf-form--grow">
<div class="gf-form-label gf-form-label--grow"></div>
</div>
Expand Down Expand Up @@ -169,12 +163,19 @@
<!-- Query options -->
<div class="gf-form-group" ng-if="ctrl.showQueryOptions">
<div class="gf-form offset-width-7" ng-hide="ctrl.target.mode == editorMode.TRIGGERS">
<gf-form-switch class="gf-form"
<gf-form-switch class="gf-form" label-class="width-10"
label="Show disabled items"
checked="ctrl.target.options.showDisabledItems"
on-change="ctrl.onQueryOptionChange()">
</gf-form-switch>
</div>
<div class="gf-form offset-width-7" ng-show="ctrl.target.mode === editorMode.TEXT && ctrl.target.resultFormat === 'table'">
<gf-form-switch class="gf-form" label-class="width-10"
label="Skip empty values"
checked="ctrl.target.options.skipEmptyValues"
on-change="ctrl.onQueryOptionChange()">
</gf-form-switch>
</div>
</div>

<!-- Item IDs editor mode -->
Expand Down
6 changes: 4 additions & 2 deletions dist/datasource-zabbix/query.controller.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion dist/datasource-zabbix/query.controller.js.map

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/datasource-zabbix/responseHandler.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion dist/datasource-zabbix/responseHandler.js.map

Large diffs are not rendered by default.

15 changes: 13 additions & 2 deletions dist/datasource-zabbix/specs/datasource.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ describe('ZabbixDatasource', () => {
useCaptureGroups: true,
mode: 2,
resultFormat: "table",
table: {
options: {
skipEmptyValues: false
}
}
Expand Down Expand Up @@ -160,7 +160,18 @@ describe('ZabbixDatasource', () => {
});

it('should skip item when last value is empty', () => {
ctx.options.targets[0].skipEmptyValues = true;
ctx.ds.zabbix.getItemsFromTarget = jest.fn().mockReturnValue(Promise.resolve([
{
hosts: [{hostid: "10001", name: "Zabbix server"}],
itemid: "10100", name: "System information", key_: "system.uname"
},
{
hosts: [{hostid: "10002", name: "Server02"}],
itemid: "90109", name: "System information", key_: "system.uname"
}
]));

ctx.options.targets[0].options.skipEmptyValues = true;
ctx.ds.zabbix.getHistory = jest.fn().mockReturnValue(Promise.resolve([
{clock: "1500010200", itemid:"10100", ns:"900111000", value:"Linux first"},
{clock: "1500010300", itemid:"10100", ns:"900111000", value:"Linux 2nd"},
Expand Down
15 changes: 8 additions & 7 deletions src/datasource-zabbix/partials/query.editor.html
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,6 @@
<select class="gf-form-input gf-size-auto" ng-model="ctrl.target.resultFormat" ng-options="f.value as f.text for f in ctrl.resultFormats" ng-change="ctrl.refresh()"></select>
</div>
</div>
<div class="gf-form" ng-show="ctrl.target.mode === editorMode.TEXT && ctrl.target.resultFormat === 'table'">
<label class="gf-form-label query-keyword width-8">Options</label>
</gf-form-switch>
<gf-form-switch class="gf-form" label="Skip empty values" checked="ctrl.target.table.skipEmptyValues" on-change="ctrl.onTargetBlur()">
</gf-form-switch>
</div>
<div class="gf-form gf-form--grow">
<div class="gf-form-label gf-form-label--grow"></div>
</div>
Expand Down Expand Up @@ -169,12 +163,19 @@
<!-- Query options -->
<div class="gf-form-group" ng-if="ctrl.showQueryOptions">
<div class="gf-form offset-width-7" ng-hide="ctrl.target.mode == editorMode.TRIGGERS">
<gf-form-switch class="gf-form"
<gf-form-switch class="gf-form" label-class="width-10"
label="Show disabled items"
checked="ctrl.target.options.showDisabledItems"
on-change="ctrl.onQueryOptionChange()">
</gf-form-switch>
</div>
<div class="gf-form offset-width-7" ng-show="ctrl.target.mode === editorMode.TEXT && ctrl.target.resultFormat === 'table'">
<gf-form-switch class="gf-form" label-class="width-10"
label="Skip empty values"
checked="ctrl.target.options.skipEmptyValues"
on-change="ctrl.onQueryOptionChange()">
</gf-form-switch>
</div>
</div>

<!-- Item IDs editor mode -->
Expand Down
6 changes: 4 additions & 2 deletions src/datasource-zabbix/query.controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,8 @@ export class ZabbixQueryController extends QueryCtrl {
'acknowledged': 2
},
'options': {
'showDisabledItems': false
'showDisabledItems': false,
'skipEmptyValues': false
},
'table': {
'skipEmptyValues': false
Expand Down Expand Up @@ -301,7 +302,8 @@ export class ZabbixQueryController extends QueryCtrl {

renderQueryOptionsText() {
var optionsMap = {
showDisabledItems: "Show disabled items"
showDisabledItems: "Show disabled items",
skipEmptyValues: "Skip empty values"
};
var options = [];
_.forOwn(this.target.options, (value, key) => {
Expand Down
2 changes: 1 addition & 1 deletion src/datasource-zabbix/responseHandler.js
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ function handleHistoryAsTable(history, items, target) {
let lastPoint = _.last(itemHistory);
let lastValue = lastPoint ? lastPoint.value : null;

if(target.table.skipEmptyValues && (!lastValue || lastValue === '')) {
if(target.options.skipEmptyValues && (!lastValue || lastValue === '')) {
return;
}

Expand Down
15 changes: 13 additions & 2 deletions src/datasource-zabbix/specs/datasource.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ describe('ZabbixDatasource', () => {
useCaptureGroups: true,
mode: 2,
resultFormat: "table",
table: {
options: {
skipEmptyValues: false
}
}
Expand Down Expand Up @@ -160,7 +160,18 @@ describe('ZabbixDatasource', () => {
});

it('should skip item when last value is empty', () => {
ctx.options.targets[0].skipEmptyValues = true;
ctx.ds.zabbix.getItemsFromTarget = jest.fn().mockReturnValue(Promise.resolve([
{
hosts: [{hostid: "10001", name: "Zabbix server"}],
itemid: "10100", name: "System information", key_: "system.uname"
},
{
hosts: [{hostid: "10002", name: "Server02"}],
itemid: "90109", name: "System information", key_: "system.uname"
}
]));

ctx.options.targets[0].options.skipEmptyValues = true;
ctx.ds.zabbix.getHistory = jest.fn().mockReturnValue(Promise.resolve([
{clock: "1500010200", itemid:"10100", ns:"900111000", value:"Linux first"},
{clock: "1500010300", itemid:"10100", ns:"900111000", value:"Linux 2nd"},
Expand Down

0 comments on commit ca6a7d0

Please sign in to comment.