From c00132ff0451ddb1806123f3267c23f1fa91ac5c Mon Sep 17 00:00:00 2001 From: Alexander Zobnin Date: Sun, 27 Mar 2016 22:10:35 +0300 Subject: [PATCH 1/4] 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, From 358d5fc1ac2f07cd881a8bf62edaff92c97253a2 Mon Sep 17 00:00:00 2001 From: Alexander Zobnin Date: Sun, 27 Mar 2016 22:39:42 +0300 Subject: [PATCH 2/4] Added initEditMode() explanations. --- src/panel-triggers/module.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/panel-triggers/module.js b/src/panel-triggers/module.js index a7749f8..1c0b71c 100644 --- a/src/panel-triggers/module.js +++ b/src/panel-triggers/module.js @@ -74,9 +74,11 @@ class TriggerPanelCtrl extends MetricsPanelCtrl { // Add panel editor initEditMode() { - //super.initEditMode(); + // Use initialize method from PanelCtrl instead MetricsPanelCtrl. + // We don't need metric editor from Metrics Panel. this.editorTabs = []; this.addEditorTab('General', 'public/app/partials/panelgeneral.html'); + this.icon = "fa fa-lightbulb-o"; this.addEditorTab('Options', triggerPanelEditor, 2); this.editModeInitiated = true; From ac7bb9de3885c490fe6009891c88220a71c55d94 Mon Sep 17 00:00:00 2001 From: Alexander Zobnin Date: Sun, 27 Mar 2016 22:49:28 +0300 Subject: [PATCH 3/4] Changed default OK event color. --- src/panel-triggers/module.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/panel-triggers/module.js b/src/panel-triggers/module.js index 1c0b71c..9655fac 100644 --- a/src/panel-triggers/module.js +++ b/src/panel-triggers/module.js @@ -45,7 +45,7 @@ var panelDefaults = { sortTriggersBy: { text: 'last change', value: 'lastchange' }, showEvents: { text: 'Problem events', value: '1' }, triggerSeverity: defaultSeverity, - okEventColor: '#890F02', + okEventColor: 'rgba(0, 245, 153, 0.45)', }; var triggerStatusMap = { From 223b0d1089aec11040d426ecaa75c04ec1ac9287 Mon Sep 17 00:00:00 2001 From: Alexander Zobnin Date: Mon, 28 Mar 2016 19:49:15 +0300 Subject: [PATCH 4/4] Fixed trigger comments and acknowledges show/hide. --- src/panel-triggers/module.html | 14 +++++++------- src/panel-triggers/module.js | 8 ++++++++ 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/src/panel-triggers/module.html b/src/panel-triggers/module.html index 4aad09a..fddc004 100644 --- a/src/panel-triggers/module.html +++ b/src/panel-triggers/module.html @@ -50,10 +50,10 @@
{{trigger.description}} @@ -63,7 +63,7 @@
+ ng-if="trigger.showComment">
{{trigger.comments}}
@@ -72,7 +72,7 @@
+ ng-if="trigger.showAcknowledges">
@@ -122,9 +122,9 @@ + role="button" + ng-click="ctrl.switchAcknowledges(trigger)" + bs-tooltip="'Acknowledges ({{trigger.acknowledges.length}})'"> diff --git a/src/panel-triggers/module.js b/src/panel-triggers/module.js index 9655fac..1019dbe 100644 --- a/src/panel-triggers/module.js +++ b/src/panel-triggers/module.js @@ -192,6 +192,14 @@ class TriggerPanelCtrl extends MetricsPanelCtrl { }); }); } + + switchComment(trigger) { + trigger.showComment = !trigger.showComment; + } + + switchAcknowledges(trigger) { + trigger.showAcknowledges = !trigger.showAcknowledges; + } } TriggerPanelCtrl.templateUrl = 'module.html';