mirror of
				https://github.com/mastodon/mastodon.git
				synced 2025-10-31 13:18:18 +00:00 
			
		
		
		
	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
					
				|  | @ -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…
	
		Reference in New Issue
	
	Block a user
	 Jeong Arm
						Jeong Arm