From 16e293ffab47be5f5aad32600e3ceb58863ed9f9 Mon Sep 17 00:00:00 2001 From: Harrison Healey Date: Thu, 21 Dec 2017 07:03:17 -0500 Subject: [PATCH] RN-462 Allow user and channel lists to load more than one additional page of content (#1305) * RN-462 Allow user lists to load more than one additional page of users * RN-462 Actually load more users for direct messages list * Allow loading more than one page in the More Channels modal --- app/screens/channel_add_members/channel_add_members.js | 2 +- app/screens/channel_members/channel_members.js | 2 +- app/screens/more_channels/more_channels.js | 2 +- app/screens/more_dms/more_dms.js | 4 +++- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/app/screens/channel_add_members/channel_add_members.js b/app/screens/channel_add_members/channel_add_members.js index 4ecf0f9c5..10a02fd01 100644 --- a/app/screens/channel_add_members/channel_add_members.js +++ b/app/screens/channel_add_members/channel_add_members.js @@ -184,7 +184,7 @@ class ChannelAddMembers extends PureComponent { let {page} = this.state; if (loadMoreRequestStatus !== RequestStatus.STARTED && next && !searching) { page = page + 1; - actions.getProfilesNotInChannel(currentTeam.id, currentChannel.id, page, General.PROFILE_CHUNK_SIZE).then((data) => { + actions.getProfilesNotInChannel(currentTeam.id, currentChannel.id, page, General.PROFILE_CHUNK_SIZE).then(({data}) => { if (data && data.length) { this.setState({ page diff --git a/app/screens/channel_members/channel_members.js b/app/screens/channel_members/channel_members.js index c4a747698..380690072 100644 --- a/app/screens/channel_members/channel_members.js +++ b/app/screens/channel_members/channel_members.js @@ -212,7 +212,7 @@ class ChannelMembers extends PureComponent { if (requestStatus !== RequestStatus.STARTED && next && !searching) { page = page + 1; actions.getProfilesInChannel(currentChannel.id, page, General.PROFILE_CHUNK_SIZE).then( - (data) => { + ({data}) => { if (data && data.length) { this.setState({ page diff --git a/app/screens/more_channels/more_channels.js b/app/screens/more_channels/more_channels.js index d6d58055f..36c333afa 100644 --- a/app/screens/more_channels/more_channels.js +++ b/app/screens/more_channels/more_channels.js @@ -181,7 +181,7 @@ class MoreChannels extends PureComponent { this.props.currentTeamId, page, General.CHANNELS_CHUNK_SIZE - ).then((data) => { + ).then(({data}) => { if (data && data.length) { this.setState({ page diff --git a/app/screens/more_dms/more_dms.js b/app/screens/more_dms/more_dms.js index c38681df3..6b7cceaa8 100644 --- a/app/screens/more_dms/more_dms.js +++ b/app/screens/more_dms/more_dms.js @@ -195,7 +195,7 @@ class MoreDirectMessages extends PureComponent { let {page} = this.state; if (this.props.getRequest.status !== RequestStatus.STARTED && this.state.next && !this.state.searching) { page = page + 1; - this.getProfiles(page).then((data) => { + this.getProfiles(page).then(({data}) => { if (data && data.length) { this.setState({ page @@ -420,6 +420,8 @@ class MoreDirectMessages extends PureComponent { sectionKeyExtractor={this.sectionKeyExtractor} compareItems={this.compareItems} extraData={this.state.selectedIds} + onListEndReached={this.loadMoreProfiles} + listScrollRenderAheadDistance={50} onRowPress={this.handleSelectUser} loading={isLoading} loadingText={loadingText}