{"version":3,"sources":["webpack:///./src/client/default/js/components/impressionsComponent.js","webpack:///./src/client/default/js/base/baseComponent.js","webpack:///./node_modules/@babel/runtime/helpers/asyncToGenerator.js","webpack:///./src/client/default/js/utilities/URLDecoder.js"],"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","delegateYield","_callSuper","_getPrototypeOf","_possibleConstructorReturn","Boolean","valueOf","Reflect","construct","_isNativeReflectConstruct","apply","impressionsComponent","_baseComponent","element","_this","_classCallCheck","setTimeout","productTiles","getProductTiles","triggerDataLayerEvents","_inherits","_createClass","key","get","_defineProperty","this","CUSTOM_MESSAGES","UPDATE_GRID_EVENTS","triggerDLEventsUpdateDone","multisearchdone","triggerDLEventsMultiSearch","CAROUSEL_EVENTS","RECOMMENDER_MOUNTED","msg","Array","from","$el","querySelectorAll","update","window","dataLayer","triggerProductImpressionsEvents","triggerViewPromotionEvents","pushPromotionImpressions","triggerViewItemListEvents","startIndex","impressionsItems","getProductImpressionsItems","sendEventsInChunks","_this2","prdImpressions","map","el","dataset","productJson","cardSize","editorialCard","closest","classList","contains","impressions","productIndex","Number","tempImpressions","prdImpression","undefined","impression","JSON","parse","list_name","product_index","zeroResultPage","querySelector","getPathName","document","location","pathname","$options","impressionList","list","items","eventType","itemsPartial","sendEvent","itemsChunk","pushProductImpressionsToDL","pushViewPromotionToDL","pushViewItemListToDL","console","log","concat","viewPromotionItems","getViewPromotionItems","filter","productTile","promotionInfo","optionProductPromotionInfo","discountPercentage","optionProductDiscountpercentage","productImpressions","item_id","id","item_name","promotion_name","promotion_id","creative_name","location_id","price","item_type","dimension53","_pushPromotionImpressions","_asyncToGenerator","_callee","allPromoClicksEl","promotions","ga4TrackingObj","_context","promoclick","promovalues","data","stringify","filteredPromoDataset","includes","reduce","obj","ga4tracking","event","promo_title","promoTitle","promo_template","promoTemplate","promo_type","promoType","promo_format","promoFormat","ecommerce","promoView","arguments","viewItemListItems","getViewItemListItems","pathName","cardPathName","index","optionProductPrice","breadcrumbs","optionProductBreadcrumbs","sales","discount","toFixed","item_brand","brand","item_category","htmlValue","item_category2","item_category3","item_category4","item_list_id","item_list_name","item_tooltip","promoSpendiRiprendi","currencyCode","baseComponent","BaseComponent","_BaseGiaComponent","_componentElement","setAttribute","_checkMessages","compOptions","options","_objectSpread","entry","optionValue","cleanEntry","cleanOptionKey","replace","convertType","deepFreeze","getAttribute","events","cb","elements","Bean","on","stopPropagation","one","off","fire","container","message","_loading","EMIT","LOADER_EVENTS","show","body","error","icon","hide","option","optionReturn","str","toLocaleLowerCase","BaseGiaComponent","asyncGeneratorStep","gen","reject","_next","_throw","info","module","exports","fn","self","args","err","__esModule","dontUseCustomPathName","urlPathNameTable","split","urlPathNameOrSandbox","toString","endsWith","indexOf","replaceAll","parsePathName","getCustomPathName"],"mappings":"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","file":"js/component-impressionsComponent-js.chunks.js","sourcesContent":["import baseComponent from '../base/baseComponent';\n\nimport { getPathName } from '../utilities/URLDecoder';\n//import { getItemListName } from '../utilities/dataLayerUtils';\n\nexport default class impressionsComponent extends baseComponent {\n get Messages() {\n return {\n [this.CUSTOM_MESSAGES.UPDATE_GRID_EVENTS.done]: this.triggerDLEventsUpdateDone,\n [this.CUSTOM_MESSAGES.UPDATE_GRID_EVENTS.multisearchdone]: this.triggerDLEventsMultiSearch,\n [this.CUSTOM_MESSAGES.CAROUSEL_EVENTS.RECOMMENDER_MOUNTED]: this.triggerDLEventsUpdateDone\n };\n }\n constructor(element) {\n super(element);\n // let slotRecommenderCarousel = this.$el.querySelector('.slot-recommender-carousel');\n // if (!slotRecommenderCarousel) {\n setTimeout(() => {\n let productTiles = this.getProductTiles();\n this.triggerDataLayerEvents(productTiles);\n }, 2200);\n // }\n }\n\n get PARAMS_BLACK_LIST() {\n return [];\n }\n\n triggerDLEventsUpdateDone() {\n let productTiles = this.getProductTiles();\n this.triggerDataLayerEvents(productTiles, true);\n }\n\n triggerDLEventsMultiSearch(msg) {\n let productTiles = msg.productTiles;\n this.triggerDataLayerEvents(productTiles);\n }\n\n getProductTiles() {\n return Array.from(this.$el.querySelectorAll('.product.tile[data-product-json]'));\n }\n\n triggerDataLayerEvents(productTiles, update) {\n if (!window.dataLayer) return;\n this.triggerProductImpressionsEvents(productTiles);\n this.triggerViewPromotionEvents(productTiles);\n if (!update) this.pushPromotionImpressions();\n this.triggerViewItemListEvents(productTiles);\n }\n\n triggerProductImpressionsEvents(productTiles, startIndex) {\n let impressionsItems = this.getProductImpressionsItems(productTiles, startIndex);\n this.sendEventsInChunks(impressionsItems, 'productImpressions');\n }\n\n getProductImpressionsItems(productTiles, startIndex) {\n let prdImpressions = productTiles.map((el) => el.dataset.productJson);\n let cardSize = productTiles.map((el) => {\n let editorialCard = el.closest('.editorial-product-card');\n if (editorialCard) {\n if (editorialCard.classList.contains('half-width')) return '_card_single';\n else if (editorialCard?.classList.contains('full-width')) return '_card_double';\n else return '';\n }\n });\n let impressions = [];\n if (prdImpressions.length > 0) {\n let productIndex = startIndex ? Number(startIndex) : 0;\n let tempImpressions = prdImpressions.map((prdImpression, i) => {\n if (prdImpression !== undefined) {\n let impression = JSON.parse(prdImpression);\n if (startIndex) {\n impression.list_name = 'listing';\n impression.product_index = productIndex;\n productIndex++;\n }\n let zeroResultPage = !!this.$el.querySelector('.zero-search-results');\n if (!zeroResultPage && getPathName(document.location.pathname, this.$options.impressionList) === 'wishlist') {\n impression.list = 'le_mie_liste';\n } else if (cardSize.length > 0 && cardSize[i]) {\n impression.list = getPathName(document.location.pathname, this.$options.impressionList) + cardSize[i];\n impression.list_name = impression.list;\n } else {\n impression.list = zeroResultPage ? 'searchresult_0' : getPathName(document.location.pathname, this.$options.impressionList);\n }\n return impression;\n }\n return null;\n });\n if (startIndex) {\n impressions = tempImpressions.slice(startIndex);\n } else {\n impressions = tempImpressions;\n }\n }\n return impressions;\n }\n\n sendEventsInChunks(items, eventType) {\n if (items.length > 30) {\n //push items in increments of 30 as GTM cannot handle very long items\n for (let i = 0; i < items.length / 30; i++) {\n let itemsPartial = items.slice(30 * i, 30 * (i + 1));\n this.sendEvent(itemsPartial, eventType);\n }\n //push the last part of the array\n if (items.length % 30 != 0) {\n this.sendEvent(items.slice(30 * (items.length / 30)), eventType);\n }\n } else if (items.length > 0) {\n this.sendEvent(items, eventType);\n }\n }\n\n sendEvent(itemsChunk, eventType) {\n if (itemsChunk && itemsChunk.length > 0) {\n switch (eventType) {\n case 'productImpressions':\n this.pushProductImpressionsToDL(itemsChunk);\n break;\n case 'viewPromotion':\n this.pushViewPromotionToDL(itemsChunk);\n break;\n case 'viewItemList':\n this.pushViewItemListToDL(itemsChunk);\n break;\n default:\n console.log(`Event type - ${eventType} - doesn't exist.`);\n }\n }\n }\n\n triggerViewPromotionEvents(productTiles) {\n let viewPromotionItems = this.getViewPromotionItems(productTiles);\n this.sendEventsInChunks(viewPromotionItems, 'viewPromotion');\n }\n\n getViewPromotionItems(productTiles) {\n return productTiles\n .filter((productTile) => {\n let promotionInfo = productTile.dataset.optionProductPromotionInfo && JSON.parse(productTile.dataset.optionProductPromotionInfo);\n let discountPercentage = productTile.dataset.optionProductDiscountpercentage;\n\n return (promotionInfo && promotionInfo.name) || discountPercentage;\n })\n .map((el) => {\n let productImpressions = el.dataset.productJson && JSON.parse(el.dataset.productJson);\n let promotionInfo = el.dataset.optionProductPromotionInfo && JSON.parse(el.dataset.optionProductPromotionInfo);\n\n return {\n item_id: productImpressions && productImpressions.id,\n item_name: productImpressions && productImpressions.name,\n promotion_name: promotionInfo && promotionInfo.name,\n promotion_id: promotionInfo ? (promotionInfo.id ? promotionInfo.id : promotionInfo.name) : '',\n creative_name: 'product card',\n location_id: 'product listing',\n price: productImpressions && productImpressions.price,\n item_type: productImpressions.dimension53\n };\n });\n }\n\n async pushPromotionImpressions() {\n if (!window.dataLayer) return;\n let allPromoClicksEl = this.$el.querySelectorAll('.promoclick');\n if (allPromoClicksEl.length > 0) {\n let promotions = [];\n let ga4TrackingObj = {};\n allPromoClicksEl.forEach(function(promoclick) {\n if (!!promoclick && !!promoclick.dataset) {\n let promovalues = ['id', 'name', 'creative', 'position'];\n let data = JSON.parse(JSON.stringify(promoclick.dataset));\n let filteredPromoDataset = Object.keys(data)\n .filter((key) => promovalues.includes(key))\n .reduce((obj, key) => {\n obj[key] = data[key];\n return obj;\n }, {});\n promotions = promotions.concat(filteredPromoDataset);\n if (data && data.ga4tracking == 'true') {\n ga4TrackingObj = {\n event: 'promo_impression',\n promo_title: data.promoTitle != 'null' ? data.promoTitle : '',\n promo_template: data.promoTemplate != 'null' ? data.promoTemplate : '',\n promo_type: data.promoType != 'null' ? data.promoType : '',\n promo_format: data.promoFormat != 'null' ? data.promoFormat : ''\n };\n }\n }\n });\n window.dataLayer.push({\n event: 'promotion impressions',\n ecommerce: {\n promoView: {\n promotions: promotions\n }\n }\n });\n if (Object.keys(ga4TrackingObj).length > 0) {\n window.dataLayer.push(ga4TrackingObj);\n }\n }\n }\n\n triggerViewItemListEvents(productTiles) {\n let viewItemListItems = this.getViewItemListItems(productTiles);\n this.sendEventsInChunks(viewItemListItems, 'viewItemList');\n }\n\n getViewItemListItems(productTiles) {\n let pathName;\n let cardPathName;\n if (getPathName(document.location.pathname, this.$options.impressionList) === 'wishlist') {\n pathName = 'le_mie_liste';\n } else {\n pathName = getPathName(document.location.pathname, this.$options.impressionList);\n }\n let zeroResultPage = !!this.$el.querySelector('.zero-search-results');\n return productTiles.map((el, index) => {\n let productImpressions = el.dataset.productJson && JSON.parse(el.dataset.productJson);\n let promotionInfo = el.dataset.optionProductPromotionInfo && JSON.parse(el.dataset.optionProductPromotionInfo);\n let price = el.dataset.optionProductPrice && JSON.parse(el.dataset.optionProductPrice);\n let breadcrumbs = el.dataset.optionProductBreadcrumbs && JSON.parse(el.dataset.optionProductBreadcrumbs);\n let editorialCard = el.closest('.editorial-product-card');\n if (editorialCard) {\n if (editorialCard.classList.contains('half-width')) cardPathName = pathName + '_card_single';\n if (editorialCard.classList.contains('full-width')) cardPathName = pathName + '_card_double';\n }\n\n return {\n item_id: productImpressions && productImpressions.id,\n item_name: productImpressions && productImpressions.name,\n price: price && price.sales && price.sales.value,\n discount: price && price.list && price.list.value ? (price.list.value - price.sales.value).toFixed(2) : '',\n promotion_name: promotionInfo && promotionInfo.name,\n index: index,\n item_brand: productImpressions && productImpressions.brand,\n item_category: breadcrumbs && breadcrumbs.length > 1 ? breadcrumbs[1].htmlValue : '',\n item_category2: breadcrumbs && breadcrumbs.length > 2 ? breadcrumbs[2].htmlValue : '',\n item_category3: breadcrumbs && breadcrumbs.length > 3 ? breadcrumbs[3].htmlValue : '',\n item_category4: breadcrumbs && breadcrumbs.length > 4 ? breadcrumbs[4].htmlValue : '',\n item_list_id: zeroResultPage ? 'searchresult_0' : cardPathName ? cardPathName : pathName,\n item_list_name: zeroResultPage ? 'searchresult_0' : cardPathName ? cardPathName : pathName,\n item_type: productImpressions.dimension53,\n item_tooltip: Boolean(promotionInfo && promotionInfo.promoSpendiRiprendi)\n };\n });\n }\n\n pushViewPromotionToDL(items) {\n window.dataLayer.push({\n event: 'view_promotion',\n ecommerce: {\n items: items\n }\n });\n }\n\n pushProductImpressionsToDL(impressions) {\n const currencyCode = this.$el.dataset.currencyCode;\n window.dataLayer.push({\n event: 'product impressions',\n ecommerce: {\n currencyCode: currencyCode,\n impressions: impressions\n }\n });\n }\n\n pushViewItemListToDL(items) {\n window.dataLayer.push({\n event: 'view_item_list',\n ecommerce: {\n items: items\n }\n });\n }\n}\n","/* eslint-disable new-cap */\n/* eslint-disable valid-jsdoc */\n/* eslint-disable no-underscore-dangle */\n\nimport Bean from 'bean';\nimport deepFreeze from '../utilities/freeze';\nimport BaseGiaComponent from './baseGiaComponent';\n\nexport default class BaseComponent extends BaseGiaComponent {\n /**\n * @returns {HTMLElement}\n */\n get $el() {\n return /** @type {HTMLElement} */ (this._componentElement);\n }\n\n get $options() {\n const compOptions = {};\n const options = { ...this.$el.dataset };\n const optionsEntires = Object.keys(options).filter((entry) => entry.includes('option'));\n optionsEntires.forEach((entry) => {\n const cleanEntry = BaseComponent.cleanOptionKey(entry);\n let optionValue;\n if (options[entry].includes('{') && options[entry].includes('}')) {\n optionValue = JSON.parse(options[entry].replace(/'/g, '\"'));\n } else {\n optionValue = BaseComponent.convertType(options[entry]);\n }\n compOptions[cleanEntry] = optionValue;\n });\n return deepFreeze(compOptions);\n }\n\n get COMPONENT_NAME() {\n return this.$el.getAttribute('data-component');\n }\n\n /**\n *\n * constructor\n *\n * @param {Element} element\n */\n constructor(element) {\n super(element);\n this._componentElement = element;\n this._componentElement.setAttribute('data-component-init', 'true');\n this._checkMessages();\n }\n\n static convertType(option) {\n let optionReturn;\n switch (option) {\n case 'false':\n optionReturn = false;\n break;\n case 'true':\n optionReturn = true;\n break;\n case 'null':\n optionReturn = null;\n break;\n default:\n optionReturn = option;\n break;\n }\n\n return optionReturn;\n }\n\n static cleanOptionKey(key) {\n const str = key.replace('option', '');\n return `${str.charAt(0).toLocaleLowerCase()}${str.slice(1)}`;\n }\n\n /**\n *\n * $on\n *\n * @param {String} events\n * @param {Function} cb\n * @param {Element} [element = this.$el]\n * @param {Array|String|Element} [elements = null]\n */\n $on(events, cb, element = this.$el, elements = null) {\n if (!element || !events || !cb) return;\n if (!elements) {\n Bean.on(element, events, (e) => {\n if (e) e.stopPropagation();\n cb(e);\n });\n } else {\n Bean.on(element, events, elements, (e) => {\n if (e) e.stopPropagation();\n cb(e);\n });\n }\n }\n\n /**\n *\n * $one\n *\n * @param {String} events\n * @param {Function} cb\n * @param {Element} [element = this.$el]\n */\n $one(events, cb, element = this.$el) {\n Bean.one(element, events, cb);\n }\n\n /**\n *\n * $off\n *\n * @param {String} events\n * @param {Element} [element = this.$el]\n */\n $off(events, element = this.$el) {\n Bean.off(element, events);\n }\n\n /**\n *\n * $fire\n *\n * @param {String} events\n * @param {Element} [element = this.$el]\n */\n $fire(events, element = this.$el) {\n Bean.fire(element, events);\n }\n\n /**\n *\n * Activate loader\n *\n * @param {HTMLElement} [container]\n * @param {String} [message]\n */\n loading(container, message) {\n this._loading = true;\n this.EMIT(this.CUSTOM_MESSAGES.LOADER_EVENTS.show, {\n container: container || document.body,\n message: message ?? null\n });\n }\n\n /**\n *\n * Deactivate loader\n *\n * @param {HTMLElement} [container]\n * @param {String} [message]\n * @param {Boolean} [error=false]\n * @param {String} [icon]\n */\n endLoading(container, message, error = false, icon) {\n this._loading = false;\n setTimeout(() => {\n if (!this._loading) {\n this.EMIT(this.CUSTOM_MESSAGES.LOADER_EVENTS.hide, {\n container: container || document.body,\n message,\n error,\n icon\n });\n }\n }, 400);\n }\n}\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n\nmodule.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/**\n * @property {string} pathName\n * @property {boolean} dontUseCustomPathName\n *\n * @returns {string}\n */\nexport function getPathName(pathName, dontUseCustomPathName) {\n let list = dontUseCustomPathName === 'true' ? dontUseCustomPathName : getCustomPathName(pathName);\n console.log('URLDecoder list: ' + list);\n return list;\n}\n\nfunction getCustomPathName(pathName) {\n let urlPathNameTable = pathName.split('/');\n let urlPathNameOrSandbox = urlPathNameTable[1] === 's' ? 'isSandbox' : urlPathNameTable;\n return urlPathNameTable[1].length === 0\n ? 'homepage'\n : urlPathNameTable[1] === 'p' || urlPathNameTable[1] === 'dettaglio-prodotto'\n ? 'product-page'\n : parsePathName(urlPathNameOrSandbox);\n}\n\nfunction parsePathName(value) {\n let str = value.toString();\n\n if (str.endsWith(',')) {\n str = str.slice('', -1);\n }\n if (str.endsWith('.html')) {\n str = str.slice('', -5);\n }\n if (str.indexOf(',') == 0) {\n str = str.slice(1);\n }\n\n return str.replaceAll(',', '/');\n}\n"],"sourceRoot":""}