Skip to content

Commit

Permalink
refactor(index): remove list of default tracking events, it is redundant
Browse files Browse the repository at this point in the history
  • Loading branch information
trieloff committed Jul 4, 2024
1 parent 9720542 commit dd962ab
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 26 deletions.
1 change: 0 additions & 1 deletion modules/defaults.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,3 @@
* governing permissions and limitations under the License.
*/
export const KNOWN_PROPERTIES = ['weight', 'id', 'referer', 'checkpoint', 't', 'source', 'target', 'cwv', 'CLS', 'FID', 'LCP', 'INP', 'TTFB'];
export const DEFAULT_TRACKING_EVENTS = ['click', 'cwv', 'form', 'enterleave', 'viewblock', 'viewmedia', 'loadresource', 'utm', 'paid', 'email'];
22 changes: 6 additions & 16 deletions modules/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
*/
/* eslint-env browser */

import { KNOWN_PROPERTIES, DEFAULT_TRACKING_EVENTS } from './defaults.js';
import { KNOWN_PROPERTIES } from './defaults.js';
import { fflags } from './fflags.js';
import { urlSanitizers } from './utils.js';
import { targetSelector, sourceSelector } from './dom.js';
Expand All @@ -22,13 +22,6 @@ const formSubmitListener = (e) => sampleRUM('formsubmit', { target: targetSelect
// eslint-disable-next-line no-use-before-define
const mutationObserver = window.MutationObserver ? new MutationObserver(mutationsCallback) : null;

// Gets configured collection from the config service for the current domain
function getCollectionConfig() {
// eslint-disable-next-line max-len
fflags.enabled('onetrust', () => DEFAULT_TRACKING_EVENTS.push('consent'));
return DEFAULT_TRACKING_EVENTS;
}

function trackCheckpoint(checkpoint, data, t) {
const { weight, id } = window.hlx.rum;
if (isSelected) {
Expand Down Expand Up @@ -289,14 +282,13 @@ function addCookieConsentTracking() {
}
}

const addObserver = (ck, fn, block) => getCollectionConfig().includes(ck) && fn(block);
function mutationsCallback(mutations) {
mutations.filter((m) => m.type === 'attributes' && m.attributeName === 'data-block-status')
.filter((m) => m.target.dataset.blockStatus === 'loaded')
.forEach((m) => {
addObserver('form', addFormTracking, m.target);
addObserver('viewblock', addViewBlockTracking, m.target);
addObserver('viewmedia', addViewMediaTracking, m.target);
addFormTracking(m.target);
addViewBlockTracking(m.target);
addViewMediaTracking(m.target);
});
}

Expand All @@ -314,13 +306,11 @@ function addTrackingFromConfig() {
utm: () => addUTMParametersTracking(),
viewblock: () => addViewBlockTracking(window.document.body),
viewmedia: () => addViewMediaTracking(window.document.body),
consent: () => addCookieConsentTracking(),
consent: () => fflags.enabled('onetrust', addCookieConsentTracking),
paid: () => addAdsParametersTracking(),
email: () => addEmailParameterTracking(),
};

getCollectionConfig().filter((ck) => trackingFunctions[ck])
.forEach((ck) => trackingFunctions[ck]());
Object.values(trackingFunctions).forEach((fn) => fn());
}

function initEnhancer() {
Expand Down
10 changes: 1 addition & 9 deletions test/unit/defaults.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
/* eslint-env mocha */

import { expect } from '@esm-bundle/chai';
import { KNOWN_PROPERTIES, DEFAULT_TRACKING_EVENTS } from '../../modules/defaults.js';
import { KNOWN_PROPERTIES } from '../../modules/defaults.js';

describe('test defaults', () => {
it('KNOWN_PROPERTIES is an array of string', () => {
Expand All @@ -23,12 +23,4 @@ describe('test defaults', () => {
expect(typeof prop).to.be.equal('string');
});
});

it('DEFAULT_TRACKING_EVENTS is an array of string', () => {
// eslint-disable-next-line no-unused-expressions
expect(Array.isArray(DEFAULT_TRACKING_EVENTS)).to.be.true;
DEFAULT_TRACKING_EVENTS.forEach((prop) => {
expect(typeof prop).to.be.equal('string');
});
});
});

0 comments on commit dd962ab

Please sign in to comment.