summaryrefslogtreecommitdiff
path: root/frontend/src/components/experiments/ExperimentRowComponent.js
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/src/components/experiments/ExperimentRowComponent.js')
-rw-r--r--frontend/src/components/experiments/ExperimentRowComponent.js40
1 files changed, 40 insertions, 0 deletions
diff --git a/frontend/src/components/experiments/ExperimentRowComponent.js b/frontend/src/components/experiments/ExperimentRowComponent.js
new file mode 100644
index 00000000..e71c6a00
--- /dev/null
+++ b/frontend/src/components/experiments/ExperimentRowComponent.js
@@ -0,0 +1,40 @@
+import PropTypes from "prop-types";
+import React from "react";
+import { Link } from "react-router-dom";
+import Shapes from "../../shapes/index";
+
+const ExperimentRowComponent = ({ experiment, simulationId, onDelete }) => (
+ <tr>
+ <td className="pt-3">{experiment.name}</td>
+ <td className="pt-3">
+ {experiment.path.name
+ ? experiment.path.name
+ : "Path " + experiment.path.id}
+ </td>
+ <td className="pt-3">{experiment.trace.name}</td>
+ <td className="pt-3">{experiment.scheduler.name}</td>
+ <td className="text-right">
+ <Link
+ to={"/simulations/" + simulationId + "/experiments/" + experiment.id}
+ className="btn btn-outline-primary btn-sm mr-2"
+ title="Open this experiment"
+ >
+ <span className="fa fa-play" />
+ </Link>
+ <div
+ className="btn btn-outline-danger btn-sm"
+ title="Delete this experiment"
+ onClick={() => onDelete(experiment.id)}
+ >
+ <span className="fa fa-trash" />
+ </div>
+ </td>
+ </tr>
+);
+
+ExperimentRowComponent.propTypes = {
+ experiment: Shapes.Experiment.isRequired,
+ simulationId: PropTypes.number.isRequired
+};
+
+export default ExperimentRowComponent;