mirror of https://github.com/hashicorp/consul
37 lines
1.1 KiB
JavaScript
37 lines
1.1 KiB
JavaScript
|
import Component from '@ember/component';
|
||
|
import { get } from '@ember/object';
|
||
|
|
||
|
export default Component.extend({
|
||
|
// TODO: Could potentially do this on attr change
|
||
|
actions: {
|
||
|
sortChecksByImportance: function(a, b) {
|
||
|
const statusA = get(a, 'Status');
|
||
|
const statusB = get(b, 'Status');
|
||
|
switch (statusA) {
|
||
|
case 'passing':
|
||
|
// a = passing
|
||
|
// unless b is also passing then a is less important
|
||
|
return statusB === 'passing' ? 0 : 1;
|
||
|
case 'critical':
|
||
|
// a = critical
|
||
|
// unless b is also critical then a is more important
|
||
|
return statusB === 'critical' ? 0 : -1;
|
||
|
case 'warning':
|
||
|
// a = warning
|
||
|
switch (statusB) {
|
||
|
// b is passing so a is more important
|
||
|
case 'passing':
|
||
|
return -1;
|
||
|
// b is critical so a is less important
|
||
|
case 'critical':
|
||
|
return 1;
|
||
|
// a and b are both warning, therefore equal
|
||
|
default:
|
||
|
return 0;
|
||
|
}
|
||
|
}
|
||
|
return 0;
|
||
|
},
|
||
|
},
|
||
|
});
|