"use strict";
require("core-js/modules/es.function.name.js");
require("core-js/modules/es.array.concat.js");
require("core-js/modules/es.object.to-string.js");
require("core-js/modules/es.regexp.to-string.js");
require("core-js/modules/es.array.includes.js");
require("core-js/modules/es.string.includes.js");
require("core-js/modules/es.array.slice.js");
require("core-js/modules/es.regexp.exec.js");
require("core-js/modules/es.string.replace.js");
require("core-js/modules/es.regexp.constructor.js");
require("core-js/modules/es.array.iterator.js");
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.match.js");
var enviroment = "";
var pages = [];
console.log("dfdsf");
esURLValida(window.location.href);
//DATOS DE USUARIO
var isAnonimus = vsm.loggedIn() === false || vsm.loggedIn() === null ? true : false;
var email = vsm.session.email != "" ? vsm.session.email : "";
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 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());
var isMatch = false;
var url = "";
//Zonas Genericas
var globalZones = [{
name: "Header",
selector: '#page-header'
}, {
name: "Footer",
selector: '#page-footer'
}];
//SELECTORES Genericos
var globalListeners = [{
class: "#page-header-session-box .sign-in-button",
labelName: 'Botón Ingresar',
ItPropagation: false
}, {
class: "#page-header-middle .b-suscription",
labelName: 'Botón Suscribite',
ItPropagation: false
}, {
class: ".svg-icon.menu",
labelName: 'Botón MENU sitio',
ItPropagation: false
}, {
class: ".session.with-avatar",
labelName: 'Botón MENU mi perfil',
ItPropagation: true
}, {
class: ".session-options li:nth-child(2) a",
labelName: 'Botón MI PERFIL',
ItPropagation: true
}, {
class: "#main-menu ul li a",
labelName: 'TAGS',
ItPropagation: false
}, {
class: "#page-header .piece.markets.standard ul li",
labelName: 'TICKERS',
ItPropagation: false
}, {
class: ".mitem.pwa-signed-in.session-box",
labelName: 'Botón MENU mi perfil (MOBILE)',
ItPropagation: true
}, {
class: ".mitem.pwa-signed-in.session-box .session-options li:nth-child(2) a",
labelName: 'Botón MI PERFIL (MOBILE)',
ItPropagation: true
}, {
class: ".pwa-footer-fixed-bar .mitem.dolar",
labelName: 'Botón MENU Dólar (MOBILE)',
ItPropagation: false
}];
//SELECTORES Home
var homeListeners = [{
class: ".section article.item",
labelName: '',
ItPropagation: false
}, {
class: ".sectionfull article.item",
labelName: '',
ItPropagation: false
}, {
class: "article.locked",
labelName: 'Article Member from Home',
ItPropagation: false
}, {
class: ".columnists .items article.item",
labelName: 'Clumnists from Home',
ItPropagation: false
}];
//SELECTORES PayWall
var payWallListeners = [{
class: ".page.suscripciones a.logo",
labelName: 'Botón - Header Logo El Cronista from Pay Wall',
ItPropagation: false
}, {
class: ".suscripcion .items .item .button",
labelName: 'Quiero suscribirme',
ItPropagation: false
}, {
class: ".suscripcion .items .item .list_items",
labelName: 'Botón - Mostrar detalles de planes',
ItPropagation: false
}, {
class: "#page-header-session-box .sign-in-button",
labelName: 'Botón Ingresar From Pay wall',
ItPropagation: false
}, {
class: ".otros-planes .otros-planes__item:first-child p a",
labelName: 'Botón - Plan Jubilado',
ItPropagation: false
}, {
class: ".otros-planes .otros-planes__item:nth-child(2) p a",
labelName: 'Botón - Plan Estudiante',
ItPropagation: false
}, {
class: ".page.suscripciones .whatsapp-wrapper",
labelName: 'Botón Whatsapp from Pay Wall',
ItPropagation: false
}, {
class: ".footer-footer a:first-child",
labelName: 'Botón Terminos y condiciones from Pay Wall',
ItPropagation: false
}, {
class: ".footer-footer a:nth-child(2)",
labelName: 'Botón Precios vigentes from Pay Wall',
ItPropagation: false
}];
//SELECTORES LogInWall
var logInWallListeners = [{
class: "#appleid-signin",
labelName: 'Botón - Iniciar sesión con Apple',
ItPropagation: false
}, {
class: "#facebook",
labelName: 'Botón - Iniciar sesión con Facebook',
ItPropagation: false
}, {
class: "#google",
labelName: 'Botón - Iniciar sesión con Google',
ItPropagation: false
}, {
class: "#vpllocallogin .localloginbtn",
labelName: 'Botón - Iniciá sesión con tu E-mail',
ItPropagation: false
}, {
class: ".submit",
labelName: 'Botón - Iniciar sesión',
ItPropagation: false
}, {
class: ".signup a",
labelName: 'Botón - Registrate',
ItPropagation: false
}, {
class: ".forgotpassword a",
labelName: 'Botón - Olvidé mi contraseña',
ItPropagation: false
}, {
class: ".terminosypolitica a:first-child",
labelName: 'Botón - Política de privacidad',
ItPropagation: false
}, {
class: ".terminosypolitica a:nth-child(2)",
labelName: 'Botón - Terminos y condiciones',
ItPropagation: false
}, {
class: "#vplsignup input.vsmform.submit",
labelName: 'Botón - Registrarme',
ItPropagation: false
}];
//SELECTORES Articulo
var articleListeners = [{
class: "nav.breadcrumb ol li a span",
labelName: 'Breadcrumb',
ItPropagation: false
}, {
class: ".speakText",
labelName: 'Botón Escuchar',
ItPropagation: false
}, {
class: "#content-share",
labelName: 'Botón Compartir'
}, {
class: ".more-list .whatsapp a",
labelName: 'Botón Compartir whatsapp',
ItPropagation: true
}, {
class: ".more-list .facebook a",
labelName: 'Botón Compartir facebook',
ItPropagation: true
}, {
class: ".more-list .twitter a",
labelName: 'Botón Compartir twitter',
ItPropagation: true
}, {
class: ".more-list .linkedIn a",
labelName: 'Botón Compartir linkedIn',
ItPropagation: true
}, {
class: ".more-list .email a",
labelName: 'Botón Compartir email',
ItPropagation: true
}, {
class: ".more-list .comments a",
labelName: 'Botón Compartir comments',
ItPropagation: true
}, {
class: "#bookmark",
labelName: 'Botón Guardar',
ItPropagation: false
}, {
class: ".b-member-black .button-wrapper",
labelName: 'Botón/Caja: Invertí en periodismo de calidad',
ItPropagation: false
}];
//SELECTORES LANDING DÓLAR
var landingDolarListeners = [{
class: ".dolar .markets table tr",
labelName: 'dolares',
ItPropagation: false
}];
//Interacciones
var homeInteractions = {
name: "Home"
};
var payWallInteractions = {
name: PayWallIteractionName()
};
var logInWallInteractions = {
name: "LogInWall"
};
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);
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 = {
name: SalesforceInteractions.CatalogObjectInteractionName.ViewCatalogObject,
catalogObject: {
type: "Article",
id: window.cronistaDataLayer[0].articleProperty.id,
attributes: {
url: window.location.href,
name: SalesforceInteractions.resolvers.fromSelector("#content-title"),
description: SalesforceInteractions.resolvers.fromSelector(".description"),
imageUrl: metaTag ? metaTag.getAttribute('content') : null,
articleId: window.cronistaDataLayer[0].articleProperty.id.toString(),
seccion: window.cronistaDataLayer[0].articleProperty.category,
articleTitle: SalesforceInteractions.resolvers.fromSelector("#content-title"),
publishDate: SalesforceInteractions.resolvers.fromSelector(".author-date time"),
authorName: window.cronistaDataLayer[0].articleProperty.authorName,
canonicalUrl: window.cronistaDataLayer[0].articleProperty.canonica,
accessCondition: window.cronistaDataLayer[0].articleProperty.conditionsOfAccess
},
relatedCatalogObjects: {
Category: SalesforceInteractions.DisplayUtils.pageElementLoaded("html").then(function (ele) {
return [window.cronistaDataLayer[0].articleProperty.category.toUpperCase()];
}),
Autores: SalesforceInteractions.DisplayUtils.pageElementLoaded("html").then(function (ele) {
return [window.cronistaDataLayer[0].articleProperty.authorName.toUpperCase()];
}),
CondicionDeAcceso: SalesforceInteractions.DisplayUtils.pageElementLoaded("html").then(function (ele) {
return [window.cronistaDataLayer[0].articleProperty.conditionsOfAccess.toUpperCase()];
})
}
}
};
var article = new PageType("Article", window.location.href, interaction, articleListeners, document.querySelector("#pagecontent .news"));
pages.push(article);
}
//[home, payWall, article, logInWall, landingDolar, mercadosOnline]
function Pages() {
pages.push(home, payWall, logInWall, landingDolar, mercadosOnline);
return pages;
}
//MATCH PAGE
function PageType(name, myUrl, interaction, myEvents, isArticle) {
this.name = name;
this.isMatch = function () {
var url = window.location.href;
if (url.includes('?')) {
url = url.slice(0, window.location.href.lastIndexOf('?'));
}
if (url.charAt(url.length - 1) === '/') {
url = url.slice(0, window.location.href.lastIndexOf('/'));
}
if (isArticle) {
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;
};
this.interaction = interaction;
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) {
url = window.location.href;
if (email) {
actionEvent.user = actionEvent.user || {};
actionEvent.user.attributes = actionEvent.user.attributes || {};
actionEvent.user.identities = actionEvent.user.identities || {};
actionEvent.user.attributes.URL || {};
actionEvent.user.attributes.contentZones || {};
actionEvent.user.attributes.emailAddress = email;
actionEvent.user.attributes.isSuscription = isSuscriber;
actionEvent.user.attributes.name = firstName;
actionEvent.user.attributes.lastName = lastName;
actionEvent.user.attributes.date = dateTime;
actionEvent.user.attributes.isAnonimus = isAnonimus;
actionEvent.user.identities.userIdCms = idUser;
}
return actionEvent;
}
function PayWallIteractionName() {
var typeOfPayWall = "";
var limit = new URL(window.location.href).searchParams.get("limit");
if (limit != null) {
var isLimit = limit === 'true';
typeOfPayWall = !isLimit ? "choque exclusivo" : "choque metered";
//let continueUrl = new URL(window.location.href).searchParams.get("continue")
typeOfPayWall = "Pay wall - " + typeOfPayWall;
} else {
typeOfPayWall = "Pay wall - Choque directo";
}
return typeOfPayWall;
}
function ReadHomeBlocks(event) {
var main = document.querySelector('.main-container');
var block1 = main.childNodes[0].querySelectorAll('article.item');
var block2 = main.childNodes[2].querySelectorAll('article.item');
sendDataFromHomeBlocks("Click, Article from home (Bloque1)", event, block1);
sendDataFromHomeBlocks("Click, Article from home (Bloque2)", event, block2);
}
function sendDataFromHomeBlocks(nameEvent, target, container) {
for (var i = 0; i < container.length; i++) {
if (target === container[i]) {
SalesforceInteractions.sendEvent({
interaction: {
name: nameEvent
},
user: {
identities: {
emailAddress: email
},
attributes: {
name: firstName,
lastName: lastName
}
}
});
break;
}
}
}
function ReadGlobalEvents(event, listeners) {
var dataName = listeners.labelName;
var isSend = true;
var nameTarget = SalesforceInteractions.cashDom(event.target).text();
if (listeners.labelName == "TAGS") {
switch (event.target.innerText) {
case "EDICIÓN IMPRESA":
dataName = nameTarget;
break;
case "DÓLAR":
dataName = nameTarget;
break;
case "DÓLAR BLUE":
dataName = nameTarget;
break;
case "QUIÉN ES QUIÉN":
dataName = nameTarget;
break;
default:
isSend = false;
break;
}
}
if (listeners.labelName == "TICKERS") {
var tickerElement = event.currentTarget.querySelector("a span.name");
dataName = listeners.labelName + ": " + SalesforceInteractions.cashDom(tickerElement).text();
}
if (listeners.labelName == 'Quiero suscribirme') {
dataName = "Botón: " + listeners.labelName + ": " + SalesforceInteractions.cashDom(event.target.parentNode.querySelector(".title")).text();
}
if (listeners.labelName == 'Breadcrumb') {
dataName = listeners.labelName + ": " + nameTarget;
}
if (listeners.labelName == 'Botón - Iniciar sesión') {
var emailAnonimus = SalesforceInteractions.cashDom(".input.username .username").val();
email = emailAnonimus;
}
if (listeners.labelName == 'Botón - Registrarme') {
var _emailAnonimus = SalesforceInteractions.cashDom(".vsmemail input").val();
var userNameRegister = SalesforceInteractions.cashDom(".vsmusername input").val();
firstName = userNameRegister;
email = _emailAnonimus;
}
if (listeners.labelName == 'dolares') {
dataName = "Cotización dólar: " + SalesforceInteractions.cashDom(event.currentTarget.querySelector(".name")).text();
}
if (isSend) {
SalesforceInteractions.sendEvent({
interaction: {
name: dataName
},
user: {
attributes: {
userIdCms: idUser,
name: firstName,
lastName: firstName,
isSuscriber: isSuscriber,
emailAddress: email,
continueUrl: url,
isAnonimus: isAnonimus
}
}
});
}
}
function GenerateContentZones(zones) {
var ContentZones = [];
if (zones.length > 0) {
for (var i = 0; i < zones.length; i++) {
var ContentZone = {
name: zones[i].name,
selector: zones[i].selector
};
ContentZones.push(ContentZone);
}
}
return ContentZones;
}
function GenerateListeners(pageType, elements) {
var listeners = [];
if (elements.length > 0) {
var _loop = function _loop(i) {
if (pageType == "Home" && (elements[i].class == elements[0].class || elements[i].class == elements[1].class)) {
var myEventsBlock = SalesforceInteractions.listener("click", elements[i].class, function (e) {
ReadHomeBlocks(e.currentTarget);
});
listeners.push(myEventsBlock);
} else {
var myEvents = SalesforceInteractions.listener("click", "".concat(elements[i].class), function (e) {
if (elements[i].ItPropagation) {
e.stopPropagation();
}
ReadGlobalEvents(e, elements[i]);
});
listeners.push(myEvents);
}
};
for (var i = 0; i < elements.length; i++) {
_loop(i);
}
}
return listeners;
}
function esURLValida(url) {
var regex = url.match(/^https:\/\/(?:dev|qa|www)\./i);
enviroment = regex[0];
}
SalesforceInteractions.init({
cookieDomain: "cronista.com"
}).then(function () {
var sitemapConfig = {
global: {
onActionEvent: function onActionEvent(actionEvent) {
return GlobalActions(actionEvent);
},
contentZones: GenerateContentZones(globalZones),
listeners: GenerateListeners("Global", globalListeners)
},
pageTypeDefault: {
name: "default",
interaction: {
name: "Default Page"
}
},
pageTypes: Pages()
};
SalesforceInteractions.initSitemap(sitemapConfig);
});