fix(form): support cmd+enter and not optimistic submission on all enter

This commit is contained in:
Evan Morikawa 2016-11-04 11:12:27 -07:00
parent 5a2ec1c3f6
commit c3cd67257a
2 changed files with 11 additions and 4 deletions

View file

@ -326,10 +326,11 @@ class GeneratedForm extends React.Component
@defaultProps:
style: {}
onSubmit: () ->
render: =>
submitTxt = if @props.formType is "new" then "Submit" else "Update"
<form className="generated-form" ref="form" style={this.props.style} onSubmit={this.props.onSubmit}>
submitText = if @props.formType is "new" then "Submit" else "Update"
<form className="generated-form" ref="form" style={this.props.style} onSubmit={this.props.onSubmit} onKeyDown={this._onKeyDown} noValidate>
<TabGroupRegion>
{@_renderHeaderFormError()}
{@_renderPrefilledMessage()}
@ -337,7 +338,9 @@ class GeneratedForm extends React.Component
{@_renderFieldsets()}
</div>
<div className="form-footer">
<input type="submit" value={submitTxt} className="btn btn-emphasis" />
<button type="button" className="btn btn-emphasis" onClick={this.props.onSubmit}>
{submitText}
</button>
</div>
</TabGroupRegion>
</form>
@ -349,6 +352,10 @@ class GeneratedForm extends React.Component
if !prevProps.errors?.formError and @props.errors?.formError
ReactDOM.findDOMNode(@refs.formHeaderError).scrollIntoView(true)
_onKeyDown: (event) =>
if event.key is "Enter" && (event.metaKey || event.ctrlKey)
this.props.onSubmit(event)
_renderPrefilledMessage: =>
if @props.prefilled
<div className="prefilled-message">

@ -1 +1 @@
Subproject commit de1ecaf2c574d3f109afa9707cf8c7a1d15a4bcc
Subproject commit 954a42adc4156df4ef01edff62644e96fe464ee6