Added template variables support for Triggers panel. Fixed panel refreshing.
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user