Repository URL to install this package:
|
Version:
0.6.0 ▾
|
import getTrackingClickHandler from './getTrackingClickHandler';
/**
* Helper function to create an eventChannel that listens and reacts to click events in sagas.
* https://redux-saga.js.org/docs/advanced/Channels.html For implementation details.
* @param {Function} eventChannel provided by redux-saga
* @return {Function} serves as channel for the click events
*/
const getTrackingClickChannel = eventChannel => {
const trackingClickChannel = eventChannel(emit => {
if (typeof document === 'undefined') {
return () => {};
}
const trackingClickHandler = getTrackingClickHandler(emit);
document.body.addEventListener('click', trackingClickHandler);
return () => document.body.removeEventListener('click', trackingClickHandler);
});
return trackingClickChannel;
};
export default getTrackingClickChannel;