Fix direct messages column not loading more items on scroll (#9102)
Fix #9097
This commit is contained in:
		
							parent
							
								
									a2e3401e48
								
							
						
					
					
						commit
						768b0f132d
					
				
					 2 changed files with 10 additions and 10 deletions
				
			
		| 
						 | 
				
			
			@ -9,14 +9,14 @@ import { debounce } from 'lodash';
 | 
			
		|||
export default class ConversationsList extends ImmutablePureComponent {
 | 
			
		||||
 | 
			
		||||
  static propTypes = {
 | 
			
		||||
    conversationIds: ImmutablePropTypes.list.isRequired,
 | 
			
		||||
    conversations: ImmutablePropTypes.list.isRequired,
 | 
			
		||||
    hasMore: PropTypes.bool,
 | 
			
		||||
    isLoading: PropTypes.bool,
 | 
			
		||||
    onLoadMore: PropTypes.func,
 | 
			
		||||
    shouldUpdateScroll: PropTypes.func,
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  getCurrentIndex = id => this.props.conversationIds.indexOf(id)
 | 
			
		||||
  getCurrentIndex = id => this.props.conversations.findIndex(x => x.get('id') === id)
 | 
			
		||||
 | 
			
		||||
  handleMoveUp = id => {
 | 
			
		||||
    const elementIndex = this.getCurrentIndex(id) - 1;
 | 
			
		||||
| 
						 | 
				
			
			@ -41,22 +41,22 @@ export default class ConversationsList extends ImmutablePureComponent {
 | 
			
		|||
  }
 | 
			
		||||
 | 
			
		||||
  handleLoadOlder = debounce(() => {
 | 
			
		||||
    const last = this.props.conversationIds.last();
 | 
			
		||||
    const last = this.props.conversations.last();
 | 
			
		||||
 | 
			
		||||
    if (last) {
 | 
			
		||||
      this.props.onLoadMore(last);
 | 
			
		||||
    if (last && last.get('last_status')) {
 | 
			
		||||
      this.props.onLoadMore(last.get('last_status'));
 | 
			
		||||
    }
 | 
			
		||||
  }, 300, { leading: true })
 | 
			
		||||
 | 
			
		||||
  render () {
 | 
			
		||||
    const { conversationIds, onLoadMore, ...other } = this.props;
 | 
			
		||||
    const { conversations, onLoadMore, ...other } = this.props;
 | 
			
		||||
 | 
			
		||||
    return (
 | 
			
		||||
      <ScrollableList {...other} onLoadMore={onLoadMore && this.handleLoadOlder} scrollKey='direct' ref={this.setRef}>
 | 
			
		||||
        {conversationIds.map(item => (
 | 
			
		||||
        {conversations.map(item => (
 | 
			
		||||
          <ConversationContainer
 | 
			
		||||
            key={item}
 | 
			
		||||
            conversationId={item}
 | 
			
		||||
            key={item.get('id')}
 | 
			
		||||
            conversationId={item.get('id')}
 | 
			
		||||
            onMoveUp={this.handleMoveUp}
 | 
			
		||||
            onMoveDown={this.handleMoveDown}
 | 
			
		||||
          />
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,7 +3,7 @@ import ConversationsList from '../components/conversations_list';
 | 
			
		|||
import { expandConversations } from '../../../actions/conversations';
 | 
			
		||||
 | 
			
		||||
const mapStateToProps = state => ({
 | 
			
		||||
  conversationIds: state.getIn(['conversations', 'items']).map(x => x.get('id')),
 | 
			
		||||
  conversations: state.getIn(['conversations', 'items']),
 | 
			
		||||
  isLoading: state.getIn(['conversations', 'isLoading'], true),
 | 
			
		||||
  hasMore: state.getIn(['conversations', 'hasMore'], false),
 | 
			
		||||
});
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue