From c00132ff0451ddb1806123f3267c23f1fa91ac5c Mon Sep 17 00:00:00 2001 From: Alexander Zobnin Date: Sun, 27 Mar 2016 22:10:35 +0300 Subject: [PATCH] Added template variables support for Triggers panel. Fixed panel refreshing. --- src/panel-triggers/module.js | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src/panel-triggers/module.js b/src/panel-triggers/module.js index 72cfdc9..a7749f8 100644 --- a/src/panel-triggers/module.js +++ b/src/panel-triggers/module.js @@ -13,7 +13,7 @@ import _ from 'lodash'; import moment from 'moment'; -import {PanelCtrl} from 'app/plugins/sdk'; +import {MetricsPanelCtrl} from 'app/plugins/sdk'; import {triggerPanelEditor} from './editor'; import './css/panel_triggers.css!'; @@ -55,12 +55,13 @@ var triggerStatusMap = { var defaultTimeFormat = "DD MMM YYYY HH:mm:ss"; -class TriggerPanelCtrl extends PanelCtrl { +class TriggerPanelCtrl extends MetricsPanelCtrl { /** @ngInject */ - constructor($scope, $injector, $q, $element, datasourceSrv) { + constructor($scope, $injector, $q, $element, datasourceSrv, templateSrv) { super($scope, $injector); this.datasourceSrv = datasourceSrv; + this.templateSrv = templateSrv; this.triggerStatusMap = triggerStatusMap; this.defaultTimeFormat = defaultTimeFormat; @@ -73,9 +74,12 @@ class TriggerPanelCtrl extends PanelCtrl { // Add panel editor initEditMode() { - super.initEditMode(); + //super.initEditMode(); + this.editorTabs = []; + this.addEditorTab('General', 'public/app/partials/panelgeneral.html'); this.icon = "fa fa-lightbulb-o"; this.addEditorTab('Options', triggerPanelEditor, 2); + this.editModeInitiated = true; } refreshData() { @@ -85,11 +89,12 @@ class TriggerPanelCtrl extends PanelCtrl { return this.datasourceSrv.get(this.panel.datasource).then(datasource => { var zabbix = datasource.zabbixAPI; var queryProcessor = datasource.queryProcessor; - var triggerFilter = self.panel.triggers; var showEvents = self.panel.showEvents.value; - var buildQuery = queryProcessor.buildTriggerQuery(triggerFilter.group.filter, - triggerFilter.host.filter, - triggerFilter.application.filter); + var triggerFilter = self.panel.triggers; + var groupFilter = self.templateSrv.replace(triggerFilter.group.filter); + var hostFilter = self.templateSrv.replace(triggerFilter.host.filter); + var appFilter = self.templateSrv.replace(triggerFilter.application.filter); + var buildQuery = queryProcessor.buildTriggerQuery(groupFilter, hostFilter, appFilter); return buildQuery.then(query => { return zabbix.getTriggers(query.groupids, query.hostids,