@@ -187,7 +187,6 @@ class Nav extends BaseComponent {
187187 e . target . closest ( 'pl-toggle-layout' ) === null
188188 ) {
189189 if ( this . layoutMode !== 'vertical' && window . innerWidth > 670 ) {
190- console . log ( 'handlePageClick + cleaning up...' ) ;
191190 this . cleanupActiveNav ( true ) ;
192191 }
193192 }
@@ -326,24 +325,12 @@ class Nav extends BaseComponent {
326325 activeLink . classList . add ( 'pl-is-active' ) ;
327326 this . previousActiveLinks . push ( activeLink ) ;
328327
329- // handle overview links vs nested links
330- if ( activeLink . classList . contains ( 'pl-js-link-overview' ) ) {
331- const childDropdownTrigger = activeLink . nextSibling ;
332- const childDropdown = activeLink . parentNode . nextSibling ;
333-
334- if ( childDropdown && shouldAutoOpenNav ) {
335- if ( childDropdown . tagName ) {
336- childDropdown . classList . add ( 'pl-is-active' ) ;
337- this . previousActiveLinks . push ( childDropdown ) ;
338- }
339- }
340-
341- if ( childDropdownTrigger && shouldAutoOpenNav ) {
342- if ( childDropdownTrigger . tagName ) {
343- childDropdownTrigger . classList . add ( 'pl-is-active' ) ;
344- this . previousActiveLinks . push ( childDropdownTrigger ) ;
345- }
346- }
328+ if (
329+ activeLink . parentNode . classList . contains (
330+ 'pl-c-nav__link--overview-wrapper'
331+ )
332+ ) {
333+ activeLink . parentNode . classList . add ( 'pl-is-active' ) ;
347334 }
348335
349336 const parentDropdown = activeLink . closest ( '.pl-js-acc-panel' ) ;
@@ -372,31 +359,6 @@ class Nav extends BaseComponent {
372359 const grandparentDropdownTrigger =
373360 grandparentDropdown . previousSibling ;
374361
375- if ( parentDropdown && shouldAutoOpenNav ) {
376- parentDropdown . classList . add ( 'pl-is-active' ) ;
377- this . previousActiveLinks . push ( parentDropdown ) ;
378- }
379-
380- // don't auto-open
381- if ( parentDropdownTrigger ) {
382- if (
383- shouldAutoOpenNav === true ||
384- parentDropdownTrigger . classList . contains (
385- 'pl-c-nav__link--title'
386- ) === false
387- ) {
388- parentDropdownTrigger . classList . add ( 'pl-is-active' ) ;
389- this . previousActiveLinks . push ( parentDropdownTrigger ) ;
390- }
391- }
392-
393- if ( grandparentDropdown && shouldAutoOpenNav ) {
394- if ( shouldAutoOpenNav ) {
395- grandparentDropdown . classList . add ( 'pl-is-active' ) ;
396- }
397- this . previousActiveLinks . push ( grandparentDropdown ) ;
398- }
399-
400362 if ( grandparentDropdownTrigger && shouldAutoOpenNav ) {
401363 if ( shouldAutoOpenNav ) {
402364 grandparentDropdownTrigger . classList . add ( 'pl-is-active' ) ;
@@ -425,72 +387,12 @@ class Nav extends BaseComponent {
425387
426388 toggleSpecialNavPanel ( e ) {
427389 const target = e . target ;
428- const panel = target . parentNode . nextSibling ;
429- const subnav = panel . parentNode . parentNode . classList . contains (
430- 'pl-js-acc-panel'
431- ) ;
432-
433- if ( ! subnav ) {
434- const navTriggers = document . querySelectorAll (
435- `.pl-js-acc-handle.pl-is-active`
436- ) ;
437- const navPanels = document . querySelectorAll (
438- `.pl-js-acc-panel.pl-is-active`
439- ) ;
440-
441- navTriggers . forEach ( navTrigger => {
442- if ( navTrigger !== target ) {
443- navTrigger . classList . remove ( 'pl-is-active' ) ;
444- }
445- } ) ;
446-
447- navPanels . forEach ( navPanel => {
448- if ( navPanel !== target ) {
449- navPanel . classList . remove ( 'pl-is-active' ) ;
450- }
451- } ) ;
452- }
453-
454- if ( target . classList . contains ( 'pl-is-active' ) ) {
455- target . classList . remove ( 'pl-is-active' ) ;
456- panel . classList . remove ( 'pl-is-active' ) ;
457- } else {
458- target . classList . add ( 'pl-is-active' ) ;
459- panel . classList . add ( 'pl-is-active' ) ;
460- }
390+ target . parentNode . classList . toggle ( 'pl-is-active' ) ;
461391 }
462392
463393 toggleNavPanel ( e ) {
464394 const target = e . target ;
465- const panel = target . nextSibling ;
466- const subnav = target . parentNode . parentNode . classList . contains (
467- 'pl-js-acc-panel'
468- ) ;
469-
470- if ( ! subnav ) {
471- const navTriggers = document . querySelectorAll ( '.pl-js-acc-handle' ) ;
472- const navPanels = document . querySelectorAll ( '.pl-js-acc-panel' ) ;
473-
474- navTriggers . forEach ( navTrigger => {
475- if ( navTrigger !== target ) {
476- navTrigger . classList . remove ( 'pl-is-active' ) ;
477- }
478- } ) ;
479-
480- navPanels . forEach ( navPanel => {
481- if ( navPanel !== target ) {
482- navPanel . classList . remove ( 'pl-is-active' ) ;
483- }
484- } ) ;
485- }
486-
487- if ( target . classList . contains ( 'pl-is-active' ) ) {
488- target . classList . remove ( 'pl-is-active' ) ;
489- panel . classList . remove ( 'pl-is-active' ) ;
490- } else {
491- target . classList . add ( 'pl-is-active' ) ;
492- panel . classList . add ( 'pl-is-active' ) ;
493- }
395+ target . classList . toggle ( 'pl-is-active' ) ;
494396 }
495397
496398 rendered ( ) {
0 commit comments