Browse Source

Fix ctrl+enter not submitting toot when text cursor is composing image description (#8273)

master
Spanky 5 years ago
committed by Eugen Rochko
parent
commit
7a0f781aa9
2 changed files with 18 additions and 0 deletions
  1. +13
    -0
      app/javascript/mastodon/features/compose/components/upload.js
  2. +5
    -0
      app/javascript/mastodon/features/compose/containers/upload_container.js

+ 13
- 0
app/javascript/mastodon/features/compose/components/upload.js View File

@@ -20,6 +20,7 @@ export default class Upload extends ImmutablePureComponent {
onUndo: PropTypes.func.isRequired,
onDescriptionChange: PropTypes.func.isRequired,
onOpenFocalPoint: PropTypes.func.isRequired,
onSubmit: PropTypes.func.isRequired,
};

state = {
@@ -28,6 +29,17 @@ export default class Upload extends ImmutablePureComponent {
dirtyDescription: null,
};

handleKeyDown = (e) => {
if (e.keyCode === 13 && (e.ctrlKey || e.metaKey)) {
this.handleSubmit();
}
}

handleSubmit = () => {
this.handleInputBlur();
this.props.onSubmit();
}

handleUndoClick = () => {
this.props.onUndo(this.props.media.get('id'));
}
@@ -93,6 +105,7 @@ export default class Upload extends ImmutablePureComponent {
onFocus={this.handleInputFocus}
onChange={this.handleInputChange}
onBlur={this.handleInputBlur}
onKeyDown={this.handleKeyDown}
/>
</label>
</div>


+ 5
- 0
app/javascript/mastodon/features/compose/containers/upload_container.js View File

@@ -2,6 +2,7 @@ import { connect } from 'react-redux';
import Upload from '../components/upload';
import { undoUploadCompose, changeUploadCompose } from '../../../actions/compose';
import { openModal } from '../../../actions/modal';
import { submitCompose } from '../../../actions/compose';

const mapStateToProps = (state, { id }) => ({
media: state.getIn(['compose', 'media_attachments']).find(item => item.get('id') === id),
@@ -21,6 +22,10 @@ const mapDispatchToProps = dispatch => ({
dispatch(openModal('FOCAL_POINT', { id }));
},

onSubmit () {
dispatch(submitCompose());
},

});

export default connect(mapStateToProps, mapDispatchToProps)(Upload);

Loading…
Cancel
Save