siteMapPerso
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]
}