File: //home/arjun/projects/buyercall/buyercall/assets/vue/widgets/Inbox/store/root/mutations.js
import {
ROOT_MUTATION_SET_BREADCRUMB,
ROOT_MUTATION_SET_ERROR_MESSAGE,
ROOT_MUTATION_SET_SUCCESS_MESSAGE,
ROOT_MUTATION_SET_WINDOW_WIDTH,
ROOT_MUTATION_SET_MOBILE_SCREEN,
ROOT_MUTATION_SET_CHANNELS,
ROOT_MUTATION_SET_LEAD_DATA,
ROOT_MUTATION_SET_LEAD_DATA_REALTIME,
ROOT_MUTATION_SET_CHANNEL_TYPES,
ROOT_MUTATION_SET_LOADING_CHANNELS,
ROOT_MUTATION_SET_LOADING_LEAD_DATA,
ROOT_MUTATION_SET_LOADING_LEAD_DATA_REALTIME,
ROOT_MUTATION_SET_LOADING_CHANNEL_TYPES,
ROOT_MUTATION_SET_AGENT_DETAILS,
ROOT_MUTATION_SET_LOADING_PROFILE_DATA,
ROOT_MUTATION_SET_LOADING_LEAD_SPECIFIC_DATA,
ROOT_MUTATION_SET_LEAD_SPECIFIC_DATA_REALTIME,
ROOT_MUTATION_SET_SELECT_LEAD_ID,
ROOT_MUTATION_SET_LOADING_LEAD_SPECIFIC_DATA_HISTORY,
ROOT_MUTATION_SET_SOURCES,
ROOT_MUTATION_SET_LEAD_DRIVEN_BOX_FILTERS_DB,
ROOT_MUTATION_SET_LOADING_LEAD_CARDS_DATA_REALTIME,
ROOT_MUTATION_SET_LEAD_DRIVEN_BOX_ACTIVE_TAB,
ROOT_MUTATION_SET_INBOX_TYPE_COUNTS,
ROOT_MUTATION_CHANGE_LEAD_STATUS_LOADING,
ROOT_MUTATION_SET_LEAD_STATUS_CHANGE_TRIGGERKEY,
ROOT_MUTATION_SET_NEW_LEADS,
ROOT_MUTATION_UPDATE_INTERACTION_VISIBILITY,
ROOT_MUTATION_RESET_SELECTED_LEAD,
ROOT_MUTATION_SET_DB_FILTERED_LEADS,
ROOT_MUTATION_SET_LEAD_DB_FILTERS,
ROOT_MUTATION_SHOW_PROFILE_SCREEN,
ROOT_MUTATION_SET_SELECTED_LEAD_PROFILE_DATA,
ROOT_MUTATION_UDPATE_LEAD_DATA_LOADING,
ROOT_MUTATION_SET_CONTACT_TAGS,
ROOT_MUTATION_SET_AGENTS,
} from '../../constants';
import * as _ from 'lodash';
export default {
[ROOT_MUTATION_SET_CONTACT_TAGS](state, payload) {
state.contactTags = payload;
},
[ROOT_MUTATION_SET_AGENTS](state, payload) {
state.agents = payload;
},
[ROOT_MUTATION_UDPATE_LEAD_DATA_LOADING](state, payload) {
state.updateLeadDataLoading = payload;
},
[ROOT_MUTATION_SET_SELECTED_LEAD_PROFILE_DATA](state, payload) {
state.leadProfileData = payload;
},
[ROOT_MUTATION_SHOW_PROFILE_SCREEN](state, payload) {
state.showProfileScreen = payload;
if (!payload) {
state.leadProfileData = null;
}
},
[ROOT_MUTATION_RESET_SELECTED_LEAD](state) {
// state.loadingLeadSpecificRealTimeData: false,
// loadingLeadSpecificRealTimeDataHistory: false,
// loadingLeadRealTimeData: true,
// loadingLeadRealTimeCardsData: false,
// isSocketConnected: false,
//
state.selectedLeadID = null;
// state.leadRealTimeData = [];
// state.leadRealTimeFilters = null;
state.realTimeSeachedLeadIds = [];
state.dbFilteredLeadIds = [];
state.leadSpecificRealTimeData = [];
state.leadSpecificRealTimeDataFilters = {
sources: [],
channels: [],
};
state.leadProfileData = null;
state.leadDrivenBoxDBFilters = {
intentScore: [],
};
state.leadDrivenBoxFiltersDB = {
sort: null,
searchTerm: '',
};
},
[ROOT_MUTATION_SET_LEAD_DB_FILTERS](state, payload) {
state.leadDrivenBoxDBFilters = {
...state.leadDrivenBoxDBFilters,
...payload,
};
},
[ROOT_MUTATION_SET_DB_FILTERED_LEADS](state, payload) {
state.newdbFilteredLeadIds = payload;
},
[ROOT_MUTATION_SET_BREADCRUMB](state, payload) {
let selectedSortIndex = 1;
_.forEach(_.keys(state.breadCrumbs), k => {
if (k === payload) {
selectedSortIndex = state.breadCrumbs[k].sort;
}
});
_.forEach(_.keys(state.breadCrumbs), k => {
state.breadCrumbs[k].isVisible =
k === payload || state.breadCrumbs[k].sort < selectedSortIndex;
});
},
[ROOT_MUTATION_UPDATE_INTERACTION_VISIBILITY](state, payload) {
state.leadSpecificRealTimeData = _.map(
state.leadSpecificRealTimeData,
i => {
if (_.includes(payload, i.elastic_id)) {
if (i.agentVisibility !== undefined) {
i.agentVisibility = [
...i.agentVisibility,
state.profileData.userSid,
];
} else {
i.agentVisibility = [state.profileData.userSid];
}
}
return i;
},
);
},
[ROOT_MUTATION_SET_NEW_LEADS](state, payload) {
state.newLeads = payload;
},
[ROOT_MUTATION_SET_LEAD_STATUS_CHANGE_TRIGGERKEY](state, payload) {
state.leadStatusChanged = payload;
},
[ROOT_MUTATION_CHANGE_LEAD_STATUS_LOADING](state, payload) {
state.leadStatusChangeLoading = payload;
},
[ROOT_MUTATION_SET_ERROR_MESSAGE](state, payload) {
state.errorMessage = payload;
},
[ROOT_MUTATION_SET_INBOX_TYPE_COUNTS](state, payload) {
state.inboxTypeCount = payload;
},
[ROOT_MUTATION_SET_SUCCESS_MESSAGE](state, payload) {
state.successMessage = payload;
},
[ROOT_MUTATION_SET_WINDOW_WIDTH](state, payload) {
state.windowWidth = payload;
},
[ROOT_MUTATION_SET_MOBILE_SCREEN](state, payload) {
state.mobileSelectedScreen = payload;
},
[ROOT_MUTATION_SET_CHANNELS](state, payload) {
state.channels = payload;
},
[ROOT_MUTATION_SET_LEAD_DRIVEN_BOX_ACTIVE_TAB](state, payload) {
state.leadDrivenBoxActiveTab = payload;
},
[ROOT_MUTATION_SET_LEAD_DATA](state, payload) {
if (payload.type === 'NonFiltered') {
state.leadData = payload.data;
} else {
state.dbFilteredLeadIds = _.map(payload.data, ({ leadId }) => leadId);
}
},
[ROOT_MUTATION_SET_SOURCES](state, payload) {
state.sources = payload;
},
[ROOT_MUTATION_SET_LEAD_DATA_REALTIME](state, payload) {
state.leadRealTimeData = payload.payload;
if (payload.filters) {
state.leadRealTimeFilters = payload.filters;
}
if (payload.searchLeads) {
state.realTimeSeachedLeadIds = payload.searchLeads;
}
},
[ROOT_MUTATION_SET_CHANNEL_TYPES](state, payload) {
state.channel_types = payload;
},
[ROOT_MUTATION_SET_LOADING_CHANNELS](state, payload) {
state.loadingChannels = payload;
},
[ROOT_MUTATION_SET_LOADING_LEAD_CARDS_DATA_REALTIME](state, payload) {
state.loadingLeadRealTimeCardsData = payload;
},
[ROOT_MUTATION_SET_LOADING_LEAD_DATA](state, payload) {
state.loadingLeadData = payload;
},
[ROOT_MUTATION_SET_LOADING_LEAD_DATA_REALTIME](state, payload) {
state.loadingLeadRealTimeData = payload;
},
[ROOT_MUTATION_SET_LOADING_CHANNEL_TYPES](state, payload) {
state.loadingChannelTypes = payload;
},
[ROOT_MUTATION_SET_AGENT_DETAILS](state, payload) {
state.profileData = payload;
},
[ROOT_MUTATION_SET_LOADING_PROFILE_DATA](state, payload) {
state.loadingProfileData = payload;
},
[ROOT_MUTATION_SET_LOADING_LEAD_SPECIFIC_DATA](state, payload) {
state.loadingLeadSpecificRealTimeData = payload;
},
[ROOT_MUTATION_SET_LEAD_SPECIFIC_DATA_REALTIME](state, payload) {
if (payload.prependData !== undefined) {
state.leadSpecificRealTimeData = payload.prependData
? [...state.leadSpecificRealTimeData, ...payload.data]
: payload.data;
} else {
state.leadSpecificRealTimeData = payload;
}
if (!_.isNull(payload.aggsResp) && !_.isEmpty(payload.aggsResp)) {
console.log('payload.aggsResp', payload.aggsResp);
const labels = {
CHAT_MESSAGE: 'CHAT',
};
const sourceObject = {};
_.forEach(state.sources, s => {
sourceObject[s.id] = s.name;
});
state.leadSpecificRealTimeDataFilters.channels = _.map(
payload.aggsResp.interaction_type.buckets,
i => ({
label: `${labels[i.key] ? labels[i.key] : i.key} (${i.doc_count})`,
value: i.key,
}),
);
state.leadSpecificRealTimeDataFilters.sources = _.map(
payload.aggsResp.source.buckets,
i => ({
label: `${sourceObject[i.key] ? sourceObject[i.key] : 'Unknown'} (${
i.doc_count
})`,
value: i.key,
}),
);
// debugger;
}
},
[ROOT_MUTATION_SET_SELECT_LEAD_ID](state, payload) {
state.selectedLeadID = payload;
},
[ROOT_MUTATION_SET_LOADING_LEAD_SPECIFIC_DATA_HISTORY](state, payload) {
state.loadingLeadSpecificRealTimeDataHistory = payload;
},
[ROOT_MUTATION_SET_LEAD_DRIVEN_BOX_FILTERS_DB](state, payload) {
state.leadDrivenBoxFiltersDB = payload;
},
};