github.com/DerekStrickland/consul@v1.4.5/ui-v2/app/controllers/dc/services/show.js (about) 1 import Controller from '@ember/controller'; 2 import { get } from '@ember/object'; 3 import { computed } from '@ember/object'; 4 import sumOfUnhealthy from 'consul-ui/utils/sumOfUnhealthy'; 5 import hasStatus from 'consul-ui/utils/hasStatus'; 6 import WithHealthFiltering from 'consul-ui/mixins/with-health-filtering'; 7 export default Controller.extend(WithHealthFiltering, { 8 init: function() { 9 this._super(...arguments); 10 }, 11 unhealthy: computed('filtered', function() { 12 return get(this, 'filtered').filter(function(item) { 13 return sumOfUnhealthy(item.Checks) > 0; 14 }); 15 }), 16 healthy: computed('filtered', function() { 17 return get(this, 'filtered').filter(function(item) { 18 return sumOfUnhealthy(item.Checks) === 0; 19 }); 20 }), 21 filter: function(item, { s = '', status = '' }) { 22 const term = s.toLowerCase(); 23 24 return ( 25 get(item, 'Node.Node') 26 .toLowerCase() 27 .indexOf(term) !== -1 || 28 (get(item, 'Service.ID') 29 .toLowerCase() 30 .indexOf(term) !== -1 && 31 hasStatus(get(item, 'Checks'), status)) 32 ); 33 }, 34 });