From d9ab72d6080f594d0b3cae15f14b3ef2c6c638cb Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Wed, 20 Oct 2021 08:43:02 +0000 Subject: Add latest changes from gitlab-org/gitlab@14-4-stable-ee --- app/assets/javascripts/tracking/constants.js | 5 ++--- app/assets/javascripts/tracking/get_standard_context.js | 4 +++- app/assets/javascripts/tracking/tracking.js | 13 +++++++------ app/assets/javascripts/tracking/utils.js | 8 ++------ 4 files changed, 14 insertions(+), 16 deletions(-) (limited to 'app/assets/javascripts/tracking') diff --git a/app/assets/javascripts/tracking/constants.js b/app/assets/javascripts/tracking/constants.js index 062a3404355..2593fbe6ed1 100644 --- a/app/assets/javascripts/tracking/constants.js +++ b/app/assets/javascripts/tracking/constants.js @@ -22,9 +22,8 @@ export const DEFAULT_SNOWPLOW_OPTIONS = { export const ACTION_ATTR_SELECTOR = '[data-track-action]'; export const LOAD_ACTION_ATTR_SELECTOR = '[data-track-action="render"]'; -export const DEPRECATED_EVENT_ATTR_SELECTOR = '[data-track-event]'; -export const DEPRECATED_LOAD_EVENT_ATTR_SELECTOR = '[data-track-event="render"]'; - export const URLS_CACHE_STORAGE_KEY = 'gl-snowplow-pseudonymized-urls'; export const REFERRER_TTL = 24 * 60 * 60 * 1000; + +export const GOOGLE_ANALYTICS_ID_COOKIE_NAME = '_ga'; diff --git a/app/assets/javascripts/tracking/get_standard_context.js b/app/assets/javascripts/tracking/get_standard_context.js index c318029323d..6014f1ba3ee 100644 --- a/app/assets/javascripts/tracking/get_standard_context.js +++ b/app/assets/javascripts/tracking/get_standard_context.js @@ -1,4 +1,5 @@ -import { SNOWPLOW_JS_SOURCE } from './constants'; +import { getCookie } from '~/lib/utils/common_utils'; +import { SNOWPLOW_JS_SOURCE, GOOGLE_ANALYTICS_ID_COOKIE_NAME } from './constants'; export default function getStandardContext({ extra = {} } = {}) { const { schema, data = {} } = { ...window.gl?.snowplowStandardContext }; @@ -8,6 +9,7 @@ export default function getStandardContext({ extra = {} } = {}) { data: { ...data, source: SNOWPLOW_JS_SOURCE, + google_analytics_id: getCookie(GOOGLE_ANALYTICS_ID_COOKIE_NAME) ?? '', extra: extra || data.extra, }, }; diff --git a/app/assets/javascripts/tracking/tracking.js b/app/assets/javascripts/tracking/tracking.js index 657e0a79911..c26abc261ed 100644 --- a/app/assets/javascripts/tracking/tracking.js +++ b/app/assets/javascripts/tracking/tracking.js @@ -1,4 +1,4 @@ -import { LOAD_ACTION_ATTR_SELECTOR, DEPRECATED_LOAD_EVENT_ATTR_SELECTOR } from './constants'; +import { LOAD_ACTION_ATTR_SELECTOR } from './constants'; import { dispatchSnowplowEvent } from './dispatch_snowplow_event'; import getStandardContext from './get_standard_context'; import { @@ -105,9 +105,7 @@ export default class Tracking { return []; } - const loadEvents = parent.querySelectorAll( - `${LOAD_ACTION_ATTR_SELECTOR}, ${DEPRECATED_LOAD_EVENT_ATTR_SELECTOR}`, - ); + const loadEvents = parent.querySelectorAll(LOAD_ACTION_ATTR_SELECTOR); loadEvents.forEach((element) => { const { action, data } = createEventPayload(element); @@ -179,9 +177,12 @@ export default class Tracking { } const referrers = getReferrersCache(); - const pageLinks = Object.seal({ url: '', referrer: '', originalUrl: window.location.href }); + const pageLinks = Object.seal({ + url: pageUrl, + referrer: '', + originalUrl: window.location.href, + }); - pageLinks.url = `${pageUrl}${window.location.hash}`; window.snowplow('setCustomUrl', pageLinks.url); if (document.referrer) { diff --git a/app/assets/javascripts/tracking/utils.js b/app/assets/javascripts/tracking/utils.js index 3507872b511..cc0d7e7a44a 100644 --- a/app/assets/javascripts/tracking/utils.js +++ b/app/assets/javascripts/tracking/utils.js @@ -4,8 +4,6 @@ import { getExperimentData } from '~/experimentation/utils'; import { ACTION_ATTR_SELECTOR, LOAD_ACTION_ATTR_SELECTOR, - DEPRECATED_EVENT_ATTR_SELECTOR, - DEPRECATED_LOAD_EVENT_ATTR_SELECTOR, URLS_CACHE_STORAGE_KEY, REFERRER_TTL, } from './constants'; @@ -27,7 +25,6 @@ export const addExperimentContext = (opts) => { export const createEventPayload = (el, { suffix = '' } = {}) => { const { trackAction, - trackEvent, trackValue, trackExtra, trackExperiment, @@ -36,7 +33,7 @@ export const createEventPayload = (el, { suffix = '' } = {}) => { trackProperty, } = el?.dataset || {}; - const action = (trackAction || trackEvent) + (suffix || ''); + const action = `${trackAction}${suffix || ''}`; let value = trackValue || el.value || undefined; if (el.type === 'checkbox' && !el.checked) { @@ -74,8 +71,7 @@ export const createEventPayload = (el, { suffix = '' } = {}) => { export const eventHandler = (e, func, opts = {}) => { const actionSelector = `${ACTION_ATTR_SELECTOR}:not(${LOAD_ACTION_ATTR_SELECTOR})`; - const deprecatedEventSelector = `${DEPRECATED_EVENT_ATTR_SELECTOR}:not(${DEPRECATED_LOAD_EVENT_ATTR_SELECTOR})`; - const el = e.target.closest(`${actionSelector}, ${deprecatedEventSelector}`); + const el = e.target.closest(actionSelector); if (!el) { return; -- cgit v1.2.3