{"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":""}