85b52a1d3f
Co-authored-by: Pranav Raj S <pranav@chatwoot.com>
54 lines
1.5 KiB
JavaScript
54 lines
1.5 KiB
JavaScript
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 isOnUnattendedView = ({ route: { name: routeName } }) => {
|
|
const UNATTENDED_ROUTES = [
|
|
'conversation_unattended',
|
|
'conversation_through_unattended',
|
|
];
|
|
return UNATTENDED_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,
|
|
});
|
|
};
|