Fix root modal's keyup handling (Fixes #478)

remotes/1727458204337373841/tmp_refs/heads/signup-info-prompt
Thibaut Girka 2018-05-11 22:42:32 +02:00
parent 34142ab29c
commit 769a48495c
2 changed files with 3 additions and 2 deletions

View File

@ -6,6 +6,7 @@ export default class ModalRoot extends React.PureComponent {
static propTypes = {
children: PropTypes.node,
onClose: PropTypes.func.isRequired,
noEsc: PropTypes.bool,
};
state = {
@ -16,7 +17,7 @@ export default class ModalRoot extends React.PureComponent {
handleKeyUp = (e) => {
if ((e.key === 'Escape' || e.key === 'Esc' || e.keyCode === 27)
&& !!this.props.children && !this.props.props.noEsc) {
&& !!this.props.children && !this.props.noEsc) {
this.props.onClose();
}
}

View File

@ -59,7 +59,7 @@ export default class ModalRoot extends React.PureComponent {
const visible = !!type;
return (
<Base onClose={onClose}>
<Base onClose={onClose} noEsc={props.noEsc}>
{visible && (
<BundleContainer fetchComponent={MODAL_COMPONENTS[type]} loading={this.renderLoading(type)} error={this.renderError} renderDelay={200}>
{(SpecificComponent) => <SpecificComponent {...props} onClose={onClose} />}