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 }