From 9839061745cc44f95e09cbc6f2984d66dd62a1b3 Mon Sep 17 00:00:00 2001 From: Michael Lange Date: Tue, 17 Oct 2017 17:48:52 -0700 Subject: [PATCH] Sort allocation by status type, not simply alphanumeric --- ui/app/models/allocation.js | 11 +++++++++++ ui/app/templates/jobs/job/task-group.hbs | 2 +- ui/app/templates/nodes/node.hbs | 2 +- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/ui/app/models/allocation.js b/ui/app/models/allocation.js index e77183202..3862c358a 100644 --- a/ui/app/models/allocation.js +++ b/ui/app/models/allocation.js @@ -10,6 +10,14 @@ import shortUUIDProperty from '../utils/properties/short-uuid'; const { computed, RSVP } = Ember; +const STATUS_ORDER = { + pending: 1, + running: 2, + complete: 3, + failed: 4, + lost: 5, +}; + export default Model.extend({ shortId: shortUUIDProperty('id'), job: belongsTo('job'), @@ -24,6 +32,9 @@ export default Model.extend({ clientStatus: attr('string'), desiredStatus: attr('string'), + statusIndex: computed('clientStatus', function() { + return STATUS_ORDER[this.get('clientStatus')] || 100; + }), taskGroup: computed('taskGroupName', 'job.taskGroups.[]', function() { const taskGroups = this.get('job.taskGroups'); diff --git a/ui/app/templates/jobs/job/task-group.hbs b/ui/app/templates/jobs/job/task-group.hbs index bb4a0ed93..c8c1ea103 100644 --- a/ui/app/templates/jobs/job/task-group.hbs +++ b/ui/app/templates/jobs/job/task-group.hbs @@ -68,7 +68,7 @@ {{#t.head}} {{#t.sort-by prop="shortId"}}ID{{/t.sort-by}} {{#t.sort-by prop="name"}}Name{{/t.sort-by}} - {{#t.sort-by prop="clientStatus"}}Status{{/t.sort-by}} + {{#t.sort-by prop="statusIndex"}}Status{{/t.sort-by}} {{#t.sort-by prop="node.shortId"}}Node{{/t.sort-by}} CPU Memory diff --git a/ui/app/templates/nodes/node.hbs b/ui/app/templates/nodes/node.hbs index 0fb81d11e..dc0110690 100644 --- a/ui/app/templates/nodes/node.hbs +++ b/ui/app/templates/nodes/node.hbs @@ -41,7 +41,7 @@ {{#t.head}} {{#t.sort-by prop="shortId"}}ID{{/t.sort-by}} {{#t.sort-by prop="name"}}Name{{/t.sort-by}} - {{#t.sort-by prop="clientStatus"}}Status{{/t.sort-by}} + {{#t.sort-by prop="statusIndex"}}Status{{/t.sort-by}} {{#t.sort-by prop="job.name"}}Job{{/t.sort-by}} CPU Memory