diff --git a/src/panel-triggers/editor.html b/src/panel-triggers/editor.html
index fc55d3e..069da01 100644
--- a/src/panel-triggers/editor.html
+++ b/src/panel-triggers/editor.html
@@ -10,12 +10,14 @@
+ ng-class="{
+ 'zbx-variable': editor.isVariable(editor.panel.triggers.group.filter),
+ 'zbx-regex': editor.isRegex(editor.panel.triggers.group.filter)
+ }">
Host
@@ -24,12 +26,14 @@
+ ng-class="{
+ 'zbx-variable': editor.isVariable(editor.panel.triggers.host.filter),
+ 'zbx-regex': editor.isRegex(editor.panel.triggers.host.filter)
+ }">
@@ -43,12 +47,14 @@
+ ng-class="{
+ 'zbx-variable': editor.isVariable(editor.panel.triggers.application.filter),
+ 'zbx-regex': editor.isRegex(editor.panel.triggers.application.filter)
+ }">
Trigger
@@ -56,7 +62,6 @@
{
+ return '$' + variable.name;
+ });
+ return _.contains(variables, str);
+ } else {
+ return false;
+ }
}
}
@@ -178,16 +158,6 @@ function getMetricNames(scope, metricList) {
return _.uniq(_.map(scope.metric[metricList], 'name'));
}
-function getTriggerIndexForElement(el) {
- return el.parents('[data-trigger-index]').data('trigger-index');
-}
-
-function isRegex(str) {
- // Pattern for testing regex
- var regexPattern = /^\/(.*)\/([gmi]*)$/m;
- return regexPattern.test(str);
-}
-
export function triggerPanelEditor() {
return {
restrict: 'E',
diff --git a/src/panel-triggers/module.js b/src/panel-triggers/module.js
index ad93b08..c28134b 100644
--- a/src/panel-triggers/module.js
+++ b/src/panel-triggers/module.js
@@ -13,6 +13,7 @@
import _ from 'lodash';
import moment from 'moment';
+import * as utils from '../datasource-zabbix/utils';
import {MetricsPanelCtrl} from 'app/plugins/sdk';
import {triggerPanelEditor} from './editor';
import './css/panel_triggers.css!';
@@ -90,15 +91,15 @@ class TriggerPanelCtrl extends MetricsPanelCtrl {
// ignore fetching data if another panel is in fullscreen
if (this.otherPanelInFullscreenMode()) { return; }
+ this.refreshData();
+ }
+
+ refreshData() {
// clear loading/error state
delete this.error;
this.loading = true;
this.setTimeQueryStart();
- this.refreshData();
- }
-
- refreshData() {
var self = this;
// Load datasource
@@ -210,8 +211,9 @@ class TriggerPanelCtrl extends MetricsPanelCtrl {
// Limit triggers number
self.triggerList = _.first(triggerList, self.panel.limit);
- this.setTimeQueryEnd();
- this.loading = false;
+ // Notify panel that request is finished
+ self.setTimeQueryEnd();
+ self.loading = false;
});
});
});
@@ -230,9 +232,9 @@ class TriggerPanelCtrl extends MetricsPanelCtrl {
TriggerPanelCtrl.templateUrl = 'panel-triggers/module.html';
function filterTriggers(triggers, triggerFilter) {
- if (isRegex(triggerFilter)) {
+ if (utils.isRegex(triggerFilter)) {
return _.filter(triggers, function(trigger) {
- return buildRegex(triggerFilter).test(trigger.description);
+ return utils.buildRegex(triggerFilter).test(trigger.description);
});
} else {
return _.filter(triggers, function(trigger) {
@@ -241,20 +243,6 @@ function filterTriggers(triggers, triggerFilter) {
}
}
-function isRegex(str) {
- // Pattern for testing regex
- var regexPattern = /^\/(.*)\/([gmi]*)$/m;
- return regexPattern.test(str);
-}
-
-function buildRegex(str) {
- var regexPattern = /^\/(.*)\/([gmi]*)$/m;
- var matches = str.match(regexPattern);
- var pattern = matches[1];
- var flags = matches[2] !== "" ? matches[2] : undefined;
- return new RegExp(pattern, flags);
-}
-
export {
TriggerPanelCtrl,
TriggerPanelCtrl as PanelCtrl
diff --git a/src/panel-triggers/trigger.colorpicker.html b/src/panel-triggers/trigger.colorpicker.html
deleted file mode 100644
index 4f878d0..0000000
--- a/src/panel-triggers/trigger.colorpicker.html
+++ /dev/null
@@ -1,13 +0,0 @@
-
-