github.com/outbrain/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  });