summaryrefslogtreecommitdiff
path: root/src/actions
diff options
context:
space:
mode:
authorGeorgios Andreadis <g.andreadis@student.tudelft.nl>2017-09-17 17:55:04 +0200
committerGeorgios Andreadis <g.andreadis@student.tudelft.nl>2017-09-23 10:06:03 +0200
commiteb208a7e2fd020ab5d07d11cc6d52d1e3dcfcc7c (patch)
treed2ec8a20408b7b2880e62feaa70fe95a78c484dd /src/actions
parent326b74fc39f63f47c71359276601ea93f7345dc6 (diff)
Add simulation mode framework
Includes object states in the store (by tick), charting, and progress bars.
Diffstat (limited to 'src/actions')
-rw-r--r--src/actions/experiments.js8
-rw-r--r--src/actions/simulation/load-metric.js8
-rw-r--r--src/actions/simulation/playback.js15
-rw-r--r--src/actions/simulation/tick.js23
-rw-r--r--src/actions/states.js10
5 files changed, 64 insertions, 0 deletions
diff --git a/src/actions/experiments.js b/src/actions/experiments.js
index b067f5d9..c7cc7e24 100644
--- a/src/actions/experiments.js
+++ b/src/actions/experiments.js
@@ -1,6 +1,7 @@
export const FETCH_EXPERIMENTS_OF_SIMULATION = "FETCH_EXPERIMENTS_OF_SIMULATION";
export const ADD_EXPERIMENT = "ADD_EXPERIMENT";
export const DELETE_EXPERIMENT = "DELETE_EXPERIMENT";
+export const OPEN_EXPERIMENT_SUCCEEDED = "OPEN_EXPERIMENT_SUCCEEDED";
export function fetchExperimentsOfSimulation(simulationId) {
return {
@@ -22,3 +23,10 @@ export function deleteExperiment(id) {
id
};
}
+
+export function openExperimentSucceeded(id) {
+ return {
+ type: OPEN_EXPERIMENT_SUCCEEDED,
+ id
+ }
+}
diff --git a/src/actions/simulation/load-metric.js b/src/actions/simulation/load-metric.js
new file mode 100644
index 00000000..e426a7d2
--- /dev/null
+++ b/src/actions/simulation/load-metric.js
@@ -0,0 +1,8 @@
+export const CHANGE_LOAD_METRIC = "CHANGE_LOAD_METRIC";
+
+export function changeLoadMetric(metric) {
+ return {
+ type: CHANGE_LOAD_METRIC,
+ metric
+ };
+}
diff --git a/src/actions/simulation/playback.js b/src/actions/simulation/playback.js
new file mode 100644
index 00000000..bddb9a0a
--- /dev/null
+++ b/src/actions/simulation/playback.js
@@ -0,0 +1,15 @@
+export const SET_PLAYING = "SET_PLAYING";
+
+export function playSimulation() {
+ return {
+ type: SET_PLAYING,
+ playing: true
+ }
+}
+
+export function pauseSimulation() {
+ return {
+ type: SET_PLAYING,
+ playing: false
+ }
+}
diff --git a/src/actions/simulation/tick.js b/src/actions/simulation/tick.js
new file mode 100644
index 00000000..68f226d7
--- /dev/null
+++ b/src/actions/simulation/tick.js
@@ -0,0 +1,23 @@
+export const GO_TO_TICK = "GO_TO_TICK";
+export const SET_LAST_SIMULATED_TICK = "SET_LAST_SIMULATED_TICK";
+
+export function incrementTick() {
+ return (dispatch, getState) => {
+ const {currentTick} = getState();
+ dispatch(goToTick(currentTick + 1));
+ }
+}
+
+export function goToTick(tick) {
+ return {
+ type: GO_TO_TICK,
+ tick
+ }
+}
+
+export function setLastSimulatedTick(tick) {
+ return {
+ type: SET_LAST_SIMULATED_TICK,
+ tick
+ }
+}
diff --git a/src/actions/states.js b/src/actions/states.js
new file mode 100644
index 00000000..6887a1b3
--- /dev/null
+++ b/src/actions/states.js
@@ -0,0 +1,10 @@
+export const ADD_TO_STATES = "ADD_TO_STATES";
+
+export function addToStates(objectType, tick, object) {
+ return {
+ type: ADD_TO_STATES,
+ objectType,
+ tick,
+ object
+ };
+}