1(function ($, Drupal) { 2 'use strict'; 3 4 Drupal.behaviors.sidenav = { 5 'attach': function (context) { 6 // remove grandchild triggers, if present 7 $('.ita-sidenav__menu-item .ita-sidenav__menu-item .ita-sidenav__toggle').remove(); 8 9 $('li.ita-sidenav__menu-item').each(function(index) { 10 if ($(this).hasClass('is-active')) { 11 $(this).find('.ita-sidenav__menu-link').addClass('is-active'); 12 } 13 }); 14 15 $('.ita-sidenav__toggle').on('click', function(e) { 16 e.preventDefault(); 17 var triggerDOM = $(this); 18 var triggerParentDOM = triggerDOM.parent(); 19 var closedIconDOM = $(triggerDOM).find('.ita-sidenav__toggle--closed'); // closed == show; could be multiple 20 var openedIconDOM = $(triggerDOM).find('.ita-sidenav__toggle--open'); // open == hide; should be one or zero 21 22 // handle open and close of triggered submenu 23 if (triggerParentDOM.hasClass('ita-sidenav__menu-item--expanded')) { 24 // close the triggered DOM 25 triggerParentDOM.removeClass('ita-sidenav__menu-item--expanded') 26 .removeClass('is-active') 27 .addClass('ita-sidenav__menu-item--collapsed') 28 .attr('aria-expanded', false); 29 closedIconDOM.addClass('ita-sidenav__toggle--show').removeClass('ita-sidenav__toggle--hide'); 30 openedIconDOM.addClass('ita-sidenav__toggle--hide').removeClass('ita-sidenav__toggle--show'); 31 } 32 else { 33 // open the triggered DOM 34 triggerParentDOM.addClass('ita-sidenav__menu-item--expanded') 35 .addClass('is-active') 36 .removeClass('ita-sidenav__menu-item--collapsed') 37 .attr('aria-expanded', true); 38 closedIconDOM.removeClass('ita-sidenav__toggle--show').addClass('ita-sidenav__toggle--hide'); 39 openedIconDOM.removeClass('ita-sidenav__toggle--hide').addClass('ita-sidenav__toggle--show'); 40 } 41 }); 42 } 43 }; 44})(jQuery, Drupal);
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.