escape key to cancel imageview popup

This commit is contained in:
Matthew Hodgson 2015-08-14 15:50:37 +01:00
parent 24630f598f
commit 1176168960
1 changed files with 17 additions and 0 deletions

View File

@ -24,6 +24,23 @@ module.exports = React.createClass({
displayName: 'ImageView',
mixins: [ImageViewController],
// XXX: keyboard shortcuts for managing dialogs should be done by the modal dialog base class omehow, surely...
componentDidMount: function() {
document.addEventListener("keydown", this.onKeyDown);
},
componentWillUnmount: function() {
document.removeEventListener("keydown", this.onKeyDown);
},
onKeyDown: function(ev) {
if (ev.keyCode == 27) { // escape
ev.stopPropagation();
ev.preventDefault();
this.props.onFinished();
}
},
render: function() {
// XXX: can't we just do max-width: 80%, max-height: 80% on the CSS?