import types from '../../../mutation-types'; export const setPageFilter = ({ dispatch, filter, page, markEndReached }) => { dispatch('conversationPage/setCurrentPage', { filter, page }, { root: true }); if (markEndReached) { dispatch('conversationPage/setEndReached', { filter }, { root: true }); } }; export const setContacts = (commit, chatList) => { commit( `contacts/${types.SET_CONTACTS}`, chatList.map(chat => chat.meta.sender) ); }; export const isOnMentionsView = ({ route: { name: routeName } }) => { const MENTION_ROUTES = [ 'conversation_mentions', 'conversation_through_mentions', ]; return MENTION_ROUTES.includes(routeName); }; export const buildConversationList = ( context, requestPayload, responseData, filterType ) => { const { payload: conversationList, meta: metaData } = responseData; context.commit(types.SET_ALL_CONVERSATION, conversationList); context.dispatch('conversationStats/set', metaData); context.dispatch( 'conversationLabels/setBulkConversationLabels', conversationList ); context.commit(types.CLEAR_LIST_LOADING_STATUS); setContacts(context.commit, conversationList); setPageFilter({ dispatch: context.dispatch, filter: filterType, page: requestPayload.page, markEndReached: !conversationList.length, }); };