support template variables in itemid query mode

This commit is contained in:
Alexander Zobnin
2017-07-25 18:54:30 +03:00
parent fc1748a087
commit 3b1bc4d4a5
4 changed files with 25 additions and 1 deletions

View File

@@ -279,6 +279,7 @@ class ZabbixAPIDatasource {
queryItemIdData(target, timeRange, useTrends, options) {
let itemids = target.itemids;
itemids = this.templateSrv.replace(itemids, options.scopedVars, zabbixItemIdsTemplateFormat);
itemids = _.map(itemids.split(','), itemid => itemid.trim());
if (!itemids) {
@@ -647,6 +648,13 @@ function zabbixTemplateFormat(value) {
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
* and wrap with '/' for proper multi-value work. Example: