{"version":3,"sources":["webpack:///./src/client/default/js/components/ajaxTileComponent.js","webpack:///./src/client/default/js/base/baseComponent.js","webpack:///./src/client/default/js/libs/Axios.js"],"names":["ajaxTileComponent","props","getTile","this","$options","url","loading","$el","timeout","index","setTimeout","loadTile","a","get","data","innerHTML","classList","remove","placeholder","endLoading","message","indexOf","BaseComponent","element","_componentElement","setAttribute","_checkMessages","compOptions","options","dataset","Object","keys","filter","entry","includes","forEach","optionValue","cleanEntry","cleanOptionKey","JSON","parse","replace","convertType","deepFreeze","getAttribute","events","cb","elements","Bean","on","e","stopPropagation","one","off","fire","container","_loading","EMIT","CUSTOM_MESSAGES","LOADER_EVENTS","show","document","body","error","icon","hide","option","optionReturn","key","str","charAt","toLocaleLowerCase","slice","BaseGiaComponent","axios","Axios","create","transformRequest","headers","skiptransform","entries","formData","FormData","value","append","recaptchaToken","googleRecaptchaAction","googleRecaptchaClientSide","Promise","resolve","reject","window","grecaptcha","ready","execute","action","then","token","defaults","common","interceptors","request","use","config","googleRecaptchaToken","response","commonInterface","CommonInterface","pushState","replaceState","history","redirectUrl","location","href","hrefUrl","paybackParam","isPaybackPopupActive","trialParam","subscriptionTrialModalNotEligibleAfterLogin","fromEntries","res","notificationPush","showNotification","pushPromoPre","length","orderedPush","sort","promoA","promoB","rank","notifications","pushPromoPost","CancelToken","post","all","spread"],"mappings":"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","file":"js/component-ajaxTileComponent-js.chunks.js","sourcesContent":["import BaseComponent from '../base/baseComponent';\nimport { get } from '../libs/Axios';\nexport default class ajaxTileComponent extends BaseComponent {\n  constructor(props) {\n    super(props);\n    this.getTile();\n  }\n  getTile() {\n    if (this.$options.url) {\n      this.loading(this.$el);\n      let timeout = this.$options.index ? 100 * (this.$options.index - 9) : 0;\n      setTimeout(() => {\n        this.loadTile();\n      }, timeout);\n    }\n  }\n\n  async loadTile() {\n    try {\n      const { data } = await get(this.$options.url);\n\n      if (data) {\n        this.$el.innerHTML = data;\n        this.$el.classList.remove(this.$options.placeholder);\n      }\n      this.endLoading(this.$el);\n    } catch (error) {\n      if (error.message.indexOf('429') > -1) {\n        setTimeout(() => {\n          this.loadTile();\n        }, 200);\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","import Axios from 'axios';\nimport CommonInterface from '../base/commonInterface';\nimport CustomMessages from '../constants/customMessages';\n\n\nconst axios = Axios.create({\n  transformRequest: [function (data, headers) {\n    if (headers && headers.skiptransform) {\n      delete headers.skiptransform;\n      return data;\n    }\n    if (data && Object.entries(data)) {\n      const formData = new FormData();\n      for (const [key, value] of Object.entries(data)) {\n        formData.append(key, value);\n      }\n      return formData;\n    }\n  }],\n});\n\nconst recaptchaToken = async ({ googleRecaptchaAction, googleRecaptchaClientSide }) => new Promise((resolve, reject) => {\n  window.grecaptcha.ready(() => {\n    window.grecaptcha.execute(googleRecaptchaClientSide, { action: googleRecaptchaAction }).then((token) => {\n      resolve(token);\n    });\n  });\n});\n\naxios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';\n\n// Add a request interceptor\naxios.interceptors.request.use(async (config) => {\n  // Do something before request is sent\n  if (config.data && config.data.googleRecaptchaAction && config.data.googleRecaptchaClientSide && window.grecaptcha) {\n    const token = await recaptchaToken(config.data);\n    config.data.googleRecaptchaToken = token;\n    return config;\n  }\n  return config;\n}, function (error) {\n  // Do something with request error\n  return Promise.reject(error);\n});\n\n// Add a response interceptor\naxios.interceptors.response.use(function (response) {\n  let commonInterface = new CommonInterface();\n  if (response.data && response.data.pushState || response.data.replaceState) {\n    response.data.pushState && history.pushState({}, '', response.data.pushState);\n    response.data.replaceState && history.replaceState({}, '', response.data.replaceState);\n    if (response.data.redirectUrl) {\n      setTimeout(() => {\n        location.href = response.data.redirectUrl;\n      }, 500);\n    }\n  }\n  else if (response.data && response.data.redirectUrl) {\n    let hrefUrl=response.data.redirectUrl;\n    let paybackParam = '';\n    if (response.data.isPaybackPopupActive) {\n      paybackParam = hrefUrl.indexOf('?') > -1 ? '&isPaybackPopupActive=true' : '?isPaybackPopupActive=true';\n    }\n    hrefUrl =hrefUrl+paybackParam;\n    let trialParam = '';\n    if (response.data.subscriptionTrialModalNotEligibleAfterLogin) {\n      trialParam = hrefUrl.indexOf('?') > -1 ? '&subscriptionTrialModalNotEligibleAfterLogin=true' : '?subscriptionTrialModalNotEligibleAfterLogin=true';\n    } \n    location.href = hrefUrl+trialParam;\n  }\n  if (response.data && response.data.error) {\n    if(response.config.data instanceof FormData) {\n      response.config.data = Object.fromEntries(response.config.data);\n      response.config.headers['Content-Type'] = \"application/json\"\n    }\n    commonInterface.EMIT(`error.${response.data.error}`, {res: response});\n  }\n\n  if (response.data && response.data.notificationPush && response.data.notificationPush.showNotification) {\n    commonInterface.EMIT(`notification:push`, response.data.notificationPush);\n  }\n\n  if (response.data && response.data.pushPromoPre && response.data.pushPromoPre.length > 0) {\n    const orderedPush = response.data.pushPromoPre.sort(function(promoA, promoB) {\n      return promoA.rank > promoB.rank ? -1 : promoB.rank > promoA.rank ? 1 : 0;\n    });\n    commonInterface.EMIT(`notification:pushFirstAvailable`, { notifications: orderedPush });\n  }\n  \n  if (response.data && response.data.pushPromoPost) {\n    commonInterface.EMIT(`notification:pushall`, response.data.pushPromoPost);\n  }\n\n\n  // Any status code that lie within the range of 2xx cause this function to trigger\n  // Do something with response data\n  return response;\n}, function (error) {\n  if (error.response?.data && error.response?.data?.redirectUrl) {\n    location.href = error.response.data.redirectUrl;\n  }\n\n  // Any status codes that falls outside the range of 2xx cause this function to trigger\n  // Do something with response error\n  return Promise.reject(error);\n});\n\nexport const { CancelToken } = Axios;\n\nexport const {\n  get, post, all, spread, request\n} = axios;\n"],"sourceRoot":""}