Merge pull request #479 from ThibG/glitch-soc/fixes/modal-root-keyup

Fix root modal's keyup handling (Fixes #478)
signup-info-prompt
ThibG 2018-05-11 23:04:12 +02:00 committed by GitHub
commit bd4decb7db
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
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} />}