1document.addEventListener('DOMContentLoaded', function () { 2 // Profile menu functionality 3 var userMenuButton = document.getElementById('user-menu-button'); 4 var profileMenuDropdown = document.querySelector('.profile-menu__dropdown'); 5 var mobileMenuButton = document.querySelector('.profile-menu__button.--is-mobile'); 6 var meprAccountNav = document.getElementById('mepr-account-nav'); 7 8 function toggleProfileDropdown() { 9 if (profileMenuDropdown) { 10 profileMenuDropdown.classList.toggle('is-open'); 11 } 12 } 13 14 function closeProfileDropdown() { 15 if (profileMenuDropdown) { 16 profileMenuDropdown.classList.remove('is-open'); 17 } 18 } 19 20 if (userMenuButton && profileMenuDropdown) { 21 userMenuButton.addEventListener('click', toggleProfileDropdown); 22 23 document.addEventListener('click', function (event) { 24 var isFromMenu = 25 userMenuButton.contains(event.target) || 26 profileMenuDropdown.contains(event.target) || 27 (mobileMenuButton && mobileMenuButton.contains(event.target)); 28 if (!isFromMenu) { 29 closeProfileDropdown(); 30 } 31 }); 32 } 33 34 if (mobileMenuButton) { 35 mobileMenuButton.addEventListener('click', function () { 36 if (meprAccountNav) { 37 meprAccountNav.classList.toggle('open'); 38 } else { 39 toggleProfileDropdown(); 40 } 41 }); 42 } 43});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.