github.com/Ilhicas/nomad@v1.0.4-0.20210304152020-e86851182bc3/ui/app/models/job-summary.js (about)

     1  import { collect, sum } from '@ember/object/computed';
     2  import Model from '@ember-data/model';
     3  import { attr, belongsTo } from '@ember-data/model';
     4  import { fragmentArray } from 'ember-data-model-fragments/attributes';
     5  import sumAggregation from '../utils/properties/sum-aggregation';
     6  import classic from 'ember-classic-decorator';
     7  
     8  @classic
     9  export default class JobSummary extends Model {
    10    @belongsTo('job') job;
    11  
    12    @fragmentArray('task-group-summary') taskGroupSummaries;
    13  
    14    // Aggregate allocation counts across all summaries
    15    @sumAggregation('taskGroupSummaries', 'queuedAllocs') queuedAllocs;
    16    @sumAggregation('taskGroupSummaries', 'startingAllocs') startingAllocs;
    17    @sumAggregation('taskGroupSummaries', 'runningAllocs') runningAllocs;
    18    @sumAggregation('taskGroupSummaries', 'completeAllocs') completeAllocs;
    19    @sumAggregation('taskGroupSummaries', 'failedAllocs') failedAllocs;
    20    @sumAggregation('taskGroupSummaries', 'lostAllocs') lostAllocs;
    21  
    22    @collect(
    23      'queuedAllocs',
    24      'startingAllocs',
    25      'runningAllocs',
    26      'completeAllocs',
    27      'failedAllocs',
    28      'lostAllocs'
    29    )
    30    allocsList;
    31  
    32    @sum('allocsList') totalAllocs;
    33  
    34    @attr('number') pendingChildren;
    35    @attr('number') runningChildren;
    36    @attr('number') deadChildren;
    37  
    38    @collect('pendingChildren', 'runningChildren', 'deadChildren') childrenList;
    39  
    40    @sum('childrenList') totalChildren;
    41  }