summaryrefslogtreecommitdiff
path: root/src/containers/modals
diff options
context:
space:
mode:
Diffstat (limited to 'src/containers/modals')
-rw-r--r--src/containers/modals/NewExperimentModal.js36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/containers/modals/NewExperimentModal.js b/src/containers/modals/NewExperimentModal.js
new file mode 100644
index 00000000..13aed74d
--- /dev/null
+++ b/src/containers/modals/NewExperimentModal.js
@@ -0,0 +1,36 @@
+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;