{"version":3,"file":"MobileNavigation.js","names":["MobileNavigation","referenceNavigationUl","dismissOnResizeToDesktop","initTemplates","config","_","defaults","rootMenuLabel","menuTopBuffer","searchClass","searchUrlByCountryAudience","isAudienceSelected","returnSearchUrl","$template","$","panelTemplate","template","linkTemplate","$panelContainer","find","$referenceNavigationUl","clone","prepareLinksForMobileMenu","$menuLoginButton","window","audienceProfileIsEmpty","userLoggedIn","$menuToggleButton","$header","append","on","toggle","bind","initMobileMenu","cookie","CookieHelper","getCookie","profileCountry","profileType","artweb_country","String","artweb_investorType","toLowerCase","existingMenuElement","length","menuNotLogIn","each","element","key","attr","text","trim","prepend","menuLogged","hasClass","myAccount","first","_applyKeysToReferenceUl","_onSubMenuBtnClick","$root","_checkIfShowAudienceSelectorPopup","e","currentTarget","getAttribute","preventDefault","showSelector","children","removeClass","addClass","_renderInitialMenu","then","_buildPanel","$panel","empty","parentKey","_getParentKeyForKey","menuLabel","_getLabelForKey","menuItems","_getMenuItemsForKey","linkStrings","item","index","push","links","join","Promise","resolve","direction","$newMenu","panelContainerEl","panelContainerClientRect","getBoundingClientRect","$currentMenu","eq","currentMenuEl","currentMenuClientRect","newMenuEl","newMenuElClientRect","style","width","Math","max","height","reject","requestAnimationFrame","setTimeout","remove","animationDuration","$anchor","closest","siblings","data","$selectedUl","i","label","url","parentTitle","hasChildren","parent","$el","uniqueId","kebabCase","$button","target","$container","menuKey","_animateToSubmenu","SidePanel","create"],"sources":["components/MobileNavigation.js"],"sourcesContent":["import $ from 'jquery';\r\nimport {SidePanel} from './SidePanel';\r\nimport { show as showSelector } from \"./AudienceSelector\";\r\nimport CookieHelper from \"../helpers/CookieHelper\";\r\n\r\nexport class MobileNavigation extends SidePanel {\r\n constructor(referenceNavigationUl) {\r\n super({\r\n dismissOnResizeToDesktop: true\r\n });\r\n this.initTemplates(referenceNavigationUl);\r\n }\r\n\r\n initTemplates(referenceNavigationUl) {\r\n this.config = _.defaults({\r\n rootMenuLabel: 'Menu',\r\n menuTopBuffer: 90\r\n }, this.config);\r\n\r\n let searchClass = '';\r\n let searchUrlByCountryAudience = '';\r\n if(this.isAudienceSelected()) {\r\n searchClass = 'search-visible'\r\n searchUrlByCountryAudience = this.returnSearchUrl();\r\n }\r\n this.$template = $(`\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n `);\r\n\r\n this.panelTemplate = _.template(`\r\n
\r\n
\r\n <% if(key === 'root'){ %>\r\n

<%= menuLabel %>

\r\n <% }else{ %>\r\n

\r\n \r\n <%= menuLabel %>\r\n

\r\n <% } %>\r\n
\r\n \r\n
\r\n `);\r\n\r\n this.linkTemplate = _.template(`\r\n
  • has-children<% }%> <% if(key.includes('my-artemis')){ %>my-artemis-link<% }%><% if(key.includes('my-account')){ %>my-account-link<% }%>\">\r\n \" data-gtm-attributes=\"|event|:|link_click|,|eventName|:|navigation_click|,|widget_format|:|<%- parentTitle == \"Home\" ? \"main nav\" : \"sub nav\" %>|,|widget_type|:|primary menu|\"><%- label %>\r\n <% if(hasChildren){ %>\r\n \r\n <% }%>\r\n
  • `);\r\n\r\n this.$panelContainer = this.$template.find('.ar-mobile-menu-panel-wrapper');\r\n this.$referenceNavigationUl = $(referenceNavigationUl).clone();\r\n\r\n this.prepareLinksForMobileMenu(this.$referenceNavigationUl);\r\n\r\n this.$menuLoginButton = $(`${window.userLoggedIn ? 'My Artemis' : 'Login'}`);\r\n this.$menuToggleButton = $('');\r\n this.$header.find('.ar-header-navigation').append(this.$menuToggleButton).append(this.$menuLoginButton);\r\n\r\n //ON mobile nav click, notify the MobileNavigation\r\n this.$menuToggleButton.on('click', this.toggle.bind(this));\r\n\r\n this.initMobileMenu();\r\n }\r\n\r\n isAudienceSelected() {\r\n return !window.audienceProfileIsEmpty;\r\n }\r\n\r\n returnSearchUrl() {\r\n const cookie = CookieHelper.getCookie();\r\n let profileCountry = '';\r\n let profileType = '';\r\n profileCountry = cookie.artweb_country;\r\n switch (String(cookie.artweb_investorType).toLowerCase())\r\n {\r\n case 'pvi':\r\n profileType = 'investor';\r\n break;\r\n\r\n case 'ic':\r\n profileType = 'institution';\r\n break;\r\n\r\n case 'pfi':\r\n profileType = 'professional';\r\n break;\r\n\r\n case 'qi':\r\n profileType = 'qualified';\r\n break;\r\n \r\n case 'fim':\r\n profileType = 'intermediary';\r\n break;\r\n\r\n default:\r\n profileType = 'adviser';\r\n }\r\n return `/${profileCountry}/${profileType}/search`;\r\n }\r\n\r\n prepareLinksForMobileMenu(existingMenuElement) {\r\n // menu when user is not log in\r\n if ($('.ar-account-list-type__link').length > 1) {\r\n var menuNotLogIn = \"\";\r\n _.each($('.ar-account-list-type__link'), (element, key) => {\r\n menuNotLogIn += \"
  • \" + $(element).find('.ar-account-list-type__header').text().trim() + \"
  • \";\r\n });\r\n\r\n $(existingMenuElement).prepend(menuNotLogIn);\r\n }\r\n\r\n // menu when user is logged\r\n if ($('a.ar-myartemis-link').length > 1) {\r\n var menuLogged = \"\";\r\n\r\n _.each($('a.ar-myartemis-link'), (element, key) => {\r\n if ($(element).hasClass('ar-myaccount-link')) {\r\n var myAccount = \"
  • \" + $(element).text().trim() + \"
  • \";\r\n $(existingMenuElement).prepend(myAccount);\r\n return;\r\n }\r\n\r\n if (key == 0) {\r\n menuLogged = \"
  • \"+ $('a.ar-myartemis-link').first().text() + \"
  • \";\r\n $(existingMenuElement).prepend(menuLogged);\r\n }\r\n }\r\n\r\n initMobileMenu() {\r\n this._applyKeysToReferenceUl();\r\n this.$panelContainer.on('click', 'button.ar-mobile-child-menu-btn', this._onSubMenuBtnClick.bind(this))\r\n\r\n this.$root.append(this.$template);\r\n\r\n this._checkIfShowAudienceSelectorPopup()\r\n }\r\n\r\n _checkIfShowAudienceSelectorPopup() {\r\n if(window.audienceProfileIsEmpty) {\r\n this.$panelContainer.on('click', 'a', (e) => {\r\n if(e.currentTarget.getAttribute(\"href\") === '#') {\r\n e.preventDefault(); showSelector();\r\n }\r\n });\r\n }\r\n }\r\n\r\n _showPanel() {\r\n this.$menuToggleButton.children('.icon-menu').removeClass('icon-menu').addClass('icon-cross');\r\n return this._renderInitialMenu().then(super._showPanel.bind(this));\r\n }\r\n\r\n _hidePanel() {\r\n this.$menuToggleButton.children('.icon-cross').removeClass('icon-cross').addClass('icon-menu');\r\n $('.ar-mobile-menu-container').removeClass('my-artemis-submenu');\r\n return super._hidePanel();\r\n }\r\n\r\n _renderInitialMenu(key) {\r\n return this._buildPanel('root').then(($panel)=>{\r\n this.$panelContainer.empty().append($panel);\r\n });\r\n }\r\n\r\n _buildPanel(key){\r\n var $panel;\r\n var parentKey = this._getParentKeyForKey(key);\r\n var menuLabel = this._getLabelForKey(key);\r\n var menuItems = this._getMenuItemsForKey(key);\r\n var linkStrings = [];\r\n\r\n _.each(menuItems, (item, index) => {\r\n linkStrings.push(this.linkTemplate(item))\r\n });\r\n\r\n $panel = $(this.panelTemplate({\r\n menuLabel: menuLabel,\r\n key: key,\r\n parentKey: parentKey,\r\n links: linkStrings.join('')\r\n }));\r\n\r\n return Promise.resolve($panel);\r\n }\r\n\r\n _animateToSubmenu(key, direction){\r\n\r\n this._buildPanel(key).then(($newMenu) => {\r\n\r\n //Measure initial positions\r\n this.$panelContainer.append($newMenu);\r\n\r\n var panelContainerEl = this.$panelContainer[0];\r\n var panelContainerClientRect = panelContainerEl.getBoundingClientRect();\r\n var $currentMenu = this.$panelContainer.children().eq(0);\r\n var currentMenuEl = $currentMenu[0];\r\n var currentMenuClientRect = currentMenuEl.getBoundingClientRect();\r\n var newMenuEl = $newMenu[0];\r\n var newMenuElClientRect = newMenuEl.getBoundingClientRect();\r\n\r\n //Set final positions\r\n\r\n if(direction === 'forward'){\r\n //Parent container\r\n panelContainerEl.style['position'] = 'relative';\r\n panelContainerEl.style['width'] = (currentMenuClientRect.width*2) + 'px';\r\n panelContainerEl.style['left'] = (-currentMenuClientRect.width) + 'px';\r\n panelContainerEl.style['height'] = Math.max(currentMenuClientRect.height, newMenuElClientRect.height) + 'px';\r\n\r\n\r\n //Children\r\n currentMenuEl.style['position'] = 'absolute';\r\n currentMenuEl.style['left'] = '0px';\r\n currentMenuEl.style['top'] = '0px';\r\n currentMenuEl.style['width'] = currentMenuClientRect.width + 'px';\r\n\r\n newMenuEl.style['position'] = 'absolute';\r\n newMenuEl.style['right'] = '0px';\r\n newMenuEl.style['top'] = '0px';\r\n newMenuEl.style['width'] = currentMenuClientRect.width + 'px';\r\n\r\n panelContainerEl.style['transform'] = 'translate3d('+currentMenuClientRect.width+'px,0,0)';\r\n panelContainerEl.style['-webkit-transform'] = 'translate3d('+currentMenuClientRect.width+'px,0,0)';\r\n } else {\r\n\r\n //Parent container\r\n panelContainerEl.style['position'] = 'relative';\r\n panelContainerEl.style['width'] = (currentMenuClientRect.width*2) + 'px';\r\n panelContainerEl.style['left'] = '0px';\r\n panelContainerEl.style['height'] = Math.max(currentMenuClientRect.height, newMenuElClientRect.height) + 'px';\r\n\r\n\r\n //Children\r\n currentMenuEl.style['position'] = 'absolute';\r\n currentMenuEl.style['right'] = '0px';\r\n currentMenuEl.style['top'] = '0px';\r\n currentMenuEl.style['width'] = currentMenuClientRect.width + 'px';\r\n\r\n newMenuEl.style['position'] = 'absolute';\r\n newMenuEl.style['left'] = '0px';\r\n newMenuEl.style['top'] = '0px';\r\n newMenuEl.style['width'] = currentMenuClientRect.width + 'px';\r\n\r\n panelContainerEl.style['transform'] = 'translate3d(-'+currentMenuClientRect.width+'px,0,0)';\r\n panelContainerEl.style['-webkit-transform'] = 'translate3d(-'+currentMenuClientRect.width+'px,0,0)';\r\n }\r\n\r\n\r\n panelContainerClientRect = panelContainerEl.getBoundingClientRect();\r\n\r\n return new Promise((resolve, reject)=>{\r\n requestAnimationFrame(() => {\r\n\r\n //Switch on animation\r\n this.$panelContainer.addClass('animate-on-transforms');\r\n\r\n //Play animation\r\n panelContainerEl.style['transform'] = '';\r\n panelContainerEl.style['-webkit-transform'] = '';\r\n\r\n setTimeout(()=>{\r\n\r\n $currentMenu.remove();\r\n this.$panelContainer.removeClass('animate-on-transforms');\r\n\r\n panelContainerEl.style['position'] = 'static';\r\n panelContainerEl.style['width'] = 'auto';\r\n panelContainerEl.style['left'] = 'auto';\r\n panelContainerEl.style['right'] = 'auto';\r\n panelContainerEl.style['height'] = 'auto';\r\n\r\n newMenuEl.style['position'] = 'static';\r\n newMenuEl.style['left'] = 'auto';\r\n newMenuEl.style['right'] = 'auto';\r\n newMenuEl.style['top'] = 'auto';\r\n newMenuEl.style['width'] = 'auto';\r\n\r\n resolve();\r\n\r\n }, this.config.animationDuration)\r\n })\r\n });\r\n })\r\n\r\n }\r\n\r\n _getParentKeyForKey(key){\r\n if(key === 'root'){\r\n return 'root';\r\n }\r\n var $anchor = this.$referenceNavigationUl.find('.ar-key-' + key).closest('ul').siblings('a');\r\n\r\n //If the sibling anchor could not be found, the parent is root\r\n if($anchor.length === 0){\r\n return 'root';\r\n }\r\n return $anchor.data('key');\r\n }\r\n\r\n _getLabelForKey(key){\r\n if (key === 'root') {\r\n return this.config.rootMenuLabel;\r\n } else {\r\n return this.$referenceNavigationUl.find('.ar-key-' + key).text();\r\n }\r\n }\r\n\r\n _getMenuItemsForKey(key) {\r\n var $selectedUl, links = [];\r\n\r\n if (key === 'root') {\r\n $selectedUl = this.$referenceNavigationUl;\r\n } else {\r\n $selectedUl = this.$referenceNavigationUl.find('.ar-key-' + key).siblings('ul');\r\n }\r\n\r\n $selectedUl.find('> li > a').each((i, element) =>{\r\n links.push({\r\n label: $(element).text(),\r\n key: $(element).data('key'),\r\n url: $(element).attr('href'),\r\n parentTitle: $(element).attr('data-parent-title'),\r\n hasChildren: $(element).parent().hasClass('has-children')\r\n })\r\n });\r\n\r\n return links;\r\n }\r\n\r\n _applyKeysToReferenceUl(){\r\n this.$referenceNavigationUl.find('a').each((i, element) => {\r\n const $el = $(element);\r\n const key = _.uniqueId(_.kebabCase($(element).text()) + \"-\");\r\n\r\n $el\r\n .data('key', key)\r\n .addClass('ar-key-' + key);\r\n })\r\n }\r\n\r\n _onSubMenuBtnClick(e){\r\n var $button = $(e.target);\r\n var $container = $('.ar-mobile-menu-container');\r\n\r\n if(!$button.hasClass('ar-mobile-child-menu-btn')){\r\n $button = $button.closest('.ar-mobile-child-menu-btn')\r\n }\r\n var menuKey = $button.data('menuKey');\r\n \r\n this._animateToSubmenu(menuKey, $button.data('direction'));\r\n \r\n if (menuKey === 'my-artemis-1') {\r\n $container.addClass('my-artemis-submenu');\r\n } else {\r\n $container.removeClass('my-artemis-submenu');\r\n }\r\n }\r\n}\r\n\r\nMobileNavigation.create = function () {\r\n return new MobileNavigation('.ar-header-primary-nav > ul');\r\n};"],"mappings":"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"}