triggers panel: update panel options

This commit is contained in:
Alexander Zobnin
2017-12-10 22:42:08 +03:00
parent 565de4b405
commit 3a2737c122
12 changed files with 68 additions and 339 deletions

View File

@@ -62,4 +62,11 @@
.ack-tooltip .ack-input-group button {
margin-left: 1rem; }
.triggers-severity-config.gf-form-label {
padding-top: 4px;
padding-bottom: 4px; }
.triggers-severity-config .icon-gf {
font-size: 200%; }
/*# sourceMappingURL=grafana-zabbix.dark.css.map */

View File

@@ -8,6 +8,6 @@
"../../src/sass/_variables.scss",
"../../src/sass/_panel-triggers.scss"
],
"mappings": "AIAA,AAAA,sBAAsB,CAAC;EACrB,QAAQ,EAAE,IAAK,GAChB;;AAED,AAAA,yBAAyB,CAAC;EACxB,QAAQ,EAAE,QAAS,GAsBpB;EAvBD,AAGE,yBAHuB,CAGvB,gBAAgB,CAAC;IACf,KAAK,EHCU,OAAO;IGAtB,WAAW,EAAE,IAAK;IAClB,WAAW,EAAE,IAAK,GACnB;EAPH,AASkB,yBATO,CASvB,gBAAgB,AAAA,qBAAqB,CAAC;IACpC,KAAK,EHJU,OAAO,GGKvB;EAXH,AAaE,yBAbuB,CAavB,mBAAmB,CAAC;IAClB,OAAO,EAAE,MAAO,GAQjB;IAtBH,AAeI,yBAfqB,CAavB,mBAAmB,CAEjB,CAAC,CAAC;MACA,YAAY,EAAE,MAAO,GACtB;IAjBL,AAkBI,yBAlBqB,CAavB,mBAAmB,CAKjB,CAAC;IAlBL,AAmBI,yBAnBqB,CAavB,mBAAmB,CAMjB,CAAC,CAAC;MACA,KAAK,EHfQ,OAAO,GGgBrB;;AAIL,AAAA,sBAAsB,CAAC;EACrB,UAAU,EAAE,MAAO;EACnB,SAAS,EAAE,GAAI;EACf,WAAW,EAAE,GAAI;EACjB,WAAW,EAAE,GAAI,GA0BlB;EA9BD,AAME,sBANoB,CAMpB,EAAE,CAAC;IACD,QAAQ,EAAE,QAAS;IACnB,OAAO,EAAE,YAAa;IACtB,WAAW,EAAE,CAAE;IACf,aAAa,EAAE,CAAE,GAClB;EAXH,AAYO,sBAZe,CAYpB,EAAE,GAAG,EAAE,CAAC;IACN,OAAO,EAAE,MAAO,GACjB;EAdH,AAeY,sBAfU,CAepB,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACV,KAAK,EAAE,IAAK;IACZ,OAAO,EAAE,QAAS;IAClB,eAAe,EAAE,IAAK;IACtB,iBAAiB,EAAE,CAAE,GAUtB;IA7BH,AAeY,sBAfU,CAepB,EAAE,GAAG,EAAE,GAAG,CAAC,AAMR,MAAM,CAAC;MACN,gBAAgB,EHjBE,IAAI,GGkBvB;IAvBL,AAeY,sBAfU,CAepB,EAAE,GAAG,EAAE,GAAG,CAAC,AAUR,OAAO,CAAC;MACP,WAAW,EAAE,IAAK;MAClB,KAAK,EHnCa,OAAO,GGoC1B;;AAIL,AACE,YADU,CACV,aAAa,CAAC;EAEZ,SAAS,EAAE,gBAAiB;EAC5B,SAAS,EAAE,gBAAiB,GAC7B;;AALH,AAOE,YAPU,CAOV,aAAa,CAAC;EACZ,KAAK,EAAE,GAAI,GACZ;;AATH,AAWE,YAXU,CAWV,eAAe,CAAC;EACd,WAAW,EAAE,IAAK,GACnB;;AAbH,AAeQ,YAfI,CAeV,KAAK,CAAC,EAAE,EAfV,AAeY,YAfA,CAeA,EAAE,CAAC;EACX,aAAa,EAAE,IAAK,GACrB;;AAjBH,AAmBE,YAnBU,CAmBV,gBAAgB,CAAC;EACf,WAAW,EAAE,IAAK,GAWnB;EA/BH,AAsBI,YAtBQ,CAmBV,gBAAgB,CAGd,KAAK,CAAC;IACJ,MAAM,EAAE,SAAU;IAClB,aAAa,EAAE,GAAI;IACnB,KAAK,EAAE,GAAI,GACZ;EA1BL,AA4BI,YA5BQ,CAmBV,gBAAgB,CASd,MAAM,CAAC;IACL,WAAW,EAAE,IAAK,GACnB",
"mappings": "AIAA,AAAA,sBAAsB,CAAC;EACrB,QAAQ,EAAE,IAAK,GAChB;;AAED,AAAA,yBAAyB,CAAC;EACxB,QAAQ,EAAE,QAAS,GAsBpB;EAvBD,AAGE,yBAHuB,CAGvB,gBAAgB,CAAC;IACf,KAAK,EHCU,OAAO;IGAtB,WAAW,EAAE,IAAK;IAClB,WAAW,EAAE,IAAK,GACnB;EAPH,AASkB,yBATO,CASvB,gBAAgB,AAAA,qBAAqB,CAAC;IACpC,KAAK,EHJU,OAAO,GGKvB;EAXH,AAaE,yBAbuB,CAavB,mBAAmB,CAAC;IAClB,OAAO,EAAE,MAAO,GAQjB;IAtBH,AAeI,yBAfqB,CAavB,mBAAmB,CAEjB,CAAC,CAAC;MACA,YAAY,EAAE,MAAO,GACtB;IAjBL,AAkBI,yBAlBqB,CAavB,mBAAmB,CAKjB,CAAC;IAlBL,AAmBI,yBAnBqB,CAavB,mBAAmB,CAMjB,CAAC,CAAC;MACA,KAAK,EHfQ,OAAO,GGgBrB;;AAIL,AAAA,sBAAsB,CAAC;EACrB,UAAU,EAAE,MAAO;EACnB,SAAS,EAAE,GAAI;EACf,WAAW,EAAE,GAAI;EACjB,WAAW,EAAE,GAAI,GA0BlB;EA9BD,AAME,sBANoB,CAMpB,EAAE,CAAC;IACD,QAAQ,EAAE,QAAS;IACnB,OAAO,EAAE,YAAa;IACtB,WAAW,EAAE,CAAE;IACf,aAAa,EAAE,CAAE,GAClB;EAXH,AAYO,sBAZe,CAYpB,EAAE,GAAG,EAAE,CAAC;IACN,OAAO,EAAE,MAAO,GACjB;EAdH,AAeY,sBAfU,CAepB,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACV,KAAK,EAAE,IAAK;IACZ,OAAO,EAAE,QAAS;IAClB,eAAe,EAAE,IAAK;IACtB,iBAAiB,EAAE,CAAE,GAUtB;IA7BH,AAeY,sBAfU,CAepB,EAAE,GAAG,EAAE,GAAG,CAAC,AAMR,MAAM,CAAC;MACN,gBAAgB,EHjBE,IAAI,GGkBvB;IAvBL,AAeY,sBAfU,CAepB,EAAE,GAAG,EAAE,GAAG,CAAC,AAUR,OAAO,CAAC;MACP,WAAW,EAAE,IAAK;MAClB,KAAK,EHnCa,OAAO,GGoC1B;;AAIL,AACE,YADU,CACV,aAAa,CAAC;EAEZ,SAAS,EAAE,gBAAiB;EAC5B,SAAS,EAAE,gBAAiB,GAC7B;;AALH,AAOE,YAPU,CAOV,aAAa,CAAC;EACZ,KAAK,EAAE,GAAI,GACZ;;AATH,AAWE,YAXU,CAWV,eAAe,CAAC;EACd,WAAW,EAAE,IAAK,GACnB;;AAbH,AAeQ,YAfI,CAeV,KAAK,CAAC,EAAE,EAfV,AAeY,YAfA,CAeA,EAAE,CAAC;EACX,aAAa,EAAE,IAAK,GACrB;;AAjBH,AAmBE,YAnBU,CAmBV,gBAAgB,CAAC;EACf,WAAW,EAAE,IAAK,GAWnB;EA/BH,AAsBI,YAtBQ,CAmBV,gBAAgB,CAGd,KAAK,CAAC;IACJ,MAAM,EAAE,SAAU;IAClB,aAAa,EAAE,GAAI;IACnB,KAAK,EAAE,GAAI,GACZ;EA1BL,AA4BI,YA5BQ,CAmBV,gBAAgB,CASd,MAAM,CAAC;IACL,WAAW,EAAE,IAAK,GACnB;;AAIL,AAAA,yBAAyB,AACtB,cAAc,CAAC;EACd,WAAW,EAAE,GAAI;EACjB,cAAc,EAAE,GAAI,GACrB;;AAJH,AAME,yBANuB,CAMvB,QAAQ,CAAC;EACP,SAAS,EAAE,IAAK,GACjB",
"names": []
}

