summaryrefslogtreecommitdiff
path: root/frontend/src/containers/modals/NewExperimentModal.js
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/src/containers/modals/NewExperimentModal.js')
-rw-r--r--frontend/src/containers/modals/NewExperimentModal.js39
1 files changed, 39 insertions, 0 deletions
diff --git a/frontend/src/containers/modals/NewExperimentModal.js b/frontend/src/containers/modals/NewExperimentModal.js
new file mode 100644
index 00000000..c703c39a
--- /dev/null
+++ b/frontend/src/containers/modals/NewExperimentModal.js
@@ -0,0 +1,39 @@
+import { connect } from "react-redux";
+import { addExperiment } from "../../actions/experiments";
+import { closeNewExperimentModal } from "../../actions/modals/experiments";
+import NewExperimentModalComponent from "../../components/modals/custom-components/NewExperimentModalComponent";
+
+const mapStateToProps = state => {
+ return {
+ show: state.modals.newExperimentModalVisible,
+ paths: Object.values(state.objects.path).filter(
+ path => path.simulationId === state.currentSimulationId
+ ),
+ traces: Object.values(state.objects.trace),
+ schedulers: Object.values(state.objects.scheduler)
+ };
+};
+
+const mapDispatchToProps = dispatch => {
+ return {
+ callback: (name, pathId, traceId, schedulerName) => {
+ if (name) {
+ dispatch(
+ addExperiment({
+ name,
+ pathId,
+ traceId,
+ schedulerName
+ })
+ );
+ }
+ dispatch(closeNewExperimentModal());
+ }
+ };
+};
+
+const NewExperimentModal = connect(mapStateToProps, mapDispatchToProps)(
+ NewExperimentModalComponent
+);
+
+export default NewExperimentModal;