summaryrefslogtreecommitdiff
path: root/src/containers/app/sidebars/simulation
diff options
context:
space:
mode:
authorGeorgios Andreadis <g.andreadis@student.tudelft.nl>2017-09-22 21:20:54 +0200
committerGeorgios Andreadis <g.andreadis@student.tudelft.nl>2017-09-23 10:06:18 +0200
commitbf7708f658cc6299a3b775afe24459b5a808c54d (patch)
tree227520267968759e2a2f1e29e6f3edfeb4e3cf8a /src/containers/app/sidebars/simulation
parente722cf117d0e3ebac20237f96764fb08cab49a62 (diff)
Restructure component and container directories
Diffstat (limited to 'src/containers/app/sidebars/simulation')
-rw-r--r--src/containers/app/sidebars/simulation/ExperimentMetadataContainer.js29
-rw-r--r--src/containers/app/sidebars/simulation/LoadMetricContainer.js14
-rw-r--r--src/containers/app/sidebars/simulation/TaskContainer.js23
-rw-r--r--src/containers/app/sidebars/simulation/TraceContainer.js22
4 files changed, 88 insertions, 0 deletions
diff --git a/src/containers/app/sidebars/simulation/ExperimentMetadataContainer.js b/src/containers/app/sidebars/simulation/ExperimentMetadataContainer.js
new file mode 100644
index 00000000..a5e403ce
--- /dev/null
+++ b/src/containers/app/sidebars/simulation/ExperimentMetadataContainer.js
@@ -0,0 +1,29 @@
+import {connect} from "react-redux";
+import ExperimentMetadataComponent from "../../../../components/app/sidebars/simulation/ExperimentMetadataComponent";
+
+const mapStateToProps = state => {
+ if (!state.objects.experiment[state.currentExperimentId]) {
+ return {
+ experimentName: "Loading experiment",
+ pathName: "",
+ traceName: "",
+ schedulerName: "",
+ }
+ }
+
+ const path = state.objects.path[state.objects.experiment[state.currentExperimentId].pathId];
+ const pathName = path.name ? path.name : "Path " + path.id;
+
+ return {
+ experimentName: state.objects.experiment[state.currentExperimentId].name,
+ pathName,
+ traceName: state.objects.trace[state.objects.experiment[state.currentExperimentId].traceId].name,
+ schedulerName: state.objects.scheduler[state.objects.experiment[state.currentExperimentId].schedulerName].name,
+ };
+};
+
+const ExperimentMetadataContainer = connect(
+ mapStateToProps
+)(ExperimentMetadataComponent);
+
+export default ExperimentMetadataContainer;
diff --git a/src/containers/app/sidebars/simulation/LoadMetricContainer.js b/src/containers/app/sidebars/simulation/LoadMetricContainer.js
new file mode 100644
index 00000000..5ce3542c
--- /dev/null
+++ b/src/containers/app/sidebars/simulation/LoadMetricContainer.js
@@ -0,0 +1,14 @@
+import {connect} from "react-redux";
+import LoadMetricComponent from "../../../../components/app/sidebars/simulation/LoadMetricComponent";
+
+const mapStateToProps = state => {
+ return {
+ loadMetric: state.loadMetric,
+ }
+};
+
+const LoadMetricContainer = connect(
+ mapStateToProps
+)(LoadMetricComponent);
+
+export default LoadMetricContainer;
diff --git a/src/containers/app/sidebars/simulation/TaskContainer.js b/src/containers/app/sidebars/simulation/TaskContainer.js
new file mode 100644
index 00000000..357bd7ed
--- /dev/null
+++ b/src/containers/app/sidebars/simulation/TaskContainer.js
@@ -0,0 +1,23 @@
+import {connect} from "react-redux";
+import TaskComponent from "../../../../components/app/sidebars/simulation/TaskComponent";
+
+const mapStateToProps = (state, ownProps) => {
+ let flopsLeft = state.objects.task[ownProps.taskId].totalFlopCount;
+
+ if (state.states.task[state.currentTick] && state.states.task[state.currentTick][ownProps.taskId]) {
+ flopsLeft = state.states.task[state.currentTick][ownProps.taskId].flopsLeft;
+ } else if (state.objects.task[ownProps.taskId].startTick < state.currentTick) {
+ flopsLeft = 0;
+ }
+
+ return {
+ task: state.objects.task[ownProps.taskId],
+ flopsLeft,
+ };
+};
+
+const TaskContainer = connect(
+ mapStateToProps
+)(TaskComponent);
+
+export default TaskContainer;
diff --git a/src/containers/app/sidebars/simulation/TraceContainer.js b/src/containers/app/sidebars/simulation/TraceContainer.js
new file mode 100644
index 00000000..7955f313
--- /dev/null
+++ b/src/containers/app/sidebars/simulation/TraceContainer.js
@@ -0,0 +1,22 @@
+import {connect} from "react-redux";
+import TraceComponent from "../../../../components/app/sidebars/simulation/TraceComponent";
+
+const mapStateToProps = state => {
+ if (!state.objects.experiment[state.currentExperimentId] ||
+ !state.objects.trace[state.objects.experiment[state.currentExperimentId].traceId].jobIds) {
+ return {
+ jobs: []
+ };
+ }
+
+ return {
+ jobs: state.objects.trace[state.objects.experiment[state.currentExperimentId].traceId].jobIds
+ .map(id => state.objects.job[id]),
+ };
+};
+
+const TraceContainer = connect(
+ mapStateToProps
+)(TraceComponent);
+
+export default TraceContainer;