View File

@@ -62,4 +62,11 @@
.ack-tooltip .ack-input-group button {
margin-left: 1rem; }
.triggers-severity-config.gf-form-label {
padding-top: 4px;
padding-bottom: 4px; }
.triggers-severity-config .icon-gf {
font-size: 200%; }
/*# sourceMappingURL=grafana-zabbix.light.css.map */

View File

@@ -8,6 +8,6 @@
"../../src/sass/_variables.scss",
"../../src/sass/_panel-triggers.scss"
],
"mappings": "AIAA,AAAA,sBAAsB,CAAC;EACrB,QAAQ,EAAE,IAAK,GAChB;;AAED,AAAA,yBAAyB,CAAC;EACxB,QAAQ,EAAE,QAAS,GAsBpB;EAvBD,AAGE,yBAHuB,CAGvB,gBAAgB,CAAC;IACf,KAAK,EHCU,OAAO;IGAtB,WAAW,EAAE,IAAK;IAClB,WAAW,EAAE,IAAK,GACnB;EAPH,AASkB,yBATO,CASvB,gBAAgB,AAAA,qBAAqB,CAAC;IACpC,KAAK,EHJU,OAAO,GGKvB;EAXH,AAaE,yBAbuB,CAavB,mBAAmB,CAAC;IAClB,OAAO,EAAE,MAAO,GAQjB;IAtBH,AAeI,yBAfqB,CAavB,mBAAmB,CAEjB,CAAC,CAAC;MACA,YAAY,EAAE,MAAO,GACtB;IAjBL,AAkBI,yBAlBqB,CAavB,mBAAmB,CAKjB,CAAC;IAlBL,AAmBI,yBAnBqB,CAavB,mBAAmB,CAMjB,CAAC,CAAC;MACA,KAAK,EHfQ,OAAO,GGgBrB;;AAIL,AAAA,sBAAsB,CAAC;EACrB,UAAU,EAAE,MAAO;EACnB,SAAS,EAAE,GAAI;EACf,WAAW,EAAE,GAAI;EACjB,WAAW,EAAE,GAAI,GA0BlB;EA9BD,AAME,sBANoB,CAMpB,EAAE,CAAC;IACD,QAAQ,EAAE,QAAS;IACnB,OAAO,EAAE,YAAa;IACtB,WAAW,EAAE,CAAE;IACf,aAAa,EAAE,CAAE,GAClB;EAXH,AAYO,sBAZe,CAYpB,EAAE,GAAG,EAAE,CAAC;IACN,OAAO,EAAE,MAAO,GACjB;EAdH,AAeY,sBAfU,CAepB,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACV,KAAK,EAAE,IAAK;IACZ,OAAO,EAAE,QAAS;IAClB,eAAe,EAAE,IAAK;IACtB,iBAAiB,EAAE,CAAE,GAUtB;IA7BH,AAeY,sBAfU,CAepB,EAAE,GAAG,EAAE,GAAG,CAAC,AAMR,MAAM,CAAC;MACN,gBAAgB,EHvCH,OAAO,GGwCrB;IAvBL,AAeY,sBAfU,CAepB,EAAE,GAAG,EAAE,GAAG,CAAC,AAUR,OAAO,CAAC;MACP,WAAW,EAAE,IAAK;MAClB,KAAK,EHpCa,OAAO,GGqC1B;;AAIL,AACE,YADU,CACV,aAAa,CAAC;EAEZ,SAAS,EAAE,gBAAiB;EAC5B,SAAS,EAAE,gBAAiB,GAC7B;;AALH,AAOE,YAPU,CAOV,aAAa,CAAC;EACZ,KAAK,EAAE,GAAI,GACZ;;AATH,AAWE,YAXU,CAWV,eAAe,CAAC;EACd,WAAW,EAAE,IAAK,GACnB;;AAbH,AAeQ,YAfI,CAeV,KAAK,CAAC,EAAE,EAfV,AAeY,YAfA,CAeA,EAAE,CAAC;EACX,aAAa,EAAE,IAAK,GACrB;;AAjBH,AAmBE,YAnBU,CAmBV,gBAAgB,CAAC;EACf,WAAW,EAAE,IAAK,GAWnB;EA/BH,AAsBI,YAtBQ,CAmBV,gBAAgB,CAGd,KAAK,CAAC;IACJ,MAAM,EAAE,SAAU;IAClB,aAAa,EAAE,GAAI;IACnB,KAAK,EAAE,GAAI,GACZ;EA1BL,AA4BI,YA5BQ,CAmBV,gBAAgB,CASd,MAAM,CAAC;IACL,WAAW,EAAE,IAAK,GACnB",
"mappings": "AIAA,AAAA,sBAAsB,CAAC;EACrB,QAAQ,EAAE,IAAK,GAChB;;AAED,AAAA,yBAAyB,CAAC;EACxB,QAAQ,EAAE,QAAS,GAsBpB;EAvBD,AAGE,yBAHuB,CAGvB,gBAAgB,CAAC;IACf,KAAK,EHCU,OAAO;IGAtB,WAAW,EAAE,IAAK;IAClB,WAAW,EAAE,IAAK,GACnB;EAPH,AASkB,yBATO,CASvB,gBAAgB,AAAA,qBAAqB,CAAC;IACpC,KAAK,EHJU,OAAO,GGKvB;EAXH,AAaE,yBAbuB,CAavB,mBAAmB,CAAC;IAClB,OAAO,EAAE,MAAO,GAQjB;IAtBH,AAeI,yBAfqB,CAavB,mBAAmB,CAEjB,CAAC,CAAC;MACA,YAAY,EAAE,MAAO,GACtB;IAjBL,AAkBI,yBAlBqB,CAavB,mBAAmB,CAKjB,CAAC;IAlBL,AAmBI,yBAnBqB,CAavB,mBAAmB,CAMjB,CAAC,CAAC;MACA,KAAK,EHfQ,OAAO,GGgBrB;;AAIL,AAAA,sBAAsB,CAAC;EACrB,UAAU,EAAE,MAAO;EACnB,SAAS,EAAE,GAAI;EACf,WAAW,EAAE,GAAI;EACjB,WAAW,EAAE,GAAI,GA0BlB;EA9BD,AAME,sBANoB,CAMpB,EAAE,CAAC;IACD,QAAQ,EAAE,QAAS;IACnB,OAAO,EAAE,YAAa;IACtB,WAAW,EAAE,CAAE;IACf,aAAa,EAAE,CAAE,GAClB;EAXH,AAYO,sBAZe,CAYpB,EAAE,GAAG,EAAE,CAAC;IACN,OAAO,EAAE,MAAO,GACjB;EAdH,AAeY,sBAfU,CAepB,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACV,KAAK,EAAE,IAAK;IACZ,OAAO,EAAE,QAAS;IAClB,eAAe,EAAE,IAAK;IACtB,iBAAiB,EAAE,CAAE,GAUtB;IA7BH,AAeY,sBAfU,CAepB,EAAE,GAAG,EAAE,GAAG,CAAC,AAMR,MAAM,CAAC;MACN,gBAAgB,EHvCH,OAAO,GGwCrB;IAvBL,AAeY,sBAfU,CAepB,EAAE,GAAG,EAAE,GAAG,CAAC,AAUR,OAAO,CAAC;MACP,WAAW,EAAE,IAAK;MAClB,KAAK,EHpCa,OAAO,GGqC1B;;AAIL,AACE,YADU,CACV,aAAa,CAAC;EAEZ,SAAS,EAAE,gBAAiB;EAC5B,SAAS,EAAE,gBAAiB,GAC7B;;AALH,AAOE,YAPU,CAOV,aAAa,CAAC;EACZ,KAAK,EAAE,GAAI,GACZ;;AATH,AAWE,YAXU,CAWV,eAAe,CAAC;EACd,WAAW,EAAE,IAAK,GACnB;;AAbH,AAeQ,YAfI,CAeV,KAAK,CAAC,EAAE,EAfV,AAeY,YAfA,CAeA,EAAE,CAAC;EACX,aAAa,EAAE,IAAK,GACrB;;AAjBH,AAmBE,YAnBU,CAmBV,gBAAgB,CAAC;EACf,WAAW,EAAE,IAAK,GAWnB;EA/BH,AAsBI,YAtBQ,CAmBV,gBAAgB,CAGd,KAAK,CAAC;IACJ,MAAM,EAAE,SAAU;IAClB,aAAa,EAAE,GAAI;IACnB,KAAK,EAAE,GAAI,GACZ;EA1BL,AA4BI,YA5BQ,CAmBV,gBAAgB,CASd,MAAM,CAAC;IACL,WAAW,EAAE,IAAK,GACnB;;AAIL,AAAA,yBAAyB,AACtB,cAAc,CAAC;EACd,WAAW,EAAE,GAAI;EACjB,cAAc,EAAE,GAAI,GACrB;;AAJH,AAME,yBANuB,CAMvB,QAAQ,CAAC;EACP,SAAS,EAAE,IAAK,GACjB",
"names": []
}

