Refactor media attachment detection. Solve restore focus after sensitive toggle and/or media upload

drag_drop
crockwave 2020-09-25 16:02:31 -05:00
rodzic 47eb28a95d
commit 4460aaf7d3
2 zmienionych plików z 5 dodań i 2 usunięć

Wyświetl plik

@ -54,6 +54,7 @@ class ComposeForm extends ImmutablePureComponent {
text: PropTypes.string.isRequired,
suggestions: ImmutablePropTypes.list,
spoiler: PropTypes.bool,
sensitive: PropTypes.bool,
privacy: PropTypes.string,
spoilerText: PropTypes.string,
focusDate: PropTypes.instanceOf(Date),
@ -233,7 +234,6 @@ class ComposeForm extends ImmutablePureComponent {
if (e.dataTransfer && e.dataTransfer.files.length >= 1) {
this.props.dispatch(uploadCompose(e.dataTransfer.files));
this.handleComposeFocus();
}
}
@ -290,7 +290,9 @@ class ComposeForm extends ImmutablePureComponent {
maybeUpdateFocus = prevProps => {
const spoilerUpdated = this.props.spoiler !== prevProps.spoiler;
if (spoilerUpdated) {
const sensitiveUpdated = this.props.sensitive !== prevProps.sensitive;
const mediaUpdated = this.props.anyMedia !== prevProps.anyMedia;
if (spoilerUpdated || sensitiveUpdated || mediaUpdated) {
switch (this.props.spoiler) {
case true: this.focusSpoilerInput(); break;
case false: this.focusTextarea(); break;

Wyświetl plik

@ -16,6 +16,7 @@ const mapStateToProps = state => ({
suggestions: state.getIn(['compose', 'suggestions']),
spoiler: state.getIn(['compose', 'spoiler']),
spoilerText: state.getIn(['compose', 'spoiler_text']),
sensitive: state.getIn(['compose', 'sensitive']),
privacy: state.getIn(['compose', 'privacy']),
focusDate: state.getIn(['compose', 'focusDate']),
caretPosition: state.getIn(['compose', 'caretPosition']),