1import ga4ControllerAction from "../ga4-action.js"; 2import DatalayerHelper from "../helpers/datalayer.helper.js?six_jsfix=20260923"; 3 4export default class OnCmsCrossSellingAction extends ga4ControllerAction { 5 trigger() { 6 7 let cmsElements = document.querySelectorAll('.emotion--wrapper'); 8 9 if (cmsElements) { 10 setTimeout(() => { 11 this._onLoad(cmsElements, "emotion--wrapper"); 12 }, 1200); 13 14 } 15 } 16 17 _onLoad(items, source) { 18 if (!this.actionEnabled) { 19 return; 20 } 21 22 23 for (const itemEl of items){ 24 let cmsElement; 25 26 let sourceId = itemEl.getAttribute("data-controllerurl"); 27 28 29 30 if(sourceId){ 31 cmsElement = document.querySelector('[data-controllerurl="' + sourceId + '"]').querySelector('.emotion--element'); 32 } 33 34 if (cmsElement) { 35 if (cmsElement.querySelectorAll(".product--box").length > 0) { 36 DatalayerHelper.viewItemList(sourceId, cmsElement); 37 }else{ 38 console.log("OnCmsCrossSellingAction: no product box found"); 39 } 40 } 41 } 42 } 43}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.