Fixed issue with pagination of ChatConversations

• Fixed:
- issue with pagination of ChatConversations
This commit is contained in:
mgabdev
2020-12-31 20:51:02 -05:00
parent 4297e1f81a
commit 4d2a4cc44d
5 changed files with 23 additions and 13 deletions

View File

@@ -49,18 +49,22 @@ const initialState = ImmutableMap({
const normalizeList = (state, source, chatConversations, next) => {
return state.update(source, listMap => listMap.withMutations(map => {
const items = Array.isArray(chatConversations) ? ImmutableList(chatConversations.map(chatConversation => chatConversation.chat_conversation_id)) : ImmutableList()
map.set('next', next)
map.set('loaded', true)
map.set('isLoading', false)
map.set('items', ImmutableList(chatConversations.map(chatConversation => chatConversation.chat_conversation_id)))
map.set('items', items)
}))
}
const appendToList = (state, source, chatConversations, next) => {
return state.update(source, listMap => listMap.withMutations(map => {
const items = Array.isArray(chatConversations) ? chatConversations.map(chatConversation => chatConversation.chat_conversation_id) : []
map.set('next', next)
map.set('isLoading', false)
map.set('items', map.get('items').concat(chatConversations.map(chatConversation => chatConversation.chat_conversation_id)))
map.set('items', map.get('items').concat(items))
}))
}

View File

@@ -41,6 +41,8 @@ const setLastChatMessage = (state, chatMessage) => {
const importChatConversation = (state, chatConversation) => state.set(chatConversation.chat_conversation_id, normalizeChatConversation(chatConversation))
const importChatConversations = (state, chatConversations) => {
if (!Array.isArray(chatConversations)) return state
return state.withMutations((mutable) => chatConversations.forEach((chatConversation) => importChatConversation(mutable, chatConversation)))
}