4297de34cf
There is no reason to disable the composer textarea when some media metadata is being modified, nor is there any reason to focus the textarea when some media metadata has been modified (prevents clicking one image's description field right after having modified another).
68 lines
2.0 KiB
JavaScript
68 lines
2.0 KiB
JavaScript
import { connect } from 'react-redux';
|
|
import ComposeForm from '../components/compose_form';
|
|
import { uploadCompose } from '../../../actions/compose';
|
|
import {
|
|
changeCompose,
|
|
submitCompose,
|
|
clearComposeSuggestions,
|
|
fetchComposeSuggestions,
|
|
selectComposeSuggestion,
|
|
changeComposeSpoilerText,
|
|
insertEmojiCompose,
|
|
} from '../../../actions/compose';
|
|
|
|
const mapStateToProps = state => ({
|
|
text: state.getIn(['compose', 'text']),
|
|
suggestion_token: state.getIn(['compose', 'suggestion_token']),
|
|
suggestions: state.getIn(['compose', 'suggestions']),
|
|
spoiler: state.getIn(['compose', 'spoiler']),
|
|
spoiler_text: state.getIn(['compose', 'spoiler_text']),
|
|
privacy: state.getIn(['compose', 'privacy']),
|
|
focusDate: state.getIn(['compose', 'focusDate']),
|
|
caretPosition: state.getIn(['compose', 'caretPosition']),
|
|
preselectDate: state.getIn(['compose', 'preselectDate']),
|
|
is_submitting: state.getIn(['compose', 'is_submitting']),
|
|
is_changing_upload: state.getIn(['compose', 'is_changing_upload']),
|
|
is_uploading: state.getIn(['compose', 'is_uploading']),
|
|
showSearch: state.getIn(['search', 'submitted']) && !state.getIn(['search', 'hidden']),
|
|
anyMedia: state.getIn(['compose', 'media_attachments']).size > 0,
|
|
});
|
|
|
|
const mapDispatchToProps = (dispatch) => ({
|
|
|
|
onChange (text) {
|
|
dispatch(changeCompose(text));
|
|
},
|
|
|
|
onSubmit (router) {
|
|
dispatch(submitCompose(router));
|
|
},
|
|
|
|
onClearSuggestions () {
|
|
dispatch(clearComposeSuggestions());
|
|
},
|
|
|
|
onFetchSuggestions (token) {
|
|
dispatch(fetchComposeSuggestions(token));
|
|
},
|
|
|
|
onSuggestionSelected (position, token, accountId) {
|
|
dispatch(selectComposeSuggestion(position, token, accountId));
|
|
},
|
|
|
|
onChangeSpoilerText (checked) {
|
|
dispatch(changeComposeSpoilerText(checked));
|
|
},
|
|
|
|
onPaste (files) {
|
|
dispatch(uploadCompose(files));
|
|
},
|
|
|
|
onPickEmoji (position, data, needsSpace) {
|
|
dispatch(insertEmojiCompose(position, data, needsSpace));
|
|
},
|
|
|
|
});
|
|
|
|
export default connect(mapStateToProps, mapDispatchToProps)(ComposeForm);
|