From fb2f3ff89fc9358e103d7fe2caae270ecfd7b5ce Mon Sep 17 00:00:00 2001 From: Muhsin Keloth Date: Tue, 15 Jun 2021 20:09:42 +0530 Subject: [PATCH] feat: Create campaign conversation only if user interacts with the bubble (#2335) Co-authored-by: Pranav Raj S --- app/javascript/sdk/IFrameHelper.js | 10 +++++ app/javascript/widget/App.vue | 38 ++++++++++++++++++- app/javascript/widget/api/campaign.js | 3 +- .../widget/components/UnreadMessage.vue | 15 +++++++- .../widget/helpers/campaignTimer.js | 5 +-- .../widget/store/modules/campaign.js | 25 +++++++++++- .../store/modules/conversation/getters.js | 3 ++ .../modules/specs/campaign/actions.spec.js | 36 ++++++++++++++++-- .../modules/specs/campaign/getters.spec.js | 36 ++++++++++++++++++ .../modules/specs/campaign/mutations.spec.js | 10 ++++- .../specs/conversation/getters.spec.js | 11 ++++++ app/javascript/widget/views/Router.vue | 13 ++++++- app/javascript/widget/views/Unread.vue | 22 ++++++++++- .../v1/widget/campaigns/index.json.jbuilder | 2 + 14 files changed, 211 insertions(+), 18 deletions(-) diff --git a/app/javascript/sdk/IFrameHelper.js b/app/javascript/sdk/IFrameHelper.js index 8c02491e9..b15516017 100644 --- a/app/javascript/sdk/IFrameHelper.js +++ b/app/javascript/sdk/IFrameHelper.js @@ -156,6 +156,16 @@ export const IFrameHelper = { } }, + setCampaignMode: () => { + const { isOpen } = window.$chatwoot; + const toggleValue = true; + if (!isOpen) { + onBubbleClick({ toggleValue }); + const holderEl = document.querySelector('.woot-widget-holder'); + addClass(holderEl, 'has-unread-view'); + } + }, + resetUnreadMode: () => { IFrameHelper.sendMessage('unset-unread-view'); IFrameHelper.events.removeUnreadClass(); diff --git a/app/javascript/widget/App.vue b/app/javascript/widget/App.vue index df1341f2c..b7d67dad8 100755 --- a/app/javascript/widget/App.vue +++ b/app/javascript/widget/App.vue @@ -1,6 +1,7 @@