{"version":3,"file":"globalInteractions.min.js","mappings":"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","sources":["webpack://ecommerce/./src/common/common.js","webpack://ecommerce/./src/config/config.inwild.js","webpack://ecommerce/./src/config/config.js","webpack://ecommerce/./src/config/config.production.inwild.js","webpack://ecommerce/./src/config/config.production.js","webpack://ecommerce/./src/config/config.production.runkd.js","webpack://ecommerce/./src/config/config.runkd.js","webpack://ecommerce/./src/config/config.staging.inwild.js","webpack://ecommerce/./src/config/config.staging.js","webpack://ecommerce/./src/config/config.staging.runkd.js","webpack://ecommerce/./src/config/index.js","webpack://ecommerce/./src/globalizer.js","webpack://ecommerce/./src/script.js","webpack://ecommerce/./src/services/cookieService.js","webpack://ecommerce/./src/services/data/dataPageService.js","webpack://ecommerce/./src/services/marketingAndAnalytics/adsService.js","webpack://ecommerce/./src/services/marketingAndAnalytics/consentModePrivacyService.js","webpack://ecommerce/./src/services/marketingAndAnalytics/facebookService.js","webpack://ecommerce/./src/services/marketingAndAnalytics/ga4Service.js","webpack://ecommerce/./src/services/marketingAndAnalytics/marketingAndAnalyticsService.js","webpack://ecommerce/./src/tracing.js","webpack://ecommerce/./src/yacc.js","webpack://ecommerce/./wwwroot/js/modernizr-custom-mq.js","webpack://ecommerce/./node_modules/cldrjs/dist/cldr.js","webpack://ecommerce/./node_modules/cldrjs/dist/cldr/event.js","webpack://ecommerce/./node_modules/cldrjs/dist/cldr/supplemental.js","webpack://ecommerce/./node_modules/globalize/dist/globalize.js","webpack://ecommerce/./node_modules/globalize/dist/globalize/currency.js","webpack://ecommerce/./node_modules/globalize/dist/globalize/date.js","webpack://ecommerce/./node_modules/globalize/dist/globalize/message.js","webpack://ecommerce/./node_modules/globalize/dist/globalize/number.js","webpack://ecommerce/./node_modules/globalize/dist/globalize/plural.js","webpack://ecommerce/./node_modules/globalize/dist/globalize/relative-time.js","webpack://ecommerce/./node_modules/globalize/dist/globalize/unit.js","webpack://ecommerce/./node_modules/globalize/dist/node-main.js","webpack://ecommerce/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://ecommerce/./node_modules/@babel/runtime/helpers/typeof.js","webpack://ecommerce/./node_modules/@babel/runtime/regenerator/index.js","webpack://ecommerce/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://ecommerce/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://ecommerce/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://ecommerce/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://ecommerce/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://ecommerce/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://ecommerce/webpack/bootstrap","webpack://ecommerce/webpack/runtime/chunk loaded","webpack://ecommerce/webpack/runtime/compat get default export","webpack://ecommerce/webpack/runtime/define property getters","webpack://ecommerce/webpack/runtime/global","webpack://ecommerce/webpack/runtime/harmony module decorator","webpack://ecommerce/webpack/runtime/hasOwnProperty shorthand","webpack://ecommerce/webpack/runtime/make namespace object","webpack://ecommerce/webpack/runtime/node module decorator","webpack://ecommerce/webpack/runtime/runtimeId","webpack://ecommerce/webpack/runtime/jsonp chunk loading","webpack://ecommerce/webpack/startup"],"sourcesContent":["const configHelper = require('../config/index');\r\nimport { reduce, replace, isNil, some, startsWith, isEmpty } from 'lodash';\r\n\r\nrequire('../../wwwroot/js/modernizr-custom-mq.js');\r\nconst trimTrailingSlash = (virtualdir = '') => {\r\n return virtualdir.length > 0 && virtualdir[virtualdir.length - 1] === '/'\r\n ? virtualdir.slice(0, virtualdir.length - 1)\r\n : virtualdir;\r\n};\r\nconst getSiteUrl = (virtualdir = window.$pathBase) => {\r\n if (virtualdir === undefined) {\r\n throw new Error(\r\n 'common.getSiteUrl: virtualdir undefined. Should be emtpy or set.'\r\n );\r\n }\r\n if (window.location.port === '') {\r\n return trimTrailingSlash(\r\n window.location.protocol +\r\n '//' +\r\n window.location.hostname +\r\n virtualdir\r\n );\r\n }\r\n return trimTrailingSlash(\r\n window.location.protocol +\r\n '//' +\r\n window.location.hostname +\r\n ':' +\r\n window.location.port +\r\n virtualdir\r\n );\r\n};\r\nconst getSiteCommercialName = () => {\r\n const siteName = {\r\n lordgun: 'LordGun',\r\n runkd: 'RUNKD',\r\n inwild: 'INWILD',\r\n };\r\n return siteName[SITE.toLowerCase()];\r\n};\r\nconst contentFromCdn = ({ path, keepUrlAsIs }) => {\r\n try {\r\n if (keepUrlAsIs === true) {\r\n return path;\r\n }\r\n const config = configHelper.getConfig();\r\n const { useCdn, cdnImagesUrl, cdnImagesFallbackUrl, cms } = config;\r\n\r\n if (cms && cms.cmsUrl && !isNil(cms.cmsUrl) && !isEmpty(cms.cmsUrl)) {\r\n if (startsWith(path, cms.cmsUrl)) {\r\n return path;\r\n }\r\n }\r\n\r\n if (some([useCdn, cdnImagesUrl, cdnImagesFallbackUrl], isNil)) {\r\n throw new Error('Some config for contentFromCdn is missing');\r\n }\r\n let transformedPath = replace(path.toLowerCase(), '~', '');\r\n transformedPath = replace(\r\n transformedPath,\r\n '/content/products',\r\n '/products'\r\n );\r\n transformedPath = replace(transformedPath, '/content/kits', '/kits');\r\n transformedPath = replace(transformedPath, '/content/img/', '/img/');\r\n transformedPath = replace(transformedPath, '/content/img', '/img');\r\n transformedPath = replace(transformedPath, 'content/img/', '/img/');\r\n transformedPath = replace(transformedPath, 'content/', '');\r\n transformedPath = replace(transformedPath, cdnImagesUrl, '');\r\n transformedPath = replace(transformedPath, cdnImagesFallbackUrl, '');\r\n let siteUrl = getSiteUrl().toLowerCase();\r\n transformedPath = transformedPath.replace(siteUrl, '');\r\n transformedPath = replace(\r\n transformedPath,\r\n window.$pathBase.toLowerCase(),\r\n ''\r\n );\r\n transformedPath = transformedPath.startsWith('/')\r\n ? transformedPath.slice(1, transformedPath.length)\r\n : transformedPath;\r\n if (useCdn && startsWith(transformedPath, cdnImagesUrl.toLowerCase())) {\r\n transformedPath = replace(\r\n transformedPath,\r\n cdnImagesUrl.toLowerCase(),\r\n ''\r\n );\r\n }\r\n if (\r\n useCdn === false &&\r\n startsWith(transformedPath, cdnImagesFallbackUrl.toLowerCase())\r\n ) {\r\n transformedPath = replace(\r\n transformedPath,\r\n cdnImagesFallbackUrl.toLowerCase(),\r\n ''\r\n );\r\n }\r\n\r\n let finalPath = useCdn\r\n ? `${cdnImagesUrl}/${transformedPath}`\r\n : `${cdnImagesFallbackUrl}/${transformedPath}`;\r\n return finalPath;\r\n } catch (error) {\r\n console.error('contentFromCdn. Set content from Cdn', error);\r\n }\r\n};\r\nconst getPartnersByCulture = ({ culture, partners }) => {\r\n const items = reduce(\r\n partners,\r\n (acc, el) => {\r\n return el.Culture === culture ? acc.concat(el) : acc;\r\n },\r\n []\r\n );\r\n return reduce(\r\n items,\r\n (acc, p) => {\r\n acc.push({\r\n title: p.Name,\r\n url: p.Url,\r\n culture: p.Culture,\r\n logo: contentFromCdn({\r\n path: `/Content/img/${p.Logo}`,\r\n keepUrlAsIs: false,\r\n }),\r\n });\r\n return acc;\r\n },\r\n []\r\n );\r\n};\r\nconst getParameterByName = function (name, url = window.location.href) {\r\n name = name.replace(/[\\[\\]]/g, '\\\\$&');\r\n var regex = new RegExp('[?&]' + name + '(=([^]*)|&|#|$)'),\r\n results = regex.exec(url);\r\n if (!results) return null;\r\n if (!results[2]) return '';\r\n return decodeURIComponent(results[2].replace(/\\+/g, ' '));\r\n};\r\nexport default {\r\n getSiteUrl,\r\n getLang: () => document.documentElement.lang,\r\n isTouch: () => Modernizr.touch || window.innerWidth <= 768,\r\n isDesktop: () => Modernizr.mq('(min-width: 64em)'),\r\n getSite: () => SITE.trim().toLowerCase(),\r\n getSiteCommercialName,\r\n contentFromCdn,\r\n getPartnersByCulture,\r\n getParameterByName,\r\n};\r\n","module.exports = {\r\n debug: true,\r\n realtime: {\r\n tokenUrl: 'http://localhost/JSport.RealtimeServiceWeb/api/Token',\r\n paymentHubUrl: 'http://localhost/JSport.RealtimeServiceWeb/paymenthub',\r\n username: 'Admin',\r\n password: 'SignalR2020',\r\n },\r\n useCdn: false,\r\n cdnImagesUrl: 'https://d26ztvr3v93474.cloudfront.net',\r\n cdnImagesFallbackUrl: 'https://sync.inwild.com:4433',\r\n cdnCmsAssetsUrl: 'https://d19sv9e4y8qwzh.cloudfront.net',\r\n supportedCultures: () => [\r\n 'it-IT',\r\n 'es-ES',\r\n 'fr-FR',\r\n 'en-GB',\r\n 'en-US',\r\n 'de-DE',\r\n ],\r\n cms: {\r\n cmsUrl: 'http://localhost:1339',\r\n },\r\n tracingUrl:\r\n 'https://6f569c242a3a4173b354adf56020c011@o245932.ingest.sentry.io/5905368',\r\n};\r\n","module.exports = {\r\n debug: true,\r\n realtime: {\r\n tokenUrl: 'http://localhost/JSport.RealtimeServiceWeb/api/Token',\r\n paymentHubUrl: 'http://localhost/JSport.RealtimeServiceWeb/paymenthub',\r\n username: 'Admin',\r\n password: 'SignalR2020',\r\n },\r\n useCdn: false,\r\n cdnImagesUrl: 'https://d3n8mmvj9ns1ml.cloudfront.net',\r\n cdnImagesFallbackUrl: 'https://sync.lordgunbicycles.com:4433',\r\n cdnCmsAssetsUrl: 'https://d2umopxfu128sk.cloudfront.net',\r\n supportedCultures: () => [\r\n 'it-IT',\r\n 'es-ES',\r\n 'fr-FR',\r\n 'en-GB',\r\n 'en-US',\r\n 'de-DE',\r\n 'en-AU',\r\n 'ko-KR',\r\n ],\r\n cms: {\r\n cmsUrl: 'http://localhost:1337',\r\n },\r\n tracingUrl:\r\n 'https://6f569c242a3a4173b354adf56020c011@o245932.ingest.sentry.io/5905368',\r\n};\r\n","module.exports = {\r\n debug: false,\r\n realtime: {\r\n tokenUrl: 'https://api.inwild.com/realtime/api/Token',\r\n paymentHubUrl: 'https://api.inwild.com/realtime/paymenthub',\r\n username: 'Admin',\r\n password: 'SignalR2020',\r\n },\r\n useCdn: true,\r\n cdnImagesUrl: 'https://d26ztvr3v93474.cloudfront.net',\r\n cdnImagesFallbackUrl: 'https://sync.inwild.com:4433',\r\n cdnCmsAssetsUrl: 'https://d19sv9e4y8qwzh.cloudfront.net',\r\n supportedCultures: () => [\r\n 'it-IT',\r\n 'es-ES',\r\n 'fr-FR',\r\n 'en-GB',\r\n 'en-US',\r\n 'de-DE',\r\n ],\r\n cms: {\r\n cmsUrl: 'https://news.inwild.com',\r\n },\r\n tracingUrl:\r\n 'https://6f569c242a3a4173b354adf56020c011@o245932.ingest.sentry.io/5905368',\r\n};\r\n","module.exports = {\r\n debug: false,\r\n realtime: {\r\n tokenUrl: 'https://api.lordgunbicycles.com/realtime/api/Token',\r\n paymentHubUrl: 'https://api.lordgunbicycles.com/realtime/paymenthub',\r\n username: 'Admin',\r\n password: 'SignalR2020',\r\n },\r\n useCdn: true,\r\n cdnImagesUrl: 'https://d3n8mmvj9ns1ml.cloudfront.net',\r\n cdnImagesFallbackUrl: 'https://sync.lordgunbicycles.com:4433',\r\n cdnCmsAssetsUrl: 'https://d2umopxfu128sk.cloudfront.net',\r\n supportedCultures: () => [\r\n 'it-IT',\r\n 'es-ES',\r\n 'fr-FR',\r\n 'en-GB',\r\n 'en-US',\r\n 'de-DE',\r\n 'en-AU',\r\n 'ko-KR',\r\n ],\r\n cms: {\r\n cmsUrl: 'https://news.lordgun.com',\r\n },\r\n tracingUrl:\r\n 'https://6f569c242a3a4173b354adf56020c011@o245932.ingest.sentry.io/5905368',\r\n};\r\n","module.exports = {\r\n debug: false,\r\n realtime: {\r\n tokenUrl: 'https://api.runkd.com/realtime/api/Token',\r\n paymentHubUrl: 'https://api.runkd.com/realtime/paymenthub',\r\n username: 'Admin',\r\n password: 'SignalR2020',\r\n },\r\n useCdn: true,\r\n cdnImagesUrl: 'https://dufrl78eaxiu3.cloudfront.net',\r\n cdnImagesFallbackUrl: 'https://sync.runkd.com:4433',\r\n cdnCmsAssetsUrl: 'https://d218t1pkbrmetd.cloudfront.net',\r\n supportedCultures: () => [\r\n 'it-IT',\r\n 'es-ES',\r\n 'fr-FR',\r\n 'en-GB',\r\n 'en-US',\r\n 'de-DE',\r\n ],\r\n cms: {\r\n cmsUrl: 'https://news.runkd.com',\r\n },\r\n tracingUrl:\r\n 'https://6f569c242a3a4173b354adf56020c011@o245932.ingest.sentry.io/5905368',\r\n};\r\n","module.exports = {\r\n debug: true,\r\n realtime: {\r\n tokenUrl: 'http://localhost/JSport.RealtimeServiceWeb/api/Token',\r\n paymentHubUrl: 'http://localhost/JSport.RealtimeServiceWeb/paymenthub',\r\n username: 'Admin',\r\n password: 'SignalR2020',\r\n },\r\n useCdn: false,\r\n cdnImagesUrl: 'https://dufrl78eaxiu3.cloudfront.net',\r\n cdnImagesFallbackUrl: 'https://sync.runkd.com:4433',\r\n cdnCmsAssetsUrl: 'https://d218t1pkbrmetd.cloudfront.net',\r\n supportedCultures: () => [\r\n 'it-IT',\r\n 'es-ES',\r\n 'fr-FR',\r\n 'en-GB',\r\n 'en-US',\r\n 'de-DE',\r\n ],\r\n cms: {\r\n cmsUrl: 'http://localhost:1338',\r\n },\r\n tracingUrl:\r\n 'https://6f569c242a3a4173b354adf56020c011@o245932.ingest.sentry.io/5905368',\r\n};\r\n","module.exports = {\r\n debug: true,\r\n realtime: {\r\n tokenUrl: 'https://staging.lordgunbicycles.com/inwild/webapi/realtime/api/Token',\r\n paymentHubUrl: 'https://staging.lordgunbicycles.com/inwild/webapi/realtime/paymenthub',\r\n username: 'Admin',\r\n password: 'SignalR2020',\r\n },\r\n useCdn: false,\r\n cdnImagesUrl: 'https://d26ztvr3v93474.cloudfront.net',\r\n cdnImagesFallbackUrl: 'https://sync.inwild.com:4433',\r\n cdnCmsAssetsUrl: 'https://d19sv9e4y8qwzh.cloudfront.net',\r\n supportedCultures: () => [\r\n 'it-IT',\r\n 'es-ES',\r\n 'fr-FR',\r\n 'en-GB',\r\n 'en-US',\r\n 'de-DE',\r\n ],\r\n cms: {\r\n cmsUrl: 'https://lnxtest.lordgunbicycles.com',\r\n },\r\n tracingUrl:\r\n 'https://6f569c242a3a4173b354adf56020c011@o245932.ingest.sentry.io/5905368',\r\n};\r\n","module.exports = {\r\n debug: true,\r\n realtime: {\r\n tokenUrl: 'https://staging.lordgunbicycles.com/webapi/realtime/api/Token',\r\n paymentHubUrl: 'https://staging.lordgunbicycles.com/webapi/realtime/paymenthub',\r\n username: 'Admin',\r\n password: 'SignalR2020',\r\n },\r\n useCdn: false,\r\n cdnImagesUrl: 'https://d3n8mmvj9ns1ml.cloudfront.net',\r\n cdnImagesFallbackUrl: 'https://sync.lordgunbicycles.com:4433',\r\n cdnCmsAssetsUrl: 'https://d2umopxfu128sk.cloudfront.net',\r\n supportedCultures: () => [\r\n 'it-IT',\r\n 'es-ES',\r\n 'fr-FR',\r\n 'en-GB',\r\n 'en-US',\r\n 'de-DE',\r\n 'en-AU',\r\n 'ko-KR',\r\n ],\r\n cms: {\r\n cmsUrl: 'https://lnxtest.lordgunbicycles.com',\r\n },\r\n tracingUrl:\r\n 'https://6f569c242a3a4173b354adf56020c011@o245932.ingest.sentry.io/5905368',\r\n};\r\n","module.exports = {\r\n debug: true,\r\n realtime: {\r\n tokenUrl: 'https://staging.lordgunbicycles.com/runkd/webapi/realtime/api/Token',\r\n paymentHubUrl: 'https://staging.lordgunbicycles.com/runkd/webapi/realtime/paymenthub',\r\n username: 'Admin',\r\n password: 'SignalR2020',\r\n },\r\n useCdn: false,\r\n cdnImagesUrl: 'https://dufrl78eaxiu3.cloudfront.net',\r\n cdnImagesFallbackUrl: 'https://sync.runkd.com:4433',\r\n cdnCmsAssetsUrl: 'https://d218t1pkbrmetd.cloudfront.net',\r\n supportedCultures: () => [\r\n 'it-IT',\r\n 'es-ES',\r\n 'fr-FR',\r\n 'en-GB',\r\n 'en-US',\r\n 'de-DE',\r\n ],\r\n cms: {\r\n cmsUrl: 'https://lnxtest.lordgunbicycles.com',\r\n },\r\n tracingUrl:\r\n 'https://6f569c242a3a4173b354adf56020c011@o245932.ingest.sentry.io/5905368',\r\n};\r\n","const config_lordgun = require('./config');\r\nconst config_staging_lordgun = require('./config.staging');\r\nconst config_production_lordgun = require('./config.production');\r\n// RUNKD\r\nconst config_runkd = require('./config.runkd');\r\nconst config_staging_runkd = require('./config.staging.runkd');\r\nconst config_production_runkd = require('./config.production.runkd');\r\n// INWILD\r\nconst config_inwild = require('./config.inwild');\r\nconst config_staging_inwild = require('./config.staging.inwild');\r\nconst config_production_inwild = require('./config.production.inwild');\r\n\r\nconst config = {\r\n lordgun: {\r\n development: config_lordgun,\r\n staging: config_staging_lordgun,\r\n production: config_production_lordgun,\r\n },\r\n runkd: {\r\n development: config_runkd,\r\n staging: config_staging_runkd,\r\n production: config_production_runkd,\r\n },\r\n inwild: {\r\n development: config_inwild,\r\n staging: config_staging_inwild,\r\n production: config_production_inwild,\r\n },\r\n};\r\n\r\nconst isEnvironmentSet =\r\n NODE_ENV !== null && NODE_ENV !== undefined && NODE_ENV !== '';\r\n\r\nlet environment = isEnvironmentSet\r\n ? NODE_ENV.toLowerCase().trim()\r\n : 'production';\r\n\r\nlet configObj = {\r\n getConfig: () => config[SITE.toLowerCase()][environment],\r\n};\r\n\r\nmodule.exports = configObj;\r\n","var Globalize = require('globalize');\r\n\r\nconst getLangMapping = () => {\r\n var lang = document.getElementsByTagName('html')[0].getAttribute('lang');\r\n switch (lang.toLowerCase()) {\r\n case 'it':\r\n case 'it-it':\r\n return 'it';\r\n case 'fr':\r\n case 'fr-fr':\r\n return 'fr';\r\n case 'es':\r\n case 'es-es':\r\n return 'es';\r\n case 'de':\r\n case 'de-de':\r\n return 'de';\r\n case 'en-gb':\r\n return 'en-GB';\r\n case 'ko':\r\n case 'ko-kr':\r\n return 'ko';\r\n default:\r\n return 'en';\r\n }\r\n};\r\n\r\nconst init = () => {\r\n var langMapped = getLangMapping();\r\n if (langMapped === 'it') {\r\n Globalize.load(\r\n require('cldr-data/main/it/ca-gregorian'),\r\n // require(\"cldr-data/main/it/currencies\"),\r\n require('cldr-data/main/it/dateFields'),\r\n require('cldr-data/main/it/numbers'),\r\n require('cldr-data/main/it/timeZoneNames'),\r\n require('cldr-data/main/it/units')\r\n );\r\n } else if (langMapped === 'fr') {\r\n Globalize.load(\r\n require('cldr-data/main/fr/ca-gregorian'),\r\n // require(\"cldr-data/main/fr/currencies\"),\r\n require('cldr-data/main/fr/dateFields'),\r\n require('cldr-data/main/fr/numbers'),\r\n require('cldr-data/main/fr/timeZoneNames'),\r\n require('cldr-data/main/fr/units')\r\n );\r\n } else if (langMapped === 'es') {\r\n Globalize.load(\r\n require('cldr-data/main/es/ca-gregorian'),\r\n // require(\"cldr-data/main/es/currencies\"),\r\n require('cldr-data/main/es/dateFields'),\r\n require('cldr-data/main/es/numbers'),\r\n require('cldr-data/main/es/timeZoneNames'),\r\n require('cldr-data/main/es/units')\r\n );\r\n } else if (langMapped === 'de') {\r\n Globalize.load(\r\n require('cldr-data/main/de/ca-gregorian'),\r\n // require(\"cldr-data/main/de/currencies\"),\r\n require('cldr-data/main/de/dateFields'),\r\n require('cldr-data/main/de/numbers'),\r\n require('cldr-data/main/de/timeZoneNames'),\r\n require('cldr-data/main/de/units')\r\n );\r\n } else if (langMapped === 'en-GB') {\r\n Globalize.load(\r\n require('cldr-data/main/en-GB/ca-gregorian'),\r\n // require(\"cldr-data/main/en-GB/currencies\"),\r\n require('cldr-data/main/en-GB/dateFields'),\r\n require('cldr-data/main/en-GB/numbers'),\r\n require('cldr-data/main/en-GB/timeZoneNames'),\r\n require('cldr-data/main/en-GB/units')\r\n );\r\n } else if (langMapped === 'ko') {\r\n Globalize.load(\r\n require('cldr-data/main/ko/ca-gregorian'),\r\n // require(\"cldr-data/main/ko/currencies\"),\r\n require('cldr-data/main/ko/dateFields'),\r\n require('cldr-data/main/ko/numbers'),\r\n require('cldr-data/main/ko/timeZoneNames'),\r\n require('cldr-data/main/ko/units')\r\n );\r\n } else {\r\n Globalize.load(\r\n require('cldr-data/main/en/ca-gregorian'),\r\n // require(\"cldr-data/main/en/currencies\"),\r\n require('cldr-data/main/en/dateFields'),\r\n require('cldr-data/main/en/numbers'),\r\n require('cldr-data/main/en/timeZoneNames'),\r\n require('cldr-data/main/en/units')\r\n );\r\n }\r\n\r\n Globalize.load(\r\n // require(\"cldr-data/supplemental/currencyData\"),\r\n require('cldr-data/supplemental/likelySubtags'),\r\n require('cldr-data/supplemental/metaZones'),\r\n // require(\"cldr-data/supplemental/plurals\"),\r\n require('cldr-data/supplemental/timeData'),\r\n require('cldr-data/supplemental/weekData')\r\n );\r\n\r\n Globalize.locale(langMapped);\r\n};\r\n\r\nconst parseDate = (value) => {\r\n return Globalize.parseDate(value, { skeleton: 'yMd' });\r\n};\r\n\r\nconst formatDateShort = (date) => {\r\n return Globalize.formatDate(new Date(date), { date: 'short' });\r\n};\r\n\r\nconst formatDateLong = (date) => {\r\n return Globalize.formatDate(new Date(date), { date: 'long' });\r\n};\r\n\r\nconst formatDateFull = (date) => {\r\n // \"The fields are from the Date Field Symbol Table in Date Format Patterns\"\r\n // Ref: http://www.unicode.org/reports/tr35/tr35-dates.html#availableFormats_appendItems\r\n // I.e., check for invalid characters.\r\n // /[^GyYuUrQqMLlwWEecdDFghHKkmsSAzZOvVXx]/\r\n return Globalize.formatDate(new Date(date), {\r\n skeleton: 'MMMMEEEEd',\r\n });\r\n};\r\n\r\nconst numberFormatterPercent = (\r\n number,\r\n maximumFractionDigits = 0,\r\n round = 'floor'\r\n) => {\r\n return Globalize.numberFormatter({\r\n style: 'percent',\r\n round: round,\r\n maximumFractionDigits: maximumFractionDigits,\r\n })(number / 100);\r\n};\r\n\r\nconst formatNumber = (number, fractionDigits = 2) => {\r\n return Globalize.formatNumber(number, {\r\n minimumFractionDigits: fractionDigits,\r\n maximumFractionDigits: fractionDigits,\r\n });\r\n};\r\n\r\nvar Globalizer = {\r\n getLangMapping,\r\n init,\r\n parseDate,\r\n formatDateShort,\r\n formatDateLong,\r\n formatDateFull,\r\n numberFormatterPercent,\r\n formatNumber,\r\n};\r\n\r\nexport default Globalizer;\r\n","import Globalizer from './globalizer.js';\r\nimport Yacc from './yacc';\r\nimport marketingAndAnalyticsService from './services/marketingAndAnalytics/marketingAndAnalyticsService.js';\r\n// inizializzo le variabili globali\r\n\r\nconst debug = (message) => console.debug(message);\r\n\r\nvar Lordgun = {\r\n isTouch: false,\r\n variables: {\r\n _isExtraSmallScreen: true,\r\n _isSmallScreen: false,\r\n _isMediumScreen: false,\r\n _isLargeScreen: false,\r\n _isExtraLargeScreen: false,\r\n _isPortrait: false,\r\n },\r\n initVar: function () {\r\n if (window.matchMedia) {\r\n Lordgun.variables._isExtraSmallScreen =\r\n Modernizr.mq('(max-width: 48em)'); // sotto i 48em == 768px\r\n Lordgun.variables._isSmallScreen =\r\n Modernizr.mq('(min-width: 64em)'); // sopra i 64em == 1024px\r\n Lordgun.variables._isMediumScreen =\r\n Modernizr.mq('(min-width: 80em)'); // sopra i 80em == 1280px\r\n Lordgun.variables._isLargeScreen = Modernizr.mq(\r\n '(min-width: 85.4375em)'\r\n ); // sopra i 85.4375em == 1367px\r\n Lordgun.variables._isPortrait = Modernizr.mq(\r\n '(orientation: portrait)'\r\n ); // sopra i 48em\r\n }\r\n //Qui possiamo evolvere i controlli per i dispostivi touch\r\n Lordgun.isTouch = window.innerWidth <= 768;\r\n if (Lordgun.isTouch === false) {\r\n document.querySelector('html').classList.add('no-touch');\r\n }\r\n },\r\n\r\n DOMready: function () {\r\n //Va per primo o non binda i calendari etc. che vengono dopo\r\n Lordgun.initVar();\r\n debug('xs: ' + Lordgun.variables._isExtraSmallScreen);\r\n debug('s: ' + Lordgun.variables._isSmallScreen);\r\n debug('m: ' + Lordgun.variables._isMediumScreen);\r\n // debug(\"l: \" + Lordgun.variables._isLargeScreen);\r\n\r\n Globalizer.init();\r\n\r\n if (document.querySelectorAll('#main-header').length > 0) {\r\n Lordgun.stickyNav();\r\n }\r\n if (\r\n document.querySelectorAll('.navicon').length > 0 &&\r\n !Lordgun.variables._isSmallScreen\r\n ) {\r\n Lordgun.navicon();\r\n }\r\n if (document.querySelectorAll('.button--wait').length > 0) {\r\n Array.prototype.forEach.call(\r\n document.querySelectorAll('button--wait'),\r\n (buttonWait) => {\r\n buttonWait.classList.remove('button--wait');\r\n }\r\n );\r\n }\r\n if (document.querySelectorAll('.message').length > 0) {\r\n Lordgun.closeMessage();\r\n }\r\n if (document.querySelectorAll('.rpm-container').length > 0) {\r\n Array.prototype.forEach.call(\r\n document.querySelectorAll('.rpm-container'),\r\n (rpmContainer) => {\r\n rpmContainer.style.display = 'none';\r\n const headerHeight =\r\n document.getElementById('main-header').clientHeight;\r\n const bodyHeight =\r\n document.querySelector('body').clientHeight;\r\n\r\n setTimeout(function () {\r\n rpmContainer.style.height = bodyHeight - headerHeight;\r\n rpmContainer.style.display = 'block';\r\n }, 150);\r\n }\r\n );\r\n }\r\n\r\n marketingAndAnalyticsService.run();\r\n }, //fine DOMReady\r\n\r\n stickyNav: function () {\r\n // mediaQuery needed for accessibility - if the user prefers reduced motion the navbar won't hide\r\n const mediaQuery = window.matchMedia(\r\n '(prefers-reduced-motion: reduce)'\r\n );\r\n const userOptions = document.querySelector(\r\n '.nav-secondary__item--user-options'\r\n );\r\n const mainHeader = document.querySelector('#main-header');\r\n let previousScrollPosition = 0;\r\n let throttleWait;\r\n\r\n const isScrollingDown = () => {\r\n let currentScrolledPosition = window.scrollY || window.pageYOffset;\r\n let scrollingDown;\r\n\r\n if (currentScrolledPosition > previousScrollPosition) {\r\n scrollingDown = true;\r\n } else {\r\n scrollingDown = false;\r\n }\r\n previousScrollPosition = currentScrolledPosition;\r\n return scrollingDown;\r\n };\r\n\r\n const throttle = (callback, time) => {\r\n if (throttleWait) return;\r\n throttleWait = true;\r\n\r\n setTimeout(() => {\r\n callback();\r\n throttleWait = false;\r\n }, time);\r\n };\r\n\r\n const handleNavScroll = () => {\r\n if (userOptions) {\r\n if (isScrollingDown()) {\r\n userOptions.classList.add('hidden');\r\n mainHeader.classList.add('is-fixed');\r\n mainHeader.style.top = '-100%';\r\n } else {\r\n window.scrollY === 0\r\n ? userOptions.classList.remove('hidden')\r\n : userOptions.classList.add('hidden');\r\n window.scrollY === 0\r\n ? mainHeader.classList.remove('is-fixed')\r\n : mainHeader.classList.add('is-fixed');\r\n mainHeader.style.top = '0';\r\n }\r\n }\r\n };\r\n\r\n window.addEventListener('scroll', () => {\r\n if (mediaQuery && !mediaQuery.matches) {\r\n throttle(handleNavScroll, 150);\r\n }\r\n });\r\n },\r\n\r\n scrollThenOpenMenu: function (navIcon) {\r\n const handleClick = (navIcon) => {\r\n navIcon.classList.toggle('is-active');\r\n\r\n setTimeout(function () {\r\n const triggerOpenButton =\r\n document.getElementById('rpm-trigger');\r\n const triggerCloseButton = document.body;\r\n\r\n if (\r\n navIcon.classList.contains('is-active') &&\r\n triggerOpenButton !== null\r\n ) {\r\n triggerOpenButton.click();\r\n } else if (triggerCloseButton !== null) {\r\n triggerCloseButton.click();\r\n }\r\n }, 20);\r\n };\r\n\r\n const openMobileMenu = (event) => {\r\n // setTimeout(function () {\r\n if (window.scrollY === 0) {\r\n window.removeEventListener('scroll', openMobileMenu);\r\n const triggerOpenButton =\r\n document.getElementById('rpm-trigger');\r\n triggerOpenButton.click();\r\n }\r\n // }, 20);\r\n\r\n setTimeout(function () {\r\n window.removeEventListener('scroll', openMobileMenu);\r\n }, 5000);\r\n };\r\n\r\n if (window.scrollY !== 0) {\r\n window.addEventListener('scroll', openMobileMenu);\r\n window.scroll({\r\n top: 0,\r\n behavior: 'smooth',\r\n });\r\n } else {\r\n handleClick(navIcon);\r\n }\r\n },\r\n navicon: function () {\r\n const navIcon = document.querySelector('.navicon');\r\n\r\n navIcon.onclick = (e) => {\r\n e.preventDefault();\r\n\r\n if (document.getElementById('hamburgerMenu') !== null) {\r\n this.scrollThenOpenMenu(navIcon);\r\n } else {\r\n e.currentTarget.classList.contains('is-active')\r\n ? document\r\n .querySelector('.navigation')\r\n .classList.remove('is-open')\r\n : document\r\n .querySelector('.navigation')\r\n .classList.add('is-open');\r\n\r\n e.currentTarget.classList.toggle('is-active');\r\n }\r\n };\r\n },\r\n\r\n closeMessage: function () {\r\n Array.prototype.forEach.call(\r\n document.querySelectorAll('.message--close'),\r\n (messageClose) => {\r\n messageClose.onclick = (e) => {\r\n e.preventDefault();\r\n e.currentTarget.parentElement.classList.toggle('hidden');\r\n };\r\n }\r\n );\r\n },\r\n};\r\n\r\n///////////////////////////////////////////////////////\r\ndocument.addEventListener('DOMContentLoaded', function (event) {\r\n Lordgun.DOMready();\r\n if (window.cookiePageUrl) {\r\n let yaccInstance = new Yacc({\r\n cookiePageUrl: window.cookiePageUrl,\r\n });\r\n yaccInstance.handleScripts();\r\n yaccInstance.handleBanner();\r\n }\r\n});\r\n\r\nString.prototype.format = String.prototype.f = function () {\r\n var s = this,\r\n i = arguments.length;\r\n while (i--)\r\n s = s.replace(new RegExp('\\\\{' + i + '\\\\}', 'gm'), arguments[i]);\r\n return s;\r\n};\r\n\r\nif (!String.prototype.startsWith) {\r\n String.prototype.startsWith = function (search, pos) {\r\n return (\r\n this.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search\r\n );\r\n };\r\n}\r\n\r\nif (typeof module !== 'undefined' && typeof module.exports !== 'undefined')\r\n module.exports.Lordgun = Lordgun;\r\n","import { logError } from '../tracing';\r\nconst _defaultCookieConsent = {\r\n name: 'cookiesConsent',\r\n exists: false,\r\n firstParty: false,\r\n thirdParty: false,\r\n marketingParty: false,\r\n showBanner: true,\r\n expirationDays: 180, // 6 mesi\r\n};\r\n\r\nconst getDefaultCookieConsentValues = () => _defaultCookieConsent;\r\n\r\nconst _getCookieConsent = () => {\r\n const name = _defaultCookieConsent.name;\r\n return decodeURIComponent(\r\n document.cookie.replace(\r\n new RegExp(\r\n '(?:(?:^|.*;)\\\\s*' +\r\n encodeURIComponent(name).replace(/[\\-\\.\\+\\*]/g, '\\\\$&') +\r\n '\\\\s*\\\\=\\\\s*([^;]*).*$)|^.*$'\r\n ),\r\n '$1'\r\n )\r\n );\r\n};\r\n\r\nconst existsCookieConsent = () => _getCookieConsent() || null;\r\n\r\nconst _removeCookies = (cookieNames) => {\r\n //Works only for cookie without \"httponly\" attribute\r\n if (!cookieNames || cookieNames.length === 0) return;\r\n for (var i = 0; i < cookieNames.length; i++) {\r\n var cookie = cookieNames[i];\r\n if (existsCookieConsent(cookie.name))\r\n document.cookie = btoa(\r\n `${encodeURIComponent(\r\n cookie.name\r\n )}=; expires=Thu, 01 Jan 1970 00:00:00 GMT${\r\n cookie.domain ? '; domain=' + cookie.domain : ''\r\n }; path=/`\r\n );\r\n }\r\n};\r\n\r\nconst removeCookieConsent = () =>\r\n _removeCookies([{ name: _defaultCookieConsent.name }]);\r\n\r\nconst cookiesEnabled = () => {\r\n //navigator.cookieEnabled proved to be not reliable at all\r\n return (\r\n 'cookie' in document &&\r\n (document.cookie.length > 0 ||\r\n (document.cookie = 'test').indexOf.call(document.cookie, 'test') >\r\n -1)\r\n );\r\n};\r\n\r\nconst _setCookieConsent = ({\r\n name,\r\n showBanner,\r\n firstParty,\r\n thirdParty,\r\n marketingParty,\r\n}) => {\r\n /*jshint validthis:true */\r\n const cookieName =\r\n !name || /^(?:expires|max\\-age|path|domain|secure)$/i.test(name)\r\n ? _defaultCookieConsent.name\r\n : name;\r\n\r\n var expires = '';\r\n var date = new Date();\r\n date.setTime(\r\n date.getTime() +\r\n _defaultCookieConsent.expirationDays * 24 * 60 * 60 * 1000\r\n );\r\n expires = '; expires=' + date.toUTCString();\r\n\r\n // NOTA: properties pascalCase per deserializzazione lato server!!\r\n var value = JSON.stringify({\r\n FirstParty: firstParty, // NOTA: properties pascalCase per deserializzazione lato server!!\r\n ThirdParty: thirdParty, // NOTA: properties pascalCase per deserializzazione lato server!!\r\n MarketingParty: marketingParty, // NOTA: properties pascalCase per deserializzazione lato server!!\r\n ShowBanner: showBanner, // NOTA: properties pascalCase per deserializzazione lato server!!\r\n });\r\n document.cookie =\r\n `${encodeURIComponent(cookieName)}=` +\r\n btoa(`${value}`) +\r\n `${expires}; path=/`;\r\n return true;\r\n};\r\n\r\nconst acceptAllAndDontShowBanner = () =>\r\n _setCookieConsent({\r\n showBanner: false,\r\n firstParty: true,\r\n thirdParty: true,\r\n marketingParty: true,\r\n });\r\n\r\nconst getDecodedCookieConsentValues = () => {\r\n try {\r\n const cookie = _getCookieConsent();\r\n var asciiVal = atob(cookie);\r\n let values = JSON.parse(asciiVal);\r\n return values;\r\n } catch (error) {\r\n console.error(\r\n 'getDecodedCookieValues: Cannot decode or parse cookie ',\r\n error\r\n );\r\n return null;\r\n }\r\n};\r\n\r\nconst setCookieConsent = ({\r\n showBanner,\r\n firstParty,\r\n thirdParty,\r\n marketingParty,\r\n}) => _setCookieConsent({ showBanner, firstParty, thirdParty, marketingParty });\r\n\r\nconst getMarketingParty = () => {\r\n const cookieConsentValues = getDecodedCookieConsentValues();\r\n let partyConsent =\r\n cookieConsentValues === null ||\r\n cookieConsentValues === undefined ||\r\n cookieConsentValues.MarketingParty === null ||\r\n cookieConsentValues.MarketingParty === undefined\r\n ? false\r\n : cookieConsentValues.MarketingParty === true;\r\n return partyConsent;\r\n};\r\n\r\nconst getThirdParty = () => {\r\n const cookieConsentValues = getDecodedCookieConsentValues();\r\n let partyConsent =\r\n cookieConsentValues === null ||\r\n cookieConsentValues === undefined ||\r\n cookieConsentValues.ThirdParty === null ||\r\n cookieConsentValues.ThirdParty === undefined\r\n ? false\r\n : cookieConsentValues.ThirdParty === true;\r\n return partyConsent;\r\n};\r\n\r\nconst _getCookie = function (cname) {\r\n let name = cname + '=';\r\n let decodedCookie = decodeURIComponent(document.cookie);\r\n let ca = decodedCookie.split(';');\r\n for (let i = 0; i < ca.length; i++) {\r\n let c = ca[i];\r\n while (c.charAt(0) == ' ') {\r\n c = c.substring(1);\r\n }\r\n if (c.indexOf(name) == 0) {\r\n return c.substring(name.length, c.length);\r\n }\r\n }\r\n return '';\r\n};\r\n\r\nconst getUserProfileOptions = () => {\r\n const userProfileCookieKey = 'userProfile';\r\n try {\r\n const cookie = _getCookie(userProfileCookieKey);\r\n if (cookie) {\r\n const parsedCookie = JSON.parse(atob(cookie));\r\n return {\r\n countryCode: parsedCookie.CountryCode,\r\n currencyCode: parsedCookie.CurrencyCode,\r\n name: parsedCookie.Name,\r\n };\r\n }\r\n throw new Error(\r\n `Cookie ${userProfileCookieKey} not found, falling back to defaults`\r\n );\r\n } catch (error) {\r\n logError(`Error decoding cookie ${userProfileCookieKey}`, error);\r\n return {\r\n countryCode: 'ITA',\r\n currencyCode: 'EUR',\r\n name: userProfileCookieKey,\r\n };\r\n }\r\n};\r\n\r\nexport default {\r\n getDefaultCookieConsentValues,\r\n removeCookieConsent,\r\n existsCookieConsent,\r\n cookiesEnabled,\r\n acceptAllAndDontShowBanner,\r\n getDecodedCookieConsentValues,\r\n setCookieConsent,\r\n getMarketingParty,\r\n getThirdParty,\r\n getUserProfileOptions,\r\n};\r\n","import {\r\n logDebug,\r\n logInfo,\r\n logWarn,\r\n logError,\r\n logEvent,\r\n} from '../../tracing.js';\r\n\r\nconst validateGoogleData = (prop, defaultValue) => {\r\n if (!window.googleData) {\r\n throw new Error('window.googleData is not defined');\r\n }\r\n if (\r\n window.googleData[prop] === null ||\r\n window.googleData[prop] === undefined\r\n ) {\r\n if (defaultValue !== undefined) {\r\n logWarn(\r\n `${prop} is not defined on window.googleData. Falling back ${defaultValue}`\r\n );\r\n return defaultValue;\r\n } else {\r\n throw new Error(`${prop} is not defined on window.googleData`);\r\n }\r\n }\r\n logDebug(\r\n `Google data prop found. Retrieving prop ${prop} with value ${window.googleData[prop]}`\r\n );\r\n return window.googleData[prop];\r\n};\r\nconst validateEcommerceData = (prop, defaultValue) => {\r\n if (!window.ecommerceData) {\r\n throw new Error('window.ecommerceData is not defined');\r\n }\r\n if (\r\n window.ecommerceData[prop] === null ||\r\n window.ecommerceData[prop] === undefined\r\n ) {\r\n if (defaultValue !== undefined) {\r\n logWarn(\r\n `${prop} is not defined on window.ecommerceData. Falling back ${defaultValue}`\r\n );\r\n return defaultValue;\r\n } else {\r\n throw new Error(`${prop} is not defined on window.ecommerceData`);\r\n }\r\n }\r\n logDebug(\r\n `Ecommerce data prop found. Retrieving prop ${prop} with value ${window.ecommerceData[prop]}`\r\n );\r\n return window.ecommerceData[prop];\r\n};\r\n\r\nconst extractAdwordsConfiguration = () => {\r\n const adwordsConfiguration = validateGoogleData('adwordsConfiguration');\r\n const ads = JSON.parse(adwordsConfiguration.replace(/"/g, '\"'));\r\n return ads;\r\n};\r\nexport {\r\n validateGoogleData,\r\n extractAdwordsConfiguration,\r\n validateEcommerceData,\r\n};\r\n","// https://developers.google.com/analytics/devguides/collection/ga4/reference/events\r\nimport {\r\n logDebug,\r\n logInfo,\r\n logWarn,\r\n logError,\r\n logEvent,\r\n} from '../../tracing.js';\r\nimport {\r\n map,\r\n reduce,\r\n isArray,\r\n uniq,\r\n intersection,\r\n find,\r\n some,\r\n isNil,\r\n isEmpty,\r\n includes,\r\n hasIn,\r\n result,\r\n} from 'lodash';\r\nimport { validateGoogleData } from '../data/dataPageService.js';\r\n\r\nimport cookieService from '../cookieService.js';\r\n\r\nimport {\r\n extractAdwordsConfiguration,\r\n validateEcommerceData,\r\n} from '../data/dataPageService.js';\r\n\r\nconst _prefix = 'ADS';\r\n\r\nconst _getDestinationId = (property) => {\r\n try {\r\n const adwordsConfiguration = extractAdwordsConfiguration();\r\n const countryCode = cookieService.getUserProfileOptions().countryCode;\r\n const defaultCountryCode = validateEcommerceData('defaultCountryCode');\r\n if (!adwordsConfiguration[property]) {\r\n logError(`${_prefix} ${property} is not defined`);\r\n throw new Error(` ${property} is not defined`);\r\n }\r\n\r\n const valueForSelectedCountry =\r\n adwordsConfiguration[property][countryCode];\r\n if (\r\n isNil(valueForSelectedCountry) ||\r\n isEmpty(valueForSelectedCountry)\r\n ) {\r\n logInfo(\r\n `${_prefix} ${property} for ${countryCode} is not defined...falling back to default.`\r\n );\r\n const valueForDefaultCountry =\r\n adwordsConfiguration[property][defaultCountryCode];\r\n\r\n if (\r\n isNil(valueForDefaultCountry) ||\r\n isEmpty(valueForDefaultCountry)\r\n ) {\r\n throw new Error(\r\n `${property} for defaultCountryCode ${defaultCountryCode} is not defined`\r\n );\r\n }\r\n return valueForDefaultCountry;\r\n }\r\n return valueForSelectedCountry;\r\n } catch (error) {\r\n logError(`${_prefix} ${error.message}`);\r\n throw new Error(error.message);\r\n }\r\n};\r\n\r\nconst _getConversionId = () => _getDestinationId('conversionId');\r\nconst _getConversionLabel = () => _getDestinationId('conversionLabel');\r\nconst _getInitiateCheckoutLabel = () =>\r\n _getDestinationId('initiateCheckoutLabel');\r\nconst _getAddToCartLabel = () => _getDestinationId('addToCartLabel');\r\nconst _getNewsletterLabel = () => _getDestinationId('newsletterLabel');\r\nconst _getValuePropertyForCountryWithFallback = ({\r\n property,\r\n fallbackValue,\r\n}) => {\r\n const adwordsConfiguration = extractAdwordsConfiguration();\r\n const countryCode = cookieService.getUserProfileOptions().countryCode;\r\n const defaultCountryCode = validateEcommerceData('defaultCountryCode');\r\n if (!hasIn(adwordsConfiguration, property)) {\r\n logError(`${_prefix} ${property} is not defined`);\r\n return fallbackValue;\r\n }\r\n\r\n if (!hasIn(adwordsConfiguration, property + '.' + countryCode)) {\r\n logWarn(\r\n `${property} not found for countryCode ${countryCode}. Falling back to ${defaultCountryCode}`\r\n );\r\n const resultFromDefaultCountryCode =\r\n result(adwordsConfiguration, property + '.' + defaultCountryCode) ||\r\n fallbackValue;\r\n logDebug(\r\n `Using value ${resultFromDefaultCountryCode} for property ${property}`\r\n );\r\n return resultFromDefaultCountryCode;\r\n }\r\n const resultFromMatchedCountryCode =\r\n result(adwordsConfiguration, property + '.' + countryCode) ||\r\n fallbackValue;\r\n return resultFromMatchedCountryCode;\r\n};\r\n\r\nconst _getCategoriesConversionLabel = (conversionLabel) => {\r\n let fallbackValue = conversionLabel;\r\n try {\r\n const property = 'categoriesConversionLabel';\r\n return _getValuePropertyForCountryWithFallback({\r\n property,\r\n fallbackValue,\r\n });\r\n } catch (error) {\r\n logDebug(\r\n `${_prefix} no retrieval of categories conversion label. Maybe there is none? I will return empty string.`\r\n );\r\n return fallbackValue;\r\n }\r\n};\r\nconst _getTrackedCategories = () => {\r\n let fallbackValue = [];\r\n try {\r\n const property = 'trackedCategories';\r\n return _getValuePropertyForCountryWithFallback({\r\n property,\r\n fallbackValue,\r\n });\r\n } catch (error) {\r\n logDebug(\r\n `${_prefix} no retrieval of tracked categories. Maybe there are none? I will return empty tracked categories.`\r\n );\r\n return fallbackValue;\r\n }\r\n};\r\n\r\nconst _validateGtag = () => {\r\n if (!window.gtag) {\r\n throw new Error('window.gtag is null or undefined');\r\n }\r\n};\r\n\r\nconst _mapItemsForDynamicRemarketing = (items) =>\r\n map(items, (item) => ({\r\n id: item.googleId,\r\n google_business_vertical: 'retail',\r\n }));\r\n\r\nconst beginCheckout = ({ cartId, currency, totaleuro, items }) => {\r\n _validateGtag();\r\n const conversionId = _getConversionId();\r\n const initiateCheckoutLabel = _getInitiateCheckoutLabel();\r\n if (!isNil(initiateCheckoutLabel) && !isEmpty(initiateCheckoutLabel)) {\r\n const beginCheckoutObj = {\r\n transaction_id: cartId, // transaction_id è documentato solo per purchase...?\r\n send_to: `${conversionId}/${initiateCheckoutLabel}`,\r\n currency,\r\n value: totaleuro,\r\n items: map(items, (item) => ({\r\n item_id: item.googleId,\r\n item_name: item.slug,\r\n })),\r\n };\r\n logEvent(`${_prefix} begin_checkout`, beginCheckoutObj);\r\n gtag('event', 'begin_checkout', beginCheckoutObj);\r\n }\r\n};\r\n\r\nconst purchaseDynamicRemarketing = ({ value, items }) => {\r\n _validateGtag();\r\n const conversionId = _getConversionId();\r\n const obj = {\r\n send_to: conversionId,\r\n value,\r\n items: _mapItemsForDynamicRemarketing(items),\r\n };\r\n logEvent(`${_prefix} purchase dynamic remarketing`, obj);\r\n gtag('event', 'purchase', obj);\r\n};\r\n\r\nconst purchaseConversion = ({ orderId, currency, totalEuro, items }) => {\r\n try {\r\n _validateGtag();\r\n // O quella della country o quella di default\r\n const conversionId = _getConversionId();\r\n // O quella della country o quella di default\r\n const conversionLabel = _getConversionLabel();\r\n logDebug(\r\n `conversionId ${conversionId} and conversionLabel ${conversionLabel}`\r\n );\r\n // O quella della country o quella di default\r\n const categoriesConversionLabel =\r\n _getCategoriesConversionLabel(conversionLabel);\r\n // Quelle della country o quelle di default\r\n const trackedCategories = _getTrackedCategories();\r\n\r\n logDebug(\r\n `categoriesConversionLabel and trackedCategories`,\r\n categoriesConversionLabel,\r\n trackedCategories\r\n );\r\n\r\n const orderCategories = uniq(\r\n reduce(\r\n items,\r\n (acc, item) => {\r\n const itms = map(\r\n item.categories,\r\n (category) => category.slug\r\n );\r\n acc = acc.concat(itms);\r\n return acc;\r\n },\r\n []\r\n )\r\n );\r\n let send_to_address_label = conversionLabel || '';\r\n const foundMatchingCategories =\r\n intersection(orderCategories, trackedCategories).length > 0;\r\n if (foundMatchingCategories) {\r\n logDebug(\r\n `Tracked category found. TrackedCategories: ${trackedCategories}, Order categories: ${orderCategories}`\r\n );\r\n send_to_address_label = categoriesConversionLabel;\r\n }\r\n\r\n let conversionData = {\r\n transaction_id: orderId,\r\n send_to: `${conversionId}/${send_to_address_label}`,\r\n value: totalEuro,\r\n currency,\r\n items: map(items, (item) => {\r\n return {\r\n id: item.googleId,\r\n quantity: item.quantity,\r\n price: item.price,\r\n };\r\n }),\r\n };\r\n logEvent('conversion', conversionData);\r\n if (window.enhanced_conversion_data) {\r\n console.log(\r\n 'Enhanced conversion data',\r\n window.enhanced_conversion_data\r\n );\r\n\r\n logEvent('EnhancedConversionData', window.enhanced_conversion_data);\r\n }\r\n return window.gtag('event', 'conversion', conversionData);\r\n } catch (error) {\r\n logError(`purchaseConversion: ${error.message}`);\r\n throw new Error(`purchaseConversion: ${error.message}`);\r\n }\r\n};\r\n\r\nconst newsletterRegistration = ({ url, email }) => {\r\n try {\r\n _validateGtag();\r\n const conversionId = _getConversionId();\r\n const newsletterLabel = _getNewsletterLabel();\r\n\r\n if (!isNil(newsletterLabel) && !isEmpty(newsletterLabel)) {\r\n let obj = {\r\n send_to: `${conversionId}/${newsletterLabel}`,\r\n url: url === undefined ? window.location.href : url,\r\n email,\r\n value: 1,\r\n };\r\n logEvent(`${_prefix} CompleteRegistration`, obj);\r\n gtag('event', 'CompleteRegistration', obj);\r\n }\r\n } catch (error) {\r\n logError(`${_prefix} ${error.message}`);\r\n throw new Error(error.message);\r\n }\r\n};\r\n\r\nconst adsSearchItemResultsDynamicRemarketing = ({ searchterm, items }) => {\r\n _validateGtag();\r\n const viewItemObject = {\r\n search_term: searchterm,\r\n items: _mapItemsForDynamicRemarketing(items),\r\n };\r\n\r\n logEvent(\r\n `${_prefix} view_search_results dynamic remarketing`,\r\n viewItemObject\r\n );\r\n gtag('event', 'view_search_results', viewItemObject);\r\n};\r\n\r\nconst adsViewItemListDynamicRemarketing = ({ items }) => {\r\n _validateGtag();\r\n const conversionId = _getConversionId();\r\n\r\n const obj = {\r\n send_to: conversionId,\r\n items: _mapItemsForDynamicRemarketing(items),\r\n };\r\n\r\n logEvent(`${_prefix} view_item_list dynamic remarketing`, obj);\r\n gtag('event', 'view_item_list', obj);\r\n};\r\n\r\nconst adsViewItemDynamicRemarketing = ({ value, items }) => {\r\n _validateGtag();\r\n const conversionId = _getConversionId();\r\n const obj = {\r\n send_to: conversionId,\r\n value,\r\n items: _mapItemsForDynamicRemarketing(items),\r\n };\r\n\r\n logEvent(`${_prefix} view_item dynamic remarketing`, obj);\r\n gtag('event', 'view_item', obj);\r\n};\r\n\r\nconst adsAddToCartDynamicRemarketing = ({ id, price }) => {\r\n _validateGtag();\r\n const conversionId = _getConversionId();\r\n const obj = {\r\n send_to: conversionId,\r\n value: price,\r\n items: [\r\n {\r\n id,\r\n google_business_vertical: 'retail',\r\n },\r\n ],\r\n };\r\n\r\n logEvent(`${_prefix} add_to_cart dynamic remarketing`, obj);\r\n gtag('event', 'add_to_cart', obj);\r\n};\r\n\r\nconst adsAddToCartConversion = ({\r\n id,\r\n currency,\r\n price,\r\n items,\r\n transactionId,\r\n}) => {\r\n _validateGtag();\r\n const conversionId = _getConversionId();\r\n const addToCartLabel = _getAddToCartLabel();\r\n if (!isNil(addToCartLabel) && !isEmpty(addToCartLabel)) {\r\n if (!some(items, (item) => item.googleId === id)) {\r\n logWarn(\r\n `Mismatch between serverside ids and current clientside id ${id} on add_to_cart. Serverside ids: ${map(\r\n items,\r\n (i) => i.googleId\r\n )}`\r\n );\r\n }\r\n\r\n let obj = {\r\n send_to: `${conversionId}/${addToCartLabel}`,\r\n currency,\r\n value: price,\r\n };\r\n if (!isNil(transactionId) && !isEmpty(transactionId)) {\r\n obj.transaction_id = transactionId;\r\n }\r\n\r\n logEvent(`${_prefix} add_to_cart conversion`, obj);\r\n gtag('event', 'add_to_cart', obj);\r\n }\r\n};\r\n\r\nconst initConversions = () => {\r\n const conversionId = _getConversionId();\r\n const analytics4EnableDebug = validateGoogleData(\r\n 'analytics4EnableDebug',\r\n false\r\n );\r\n\r\n const configAlreadySetConversionId = some(\r\n dataLayer,\r\n (d) => includes(d, 'config') && includes(d, conversionId)\r\n );\r\n if (!configAlreadySetConversionId) {\r\n if (analytics4EnableDebug === true) {\r\n gtag('config', conversionId, {\r\n debug_mode: analytics4EnableDebug, // Per ora uso lo stesso config\r\n });\r\n } else {\r\n gtag('config', conversionId);\r\n }\r\n logEvent(`Setting \\'config\\' with conversionId ${conversionId}`);\r\n }\r\n};\r\n\r\nexport {\r\n beginCheckout,\r\n purchaseDynamicRemarketing,\r\n purchaseConversion,\r\n newsletterRegistration,\r\n adsSearchItemResultsDynamicRemarketing,\r\n adsViewItemListDynamicRemarketing,\r\n adsViewItemDynamicRemarketing,\r\n adsAddToCartDynamicRemarketing,\r\n adsAddToCartConversion,\r\n initConversions,\r\n};\r\n","import { logInfo } from \"../../tracing\";\r\n\r\nconst _setGranted = () => ({\r\n 'ad_storage': 'granted',\r\n 'ad_user_data': 'granted',\r\n 'ad_personalization': 'granted',\r\n 'analytics_storage': 'granted',\r\n 'wait_for_update': 500\r\n});\r\n\r\nconst _setDenied = () => ({\r\n 'ad_storage': 'denied',\r\n 'ad_user_data': 'denied',\r\n 'ad_personalization': 'denied',\r\n 'analytics_storage': 'denied',\r\n 'wait_for_update': 500\r\n});\r\n\r\nconst _consentGrantedAdStorage= (gtag) => {\r\n gtag('consent', 'update', _setGranted());\r\n logInfo('ConsentModePrivacyService update consent set to TRUE.');\r\n}\r\nconst _consentDeniedAdStorage= (gtag) => {\r\n gtag('consent', 'update', _setDenied());\r\n logInfo('ConsentModePrivacyService update consent set to FALSE.');\r\n}\r\n\r\nconst setDefault = ({gtag}) => {\r\n gtag('consent', 'default', _setDenied());\r\n logInfo('ConsentModePrivacyService default consent set.');\r\n}\r\n\r\nconst setConsent = ({accept,gtag}) => accept === true ? _consentGrantedAdStorage(gtag) : _consentDeniedAdStorage(gtag);\r\n\r\nexport default {\r\n setDefault,\r\n setConsent\r\n}","import {\r\n logDebug,\r\n logInfo,\r\n logWarn,\r\n logError,\r\n logEvent,\r\n} from '../../tracing.js';\r\n\r\nimport { map } from 'lodash';\r\nconst _prefix = 'FBQ';\r\n\r\nconst _validateFbq = () => {\r\n if (!fbq) {\r\n throw new Error('fbq is null or undefined');\r\n }\r\n};\r\n\r\nconst _validateFbqData = (prop) => {\r\n if (!window.facebookData) {\r\n throw new Error(`${_prefix} window.facebookData is not defined`);\r\n }\r\n if (!window.facebookData[prop]) {\r\n throw new Error(\r\n `${_prefix} ${prop} is not defined on window.facebookData`\r\n );\r\n }\r\n};\r\n\r\nconst fbqPixelId = () => {\r\n _validateFbqData('pixelId');\r\n _validateFbqData('fbCulture');\r\n _validateFbq();\r\n logDebug(\r\n `PixelId: ${window.facebookData.pixelId} fbCulture: ${window.facebookData.fbCulture} `\r\n );\r\n logDebug('Firing pixelId', window.facebookData.pixelId);\r\n fbq('init', window.facebookData.pixelId);\r\n};\r\n\r\nconst init = () => {\r\n //Facebook pixelId\r\n !(function (f, b, e, v, n, t, s) {\r\n if (f.fbq) return;\r\n n = f.fbq = function () {\r\n n.callMethod\r\n ? n.callMethod.apply(n, arguments)\r\n : n.queue.push(arguments);\r\n };\r\n if (!f._fbq) f._fbq = n;\r\n n.push = n;\r\n n.loaded = !0;\r\n n.version = '2.0';\r\n n.queue = [];\r\n t = b.createElement(e);\r\n t.async = !0;\r\n t.src = v;\r\n s = b.getElementsByTagName(e)[0];\r\n s.parentNode.insertBefore(t, s);\r\n })(\r\n window,\r\n document,\r\n 'script',\r\n 'https://connect.facebook.net/en_US/fbevents.js'\r\n );\r\n};\r\n\r\nconst addToCart = ({ isKit, id, quantity, currency, price, eventId }) => {\r\n _validateFbq();\r\n const addToCartObject = {\r\n content_name: isKit\r\n ? `${window.$pathBase}Cart/AddKitToCartNew`\r\n : `${window.$pathBase}Cart/AddProductToCartNew`,\r\n content_type: 'product',\r\n contents: [\r\n {\r\n id,\r\n quantity: Number(quantity),\r\n },\r\n ],\r\n currency: currency,\r\n value: price,\r\n };\r\n\r\n logEvent(`${_prefix} AddToCart Facebook`, addToCartObject);\r\n fbq('track', 'AddToCart', addToCartObject, { eventID: eventId });\r\n};\r\n\r\nconst pageView = () => {\r\n _validateFbq();\r\n logEvent(`${_prefix} PageView Facebook`);\r\n fbq('track', 'PageView');\r\n};\r\n\r\nconst beginCheckout = ({ currency, value, items, eventId }) => {\r\n logDebug('_sendFbqInitiateCheckout');\r\n _validateFbq();\r\n const initiateCheckoutData = {\r\n currency,\r\n value,\r\n num_items: items.length,\r\n contents: map(items, (item) => ({\r\n id: item.facebookId,\r\n quantity: item.quantity,\r\n })),\r\n };\r\n logEvent(`${_prefix} InitiateCheckout Facebook`, initiateCheckoutData);\r\n fbq('track', 'InitiateCheckout', initiateCheckoutData, {\r\n eventID: eventId,\r\n });\r\n};\r\n\r\nconst newsletterRegistration = ({ url, email }) => {\r\n logDebug('_sendFbqRegistration');\r\n _validateFbq();\r\n const completeRegistrationObj = {\r\n status: true,\r\n content_name: url === undefined ? window.location.href : url,\r\n value: email,\r\n };\r\n logEvent(\r\n `${_prefix} CompleteRegistration Facebook`,\r\n completeRegistrationObj\r\n );\r\n fbq('track', 'CompleteRegistration', completeRegistrationObj);\r\n};\r\n\r\nconst contact = () => {\r\n _validateFbq();\r\n\r\n logEvent(`${_prefix} Contact Facebook`);\r\n fbq('track', 'Contact');\r\n};\r\n\r\nconst search = ({ searchterm }) => {\r\n _validateFbq();\r\n logEvent(`${_prefix} Search Facebook`, searchterm);\r\n fbq('track', 'Search', {\r\n search_string: searchterm,\r\n });\r\n};\r\n\r\nconst addPaymentInfo = ({ currency, value, items, eventId }) => {\r\n _validateFbq();\r\n const paymentObj = {\r\n currency,\r\n value,\r\n contents: map(items, (item) => ({\r\n id: item.googleId,\r\n quantity: item.quantity,\r\n })),\r\n };\r\n logEvent(`${_prefix} AddPaymentInfo Facebook`, paymentObj);\r\n fbq('track', 'AddPaymentInfo', paymentObj, { eventID: eventId });\r\n};\r\n\r\nconst viewItem = ({ slug, guid, options, currencyCode, isKit }) => {\r\n _validateFbq();\r\n fbqPixelId();\r\n const viewItemObject = {\r\n content_name: `${window.$pathBase}${slug}`,\r\n content_ids: isKit\r\n ? [`${guid}`]\r\n : map(options, (o) => `${guid}-${o.sourceId}`),\r\n currency: currencyCode,\r\n };\r\n logEvent(`${_prefix} ViewContent Facebook`, viewItemObject);\r\n fbq('track', 'ViewContent', viewItemObject);\r\n};\r\n\r\nconst purchase = ({ currency, value, items, eventId }) => {\r\n _validateFbq();\r\n let purchaseData = {\r\n contents: items.map((li) => ({\r\n id: li.facebookId,\r\n quantity: li.quantity,\r\n })),\r\n content_type: 'product',\r\n value,\r\n currency,\r\n };\r\n logEvent(`${_prefix} Purchase Facebook`, purchaseData);\r\n fbq('track', 'Purchase', purchaseData, { eventID: eventId });\r\n};\r\n\r\nexport {\r\n init,\r\n addToCart,\r\n fbqPixelId,\r\n pageView,\r\n beginCheckout,\r\n newsletterRegistration,\r\n contact,\r\n search,\r\n addPaymentInfo,\r\n viewItem,\r\n purchase,\r\n};\r\n","// https://developers.google.com/analytics/devguides/collection/ga4/reference/events\r\nimport { logDebug, logWarn, logError, logEvent } from '../../tracing.js';\r\n\r\nimport {\r\n map,\r\n isArray,\r\n find,\r\n some,\r\n includes,\r\n forEach,\r\n isNil,\r\n isEmpty,\r\n} from 'lodash';\r\n\r\nimport { validateGoogleData } from '../data/dataPageService.js';\r\n\r\nconst _prefix = 'GA4';\r\nconst _validateGtag = () => {\r\n if (!window.gtag) {\r\n throw new Error('window.gtag is null or undefined');\r\n }\r\n};\r\n\r\nconst _setCategories = ({ itemObj, categories }) => {\r\n forEach(categories, (category, index) => {\r\n itemObj[`item_category${index === 0 ? '' : index}`] = category;\r\n });\r\n return itemObj;\r\n};\r\n\r\nconst _mapItems = (items) =>\r\n map(items, (item) => {\r\n const itemObj = {\r\n item_id: item.googleId,\r\n item_name: item.slug,\r\n };\r\n if (!isNil(item.quantity)) {\r\n itemObj.quantity = item.quantity;\r\n }\r\n if (!isNil(item.currency)) {\r\n itemObj.currency = item.currency;\r\n }\r\n if (!isNil(item.price)) {\r\n itemObj.price = item.price;\r\n }\r\n if (!isNil(item.disciplines)) {\r\n itemObj.disciplines = item.disciplines;\r\n }\r\n if (!isNil(item.brandName)) {\r\n itemObj.item_brand = item.brandName;\r\n }\r\n if (\r\n !isNil(item.categories) &&\r\n item.categories &&\r\n item.categories.length > 0\r\n ) {\r\n return _setCategories({ itemObj, categories: item.categories });\r\n }\r\n return itemObj;\r\n });\r\n\r\nconst beginCheckout = ({ currency, totaleuro, items }) => {\r\n _validateGtag();\r\n const analytics4MeasurementId = validateGoogleData(\r\n 'analytics4MeasurementId'\r\n );\r\n const analytics4MeasurementGlobalId = validateGoogleData(\r\n 'analytics4MeasurementGlobalId'\r\n );\r\n\r\n const obj = {\r\n send_to: [analytics4MeasurementId, analytics4MeasurementGlobalId],\r\n // transaction_id: cartId, // CREDO NON sia passabile, non è documentato e non mi pare registrare l'evento se lo aggiungo.\r\n currency,\r\n value: totaleuro,\r\n items: _mapItems(items),\r\n };\r\n logEvent(`${_prefix} begin_checkout`, obj);\r\n gtag('event', 'begin_checkout', obj);\r\n};\r\n\r\nconst purchase = ({ transaction_id, currency, value, shipping, items }) => {\r\n _validateGtag();\r\n const analytics4MeasurementId = validateGoogleData(\r\n 'analytics4MeasurementId'\r\n );\r\n const analytics4MeasurementGlobalId = validateGoogleData(\r\n 'analytics4MeasurementGlobalId'\r\n );\r\n\r\n let obj = {\r\n transaction_id,\r\n send_to: [analytics4MeasurementId, analytics4MeasurementGlobalId],\r\n currency,\r\n value,\r\n shipping,\r\n items: items.map((li) => ({\r\n item_id: li.googleId,\r\n item_name: li.slug,\r\n item_category:\r\n li.categories &&\r\n isArray(li.categories) &&\r\n li.categories.length > 0\r\n ? li.categories[0]\r\n : '',\r\n item_brand:\r\n isNil(li.brandName) || isEmpty(li.brandName)\r\n ? ''\r\n : li.brandName,\r\n price: li.price,\r\n quantity: li.quantity,\r\n })),\r\n };\r\n logEvent(`${_prefix} purchase`, obj);\r\n gtag('event', 'purchase', obj);\r\n};\r\n\r\nconst newsletterRegistration = ({ url, email }) => {\r\n _validateGtag();\r\n const analytics4MeasurementId = validateGoogleData(\r\n 'analytics4MeasurementId'\r\n );\r\n const analytics4MeasurementGlobalId = validateGoogleData(\r\n 'analytics4MeasurementGlobalId'\r\n );\r\n\r\n let obj = {\r\n send_to: [analytics4MeasurementId, analytics4MeasurementGlobalId],\r\n url: url === undefined ? window.location.href : url,\r\n email,\r\n };\r\n logEvent(`${_prefix} CompleteRegistration`, obj);\r\n gtag('event', 'CompleteRegistration', obj);\r\n};\r\n\r\nconst viewItem = ({ currency, value, items }) => {\r\n _validateGtag();\r\n const analytics4MeasurementId = validateGoogleData(\r\n 'analytics4MeasurementId'\r\n );\r\n const analytics4MeasurementGlobalId = validateGoogleData(\r\n 'analytics4MeasurementGlobalId'\r\n );\r\n\r\n const obj = {\r\n send_to: [analytics4MeasurementId, analytics4MeasurementGlobalId],\r\n\r\n currency,\r\n value,\r\n items: _mapItems(items),\r\n };\r\n\r\n logEvent(`${_prefix} view_item`, obj);\r\n gtag('event', 'view_item', obj);\r\n};\r\n\r\nconst searchItemsResults = ({ searchterm }) => {\r\n // NOTA: abbiamo disabilitato l'enhancement measure su GA4 (stream web)\r\n // al fine di evitare duplicazione di questi eventi.\r\n // Disabilitandolo, nei report ne risulta uno,\r\n // anche se comunque ne vengono sparati due (uno dal nostro codice e uno by default da Google)\r\n _validateGtag();\r\n const obj = {\r\n search_term: searchterm,\r\n };\r\n\r\n logEvent(`${_prefix} search`, obj);\r\n gtag('event', 'search', obj);\r\n};\r\n\r\nconst viewItemList = ({ items }) => {\r\n _validateGtag();\r\n const analytics4MeasurementId = validateGoogleData(\r\n 'analytics4MeasurementId'\r\n );\r\n const analytics4MeasurementGlobalId = validateGoogleData(\r\n 'analytics4MeasurementGlobalId'\r\n );\r\n\r\n const obj = {\r\n send_to: [analytics4MeasurementId, analytics4MeasurementGlobalId],\r\n items: _mapItems(items),\r\n };\r\n\r\n logEvent(`${_prefix} view_item_list`, obj);\r\n gtag('event', 'view_item_list', obj);\r\n};\r\n\r\nconst viewCart = ({ cartId, currency, totaleuro, items }) => {\r\n _validateGtag();\r\n const obj = {\r\n // transaction_id: cartId,\r\n currency,\r\n value: parseFloat(totaleuro),\r\n items: _mapItems(items),\r\n };\r\n\r\n logEvent(`${_prefix} view_cart`, obj);\r\n gtag('event', 'view_cart', obj);\r\n};\r\n\r\nconst addShippingInfo = ({ cartId, currency, value, items, shipping_tier }) => {\r\n _validateGtag();\r\n const obj = {\r\n // transaction_id: cartId, // NON SI PUO' METTERE o NON REGISTRA L'EVENTO\r\n currency,\r\n value: parseFloat(value),\r\n items: _mapItems(items),\r\n shipping_tier: shipping_tier,\r\n };\r\n logEvent(`${_prefix} add_shipping_info`, obj);\r\n gtag('event', 'add_shipping_info', obj);\r\n};\r\n\r\nconst addToCart = ({\r\n id,\r\n quantity,\r\n currency,\r\n price,\r\n items,\r\n disciplines,\r\n categories,\r\n brandName,\r\n}) => {\r\n _validateGtag();\r\n\r\n if (!some(items, (item) => item.googleId === id)) {\r\n logWarn(\r\n `Mismatch between serverside ids and current clientside id ${id} on add_to_cart. Serverside ids: ${map(\r\n items,\r\n (i) => i.googleId\r\n )}`\r\n );\r\n }\r\n const analytics4MeasurementId = validateGoogleData(\r\n 'analytics4MeasurementId'\r\n );\r\n const analytics4MeasurementGlobalId = validateGoogleData(\r\n 'analytics4MeasurementGlobalId'\r\n );\r\n const obj = {\r\n send_to: [analytics4MeasurementId, analytics4MeasurementGlobalId],\r\n currency,\r\n value: find(items, (item) => item.googleId === id).price,\r\n items: _mapItems([\r\n {\r\n googleId: id,\r\n slug: find(items, (item) => item.googleId === id).slug,\r\n quantity,\r\n currency,\r\n price: find(items, (item) => item.googleId === id).price,\r\n disciplines,\r\n brandName,\r\n categories,\r\n },\r\n ]),\r\n };\r\n\r\n logEvent(`${_prefix} add_to_cart`, obj);\r\n gtag('event', 'add_to_cart', obj);\r\n};\r\n\r\nconst addPaymentInfo = ({ currency, value, items, payment }) => {\r\n _validateGtag();\r\n const obj = {\r\n currency,\r\n value,\r\n payment_type: payment,\r\n items: _mapItems(items),\r\n };\r\n logEvent(`${_prefix} add_payment_info`, obj);\r\n gtag('event', 'add_payment_info', obj);\r\n};\r\n\r\nconst closePopUp = () => {\r\n _validateGtag();\r\n const analytics4MeasurementId = validateGoogleData(\r\n 'analytics4MeasurementId'\r\n );\r\n const analytics4MeasurementGlobalId = validateGoogleData(\r\n 'analytics4MeasurementGlobalId'\r\n );\r\n\r\n const obj = {\r\n send_to: [analytics4MeasurementId, analytics4MeasurementGlobalId],\r\n content_type: 'close pop up',\r\n };\r\n\r\n logEvent(`${_prefix} select_content`, obj);\r\n gtag('event', 'select_content', obj);\r\n};\r\n\r\nconst popUpButtonClick = () => {\r\n _validateGtag();\r\n const analytics4MeasurementId = validateGoogleData(\r\n 'analytics4MeasurementId'\r\n );\r\n const analytics4MeasurementGlobalId = validateGoogleData(\r\n 'analytics4MeasurementGlobalId'\r\n );\r\n\r\n const obj = {\r\n send_to: [analytics4MeasurementId, analytics4MeasurementGlobalId],\r\n content_type: 'pop up button click',\r\n };\r\n\r\n logEvent(`${_prefix} select_content`, obj);\r\n gtag('event', 'select_content', obj);\r\n};\r\n\r\nconst init = ({ debug }) => {\r\n // Analytics 4\r\n if (!window.dataLayer) {\r\n logDebug('window.dataLayer does not exist. Creating it as empty array');\r\n }\r\n window.dataLayer = window.dataLayer || [];\r\n logDebug('window.dataLayer set...');\r\n function gtag() {\r\n dataLayer.push(arguments);\r\n }\r\n window.gtag = gtag;\r\n _validateGtag();\r\n logDebug('window.gtag set...');\r\n gtag('js', new Date());\r\n};\r\nconst setConfigGoogleAnalytics4 = ({ debug }) => {\r\n _validateGtag();\r\n // Questo config in automatico, per default, setta send_page_view a true per GA4 (con dei parametri di default).\r\n const analytics4MeasurementId = validateGoogleData(\r\n 'analytics4MeasurementId'\r\n );\r\n\r\n const configAlreadySetAnalytics4MeasurementId = some(\r\n dataLayer,\r\n (d) => includes(d, 'config') && includes(d, analytics4MeasurementId)\r\n );\r\n if (!configAlreadySetAnalytics4MeasurementId) {\r\n if (debug === true) {\r\n gtag('config', analytics4MeasurementId, {\r\n debug_mode: debug,\r\n });\r\n } else {\r\n gtag('config', analytics4MeasurementId);\r\n }\r\n logEvent(\r\n `GA4 pageview via \\'config\\' for measurement id ${analytics4MeasurementId}`\r\n );\r\n }\r\n\r\n const analytics4MeasurementGlobalId = validateGoogleData(\r\n 'analytics4MeasurementGlobalId'\r\n );\r\n\r\n const configAlreadySetAnalytics4MeasurementGlobalId = some(\r\n dataLayer,\r\n (d) =>\r\n includes(d, 'config') && includes(d, analytics4MeasurementGlobalId)\r\n );\r\n if (!configAlreadySetAnalytics4MeasurementGlobalId) {\r\n if (debug === true) {\r\n gtag('config', configAlreadySetAnalytics4MeasurementGlobalId, {\r\n debug_mode: debug,\r\n });\r\n } else {\r\n gtag('config', configAlreadySetAnalytics4MeasurementGlobalId);\r\n }\r\n logEvent(\r\n `GA4 pageview via \\'config\\' for Global measurement id ${analytics4MeasurementGlobalId}`\r\n );\r\n }\r\n};\r\n\r\nconst recordGA4BannerClick = ({ linkUrl, title, index }) => {\r\n _validateGtag();\r\n const obj = {\r\n content_type: 'banner',\r\n item_id: linkUrl,\r\n title,\r\n index,\r\n };\r\n logEvent(\r\n `GA4 custom event BANNER CLICK: ${linkUrl} ${title} ${index}`,\r\n obj\r\n );\r\n gtag('event', 'select_content', obj);\r\n};\r\n\r\nconst recordGA4PromoImagesClick = ({\r\n linkUrl,\r\n promoMessage,\r\n index,\r\n imageSrc,\r\n}) => {\r\n _validateGtag();\r\n const obj = {\r\n content_type: 'promoImages',\r\n item_id: linkUrl,\r\n promoMessage,\r\n index,\r\n imageSrc,\r\n };\r\n logEvent(\r\n `GA4 custom event PROMO IMAGES CLICK: ${linkUrl} ${promoMessage.message} ${index}`,\r\n obj\r\n );\r\n gtag('event', 'select_content', obj);\r\n};\r\n\r\nconst recordGA4InfoboxClick = ({ linkUrl }) => {\r\n _validateGtag();\r\n const obj = {\r\n content_type: 'infobox',\r\n item_id: linkUrl,\r\n };\r\n logEvent(`GA4 custom event INFOBOX CLICK: ${linkUrl}`, obj);\r\n gtag('event', 'select_content', obj);\r\n};\r\n\r\nconst recordGA4NewsHomepageClick = () => {\r\n _validateGtag();\r\n const obj = {\r\n content_type: 'news',\r\n };\r\n logEvent(`GA4 custom event NEWS HOMEPAGE`, obj);\r\n gtag('event', 'select_content', obj);\r\n};\r\n\r\nconst recordGA4HelpClick = () => {\r\n _validateGtag();\r\n const obj = {\r\n content_type: 'help',\r\n };\r\n logEvent(`GA4 custom event HELP PAGE`, obj);\r\n gtag('event', 'select_content', obj);\r\n};\r\n\r\nconst recordGA4CategoryClick = ({ linkUrl }) => {\r\n _validateGtag();\r\n const obj = {\r\n content_type: 'category',\r\n item_id: linkUrl,\r\n };\r\n logEvent(`GA4 custom event CATEGORY CLICK: ${linkUrl}`, obj);\r\n gtag('event', 'select_content', obj);\r\n};\r\n\r\nconst recordGA4LogonClick = ({ linkUrl }) => {\r\n _validateGtag();\r\n const obj = {\r\n content_type: 'logon',\r\n item_id: linkUrl,\r\n };\r\n logEvent(`GA4 custom event LOGON CLICK: ${linkUrl}`, obj);\r\n gtag('event', 'select_content', obj);\r\n};\r\n\r\nconst recordGA4RegisterClick = ({ linkUrl }) => {\r\n _validateGtag();\r\n const obj = {\r\n content_type: 'register',\r\n item_id: linkUrl,\r\n };\r\n logEvent(`GA4 custom event REGISTER CLICK: ${linkUrl}`, obj);\r\n gtag('event', 'select_content', obj);\r\n};\r\n\r\nexport {\r\n beginCheckout,\r\n purchase,\r\n newsletterRegistration,\r\n viewItem,\r\n searchItemsResults,\r\n viewItemList,\r\n viewCart,\r\n addShippingInfo,\r\n addToCart,\r\n addPaymentInfo,\r\n closePopUp,\r\n popUpButtonClick,\r\n init,\r\n setConfigGoogleAnalytics4,\r\n recordGA4BannerClick,\r\n recordGA4PromoImagesClick,\r\n recordGA4InfoboxClick,\r\n recordGA4NewsHomepageClick,\r\n recordGA4HelpClick,\r\n recordGA4CategoryClick,\r\n recordGA4LogonClick,\r\n recordGA4RegisterClick,\r\n};\r\n","import cookieService from '../cookieService.js';\r\nimport {\r\n beginCheckout as ga4BeginCheckout,\r\n purchase as ga4Purchase,\r\n newsletterRegistration as ga4NewsletterRegistration,\r\n viewItem as ga4ViewItem,\r\n searchItemsResults as ga4SearchItemsResults,\r\n viewItemList as ga4ViewItemList,\r\n viewCart as ga4ViewCart,\r\n addShippingInfo as ga4AddShippingInfo,\r\n addToCart as ga4AddToCart,\r\n addPaymentInfo as ga4AddPaymentInfo,\r\n closePopUp as ga4ClosePopUp,\r\n popUpButtonClick as ga4PopUpButtonClick,\r\n init as initGoogleAnalytics4,\r\n setConfigGoogleAnalytics4,\r\n recordGA4BannerClick,\r\n recordGA4PromoImagesClick,\r\n recordGA4InfoboxClick,\r\n recordGA4NewsHomepageClick,\r\n recordGA4HelpClick,\r\n recordGA4CategoryClick,\r\n recordGA4LogonClick,\r\n recordGA4RegisterClick,\r\n} from './ga4Service.js';\r\nimport {\r\n beginCheckout as adsBeginCheckoutSendConversion,\r\n purchaseDynamicRemarketing,\r\n purchaseConversion,\r\n adsSearchItemResultsDynamicRemarketing,\r\n adsViewItemListDynamicRemarketing,\r\n adsViewItemDynamicRemarketing,\r\n adsAddToCartDynamicRemarketing,\r\n adsAddToCartConversion,\r\n newsletterRegistration as adsNewsletterRegistrationSendConversion,\r\n initConversions,\r\n} from './adsService.js';\r\nimport {\r\n init as initFbq,\r\n addToCart as fbqAddToCart,\r\n fbqPixelId,\r\n pageView as fbqPageView,\r\n beginCheckout as fbqBeginCheckout,\r\n newsletterRegistration as fbqNewsletterRegistration,\r\n contact as fbqContact,\r\n search as fbqSearch,\r\n addPaymentInfo as fbqAddPaymentInfo,\r\n viewItem as fbqViewItem,\r\n purchase as fbqPurchase,\r\n} from './facebookService.js';\r\n\r\nimport { logDebug, logWarn, logError, logEvent } from '../../tracing.js';\r\nimport { isArray } from 'lodash';\r\nimport { validateGoogleData } from '../data/dataPageService.js';\r\n\r\nconst pageTypes = {\r\n view_item: 'view_item',\r\n view_item_list: 'view_item_list',\r\n cart: 'cart',\r\n view_search_results: 'view_search_results',\r\n registration: 'registration',\r\n contact: 'contact',\r\n view_cart: 'view_cart',\r\n add_shipping_info: 'add_shipping_info',\r\n add_payment_info: 'add_payment_info',\r\n purchase: 'purchase',\r\n};\r\n\r\nconst _validateEcommPageType = () => {\r\n if (!window.ecomm_pagetype) {\r\n throw new Error('window.ecomm_pagetype is not defined');\r\n }\r\n return window.ecomm_pagetype;\r\n};\r\nconst _validateEcommTransactionId = () => {\r\n if (!window.ecomm_transactionid) {\r\n logError('window.ecomm_transactionid is not defined');\r\n throw new Error('window.ecomm_transactionid is not defined');\r\n }\r\n\r\n if (window.ecomm_transactionid === '00000000-0000-0000-0000-000000000000') {\r\n logError(\r\n 'Skipping because orderId happens to be 00000000-0000-0000-0000-000000000000'\r\n );\r\n throw new Error(\r\n 'Skipping because orderId happens to be 00000000-0000-0000-0000-000000000000'\r\n );\r\n }\r\n return window.ecomm_transactionid;\r\n};\r\nconst _validateEcommTotalValue = () => {\r\n if (!window.ecomm_totalvalue) {\r\n logError('window.ecomm_totalvalue is not defined');\r\n throw new Error('window.ecomm_totalvalue is not defined');\r\n }\r\n return window.ecomm_totalvalue;\r\n};\r\nconst _validateEcommTotalValueEuro = () => {\r\n if (!window.ecomm_totalvalueeuro) {\r\n logError('window.ecomm_totalvalueeuro is not defined');\r\n throw new Error('window.ecomm_totalvalueeuro is not defined');\r\n }\r\n return window.ecomm_totalvalueeuro;\r\n};\r\n\r\nconst _validateEcommCurrency = () => {\r\n if (!window.ecomm_currency) {\r\n logError('window.ecomm_currency is undefined');\r\n throw new Error('window.ecomm_currency is undefined');\r\n }\r\n return window.ecomm_currency;\r\n};\r\n\r\nconst _validateEcommSearchTerm = () => {\r\n if (!window.ecomm_searchterm) {\r\n logError('window.ecomm_searchterm is undefined');\r\n throw new Error('window.ecomm_searchterm is undefined');\r\n }\r\n if (window.ecomm_searchterm === '') {\r\n logWarn('window.ecomm_searchterm is empty');\r\n }\r\n return window.ecomm_searchterm;\r\n};\r\nconst _validateEcommItems = () => {\r\n if (!window.ecomm_items) {\r\n logError('window.ecomm_items is undefined');\r\n throw new Error('window.ecomm_items is undefined');\r\n }\r\n if (isArray(window.ecomm_items) && window.ecomm_items.length === 0) {\r\n logWarn('window.ecomm_items is empty');\r\n }\r\n return window.ecomm_items;\r\n};\r\nconst _validateEcommShippingOptionName = () => {\r\n if (!window.ecomm_shippingoptionname) {\r\n logError('window.ecomm_shippingoptionname is undefined');\r\n throw new Error('window.ecomm_shippingoptionname is undefined');\r\n }\r\n if (window.ecomm_shippingoptionname === '') {\r\n logWarn('window.ecomm_shippingoptionname is empty');\r\n }\r\n return window.ecomm_shippingoptionname;\r\n};\r\nconst _validateEcommShippingFeesEuro = () => {\r\n if (!window.ecomm_shippingfeeseuro) {\r\n logError('window.ecomm_shippingfeeseuro is undefined');\r\n throw new Error('window.ecomm_shippingfeeseuro is undefined');\r\n }\r\n if (window.ecomm_shippingfeeseuro === '') {\r\n logWarn('window.ecomm_shippingfeeseuro is empty');\r\n }\r\n return window.ecomm_shippingfeeseuro;\r\n};\r\nconst _validateEcommEmail = () => {\r\n if (!window.ecomm_email) {\r\n logError('window.ecomm_email is undefined');\r\n throw new Error('window.ecomm_email is undefined');\r\n }\r\n return window.ecomm_email;\r\n};\r\n\r\nconst _sendInitiateCheckout = () => {\r\n if (window.ecomm_pagetype && window.ecomm_pagetype === pageTypes.cart) {\r\n const cartId = _validateEcommTransactionId();\r\n const totaleuro = _validateEcommTotalValueEuro();\r\n const currency = _validateEcommCurrency();\r\n const items = _validateEcommItems();\r\n fbqBeginCheckout({\r\n currency,\r\n value: totaleuro,\r\n items,\r\n eventId: cartId,\r\n });\r\n\r\n ga4BeginCheckout({\r\n currency,\r\n totaleuro,\r\n items,\r\n });\r\n adsBeginCheckoutSendConversion({\r\n cartId,\r\n currency,\r\n totaleuro,\r\n items,\r\n });\r\n }\r\n};\r\n\r\nconst _sendNewsletterRegistration = ({ url, email }) => {\r\n logDebug('_sendRegistration');\r\n fbqNewsletterRegistration({ url, email });\r\n ga4NewsletterRegistration({\r\n url,\r\n email,\r\n });\r\n adsNewsletterRegistrationSendConversion({\r\n email,\r\n });\r\n};\r\n\r\nconst sendRegistration = ({ url, email }) => {\r\n return initLibs()\r\n .then(() => {\r\n try {\r\n _sendNewsletterRegistration({ url, email });\r\n } catch (error) {\r\n throw new Error(error.message);\r\n }\r\n })\r\n .catch((err) => {\r\n logError('sendRegistration from form ', err.message, url, email);\r\n return err;\r\n });\r\n};\r\n\r\nconst _sendRegistration = () => {\r\n if (\r\n window.ecomm_pagetype &&\r\n window.ecomm_pagetype === pageTypes.registration\r\n ) {\r\n const email = _validateEcommEmail();\r\n _sendNewsletterRegistration({ url: window.location.href, email });\r\n }\r\n};\r\n\r\nconst _sendFbqContact = () => {\r\n if (window.ecomm_pagetype && window.ecomm_pagetype === pageTypes.contact) {\r\n logDebug('_sendFbqContact');\r\n fbqContact();\r\n }\r\n};\r\n\r\nconst _sendViewItem = () => {\r\n if (\r\n window.ecomm_pagetype &&\r\n window.ecomm_pagetype === pageTypes.view_item\r\n ) {\r\n logDebug('_sendGoogleAnalyticsFourViewItem');\r\n const currency = _validateEcommCurrency();\r\n const value = _validateEcommTotalValue();\r\n const items = _validateEcommItems();\r\n\r\n // Commentato per evitare eventi duplicati, essendoci dynamic remarketing\r\n ga4ViewItem({\r\n currency,\r\n value,\r\n items,\r\n });\r\n adsViewItemDynamicRemarketing({ value, items });\r\n }\r\n};\r\n\r\nconst _sendSearchItemResults = () => {\r\n if (\r\n window.ecomm_pagetype &&\r\n window.ecomm_pagetype === pageTypes.view_search_results\r\n ) {\r\n logDebug('_sendSearchItemResults');\r\n const searchterm = _validateEcommSearchTerm();\r\n const items = _validateEcommItems();\r\n\r\n fbqSearch({ searchterm });\r\n ga4SearchItemsResults({ searchterm });\r\n adsSearchItemResultsDynamicRemarketing({ searchterm, items });\r\n }\r\n};\r\n\r\nconst _sendViewItemList = () => {\r\n if (\r\n window.ecomm_pagetype &&\r\n window.ecomm_pagetype === pageTypes.view_item_list\r\n ) {\r\n logDebug('_sendViewItemList');\r\n const items = _validateEcommItems();\r\n ga4ViewItemList({\r\n items,\r\n });\r\n adsViewItemListDynamicRemarketing({ items });\r\n }\r\n};\r\n\r\nconst _sendViewCart = () => {\r\n if (\r\n window.ecomm_pagetype &&\r\n window.ecomm_pagetype === pageTypes.view_cart\r\n ) {\r\n logDebug('_sendViewCart');\r\n const cartId = _validateEcommTransactionId();\r\n const currency = _validateEcommCurrency();\r\n const totaleuro = _validateEcommTotalValueEuro();\r\n const items = _validateEcommItems();\r\n ga4ViewCart({ cartId, currency, totaleuro, items });\r\n }\r\n};\r\n\r\nconst _sendShippingInfo = () => {\r\n if (\r\n window.ecomm_pagetype &&\r\n window.ecomm_pagetype === pageTypes.add_shipping_info\r\n ) {\r\n logDebug('_sendGoogleAnalyticsFourShippingInfo');\r\n const cartId = _validateEcommTransactionId();\r\n const currency = _validateEcommCurrency();\r\n const value = _validateEcommTotalValue();\r\n const items = _validateEcommItems();\r\n const shipping_tier = _validateEcommShippingOptionName();\r\n ga4AddShippingInfo({ cartId, currency, value, items, shipping_tier });\r\n }\r\n};\r\n\r\nconst addPaymentInfo = ({ payment, value }) => {\r\n logDebug('addPaymentInfo');\r\n return initLibs().then(() => {\r\n const cartId = _validateEcommTransactionId();\r\n const currency = _validateEcommCurrency();\r\n const items = _validateEcommItems();\r\n fbqAddPaymentInfo({ currency, value, items, eventId: cartId });\r\n ga4AddPaymentInfo({ currency, value, items, payment });\r\n return payment;\r\n });\r\n};\r\n\r\nconst closePopUp = () => {\r\n logDebug('closePopUp');\r\n return initLibs().then(() => {\r\n ga4ClosePopUp();\r\n return;\r\n });\r\n};\r\n\r\nconst popUpButtonClick = () => {\r\n logDebug('popUpButtonClick');\r\n return initLibs().then(() => {\r\n ga4PopUpButtonClick();\r\n return;\r\n });\r\n};\r\n\r\nconst initLibs = () => {\r\n // https://support.google.com/analytics/answer/7201382?hl=en\r\n\r\n return new Promise((resolve, reject) => {\r\n if (window.gtag && window.fbq) {\r\n logDebug('window.gtag && window.fbq ALL INITIALIZED!');\r\n \r\n const analytics4EnableDebug = validateGoogleData(\r\n 'analytics4EnableDebug',\r\n false\r\n );\r\n return resolve({\r\n gtag: window.gtag,\r\n fbq: window.fbq,\r\n analytics4EnableDebug,\r\n });\r\n }\r\n let retryCount = 4;\r\n const interval = setInterval(function () {\r\n try {\r\n logDebug('--> Run analytics script');\r\n\r\n const analytics4EnableDebug = validateGoogleData(\r\n 'analytics4EnableDebug',\r\n false\r\n );\r\n\r\n if (!window.gtag) {\r\n initGoogleAnalytics4({ debug: analytics4EnableDebug });\r\n }\r\n // FACEBOOK\r\n if (!window.fbq) {\r\n initFbq();\r\n }\r\n\r\n if (window.gtag && window.fbq) {\r\n logDebug('--> ga gtag and fbq ALL DEFINED');\r\n\r\n clearInterval(interval);\r\n return resolve({\r\n gtag: window.gtag,\r\n fbq: window.fbq,\r\n analytics4EnableDebug,\r\n });\r\n }\r\n if (retryCount === 0) {\r\n clearInterval(interval);\r\n return reject('Some function is not defined');\r\n }\r\n\r\n retryCount = retryCount - 1;\r\n } catch (error) {\r\n reject(error);\r\n }\r\n }, 1000);\r\n });\r\n};\r\n\r\nconst addToCart = ({\r\n isKit,\r\n guid,\r\n quantity,\r\n options,\r\n currency,\r\n price,\r\n disciplines,\r\n categories,\r\n brandName,\r\n transactionId,\r\n}) => {\r\n if (\r\n window.ecomm_pagetype &&\r\n window.ecomm_pagetype === pageTypes.view_item\r\n ) {\r\n initLibs().then(() => {\r\n const id = isKit ? guid : `${guid}-${options[0].optionId}`;\r\n fbqAddToCart({\r\n isKit,\r\n id,\r\n quantity,\r\n currency,\r\n price,\r\n eventId: transactionId,\r\n });\r\n const items = _validateEcommItems();\r\n\r\n // Commentato per evitare eventi duplicati, essendoci dynamic remarketing\r\n ga4AddToCart({\r\n id,\r\n quantity,\r\n currency,\r\n price,\r\n items,\r\n disciplines,\r\n categories,\r\n brandName,\r\n });\r\n\r\n adsAddToCartDynamicRemarketing({\r\n id,\r\n price,\r\n });\r\n adsAddToCartConversion({\r\n id,\r\n currency,\r\n price,\r\n items,\r\n transactionId,\r\n });\r\n });\r\n }\r\n};\r\n\r\nconst viewItemFbq = async ({ slug, guid, options, currencyCode, isKit }) => {\r\n if (\r\n window.ecomm_pagetype &&\r\n window.ecomm_pagetype === pageTypes.view_item\r\n ) {\r\n await initLibs();\r\n\r\n fbqViewItem({ slug, guid, options, currencyCode, isKit });\r\n }\r\n};\r\n\r\nconst _sendPurchase = () => {\r\n if (window.ecomm_pagetype && window.ecomm_pagetype === pageTypes.purchase) {\r\n const transaction_id = _validateEcommTransactionId();\r\n const currency = _validateEcommCurrency();\r\n const value = _validateEcommTotalValue();\r\n const items = _validateEcommItems();\r\n const shipping = _validateEcommShippingFeesEuro();\r\n const valueDecimal = parseFloat(value);\r\n const shippingDecimal = parseFloat(shipping);\r\n fbqPurchase({ currency, value, items, eventId: transaction_id });\r\n ga4Purchase({\r\n transaction_id,\r\n currency,\r\n value: valueDecimal,\r\n shipping: shippingDecimal,\r\n items,\r\n });\r\n purchaseDynamicRemarketing({\r\n value: valueDecimal,\r\n items,\r\n });\r\n\r\n logDebug(`Preparing purchaseConversion data...`);\r\n logDebug(`transaction_id ${transaction_id}`);\r\n const totalEuro = parseFloat(_validateEcommTotalValueEuro());\r\n logDebug(`totalEuro ${totalEuro}`);\r\n purchaseConversion({\r\n orderId: transaction_id,\r\n currency,\r\n totalEuro,\r\n items,\r\n });\r\n }\r\n};\r\n\r\nconst sendGoogleSurvey = ({\r\n enableGoogleSurvey,\r\n merchantId,\r\n orderId,\r\n userEmail,\r\n deliveryCountry,\r\n estimatedDeliveryDate,\r\n surveyoptin,\r\n}) => {\r\n const handleSurvey =\r\n window.ecomm_pagetype &&\r\n window.ecomm_pagetype === pageTypes.purchase &&\r\n enableGoogleSurvey;\r\n console.log('handleSurvey', handleSurvey);\r\n if (handleSurvey) {\r\n console.log('handle');\r\n\r\n const surveyObj = {\r\n merchant_id: merchantId,\r\n order_id: orderId,\r\n email: userEmail,\r\n delivery_country: deliveryCountry,\r\n estimated_delivery_date: estimatedDeliveryDate,\r\n };\r\n logEvent('gooogle survey', surveyObj);\r\n if (!surveyoptin) {\r\n logError('window.gapi.surveyoptin is not defined');\r\n return;\r\n }\r\n console.log('surveyoptin');\r\n surveyoptin.render(surveyObj);\r\n } else {\r\n logDebug(\r\n `Google survey script is disabled for merchantId ${merchantId}. Delivery country: ${deliveryCountry} Order id: ${orderId}`\r\n );\r\n }\r\n};\r\n\r\nconst run = () => {\r\n try {\r\n logDebug('Starting marketing and analytics service...');\r\n initLibs()\r\n .then(({ gtag, fbq, analytics4EnableDebug }) => {\r\n try {\r\n logDebug('window.googleData', window.googleData);\r\n logDebug('window.facebookData', window.facebookData);\r\n\r\n setConfigGoogleAnalytics4({ debug: analytics4EnableDebug });\r\n initConversions();\r\n let thirdPartyConsent = cookieService.getThirdParty();\r\n let marketingPartyConsent =\r\n cookieService.getMarketingParty();\r\n\r\n if (thirdPartyConsent) {\r\n logDebug('Executing actions for thirdPartyConsent...');\r\n fbqPixelId();\r\n fbqPageView();\r\n } else {\r\n logDebug(`No third party consent given`);\r\n }\r\n if (marketingPartyConsent) {\r\n logDebug(\r\n 'Executing actions for marketingPartyConsent...'\r\n );\r\n\r\n _sendInitiateCheckout();\r\n _sendPurchase();\r\n\r\n _sendRegistration();\r\n _sendFbqContact();\r\n _sendViewItem();\r\n _sendSearchItemResults();\r\n _sendViewItemList();\r\n _sendViewCart();\r\n _sendShippingInfo();\r\n } else {\r\n logDebug(`No marketing consent given`);\r\n }\r\n } catch (error) {\r\n logError(`Error on run. ${error}`);\r\n }\r\n })\r\n .catch((err) => {\r\n logError(`Error on run after initializing libs. ${err}`);\r\n });\r\n } catch (error) {\r\n logError(`Error on run() : ${error}`);\r\n }\r\n};\r\n\r\nconst recordBannerClick = async ({ linkUrl, title, index }) => {\r\n try {\r\n await initLibs();\r\n recordGA4BannerClick({ linkUrl, title, index });\r\n } catch (error) {\r\n logError(\r\n `Error recording banner click for url: ${linkUrl} - title: ${title} - index: ${index}`,\r\n error.message\r\n );\r\n }\r\n};\r\n\r\nconst recordPromoImagesClick = async ({\r\n linkUrl,\r\n promoMessage,\r\n index,\r\n imageSrc,\r\n}) => {\r\n try {\r\n await initLibs();\r\n recordGA4PromoImagesClick({\r\n linkUrl,\r\n promoMessage,\r\n index,\r\n imageSrc,\r\n });\r\n } catch (error) {\r\n logError(\r\n `Error recording promo images click for url: ${linkUrl} - promoMessage: ${promoMessage} - index: ${index} - imageSrc: ${imageSrc}`,\r\n error.message\r\n );\r\n }\r\n};\r\n\r\nconst recordInfoboxClick = async ({ linkUrl }) => {\r\n try {\r\n await initLibs();\r\n recordGA4InfoboxClick({\r\n linkUrl,\r\n });\r\n } catch (error) {\r\n logError(\r\n `Error recording infoboxes click for url: ${linkUrl}`,\r\n error.message\r\n );\r\n }\r\n};\r\n\r\nconst recordNewsHomepageClick = async () => {\r\n try {\r\n await initLibs();\r\n recordGA4NewsHomepageClick();\r\n } catch (error) {\r\n logError(`Error recording news homepage click.`, error.message);\r\n }\r\n};\r\n\r\nconst recordHelpClick = async () => {\r\n try {\r\n await initLibs();\r\n recordGA4HelpClick();\r\n } catch (error) {\r\n logError(`Error recording news homepage click.`, error.message);\r\n }\r\n};\r\nconst recordCategoryClick = async ({ linkUrl }) => {\r\n try {\r\n await initLibs();\r\n recordGA4CategoryClick({ linkUrl });\r\n } catch (error) {\r\n logError(\r\n `Error recording category click for ${linkUrl}`,\r\n error.message\r\n );\r\n }\r\n};\r\n\r\nconst recordLogonClick = async ({ linkUrl }) => {\r\n try {\r\n await initLibs();\r\n recordGA4LogonClick({ linkUrl });\r\n } catch (error) {\r\n logError(`Error recording logon click for ${linkUrl}`, error.message);\r\n }\r\n};\r\n\r\nconst recordRegisterClick = async ({ linkUrl }) => {\r\n try {\r\n await initLibs();\r\n recordGA4RegisterClick({ linkUrl });\r\n } catch (error) {\r\n logError(\r\n `Error recording register click for ${linkUrl}`,\r\n error.message\r\n );\r\n }\r\n};\r\n\r\nexport default {\r\n run,\r\n initLibs,\r\n addToCart,\r\n viewItemFbq,\r\n addPaymentInfo,\r\n closePopUp,\r\n popUpButtonClick,\r\n sendGoogleSurvey,\r\n sendRegistration,\r\n recordBannerClick,\r\n recordPromoImagesClick,\r\n recordInfoboxClick,\r\n recordNewsHomepageClick,\r\n recordHelpClick,\r\n recordCategoryClick,\r\n recordLogonClick,\r\n recordRegisterClick,\r\n};\r\n","import * as Sentry from '@sentry/browser';\r\nimport { JL } from 'jsnlog';\r\nimport { Integrations } from '@sentry/tracing';\r\nimport common from './common/common';\r\nconst configHelper = require('./config/index');\r\n\r\nconst initTracing = () => {\r\n const site = common.getSite();\r\n if (configHelper.getConfig().debug === false) {\r\n Sentry.init({\r\n dsn: configHelper.getConfig().tracingUrl,\r\n integrations: [new Integrations.BrowserTracing()],\r\n\r\n // Set tracesSampleRate to 1.0 to capture 100%\r\n // of transactions for performance monitoring.\r\n // We recommend adjusting this value in production\r\n tracesSampleRate: NODE_ENV.toLowerCase() === 'development' ? 1.0 : 0.5,\r\n environment: NODE_ENV,\r\n });\r\n Sentry.setTag('SITE', site);\r\n Sentry.setTag('getSiteUrl', common.getSiteUrl());\r\n Sentry.setTag('lang', common.getLang());\r\n Sentry.setTag('isTouch', common.isTouch());\r\n Sentry.setTag('isDesktop', common.isDesktop());\r\n }\r\n};\r\nlet initializedLoggers = [];\r\nconst _initJsNlog = ({ loggerName }) => {\r\n if (initializedLoggers.indexOf(loggerName) === -1) {\r\n const defaultLoggingUrl = window.$pathBase + 'jsnlog.logger';\r\n var appender = JL.createAjaxAppender('mycustomappender.' + loggerName);\r\n var consoleAppender = JL.createConsoleAppender(\r\n 'consoleAppender.' + loggerName\r\n );\r\n appender.setOptions({\r\n bufferSize: 80,\r\n maxBatchSize: 80,\r\n url: defaultLoggingUrl,\r\n });\r\n JL.setOptions({\r\n defaultAjaxUrl: defaultLoggingUrl,\r\n });\r\n JL(loggerName).setOptions({\r\n appenders: [appender, consoleAppender],\r\n });\r\n if (typeof window !== 'undefined') {\r\n let _oldOnErrorHandler = window.onerror || null;\r\n window.onerror = function (msg, url, line, column, error) {\r\n let sourceUrl =\r\n window && window.location && window.location.href\r\n ? `${url} window.location.href: ${window.location.href}`\r\n : url;\r\n JL('onerrorLogger').fatalException(\r\n {\r\n msg: 'Uncaught Exception',\r\n errorMsg: `onerror: ${msg}`,\r\n url: sourceUrl,\r\n 'line number': line,\r\n column: column,\r\n },\r\n error\r\n );\r\n if (_oldOnErrorHandler) {\r\n // eslint-disable-next-line prefer-rest-params\r\n return _oldOnErrorHandler.apply(this, arguments);\r\n }\r\n return false;\r\n };\r\n let _oldOnUnhandledRejectionHandler =\r\n window.onunhandledrejection || null;\r\n window.onunhandledrejection = function (event) {\r\n // How to test this handler: window.setTimeout(function() {throw new Error('abc')}, 0);\r\n let sourceUrl =\r\n window && window.location && window.location.href\r\n ? ` window.location.href: ${window.location.href}`\r\n : '';\r\n let reasonMessage =\r\n event.reason && event.reason.message\r\n ? event.reason.message\r\n : '';\r\n JL('onerrorLogger').fatal(\r\n `Reason message: ${reasonMessage} SourceUrl: ${sourceUrl}`\r\n );\r\n JL('onerrorLogger').fatalException(\r\n {\r\n msg: 'unhandledrejection',\r\n errorMsg: `onunhandledrejection: ${reasonMessage} SourceUrl: ${sourceUrl}`,\r\n },\r\n event.reason\r\n );\r\n if (_oldOnUnhandledRejectionHandler) {\r\n // eslint-disable-next-line prefer-rest-params\r\n return _oldOnUnhandledRejectionHandler.apply(\r\n this,\r\n arguments\r\n );\r\n }\r\n return false;\r\n };\r\n }\r\n initializedLoggers.push(loggerName);\r\n }\r\n};\r\nconst logDebug = function (...args) {\r\n _initJsNlog({ loggerName: 'jsnlogfile' });\r\n JL('jsnlogfile').debug(args);\r\n};\r\nconst logInfo = function (...args) {\r\n _initJsNlog({ loggerName: 'jsnlogfile' });\r\n JL('jsnlogfile').info(args);\r\n};\r\nconst logEvent = function (...args) {\r\n _initJsNlog({ loggerName: 'jsnlogfile' });\r\n _initJsNlog({ loggerName: 'jsnlogeventfile' });\r\n JL('jsnlogeventfile').debug(args);\r\n JL('jsnlogfile').debug(args);\r\n};\r\nconst logWarn = function (...args) {\r\n console.warn(args);\r\n _initJsNlog({ loggerName: 'jsnlogfile' });\r\n JL('jsnlogfile').warn(args);\r\n};\r\nconst logError = function (...args) {\r\n console.error(args);\r\n _initJsNlog({ loggerName: 'jsnlogfile' });\r\n JL('jsnlogfile').error(args);\r\n};\r\nexport { initTracing, logDebug, logInfo, logWarn, logError, logEvent };\r\n","import common from './common/common';\r\nimport cookieService from './services/cookieService.js';\r\nimport consentModePrivacyService from './services/marketingAndAnalytics/consentModePrivacyService.js';\r\nimport gtagAndFqbInitService from './services/marketingAndAnalytics/gtagAndFqbInitService.js';\r\nimport marketingAndAnalyticsService from './services/marketingAndAnalytics/marketingAndAnalyticsService.js';\r\nimport { logError } from './tracing.js';\r\n/*!\r\n * YACC (Yet Another Cookie Consent plugin) - Handle the EU cookie law with pure framework agnostic javascript\r\n */\r\n\r\nif (!Function.prototype.bind) {\r\n Function.prototype.bind = function (oThis) {\r\n if (typeof this !== 'function')\r\n throw new TypeError(\r\n 'Function.prototype.bind - what is trying to be bound is not callable'\r\n );\r\n var aArgs = Array.prototype.slice.call(arguments, 1),\r\n fToBind = this,\r\n fNOP = function () {},\r\n fBound = function () {\r\n return fToBind.apply(\r\n this instanceof fNOP && oThis ? this : oThis,\r\n aArgs.concat(Array.prototype.slice.call(arguments))\r\n );\r\n };\r\n fNOP.prototype = this.prototype;\r\n fBound.prototype = new fNOP();\r\n return fBound;\r\n };\r\n}\r\n\r\nclass Yacc {\r\n constructor(opts) {\r\n const extendDefaults = (source, properties) => {\r\n var property;\r\n for (property in properties) {\r\n if (properties.hasOwnProperty(property))\r\n source[property] = properties[property];\r\n }\r\n return source;\r\n };\r\n\r\n this.cookie = cookieService.getDefaultCookieConsentValues();\r\n\r\n const documentLang = common.getLang();\r\n var defaults = {\r\n debug: true,\r\n cookieExpirationDays: 180, // 6 mesi\r\n cookiePageUrl: '/cookies.html',\r\n culture: documentLang.includes('-')\r\n ? documentLang.split('-')[0]\r\n : documentLang,\r\n };\r\n this.options = defaults;\r\n if (opts && typeof opts === 'object')\r\n this.options = extendDefaults(defaults, opts);\r\n this.#log(this.options);\r\n\r\n this.#initialize(this.options);\r\n this.#log('Module loaded');\r\n }\r\n\r\n //Private methods ////////////////////////////////////////////////////////////////////////////\r\n\r\n #isCookiesPolicyPage(cookiePageUrl) {\r\n return window.location.pathname === cookiePageUrl;\r\n }\r\n\r\n #log() {\r\n if (this.options.debug) console.log(...arguments);\r\n }\r\n\r\n #error() {\r\n console.error(...arguments);\r\n logError(...arguments);\r\n }\r\n\r\n #initialize(options) {\r\n /*jshint validthis:true */\r\n\r\n const initializeBannerNoCookies = (options) => {\r\n /*jshint validthis:true */\r\n\r\n const createBannerNoCookiesText = (culture) => {\r\n const bannerNoCookiesText = {\r\n it: '
',\r\n en: ' ',\r\n de: ' ',\r\n es: ' ',\r\n fr: ' ',\r\n };\r\n let message = bannerNoCookiesText[culture]\r\n ? bannerNoCookiesText[culture]\r\n : bannerNoCookiesText.en;\r\n return message;\r\n };\r\n\r\n var banner = document.getElementById('bannerNoCookies');\r\n this.#log('Showing the no cookies banner...');\r\n if (banner === null) {\r\n banner = document.createElement('div');\r\n banner.setAttribute('id', 'bannerNoCookies');\r\n banner.innerHTML = createBannerNoCookiesText(options.culture);\r\n document.body.appendChild(banner);\r\n this.#log('...no cookies banner created');\r\n } else\r\n this.#log(\r\n '...no cookies banner already present. Doing nothing.'\r\n );\r\n };\r\n\r\n if (!cookieService.cookiesEnabled()) {\r\n this.#log('Cookies are not enabled...');\r\n //it is a waste to bind javascript to links and scroll, knowing that we cannot save the cookie.\r\n this.cookie.firstParty = false;\r\n this.cookie.thirdParty = false;\r\n this.cookie.showBanner = false;\r\n initializeBannerNoCookies(options);\r\n marketingAndAnalyticsService.initLibs().then(({gtag})=> {\r\n consentModePrivacyService.setDefault({gtag});\r\n });\r\n } else {\r\n this.#log('Cookies are enabled...');\r\n this.#getCookie();\r\n this.#initializeProperties();\r\n this.cookie.showBanner = this.#isGoogleBot()\r\n ? false\r\n : this.cookie.showBanner;\r\n this.handleBanner();\r\n }\r\n }\r\n\r\n #isGoogleBot() {\r\n var isGoogleBot =\r\n navigator.userAgent !== undefined\r\n ? /googlebot/i.test(navigator.userAgent)\r\n : false;\r\n this.#log('Is GoogleBot? ' + isGoogleBot);\r\n return isGoogleBot;\r\n }\r\n\r\n handleBanner() {\r\n /*jshint validthis:true */\r\n if (this.#isCookiesPolicyPage(this.options.cookiePageUrl)) {\r\n this.#log('In cookies policy page, so no need to show the banner');\r\n return;\r\n }\r\n\r\n const createBannerText = ({\r\n culture,\r\n buttonOkId,\r\n buttonCloseId,\r\n cookiePageUrl,\r\n }) => {\r\n let bannerText = {\r\n it: ` \r\n `,\r\n en: ` \r\n `,\r\n de:\r\n ' ',\r\n es: ` \r\n `,\r\n fr: ` \r\n `,\r\n };\r\n let message = bannerText[culture]\r\n ? bannerText[culture]\r\n : bannerText.en;\r\n const bannerCssClass = 'cookie-consent';\r\n const bannerAcceptClass = 'cookie-consent__button--accept';\r\n return message\r\n .replace('{{bannerCssClass}}', bannerCssClass)\r\n .replace(/{{bannerAcceptClass}}/g, bannerAcceptClass)\r\n .replace('{{cookiePageUrl}}', cookiePageUrl);\r\n };\r\n\r\n if (this.cookie.showBanner) {\r\n this.#log('Showing the banner...');\r\n var banner = document.getElementById('bannerCookiesConsent');\r\n if (banner === null) {\r\n banner = document.createElement('div');\r\n banner.setAttribute('id', 'bannerCookiesConsent');\r\n banner.innerHTML = createBannerText({\r\n culture: this.options.culture,\r\n buttonOkId: 'btnCookieBannerOk',\r\n buttonCloseId: 'btnCookieBannerClose',\r\n cookiePageUrl: this.options.cookiePageUrl,\r\n });\r\n document.body.appendChild(banner);\r\n //After the creation of the banner or the bind on buttons will not work\r\n this.#initializeEvents({\r\n buttonOkId: 'btnCookieBannerOk',\r\n buttonCloseId: 'btnCookieBannerClose',\r\n cookiePageUrl: this.options.cookiePageUrl,\r\n });\r\n this.#log('...banner created');\r\n } else this.#log('...banner already present. Doing nothing.');\r\n } else {\r\n this.#closeBannerCookiesConsent();\r\n }\r\n }\r\n\r\n #closeBannerCookiesConsent() {\r\n var banner = document.getElementById('bannerCookiesConsent');\r\n if (banner) {\r\n banner.parentNode.removeChild(banner);\r\n }\r\n }\r\n\r\n #processScripts(elements) {\r\n if (elements && elements.length > 0) {\r\n var script = null;\r\n for (var i = 0; i < elements.length; i++) {\r\n if (elements[i].getAttribute('type') === 'text/plain') {\r\n if (elements[i].getAttribute('src') === null) {\r\n //eval() of code in script or IE8 will blow away with \"Unknown runtime error\", it does not like the innerHTML in