triggers panel: blink option
This commit is contained in:
@@ -3,11 +3,11 @@
|
||||
<section class="card-section card-list-layout-list">
|
||||
<ol class="card-list">
|
||||
<li class="card-item-wrapper" ng-repeat="trigger in ctrl.currentTriggersPage">
|
||||
<div class="alert-list card-item card-item--alert">
|
||||
<div class="alert-list card-item zabbix-trigger-card">
|
||||
<div class="alert-list-body">
|
||||
<div class="alert-list-icon alert-list-item-state"
|
||||
<div class="alert-list-icon alert-list-item-state alert-list-icon--alerting"
|
||||
ng-style="{color: trigger.color}">
|
||||
<i class="icon-gf" ng-class="trigger.value === '1' ? 'icon-gf-critical' : 'icon-gf-online'"></i>
|
||||
<i class="icon-gf" ng-class="ctrl.getAlertStateIcon(trigger)"></i>
|
||||
</div>
|
||||
<div class="alert-list-main">
|
||||
<p class="alert-list-title">
|
||||
|
||||
@@ -123,7 +123,7 @@
|
||||
<label class="gf-form-label width-3">{{ trigger.priority }}</label>
|
||||
<label class="gf-form-label triggers-severity-config"
|
||||
ng-style="{color: trigger.color}">
|
||||
<i class="icon-gf icon-gf-critical"></i>
|
||||
<i class="icon-gf" ng-class="ctrl.getAlertStateIcon(trigger)"></i>
|
||||
</label>
|
||||
<input type="text"
|
||||
class="gf-form-input width-12"
|
||||
@@ -141,6 +141,12 @@
|
||||
checked="trigger.show"
|
||||
on-change="ctrl.refresh()">
|
||||
</gf-form-switch>
|
||||
<gf-form-switch class="gf-form"
|
||||
label-class="width-0"
|
||||
label="Blink"
|
||||
checked="trigger.blink"
|
||||
on-change="ctrl.refresh()">
|
||||
</gf-form-switch>
|
||||
</div>
|
||||
|
||||
<div class="gf-form-inline">
|
||||
@@ -148,7 +154,7 @@
|
||||
<label class="gf-form-label width-3"> </label>
|
||||
<label class="gf-form-label triggers-severity-config"
|
||||
ng-style="{color: editor.panel.ackEventColor}">
|
||||
<i class="icon-gf icon-gf-critical"></i>
|
||||
<i class="icon-gf icon-gf-online"></i>
|
||||
</label>
|
||||
<label class="gf-form-label width-12">
|
||||
Acknowledged color
|
||||
@@ -169,7 +175,7 @@
|
||||
<label class="gf-form-label width-3"> </label>
|
||||
<label class="gf-form-label triggers-severity-config"
|
||||
ng-style="{color: editor.panel.okEventColor}">
|
||||
<i class="icon-gf icon-gf-critical"></i>
|
||||
<i class="icon-gf icon-gf-online"></i>
|
||||
</label>
|
||||
<label class="gf-form-label width-12">
|
||||
OK event color
|
||||
|
||||
@@ -17,12 +17,12 @@ export const DEFAULT_TARGET = {
|
||||
};
|
||||
|
||||
export const DEFAULT_SEVERITY = [
|
||||
{ priority: 0, severity: 'Not classified', color: '#B7DBAB', show: true },
|
||||
{ priority: 1, severity: 'Information', color: '#82B5D8', show: true },
|
||||
{ priority: 2, severity: 'Warning', color: '#E5AC0E', show: true },
|
||||
{ priority: 3, severity: 'Average', color: '#C15C17', show: true },
|
||||
{ priority: 4, severity: 'High', color: '#BF1B00', show: true },
|
||||
{ priority: 5, severity: 'Disaster', color: '#890F02', show: true }
|
||||
{ priority: 0, severity: 'Not classified', color: '#B7DBAB', show: true, blink: false },
|
||||
{ priority: 1, severity: 'Information', color: '#82B5D8', show: true, blink: false },
|
||||
{ priority: 2, severity: 'Warning', color: '#E5AC0E', show: true, blink: false },
|
||||
{ priority: 3, severity: 'Average', color: '#C15C17', show: true, blink: false },
|
||||
{ priority: 4, severity: 'High', color: '#BF1B00', show: true, blink: true },
|
||||
{ priority: 5, severity: 'Disaster', color: '#890F02', show: true, blink: true },
|
||||
];
|
||||
|
||||
const DEFAULT_TIME_FORMAT = "DD MMM YYYY HH:mm:ss";
|
||||
@@ -79,7 +79,7 @@ export class TriggerPanelCtrl extends PanelCtrl {
|
||||
this.datasources = {};
|
||||
|
||||
this.panel = migratePanelSchema(this.panel);
|
||||
_.defaults(this.panel, _.cloneDeep(PANEL_DEFAULTS));
|
||||
_.defaultsDeep(this.panel, _.cloneDeep(PANEL_DEFAULTS));
|
||||
|
||||
this.available_datasources = _.map(this.getZabbixDataSources(), 'name');
|
||||
if (this.panel.datasources.length === 0) {
|
||||
@@ -394,6 +394,25 @@ export class TriggerPanelCtrl extends PanelCtrl {
|
||||
}
|
||||
}
|
||||
|
||||
getAlertStateIcon(trigger) {
|
||||
const triggerValue = Number(trigger.value);
|
||||
let iconClass = '';
|
||||
if (triggerValue || trigger.color) {
|
||||
if (trigger.priority >= 3) {
|
||||
iconClass = 'icon-gf-critical';
|
||||
} else {
|
||||
iconClass = 'icon-gf-warning';
|
||||
}
|
||||
} else {
|
||||
iconClass = 'icon-gf-online';
|
||||
}
|
||||
|
||||
if (this.panel.triggerSeverity[trigger.priority].blink) {
|
||||
iconClass += ' zabbix-trigger--blinked';
|
||||
}
|
||||
return iconClass;
|
||||
}
|
||||
|
||||
link(scope, elem, attrs, ctrl) {
|
||||
let panel = ctrl.panel;
|
||||
let pageCount = 0;
|
||||
|
||||
Reference in New Issue
Block a user