{"version":3,"sources":["Feature/Navigation/code/ui/scripts/Navigation/MainNavigation.js"],"names":["MainNavigation","$","breakpoint","event","$this","value","$target","parent","visibleClass","find","first","removeClass","siblings","addClass","toggleDesktopExecuteMobile","on","this","hasClass","toggleAll","expandFirstChildIfCurrentItemIsFirstMegaMenuItem","closest","index","$child","e","is","target","has","length","setupLanguageLink","click","data","preventDefault","setLanguageCookie","navigateToLanguage","Date","d","setTime","getTime","toUTCString","expires","cookie","linkElement","siteUrl","newLanguageCode","contextItemId","languageCode","window","location","ajax","url","uri","openClose","toggleMobileExecuteDesktop","init"],"mappings":"AAAA,IAAIA,gBAGIC,2BAAE,WACEA,EAAIC,iCAA6BA,GAAAA,QAAA,SAA7BC,GACIC,GAAJ,OAAIA,WAAJC,OAAA,OAAAH,WAAAG,OAAA,OAAAH,WAAAG,MAAA,CACIC,IAAOF,EAASG,EAAAA,MAChBC,EAAeJ,EAAAG,SAFnBE,KAAA,uCAAAC,QAKIJ,OAAQK,EAAAA,SAHO,eAKPF,EAAKE,YALE,cAMRL,EAAPG,KAAA,eAAAE,YANe,eAOlB,IACKJ,EAANA,SAAAK,WAA+BH,KAAMD,eAAcG,YARhC,cASnBL,EAAQO,SATW,eASXA,OAMpBC,2BAA4B,WACtBb,EAAA,iCAAoCc,GAAA,QAAS,SAAUZ,GACjDD,GAAA,OAAAA,WAAAG,OAAwD,OAA3BH,WAAAG,MAA2B,CACpDD,IAAQH,EAAZA,EAAAe,MACWV,EAASC,EAANA,SAAoBE,KAAA,uCADlCC,QAIIJ,OAAQW,EAARA,SAFe,eAGPN,EAAAA,YAHO,cAIPF,EAAKA,KAAMD,eAAcG,YAJlB,eAKR,IACVP,EAAAG,SAAAK,WAAAH,KAAA,eAAAE,YANkB,cAQnBL,EAAQO,SARW,eAOJD,OAGlBM,UAAA,WAdLjB,EAAA,gBAAAc,GAAA,QAAA,SAAAZ,GAvBa,IAAAC,EAAAH,EAAAe,MAwCNV,EAAAF,EAAAG,SAAYE,KAAA,sBAAAC,QAGXJ,OAAAA,EAAUF,SAFG,eAGbI,EAAYG,YAHC,cAObL,EAAQG,KAAK,eAAoBE,YAPpB,eAKLM,IAERX,EAAQG,SAAWD,WAAAA,KAAcG,eAAYH,YAPhC,cAWjBF,EAAQO,SAXS,cAShBb,eAAAmB,iDAAAb,IACD,MAKAa,iDAAA,SAAAb,GAxDS,IAAAA,EAAAc,QAAA,MAAAC,MAAA,iFA4DjBF,EAAAA,KAAAA,sBAAkDT,QAC1CF,SApBJ,eAuBIc,UAAOT,WACVZ,EAAA,QAAAc,GAAA,QAAA,SAAAQ,GAjEYtB,EAAA,aAAAuB,GAAAD,EAAAE,SAAA,IAAAxB,EAAA,aAAAyB,IAAAH,EAAAE,QAAAE,QAAA,IAAA1B,EAAA,eAAAyB,IAAAH,EAAAE,QAAAE,SAoEN1B,EAAA,aAAAU,YAAY,cACnBV,EAAa,kBAAmBsB,YAAG,kBAKlCK,kBALD,WArEa3B,EAAA,gCAAA4B,MAAA,SAAAN,IA6EjBK,EAAAA,MAAmBE,KAAA,YAAA7B,EAAAe,MAAYc,KAAA,eACzBP,EAAAQ,iBACO/B,eAAYgC,oBACXD,eAAFE,mBAAAjB,UAhFKgB,kBAAA,WAuFjBA,IAAAA,EAAAA,IAAiBE,KACTC,EAACC,QAAOF,EAAJG,UAAR,SACED,IAAAA,EAAUC,WAAmBF,EAANG,cACrBC,SAAOC,OAAG,iBAAaD,EAA3B,YA1FaN,mBAAA,SAAAQ,GA+FTC,IAAAA,EAAYD,EAAAA,GAAFX,KAAoB,WAC9Ba,EAAoBF,EAAAA,GAAFX,KAAoB,YACtCc,EAAkB3C,EAAA,QAAF6B,KAAe,WAC/Be,EAAiB5C,EAAA,QAAF6B,KAAe,eAE9BY,EAAQf,OAAY,EACdmB,OAACC,SAAWL,EAIXzC,EAAE+C,MACCC,IAAA,2BACFL,MACAD,cAAiBA,EACjBE,gBAAcA,EAHZA,aAAAA,KAMCE,KAAAA,SAAejB,GAR1BgB,OAAAC,SAAAjB,EAAAoB,OAqBJlD,KAAAA,WACHA,eAAAmD,YA9HLnD,eAAAoD,6BAiIEpD,eAAYc,6BACVd,eAAAkB,YADJlB,eAAA4B,sBAAA3B,EAAE,WACED,eAAeqD","file":"../../../scripts/Navigation/MainNavigation-dc3b464191.js","sourcesContent":["var MainNavigation = {\r\n\r\n toggleMobileExecuteDesktop: function () {\r\n $('.u-toggleMobileExecuteDesktop').on('click', function (event) {\r\n if (breakpoint.value === \"xs\" || breakpoint.value === \"sm\" || breakpoint.value === \"md\") {\r\n var $this = $(this),\r\n $target = $this.parent().find(\".u-toggleMobileExecuteDesktopTarget\").first(),\r\n visibleClass = \"is-visible\";\r\n\r\n if ($target.hasClass(visibleClass)) {\r\n $target.removeClass(visibleClass);\r\n\r\n $target.find(\".\" + visibleClass).removeClass(visibleClass); // Close all open child menus\r\n return false;\r\n }\r\n $this.parent().siblings().find(\".\" + visibleClass).removeClass(visibleClass); // Close all open sibling menus\r\n $target.addClass(visibleClass);\r\n return false;\r\n }\r\n })\r\n },\r\n\r\n toggleDesktopExecuteMobile: function () {\r\n $('.u-toggleDesktopExecuteMobile').on('click', function (event) {\r\n if (breakpoint.value === \"lg\" || breakpoint.value === \"xl\") {\r\n var $this = $(this),\r\n $target = $this.parent().find(\".u-toggleDesktopExecuteMobileTarget\").first(),\r\n visibleClass = \"is-visible\";\r\n\r\n if ($target.hasClass(visibleClass)) {\r\n $target.removeClass(visibleClass);\r\n $target.find(\".\" + visibleClass).removeClass(visibleClass); // Close all open child menus\r\n return false;\r\n }\r\n $this.parent().siblings().find(\".\" + visibleClass).removeClass(visibleClass); // Close all open sibling menus\r\n $target.addClass(visibleClass);\r\n return false;\r\n }\r\n })\r\n },\r\n toggleAll: function () {\r\n $('.u-toggleAll').on('click', function (event) {\r\n var $this = $(this),\r\n $target = $this.parent().find(\".u-toggleAllTarget\").first(),\r\n visibleClass = \"is-visible\";\r\n\r\n if ($target.hasClass(visibleClass)) {\r\n $target.removeClass(visibleClass);\r\n $target.find(\".\" + visibleClass).removeClass(visibleClass); // Close all open child menus\r\n return false;\r\n }\r\n $this.parent().siblings().find(\".\" + visibleClass).removeClass(visibleClass); // Close all open sibling menus\r\n $target.addClass(visibleClass);\r\n\r\n MainNavigation.expandFirstChildIfCurrentItemIsFirstMegaMenuItem($target);\r\n\r\n return false;\r\n });\r\n },\r\n\r\n expandFirstChildIfCurrentItemIsFirstMegaMenuItem: function ($target) {\r\n let visibleClass = \"is-visible\";\r\n if ($target.closest('li').index(\"li.nav-item.dropdown.MainNavigation-navItem.MainNavigation-navItem--megaMenu\") === 0) {\r\n let $child = $target.find(\".u-toggleAllTarget\").first();\r\n $child.addClass(visibleClass);\r\n }\r\n },\r\n\r\n openClose: function () {\r\n $('body').on('click', function (e) {\r\n if (!$('.nav-item').is(e.target) && $('.nav-item').has(e.target).length === 0 && $('.is-visible').has(e.target).length === 0) {\r\n $('.nav-item').removeClass('is-visible');\r\n $('.dropdown-menu').removeClass('is-visible');\r\n }\r\n });\r\n },\r\n\r\n setupLanguageLink: function () {\r\n $('.MainNavigation-languageLink').click(function (e) {\r\n if ($(this).data(\"siteurl\") || $(this).data(\"language\")) {\r\n e.preventDefault();\r\n MainNavigation.setLanguageCookie();\r\n MainNavigation.navigateToLanguage(this);\r\n }\r\n \r\n });\r\n },\r\n setLanguageCookie: function () {\r\n var d = new Date();\r\n d.setTime(d.getTime() + (365 * 24 * 60 * 60 * 1000));\r\n var expires = \"expires=\" + d.toUTCString();\r\n document.cookie = \"userlanguage=;\" + expires + \"; path=/\";\r\n },\r\n navigateToLanguage: function (linkElement) {\r\n\r\n var siteUrl = $(linkElement).data(\"siteurl\"); \r\n var newLanguageCode = $(linkElement).data(\"language\");\r\n var contextItemId = $('body').data('ctxitem');\r\n var languageCode = $('body').data('ctxlanguage');\r\n\r\n if (siteUrl.length > 0) {\r\n window.location = siteUrl;\r\n }\r\n else {\r\n $.ajax({\r\n url: '/api/navigation/language',\r\n data: {\r\n contextItemId: contextItemId,\r\n newLanguageCode: newLanguageCode,\r\n languageCode: languageCode\r\n }\r\n }).done(function (data) {\r\n window.location = data.uri;\r\n });\r\n }\r\n\r\n },\r\n\r\n \r\n\r\n init: function () {\r\n MainNavigation.openClose();\r\n MainNavigation.toggleMobileExecuteDesktop();\r\n MainNavigation.toggleDesktopExecuteMobile();\r\n MainNavigation.toggleAll();\r\n MainNavigation.setupLanguageLink();\r\n }\r\n}\r\n\r\n$(function () {\r\n MainNavigation.init();\r\n});\r\n"]}