From 9d119274eecc2e41e77756a7f2b889bf4db97eca Mon Sep 17 00:00:00 2001 From: Jonas Schwabe Date: Sun, 22 Jan 2017 15:33:48 +0100 Subject: [PATCH] Allow new team modal to be closed using key events --- src/browser/components/NewTeamModal.jsx | 40 +++++++++++++++++-------- 1 file changed, 28 insertions(+), 12 deletions(-) diff --git a/src/browser/components/NewTeamModal.jsx b/src/browser/components/NewTeamModal.jsx index 664a61d6..f1570802 100644 --- a/src/browser/components/NewTeamModal.jsx +++ b/src/browser/components/NewTeamModal.jsx @@ -12,10 +12,6 @@ class NewTeamModal extends React.Component { }; } - shouldComponentUpdate() { - return true; - } - getTeamNameValidationState() { return this.state.teamName.length > 0 ? '' : 'error'; } @@ -47,10 +43,35 @@ class NewTeamModal extends React.Component { this.getTeamUrlValidationState() === ''; } + save() { + if (this.validateForm()) { + this.props.onSave({ + url: this.state.teamUrl, + name: this.state.teamName + }); + } + } + render() { return ( - { + switch (e.key) { + case 'Enter': + this.save(); + + // The add button from behind this might still be focused + e.preventDefault(); + e.stopPropagation(); + break; + case 'Escape': + this.props.onClose(); + break; + } + }} > {'Add Server'} @@ -96,18 +117,13 @@ class NewTeamModal extends React.Component { >{'Cancel'} - + ); } }