From 29ffefaea18f234fe528b0516ea5391a52bbf904 Mon Sep 17 00:00:00 2001 From: Steffen Vogel Date: Tue, 27 Nov 2018 19:20:47 +0100 Subject: [PATCH] improve sort algorithm in simulator view --- src/containers/simulators.js | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/src/containers/simulators.js b/src/containers/simulators.js index 8868c15..a716b39 100644 --- a/src/containers/simulators.js +++ b/src/containers/simulators.js @@ -44,9 +44,34 @@ class Simulators extends Component { return [ UserStore, SimulatorStore ]; } + static statePrio(state) { + switch (state) { + case 'running': + case 'starting': + return 1; + case 'paused': + case 'pausing': + case 'resuming': + return 2; + case 'idle': + return 3; + case 'shutdown': + return 4; + case 'error': + return 10; + default: + return 99; + } + } + static calculateState() { const simulators = SimulatorStore.getState().sort((a, b) => { - return a.stateUpdatedAt < b.stateUpdatedAt; + if (a.state !== b.state) + return this.statePrio(a.state) > this.statePrio(b.state); + else if (a.name !== b.name) + return a.name < b.name; + else + return a.stateUpdatedAt < b.stateUpdatedAt; }); return {