in src/components/Widget/index.js [334:361]
addCustomsEventListeners(pageEventCallbacks) {
const eventsListeners = [];
pageEventCallbacks.forEach((pageEvent) => {
const { event, payload, selector } = pageEvent;
const sendPayload = () => {
this.sendMessage(payload);
};
if (event && payload && selector) {
const elemList = document.querySelectorAll(selector);
if (elemList.length > 0) {
elemList.forEach((elem) => {
eventsListeners.push({ elem, event, sendPayload });
elem.addEventListener(event, sendPayload);
});
}
}
});
const cleaner = () => {
eventsListeners.forEach((eventsListener) => {
eventsListener.elem.removeEventListener(eventsListener.event, eventsListener.sendPayload);
});
};
return cleaner;
}