File: //home/arjun/projects/buyercall/buyercall/assets/vue/widgets/ChannelsNew/store/root/actions.js
import {
ROOT_ACTION_GET_AGENTS,
ROOT_ACTION_GET_CHANNEL_META,
ROOT_ACTION_GET_SOURCES,
ROOT_ACTION_RESET_SUCCESS_AND_ERROR_MESSAGE,
ROOT_ACTION_SET_BREADCRUMB,
ROOT_ACTION_SET_ERROR_MESSAGE,
ROOT_ACTION_SET_SUCCESS_MESSAGE,
ROOT_ACTION_SET_WINDOW_WIDTH,
ROOT_MUTATION_GET_CHANNEL_META_LOADING,
ROOT_MUTATION_SET_AGENTS,
ROOT_MUTATION_SET_AGENTS_LOADING,
ROOT_MUTATION_SET_BREADCRUMB,
ROOT_MUTATION_SET_CHANNEL_META,
ROOT_MUTATION_SET_ERROR_MESSAGE,
ROOT_MUTATION_SET_SOURCES,
ROOT_MUTATION_SET_SOURCES_LOADING,
ROOT_MUTATION_SET_SUCCESS_MESSAGE,
ROOT_MUTATION_SET_WINDOW_WIDTH,
ROOT_GETTER,
ROOT_MUTATION_SET_PAGE_VIEW_MODE,
} from '../../constants';
import SourceService from '../../../../service/source';
import ChannelService from '../../../../service/channelService';
import _ from 'lodash';
export default {
[ROOT_ACTION_SET_BREADCRUMB]({ commit, getters }, payload) {
commit(ROOT_MUTATION_SET_PAGE_VIEW_MODE, payload);
let visibleBreadcrumbs = ['home'];
const newBreadCrumb = getters[ROOT_GETTER].breadCrumbs;
switch (payload) {
case 'channel-meta':
visibleBreadcrumbs = [...visibleBreadcrumbs, 'channel-meta'];
break;
case 'phone-channel-list':
visibleBreadcrumbs = [
...visibleBreadcrumbs,
'channel-meta',
'phone-channel-list',
];
break;
case 'chat-channel-list':
visibleBreadcrumbs = [
...visibleBreadcrumbs,
'channel-meta',
'chat-channel-list',
];
break;
case 'email-channel-list':
visibleBreadcrumbs = [
...visibleBreadcrumbs,
'channel-meta',
'email-channel-list',
];
break;
case 'phone-channel-edit':
visibleBreadcrumbs = [
...visibleBreadcrumbs,
'channel-meta',
'phone-channel-list',
'phone-channel-edit',
];
break;
case 'chat-channel-edit':
visibleBreadcrumbs = [
...visibleBreadcrumbs,
'channel-meta',
'chat-channel-list',
'chat-channel-edit',
];
break;
case 'email-channel-edit':
visibleBreadcrumbs = [
...visibleBreadcrumbs,
'channel-meta',
'email-channel-list',
'email-channel-edit',
];
break;
// //reset source
// commit(`source/${SOURCE_MUTATION_RESET}`, false, {
// root: true,
// });
// commit(ROOT_MUTATION_SELECT_SOURCE, null);
// // reset phone widget
// commit(
// `phonewidget/${PHONEWIDGET_MUTATION_RESET_PHONE_WIDGET}`,
// false,
// {
// root: true,
// },
// );
// break;
// case 'source-add':
// //reset source
// commit(`source/${SOURCE_MUTATION_RESET}`, false, {
// root: true,
// });
// // reset phone widget
// commit(
// `phonewidget/${PHONEWIDGET_MUTATION_RESET_PHONE_WIDGET}`,
// false,
// {
// root: true,
// },
// );
// commit(ROOT_MUTATION_SELECT_SOURCE, null);
// break;
// case 'source-edit':
// // reset phone widget
// commit(
// `phonewidget/${PHONEWIDGET_MUTATION_RESET_PHONE_WIDGET}`,
// false,
// {
// root: true,
// },
// );
// break;
}
_.forEach(_.keys(newBreadCrumb), k => {
if (_.includes(visibleBreadcrumbs, k)) {
newBreadCrumb[k].isVisible = true;
} else {
newBreadCrumb[k].isVisible = false;
}
});
commit(ROOT_MUTATION_SET_BREADCRUMB, newBreadCrumb);
},
async [ROOT_ACTION_GET_CHANNEL_META]({ commit, getters }) {
commit(ROOT_MUTATION_GET_CHANNEL_META_LOADING, true);
const {
data: { data, message, success },
} = await ChannelService.getChannelsMeta();
if (!success) {
commit(ROOT_MUTATION_SET_ERROR_MESSAGE, message);
} else {
commit(
ROOT_MUTATION_SET_CHANNEL_META,
_.map(getters[ROOT_GETTER].availableBCSourceChannels, r => ({
...r,
count: data[r.name] ? data[r.name] : 0,
})),
);
}
commit(ROOT_MUTATION_GET_CHANNEL_META_LOADING, false);
},
async [ROOT_ACTION_GET_SOURCES]({ commit }) {
commit(ROOT_MUTATION_SET_SOURCES_LOADING, true);
const {
data: { data, message, success },
} = await SourceService.getSources();
if (!success) {
commit(ROOT_MUTATION_SET_ERROR_MESSAGE, message);
} else {
commit(
ROOT_MUTATION_SET_SOURCES,
_.map(data, d => ({
...d,
createdOn: moment(d.created_at).format('MMM Do'),
updatedOn: moment(d.updated_at).format('MMM Do'),
})),
);
}
commit(ROOT_MUTATION_SET_SOURCES_LOADING, false);
},
async [ROOT_ACTION_GET_AGENTS]({ commit }) {
commit(ROOT_MUTATION_SET_AGENTS_LOADING, true);
const {
data: { data, message, success },
} = await SourceService.getAgents();
if (!success) {
commit(ROOT_MUTATION_SET_ERROR_MESSAGE, message);
} else {
commit(ROOT_MUTATION_SET_AGENTS, data);
}
commit(ROOT_MUTATION_SET_AGENTS_LOADING, false);
},
[ROOT_ACTION_RESET_SUCCESS_AND_ERROR_MESSAGE]({ commit }) {
commit(ROOT_MUTATION_SET_ERROR_MESSAGE, null);
commit(ROOT_MUTATION_SET_SUCCESS_MESSAGE, null);
},
[ROOT_ACTION_SET_SUCCESS_MESSAGE]({ commit }, payload) {
commit(ROOT_MUTATION_SET_SUCCESS_MESSAGE, payload);
},
[ROOT_ACTION_SET_ERROR_MESSAGE]({ commit }, payload) {
commit(ROOT_MUTATION_SET_ERROR_MESSAGE, payload);
},
[ROOT_ACTION_SET_WINDOW_WIDTH]({ commit }, payload) {
commit(ROOT_MUTATION_SET_WINDOW_WIDTH, payload);
},
};