From 082db60f85964b64dc2193904038810a22dd434f Mon Sep 17 00:00:00 2001 From: TrueWinter Date: Sun, 19 Mar 2023 17:58:10 +0200 Subject: [PATCH] added callback parameter to tracking functions --- tracker/index.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/tracker/index.js b/tracker/index.js index 3edca438..c69d93d8 100644 --- a/tracker/index.js +++ b/tracker/index.js @@ -80,7 +80,7 @@ url: currentUrl, }); - const collect = (type, payload) => { + const collect = (type, payload, cb = () => {}) => { if (trackingDisabled()) return; return fetch(endpoint, { @@ -89,10 +89,11 @@ headers: assign({ 'Content-Type': 'application/json' }, { ['x-umami-cache']: cache }), }) .then(res => res.text()) - .then(text => (cache = text)); + .then(text => (cache = text)) + .finally(cb); }; - const trackView = (url = currentUrl, referrer = currentRef, websiteUuid = website) => + const trackView = (url = currentUrl, referrer = currentRef, websiteUuid = website, cb = () => {}) => collect( 'pageview', assign(getPayload(), { @@ -100,9 +101,10 @@ url, referrer, }), + cb ); - const trackEvent = (eventName, eventData, url = currentUrl, websiteUuid = website) => + const trackEvent = (eventName, eventData, url = currentUrl, websiteUuid = website, cb = () => {}) => collect( 'event', assign(getPayload(), { @@ -111,6 +113,7 @@ event_name: eventName, event_data: eventData, }), + cb ); /* Handle events */