feat: Add chatwoot:error sdk event (#3998)

This commit is contained in:
Muhsin Keloth
2022-02-21 09:40:11 +05:30
committed by GitHub
parent 3b015d4dd8
commit 7ba24b90c4
12 changed files with 59 additions and 29 deletions

View File

@@ -23,8 +23,9 @@ import {
removeUnreadClass,
} from './bubbleHelpers';
import { dispatchWindowEvent } from 'shared/helpers/CustomEventHelper';
const EVENT_NAME = 'chatwoot:ready';
import { CHATWOOT_ERROR, CHATWOOT_READY } from '../widget/constants/sdkEvents';
import { SET_USER_ERROR } from '../widget/constants/errorTypes';
import { getUserCookieName } from './cookieHelpers';
export const IFrameHelper = {
getUrl({ baseUrl, websiteToken }) {
@@ -129,7 +130,14 @@ export const IFrameHelper = {
if (window.$chatwoot.user) {
IFrameHelper.sendMessage('set-user', window.$chatwoot.user);
}
dispatchWindowEvent(EVENT_NAME);
dispatchWindowEvent({ eventName: CHATWOOT_READY });
},
error: ({ errorType, data }) => {
dispatchWindowEvent({ eventName: CHATWOOT_ERROR, data: data });
if (errorType === SET_USER_ERROR) {
Cookies.remove(getUserCookieName());
}
},
setBubbleLabel(message) {

View File

@@ -0,0 +1,5 @@
export const getUserCookieName = () => {
const SET_USER_COOKIE_PREFIX = 'cw_user_';
const { websiteToken: websiteIdentifier } = window.$chatwoot;
return `${SET_USER_COOKIE_PREFIX}${websiteIdentifier}`;
};

View File

@@ -0,0 +1,8 @@
import { getUserCookieName } from '../cookieHelpers';
describe('#getUserCookieName', () => {
it('returns correct cookie name', () => {
global.$chatwoot = { websiteToken: '123456' };
expect(getUserCookieName()).toBe('cw_user_123456');
});
});