added callback parameter to tracking functions

pull/1836/head
TrueWinter 2023-03-19 17:58:10 +02:00
parent 7a3443cd06
commit 082db60f85
1 changed files with 7 additions and 4 deletions

View File

@ -80,7 +80,7 @@
url: currentUrl, url: currentUrl,
}); });
const collect = (type, payload) => { const collect = (type, payload, cb = () => {}) => {
if (trackingDisabled()) return; if (trackingDisabled()) return;
return fetch(endpoint, { return fetch(endpoint, {
@ -89,10 +89,11 @@
headers: assign({ 'Content-Type': 'application/json' }, { ['x-umami-cache']: cache }), headers: assign({ 'Content-Type': 'application/json' }, { ['x-umami-cache']: cache }),
}) })
.then(res => res.text()) .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( collect(
'pageview', 'pageview',
assign(getPayload(), { assign(getPayload(), {
@ -100,9 +101,10 @@
url, url,
referrer, referrer,
}), }),
cb
); );
const trackEvent = (eventName, eventData, url = currentUrl, websiteUuid = website) => const trackEvent = (eventName, eventData, url = currentUrl, websiteUuid = website, cb = () => {}) =>
collect( collect(
'event', 'event',
assign(getPayload(), { assign(getPayload(), {
@ -111,6 +113,7 @@
event_name: eventName, event_name: eventName,
event_data: eventData, event_data: eventData,
}), }),
cb
); );
/* Handle events */ /* Handle events */