{"version":3,"file":"layout-navigation.legacy.js","mappings":"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","sources":["webpack://frontend-starter/./src/scripts/layout-navigation/layout-navigation-helper.js","webpack://frontend-starter/./src/scripts/helpers/lazy-helper.js","webpack://frontend-starter/./src/scripts/layout-navigation/desktop-navigation.js","webpack://frontend-starter/./src/scripts/helpers/array-helper.js","webpack://frontend-starter/./src/scripts/layout-navigation/mobile-navigation.js","webpack://frontend-starter/./src/scripts/layout-navigation/layout-navigation.js","webpack://frontend-starter/./src/scripts/layout-navigation/mobile-navigation-language.js","webpack://frontend-starter/./src/scripts/layout-navigation/layout-navigation-language.js","webpack://frontend-starter/./src/scripts/layout-navigation/index.js"],"sourcesContent":["export default class LayoutNavigationHelper {\r\n static layoutHasContent(layout) {\r\n if (layout.getElementsByClassName('has-submenu').length > 0 && layout.querySelectorAll('.has-submenu .js-hide-navigation-arrow').length == 0) {\r\n return true;\r\n }\r\n\r\n var dropdown = layout.getElementsByClassName('navDropdown')[0];\r\n\r\n return !!dropdown && !!dropdown.childNodes && dropdown.childNodes.length > 0 && dropdown.querySelector('a');\r\n }\r\n\r\n static sublayoutHasContent(layout) {\r\n var dropdown = layout.getElementsByClassName('navLevelTwoDropdown')[0];\r\n\r\n return !!dropdown && !!dropdown.childNodes && dropdown.childNodes.length > 0;\r\n\r\n }\r\n\r\n static async getNavigationData(navigationElement) {\r\n if (!navigationElement) {\r\n return;\r\n }\r\n\r\n return await fetch(navigationElement.getAttribute('data-fetch-url'))\r\n .then(function (response) {\r\n return response.text();\r\n })\r\n .then(function (response) {\r\n const parser = new DOMParser();\r\n const doc = parser.parseFromString(response, 'text/html');\r\n const navWrapper = doc.getElementsByClassName('navWrapper')[0];\r\n return navWrapper.innerHTML;\r\n })\r\n .catch(function (response) {\r\n console.log(response.statusText);\r\n });\r\n }\r\n}","export default class LazyHelper {\r\n static addScriptFile(href, id, addToHead, async = true) {\r\n if (LazyHelper.doesScriptExists(href)) {\r\n return;\r\n }\r\n let ev1 = document.createElement('script');\r\n ev1.src = href;\r\n ev1.async = async;\r\n ev1.setAttribute('id', id);\r\n ev1.classList.add('optanon-category-C0001');\r\n if (addToHead) {\r\n document.head.appendChild(ev1);\r\n }\r\n else {\r\n document.body.appendChild(ev1);\r\n }\r\n\r\n return ev1;\r\n }\r\n\r\n static addCssFile(href, addToHead) {\r\n let css = document.createElement('link');\r\n css.rel = 'stylesheet';\r\n css.type = 'text/css';\r\n css.href = href;\r\n css.media = 'all';\r\n css.classList.add('optanon-category-C0001');\r\n\r\n if (addToHead) {\r\n document.head.appendChild(css);\r\n }\r\n else {\r\n document.body.appendChild(css);\r\n }\r\n }\r\n\r\n static waitJqueryToLoad(method) {\r\n if (window.$) {\r\n method();\r\n } else {\r\n setTimeout(function () { LazyHelper.waitJqueryToLoad(method); }, 100);\r\n }\r\n }\r\n\r\n static doesScriptExists(url) {\r\n return document.querySelectorAll(`script[src=\"${url}\"]`).length > 0;\r\n }\r\n}","import LazyHelper from '../helpers/lazy-helper';\r\n\r\nclass DesktopNavigation {\r\n constructor(container) {\r\n this.consts = {\r\n navIdAttr: 'data-nav-id',\r\n desktopNavigationScreenWidth: 967\r\n };\r\n\r\n this.container = container;\r\n this.isInitialized = false;\r\n this.loadDesktopNavigationElement = null;\r\n this.init(container);\r\n }\r\n\r\n async init() {\r\n if (DeviceHelper.isMobilebrowser()\r\n && screen.width < this.consts.desktopNavigationScreenWidth\r\n && screen.height < this.consts.desktopNavigationScreenWidth) {\r\n console.log('Mobile device detected. Desktop navigation not loaded.');\r\n\r\n return;\r\n }\r\n\r\n const loadDesktopNavigationQuery = document.getElementsByClassName('js-load-desktop-navigation');\r\n if (loadDesktopNavigationQuery.length > 0) {\r\n this.loadDesktopNavigationElement = loadDesktopNavigationQuery[0];\r\n }\r\n\r\n this.navigationUL = this.container.querySelector('ul.nav');\r\n\r\n this.layouts = new Map();\r\n this.hasOpenLayout = false;\r\n this.levelTwoNavigations = new Map();\r\n this.loadLinks();\r\n\r\n if (!this.isInitialized) {\r\n await this.loadNavigationFromOtherPage();\r\n }\r\n\r\n if (!this.loadDesktopNavigationElement || this.isInitialized == true) {\r\n this.attachEvents();\r\n this.levelTwoNavigations.clear();\r\n }\r\n }\r\n\r\n async loadNavigationFromOtherPage() {\r\n if (this.loadDesktopNavigationElement) {\r\n const menusWithArrow = document.querySelectorAll('.main-nav .icon-arrow-down');\r\n if (menusWithArrow.length > 0) {\r\n menusWithArrow.forEach((menu) => {\r\n menu.parentElement.addEventListener('click', async (ev) => {\r\n if (this.isInitialized) {\r\n return;\r\n }\r\n\r\n const targetMenuInnerText = ev.target.closest('.main-nav').querySelector('a').innerText;\r\n\r\n const navigationData = await LayoutNavigationHelper.getNavigationData(this.loadDesktopNavigationElement);\r\n if (navigationData) {\r\n document.getElementsByClassName('navWrapper')[0].innerHTML = navigationData;\r\n this.isInitialized = true;\r\n await this.init();\r\n\r\n document.querySelectorAll('.main-nav > a').forEach((link) => {\r\n if (link.innerText == targetMenuInnerText) {\r\n link.classList += ' clicked-menu';\r\n }\r\n });\r\n\r\n document.querySelector('.clicked-menu').click();\r\n }\r\n })\r\n });\r\n }\r\n }\r\n }\r\n\r\n loadLinks() {\r\n this.layouts.clear();\r\n var items = Array.prototype.slice.call(this.container.getElementsByClassName('navItemLayout'));\r\n var homeLinkRendered = false;\r\n var navigationUL = this.container.querySelector('ul.nav');\r\n var arrowIcon = IconHelper.getSvgHref('icon-arrow-down');\r\n\r\n // generate desktop and mobile main nav parent links\r\n items.forEach((item) => {\r\n var navId = `nav-${GUIDHelper.get()}`;\r\n this.layouts.set(navId, item);\r\n\r\n item.setAttribute(this.consts.navIdAttr, navId);\r\n var originalmenuLink = item.querySelector('.navParent ul li:first-child');\r\n\r\n if (!originalmenuLink) {\r\n return;\r\n }\r\n\r\n var html = originalmenuLink.outerHTML;\r\n\r\n navigationUL.insertAdjacentHTML('beforeend', html);\r\n DomHelper.removeElement(originalmenuLink);\r\n var menuLink = navigationUL.lastElementChild;\r\n\r\n menuLink.setAttribute(this.consts.navIdAttr, navId);\r\n\r\n DomHelper.addClass('main-nav', menuLink);\r\n\r\n if (LayoutNavigationHelper.layoutHasContent(item)) {\r\n var anchor = menuLink.getElementsByTagName('a')[0];\r\n\r\n if (anchor) {\r\n anchor.insertAdjacentHTML('beforeend', arrowIcon);\r\n anchor.addEventListener('click', (ev) => { ev.preventDefault(); });\r\n }\r\n } else {\r\n DomHelper.addClass('link', menuLink);\r\n }\r\n\r\n if (!homeLinkRendered && DomHelper.hasClass('navHomeItemLayout', item)) {\r\n DomHelper.addClass('home', menuLink);\r\n homeLinkRendered = true;\r\n }\r\n\r\n var navParent = item.getElementsByClassName('navParent')[0];\r\n DomHelper.removeElement(navParent);\r\n });\r\n }\r\n\r\n attachEvents() {\r\n this.navigationUL.addEventListener('click', (ev) => {\r\n if (!document.getElementById('navigation-level-two-script')) {\r\n var ev1 = LazyHelper.addScriptFile('/Frontend-Assembly/SitefinityWebApp/ResourcePackages/Wartsila_One/assets/scripts/desktop-navigation-level-two.js', 'navigation-level-two-script', true);\r\n LazyHelper.addCssFile('/Frontend-Assembly/SitefinityWebApp/ResourcePackages/Wartsila_One/assets/styles/navigation.css', true);\r\n var layoutItems = this.layouts;\r\n var levelTwoNavigationItems = this.levelTwoNavigations;\r\n ev1.onload = function () {\r\n layoutItems.forEach((value, key, map) => {\r\n var levelTwo = new window.NavigationLevelTwo(value);\r\n levelTwoNavigationItems.set(key, levelTwo);\r\n });\r\n }\r\n }\r\n\r\n let el = DomHelper.getClickTarget(ev);\r\n let menuLink = DomHelper.closest(el, '.main-nav', this.navigationUL);\r\n\r\n if (menuLink) {\r\n var navId = menuLink.getAttribute(this.consts.navIdAttr);\r\n var layout = this.layouts.get(navId);\r\n\r\n if (LayoutNavigationHelper.layoutHasContent(layout)) {\r\n this.menuLinkClicked(menuLink);\r\n }\r\n }\r\n });\r\n\r\n document.body.addEventListener('click', (ev) => {\r\n let el = DomHelper.getClickTarget(ev);\r\n\r\n var navContainer = DomHelper.closest(el, '.nav-container');\r\n var navDropdown = DomHelper.closest(el, '.navDropdown');\r\n\r\n if (!(navContainer || navDropdown)) {\r\n this.closeAllLayouts();\r\n }\r\n });\r\n }\r\n\r\n menuLinkClicked(menuLink) {\r\n var linkWasOpen = this.closeAllLayouts(menuLink);\r\n\r\n if (!linkWasOpen) {\r\n this.showLayout(menuLink);\r\n }\r\n }\r\n\r\n showLayout(menuLink) {\r\n var navId = menuLink.getAttribute(this.consts.navIdAttr);\r\n var layout = this.layouts.get(navId);\r\n\r\n if (LayoutNavigationHelper.layoutHasContent(layout)) {\r\n this.hasOpenLayout = true;\r\n DomHelper.addClass('open', menuLink);\r\n DomHelper.addClass('navItemLayoutOpened', layout);\r\n DomHelper.addClass('mainnav_overlay-visible', document.body);\r\n }\r\n }\r\n\r\n closeAllLayouts(menuLink) {\r\n var linkWasOpen = false;\r\n\r\n this.layouts.forEach((layout, key, map) => {\r\n DomHelper.removeClass('navItemLayoutOpened', layout);\r\n\r\n if (this.levelTwoNavigations.has(key)) {\r\n this.levelTwoNavigations.get(key).reset();\r\n }\r\n\r\n });\r\n\r\n var links = Array.prototype.slice.call(this.navigationUL.getElementsByClassName('open'));\r\n links.forEach((item) => {\r\n if (menuLink && menuLink == item) {\r\n linkWasOpen = true;\r\n }\r\n\r\n DomHelper.removeClass('open', item);\r\n });\r\n\r\n DomHelper.removeClass('mainnav_overlay-visible', document.body);\r\n this.hasOpenLayout = false;\r\n\r\n return linkWasOpen;\r\n }\r\n}\r\n\r\nexport default DesktopNavigation;","export default class ArrayHelper {\r\n static removeWhere(arr, compareFunc) {\r\n if (!arr) {\r\n return [];\r\n }\r\n\r\n const removedItems = [];\r\n let i = 0;\r\n\r\n while (i < arr.length) {\r\n if (compareFunc(arr[i])) {\r\n removedItems.push(arr[i]);\r\n arr.splice(i, 1);\r\n } else {\r\n i++;\r\n }\r\n }\r\n\r\n return removedItems;\r\n }\r\n}","import ArrayHelper from \"../helpers/array-helper\";\r\n\r\nclass MobileNavigation {\r\n constructor(layoutsContainer) {\r\n this.consts = {\r\n subnavIdAttr: 'data-subnav-id',\r\n desktopNavigationScreenWidth: 967\r\n };\r\n\r\n this.container = document.getElementsByClassName('layout-nav-mobile-container')[0];\r\n\r\n if (!this.container) {\r\n console.warn('layout-nav-mobile-container not found. Mobile menu is not loaded');\r\n\r\n return;\r\n }\r\n\r\n if (!DeviceHelper.isMobilebrowser()\r\n && screen.width >= this.consts.desktopNavigationScreenWidth\r\n && screen.height >= this.consts.desktopNavigationScreenWidth) {\r\n console.log('Desktop device detected. Mobile navigation not loaded.');\r\n return;\r\n }\r\n\r\n this.layoutsContainer = layoutsContainer;\r\n\r\n this.init();\r\n }\r\n\r\n async init() {\r\n var loadMobileNavigationQuery = document.getElementsByClassName('js-load-mobile-navigation');\r\n if (loadMobileNavigationQuery.length > 0) {\r\n this.loadMobileNavigationElement = loadMobileNavigationQuery[0];\r\n }\r\n\r\n if (await this.loadNavigationFromOtherPage() == false) {\r\n this.initContainers();\r\n this.loadHeaders();\r\n this.loadLinks();\r\n this.loadAdditionalButtons();\r\n this.attachEvents();\r\n }\r\n }\r\n\r\n async loadNavigationFromOtherPage() {\r\n if (this.loadMobileNavigationElement) {\r\n var mobileMenuBtns = document.getElementsByClassName('js-mobile-menu-btn');\r\n if (mobileMenuBtns.length > 0) {\r\n var mobileMenuBtn = mobileMenuBtns[0];\r\n mobileMenuBtn.addEventListener('click', async (ev) => {\r\n var navigationData = await LayoutNavigationHelper.getNavigationData(this.loadMobileNavigationElement);\r\n if (navigationData) {\r\n window.document.getElementsByClassName('navWrapper')[0].innerHTML = navigationData;\r\n this.initContainers();\r\n this.loadHeaders();\r\n this.loadLinks();\r\n this.loadAdditionalButtons();\r\n this.attachEvents();\r\n mobileMenuBtn.click();\r\n }\r\n }, { once: true });\r\n\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n async getNavigationData() {\r\n return await fetch(this.loadMobileNavigationElement.getAttribute('data-fetch-url'))\r\n .then(function (response) {\r\n return response.text();\r\n })\r\n .then(function (response) {\r\n var parser = new DOMParser();\r\n var doc = parser.parseFromString(response, 'text/html');\r\n var navWrapper = doc.getElementsByClassName('navWrapper')[0];\r\n return navWrapper.innerHTML;\r\n })\r\n .catch(function (response) {\r\n console.log(response.statusText);\r\n });\r\n }\r\n\r\n initContainers() {\r\n this.submenus = new Map();\r\n this.navigationContainer = this.container.querySelector('ul.layout-nav-mobile');\r\n this.mainnavContainer = this.container.querySelector('.layout-nav-mobile-level-container.level-one');\r\n this.submenusContainerLevelTwo = this.container.querySelector('.layout-nav-mobile-level-container.level-two');\r\n this.submenusContainerLevelThree = this.container.querySelector('.layout-nav-mobile-level-container.level-three');\r\n this.submenusContainerLevelFour = this.container.querySelector('.layout-nav-mobile-level-container.level-four');\r\n this.submenusContainerLevelFive = this.container.querySelector('.layout-nav-mobile-level-container.level-five');\r\n this.submenusContainerLevelSix = this.container.querySelector('.layout-nav-mobile-level-container.level-six');\r\n this.mobileSearchIcon = this.container.querySelector('.layout-nav-mobile-header .btn-search-mobile');\r\n this.navigationClickedElements = [];\r\n\r\n this.menuContainers = [\r\n { container: this.mainnavContainer, class: 'level-one', level: 1, header: null },\r\n { container: this.submenusContainerLevelTwo, class: 'level-two', level: 2, header: null },\r\n { container: this.submenusContainerLevelThree, class: 'level-three', level: 3, header: null },\r\n { container: this.submenusContainerLevelFour, class: 'level-four', level: 4, header: null },\r\n { container: this.submenusContainerLevelFive, class: 'level-five', level: 5, header: null },\r\n { container: this.submenusContainerLevelSix, class: 'level-six', level: 6, header: null }\r\n\r\n ];\r\n\r\n this.arrowIcon = IconHelper.getSvgHref('icon-arrow-right');\r\n\r\n this.header = null;\r\n this.mainnavHeader = null;\r\n this.submenusHeader = null;\r\n }\r\n\r\n loadHeaders() {\r\n this.header = this.container.getElementsByClassName('layout-nav-mobile-header')[0];\r\n\r\n if (!this.header) {\r\n return;\r\n }\r\n\r\n // If there is no search wisget in the header remove the search widget container in the mobile menu\r\n var searchWrapper = document.body.querySelector('.header-one .search-wrapper');\r\n\r\n if (searchWrapper.children && searchWrapper.children.length > 0) {\r\n DomHelper.addClass('has-search', this.container);\r\n } else {\r\n var searchBoxContainer = this.header.getElementsByClassName('layout-nav-mobile-header-search-container')[0];\r\n\r\n if (searchBoxContainer) {\r\n DomHelper.removeElement(searchBoxContainer);\r\n }\r\n }\r\n\r\n var html = this.header.outerHTML;\r\n\r\n this.menuContainers.forEach(menu => {\r\n menu.container.insertAdjacentHTML('afterbegin', html);\r\n menu.header = menu.container.firstElementChild;\r\n DomHelper.addClass('mainnav-header', menu.header);\r\n });\r\n }\r\n\r\n loadLinks() {\r\n this.submenus.clear();\r\n\r\n var layouts = Array.prototype.slice.call(this.layoutsContainer.getElementsByClassName('navItemLayoutMobile'));\r\n layouts.forEach((layout) => {\r\n this.loadParentLinks(layout);\r\n });\r\n }\r\n\r\n loadParentLinks(layout) {\r\n var parentAnchor = layout.querySelector('.navParent a');\r\n\r\n if (!parentAnchor) {\r\n return;\r\n }\r\n\r\n var parentLink = MobileNavigation.createMenuItemFromAnchor(parentAnchor, this.navigationContainer, ['nav-title']);\r\n var layoutContent = layout.getElementsByClassName('navDropdown')[0];\r\n\r\n if (!(layoutContent && layoutContent.childNodes && layoutContent.childNodes.length > 0)) {\r\n return;\r\n }\r\n\r\n var hasAnchors = layoutContent.getElementsByTagName('a')[0];\r\n\r\n if (!hasAnchors) {\r\n return;\r\n }\r\n\r\n var sublayouts = Array.prototype.slice.call(layoutContent.getElementsByClassName('navLevelTwoLayout'));\r\n\r\n if (sublayouts.length > 0) {\r\n var defaultSubLayoutFound = false;\r\n\r\n sublayouts.forEach((sublayout) => {\r\n var subAnchor = sublayout.querySelector('.navLevelTwoLink a');\r\n\r\n if (subAnchor) {\r\n var submenuItem = MobileNavigation.createMenuItemFromAnchor(subAnchor, this.navigationContainer);\r\n\r\n if (LayoutNavigationHelper.sublayoutHasContent(sublayout)) {\r\n var sublayoutContent = sublayout.getElementsByClassName('navLevelTwoDropdown')[0];\r\n this.loadSubmenu(submenuItem, sublayoutContent);\r\n }\r\n } else if (!defaultSubLayoutFound && LayoutNavigationHelper.sublayoutHasContent(sublayout)) {\r\n defaultSubLayoutFound = true;\r\n var sublayoutContent = sublayout.getElementsByClassName('navLevelTwoDropdown')[0];\r\n this.loadSubmenu(parentLink, sublayoutContent);\r\n }\r\n });\r\n\r\n return;\r\n }\r\n\r\n var navLevelTwoLayout = layoutContent.getElementsByClassName('menuLevelTwoLayout')[0];\r\n\r\n if (navLevelTwoLayout) {\r\n var leftPanel = navLevelTwoLayout.getElementsByClassName('menuLevelTwoLeft')[0];\r\n\r\n if (leftPanel) {\r\n var leftPanelAnchors = Array.prototype.slice.call(leftPanel.getElementsByTagName('a'));\r\n\r\n leftPanelAnchors.forEach((leftPanelAnchor) => {\r\n MobileNavigation.createMenuItemFromAnchor(leftPanelAnchor, this.navigationContainer);\r\n });\r\n }\r\n\r\n var rightPanel = navLevelTwoLayout.getElementsByClassName('menuLevelTwoRight')[0];\r\n\r\n this.loadSubmenu(parentLink, rightPanel);\r\n\r\n return;\r\n }\r\n\r\n this.loadSubmenu(parentLink, layoutContent);\r\n }\r\n\r\n loadSubmenu(parentLink, sublayout, css = '2-level-link', level = 2) {\r\n var allAnchors = Array.prototype.slice.call(sublayout.getElementsByClassName(css));\r\n\r\n if (allAnchors.length == 0) {\r\n return;\r\n }\r\n\r\n if (this.menuContainers.length <= level - 1) {\r\n return;\r\n }\r\n\r\n var currentContainer = this.menuContainers[level - 1];\r\n\r\n this.addArrowIcon(parentLink);\r\n DomHelper.addClass('has-submmenu', parentLink);\r\n parentLink.addEventListener('click', (ev) => { ev.preventDefault(); });\r\n\r\n var subnavId = `subnav-${GUIDHelper.get()}`;\r\n parentLink.setAttribute(this.consts.subnavIdAttr, subnavId);\r\n\r\n var html = `
`;\r\n currentContainer.container.insertAdjacentHTML('beforeend', html);\r\n var submenu = currentContainer.container.lastElementChild;\r\n submenu.setAttribute(this.consts.subnavIdAttr, subnavId);\r\n this.submenus.set(subnavId, submenu);\r\n\r\n var navigations = Array.prototype.slice.call(sublayout.getElementsByClassName('nav-vertical-list-' + level));\r\n var nextLevel = level + 1;\r\n navigations.forEach((navigation) => {\r\n var items = Array.prototype.slice.call(navigation.getElementsByClassName(level + '-level-wrapper'));\r\n\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n var anchor = item.getElementsByClassName(level + '-level-link')[0];\r\n\r\n if (anchor) {\r\n var submenuItem = MobileNavigation.createMenuItemFromAnchor(anchor, submenu);\r\n\r\n if (i === 0 && DomHelper.hasClass('nav-vertical-list-' + level + '__has-title', navigation)) {\r\n DomHelper.addClass('nav-title', submenuItem);\r\n }\r\n\r\n if (DomHelper.hasClass('nav-vertical-list-' + level + '__arrows-big', navigation)) {\r\n DomHelper.addClasses(['nav-title', 'submenu-title'], submenuItem);\r\n }\r\n\r\n var nextLevelNavWrapper = anchor.parentNode.getElementsByClassName(nextLevel + '-level-nav')[0];\r\n if (nextLevelNavWrapper) {\r\n this.loadSubmenu(submenuItem, nextLevelNavWrapper, nextLevel + '-level-link', nextLevel);\r\n }\r\n ArrayHelper.removeWhere(allAnchors, (arrItem) => arrItem === anchor);\r\n }\r\n }\r\n });\r\n\r\n allAnchors.forEach((anchor) => {\r\n MobileNavigation.createMenuItemFromAnchor(anchor, submenu, ['nav-title']);\r\n });\r\n }\r\n\r\n addArrowIcon(menuItem) {\r\n var anchor = menuItem.getElementsByTagName('a')[0].parentNode;\r\n var svgSpan = `${this.arrowIcon}`;\r\n anchor.insertAdjacentHTML('beforeend', svgSpan);\r\n }\r\n\r\n loadAdditionalButtons() {\r\n var footerHtml = '';\r\n this.mainnavContainer.insertAdjacentHTML('beforeend', footerHtml);\r\n var footer = this.mainnavContainer.lastElementChild;\r\n\r\n var loginLinkWrapper = document.getElementsByClassName('login-link-wrapper')[0];\r\n\r\n if (loginLinkWrapper) {\r\n var loginLinkWrapperHtml = loginLinkWrapper.innerHTML;\r\n\r\n if (loginLinkWrapperHtml) {\r\n footer.insertAdjacentHTML('beforeend', loginLinkWrapperHtml);\r\n }\r\n }\r\n\r\n var langSelectorWrapper = document.getElementsByClassName('language-selector-wrapper')[0];\r\n\r\n if (langSelectorWrapper) {\r\n var langSelectorWrapperHtml = langSelectorWrapper.innerHTML;\r\n\r\n if (langSelectorWrapperHtml) {\r\n footer.insertAdjacentHTML('beforeend', langSelectorWrapperHtml);\r\n }\r\n }\r\n }\r\n\r\n attachEvents() {\r\n this.header.addEventListener('click', (ev) => {\r\n let el = DomHelper.getClickTarget(ev);\r\n\r\n do {\r\n if (el === this.header) {\r\n return false;\r\n } else if (DomHelper.hasClass('btn-mobile-menu', el)) {\r\n this.openMobileMenu();\r\n\r\n return false;\r\n } else if (DomHelper.hasClass('btn-search-mobile', el)) {\r\n this.openMobileMenu();\r\n let searchInput = document.querySelector('.nav-one .ui-search input');\r\n\r\n setTimeout(function () {\r\n searchInput.focus();\r\n }, 600)\r\n\r\n return false;\r\n }\r\n el = el.parentNode;\r\n } while (el);\r\n });\r\n\r\n this.menuContainers.forEach(submenu => {\r\n submenu.container.addEventListener('click', (ev) => {\r\n let el = DomHelper.getClickTarget(ev);\r\n\r\n if (el.tagName !== 'A') {\r\n do {\r\n if (el === this.menuContainers.filter(t => t.level == 1)[0]) {\r\n return false;\r\n }\r\n if (submenu.level == 1) {\r\n if (DomHelper.hasClass('btn-close', el)) {\r\n this.closeMobileMenu();\r\n\r\n return false;\r\n }\r\n }\r\n else {\r\n var menuIndex = this.menuContainers.indexOf(submenu);\r\n\r\n if (DomHelper.hasClass('btn-back', el)) {\r\n if (submenu.level == 2) {\r\n this.processSubmenus(this.navigationClickedElements.pop(), this.menuContainers[0]);\r\n\r\n }\r\n else {\r\n this.navigationClickedElements.pop()\r\n this.processSubmenus(this.navigationClickedElements[this.navigationClickedElements.length - 1], this.menuContainers[menuIndex - 1]);\r\n }\r\n return false;\r\n } else if (DomHelper.hasClass('btn-close', el)) {\r\n this.closeMobileMenu();\r\n this.processSubmenus(null, submenu);\r\n\r\n return false;\r\n } else {\r\n let menuLink = DomHelper.closest(el, '.has-submmenu', submenu.container);\r\n if (menuLink) {\r\n var subNavIdAttr = menuLink.getAttribute(this.consts.subnavIdAttr);\r\n this.navigationClickedElements.push(subNavIdAttr);\r\n this.processSubmenus(subNavIdAttr, this.menuContainers[menuIndex + 1]);\r\n return false;\r\n }\r\n }\r\n }\r\n el = el.parentNode;\r\n } while (el);\r\n }\r\n else {\r\n window.location.href = el.getAttribute('href');\r\n }\r\n });\r\n });\r\n\r\n this.navigationContainer.addEventListener('click', (ev) => {\r\n let el = DomHelper.getClickTarget(ev);\r\n let menuLink = DomHelper.closest(el, '.has-submmenu', this.navigationContainer);\r\n\r\n if (menuLink && el.tagName !== 'A') {\r\n var subnavId = menuLink.getAttribute(this.consts.subnavIdAttr);\r\n this.navigationClickedElements.push(subnavId);\r\n this.processSubmenus(subnavId, this.menuContainers.filter(t => t.level == 2)[0]);\r\n }\r\n });\r\n }\r\n\r\n openMobileMenu() {\r\n DomHelper.addClass('open', this.mainnavContainer);\r\n DomHelper.addClasses(['mobile-nav-open', 'mobile-nav-open__level-one'], document.body);\r\n this.navigationClickedElements = [];\r\n\r\n setTimeout(() => {\r\n DomHelper.addClass('mobile-nav-sticky-header', document.body);\r\n }, 400);\r\n }\r\n\r\n closeMobileMenu() {\r\n DomHelper.removeClass('open', this.mainnavContainer);\r\n DomHelper.removeClass('mobile-nav-sticky-header', document.body);\r\n this.navigationClickedElements = [];\r\n\r\n setTimeout(() => {\r\n DomHelper.removeClasses(['mobile-nav-open', 'mobile-nav-open__level-one'], document.body);\r\n }, 400);\r\n }\r\n\r\n processSubmenus(openSubmenuId, menu) {\r\n var hasOpenSubmenu = false;\r\n\r\n this.submenus.forEach((submenu, id, map) => {\r\n if (openSubmenuId && id == openSubmenuId) {\r\n DomHelper.addClass('submenu-open', submenu);\r\n hasOpenSubmenu = true;\r\n } else {\r\n DomHelper.removeClass('submenu-open', submenu);\r\n }\r\n });\r\n\r\n for (let i = this.menuContainers.indexOf(menu) + 1; i < this.menuContainers.length; i++) {\r\n DomHelper.removeClass('open', this.menuContainers[i].container);\r\n }\r\n\r\n if (menu.level <= 2) {\r\n setTimeout(() => {\r\n DomHelper.removeClass('mobile-nav-open__level-two', document.body);\r\n }, 400);\r\n }\r\n\r\n if (hasOpenSubmenu) {\r\n DomHelper.addClass('open', menu.container);\r\n if (menu.level >= 2) {\r\n DomHelper.addClass('mobile-nav-open__level-two', document.body);\r\n }\r\n } else {\r\n DomHelper.removeClass('open', menu.container);\r\n }\r\n }\r\n\r\n static createMenuItemFromAnchor(anchor, menuItemsContainer, cssClasses) {\r\n var href = anchor.getAttribute('href');\r\n var target = anchor.getAttribute('target');\r\n var text = anchor.text;\r\n\r\n var hrefT = !!href ? ` href=\"${href}\"` : ' href=\"#\"';\r\n var targetT = !!target ? ` target=\"${target}\"` : '';\r\n\r\n var html = `