View File

@@ -1,127 +1,5 @@
<div class="triggers-panel-container">
<!-- <div class="triggers-panel-header-bg"></div> -->
<div class="triggers-panel-scroll">
<table class="triggers-panel-table" ng-if="false">
<thead>
<tr>
<th ng-if="ctrl.panel.hostField" class="zbx-field-host">
<div class="triggers-panel-table-header-inner pointer">
Host
</div>
</th>
<th ng-if="ctrl.panel.hostTechNameField" class="zbx-field-host">
<div class="triggers-panel-table-header-inner pointer">
Technical Name
</div>
</th>
<th ng-if="ctrl.panel.statusField" class="zbx-field-status">
<div class="triggers-panel-table-header-inner pointer">Status</div>
</th>
<th ng-if="ctrl.panel.severityField" class="zbx-field-severity">
<div class="triggers-panel-table-header-inner pointer">Severity</div>
</th>
<th>
<div class="triggers-panel-table-header-inner pointer">Issue</div>
</th>
<th ng-if="ctrl.panel.lastChangeField" class="zbx-field-lastchange">
<div class="triggers-panel-table-header-inner pointer">Last change</div>
</th>
<th ng-if="ctrl.panel.ageField" class="zbx-field-age">
<div class="triggers-panel-table-header-inner pointer">Age</div>
</th>
<th ng-if="ctrl.panel.infoField" class="zbx-field-info">
<div class="triggers-panel-table-header-inner pointer">Info</div>
</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="trigger in ctrl.currentTriggersPage">
<td ng-if="ctrl.panel.hostField">
<div>
<span><strong>{{trigger.host}}</strong></span>
</div>
</td>
<td ng-if="ctrl.panel.hostTechNameField">
<div>
<span><strong>{{trigger.hostTechName}}</strong></span>
</div>
</td>
<td ng-if="ctrl.panel.statusField" class="zbx-field-colored"
ng-style="{background: trigger.color, color: ctrl.panel.fontColor}">
<div>
{{ctrl.triggerStatusMap[trigger.value]}}
</div>
</td>
<td ng-if="ctrl.panel.severityField" class="zbx-field-colored"
ng-style="{background: trigger.color, color: ctrl.panel.fontColor}">
<div>
{{trigger.severity}}
</div>
</td>
<td class="zbx-field-colored"
ng-style="{background: trigger.color, color: ctrl.panel.fontColor}">
<div>
{{trigger.description}}
<a ng-if="trigger.comments"
role="button"
ng-click="ctrl.switchComment(trigger)"
class="pointer zbx-description-icon"
bs-tooltip="'Show additional trigger description'"
data-placement="top">
<i class="fa fa-file-text-o"></i>
</a>
</div>
<!-- Trigger comments -->
<div class="collapse"
id="comments-{{trigger.triggerid}}"
ng-if="trigger.showComment">
<div>
<small>{{trigger.comments}}</small>
</div>
</div>
</td>
<td ng-if="ctrl.panel.lastChangeField">
{{trigger.lastchange}}
</td>
<td ng-if="ctrl.panel.ageField">
{{trigger.age}}
</td>
<td ng-if="ctrl.panel.infoField">
<!-- Trigger Url -->
<a ng-if="trigger.url"
href="{{trigger.url}}"
target="_blank">
<i class="fa fa-external-link"></i>
</a>
<!-- Trigger state -->
<span ng-if="trigger.state === '1'"
bs-tooltip="'{{trigger.error}}'">
<i class="fa fa-question-circle"></i>
</span>
<!-- Trigger acknowledges -->
<ack-tooltip
ack="trigger.acknowledges"
trigger="trigger"
on-ack="ctrl.acknowledgeTrigger"
context="ctrl">
</ack-tooltip>
</td>
</tr>
</tbody>
</table>
<section class="card-section card-list-layout-list">
<ol class="card-list">
<li class="card-item-wrapper" ng-repeat="trigger in ctrl.currentTriggersPage">
@@ -129,8 +7,7 @@
<div class="alert-list-body">
<div class="alert-list-icon alert-list-item-state"
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="trigger.value === '1' ? 'icon-gf-critical' : 'icon-gf-online'"></i>
</div>
<div class="alert-list-main">
<p class="alert-list-title">

