chore: Merge contact copy over information (#2812)

fixes: #2767, #2773

Co-authored-by: Nithin David <1277421+nithindavid@users.noreply.github.com>
This commit is contained in:
Sojan Jose
2021-08-31 15:30:18 +05:30
committed by GitHub
parent 1ff9939a80
commit 5319af3dfc
6 changed files with 64 additions and 15 deletions

View File

@@ -10,9 +10,22 @@ class ActionCableConnector extends BaseActionCableConnector {
'conversation.typing_off': this.onTypingOff,
'conversation.status_changed': this.onStatusChange,
'presence.update': this.onPresenceUpdate,
'contact.merged': this.onContactMerge,
};
}
static refreshConnector = pubsubToken => {
if (!pubsubToken || window.chatwootPubsubToken === pubsubToken) {
return;
}
window.chatwootPubsubToken = pubsubToken;
window.actionCable.disconnect();
window.actionCable = new ActionCableConnector(
window.WOOT_WIDGET,
window.chatwootPubsubToken
);
};
onStatusChange = data => {
this.app.$store.dispatch('conversationAttributes/update', data);
};
@@ -33,6 +46,11 @@ class ActionCableConnector extends BaseActionCableConnector {
this.app.$store.dispatch('agent/updatePresence', data.users);
};
onContactMerge = data => {
const { pubsub_token: pubsubToken } = data;
ActionCableConnector.refreshConnector(pubsubToken);
};
onTypingOn = () => {
this.clearTimer();
this.app.$store.dispatch('conversation/toggleAgentTyping', {
@@ -63,16 +81,7 @@ class ActionCableConnector extends BaseActionCableConnector {
};
}
export const refreshActionCableConnector = pubsubToken => {
if (!pubsubToken || window.chatwootPubsubToken === pubsubToken) {
return;
}
window.chatwootPubsubToken = pubsubToken;
window.actionCable.disconnect();
window.actionCable = new ActionCableConnector(
window.WOOT_WIDGET,
window.chatwootPubsubToken
);
};
export const refreshActionCableConnector =
ActionCableConnector.refreshConnector;
export default ActionCableConnector;