siteMapPerso

listeners for

11/10/2023 2:45:05 PM

Changes

mySiteMap.js 92(+46 -46)

Details

mySiteMap.js 92(+46 -46)

diff --git a/mySiteMap.js b/mySiteMap.js
index 597ec7c..6336f4f 100644
--- a/mySiteMap.js
+++ b/mySiteMap.js
@@ -44,15 +44,47 @@ let homeInteractions = {
     name: "Home"
 }
 //
+function ReadHomeBlocks() {
+    let main = document.querySelector('.main-container');
+    let block1 = main.childNodes[0].querySelectorAll('article.item');
+    let block2 = main.childNodes[2].querySelectorAll('article.item')
+    sendDataFromHomeBlocks("Click, Article from home (Bloque1)", e.currentTarget, block1)
+    sendDataFromHomeBlocks("Click, Article from home (Bloque2)", e.currentTarget, block2)
+}
+
+function sendDataFromHomeBlocks(nameEvent, target, container) {
+
+    for (let i = 0; i < container.length; i++) {
+
+        if (target === container[i]) {
+            SalesforceInteractions.sendEvent({
+                interaction: {
+                    name: nameEvent,
+                },
+                user: {
+                    identities: {
+                        emailAddress: email
+                    },
+                    attributes: {
+                        name: userName
+                    }
+                }
+            });
+            break;
+        }
+
+    }
+
+}
+
+function GenerateContentZones(zones) {
 
-function GenerateContentZones(names, selectors) {
     let ContentZones = [];
-    if (names.length === selectors.length) {
-        let size = names.length
-        for (let i = 0; i < size; i++) {
+    if (zones.length > 0) {
+        for (let i = 0; i < zones.length; i++) {
             let ContentZone = {
-                name: names[i],
-                selector: selectors[i]
+                name: zones[i].name,
+                selector: zones[i].selector
             }
             ContentZones.push(ContentZone)
         }
@@ -60,27 +92,21 @@ function GenerateContentZones(names, selectors) {
     return ContentZones;
 }
 
-function ReadHomeBlocks() {
-    let main = document.querySelector('.main-container');
-    let block1 = main.childNodes[0].querySelectorAll('article.item');
-    let block2 = main.childNodes[2].querySelectorAll('article.item')
-    sendDataFromHomeBlocks("Click, Article from home (Bloque1)", e.currentTarget, block1)
-    sendDataFromHomeBlocks("Click, Article from home (Bloque2)", e.currentTarget, block2)
-}
-
-function GenerateListeners(elements) {
+function GenerateListeners(pageType, elements) {
     let listeners = [];
 
     if (elements.length > 0) {
         for (let i = 0; i < elements.length; i++) {
-            if (elements[i] == elements[0] || elements[i] == elements[1]) {
+            if (pageType == "Home" && (elements[i] == elements[0] || elements[i] == elements[1])) {
+                console.log("if:" + elements[i])
                 let myEventsBlock = SalesforceInteractions.listener("click", elements[i], (e) => {
                     ReadHomeBlocks()
                 })
                 listeners.push(myEventsBlock)
             } else {
+
                 let myEvents = SalesforceInteractions.listener("click", `${elements[i]}`, (e) => {
-                    console.log(e.target)
+                    console.log("else:" + elements[i])
                     SalesforceInteractions.sendEvent({
                         interaction: {
                             name: "Botón " + SalesforceInteractions.cashDom(e.target).text(),
@@ -103,32 +129,6 @@ function GenerateListeners(elements) {
     return listeners;
 }
 
-function sendDataFromHomeBlocks(nameEvent, target, container) {
-
-    for (let i = 0; i < container.length; i++) {
-
-        if (target === container[i]) {
-            console.log(nameEvent)
-            SalesforceInteractions.sendEvent({
-                interaction: {
-                    name: nameEvent,
-                },
-                user: {
-                    identities: {
-                        emailAddress: email
-                    },
-                    attributes: {
-                        name: userName
-                    }
-                }
-            });
-            break;
-        }
-
-    }
-
-}
-
 function PageType(name, myUrl, interaction, myEvents) {
     this.name = name;
     this.interaction = interaction;
@@ -142,7 +142,7 @@ function PageType(name, myUrl, interaction, myEvents) {
 
         return isMatch;
     };
-    this.listeners = GenerateListeners(myEvents);
+    this.listeners = GenerateListeners("Home", myEvents);
 }
 const home = new PageType("Home", "cronista.com", homeInteractions, homeListeners);
 
@@ -172,8 +172,8 @@ SalesforceInteractions.init({
                 }
                 return actionEvent;
             },
-            contentZones: GenerateContentZones(globalZones.name, globalZones.selectors),
-            listeners: GenerateListeners(globalListeners),
+            contentZones: GenerateContentZones(globalZones),
+            listeners: GenerateListeners("Global", globalListeners),
         },
         pageTypeDefault: {
             name: "default",