{"version":3,"file":"eifu.js","sources":["../../../../src/assets/scripts/eifu.entry.js"],"sourcesContent":["window.arjoEifu = window.arjoEifu || {\n isInitialized: false,\n eifuTermsAcceptedKey: 'arjo-eifu-terms-accepted',\n uiLanguageKey: 'arjo-eifu-ui-language',\n uiLanguageDataKey: 'arjo-eifu-ui-language-data',\n eifuTermsAccepted: false,\n mainElement: null,\n selectedCountry: null,\n selectedLanguage: null,\n uiLanguage: null,\n isProcessing: false,\n setUILanguage: function (data, language, persist) {\n if (!data) {\n return;\n }\n\n if (persist) {\n if (language) {\n localStorage.setItem(this.uiLanguageKey, language);\n }\n localStorage.setItem(this.uiLanguageDataKey, JSON.stringify(data));\n }\n\n if (data.title) {\n const eifuHeader = this.mainElement.querySelector('#eifu-header');\n if (eifuHeader) {\n eifuHeader.textContent = data.title;\n }\n }\n\n if (data.terms) {\n const eifuTerms = this.mainElement.querySelector('.arjo-t-eifu__instruction-1 > .arjo-m-rich-text__content > .col-12');\n if (eifuTerms) {\n eifuTerms.innerHTML = data.terms;\n }\n }\n\n if (data.instruction) {\n const eifuTerms = this.mainElement.querySelector('.arjo-t-eifu__instruction-2 > .arjo-m-rich-text__content > .col-12');\n if (eifuTerms) {\n eifuTerms.innerHTML = data.instruction;\n }\n }\n\n if (data.searchLabel) {\n const searchButton = this.mainElement.querySelector('.arjo-t-eifu__lang-selector > .arjo-a-button');\n if (searchButton) {\n searchButton.textContent = data.searchLabel;\n }\n }\n\n if (data.acceptLabel) {\n const acceptButton = this.mainElement.querySelector('.arjo-t-eifu__terms > .arjo-t-eifu__buttons > .arjo-a-button');\n if (acceptButton) {\n acceptButton.textContent = data.acceptLabel;\n }\n }\n\n if (data.termStatement) {\n const termStatement = this.mainElement.querySelector('.arjo-t-eifu__terms-statement');\n if (termStatement) {\n termStatement.innerHTML = data.termStatement;\n }\n }\n\n if (data.chooseCountryLabel) {\n const chooseCountryInput = this.mainElement.querySelector('.arjo-m-dropdown[data-dropdown-id=\"countryCode\"] input[data-placeholder]');\n if (chooseCountryInput) {\n chooseCountryInput.setAttribute('data-label', data.chooseCountryLabel);\n }\n\n const chooseCountryLabel = this.mainElement.querySelector('.arjo-m-dropdown[data-dropdown-id=\"countryCode\"] input[data-placeholder] + label');\n if (chooseCountryLabel) {\n chooseCountryLabel.textContent = data.chooseCountryLabel;\n }\n }\n\n if (data.chooseLanguageLabel) {\n const chooseLanguageInput = this.mainElement.querySelector('.arjo-m-dropdown[data-dropdown-id=\"languageCode\"] input[data-placeholder]');\n if (chooseLanguageInput) {\n chooseLanguageInput.setAttribute('data-label', data.chooseLanguageLabel);\n }\n\n const chooseLanguageLabel = this.mainElement.querySelector('.arjo-m-dropdown[data-dropdown-id=\"languageCode\"] input[data-placeholder] + label');\n if (chooseLanguageLabel) {\n chooseLanguageLabel.textContent = data.chooseLanguageLabel;\n }\n }\n\n if (data.filterForDocumentLabel) {\n const filterForDocumentLabel = document.getElementById('eifu-query');\n if (filterForDocumentLabel) {\n filterForDocumentLabel.setAttribute('placeholder', data.filterForDocumentLabel);\n }\n }\n },\n changeUILanguage: function () {\n if (!this.selectedCountry || !this.selectedLanguage) {\n return;\n }\n\n let apiUrl = this.mainElement.getAttribute('data-ui-localization-url');\n if (!apiUrl) {\n return;\n }\n\n apiUrl = apiUrl\n .replace('{{country}}', encodeURIComponent(this.selectedCountry))\n .replace('{{language}}', encodeURIComponent(this.selectedLanguage));\n\n const langSelector = this.mainElement.querySelector('.arjo-t-eifu__lang-selector');\n const termsLabel = this.mainElement.querySelector('.arjo-t-eifu__accept-terms');\n const termsInput = this.mainElement.querySelector('#eifu-term-checkbox');\n\n const spinner = document.querySelector('.arjo-t-eifu__instruction > .arjo-t-eifu__spinner');\n if (spinner) {\n spinner.style.display = 'block';\n }\n\n if (langSelector) {\n langSelector.style.opacity = 0.5;\n langSelector.style.pointerEvents = 'none';\n }\n if (termsLabel) {\n termsLabel.style.opacity = 0.5;\n termsLabel.style.pointerEvents = 'none';\n }\n if (termsInput) {\n termsInput.checked = false;\n termsInput.disabled = true;\n }\n\n axios\n .get(apiUrl)\n .then((response) => {\n this.setUILanguage(response.data, this.uiLanguage, true);\n })\n .catch((error) => {\n console.log('error!', error);\n })\n .then(() => {\n if (spinner) {\n spinner.style.removeProperty('display');\n }\n\n if (langSelector) {\n langSelector.style.removeProperty('opacity');\n langSelector.style.removeProperty('pointer-events');\n }\n if (termsLabel && this.selectedCountry && this.selectedLanguage) {\n termsLabel.style.removeProperty('opacity');\n termsLabel.style.removeProperty('pointer-events');\n }\n if (termsInput) {\n termsInput.disabled = false;\n }\n });\n },\n hideUnavailableLanguages: function (langSelector) {\n const options = langSelector.querySelectorAll('.arjo-m-dropdown__options-input[data-countries]');\n [].forEach.call(options, (opt) => {\n const countriesAttr = opt.getAttribute('data-countries');\n if (!countriesAttr) {\n return;\n }\n const countries = countriesAttr.split(',');\n if (countries.includes(this.selectedCountry) || countriesAttr.includes('all')) {\n opt.removeAttribute('data-hidden');\n } else {\n opt.setAttribute('data-hidden', '');\n }\n });\n },\n setupLangSelector: function () {\n const countrySelector = this.mainElement.querySelector('.arjo-m-dropdown[data-dropdown-id=\"countryCode\"]');\n const langSelector = this.mainElement.querySelector('.arjo-m-dropdown[data-dropdown-id=\"languageCode\"]');\n\n const selectedCountryInput = countrySelector.querySelector('input[name=countryCode]:checked');\n if (selectedCountryInput) {\n this.selectedCountry = selectedCountryInput.value;\n }\n\n const selectedLanguageInput = langSelector.querySelector('input[name=languageCode]:checked');\n if (selectedLanguageInput) {\n this.selectedLanguage = selectedLanguageInput.value;\n }\n\n if (!countrySelector || !langSelector) {\n console.log(\"eIFU's language selector is not available!\");\n return;\n }\n\n countrySelector.addEventListener('dropdownChange', (e) => {\n this.selectedCountry = e.detail.value;\n\n const eventInfo = {\n detail: {\n value: '',\n },\n };\n const customEvent = new CustomEvent('optionChange', eventInfo);\n langSelector.dispatchEvent(customEvent);\n\n if (!this.eifuTermsAccepted) {\n const termCheckbox = document.getElementById('eifu-term-checkbox');\n if (termCheckbox && termCheckbox.checked) {\n termCheckbox.click();\n }\n }\n\n this.updateVisual(countrySelector, langSelector);\n });\n\n langSelector.addEventListener('dropdownChange', (e) => {\n this.selectedLanguage = e.detail.value;\n const termCheckbox = document.getElementById('eifu-term-checkbox');\n if (termCheckbox) {\n if (termCheckbox.checked) {\n termCheckbox.click();\n }\n this.changeUILanguage();\n }\n this.updateVisual(countrySelector, langSelector);\n });\n\n this.updateVisual(countrySelector, langSelector);\n },\n\n updateVisual: function (countrySelector, langSelector, queryElement) {\n if (!this.selectedCountry) {\n langSelector.style.pointerEvents = 'none';\n langSelector.style.opacity = '0.5';\n } else {\n langSelector.style.removeProperty('pointer-events');\n langSelector.style.removeProperty('opacity');\n }\n this.hideUnavailableLanguages(langSelector);\n\n const searchButton = document.querySelector('.arjo-t-eifu__lang-selector > .arjo-a-button');\n if (searchButton) {\n searchButton.disabled = !this.selectedCountry || !this.selectedLanguage;\n }\n\n const acceptButton = this.mainElement.querySelector('.arjo-t-eifu__terms button[type=submit]');\n if (acceptButton) {\n acceptButton.disabled = !this.selectedCountry || !this.selectedLanguage || !this.eifuTermsAccepted;\n }\n\n const terms = this.mainElement.querySelector('.arjo-t-eifu__terms');\n if (terms) {\n if (!(this.selectedCountry && this.selectedLanguage)) {\n terms.style.opacity = 0.5;\n terms.style.pointerEvents = 'none';\n } else {\n terms.style.removeProperty('opacity');\n terms.style.removeProperty('pointer-events');\n }\n }\n },\n filterResults: function (filterQuery) {\n const terms = filterQuery.split(/(\\s+)/).map((term) => term.trim().toLowerCase());\n const items = document.querySelectorAll('.arjo-o-eifu-search-result tbody tr');\n items.forEach((item) => {\n let itemContent = item.textContent.toLowerCase();\n const titles = item.querySelectorAll('[title]');\n [].forEach.call(titles, (title) => (itemContent += '\\n' + title.getAttribute('title').toLowerCase()));\n if ([].every.call(terms, (term) => itemContent.includes(term))) {\n item.style.removeProperty('display');\n } else {\n item.style.display = 'none';\n }\n });\n },\n getEifuProducts: function (queryElement, contentContainer, resultContainer) {\n if (this.isProcessing) {\n return;\n }\n this.isProcessing = true;\n if (!this.selectedCountry || !this.selectedLanguage) {\n this.isProcessing = false;\n return;\n }\n\n const searchUrl = resultContainer.getAttribute('data-search-url');\n if (!searchUrl) {\n this.isProcessing = false;\n return;\n }\n\n const searchUrlWithParams = searchUrl\n .replace('{{country}}', encodeURIComponent(this.selectedCountry))\n .replace('{{language}}', encodeURIComponent(this.selectedLanguage));\n\n contentContainer.style.pointerEvents = 'none';\n const spinner = document.querySelector('.arjo-t-eifu__content > .arjo-t-eifu__spinner');\n if (spinner) {\n spinner.style.display = 'block';\n }\n\n const stateUrl = new URL(window.location.href);\n stateUrl.searchParams.set('country', this.selectedCountry);\n stateUrl.searchParams.set('language', this.selectedLanguage);\n window.history.replaceState('', '', stateUrl);\n\n axios\n .get(searchUrlWithParams)\n .then((response) => {\n if (!response.data) {\n resultContainer.innerHTML = '';\n this.isProcessing = false;\n return;\n }\n\n if (spinner) {\n spinner.style.removeProperty('display');\n }\n\n resultContainer.innerHTML = response.data;\n return response.data;\n })\n .catch((error) => {\n resultContainer.innerHTML = '';\n })\n .then(() => {\n this.isProcessing = false;\n\n queryElement.value = '';\n queryElement.style.display = resultContainer.querySelector('.arjo-o-eifu-search-result') ? 'block' : 'none';\n\n if (spinner) {\n spinner.style.removeProperty('display');\n }\n\n contentContainer.style.removeProperty('pointer-events');\n });\n },\n init: function () {\n if (this.isInitialized) {\n return;\n }\n this.isInitialized = true;\n\n this.mainElement = document.querySelector('.arjo-t-eifu');\n const countrySelector = this.mainElement.querySelector('.arjo-m-dropdown[data-dropdown-id=\"countryCode\"]');\n const langSelector = this.mainElement.querySelector('.arjo-m-dropdown[data-dropdown-id=\"languageCode\"]');\n\n if (!this.mainElement || !countrySelector || !langSelector) {\n return;\n }\n\n const queryElement = document.getElementById('eifu-query');\n if (queryElement) {\n queryElement.addEventListener('change', () => this.filterResults(queryElement.value));\n queryElement.addEventListener('input', () => this.filterResults(queryElement.value));\n queryElement.addEventListener('keyup', (e) => {\n if (e.key === 'Escape') {\n queryElement.value = '';\n this.filterResults(queryElement.value);\n }\n });\n }\n\n const termCheckbox = document.getElementById('eifu-term-checkbox');\n if (termCheckbox) {\n termCheckbox.addEventListener('change', () => {\n this.eifuTermsAccepted = termCheckbox.checked;\n this.updateVisual(countrySelector, langSelector);\n });\n }\n\n this.setupLangSelector(queryElement);\n },\n};\n\nwindow.addEventListener('load', function () {\n window.arjoEifu.init();\n});\n"],"names":["data","language","persist","eifuHeader","eifuTerms","searchButton","acceptButton","termStatement","chooseCountryInput","chooseCountryLabel","chooseLanguageInput","chooseLanguageLabel","filterForDocumentLabel","apiUrl","langSelector","termsLabel","termsInput","spinner","response","error","options","opt","countriesAttr","countrySelector","selectedCountryInput","selectedLanguageInput","e","eventInfo","customEvent","termCheckbox","queryElement","terms","filterQuery","term","item","itemContent","titles","title","contentContainer","resultContainer","searchUrl","searchUrlWithParams","stateUrl"],"mappings":"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"}