siteMapPerso

formulario de suscripcion eventos

12/28/2023 12:05:15 PM

Changes

dist/mySiteMap.js 60(+56 -4)

src/mySiteMap.js 55(+50 -5)

Details

dist/mySiteMap.js 60(+56 -4)

diff --git a/dist/mySiteMap.js b/dist/mySiteMap.js
index 9cb8f17..ee375ea 100644
--- a/dist/mySiteMap.js
+++ b/dist/mySiteMap.js
@@ -15,6 +15,7 @@ require("core-js/modules/es.string.iterator.js");
 require("core-js/modules/web.dom-collections.iterator.js");
 require("core-js/modules/web.url.js");
 require("core-js/modules/web.url-search-params.js");
+require("core-js/modules/es.string.trim.js");
 require("core-js/modules/es.string.match.js");
 window.addEventListener("load", function () {
   var enviroment = "";
@@ -27,6 +28,8 @@ window.addEventListener("load", function () {
   var idUser = vsm.session.id != "" ? vsm.session.id : "";
   var firstName = vsm.session.name != "" ? vsm.session.name : "";
   var lastName = vsm.session.lastName != "" ? vsm.session.lastName : "";
+  var userDni = "";
+  var phone = "";
   var isSuscriber = site.session.isSuscriber() && site.session != undefined ? "Suscriptor" : "Usuario";
   var dateTime = new Date();
   dateTime = "".concat(dateTime.getDate(), "/").concat(dateTime.getMonth(), "/").concat(dateTime.getFullYear(), " - hora ").concat(dateTime.getHours(), ":").concat(dateTime.getMinutes());
@@ -267,6 +270,21 @@ window.addEventListener("load", function () {
     ItPropagation: false
   }];
 
+  //SELECTORES formulario de suscripciones
+  var suscriptionsFormListeners = [{
+    class: ".panels .panel:first-child form .button",
+    labelName: 'Botón form siguiente 1',
+    ItPropagation: false
+  }, {
+    class: ".panels .panel:nth-child(2) form .button:first-child",
+    labelName: 'Botón volver formulario',
+    ItPropagation: false
+  }, {
+    class: ".panels .panel:nth-child(2) form .button:nth-child(2)",
+    labelName: 'Botón confirmar pago formulario',
+    ItPropagation: false
+  }];
+
   //Interacciones
   var homeInteractions = {
     name: "Home"
@@ -289,6 +307,12 @@ window.addEventListener("load", function () {
   var streamingExclusivoInteractions = {
     name: "Streaming Exclusivo"
   };
+  var suscriptionsFormInteractions = {
+    name: "Suscriptions form"
+  };
+  var suscriptionsConfirmInteractions = {
+    name: "Suscriptions Confirm"
+  };
   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);
@@ -296,6 +320,8 @@ window.addEventListener("load", function () {
   var mercadosOnline = new PageType("Mercados Online", "cronista.com/informacion-de-mercados", mercadosOnlineInteractions, mercadosOnlineListeners, false);
   var streamingExclusivo = new PageType("Streaming Exclusivo", "cronista.com/on-air/streaming-exclusivo", streamingExclusivoInteractions, streamingExclusivoListeners, false);
   var confirmacionOnAir = new PageType("ConfirmacionOnAir", "cronista.com/on-air/confirmacion-on-air", confirmacionOnAirInteractions, confirmacionOnAirListeners, false);
+  var suscriptionsForm = new PageType("Suscriptions form", "cronista.com/suscripciones/plan-xxx", suscriptionsFormInteractions, suscriptionsFormListeners, false);
+  var suscriptionsConfirm = new PageType("Suscriptions Confirm", "cronista.com/suscripciones/plan-xxx/#listo", suscriptionsConfirmInteractions, [], false);
   if (validarParteDeURL(window.location.href, "MercadosOnline") && !validarParteDeURL(window.location.href, "cronista.com/MercadosOnline/dolar.html")) {
     var cotizacionesInteractions = {
       name: SalesforceInteractions.CatalogObjectInteractionName.ViewCatalogObject,
@@ -355,9 +381,9 @@ window.addEventListener("load", function () {
 
   //Función que devuelve el array con las info de las pageType
   /*[home, payWall, article, logInWall, landingDolar, mercadosOnline, confirmacionOnAir,
-  streamingExclusivo]*/
+  streamingExclusivo, suscriptionsForm, suscriptionsConfirm]*/
   function Pages() {
-    pages.push(home, payWall, logInWall, landingDolar, mercadosOnline, confirmacionOnAir, streamingExclusivo);
+    pages.push(home, payWall, logInWall, landingDolar, mercadosOnline, confirmacionOnAir, streamingExclusivo, suscriptionsForm, suscriptionsConfirm);
     return pages;
   }
 
@@ -370,8 +396,9 @@ window.addEventListener("load", function () {
         url = url.slice(0, window.location.href.lastIndexOf('?'));
       }
       if (url.charAt(url.length - 1) === '/') {
-        url = url.slice(0, window.location.href.lastIndexOf('/'));
+        url = url.slice(0, -1);
       }
+
       //VALIDO POR TEMPLATE O URL
       if (IsTemplate) {
         isMatch = true;
@@ -380,7 +407,14 @@ window.addEventListener("load", function () {
         if (name == "Cotizaciones" && validarParteDeURL(url, "MercadosOnline")) {
           isMatch = true;
         }
+        if (name == "Suscriptions form" && validarParteDeURL(url, "cronista.com/suscripciones/plan-") && !validarParteDeURL(url, "/#listo")) {
+          isMatch = true;
+        }
+        if (name == "Suscriptions Confirm" && validarParteDeURL(url, "/#listo")) {
+          isMatch = true;
+        }
       }
+      console.log(isMatch);
       return isMatch;
     };
     this.interaction = interaction;
@@ -498,6 +532,22 @@ window.addEventListener("load", function () {
     if (listeners.labelName == 'dolares') {
       dataName = "Cotización dólar: " + SalesforceInteractions.cashDom(event.currentTarget.querySelector(".name")).text();
     }
+    if (listeners.labelName == 'Botón form siguiente 1') {
+      var suscriptionPhone = SalesforceInteractions.cashDom('input[name="phone"]').val();
+      var suscriptionDNI = SalesforceInteractions.cashDom('input[name="document"]').val();
+      var suscriptionName = SalesforceInteractions.cashDom('input[name="name"]').val();
+      var suscriptionLastName = SalesforceInteractions.cashDom('input[name="lastname"]').val();
+      firstName = suscriptionName;
+      lastName = suscriptionLastName;
+      userDni = suscriptionDNI;
+      phone = suscriptionPhone;
+      var dataSuscriptionForm = [suscriptionPhone, suscriptionDNI, suscriptionName, suscriptionLastName];
+      for (var i = 0; i < dataSuscriptionForm.length; i++) {
+        if (!dataSuscriptionForm[i].trim()) {
+          isSend = false;
+        }
+      }
+    }
     if (isSend) {
       SalesforceInteractions.sendEvent({
         interaction: {
@@ -508,6 +558,8 @@ window.addEventListener("load", function () {
             userIdCms: idUser,
             name: firstName,
             lastName: lastName,
+            dni: userDni,
+            phone: phone,
             isSuscriber: isSuscriber,
             emailAddress: email,
             continueUrl: url,
@@ -556,7 +608,7 @@ window.addEventListener("load", function () {
     return listeners;
   }
   function esURLValida(url) {
-    var regex = url.match(/^https:\/\/(?:dev|qa|www)\./i);
+    var regex = url.match(/^https:\/\/(?:dev|qa|qa2|www)\./i);
     enviroment = regex[0];
   }
   SalesforceInteractions.init({

src/mySiteMap.js 55(+50 -5)

diff --git a/src/mySiteMap.js b/src/mySiteMap.js
index e56275c..c478329 100644
--- a/src/mySiteMap.js
+++ b/src/mySiteMap.js
@@ -10,6 +10,8 @@ window.addEventListener("load", function () {
     const idUser = vsm.session.id != "" ? vsm.session.id : "";
     let firstName = vsm.session.name != "" ? vsm.session.name : "";
     let lastName = vsm.session.lastName != "" ? vsm.session.lastName : "";
+    let userDni = "";
+    let phone = "";
     const isSuscriber = site.session.isSuscriber() && site.session != undefined ? "Suscriptor" : "Usuario";
     let dateTime = new Date();
     dateTime = `${dateTime.getDate()}/${dateTime.getMonth()}/${dateTime.getFullYear()} - hora ${dateTime.getHours()}:${dateTime.getMinutes()}`
@@ -110,6 +112,13 @@ window.addEventListener("load", function () {
         { class: "#paywallButton-btn", labelName: 'Quiero participar', ItPropagation: false }
     ]
 
+    //SELECTORES formulario de suscripciones
+    let suscriptionsFormListeners = [
+        { class: ".panels .panel:first-child form .button", labelName: 'Botón form siguiente 1', ItPropagation: false },
+        { class: ".panels .panel:nth-child(2) form .button:first-child", labelName: 'Botón volver formulario', ItPropagation: false },
+        { class: ".panels .panel:nth-child(2) form .button:nth-child(2)", labelName: 'Botón confirmar pago formulario', ItPropagation: false }
+    ]
+
     //Interacciones
     let homeInteractions = {
         name: "Home"
@@ -139,6 +148,14 @@ window.addEventListener("load", function () {
         name: "Streaming Exclusivo"
     }
 
+    let suscriptionsFormInteractions = {
+        name: "Suscriptions form"
+    }
+
+    let suscriptionsConfirmInteractions = {
+        name: "Suscriptions Confirm"
+    }
+
     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);
@@ -146,7 +163,8 @@ window.addEventListener("load", function () {
     const mercadosOnline = new PageType("Mercados Online", "cronista.com/informacion-de-mercados", mercadosOnlineInteractions, mercadosOnlineListeners, false);
     const streamingExclusivo = new PageType("Streaming Exclusivo", "cronista.com/on-air/streaming-exclusivo", streamingExclusivoInteractions, streamingExclusivoListeners, false);
     const confirmacionOnAir = new PageType("ConfirmacionOnAir", "cronista.com/on-air/confirmacion-on-air", confirmacionOnAirInteractions, confirmacionOnAirListeners, false);
-
+    const suscriptionsForm = new PageType("Suscriptions form", "cronista.com/suscripciones/plan-xxx", suscriptionsFormInteractions, suscriptionsFormListeners, false);
+    const suscriptionsConfirm = new PageType("Suscriptions Confirm", "cronista.com/suscripciones/plan-xxx/#listo", suscriptionsConfirmInteractions, [], false);
 
     if (validarParteDeURL(window.location.href, "MercadosOnline") && !validarParteDeURL(window.location.href, "cronista.com/MercadosOnline/dolar.html")) {
         let cotizacionesInteractions = {
@@ -217,9 +235,9 @@ window.addEventListener("load", function () {
 
     //Función que devuelve el array con las info de las pageType
     /*[home, payWall, article, logInWall, landingDolar, mercadosOnline, confirmacionOnAir,
-    streamingExclusivo]*/
+    streamingExclusivo, suscriptionsForm, suscriptionsConfirm]*/
     function Pages() {
-        pages.push(home, payWall, logInWall, landingDolar, mercadosOnline, confirmacionOnAir, streamingExclusivo)
+        pages.push(home, payWall, logInWall, landingDolar, mercadosOnline, confirmacionOnAir, streamingExclusivo, suscriptionsForm, suscriptionsConfirm)
         return pages
     }
 
@@ -232,8 +250,9 @@ window.addEventListener("load", function () {
                 url = url.slice(0, window.location.href.lastIndexOf('?'));
             }
             if (url.charAt(url.length - 1) === '/') {
-                url = url.slice(0, window.location.href.lastIndexOf('/'));
+                url = url.slice(0, -1);
             }
+
             //VALIDO POR TEMPLATE O URL
             if (IsTemplate) {
                 isMatch = true
@@ -242,7 +261,14 @@ window.addEventListener("load", function () {
                 if (name == "Cotizaciones" && validarParteDeURL(url, "MercadosOnline")) {
                     isMatch = true
                 }
+                if (name == "Suscriptions form" && validarParteDeURL(url, "cronista.com/suscripciones/plan-") && !validarParteDeURL(url, "/#listo")) {
+                    isMatch = true
+                }
+                if (name == "Suscriptions Confirm" && validarParteDeURL(url, "/#listo")) {
+                    isMatch = true
+                }
             }
+            console.log(isMatch)
             return isMatch;
         };
         this.interaction = interaction;
@@ -380,6 +406,23 @@ window.addEventListener("load", function () {
             dataName = "Cotización dólar: " + SalesforceInteractions.cashDom(event.currentTarget.querySelector(".name")).text()
         }
 
+        if (listeners.labelName == 'Botón form siguiente 1') {
+            let suscriptionPhone = SalesforceInteractions.cashDom('input[name="phone"]').val()
+            let suscriptionDNI = SalesforceInteractions.cashDom('input[name="document"]').val()
+            let suscriptionName = SalesforceInteractions.cashDom('input[name="name"]').val()
+            let suscriptionLastName = SalesforceInteractions.cashDom('input[name="lastname"]').val()
+            firstName = suscriptionName
+            lastName = suscriptionLastName
+            userDni = suscriptionDNI
+            phone = suscriptionPhone
+            const dataSuscriptionForm = [suscriptionPhone, suscriptionDNI, suscriptionName, suscriptionLastName];
+            for (let i = 0; i < dataSuscriptionForm.length; i++) {
+                if (!dataSuscriptionForm[i].trim()) {
+                    isSend = false
+                }
+            }
+        }
+
         if (isSend) {
             SalesforceInteractions.sendEvent({
                 interaction: {
@@ -390,6 +433,8 @@ window.addEventListener("load", function () {
                         userIdCms: idUser,
                         name: firstName,
                         lastName: lastName,
+                        dni: userDni,
+                        phone: phone,
                         isSuscriber: isSuscriber,
                         emailAddress: email,
                         continueUrl: url,
@@ -442,7 +487,7 @@ window.addEventListener("load", function () {
     }
 
     function esURLValida(url) {
-        var regex = url.match(/^https:\/\/(?:dev|qa|www)\./i);
+        var regex = url.match(/^https:\/\/(?:dev|qa|qa2|www)\./i);
         enviroment = regex[0]
     }