Commit abb8f33d by bergquist

feat(alertlist): make it possible to filter on alerts from current dashboard

parent f924b241
......@@ -11,6 +11,7 @@
<span class="gf-form-label width-8">Max items</span>
<input type="text" class="gf-form-input max-width-15" ng-model="ctrl.panel.limit" ng-change="ctrl.onRender()" />
</div>
<gf-form-switch class="gf-form" label="Alerts from this dashboard" label-class="width-18" checked="ctrl.panel.onlyAlertsOnDashboard" on-change="ctrl.updateStateFilter()"></gf-form-switch>
</div>
<div class="section gf-form-group">
<h5 class="section-heading">State filter</h5>
......
......@@ -25,7 +25,8 @@ class AlertListPanel extends PanelCtrl {
panelDefaults = {
show: 'current',
limit: 10,
stateFilter: []
stateFilter: [],
onlyAlertsOnDashboard: false
};
......@@ -71,9 +72,13 @@ class AlertListPanel extends PanelCtrl {
var params: any = {
limit: this.panel.limit,
type: 'alert',
newState: this.panel.stateFilter
newState: this.panel.stateFilter,
};
if (this.panel.onlyAlertsOnDashboard) {
params.dashboardId = this.dashboard.id;
}
params.from = dateMath.parse(this.dashboard.time.from).unix() * 1000;
params.to = dateMath.parse(this.dashboard.time.to).unix() * 1000;
......@@ -93,6 +98,10 @@ class AlertListPanel extends PanelCtrl {
state: this.panel.stateFilter
};
if (this.panel.onlyAlertsOnDashboard) {
params.dashboardId = this.dashboard.id;
}
this.backendSrv.get(`/api/alerts`, params)
.then(res => {
this.currentAlerts = _.map(res, al => {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment