forked from cybrespace/mastodon
		
	In thread view, only scroll first update, scroll to replied-to post (#5322)
This commit is contained in:
		
							parent
							
								
									6a50329a9c
								
							
						
					
					
						commit
						1823cf435a
					
				
					 1 changed files with 9 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -78,6 +78,7 @@ export default class Status extends ImmutablePureComponent {
 | 
			
		|||
 | 
			
		||||
  componentWillReceiveProps (nextProps) {
 | 
			
		||||
    if (nextProps.params.statusId !== this.props.params.statusId && nextProps.params.statusId) {
 | 
			
		||||
      this._scrolledIntoView = false;
 | 
			
		||||
      this.props.dispatch(fetchStatus(nextProps.params.statusId));
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			@ -240,11 +241,17 @@ export default class Status extends ImmutablePureComponent {
 | 
			
		|||
  }
 | 
			
		||||
 | 
			
		||||
  componentDidUpdate () {
 | 
			
		||||
    if (this._scrolledIntoView) {
 | 
			
		||||
      return;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    const { status, ancestorsIds } = this.props;
 | 
			
		||||
 | 
			
		||||
    if (status && ancestorsIds && ancestorsIds.size > 0) {
 | 
			
		||||
      const element = this.node.querySelectorAll('.focusable')[ancestorsIds.size];
 | 
			
		||||
      element.scrollIntoView();
 | 
			
		||||
      const element = this.node.querySelectorAll('.focusable')[ancestorsIds.size - 1];
 | 
			
		||||
 | 
			
		||||
      element.scrollIntoView(true);
 | 
			
		||||
      this._scrolledIntoView = true;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue