diff --git a/src/datasource-zabbix/query.controller.js b/src/datasource-zabbix/query.controller.js index 6d295a0..9fd49c3 100644 --- a/src/datasource-zabbix/query.controller.js +++ b/src/datasource-zabbix/query.controller.js @@ -180,11 +180,8 @@ export class ZabbixQueryController extends QueryCtrl { * Check query for template variables */ isContainsVariables() { - var self = this; - return _.some(self.templateSrv.variables, variable => { - return _.some(['group', 'host', 'application', 'item'], field => { - return self.templateSrv.containsVariable(self.target[field].filter, variable.name); - }); + return _.some(['group', 'host', 'application'], field => { + return utils.isTemplateVariable(this.panel.triggers[field].filter, this.templateSrv.variables); }); } diff --git a/src/panel-triggers/editor.js b/src/panel-triggers/editor.js index faebb37..97d2b85 100644 --- a/src/panel-triggers/editor.js +++ b/src/panel-triggers/editor.js @@ -75,6 +75,7 @@ class TriggerPanelEditorCtrl { this.datasourceSrv.get(this.panel.datasource) .then(datasource => { this.datasource = datasource; + this.zabbix = datasource.zabbix; this.queryBuilder = datasource.queryBuilder; this.initFilters(); this.panelCtrl.refresh(); @@ -90,7 +91,7 @@ class TriggerPanelEditorCtrl { } suggestGroups() { - return this.queryBuilder.getAllGroups() + return this.zabbix.getAllGroups() .then(groups => { this.metric.groupList = groups; return groups; @@ -99,7 +100,7 @@ class TriggerPanelEditorCtrl { suggestHosts() { let groupFilter = this.datasource.replaceTemplateVars(this.panel.triggers.group.filter); - return this.queryBuilder.getAllHosts(groupFilter) + return this.zabbix.getAllHosts(groupFilter) .then(hosts => { this.metric.hostList = hosts; return hosts; @@ -109,7 +110,7 @@ class TriggerPanelEditorCtrl { suggestApps() { let groupFilter = this.datasource.replaceTemplateVars(this.panel.triggers.group.filter); let hostFilter = this.datasource.replaceTemplateVars(this.panel.triggers.host.filter); - return this.queryBuilder.getAllApps(groupFilter, hostFilter) + return this.zabbix.getAllApps(groupFilter, hostFilter) .then(apps => { this.metric.appList = apps; return apps; @@ -126,11 +127,8 @@ class TriggerPanelEditorCtrl { * Check query for template variables */ isContainsVariables() { - var self = this; - return _.some(self.templateSrv.variables, variable => { - return _.some(['group', 'host', 'application'], field => { - return self.templateSrv.containsVariable(self.panel.triggers[field].filter, variable.name); - }); + return _.some(['group', 'host', 'application'], field => { + return utils.isTemplateVariable(this.panel.triggers[field].filter, this.templateSrv.variables); }); }