View File

@@ -25,24 +25,6 @@
checked="editor.panel.severityField"
on-change="ctrl.render()">
</gf-form-switch>
<gf-form-switch class="gf-form"
label-class="width-9"
label="Last change"
checked="editor.panel.lastChangeField"
on-change="ctrl.render()">
</gf-form-switch>
<gf-form-switch class="gf-form"
label-class="width-9"
label="Age"
checked="editor.panel.ageField"
on-change="ctrl.render()">
</gf-form-switch>
<gf-form-switch class="gf-form"
label-class="width-9"
label="Info"
checked="editor.panel.infoField"
on-change="ctrl.render()">
</gf-form-switch>
</div>
<div class="section gf-form-group">
@@ -104,12 +86,6 @@
ng-change="editor.panelCtrl.render()"></select>
</div>
</div>
<div class="gf-form max-width-14">
<label class="gf-form-label width-8">Font color</label>
<span class="gf-form-label">
<spectrum-picker ng-model="editor.panel.fontColor" ng-change="ctrl.render()"></spectrum-picker>
</span>
</div>
<div class="gf-form">
<label class="gf-form-label width-8">Page size</label>
<input class="gf-form-input width-6"
@@ -118,12 +94,6 @@
ng-model-onblur
ng-change="ctrl.render()">
</div>
<gf-form-switch class="gf-form"
label-class="width-8"
label="Enable scroll"
checked="editor.panel.scroll"
on-change="ctrl.render()">
</gf-form-switch>
<gf-form-switch class="gf-form"
label-class="width-16"
label="Custom Last change format"
@@ -151,11 +121,14 @@
<div class="gf-form-inline" ng-repeat="trigger in editor.panel.triggerSeverity">
<div class="gf-form">
<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>
</label>
<input type="text"
class="gf-form-input width-12"
empty-to-null
ng-model="trigger.severity"
ng-style="{background: trigger.color, color: editor.panel.fontColor}"
ng-model-onblur
ng-change="ctrl.render()">
<span class="gf-form-label">
@@ -173,8 +146,11 @@
<div class="gf-form-inline">
<div class="gf-form">
<label class="gf-form-label width-3">&nbsp;</label>
<label class="gf-form-input width-12"
ng-style="{background:editor.panel.ackEventColor, color: editor.panel.fontColor}">
<label class="gf-form-label triggers-severity-config"
ng-style="{color: editor.panel.ackEventColor}">
<i class="icon-gf icon-gf-critical"></i>
</label>
<label class="gf-form-label width-12">
Acknowledged color
</label>
<span class="gf-form-label">
@@ -191,8 +167,11 @@
<div class="gf-form-inline">
<div class="gf-form">
<label class="gf-form-label width-3">&nbsp;</label>
<label class="gf-form-input width-12"
ng-style="{background:editor.panel.okEventColor, color: editor.panel.fontColor}">
<label class="gf-form-label triggers-severity-config"
ng-style="{color: editor.panel.okEventColor}">
<i class="icon-gf icon-gf-critical"></i>
</label>
<label class="gf-form-label width-12">
OK event color
</label>
<span class="gf-form-label">

