feat(alerting): extract method for join eval matches

This commit is contained in:
bergquist 2016-09-13 13:46:29 +02:00
parent d02f29fb02
commit b49a642ca5
3 changed files with 14 additions and 7 deletions

View File

@ -1,6 +1,6 @@
///<reference path="../../headers/common.d.ts" />
import _ from 'lodash';
import {
QueryPartDef,
QueryPart,
@ -89,6 +89,16 @@ function getStateDisplayModel(state) {
}
}
function joinEvalMatches(matches, seperator: string) {
return _.reduce(matches, (res, ev)=> {
if (ev.Metric !== undefined && ev.Value !== undefined) {
res.push(ev.Metric + "=" + ev.Value);
}
return res;
}, []).join(seperator);
}
export default {
alertQueryDef: alertQueryDef,
getStateDisplayModel: getStateDisplayModel,
@ -97,4 +107,5 @@ export default {
noDataModes: noDataModes,
reducerTypes: reducerTypes,
createReducerPart: createReducerPart,
joinEvalMatches: joinEvalMatches,
};

View File

@ -90,11 +90,7 @@ export class AlertTabCtrl {
this.alertHistory = _.map(res, ah => {
ah.time = moment(ah.timestamp).format('MMM D, YYYY HH:mm:ss');
ah.stateModel = alertDef.getStateDisplayModel(ah.newState);
ah.metrics = _.map(ah.data, ev=> {
return ev.Metric + "=" + ev.Value;
}).join(', ');
ah.metrics = alertDef.joinEvalMatches(ah.data, ', ');
return ah;
});
});

View File

@ -47,6 +47,7 @@ class AlertListPanel extends PanelCtrl {
this.alertHistory = _.map(res, al => {
al.time = moment(al.timestamp).format('MMM D, YYYY HH:mm:ss');
al.stateModel = alertDef.getStateDisplayModel(al.newState);
al.metrics = alertDef.joinEvalMatches(al.data, ', ');
return al;
});
});
@ -58,7 +59,6 @@ class AlertListPanel extends PanelCtrl {
this.currentAlerts = _.map(res, al => {
al.stateModel = alertDef.getStateDisplayModel(al.state);
al.newStateDateAgo = moment(al.newStateDate).fromNow().replace(" ago", "");
return al;
});
});