siteMapPerso

landing dolar y mercados online

12/12/2023 3:39:46 PM

Changes

dist/mySiteMap.js 63(+30 -33)

src/mySiteMap.js 60(+32 -28)

Details

dist/mySiteMap.js 63(+30 -33)

diff --git a/dist/mySiteMap.js b/dist/mySiteMap.js
index be582b6..91b8281 100644
--- a/dist/mySiteMap.js
+++ b/dist/mySiteMap.js
@@ -18,7 +18,6 @@ require("core-js/modules/web.url-search-params.js");
 require("core-js/modules/es.string.match.js");
 var enviroment = "";
 var pages = [];
-console.log("dfdsf");
 esURLValida(window.location.href);
 
 //DATOS DE USUARIO
@@ -252,27 +251,30 @@ var logInWallInteractions = {
 var landingDolarInteractions = {
   name: "Landing Dólar"
 };
-var mercadosOnlineInteractions = {
-  name: SalesforceInteractions.CatalogObjectInteractionName.ViewCatalogObject,
-  catalogObject: {
-    type: "MercadosOnline",
-    id: window.cronistaDataLayer[0].articleProperty.id,
-    attributes: {
-      url: window.location.href,
-      name: SalesforceInteractions.cashDom(".section-header-title a").text()
-    },
-    relatedCatalogObjects: {
-      TipoDeCotizacion: SalesforceInteractions.DisplayUtils.pageElementLoaded("html").then(function (ele) {
-        return [window.cronistaDataLayer[0].articleProperty.category.toUpperCase()];
-      })
-    }
-  }
-};
 var home = new PageType("Home", "cronista.com", homeInteractions, homeListeners, false);
 var payWall = new PageType("PayWall", "cronista.com/suscripciones", payWallInteractions, payWallListeners, false);
 var logInWall = new PageType("LogInWall", "cronista.com/ingresa", logInWallInteractions, logInWallListeners, false);
-var landingDolar = new PageType("Landing Dólar", "cronista.com/MercadosOnline/dolar.html", landingDolarInteractions, landingDolarListeners, false);
-var mercadosOnline = new PageType("Mercados Online", "cronista.com/MercadosOnline", mercadosOnlineInteractions, mercadosOnlineInteractions, false);
+var landingDolar = new PageType("Landing Dólar", "cronista.com/MercadosOnline/dolar.html", landingDolarInteractions, landingDolarListeners, document.querySelector(".page.dolar"));
+if (validarParteDeURL(window.location.href, "MercadosOnline") && !validarParteDeURL(window.location.href, "cronista.com/MercadosOnline/dolar.html")) {
+  var mercadosOnlineInteractions = {
+    name: SalesforceInteractions.CatalogObjectInteractionName.ViewCatalogObject,
+    catalogObject: {
+      type: "MercadosOnline",
+      id: window.cronistaDataLayer[0].articleProperty.id,
+      attributes: {
+        url: window.location.href,
+        name: SalesforceInteractions.cashDom(".section-header-title a").text()
+      },
+      relatedCatalogObjects: {
+        TipoDeCotizacion: SalesforceInteractions.DisplayUtils.pageElementLoaded("html").then(function (ele) {
+          return [window.cronistaDataLayer[0].articleProperty.category.toUpperCase()];
+        })
+      }
+    }
+  };
+  var mercadosOnline = new PageType("Mercados Online", "cronista.com/MercadosOnline", mercadosOnlineInteractions, mercadosOnlineInteractions, false);
+  pages.push(mercadosOnline);
+}
 if (document.querySelector("#pagecontent .news") || document.querySelector("#pagecontent .news-minisite") || document.querySelector("#pagecontent .news-es") || document.querySelector("#pagecontent .news-mx")) {
   var metaTag = document.querySelector('meta[property="og:image"]');
   var interaction = {
@@ -310,14 +312,15 @@ if (document.querySelector("#pagecontent .news") || document.querySelector("#pag
   pages.push(article);
 }
 
+//Función que devuelve el array con las info de las pageType
 //[home, payWall, article, logInWall, landingDolar, mercadosOnline]
 function Pages() {
-  pages.push(home, payWall, logInWall, landingDolar, mercadosOnline);
+  pages.push(home, payWall, logInWall, landingDolar);
   return pages;
 }
 
 //MATCH PAGE
-function PageType(name, myUrl, interaction, myEvents, isArticle) {
+function PageType(name, myUrl, interaction, myEvents, IsTemplate) {
   this.name = name;
   this.isMatch = function () {
     var url = window.location.href;
@@ -327,13 +330,13 @@ function PageType(name, myUrl, interaction, myEvents, isArticle) {
     if (url.charAt(url.length - 1) === '/') {
       url = url.slice(0, window.location.href.lastIndexOf('/'));
     }
-    if (isArticle) {
+    //VALIDO POR TEMPLATE O URL
+    if (IsTemplate) {
       isMatch = true;
     } else {
       isMatch = url === "".concat(enviroment).concat(myUrl) ? true : false;
       if (name == "Mercados Online" && validarParteDeURL(url, "MercadosOnline")) {
         isMatch = true;
-        console.log("La URL contiene la parte especificada.");
       }
     }
     return isMatch;
@@ -342,14 +345,8 @@ function PageType(name, myUrl, interaction, myEvents, isArticle) {
   this.listeners = GenerateListeners(name, myEvents);
 }
 function validarParteDeURL(url, parte) {
-  // Escapar caracteres especiales en la parte de la URL para usar en la expresión regular
   var parteEscapada = parte.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
-
-  // Crear una expresión regular con la parte de la URL
   var regex = new RegExp(parteEscapada);
-
-  // Verificar si la URL contiene la parte especificada
-  console.log(regex.test(url));
   return regex.test(url);
 }
 function GlobalActions(actionEvent) {
@@ -418,16 +415,16 @@ function ReadGlobalEvents(event, listeners) {
   if (listeners.labelName == "TAGS") {
     switch (event.target.innerText) {
       case "EDICIÓN IMPRESA":
-        dataName = nameTarget;
+        dataName = "TAG: " + nameTarget;
         break;
       case "DÓLAR":
-        dataName = nameTarget;
+        dataName = "TAG: " + nameTarget;
         break;
       case "DÓLAR BLUE":
-        dataName = nameTarget;
+        dataName = "TAG: " + nameTarget;
         break;
       case "QUIÉN ES QUIÉN":
-        dataName = nameTarget;
+        dataName = "TAG: " + nameTarget;
         break;
       default:
         isSend = false;

src/mySiteMap.js 60(+32 -28)

diff --git a/src/mySiteMap.js b/src/mySiteMap.js
index da8bc02..8c22546 100644
--- a/src/mySiteMap.js
+++ b/src/mySiteMap.js
@@ -108,31 +108,34 @@ let landingDolarInteractions = {
     name: "Landing Dólar"
 }
 
-let mercadosOnlineInteractions = {
-    name: SalesforceInteractions.CatalogObjectInteractionName.ViewCatalogObject,
-    catalogObject: {
-        type: "MercadosOnline",
-        id: window.cronistaDataLayer[0].articleProperty.id,
-        attributes: {
-            url: window.location.href,
-            name: SalesforceInteractions.cashDom(".section-header-title a").text(),
-        },
-        relatedCatalogObjects: {
-            TipoDeCotizacion: SalesforceInteractions.DisplayUtils.pageElementLoaded(
-                "html",
-            ).then((ele) => {
-                return [window.cronistaDataLayer[0].articleProperty.category.toUpperCase()]
-            }),
-        },
-    },
-}
 
 const home = new PageType("Home", "cronista.com", homeInteractions, homeListeners, false);
 const payWall = new PageType("PayWall", "cronista.com/suscripciones", payWallInteractions, payWallListeners, false);
 const logInWall = new PageType("LogInWall", "cronista.com/ingresa", logInWallInteractions, logInWallListeners, false);
-const landingDolar = new PageType("Landing Dólar", "cronista.com/MercadosOnline/dolar.html", landingDolarInteractions, landingDolarListeners, false);
-const mercadosOnline = new PageType("Mercados Online", "cronista.com/MercadosOnline", mercadosOnlineInteractions, mercadosOnlineInteractions, false);
+const landingDolar = new PageType("Landing Dólar", "cronista.com/MercadosOnline/dolar.html", landingDolarInteractions, landingDolarListeners, document.querySelector(".page.dolar"));
 
+if (validarParteDeURL(window.location.href, "MercadosOnline") && !validarParteDeURL(window.location.href, "cronista.com/MercadosOnline/dolar.html")) {
+    let mercadosOnlineInteractions = {
+        name: SalesforceInteractions.CatalogObjectInteractionName.ViewCatalogObject,
+        catalogObject: {
+            type: "MercadosOnline",
+            id: window.cronistaDataLayer[0].articleProperty.id,
+            attributes: {
+                url: window.location.href,
+                name: SalesforceInteractions.cashDom(".section-header-title a").text(),
+            },
+            relatedCatalogObjects: {
+                TipoDeCotizacion: SalesforceInteractions.DisplayUtils.pageElementLoaded(
+                    "html",
+                ).then((ele) => {
+                    return [window.cronistaDataLayer[0].articleProperty.category.toUpperCase()]
+                }),
+            },
+        },
+    }
+    let mercadosOnline = new PageType("Mercados Online", "cronista.com/MercadosOnline", mercadosOnlineInteractions, mercadosOnlineInteractions, false);
+    pages.push(mercadosOnline)
+}
 
 if (document.querySelector("#pagecontent .news") || document.querySelector("#pagecontent .news-minisite") || document.querySelector("#pagecontent .news-es") || document.querySelector("#pagecontent .news-mx")) {
     const metaTag = document.querySelector('meta[property="og:image"]');
@@ -178,14 +181,15 @@ if (document.querySelector("#pagecontent .news") || document.querySelector("#pag
     pages.push(article)
 }
 
+//Función que devuelve el array con las info de las pageType
 //[home, payWall, article, logInWall, landingDolar, mercadosOnline]
 function Pages() {
-    pages.push(home, payWall, logInWall, landingDolar, mercadosOnline)
+    pages.push(home, payWall, logInWall, landingDolar)
     return pages
 }
 
 //MATCH PAGE
-function PageType(name, myUrl, interaction, myEvents, isArticle) {
+function PageType(name, myUrl, interaction, myEvents, IsTemplate) {
     this.name = name;
     this.isMatch = () => {
         let url = window.location.href;
@@ -195,7 +199,8 @@ function PageType(name, myUrl, interaction, myEvents, isArticle) {
         if (url.charAt(url.length - 1) === '/') {
             url = url.slice(0, window.location.href.lastIndexOf('/'));
         }
-        if (isArticle) {
+        //VALIDO POR TEMPLATE O URL
+        if (IsTemplate) {
             isMatch = true
         } else {
             isMatch = (url === `${enviroment}${myUrl}` ? true : false);
@@ -203,7 +208,6 @@ function PageType(name, myUrl, interaction, myEvents, isArticle) {
                 isMatch = true
             }
         }
-
         return isMatch;
     };
     this.interaction = interaction;
@@ -294,16 +298,16 @@ function ReadGlobalEvents(event, listeners) {
     if (listeners.labelName == "TAGS") {
         switch (event.target.innerText) {
             case "EDICIÓN IMPRESA":
-                dataName = nameTarget
+                dataName = "TAG: " + nameTarget
                 break;
             case "DÓLAR":
-                dataName = nameTarget
+                dataName = "TAG: " + nameTarget
                 break;
             case "DÓLAR BLUE":
-                dataName = nameTarget
+                dataName = "TAG: " + nameTarget
                 break;
             case "QUIÉN ES QUIÉN":
-                dataName = nameTarget
+                dataName = "TAG: " + nameTarget
                 break;
             default:
                 isSend = false