Преглед изворни кода

Scroll to compose form when focus (#10970)

* Scroll to compose form when focus

* Get rid of constructor
master^2
Jeong Arm пре 5 година
committed by Eugen Rochko
родитељ
комит
8f3c32e29c
2 измењених фајлова са 14 додато и 2 уклоњено
  1. +4
    -1
      app/javascript/mastodon/components/autosuggest_textarea.js
  2. +10
    -1
      app/javascript/mastodon/features/compose/components/compose_form.js

+ 4
- 1
app/javascript/mastodon/components/autosuggest_textarea.js Прегледај датотеку

@@ -138,8 +138,11 @@ export default class AutosuggestTextarea extends ImmutablePureComponent {
this.setState({ suggestionsHidden: true, focused: false });
}

onFocus = () => {
onFocus = (e) => {
this.setState({ focused: true });
if (this.props.onFocus) {
this.props.onFocus(e);
}
}

onSuggestionClick = (e) => {


+ 10
- 1
app/javascript/mastodon/features/compose/components/compose_form.js Прегледај датотеку

@@ -33,6 +33,10 @@ const messages = defineMessages({
export default @injectIntl
class ComposeForm extends ImmutablePureComponent {

setRef = c => {
this.composeForm = c;
};

static contextTypes = {
router: PropTypes.object,
};
@@ -114,6 +118,10 @@ class ComposeForm extends ImmutablePureComponent {
this.props.onChangeSpoilerText(e.target.value);
}

handleFocus = () => {
this.composeForm.scrollIntoView();
}

componentDidUpdate (prevProps) {
// This statement does several things:
// - If we're beginning a reply, and,
@@ -177,7 +185,7 @@ class ComposeForm extends ImmutablePureComponent {
}

return (
<div className='compose-form'>
<div className='compose-form' ref={this.setRef}>
<WarningContainer />

<ReplyIndicatorContainer />
@@ -211,6 +219,7 @@ class ComposeForm extends ImmutablePureComponent {
value={this.props.text}
onChange={this.handleChange}
suggestions={this.props.suggestions}
onFocus={this.handleFocus}
onKeyDown={this.handleKeyDown}
onSuggestionsFetchRequested={this.onSuggestionsFetchRequested}
onSuggestionsClearRequested={this.onSuggestionsClearRequested}


Loading…
Откажи
Сачувај