Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-04-20 18:20:09 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-04-20 18:20:09 +0300
commitda23c5d563d68bfa5271b216209a7715c7ce3073 (patch)
treeea829aa79f715b98c440d6bf3767328b4fc4f750 /app/assets/javascripts/entrypoints
parent2366f969a4b3a95e052e551cc7283a2db8d5562e (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/assets/javascripts/entrypoints')
-rw-r--r--app/assets/javascripts/entrypoints/tracker.js50
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 {};