Ticket #48894: 48894.2.diff
| File 48894.2.diff, 2.6 KB (added by , 6 years ago) |
|---|
-
src/js/_enqueues/lib/admin-bar.js
19 19 allMenuItems, 20 20 adminBarLogout, 21 21 adminBarSearchForm, 22 adminBarMyAccount, 22 23 shortlink, 23 24 skipLink, 24 25 mobileEvent, … … 33 34 allMenuItems = adminBar.querySelectorAll( '.ab-item' ); 34 35 adminBarLogout = document.getElementById( 'wp-admin-bar-logout' ); 35 36 adminBarSearchForm = document.getElementById( 'adminbarsearch' ); 37 adminBarMyAccount = document.getElementById( 'wp-admin-bar-my-account' ); 36 38 shortlink = document.getElementById( 'wp-admin-bar-get-shortlink' ); 37 39 skipLink = adminBar.querySelector( '.screen-reader-shortcut' ); 38 40 mobileEvent = /Mobile\/.+Safari/.test( navigator.userAgent ) ? 'touchstart' : 'click'; … … 56 58 } 57 59 58 60 adminBar.removeEventListener( 'touchstart', bindMobileEvents ); 61 adminBarMyAccount.removeEventListener( 'click', toggleMyAccount ); 59 62 } ); 60 63 } 61 64 … … 63 66 adminBar.addEventListener( 'click', scrollToTop ); 64 67 65 68 for ( i = 0; i < topMenuItems.length; i++ ) { 66 // Adds or removes the hover class based on the hover intent. 67 window.hoverintent( 68 topMenuItems[i], 69 addClass.bind( null, topMenuItems[i], 'hover' ), 70 removeClass.bind( null, topMenuItems[i], 'hover' ) 71 ).options( { 72 timeout: 180 73 } ); 69 if ( topMenuItems[i].id !== 'wp-admin-bar-my-account' ) { 70 // Adds or removes the hover class based on the hover intent, except for My Account menu. 71 window.hoverintent( 72 topMenuItems[i], 73 addClass.bind( null, topMenuItems[i], 'hover' ), 74 removeClass.bind( null, topMenuItems[i], 'hover' ) 75 ).options( { 76 timeout: 180 77 } ); 78 } 74 79 75 80 // Toggle hover class if the enter key is pressed. 76 81 topMenuItems[i].addEventListener( 'keydown', toggleHoverIfEnter ); 77 82 } 78 83 84 // Toggle hover class on My Account menu. 85 adminBarMyAccount.addEventListener( 'click', toggleMyAccount ); 86 79 87 // Remove hover class if the escape key is pressed. 80 88 for ( i = 0; i < allMenuItems.length; i++ ) { 81 89 allMenuItems[i].addEventListener( 'keydown', removeHoverIfEscape ); … … 113 121 if ( adminBarLogout ) { 114 122 adminBarLogout.addEventListener( 'click', emptySessionStorage ); 115 123 } 124 125 /** 126 * Toggles the My Account menu. 127 * 128 * @since 5.5.0 129 * 130 * @param {Event} event The click event. 131 */ 132 function toggleMyAccount( event ) { 133 event.preventDefault(); 134 adminBarMyAccount.classList.toggle( 'hover' ); 135 } 116 136 } ); 117 137 118 138 /**