aboutsummaryrefslogtreecommitdiffstats
path: root/web/src/js/components/FlowView/ToggleEdit.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'web/src/js/components/FlowView/ToggleEdit.jsx')
-rw-r--r--web/src/js/components/FlowView/ToggleEdit.jsx38
1 files changed, 38 insertions, 0 deletions
diff --git a/web/src/js/components/FlowView/ToggleEdit.jsx b/web/src/js/components/FlowView/ToggleEdit.jsx
new file mode 100644
index 00000000..0c8cbbd8
--- /dev/null
+++ b/web/src/js/components/FlowView/ToggleEdit.jsx
@@ -0,0 +1,38 @@
+import React, { PropTypes, Component } from 'react'
+import { connect } from 'react-redux'
+
+import { startEdit, stopEdit } from '../../ducks/ui/flow'
+
+ToggleEdit.propTypes = {
+ isEdit: PropTypes.bool.isRequired,
+ flow: PropTypes.object.isRequired,
+ startEdit: PropTypes.func.isRequired,
+ stopEdit: PropTypes.func.isRequired,
+}
+
+function ToggleEdit({ isEdit, startEdit, stopEdit, flow }) {
+ return (
+ <div className="edit-flow-container">
+ {isEdit ?
+ <a className="edit-flow" onClick={() => stopEdit(flow)}>
+ <i className="fa fa-check"/>
+ </a>
+ :
+ <a className="edit-flow" onClick={() => startEdit(flow)}>
+ <i className="fa fa-pencil"/>
+ </a>
+ }
+ </div>
+ )
+}
+
+export default connect(
+ state => ({
+ isEdit: !!state.ui.flow.modifiedFlow,
+ flow: state.ui.flow.modifiedFlow || state.flows.byId[state.flows.selected[0]]
+ }),
+ {
+ startEdit,
+ stopEdit,
+ }
+)(ToggleEdit)