{"version":3,"sources":["webpack:///./app/components/a/viewports/index.js","webpack:///./app/components/o/header/flyout/index.js","webpack:///./app/components/o/header/flyout/toggleLevel.js","webpack:///./app/components/o/header/index.js","webpack:///./app/components/o/header/nav-item/index.js","webpack:///./app/core/js/libs/GlobalCountrySearch.js"],"names":["viewports","xs","window","matchMedia","sm","md","lg","elmNavbar","document","getElementById","elmNavbarBar","querySelector","elmNavigation","serviceButton","elemServiceLevels","querySelectorAll","elemServiceLevelsLinks","elmBrand","readCookie","name","nameEQ","ca","cookie","split","i","length","c","charAt","substring","indexOf","updateCartFlyoutContents","itemLink","itemHeadline","itemHeadlineButton","itemHeadlineHeader","itemDescription","hookurl","URL","pathUrl","dataset","cartLink","textContent","cart","href","protocol","hostname","pathname","innerHTML","target","setAttribute","style","display","wishlist","wishlistLink","$","ajax","url","CONF","NOTEPAD","done","data","wishlistSingular","wishlistPlural","fail","jqXHR","textStatus","console","warn","cartBtns","forEach","btn","classList","add","remove","resetMainNavigation","el","showService","elem","hideService","serviceToggle","contains","hideFlyout","showFlyout","parentElement","nextElementSibling","toggleFlyout","active","showBackBtn","hideBackBtn","toggleLevel","group","level","elmTargetGroup","targetLevel","targetLevelLinks","elmNavGroup","elmNavLevel","serviceElem","removeClass","showMobileNav","elmNavbarNav","elmToggler","elmBackButton","searchButton","langButton","cartButton","arrMainNavItems","arrSubNavItems","countrySelector","navGroup3","navGroup3LinkText","innerText","navLink","textNode","Array","from","childNodes","find","node","nodeType","Node","TEXT_NODE","navGroup3LinkTextTruncated","addEventListener","e","preventDefault","previousCountryName","currentTarget","getAttribute","previousPageUrl","location","currentParams","URLSearchParams","search","append","toString","collapsed","element","flyouts","flyout","ev","closest","button","navLevel","subItems","truncateNavItemText","matches","handleHamburgerClick","event","closeOpenMainFlyoutDesktop","handleMainNavItemsClick","parent","searchfield","focus","handleSubNavItemsClick","parseInt","toggleGroup","backBtn","mount","unmount","removeEventListener","handleViewportChange","mainNavLink","header","item","addListener","closeFlyouts","form","GlobalCountrySearch","create","apply","on","hash","constructor","log","action","GeoDetection","inject","then","_ref","country","newAction","replace","fetch","method","resp","status","langCountry","_findLangCountry","error","lang","enAction","_replaceLast","submit","catch","err","result","regex","m","exec","index","lastIndex","match","groupIndex","push","replaceAll","parts","string","lastIndexOf","slice"],"mappings":"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","file":"header.chunk.js","sourcesContent":["export const viewports = {\r\n xs: window.matchMedia('(max-width: 575px)'),\r\n sm: window.matchMedia('(max-width: 767px)'),\r\n md: window.matchMedia('(max-width: 991px)'),\r\n lg: window.matchMedia('(max-width: 1199px)'),\r\n};\r\n","// Navbar Bar Flyouts\r\n\r\nconst elmNavbar = document.getElementById('navbar');\r\nconst elmNavbarBar = document.querySelector('.navbar-bar');\r\nconst elmNavigation = elmNavbar.querySelector('.navigation');\r\nconst serviceButton = elmNavbarBar.querySelector('.nav-link--service');\r\nconst elemServiceLevels = elmNavbar.querySelectorAll('.navigation .nav-item--service');\r\nconst elemServiceLevelsLinks = elmNavbar.querySelectorAll('.navigation .nav-item--service > .nav-link');\r\nconst elmBrand = elmNavbar.querySelector('.brand');\r\n\r\n/**\r\n * Get value of cookie\r\n * @param name The name of the cookie you want the value from\r\n * @returns {string|null}\r\n */\r\nfunction readCookie(name) {\r\n const nameEQ = name + '=';\r\n const ca = document.cookie.split(';');\r\n for (let i = 0; i < ca.length; i++) {\r\n let c = ca[i];\r\n while (c.charAt(0) == ' ') c = c.substring(1, c.length);\r\n if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);\r\n }\r\n return null;\r\n}\r\n\r\n/**\r\n * Update the contents of the cart flyout. This will be determined\r\n * by the 'hookurl' cookie set by the external parts-shop.\r\n */\r\nconst updateCartFlyoutContents = () => {\r\n const itemLink = document.querySelector('.btn--order');\r\n const itemHeadline = document.querySelector('.navbar-cart__headline--header');\r\n const itemHeadlineButton = document.querySelector('.navbar-cart__headline--button');\r\n const itemHeadlineHeader = document.querySelector('.navbar-cart__headline--header');\r\n const itemDescription = document.querySelector('.navbar-cart__text');\r\n\r\n if (readCookie('hookurl')) {\r\n const hookurl = new URL(readCookie('hookurl'));\r\n const pathUrl = new URL(itemLink.dataset.cartLink);\r\n itemLink.textContent = itemLink.dataset.cart;\r\n itemLink.href = hookurl.protocol + '//' + hookurl.hostname + pathUrl.pathname;\r\n itemHeadline.innerHTML = itemHeadline.dataset.cart;\r\n itemLink.target = '_wirtgen_parts-shop';\r\n itemLink.setAttribute('data-track_buttontext', `${itemLink.dataset.cart}`);\r\n\r\n if (itemHeadlineHeader) {\r\n itemHeadlineHeader.style.display = 'none';\r\n }\r\n } else {\r\n itemLink.textContent = itemLink.dataset.wishlist;\r\n itemLink.href = itemLink.dataset.wishlistLink;\r\n itemHeadline.innerHTML = itemHeadline.dataset.wishlist;\r\n itemLink.setAttribute('data-track_buttontext', `${itemLink.dataset.wishlist}`);\r\n $.ajax({\r\n url: `${CONF.NOTEPAD}countItems`,\r\n })\r\n .done(function (data) {\r\n // add plural or singular label\r\n if (data === 1) {\r\n itemHeadline.innerHTML = itemHeadline.dataset.wishlistSingular;\r\n } else {\r\n itemHeadline.innerHTML = itemHeadline.dataset.wishlistPlural;\r\n }\r\n // replace item-count\r\n itemHeadline.querySelector('em').textContent = data;\r\n })\r\n .fail(function (jqXHR, textStatus) {\r\n console.warn(textStatus, 'No results!');\r\n });\r\n\r\n if (itemHeadlineButton) {\r\n itemHeadlineButton.style.display = 'none';\r\n }\r\n if (itemHeadlineHeader) {\r\n itemHeadlineHeader.style.display = 'block';\r\n }\r\n if (itemDescription) {\r\n itemDescription.style.display = 'none';\r\n }\r\n }\r\n};\r\n\r\n// only request carts item-count if the items\r\n// will be added to the wishlist instead of\r\n// the external parts-shop\r\nconst cartBtns = document.querySelectorAll('.nav-link--cart');\r\n\r\nif (cartBtns.length > 0) {\r\n if (readCookie('hookurl') === null) {\r\n $.ajax({\r\n url: `${CONF.NOTEPAD}countItems`,\r\n }).done(function (data) {\r\n if (data > 0) {\r\n cartBtns.forEach((btn) => {\r\n btn.classList.add('not-empty');\r\n });\r\n } else {\r\n cartBtns.forEach((btn) => {\r\n btn.classList.remove('not-empty');\r\n });\r\n }\r\n });\r\n }\r\n}\r\n\r\nconst resetMainNavigation = () => {\r\n if (elmNavigation.querySelector('.show')) elmNavigation.querySelector('.show').classList.remove('show');\r\n [...elmNavigation.querySelectorAll('.show'), ...elmNavigation.querySelectorAll('.active')].forEach((el) => {\r\n el.classList.remove('show');\r\n });\r\n if (elmNavbarBar.querySelector('.nav-link--back.show')) {\r\n elmNavbarBar.querySelector('.nav-link--back.show').classList.remove('show');\r\n }\r\n};\r\n\r\n// SERVICE\r\nconst showService = () => {\r\n elmNavigation.classList.add('show');\r\n serviceButton.classList.add('active');\r\n serviceButton.querySelector('.hamburger').classList.add('is-active');\r\n\r\n [...elemServiceLevels, ...elemServiceLevelsLinks].forEach((elem) => {\r\n elem.classList.add('show');\r\n });\r\n};\r\n\r\nconst hideService = () => {\r\n elmNavigation.classList.remove('show');\r\n serviceButton.classList.remove('active');\r\n serviceButton.querySelector('.hamburger').classList.remove('is-active');\r\n\r\n [...elemServiceLevels, ...elemServiceLevelsLinks].forEach((elem) => {\r\n elem.classList.remove('show');\r\n });\r\n};\r\n\r\nconst serviceToggle = () => {\r\n if (serviceButton.classList.contains('active')) {\r\n hideService();\r\n\r\n return;\r\n }\r\n hideFlyout();\r\n showService();\r\n};\r\n\r\nconst showFlyout = (el) => {\r\n hideFlyout();\r\n resetMainNavigation();\r\n elmBrand.classList.add('hidden');\r\n el.classList.add('active');\r\n el.parentElement.querySelector('.flyout').style.display = 'block';\r\n};\r\n\r\nconst hideFlyout = () => {\r\n elmNavbarBar.querySelectorAll('.nav-link').forEach((el) => {\r\n el.classList.remove('active');\r\n if (el.nextElementSibling !== null && el.nextElementSibling.classList.contains('flyout')) {\r\n el.nextElementSibling.style.display = 'none';\r\n }\r\n });\r\n};\r\n\r\nconst toggleFlyout = (el, active) => {\r\n if (active) {\r\n hideFlyout();\r\n return;\r\n }\r\n\r\n if (el.classList.contains('nav-link--cart')) {\r\n updateCartFlyoutContents();\r\n }\r\n\r\n showFlyout(el);\r\n};\r\n\r\nexport { serviceToggle, showService, hideService, toggleFlyout, showFlyout, hideFlyout };\r\n","import { showService, hideService } from './index';\r\n\r\nconst elmNavbar = document.getElementById('navbar');\r\nconst elmNavbarBar = elmNavbar.querySelector('.navbar-nav');\r\n\r\nconst showBackBtn = () => elmNavbar.querySelector('.nav-link--back').classList.add('show');\r\nconst hideBackBtn = () => elmNavbar.querySelector('.nav-link--back').classList.remove('show');\r\n\r\nelmNavbar.setAttribute('data-current-group', 0);\r\nelmNavbar.setAttribute('data-current-level', 0);\r\n\r\n// const goToStart = () => toggleLevel(0, 0);\r\n\r\n/**\r\n * open flyout\r\n * @param {number} group\r\n * @param {number} level\r\n */\r\nconst toggleLevel = (group, level) => {\r\n const elmTargetGroup = elmNavbar.querySelector(`[data-nav-group=\"${group}\"]`);\r\n const targetLevel = elmNavbar.querySelectorAll(`[data-nav-level=\"${level}\"]`);\r\n const targetLevelLinks = elmNavbar.querySelectorAll(`[data-nav-level=\"${level}\"] .nav-link`);\r\n const elmNavGroup = elmNavbar.querySelectorAll('[data-nav-group]');\r\n const elmNavLevel = elmNavbar.querySelectorAll('[data-nav-level]');\r\n const serviceElem = elmNavbarBar.querySelector('.nav-item--service');\r\n\r\n elmNavbar.setAttribute('data-current-group', group);\r\n elmNavbar.setAttribute('data-current-level', level);\r\n\r\n elmNavLevel.forEach((elem) => {\r\n elem.classList.remove('show');\r\n });\r\n\r\n if (level === 0) {\r\n hideBackBtn();\r\n\r\n if (serviceElem) {\r\n showService();\r\n }\r\n\r\n elmNavGroup.forEach((elem) => {\r\n elem.classList.add('show');\r\n });\r\n\r\n targetLevel.forEach((elem) => {\r\n elem.classList.add('show');\r\n\r\n targetLevelLinks.forEach((elem) => {\r\n elem.classList.add('show');\r\n });\r\n });\r\n\r\n elmNavbar.querySelectorAll('[data-nav-level=\"0\"] .nav-link--main').forEach((el) => {\r\n el.classList.remove('active');\r\n });\r\n\r\n $('.nav-item--login, .nav-item--contact').removeClass('show');\r\n } else {\r\n showBackBtn();\r\n\r\n elmNavGroup.forEach((elem) => {\r\n elem.classList.remove('show');\r\n });\r\n\r\n [...targetLevel, ...targetLevelLinks].forEach((elem) => {\r\n elem.classList.add('show');\r\n });\r\n\r\n elmTargetGroup.classList.add('show');\r\n\r\n if (serviceElem) {\r\n hideService();\r\n }\r\n }\r\n\r\n if (group === 4 || group === 5 || group === 6 || group === 7 || group === 8) {\r\n showMobileNav('open');\r\n }\r\n};\r\n\r\nexport { toggleLevel, showBackBtn, hideBackBtn };\r\n","import { viewports } from '../../a/viewports/index';\r\nimport GlobalCountrySearch from '../../../core/js/libs/GlobalCountrySearch';\r\nimport './nav-item';\r\nimport { serviceToggle, showService, hideService, hideFlyout, toggleFlyout } from './flyout';\r\nimport { toggleLevel } from './flyout/toggleLevel';\r\n\r\nconst elmNavbar = document.getElementById('navbar');\r\nconst elmNavbarBar = document.querySelector('.navbar-bar');\r\nconst elmNavigation = elmNavbar.querySelector('.navigation');\r\nconst elmNavbarNav = elmNavigation.querySelector('.navbar-nav');\r\nconst elmToggler = elmNavbarBar.querySelector('.navbar-toggler');\r\nconst elmBrand = elmNavbar.querySelector('.brand');\r\nconst elmBackButton = elmNavbar.querySelector('.nav-link--back');\r\nconst elmNavGroup = elmNavbar.querySelectorAll('[data-nav-group]');\r\nconst serviceButton = elmNavbarBar.querySelector('.nav-link--service');\r\nconst searchButton = elmNavbarBar.querySelector('.nav-link--search');\r\nconst langButton = elmNavbarBar.querySelector('.nav-link--language');\r\nconst cartButton = elmNavbarBar.querySelector('.nav-link--cart');\r\nconst arrMainNavItems = elmNavbar.querySelectorAll('.nav-link--main');\r\nconst arrSubNavItems = elmNavbar.querySelectorAll('.nav-link[data-toggle-level]');\r\nconst countrySelector = elmNavbar.querySelector('.navbar-country-selector a');\r\nconst navGroup3 = elmNavbarNav.querySelector('[data-nav-group=\"3\"]');\r\nconst navGroup3LinkText = navGroup3.querySelector('.nav-link').innerText;\r\nconst navLink = navGroup3.querySelector('.nav-link');\r\nconst textNode = Array.from(navLink.childNodes).find((node) => node.nodeType === Node.TEXT_NODE); // nesesary to get the text node of the nav item while also keeping the svg icon inside of it.\r\n\r\n// truncate the text as soon as the first space appears, adding '...' inmediately after\r\nconst navGroup3LinkTextTruncated = navGroup3LinkText.substring(0, navGroup3LinkText.indexOf(' ')) + '...';\r\n\r\n/**\r\n * tracking of flagClick event\r\n */\r\nif (countrySelector) {\r\n countrySelector.addEventListener('click', (e) => {\r\n e.preventDefault();\r\n const previousCountryName = e.currentTarget.getAttribute('data-country-name');\r\n const previousPageUrl = window.location.href;\r\n const url = new URL(e.currentTarget.href);\r\n\r\n const currentParams = new URLSearchParams(url.search);\r\n currentParams.append('previousCountrySelection', previousCountryName);\r\n currentParams.append('previousPageUrl', previousPageUrl);\r\n\r\n url.search = currentParams;\r\n window.location.href = url.toString();\r\n });\r\n}\r\n\r\n/**\r\n * @param {boolean} collapsed\r\n * collapse mobile navigation\r\n */\r\nconst showMobileNav = (collapsed) => {\r\n if (collapsed == 'open') {\r\n elmToggler.classList.add('is-active');\r\n elmNavigation.classList.add('show');\r\n elmNavbar.classList.add('navbar-active');\r\n elmBrand.classList.add('hidden');\r\n } else if (collapsed == 'close') {\r\n elmToggler.classList.remove('is-active');\r\n elmNavigation.classList.remove('show');\r\n elmNavbar.classList.remove('navbar-active');\r\n\r\n if (elmBackButton.classList.contains('show')) {\r\n elmBackButton.classList.remove('show');\r\n }\r\n\r\n if (elmNavbar.querySelector('.nav-link--login .icon') !== null) {\r\n elmNavbar.querySelector('.nav-link--login').classList.remove('active');\r\n elmNavbar.querySelector('.nav-link--login .icon').classList.remove('hidden');\r\n }\r\n }\r\n\r\n if (collapsed == 'close') {\r\n elmNavbar.querySelectorAll('.show, .hidden, .active, .is-active').forEach((element) => {\r\n if (element.classList.contains('show')) element.classList.remove('show');\r\n if (element.classList.contains('hidden')) element.classList.remove('hidden');\r\n if (element.classList.contains('active')) element.classList.remove('active');\r\n if (element.classList.contains('is-active')) element.classList.remove('is-active');\r\n });\r\n }\r\n};\r\n\r\n// if (mql) {\r\nconst flyouts = document.querySelectorAll('.flyout--spareparts, .flyout--parts-guide');\r\nif (flyouts) {\r\n flyouts.forEach((flyout) => {\r\n flyout.addEventListener('click', function (ev) {\r\n // toggle sub-navigation if level-one element was clicked\r\n // and was not defined as item without a flyout eg. nav-item\r\n // with class .nav-item--noflyout\r\n if (\r\n !ev.target.closest('[data-nav-level=\"2\"]') &&\r\n !ev.target.closest('.nav-item').classList.contains('nav-item--noflyout')\r\n ) {\r\n ev.preventDefault();\r\n this.querySelectorAll('.nav-item[data-nav-level=\"1\"]').forEach((el) => {\r\n //\r\n if (el === ev.target.closest('.nav-item')) {\r\n //\r\n el.classList.add('show');\r\n // get the arrow-right button of the current element\r\n // and add the active class to hide the icon\r\n const button = el.querySelector('button.nav-link');\r\n button.classList.add('active');\r\n button.classList.remove('show');\r\n\r\n // update the current level on the back button so the\r\n // next click on the button will open the correct level\r\n elmBackButton.dataset.toggleLevel = el.dataset.navLevel;\r\n\r\n // get all sub-items and show them\r\n const subItems = el.querySelectorAll('.flyout--sub .nav-item');\r\n\r\n subItems.forEach((element) => {\r\n element.classList.add('show');\r\n });\r\n } else {\r\n el.classList.remove('show');\r\n }\r\n });\r\n }\r\n });\r\n });\r\n\r\n //\r\n // const languageWidth = $('.nav-link--language').width();\r\n // const closeIcon = $('.nav-item--language .icon-close');\r\n // closeIcon.width(languageWidth);\r\n}\r\n\r\n/**\r\n * truncate nav item text on tablet\r\n */\r\nfunction truncateNavItemText() {\r\n if (viewports.lg.matches && !viewports.md.matches && !viewports.sm.matches) {\r\n textNode.textContent = navGroup3LinkTextTruncated;\r\n } else {\r\n textNode.textContent = navGroup3LinkText;\r\n }\r\n}\r\ntruncateNavItemText();\r\n\r\nwindow.addEventListener('resize', () => {\r\n truncateNavItemText();\r\n});\r\n\r\n/**\r\n * click hamburger\r\n * @param event\r\n */\r\nfunction handleHamburgerClick(event) {\r\n event.preventDefault();\r\n\r\n if (elmToggler.classList.contains('is-active')) {\r\n showMobileNav('close');\r\n\r\n return;\r\n }\r\n\r\n showMobileNav('open');\r\n toggleLevel(0, 0);\r\n\r\n if (serviceButton) {\r\n showService();\r\n }\r\n\r\n hideFlyout(searchButton);\r\n hideFlyout(langButton);\r\n}\r\n\r\nfunction closeOpenMainFlyoutDesktop() {\r\n elmNavGroup.forEach((el) => {\r\n el.querySelectorAll('.show').forEach((el) => {\r\n el.classList.remove('show');\r\n });\r\n el.classList.remove('show');\r\n el.querySelector('.nav-link').classList.remove('active');\r\n });\r\n}\r\n\r\n/**\r\n * click on main navigation buttons (eg. products) [desktop and mobile]\r\n * @param event\r\n */\r\nfunction handleMainNavItemsClick(event) {\r\n if (viewports.md.matches) {\r\n // console.log(' |- aborting as not LG...');\r\n return;\r\n }\r\n\r\n event.preventDefault();\r\n\r\n const elem = event.currentTarget;\r\n const parent = event.currentTarget.parentElement;\r\n\r\n if (serviceButton) {\r\n hideService();\r\n }\r\n\r\n if (elem.classList.contains('active')) {\r\n elem.classList.remove('active');\r\n parent.classList.remove('show');\r\n return;\r\n }\r\n\r\n hideFlyout();\r\n closeOpenMainFlyoutDesktop();\r\n\r\n elem.classList.add('active');\r\n elmNavigation.classList.add('show');\r\n\r\n if (!parent.classList.contains('show')) {\r\n if (elem.classList.contains('nav-link--spareparts') || elem.classList.contains('nav-link--parts-guide')) {\r\n parent.classList.add('show');\r\n elem.closest('[data-nav-level=\"0\"]').classList.add('show');\r\n } else {\r\n parent.querySelectorAll('[data-nav-level]').forEach((el) => {\r\n parent.classList.add('show');\r\n el.classList.add('show');\r\n });\r\n }\r\n\r\n if (elem.classList.contains('nav-link--search') && elem.nextElementSibling.querySelector('.form-control')) {\r\n searchfield.focus();\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * click arrow icons to get to sub menu\r\n * @param event\r\n */\r\nfunction handleSubNavItemsClick(event) {\r\n if (!viewports.md.matches) {\r\n // console.log(' |- aborting as not MD...');\r\n return;\r\n }\r\n\r\n // if (event.currentTarget.classList.contains('active')) {\r\n // event.preventDefault();\r\n // return;\r\n // }\r\n\r\n const el = event.currentTarget;\r\n const group = parseInt(el.dataset.toggleGroup, 10);\r\n const level = parseInt(el.dataset.toggleLevel, 10);\r\n const backBtn = elmNavbarBar.querySelector('.nav-link--back');\r\n\r\n // console.log(' |- isActive: ', isActive);\r\n // console.log(' |- isBackLink: ', isBackLink);\r\n // console.log(' |- group: ', group);\r\n // console.log(' |- level: ', level);\r\n\r\n event.preventDefault();\r\n\r\n // hide servic if not start level\r\n if (serviceButton && level >= 0) {\r\n hideService();\r\n }\r\n\r\n // activate clicked element\r\n el.classList.add('active');\r\n\r\n // go to clicked level\r\n toggleLevel(group, level);\r\n\r\n // keep parent element visible\r\n if (el.closest('.nav-item')) {\r\n el.closest('.nav-item').classList.add('show');\r\n }\r\n\r\n // update back button\r\n backBtn.setAttribute('data-toggle-level', level - 1);\r\n\r\n // hide back button when at first level\r\n if (level <= 0) {\r\n backBtn.classList.remove('active');\r\n }\r\n\r\n // if (el.classList.contains('active')) {\r\n // console.log('foo');\r\n // console.log(el);\r\n // el.classList.remove('active');\r\n // el.parentNode.classList.remove('show');\r\n // toggleLevel(0, 0);\r\n // } else {\r\n // toggleLevel(group, level);\r\n // el.parentElement.parentElement.classList.add('show');\r\n // }\r\n\r\n // elmNavbar.querySelectorAll('.nav-link.active:not(.nav-link--main)').forEach((el) => {\r\n // el.classList.remove('active');\r\n // el.classList.add('show');\r\n // });\r\n\r\n // if (!el.classList.contains('nav-link--back')) {\r\n // console.log('bar');\r\n // console.log(el);\r\n // event.currentTarget.parentElement.querySelector('.nav-link').classList.add('active');\r\n // event.currentTarget.classList.add('active');\r\n // event.currentTarget.parentElement.querySelectorAll('.nav-link').forEach((element) => {\r\n // element.classList.add('active');\r\n // });\r\n // }\r\n\r\n // if (el.classList.contains('nav-link--sub')) {\r\n // console.log('foobar');\r\n // console.log(el);\r\n // el.closest('.flyout').previousElementSibling.classList.remove('show');\r\n // }\r\n}\r\n\r\n/**\r\n * mount will add required listeners to make\r\n * the header nav items working. This not only\r\n * adds listeners to the main, but also to the\r\n * sub nav items.\r\n */\r\nfunction mount() {\r\n // prepare hamburger (mobile only)\r\n if (viewports.md.matches) {\r\n elmToggler.addEventListener('click', handleHamburgerClick);\r\n }\r\n\r\n // prepare main nav items\r\n arrMainNavItems.forEach((elem) => {\r\n elem.addEventListener('click', handleMainNavItemsClick);\r\n });\r\n\r\n // prepare sub nav items\r\n arrSubNavItems.forEach((elem) => {\r\n elem.addEventListener('click', handleSubNavItemsClick);\r\n });\r\n\r\n if (serviceButton) {\r\n serviceButton.addEventListener('click', () => {\r\n closeOpenMainFlyoutDesktop();\r\n serviceToggle();\r\n });\r\n }\r\n\r\n [searchButton, langButton, cartButton].forEach((el) => {\r\n if (el !== null) {\r\n el.addEventListener('click', (event) => {\r\n const element = event.currentTarget;\r\n const active = element.classList.contains('active');\r\n showMobileNav('close');\r\n toggleFlyout(element, active);\r\n });\r\n }\r\n });\r\n}\r\n\r\n/**\r\n * unmount will remove all added listeners\r\n * from mount, to prevent getting the click\r\n * events multiple times.\r\n */\r\nfunction unmount() {\r\n // Mobile\r\n // click hamburger\r\n elmToggler.removeEventListener('click', handleHamburgerClick);\r\n\r\n // prepare main nav items\r\n arrMainNavItems.forEach((elem) => {\r\n elem.removeEventListener('click', handleMainNavItemsClick);\r\n });\r\n\r\n // prepare sub nav items\r\n arrSubNavItems.forEach((elem) => {\r\n elem.removeEventListener('click', handleSubNavItemsClick);\r\n });\r\n\r\n if (serviceButton) {\r\n serviceButton.removeEventListener('click', () => {\r\n closeOpenMainFlyoutDesktop();\r\n serviceToggle();\r\n });\r\n }\r\n\r\n [searchButton, langButton, cartButton].forEach((el) => {\r\n if (el !== null) {\r\n el.removeEventListener('click', (event) => {\r\n const element = event.currentTarget;\r\n const active = element.classList.contains('active');\r\n showMobileNav('close');\r\n toggleFlyout(element, active);\r\n });\r\n }\r\n });\r\n}\r\n\r\n/**\r\n *\r\n */\r\nfunction handleViewportChange() {\r\n // remove listeners\r\n unmount();\r\n // add listeners\r\n mount();\r\n\r\n //\r\n if (!viewports.md.matches) {\r\n // Desktop\r\n const mainNavLink = header.querySelector('.nav-link--main.active');\r\n if (mainNavLink) mainNavLink.classList.remove('active');\r\n\r\n for (const item of elmNavGroup) {\r\n item.classList.remove('show');\r\n }\r\n }\r\n}\r\n\r\n// init\r\nhandleViewportChange();\r\nviewports.md.addListener(handleViewportChange);\r\n\r\nfunction closeFlyouts() {\r\n // close current active flyout\r\n if (document.querySelector('#header').querySelector('.nav-item.show')) {\r\n document.querySelector('#header').querySelector('.nav-item.show').classList.remove('show');\r\n }\r\n // reset hamburger button\r\n if (document.querySelector('#header').querySelector('div.hamburger')) {\r\n document.querySelector('#header').querySelector('div.hamburger').classList.remove('is-active');\r\n }\r\n\r\n if (document.querySelector('#header').querySelector('div.navigation.show')) {\r\n document.querySelector('#header').querySelector('div.navigation.show').classList.remove('show');\r\n }\r\n}\r\n\r\n// close navigation by clicking outside the header\r\nwindow.addEventListener('click', (e) => {\r\n // abort if the click wasn't outside the header\r\n if (document.querySelector('#header').contains(e.target)) return;\r\n\r\n if (!viewports.sm.matches) {\r\n closeFlyouts();\r\n }\r\n});\r\n\r\n// only apply the global country search if we are not on a parts page\r\nif (window.location.href.indexOf('parts') === -1) {\r\n // apply global country search, to update form action if a\r\n // user are searching via the global country search-front\r\n const form = document.querySelector('.nav-item--search form');\r\n GlobalCountrySearch.create(form).apply();\r\n}\r\n","$('.tags--lang .tag').on('click', (ev) => {\r\n if (location.hash.indexOf('#filters:') === 0) {\r\n event.preventDefault();\r\n location.href = ev.currentTarget.href + location.hash;\r\n }\r\n});\r\n","import GeoDetection from './GeoDetection';\r\n\r\nexport default class GlobalCountrySearch {\r\n /**\r\n *\r\n * @param form\r\n */\r\n constructor(form) {\r\n this.form = form;\r\n }\r\n\r\n static create(form) {\r\n return new GlobalCountrySearch(form);\r\n }\r\n\r\n apply() {\r\n if (this.form === null) {\r\n console.log('No form instance given. Aborting...');\r\n return;\r\n }\r\n\r\n this.form.addEventListener('submit', (e) => {\r\n e.preventDefault();\r\n // get current form-action value. If on localhost simulate\r\n // live url\r\n let action = this.form.getAttribute('action');\r\n if (window.location.href.indexOf('localhost') > 0)\r\n action = 'https://www.wirtgen-group.com/searchfrontend/es-global/';\r\n\r\n GeoDetection.create()\r\n .inject()\r\n .then(({ country }) => {\r\n //\r\n const newAction = action.replace('global', country);\r\n\r\n // perform a head request to see if the global\r\n // country exists. if not use 'en' language\r\n // as fallback\r\n fetch(newAction, { method: 'HEAD' })\r\n .then((resp) => {\r\n if (resp.status !== 200) {\r\n // get lang from current url so were able\r\n // to replace it with the fallback version\r\n const langCountry = this._findLangCountry(newAction);\r\n if (langCountry === null) {\r\n console.error('Could not determine lang/country for url: ', newAction);\r\n return;\r\n }\r\n // replace lang value\r\n const { lang } = langCountry;\r\n const enAction = this._replaceLast(newAction, lang, 'en');\r\n\r\n // update form-action and submit form\r\n this.form.setAttribute('action', enAction);\r\n this.form.submit();\r\n return;\r\n }\r\n\r\n // update form-action and submit form\r\n this.form.setAttribute('action', newAction);\r\n this.form.submit();\r\n })\r\n .catch((err) => console.error(err));\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * Try to find a lang/country pair within the given url.\r\n * @param url The url to search in\r\n * @returns {*} The lang/country values included within the url\r\n * @private\r\n */\r\n _findLangCountry(url) {\r\n const result = [];\r\n const regex = /\\/[a-z]{2}-[a-z]{2}/gm;\r\n let m;\r\n\r\n while ((m = regex.exec(url)) !== null) {\r\n // prevent infinite loops with zero-width matches\r\n if (m.index === regex.lastIndex) {\r\n regex.lastIndex++;\r\n }\r\n\r\n m.forEach((match, groupIndex) => {\r\n result.push(match);\r\n });\r\n }\r\n\r\n if (result.length === 0) return null;\r\n\r\n // only return first match\r\n const langCountry = result[0].replaceAll('/', '');\r\n const parts = langCountry.split('-');\r\n\r\n return {\r\n lang: parts[0],\r\n country: parts[1],\r\n };\r\n }\r\n\r\n /**\r\n * replaceLast will replace the last occurrence\r\n * of search with replace within string\r\n * @param string\r\n * @param search\r\n * @param replace\r\n * @returns {*}\r\n * @private\r\n */\r\n _replaceLast(string, search, replace) {\r\n const index = string.lastIndexOf(search);\r\n return string.slice(0, index) + string.slice(index).replace(search, replace);\r\n }\r\n}\r\n"],"sourceRoot":""}