summaryrefslogtreecommitdiffstats
path: root/webapp/components/confirm_modal.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'webapp/components/confirm_modal.jsx')
-rw-r--r--webapp/components/confirm_modal.jsx20
1 files changed, 16 insertions, 4 deletions
diff --git a/webapp/components/confirm_modal.jsx b/webapp/components/confirm_modal.jsx
index 8034caf9d..05288e3ac 100644
--- a/webapp/components/confirm_modal.jsx
+++ b/webapp/components/confirm_modal.jsx
@@ -10,11 +10,21 @@ export default class ConfirmModal extends React.Component {
constructor(props) {
super(props);
- this.handleConfirm = this.handleConfirm.bind(this);
+ this.handleKeypress = this.handleKeypress.bind(this);
}
- handleConfirm() {
- this.props.onConfirm();
+ componentDidMount() {
+ document.addEventListener('keypress', this.handleKeypress);
+ }
+
+ componentWillUnmount() {
+ document.removeEventListener('keypress', this.handleKeypress);
+ }
+
+ handleKeypress(e) {
+ if (e.key === 'Enter' && this.props.show) {
+ this.props.onConfirm();
+ }
}
render() {
@@ -43,7 +53,7 @@ export default class ConfirmModal extends React.Component {
</button>
<button
type='button'
- className='btn btn-primary'
+ className={this.props.confirmButtonClass}
onClick={this.props.onConfirm}
>
{this.props.confirmButton}
@@ -57,12 +67,14 @@ export default class ConfirmModal extends React.Component {
ConfirmModal.defaultProps = {
title: '',
message: '',
+ confirmButtonClass: 'btn btn-primary',
confirmButton: ''
};
ConfirmModal.propTypes = {
show: React.PropTypes.bool.isRequired,
title: React.PropTypes.node,
message: React.PropTypes.node,
+ confirmButtonClass: React.PropTypes.string,
confirmButton: React.PropTypes.node,
onConfirm: React.PropTypes.func.isRequired,
onCancel: React.PropTypes.func.isRequired