diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2016-09-27 17:02:30 +0200 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2016-09-27 17:02:30 +0200 |
commit | 45a96e899e96da846dbef0d39d6f02db790fccaa (patch) | |
tree | ee20a48db58ca12bd26beab6f22047e5c699e7d8 | |
parent | 4f9b7432dd4d323ac6cc4efceeae2efaffe62e7d (diff) |
Fix #58 - disable compose form while image is uploading
-rw-r--r-- | app/assets/javascripts/components/features/ui/components/compose_form.jsx | 8 | ||||
-rw-r--r-- | app/assets/javascripts/components/features/ui/containers/compose_form_container.jsx | 1 |
2 files changed, 6 insertions, 3 deletions
diff --git a/app/assets/javascripts/components/features/ui/components/compose_form.jsx b/app/assets/javascripts/components/features/ui/components/compose_form.jsx index 5542b4fb4..5b00fc1b9 100644 --- a/app/assets/javascripts/components/features/ui/components/compose_form.jsx +++ b/app/assets/javascripts/components/features/ui/components/compose_form.jsx @@ -10,6 +10,7 @@ const ComposeForm = React.createClass({ propTypes: { text: React.PropTypes.string.isRequired, is_submitting: React.PropTypes.bool, + is_uploading: React.PropTypes.bool, in_reply_to: ImmutablePropTypes.map, onChange: React.PropTypes.func.isRequired, onSubmit: React.PropTypes.func.isRequired, @@ -39,7 +40,8 @@ const ComposeForm = React.createClass({ }, render () { - let replyArea = ''; + let replyArea = ''; + const disabled = this.props.is_submitting || this.props.is_uploading; if (this.props.in_reply_to) { replyArea = <ReplyIndicator status={this.props.in_reply_to} onCancel={this.props.onCancelReply} />; @@ -49,10 +51,10 @@ const ComposeForm = React.createClass({ <div style={{ padding: '10px' }}> {replyArea} - <textarea ref='textarea' disabled={this.props.is_submitting} placeholder='What is on your mind?' value={this.props.text} onKeyUp={this.handleKeyUp} onChange={this.handleChange} className='compose-form__textarea' style={{ display: 'block', boxSizing: 'border-box', width: '100%', height: '100px', resize: 'none', border: 'none', color: '#282c37', padding: '10px', fontFamily: 'Roboto', fontSize: '14px', margin: '0' }} /> + <textarea ref='textarea' disabled={disabled} placeholder='What is on your mind?' value={this.props.text} onKeyUp={this.handleKeyUp} onChange={this.handleChange} className='compose-form__textarea' style={{ display: 'block', boxSizing: 'border-box', width: '100%', height: '100px', resize: 'none', border: 'none', color: '#282c37', padding: '10px', fontFamily: 'Roboto', fontSize: '14px', margin: '0' }} /> <div style={{ marginTop: '10px', overflow: 'hidden' }}> - <div style={{ float: 'right' }}><Button text='Publish' onClick={this.handleSubmit} disabled={this.props.is_submitting} /></div> + <div style={{ float: 'right' }}><Button text='Publish' onClick={this.handleSubmit} disabled={disabled} /></div> <div style={{ float: 'right', marginRight: '16px', lineHeight: '36px' }}><CharacterCounter max={500} text={this.props.text} /></div> </div> </div> diff --git a/app/assets/javascripts/components/features/ui/containers/compose_form_container.jsx b/app/assets/javascripts/components/features/ui/containers/compose_form_container.jsx index b9c22a19d..2427f89f0 100644 --- a/app/assets/javascripts/components/features/ui/containers/compose_form_container.jsx +++ b/app/assets/javascripts/components/features/ui/containers/compose_form_container.jsx @@ -7,6 +7,7 @@ const mapStateToProps = function (state, props) { return { text: state.getIn(['compose', 'text']), is_submitting: state.getIn(['compose', 'is_submitting']), + is_uploading: state.getIn(['compose', 'is_uploading']), in_reply_to: selectStatus(state, state.getIn(['compose', 'in_reply_to'])) }; }; |