diff --git a/app/javascript/packs/sdk.js b/app/javascript/packs/sdk.js index 66f6ba790..76e1a2cd8 100755 --- a/app/javascript/packs/sdk.js +++ b/app/javascript/packs/sdk.js @@ -31,6 +31,14 @@ const runSDK = ({ baseUrl, websiteToken }) => { IFrameHelper.events.toggleBubble(state); }, + popoutChatWindow() { + IFrameHelper.events.popoutChatWindow({ + baseUrl: window.$chatwoot.baseUrl, + websiteToken: window.$chatwoot.websiteToken, + locale: window.$chatwoot.locale, + }); + }, + setUser(identifier, user) { if (typeof identifier !== 'string' && typeof identifier !== 'number') { throw new Error('Identifier should be a string or a number'); diff --git a/app/javascript/sdk/IFrameHelper.js b/app/javascript/sdk/IFrameHelper.js index ba495bbc8..df36d8e0d 100644 --- a/app/javascript/sdk/IFrameHelper.js +++ b/app/javascript/sdk/IFrameHelper.js @@ -31,6 +31,7 @@ import { initOnEvents, } from 'shared/helpers/AudioNotificationHelper'; import { isFlatWidgetStyle } from './settingsHelper'; +import { popoutChatWindow } from '../widget/helpers/popoutHelper'; export const IFrameHelper = { getUrl({ baseUrl, websiteToken }) { @@ -190,6 +191,12 @@ export const IFrameHelper = { onBubbleClick(bubbleState); }, + popoutChatWindow: ({ baseUrl, websiteToken, locale }) => { + const cwCookie = Cookies.get('cw_conversation'); + window.$chatwoot.toggle('close'); + popoutChatWindow(baseUrl, websiteToken, locale, cwCookie); + }, + closeWindow: () => { onBubbleClick({ toggleValue: false }); removeUnreadClass(); diff --git a/app/javascript/widget/components/HeaderActions.vue b/app/javascript/widget/components/HeaderActions.vue index 4d6e5faa9..1090d54b0 100644 --- a/app/javascript/widget/components/HeaderActions.vue +++ b/app/javascript/widget/components/HeaderActions.vue @@ -29,7 +29,7 @@