forked from cybrespace/mastodon
		
	Scroll to compose form when focus (#10970)
* Scroll to compose form when focus * Get rid of constructor
This commit is contained in:
		
							parent
							
								
									cac9110533
								
							
						
					
					
						commit
						8f3c32e29c
					
				
					 2 changed files with 14 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -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) => {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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…
	
	Add table
		
		Reference in a new issue