diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-04-20 18:20:09 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-04-20 18:20:09 +0300 |
commit | da23c5d563d68bfa5271b216209a7715c7ce3073 (patch) | |
tree | ea829aa79f715b98c440d6bf3767328b4fc4f750 /app/assets/javascripts/entrypoints | |
parent | 2366f969a4b3a95e052e551cc7283a2db8d5562e (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/assets/javascripts/entrypoints')
-rw-r--r-- | app/assets/javascripts/entrypoints/tracker.js | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/app/assets/javascripts/entrypoints/tracker.js b/app/assets/javascripts/entrypoints/tracker.js new file mode 100644 index 00000000000..91d19d249b3 --- /dev/null +++ b/app/assets/javascripts/entrypoints/tracker.js @@ -0,0 +1,50 @@ +import { + newTracker, + enableActivityTracking, + trackPageView, + setDocumentTitle, + trackStructEvent, + setCustomUrl, + setReferrerUrl, +} from '@snowplow/browser-tracker'; +import { + enableLinkClickTracking, + LinkClickTrackingPlugin, +} from '@snowplow/browser-plugin-link-click-tracking'; +import { enableFormTracking, FormTrackingPlugin } from '@snowplow/browser-plugin-form-tracking'; +import { TimezonePlugin } from '@snowplow/browser-plugin-timezone'; +import { GaCookiesPlugin } from '@snowplow/browser-plugin-ga-cookies'; +import { PerformanceTimingPlugin } from '@snowplow/browser-plugin-performance-timing'; +import { ClientHintsPlugin } from '@snowplow/browser-plugin-client-hints'; + +const SNOWPLOW_ACTIONS = { + newTracker, + enableActivityTracking, + trackPageView, + setDocumentTitle, + trackStructEvent, + enableLinkClickTracking, + enableFormTracking, + setCustomUrl, + setReferrerUrl, +}; + +window.snowplow = (action, ...config) => { + if (SNOWPLOW_ACTIONS[action]) { + SNOWPLOW_ACTIONS[action](...config); + } else { + // eslint-disable-next-line no-console, @gitlab/require-i18n-strings + console.warn('Unsupported snowplow action:', action); + } +}; + +window.snowplowPlugins = [ + LinkClickTrackingPlugin(), + FormTrackingPlugin(), + TimezonePlugin(), + GaCookiesPlugin(), + PerformanceTimingPlugin(), + ClientHintsPlugin(), +]; + +export default {}; |