support template variables in itemid query mode
This commit is contained in:
8
dist/datasource-zabbix/datasource.js
vendored
8
dist/datasource-zabbix/datasource.js
vendored
@@ -71,6 +71,13 @@ System.register(['lodash', 'app/core/utils/datemath', './utils', './migrations',
|
|||||||
return '(' + escapedValues.join('|') + ')';
|
return '(' + escapedValues.join('|') + ')';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function zabbixItemIdsTemplateFormat(value) {
|
||||||
|
if (typeof value === 'string') {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
return value.join(',');
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* If template variables are used in request, replace it using regex format
|
* If template variables are used in request, replace it using regex format
|
||||||
* and wrap with '/' for proper multi-value work. Example:
|
* and wrap with '/' for proper multi-value work. Example:
|
||||||
@@ -496,6 +503,7 @@ System.register(['lodash', 'app/core/utils/datemath', './utils', './migrations',
|
|||||||
var _this5 = this;
|
var _this5 = this;
|
||||||
|
|
||||||
var itemids = target.itemids;
|
var itemids = target.itemids;
|
||||||
|
itemids = this.templateSrv.replace(itemids, options.scopedVars, zabbixItemIdsTemplateFormat);
|
||||||
itemids = _.map(itemids.split(','), function (itemid) {
|
itemids = _.map(itemids.split(','), function (itemid) {
|
||||||
return itemid.trim();
|
return itemid.trim();
|
||||||
});
|
});
|
||||||
|
|||||||
2
dist/datasource-zabbix/datasource.js.map
vendored
2
dist/datasource-zabbix/datasource.js.map
vendored
File diff suppressed because one or more lines are too long
8
dist/test/datasource-zabbix/datasource.js
vendored
8
dist/test/datasource-zabbix/datasource.js
vendored
@@ -356,6 +356,7 @@ var ZabbixAPIDatasource = function () {
|
|||||||
var _this5 = this;
|
var _this5 = this;
|
||||||
|
|
||||||
var itemids = target.itemids;
|
var itemids = target.itemids;
|
||||||
|
itemids = this.templateSrv.replace(itemids, options.scopedVars, zabbixItemIdsTemplateFormat);
|
||||||
itemids = _lodash2.default.map(itemids.split(','), function (itemid) {
|
itemids = _lodash2.default.map(itemids.split(','), function (itemid) {
|
||||||
return itemid.trim();
|
return itemid.trim();
|
||||||
});
|
});
|
||||||
@@ -741,6 +742,13 @@ function zabbixTemplateFormat(value) {
|
|||||||
return '(' + escapedValues.join('|') + ')';
|
return '(' + escapedValues.join('|') + ')';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function zabbixItemIdsTemplateFormat(value) {
|
||||||
|
if (typeof value === 'string') {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
return value.join(',');
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* If template variables are used in request, replace it using regex format
|
* If template variables are used in request, replace it using regex format
|
||||||
* and wrap with '/' for proper multi-value work. Example:
|
* and wrap with '/' for proper multi-value work. Example:
|
||||||
|
|||||||
@@ -279,6 +279,7 @@ class ZabbixAPIDatasource {
|
|||||||
|
|
||||||
queryItemIdData(target, timeRange, useTrends, options) {
|
queryItemIdData(target, timeRange, useTrends, options) {
|
||||||
let itemids = target.itemids;
|
let itemids = target.itemids;
|
||||||
|
itemids = this.templateSrv.replace(itemids, options.scopedVars, zabbixItemIdsTemplateFormat);
|
||||||
itemids = _.map(itemids.split(','), itemid => itemid.trim());
|
itemids = _.map(itemids.split(','), itemid => itemid.trim());
|
||||||
|
|
||||||
if (!itemids) {
|
if (!itemids) {
|
||||||
@@ -647,6 +648,13 @@ function zabbixTemplateFormat(value) {
|
|||||||
return '(' + escapedValues.join('|') + ')';
|
return '(' + escapedValues.join('|') + ')';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function zabbixItemIdsTemplateFormat(value) {
|
||||||
|
if (typeof value === 'string') {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
return value.join(',');
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* If template variables are used in request, replace it using regex format
|
* If template variables are used in request, replace it using regex format
|
||||||
* and wrap with '/' for proper multi-value work. Example:
|
* and wrap with '/' for proper multi-value work. Example:
|
||||||
|
|||||||
Reference in New Issue
Block a user