Chatwoot/app/javascript/widget/helpers/campaignTimer.js
Sivin Varghese 2c3e37b157
fix: Disable triggering disabled ongoing campaigns (#3115)
* fixes: Triggering disabled ongoing campaigns.

* Fix the specs

Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
2021-10-11 18:18:11 +05:30

24 lines
644 B
JavaScript

import store from '../store';
class CampaignTimer {
constructor() {
this.campaignTimers = [];
}
initTimers = ({ campaigns }, websiteToken) => {
this.clearTimers();
campaigns.forEach(campaign => {
const { timeOnPage, id: campaignId } = campaign;
this.campaignTimers[campaignId] = setTimeout(() => {
store.dispatch('campaign/startCampaign', { campaignId, websiteToken });
}, timeOnPage * 1000);
});
};
clearTimers = () => {
this.campaignTimers.forEach(timerId => {
clearTimeout(timerId);
this.campaignTimers[timerId] = null;
});
};
}
export default new CampaignTimer();