22 * @copyright (C) 2019 Open Source Matters, Inc. <https://www.joomla.org>
33 * @license GNU General Public License version 2 or later; see LICENSE.txt
44 */
5- const allMenus = document . querySelectorAll ( 'ul.main-nav' ) ;
6- allMenus . forEach ( ( menu ) => {
5+
6+ document . querySelectorAll ( 'ul.main-nav' ) . forEach ( ( menu ) => {
77 // eslint-disable-next-line no-new, no-undef
88 new MetisMenu ( menu ) ;
99} ) ;
@@ -20,12 +20,10 @@ if (!sidebar) {
2020if ( sidebar && ! sidebar . getAttribute ( 'data-hidden' ) ) {
2121 // Sidebar
2222 const menuToggle = document . getElementById ( 'menu-collapse' ) ;
23- const firsts = [ ] . slice . call ( sidebar . querySelectorAll ( '.collapse-level-1' ) ) ;
2423
2524 // Apply 2nd level collapse
26- firsts . forEach ( ( first ) => {
27- const seconds = [ ] . slice . call ( first . querySelectorAll ( '.collapse-level-1' ) ) ;
28- seconds . forEach ( ( second ) => {
25+ sidebar . querySelectorAll ( '.collapse-level-1' ) . forEach ( ( first ) => {
26+ first . querySelectorAll ( '.collapse-level-1' ) . forEach ( ( second ) => {
2927 if ( second ) {
3028 second . classList . remove ( 'collapse-level-1' ) ;
3129 second . classList . add ( 'collapse-level-2' ) ;
@@ -40,10 +38,7 @@ if (sidebar && !sidebar.getAttribute('data-hidden')) {
4038 menuToggleIcon . classList . toggle ( 'icon-toggle-on' ) ;
4139 menuToggleIcon . classList . toggle ( 'icon-toggle-off' ) ;
4240
43- const listItems = [ ] . slice . call ( document . querySelectorAll ( '.main-nav > li' ) ) ;
44- listItems . forEach ( ( item ) => {
45- item . classList . remove ( 'open' ) ;
46- } ) ;
41+ document . querySelectorAll ( '.main-nav > li' ) . forEach ( ( item ) => item . classList . remove ( 'open' ) ) ;
4742
4843 const elem = document . querySelector ( '.child-open' ) ;
4944 if ( elem ) {
@@ -58,14 +53,11 @@ if (sidebar && !sidebar.getAttribute('data-hidden')) {
5853 } ) ;
5954
6055 // Sidebar Nav
61- const allLinks = wrapper . querySelectorAll ( 'a.no-dropdown, a.collapse-arrow, .menu-dashboard > a' ) ;
6256 const currentUrl = window . location . href ;
6357 const mainNav = document . querySelector ( 'ul.main-nav' ) ;
64- const menuParents = [ ] . slice . call ( mainNav . querySelectorAll ( 'li.parent > a' ) ) ;
65- const subMenusClose = [ ] . slice . call ( mainNav . querySelectorAll ( 'li.parent .close' ) ) ;
6658
6759 // Set active class
68- allLinks . forEach ( ( link ) => {
60+ wrapper . querySelectorAll ( 'a.no-dropdown, a.collapse-arrow, .menu-dashboard > a' ) . forEach ( ( link ) => {
6961 if (
7062 ( ! link . href . match ( / i n d e x \. p h p $ / ) && currentUrl . indexOf ( link . href ) === 0 )
7163 || ( link . href . match ( / i n d e x \. p h p $ / ) && currentUrl . match ( / i n d e x \. p h p $ / ) ) ) {
@@ -120,20 +112,15 @@ if (sidebar && !sidebar.getAttribute('data-hidden')) {
120112 } ) ) ;
121113 } ;
122114
123- menuParents . forEach ( ( parent ) => {
115+ mainNav . querySelectorAll ( 'li.parent > a' ) . forEach ( ( parent ) => {
124116 parent . addEventListener ( 'click' , openToggle ) ;
125117 parent . addEventListener ( 'keyup' , openToggle ) ;
126118 } ) ;
127119
128120 // Menu close
129- subMenusClose . forEach ( ( subMenu ) => {
121+ mainNav . querySelectorAll ( 'li.parent .close' ) . forEach ( ( subMenu ) => {
130122 subMenu . addEventListener ( 'click' , ( ) => {
131- const menuChildsOpen = [ ] . slice . call ( mainNav . querySelectorAll ( '.open' ) ) ;
132-
133- menuChildsOpen . forEach ( ( menuChild ) => {
134- menuChild . classList . remove ( 'open' ) ;
135- } ) ;
136-
123+ mainNav . querySelectorAll ( '.open' ) . forEach ( ( menuChild ) => menuChild . classList . remove ( 'open' ) ) ;
137124 mainNav . classList . remove ( 'child-open' ) ;
138125 } ) ;
139126 } ) ;
0 commit comments