View File

@@ -101,16 +101,14 @@ System.register(['lodash', 'jquery', 'moment', '../datasource-zabbix/utils', 'ap
DEFAULT_TIME_FORMAT = "DD MMM YYYY HH:mm:ss";
_export('PANEL_DEFAULTS', PANEL_DEFAULTS = {
schemaVersion: 2,
schemaVersion: 3,
datasources: [],
targets: {},
// Fields
hostField: true,
statusField: false,
severityField: false,
lastChangeField: true,
ageField: true,
infoField: true,
hostTechNameField: false,
statusField: true,
severityField: true,
// Options
hideHostsInMaintenance: false,
showTriggers: 'all triggers',
@@ -119,9 +117,7 @@ System.register(['lodash', 'jquery', 'moment', '../datasource-zabbix/utils', 'ap
limit: 10,
// View options
fontSize: '100%',
fontColor: null,
pageSize: 10,
scroll: true,
customLastChangeFormat: false,
lastChangeFormat: "",
// Triggers severity and colors
@@ -535,7 +531,7 @@ System.register(['lodash', 'jquery', 'moment', '../datasource-zabbix/utils', 'ap
var footerElem = elem.find('.triggers-panel-footer');
appendPaginationControls(footerElem);
setFontSize();
rootElem.css({ 'max-height': panel.scroll ? getContentHeight() : '' });
rootElem.css({ 'max-height': getContentHeight() });
rootElem.css({ 'height': getContentHeight() });
ctrl.renderingCompleted();
}

File diff suppressed because one or more lines are too long

View File

@@ -1,127 +1,5 @@
<div class="triggers-panel-container">
<!-- <div class="triggers-panel-header-bg"></div> -->
<div class="triggers-panel-scroll">
<table class="triggers-panel-table" ng-if="false">
<thead>
<tr>
<th ng-if="ctrl.panel.hostField" class="zbx-field-host">
<div class="triggers-panel-table-header-inner pointer">
Host
</div>
</th>
<th ng-if="ctrl.panel.hostTechNameField" class="zbx-field-host">
<div class="triggers-panel-table-header-inner pointer">
Technical Name
</div>
</th>
<th ng-if="ctrl.panel.statusField" class="zbx-field-status">
<div class="triggers-panel-table-header-inner pointer">Status</div>
</th>
<th ng-if="ctrl.panel.severityField" class="zbx-field-severity">
<div class="triggers-panel-table-header-inner pointer">Severity</div>
</th>
<th>
<div class="triggers-panel-table-header-inner pointer">Issue</div>
</th>
<th ng-if="ctrl.panel.lastChangeField" class="zbx-field-lastchange">
<div class="triggers-panel-table-header-inner pointer">Last change</div>
</th>
<th ng-if="ctrl.panel.ageField" class="zbx-field-age">
<div class="triggers-panel-table-header-inner pointer">Age</div>
</th>
<th ng-if="ctrl.panel.infoField" class="zbx-field-info">
<div class="triggers-panel-table-header-inner pointer">Info</div>
</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="trigger in ctrl.currentTriggersPage">
<td ng-if="ctrl.panel.hostField">
<div>
<span><strong>{{trigger.host}}</strong></span>
</div>
</td>
<td ng-if="ctrl.panel.hostTechNameField">
<div>
<span><strong>{{trigger.hostTechName}}</strong></span>
</div>
</td>
<td ng-if="ctrl.panel.statusField" class="zbx-field-colored"
ng-style="{background: trigger.color, color: ctrl.panel.fontColor}">
<div>
{{ctrl.triggerStatusMap[trigger.value]}}
</div>
</td>
<td ng-if="ctrl.panel.severityField" class="zbx-field-colored"
ng-style="{background: trigger.color, color: ctrl.panel.fontColor}">
<div>
{{trigger.severity}}
</div>
</td>
<td class="zbx-field-colored"
ng-style="{background: trigger.color, color: ctrl.panel.fontColor}">
<div>
{{trigger.description}}
<a ng-if="trigger.comments"
role="button"
ng-click="ctrl.switchComment(trigger)"
class="pointer zbx-description-icon"
bs-tooltip="'Show additional trigger description'"
data-placement="top">
<i class="fa fa-file-text-o"></i>
</a>
</div>
<!-- Trigger comments -->
<div class="collapse"
id="comments-{{trigger.triggerid}}"
ng-if="trigger.showComment">
<div>
<small>{{trigger.comments}}</small>
</div>
</div>
</td>
<td ng-if="ctrl.panel.lastChangeField">
{{trigger.lastchange}}
</td>
<td ng-if="ctrl.panel.ageField">
{{trigger.age}}
</td>
<td ng-if="ctrl.panel.infoField">
<!-- Trigger Url -->
<a ng-if="trigger.url"
href="{{trigger.url}}"
target="_blank">
<i class="fa fa-external-link"></i>
</a>
<!-- Trigger state -->
<span ng-if="trigger.state === '1'"
bs-tooltip="'{{trigger.error}}'">
<i class="fa fa-question-circle"></i>
</span>
<!-- Trigger acknowledges -->
<ack-tooltip
ack="trigger.acknowledges"
trigger="trigger"
on-ack="ctrl.acknowledgeTrigger"
context="ctrl">
</ack-tooltip>
</td>
</tr>
</tbody>
</table>
<section class="card-section card-list-layout-list">
<ol class="card-list">
<li class="card-item-wrapper" ng-repeat="trigger in ctrl.currentTriggersPage">
@@ -129,8 +7,7 @@
<div class="alert-list-body">
<div class="alert-list-icon alert-list-item-state"
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="trigger.value === '1' ? 'icon-gf-critical' : 'icon-gf-online'"></i>
</div>
<div class="alert-list-main">
<p class="alert-list-title">

View File

@@ -25,24 +25,6 @@
checked="editor.panel.severityField"
on-change="ctrl.render()">
</gf-form-switch>
<gf-form-switch class="gf-form"
label-class="width-9"
label="Last change"
checked="editor.panel.lastChangeField"
on-change="ctrl.render()">
</gf-form-switch>
<gf-form-switch class="gf-form"
label-class="width-9"
label="Age"
checked="editor.panel.ageField"
on-change="ctrl.render()">
</gf-form-switch>
<gf-form-switch class="gf-form"
label-class="width-9"
label="Info"
checked="editor.panel.infoField"
on-change="ctrl.render()">
</gf-form-switch>
</div>
<div class="section gf-form-group">
@@ -104,12 +86,6 @@
ng-change="editor.panelCtrl.render()"></select>
</div>
</div>
<div class="gf-form max-width-14">
<label class="gf-form-label width-8">Font color</label>
<span class="gf-form-label">
<spectrum-picker ng-model="editor.panel.fontColor" ng-change="ctrl.render()"></spectrum-picker>
</span>
</div>
<div class="gf-form">
<label class="gf-form-label width-8">Page size</label>
<input class="gf-form-input width-6"
@@ -118,12 +94,6 @@
ng-model-onblur
ng-change="ctrl.render()">
</div>
<gf-form-switch class="gf-form"
label-class="width-8"
label="Enable scroll"
checked="editor.panel.scroll"
on-change="ctrl.render()">
</gf-form-switch>
<gf-form-switch class="gf-form"
label-class="width-16"
label="Custom Last change format"
@@ -151,11 +121,14 @@
<div class="gf-form-inline" ng-repeat="trigger in editor.panel.triggerSeverity">
<div class="gf-form">
<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>
</label>
<input type="text"
class="gf-form-input width-12"
empty-to-null
ng-model="trigger.severity"
ng-style="{background: trigger.color, color: editor.panel.fontColor}"
ng-model-onblur
ng-change="ctrl.render()">
<span class="gf-form-label">
@@ -173,8 +146,11 @@
<div class="gf-form-inline">
<div class="gf-form">
<label class="gf-form-label width-3">&nbsp;</label>
<label class="gf-form-input width-12"
ng-style="{background:editor.panel.ackEventColor, color: editor.panel.fontColor}">
<label class="gf-form-label triggers-severity-config"
ng-style="{color: editor.panel.ackEventColor}">
<i class="icon-gf icon-gf-critical"></i>
</label>
<label class="gf-form-label width-12">
Acknowledged color
</label>
<span class="gf-form-label">
@@ -191,8 +167,11 @@
<div class="gf-form-inline">
<div class="gf-form">
<label class="gf-form-label width-3">&nbsp;</label>
<label class="gf-form-input width-12"
ng-style="{background:editor.panel.okEventColor, color: editor.panel.fontColor}">
<label class="gf-form-label triggers-severity-config"
ng-style="{color: editor.panel.okEventColor}">
<i class="icon-gf icon-gf-critical"></i>
</label>
<label class="gf-form-label width-12">
OK event color
</label>
<span class="gf-form-label">

View File

@@ -28,16 +28,14 @@ export const DEFAULT_SEVERITY = [
const DEFAULT_TIME_FORMAT = "DD MMM YYYY HH:mm:ss";
export const PANEL_DEFAULTS = {
schemaVersion: 2,
schemaVersion: 3,
datasources: [],
targets: {},
// Fields
hostField: true,
statusField: false,
severityField: false,
lastChangeField: true,
ageField: true,
infoField: true,
hostTechNameField: false,
statusField: true,
severityField: true,
// Options
hideHostsInMaintenance: false,
showTriggers: 'all triggers',
@@ -46,9 +44,7 @@ export const PANEL_DEFAULTS = {
limit: 10,
// View options
fontSize: '100%',
fontColor: null,
pageSize: 10,
scroll: true,
customLastChangeFormat: false,
lastChangeFormat: "",
// Triggers severity and colors
@@ -429,7 +425,7 @@ export class TriggerPanelCtrl extends PanelCtrl {
let footerElem = elem.find('.triggers-panel-footer');
appendPaginationControls(footerElem);
setFontSize();
rootElem.css({'max-height': panel.scroll ? getContentHeight() : '' });
rootElem.css({'max-height': getContentHeight()});
rootElem.css({'height': getContentHeight()});
ctrl.renderingCompleted();
}

View File

@@ -92,3 +92,14 @@
}
}
}
.triggers-severity-config {
&.gf-form-label {
padding-top: 4px;
padding-bottom: 4px;
}
.icon-gf {
font-size: 200%;
}
}