From eb208a7e2fd020ab5d07d11cc6d52d1e3dcfcc7c Mon Sep 17 00:00:00 2001 From: Georgios Andreadis Date: Sun, 17 Sep 2017 17:55:04 +0200 Subject: Add simulation mode framework Includes object states in the store (by tick), charting, and progress bars. --- src/reducers/simulation-mode.js | 50 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 src/reducers/simulation-mode.js (limited to 'src/reducers/simulation-mode.js') diff --git a/src/reducers/simulation-mode.js b/src/reducers/simulation-mode.js new file mode 100644 index 00000000..da6aa94a --- /dev/null +++ b/src/reducers/simulation-mode.js @@ -0,0 +1,50 @@ +import {OPEN_EXPERIMENT_SUCCEEDED} from "../actions/experiments"; +import {CHANGE_LOAD_METRIC} from "../actions/simulation/load-metric"; +import {SET_PLAYING} from "../actions/simulation/playback"; +import {GO_TO_TICK, SET_LAST_SIMULATED_TICK} from "../actions/simulation/tick"; + +export function currentExperimentId(state = -1, action) { + switch (action.type) { + case OPEN_EXPERIMENT_SUCCEEDED: + return action.id; + default: + return state; + } +} + +export function currentTick(state = 0, action) { + switch (action.type) { + case GO_TO_TICK: + return action.tick; + default: + return state; + } +} + +export function loadMetric(state = "LOAD", action) { + switch (action.type) { + case CHANGE_LOAD_METRIC: + return action.metric; + default: + return state; + } +} + +export function isPlaying(state = false, action) { + switch (action.type) { + case SET_PLAYING: + return action.playing; + default: + return state; + } +} + +export function lastSimulatedTick(state = -1, action) { + switch (action.type) { + case SET_LAST_SIMULATED_TICK: + return action.tick; + default: + return state; + } +} + -- cgit v1.2.3