{"version":3,"sources":["webpack:///./assets/javascripts/modules/components/LanguageComponent.js"],"names":["LanguageComponent","_classCallCheck","this","_possibleConstructorReturn","__proto__","Object","getPrototypeOf","call","Component","main","geoBlocking","geoBlockingProceed","geoBlockingCancel","placeHolder","action","lang","form","document","createElement","input","classList","add","setAttribute","appendChild","body","content","$emit","$customEvents","MODAL_EVENTS","show","unsafeContent","_this2","$on","_ref","event","preventDefault","href","currentTarget","getAttribute","langParameter","buildForm","submit","SELECTORS","str","newString","_this3","Promise","resolve","reject","replace","CONF","e","_this4","_ref2","dataset","geoblockingLang","country","geoblockingCountry","messageContent","querySelector","innerHTML","replaceName","then","res","showLayer","$one","$","trigger","_ref3","_ref4","log","bindClassicChangeCountry","bindGeoblocking"],"mappings":"oXAEqBA,cAgBnB,SAAAA,IAAc,mGAAAC,CAAAC,KAAAF,oKAAAG,CAAAD,MAAAF,EAAAI,WAAAC,OAAAC,eAAAN,IAAAO,KAAAL,0UAhB+BM,6CAE3C,OACEC,KAAM,kCACNC,YAAa,qBACbC,mBAAoB,0BACpBC,kBAAmB,uDAKrB,OACEC,YAAa,gDAQPC,EAAQC,GAChB,IAAMC,EAAOC,SAASC,cAAc,QAC9BC,EAAQF,SAASC,cAAc,SAarC,OAXAF,EAAKI,UAAUC,IAAI,UACnBL,EAAKM,aAAa,SAAU,QAC5BN,EAAKM,aAAa,SAAUR,GAE5BK,EAAMG,aAAa,OAAQ,QAC3BH,EAAMG,aAAa,OAAQ,QAC3BH,EAAMG,aAAa,QAASP,GAE5BC,EAAKO,YAAYJ,GACjBF,SAASO,KAAKD,YAAYP,GAEnBA,oCAGCS,GACRvB,KAAKwB,MAAMxB,KAAKyB,cAAcC,aAAaC,MACzCC,cAAeL,uDAIQ,IAAAM,EAAA7B,KACzBA,KAAK8B,IAAI,iBAAkB,SAAAC,GAAa,IAAXC,EAAWD,EAAXC,MAC3BA,EAAMC,iBACN,IAAMC,EAAOF,EAAMG,cAAcC,aAAa,QACxCC,EAAgBL,EAAMG,cAAcC,aAAa,aAEvDP,EAAKS,UAAUJ,EAAMG,GAAeE,UAEnC,OAAQvC,KAAKwC,UAAUjC,0CAGhBkC,EAAKC,GAAW,IAAAC,EAAA3C,KAC1B,OAAO,IAAI4C,QAAQ,SAACC,EAASC,GAC3B,IACED,EAAQJ,EAAIM,QAAQJ,EAAKK,KAAKrC,YAAa+B,IAC3C,MAAOO,GACPH,EAAOG,gDAMK,IAAAC,EAAAlD,KAChBA,KAAK8B,IAAI,oBAAqB,SAAAqB,GAAa,IAAXnB,EAAWmB,EAAXnB,MAC9BA,EAAMC,iBACNiB,EAAKtC,OAASoB,EAAMG,cAAcC,aAAa,QAC/Cc,EAAKrC,KAAOmB,EAAMG,cAAciB,QAAQC,gBACxC,IAAMC,EAAUtB,EAAMG,cAAciB,QAAQG,mBACtCC,EAAiBzC,SAAS0C,cAAc,yBAAyBC,UACvER,EAAKS,YAAYH,EAAgBF,GAASM,KAAK,SAAAC,GAC7CX,EAAKY,UAAUD,GACfX,EAAKa,KAAK,sBAAuB,WAC/BC,EAAE,cAAcC,QAAQ,UACvB,OAAQf,EAAKV,UAAU9B,sBAE3B,OAAQV,KAAKwC,UAAUhC,aAE1BR,KAAK8B,IAAI,oBAAqB,SAAAoC,GAAaA,EAAXlC,MACxBC,iBACOiB,EAAKZ,UAAUY,EAAKtC,OAAQsC,EAAKrC,MACzC0B,UACJ,OAAQvC,KAAKwC,UAAU/B,oBAE1BT,KAAK8B,IAAI,0BAA2B,SAAAqC,GAAaA,EAAXnC,MAC9BC,iBACN+B,EAAE,eAAeC,QAAQ,UACxB,OAAQjE,KAAKwC,UAAU9B,oDAI1BV,KAAKoE,IAAI,gBACTpE,KAAKqE,2BACLrE,KAAKsE,2BAhGYxE","file":"component-LanguageComponent.chunks.js","sourcesContent":["import Component from '../abstracts/Component';\n\nexport default class LanguageComponent extends Component {\n get SELECTORS() {\n return {\n main: '[data-lang]:not([data-lang=\"\"])',\n geoBlocking: '[data-geoblocking]',\n geoBlockingProceed: '.js-geoblocking-proceed',\n geoBlockingCancel: '.js-geoblocking-cancel'\n }\n }\n\n get CONF() {\n return {\n placeHolder: '{0}'\n }\n }\n\n constructor() {\n super();\n }\n\n buildForm(action, lang) {\n const form = document.createElement('form');\n const input = document.createElement('input');\n\n form.classList.add('d-none');\n form.setAttribute('method', 'post');\n form.setAttribute('action', action);\n\n input.setAttribute('type', 'text');\n input.setAttribute('name', 'lang');\n input.setAttribute('value', lang);\n\n form.appendChild(input);\n document.body.appendChild(form);\n\n return form;\n }\n\n showLayer(content) {\n this.$emit(this.$customEvents.MODAL_EVENTS.show, {\n unsafeContent: content\n });\n }\n\n bindClassicChangeCountry() {\n this.$on('click.language', ({event}) => {\n event.preventDefault();\n const href = event.currentTarget.getAttribute('href');\n const langParameter = event.currentTarget.getAttribute('data-lang');\n\n this.buildForm(href, langParameter).submit()\n\n }, 'body', this.SELECTORS.main);\n }\n\n replaceName(str, newString) {\n return new Promise((resolve, reject) => {\n try {\n resolve(str.replace(this.CONF.placeHolder, newString));\n } catch (e) {\n reject(e);\n }\n });\n }\n\n\n bindGeoblocking() {\n this.$on('click.geoblocking', ({event}) => {\n event.preventDefault();\n this.action = event.currentTarget.getAttribute('href');\n this.lang = event.currentTarget.dataset.geoblockingLang;\n const country = event.currentTarget.dataset.geoblockingCountry;\n const messageContent = document.querySelector('.js-geoblocking-layer').innerHTML;\n this.replaceName(messageContent, country).then(res => {\n this.showLayer(res);\n this.$one('click.closeGeoModal', () => {\n $('icon-close').trigger('click');\n }, 'body', this.SELECTORS.geoBlockingCancel);\n });\n }, 'body', this.SELECTORS.geoBlocking);\n\n this.$on('click.geoblocking', ({event}) => {\n event.preventDefault();\n const form = this.buildForm(this.action, this.lang);\n form.submit();\n }, 'body', this.SELECTORS.geoBlockingProceed);\n\n this.$on('click.geoblockingCancel', ({event}) => {\n event.preventDefault();\n $('.icon-close').trigger('click');\n }, 'body', this.SELECTORS.geoBlockingCancel);\n }\n\n render() {\n this.log('Rendering...');\n this.bindClassicChangeCountry();\n this.bindGeoblocking();\n }\n}\n"],"sourceRoot":""}