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 @@ -
    - × - -
    -   -
    -
    -