github.com/blixtra/nomad@v0.7.2-0.20171221000451-da9a1d7bb050/ui/app/models/task-state.js (about)

     1  import Ember from 'ember';
     2  import Fragment from 'ember-data-model-fragments/fragment';
     3  import attr from 'ember-data/attr';
     4  import { fragment, fragmentOwner, fragmentArray } from 'ember-data-model-fragments/attributes';
     5  
     6  const { computed } = Ember;
     7  
     8  export default Fragment.extend({
     9    name: attr('string'),
    10    state: attr('string'),
    11    startedAt: attr('date'),
    12    finishedAt: attr('date'),
    13    failed: attr('boolean'),
    14  
    15    isActive: computed.none('finishedAt'),
    16  
    17    allocation: fragmentOwner(),
    18    task: computed('allocation.taskGroup.tasks.[]', function() {
    19      const tasks = this.get('allocation.taskGroup.tasks');
    20      return tasks && tasks.findBy('name', this.get('name'));
    21    }),
    22  
    23    resources: fragment('resources'),
    24    events: fragmentArray('task-event'),
    25  
    26    stateClass: computed('state', function() {
    27      const classMap = {
    28        pending: 'is-pending',
    29        running: 'is-primary',
    30        finished: 'is-complete',
    31        failed: 'is-error',
    32      };
    33  
    34      return classMap[this.get('state')] || 'is-dark';
    35    }),
    36  });