PageSourceSearch

https://www.axionenergy.com/contenido/plugins/nc-side-menu/assets/menu.js?ver=1.3.0

js axionenergy.com collected 2026-09-24 10:01:59 UTC 24,102 bytes, 915 lines download raw bytes

1
2function UCSideMenu(menuWrapperID, urlAjax){
3  
4  var g_backLinkClass;
5  var g_subMenuSelector;
6  var g_menuWrapper, g_objWrapper, g_menuID, g_objButtonToggle, g_objInputBox, g_isCloseOnOpen, g_isClickable, g_isOpenOnLoad, g_subsFromSide;
7  var g_pushOnOpen, g_pushOnOpenMobile, g_lastBodyPadding;
8  var g_startExpanded;
9  var g_dataLinkNum;
10  var g_dataSpeed;
11  var g_menuOpenedClass;
12  
13  /**
14  * add support to swiper container
15  */
16  function pushSwipers(num){    
17    var objSwipers = jQuery(".swiper-container");
18    
19    objSwipers.each(function(){      
20      var objSwiper = jQuery(this);
21      
22      objSwiper.css("transform", "translate("+num+"px, 0)");
23      
24    });    
25  }
26  
27  /**
28  * add support to swiper container
29  */
30  function releaseSwipers(){    
31    var objSwipers = jQuery(".swiper-container");
32    
33    objSwipers.each(function(){      
34      var objSwiper = jQuery(this);
35      
36      objSwiper.css("transform", "");
37    });    
38  }
39  
40  /**
41  * open nav
42  */
43  function openNav() {    
44    var objBody = jQuery("body");
45    var menuWidth = g_menuWrapper.width();
46    
47    objBody.addClass(g_menuOpenedClass);   
48    
49    if ( g_menuWrapper.hasClass("menu-right-close")) {
50      
51      function pushContentToLeft(){
52        objBody.addClass("uc-menu-push");
53        objBody.css("padding-right",menuWidth+"px");
54        
55        pushSwipers(-menuWidth);        
56      }
57      
58      g_menuWrapper.removeClass("menu-right-close");
59      g_menuWrapper.addClass("menu-right-open");
60      
61      if(window.matchMedia("(min-width: 420px)").matches && g_pushOnOpen == true){
62        pushContentToLeft();
63      }
64      
65      if(window.matchMedia("(max-width: 420px)").matches && g_pushOnOpenMobile == true){
66        pushContentToLeft();
67      }
68      
69      g_lastBodyPadding = objBody.css("padding-right");
70      
71    } else if (g_menuWrapper.hasClass("menu-left-close")) {
72      
73      function pushContentToRight(){
74        objBody.addClass("uc-menu-push");
75        objBody.css("padding-left",menuWidth+"px");
76        
77        pushSwipers(menuWidth);        
78      }
79      
80      g_menuWrapper.removeClass("menu-left-close");
81      g_menuWrapper.addClass("menu-left-open");			
82      
83      if(window.matchMedia("(min-width: 420px)").matches && g_pushOnOpen == true){
84        pushContentToRight();
85      }
86      
87      if(window.matchMedia("(max-width: 420px)").matches && g_pushOnOpenMobile == true){
88        pushContentToRight();
89      }
90      
91      g_lastBodyPadding = objBody.css("padding-left");      
92    }    
93    g_objButtonToggle.addClass("uc-close-action");    
94  }
95  
96  /**
97  * close the menu
98  */
99  function closeNav() {    
100    g_objButtonToggle.removeClass("uc-close-action");
101    
102    checkUrlAndSelectActive();
103    
104    var objBody = jQuery("body");
105    objBody.removeClass(g_menuOpenedClass);
106    
107    if (g_menuWrapper.hasClass("menu-left-open")) {
108      
109      function lastBodyPaddingLeft() {
110        
111        setTimeout(function(){
112          objBody.removeClass("uc-menu-push");
113        },g_dataSpeed*1000);
114        
115        objBody.css("padding-left", '');
116        
117        releaseSwipers();        
118      }
119      
120      g_menuWrapper.toggleClass("menu-left-close");
121      
122      if(window.matchMedia("(min-width: 420px)").matches && g_pushOnOpen == true) {
123        lastBodyPaddingLeft();
124      }
125      
126      if(window.matchMedia("(max-width: 420px)").matches && g_pushOnOpenMobile == true) {
127        lastBodyPaddingLeft();
128      }
129      
130    } else if (g_menuWrapper.hasClass("menu-right-open")) {
131      
132      function lastBodyPaddingRight() {
133        
134        setTimeout(function(){
135          objBody.removeClass("uc-menu-push");
136        },g_dataSpeed*1000)
137        
138        objBody.css("padding-right", '');
139        
140        releaseSwipers();
141        
142      }
143      
144      g_menuWrapper.toggleClass("menu-right-close");
145      
146      if(window.matchMedia("(min-width: 420px)").matches && g_pushOnOpen == true){
147        lastBodyPaddingRight();
148      }
149      
150      if(window.matchMedia("(max-width: 420px)").matches && g_pushOnOpenMobile == true) {
151        lastBodyPaddingRight();
152      }
153      
154    }
155    
156    if(g_subsFromSide == true){
157      var objAllExpanded = g_menuWrapper.find(".expanded");
158      
159      if(objAllExpanded.length == false)
160        return(false);
161      
162      jQuery.each(objAllExpanded, function(index, link){
163        var objLink = jQuery(link);
164        var section = link.nextElementSibling;
165       
166        collapseSection(section, objLink);  
167        menuItemIconToggle(objLink[0]);    
168      });
169    }    
170  }
171  
172  /**
173  * get closed state
174  */
175  function isMenuClosed(){    
176    var isClose = g_objButtonToggle.hasClass("uc-close-action");
177    
178    return(!isClose);
179  }
180  
181  /**
182  * toggle click
183  */
184  function onButtonToggleClick(){    
185    var isClose = g_objButtonToggle.hasClass("uc-close-action");
186    
187    if(isClose == true)
188      closeNav();
189    else
190    openNav();    
191  }
192  
193  /**
194  * collapse inner section
195  */
196  function collapseInnerSection(element){    
197  
198    if(g_subsFromSide == false){
199      var sectionHeight = element.scrollHeight;
200      
201      var elementTransition = element.style.transition;
202      element.style.transition = '';
203      
204      requestAnimationFrame(function() {        
205        element.style.height = sectionHeight + 'px';
206        element.style.transition = elementTransition;
207        
208        requestAnimationFrame(function() {
209          element.style.height = 0 + 'px';
210        });
211        
212      });
213    }
214    
215    element.setAttribute('data-collapsed', 'true');
216  }
217  
218  /**
219  * expand the inner of the section
220  */
221  function expandSectionInner(element){    
222    if(g_subsFromSide == false){
223      var sectionHeight = element.scrollHeight;
224      element.style.height = sectionHeight + 'px';
225      
226      element.addEventListener('transitionend', function(e) {
227        element.removeEventListener('transitionend', arguments.callee);
228        element.style.height = null;
229        
230      });
231    }
232    
233    element.setAttribute('data-collapsed', 'false');
234  }
235  
236  /**
237  * expand section
238  */
239  function expandSection(section, objLink){    
240    expandSectionInner(section);
241    
242    section.setAttribute('data-collapsed', 'false')
243    objLink.removeClass("collapsed");
244    objLink.addClass("expanded");    
245  }
246  
247  /**
248  * collapse the section
249  */
250  function collapseSection(section, objLink){   
251    collapseInnerSection(section);
252    
253    objLink.addClass("collapsed");
254    objLink.removeClass("expanded");
255  }
256  
257  /**
258  * collapse all expanded sections
259  */
260  function collapseAllExpanded(clickedItem){
261    
262    var clickedParentExpanded = jQuery(clickedItem).parents(g_subMenuSelector).prev();    
263    var clickedChildrenExpanded = jQuery(clickedItem).next().find('.expanded');   
264    
265    var objAllExpanded = g_menuWrapper.find(".expanded").not(clickedChildrenExpanded).not(clickedParentExpanded);
266  
267    if(objAllExpanded.length == false)
268      return(false);
269
270    
271    jQuery.each(objAllExpanded, function(index, link){
272      var objLink = jQuery(link);
273      var section = link.nextElementSibling;
274
275      //make sure link is link, and not icon
276      if(objLink.prop("tagName") == "SPAN"){
277        objLink = objLink.parent();
278      }
279      
280      var objSection = objLink.next();
281      var objChildSection = objSection.find(".sub-menu");
282      
283      //check if objLink has opened children if so, skip this one (disabled until case with it is found)
284      if(objChildSection && objChildSection.length > 0){
285        //return(true);
286      }
287        
288      var section = objLink[0].nextElementSibling;
289      collapseSection(section, objLink);      
290    });
291  }
292  
293  /**
294  * close or open link
295  */
296  function toggleSection(objLink){
297    
298    var link = objLink[0];
299    var section = link.nextElementSibling;
300    
301    var isCollapsed = section.getAttribute('data-collapsed') === 'true';
302    
303    if (isCollapsed) {		//expend current
304      
305      if(g_isCloseOnOpen == true)
306        collapseAllExpanded(link);
307      
308      expandSection(section, objLink);
309      
310    } else {		//collapse current      
311      collapseSection(section,objLink);
312    }
313    
314  }
315  
316  /**
317  * toggle menu item icon
318  */
319  function menuItemIconToggle(link){        
320    //add icons to pointer elements
321    var pointerSelector = ".uc-menu-item-pointer";
322   
323    var objPointer = jQuery(link).find(pointerSelector);
324    var objPsrentsMenuItems = jQuery(link).parents(".menu-item-has-children");
325    var objParentsPointers = objPsrentsMenuItems.find(pointerSelector);
326    var objAllPointers = g_menuWrapper.find(pointerSelector).not(objParentsPointers);
327    
328    var objExpandedIcon = g_objWrapper.find(".uc-side-menu-expand-icon");
329    var objCollapsedIcon = g_objWrapper.find(".uc-side-menu-collapse-icon");
330  
331    if(!objExpandedIcon.length || !objCollapsedIcon)
332      return(false);
333    
334    var expandedIconHtml = objExpandedIcon.html();
335    var collapsedIconHtml = objCollapsedIcon.html();  
336    
337    if(jQuery(link).hasClass("collapsed") == true){
338    
339      if(g_isCloseOnOpen == true)
340      objAllPointers.html(expandedIconHtml);
341
342      objPointer.html(expandedIconHtml);      
343    }
344    
345    if(jQuery(link).hasClass("expanded") == true){
346      
347      if(g_isCloseOnOpen == true)
348      objAllPointers.html(expandedIconHtml);
349    
350      objPointer.html(collapsedIconHtml);
351      
352    }    
353  }
354  
355  /**
356  * open or close some item
357  */
358  function openCloseItem(link, event, isPointer, isOnlyOpen){    
359    var section = link.nextElementSibling;
360    
361    if(isPointer == true){
362      section = jQuery(link).parents("a")[0].nextElementSibling;
363    }
364    
365    if(!section)
366      return(true);
367    
368    var objSection = jQuery(section);
369    
370    if(objSection.hasClass("sub-menu") == false)
371      return(true);
372    
373    if(event)
374      event.preventDefault();
375    
376    var objLink = jQuery(link);    
377    var isCollapsed = section.getAttribute('data-collapsed') === 'true';
378   
379    if(isCollapsed == true && isOnlyOpen == true){  
380
381      if(isPointer == true) {
382        expandSection(section, objLink.parent());    
383        menuItemIconToggle(objLink.parent()); 
384      }else{
385        expandSection(section, objLink);
386        menuItemIconToggle(objLink); 
387      }
388   
389      return(true);      
390    }      
391    
392    if (isCollapsed == true && !isOnlyOpen) {		//expend current      
393      if(g_isCloseOnOpen == true)
394        collapseAllExpanded(link);
395      
396      expandSection(section, objLink);
397      
398    } else if(isCollapsed == false && !isOnlyOpen) {		//collapse current
399      
400      collapseSection(section,objLink);
401    }    
402    menuItemIconToggle(link);    
403  }
404  
405  /**
406  * if clicked link is an anchor then close nav
407  */
408  function closeNavOnAnchorLinkClick(objLink, event){    
409    var url = objLink.attr("href");
410    url = jQuery.trim(url);
411    
412    if(!url)
413      return(true);
414    
415    var objLinkIcon = objLink.find('.uc-menu-item-pointer');
416    
417    if(!objLinkIcon)
418      return(true);
419    
420    var target = event.target;
421    
422    if(target == objLinkIcon[0])
423      return(true);
424    
425    var objLinkParent = objLink.parent();
426    
427    if(g_isClickable == false){
428      
429      if(objLinkParent.hasClass('menu-item-has-children'))
430        return(true)
431      
432      //check if clicked link is an anchor link 
433      if (url.indexOf("#") > -1)
434        closeNav();      
435    }else{
436      
437      //check if clicked link is an anchor link
438      if (url.indexOf("#") > -1)
439        closeNav();      
440    }
441  }  
442  
443  /**
444  * on menu item click, if sub menu, open or close
445  */
446  function onMenuItemClick(event){        
447    openCloseItem(this,event);
448    
449    var objLink = jQuery(this);
450    
451    closeNavOnAnchorLinkClick(objLink, event)   
452  }
453  
454  /**
455  * console log shortcut
456  */
457  function trace(str){    
458    console.log(str);
459  }
460  
461  /**
462  * do search
463  */
464  function doSearch(){    
465    if(!g_objInputBox)
466      return(false);
467    
468    var searchString = g_objInputBox.val();
469    
470    searchString = jQuery.trim(searchString);
471    
472    if(!searchString)
473      return(true);
474    
475    var urlBase = g_objInputBox.data("urlbase");
476    var urlSearch = urlBase+"?s="+searchString;
477    
478    location.href = urlSearch;    
479  }
480  
481  /**
482  * on input box key up - if enter clicked - go to search
483  */
484  function onInputBoxKeyUp(event){    
485    if(event.keyCode !== 13)
486      return(true);
487    
488    doSearch();
489  }
490  
491  /**
492  * on menu body click - disable propogation
493  */
494  function onMenuBodyClick(event){    
495    event.stopPropagation();
496  }
497  
498  /**
499  * on body click - close the menu if needed
500  */
501  function onBodyClick(){    
502    var isClosed = isMenuClosed();
503    
504    if(isClosed == true)
505      return(true);
506    
507    closeNav();
508  }
509  
510  //on trigger link click
511  
512  function onLinkClick(e){    
513    var objLink = jQuery(this);
514    
515    var dataMenuName = g_menuWrapper.data('name');
516    var dataLinkName = objLink.data('name');
517    
518    if(dataLinkName == undefined){
519      return(false);
520    }
521    
522    e.preventDefault();
523    if(dataLinkName == dataMenuName){
524      g_objButtonToggle.trigger("click");
525    }else{
526      return(false);
527    }
528  }
529  
530  /**
531  * init open links
532  */
533  function initLinks(){    
534    var objLinks = jQuery('.ue-link-open-menu').not(".uc-link-inited");
535    
536    if(objLinks.length == 0){
537      return(false);
538    }
539    
540    var elementName = g_menuWrapper.data("name");
541    
542    jQuery.each(objLinks, function(index, linkElement){      
543      var objLink = jQuery(linkElement);      
544      var name = objLink.data("name");
545      
546      if(name != elementName)
547        return(true);
548      
549      objLink.addClass("uc-link-inited");      
550      objLink.on("click", onLinkClick);
551      
552    });
553  }
554  
555  /*
556  * scrolls to elment
557  */
558  function scrollMenuToElement(elementOffsetTop){	
559    
560    var objScrollableHolder = jQuery("#"+menuWrapperID).find(".uc-side-menu-items");
561    
562    //wait untill all transitions are finished
563    setTimeout(function(){            
564      objScrollableHolder.animate({
565        scrollTop: elementOffsetTop
566      }, 100)
567      
568    }, 500);    
569  }
570  
571  /**
572  * finds if element is in viewport
573  */
574  function isElementInViewport(element) {    
575    var elementTop = element.offset().top;
576    var elementBottom = elementTop + element.outerHeight();
577    
578    var viewportTop = jQuery(window).scrollTop();
579    var viewportBottom = viewportTop + jQuery(window).height();
580    
581    var isInViwport = elementBottom > viewportTop && elementTop < viewportBottom;
582    
583    return(isInViwport);
584  } 
585  
586  /*
587  * check url and select active item
588  */
589  function checkUrlAndSelectActive(){    
590    var currentPageClass = "current_page_item";    
591    var objlinks = jQuery("#"+menuWrapperID).find('a');
592    
593    objlinks.each(function(){      
594      var objLink = jQuery(this);
595      var linkHref = objLink.attr("href");
596      
597      //if link has same link adress as menu item then open menu item
598      if(linkHref != urlAjax)
599        return(true);
600      
601      var objMenuListItem = objLink.parents('li');
602      
603      objlinks.removeClass(currentPageClass);
604      objMenuListItem.addClass(currentPageClass);
605      
606      var objParentLinks = objLink.parents(g_subMenuSelector).prev();
607      
608      objParentLinks.each(function(index, elem){        
609        var objParentLink = jQuery(this);
610        
611        if(objParentLink.hasClass("collapsed")){
612          
613          if(g_isClickable == false){
614            openCloseItem(objParentLink[0]);  
615          }
616          
617          if(g_isClickable == true){            
618            var objPointer = objParentLink.find(".uc-menu-item-pointer");
619            
620            openCloseItem(objPointer[0], false, true, true);
621          }          
622        }                
623      });
624      
625      //check if item is in viewport and scroll if needed
626      objLinkOffsetTop = objLink.offset().top;
627      
628      if(isElementInViewport(objLink) == false){        
629        scrollMenuToElement(objLinkOffsetTop);
630      }      
631    });    
632  }
633  
634  /*
635  * open current page menu item
636  */
637  function checkUrlAndTriggerClick(){    
638    if(g_startExpanded == true)
639      return(false);
640    
641    var currentPageClass = "current_page_item";
642    
643    var objlinks = jQuery("#"+menuWrapperID).find('a');
644    
645    objlinks.each(function(){
646      
647      var objLink = jQuery(this);
648      var linkHref = objLink.attr("href");
649      
650      //if link has same link adress as menu item then open menu item
651      if(linkHref != urlAjax)
652        return(true);
653      
654      var objMenuListItem = objLink.parents('li');
655      
656      objlinks.removeClass(currentPageClass);
657      objMenuListItem.addClass(currentPageClass);      
658      
659      //check if item is in viewport and scroll if needed
660      objLinkOffsetTop = objLink.offset().top;
661      
662      if(isElementInViewport(objLink) == false){        
663        scrollMenuToElement(objLinkOffsetTop);        
664      }
665      
666      var objLinkToOpens = objLink.parents(g_subMenuSelector).prev();  
667      
668      if(g_isClickable == false){        
669        objLinkToOpens.each(function(){          
670          var objLinkToOpen = jQuery(this);
671          openCloseItem(objLinkToOpen[0]);
672          
673        });      
674      }
675      
676      if(g_isClickable == true){        
677        objLinkToOpens.each(function(){
678          
679          var objLinkToOpen = jQuery(this);
680          var objPointer = objLinkToOpen.find(".uc-menu-item-pointer");
681          
682          openCloseItem(objPointer[0], false, true, true);          
683        });        
684      }      
685    });    
686  }
687  
688  /**
689  * check if menu is hidden after resize
690  */
691  function onWindowResize(){    
692    var isMenuOpened = jQuery("body").hasClass(g_menuOpenedClass);
693    
694    //only if menu is opened and body has overflow hidden
695    if(isMenuOpened == false)
696      return(false);
697    
698    var objParents = g_menuWrapper.parents();
699    
700    objParents.each(function(){      
701      
702      var objParent = jQuery(this);
703      var isParentVisible = objParent.is(":visible");
704      
705      if(isParentVisible == true)
706        return(true);
707      
708      closeNav();      
709    });
710    
711  }
712  
713  /**
714  * append back links to submenus
715  */
716  function appendBackLinksToSubMenus(){
717    if(g_subsFromSide == false)
718      return(false);
719    
720    var objSubMenus = g_menuWrapper.find(g_subMenuSelector);
721    
722    if(!objSubMenus || objSubMenus.length == 0)
723      return(false);
724
725    var iconHtml;
726    var backLinkIconClass = "ue-back-link-icon";
727    var objBackLinkIconPlaceholder = g_objWrapper.find(".uc-side-menu-back-link-icon");
728
729    if(!objBackLinkIconPlaceholder || objBackLinkIconPlaceholder.length == 0)
730      iconHtml = `<span class="${backLinkIconClass}"></span>`;
731    else
732    iconHtml = `<span class="${backLinkIconClass}">${objBackLinkIconPlaceholder.html()}</span>`;
733    
734    objSubMenus.each(function(){
735      var objSubMenu = jQuery(this);
736      var backlinkText = g_objWrapper.data("backlink-text");
737      var backLinkHtml = `<li class="${g_backLinkClass}"><a href="javascript:void(0);">${backlinkText} ${iconHtml}</a></li>`;
738      
739      objSubMenu.prepend(backLinkHtml);
740    });
741  }
742  
743  /**
744  * on back link click
745  */
746  function onBackLinkClick(){
747    var objBackLink = jQuery(this);
748    var objParentSubMenu = objBackLink.closest(g_subMenuSelector);
749    var objMenuLink = objParentSubMenu.prev();
750    
751    collapseSection(objParentSubMenu[0], objMenuLink);
752    menuItemIconToggle(objMenuLink[0]);
753  }
754  
755  /**
756  * collapse inner section after init
757  */
758  function initCollapsedState(item){   
759    collapseInnerSection(item.nextElementSibling);
760    
761    jQuery(item).addClass("collapsed");    
762    jQuery(item).removeClass("expanded");    
763  }
764  
765  /**
766  * run the menu, init
767  */
768  function runMenu(){    
769    
770    //classes 
771    g_backLinkClass = "ue-back-link";
772    
773    //selectors
774    g_subMenuSelector = ".sub-menu";
775    
776    g_objWrapper = jQuery("#"+menuWrapperID);      
777    g_menuWrapper = g_objWrapper.find(".uc-side-menu-wrapper");
778    g_isClickable = g_objWrapper.data("clickable");
779    g_isCloseOnOpen = g_objWrapper.data("closeothers");    
780    g_subsFromSide = g_objWrapper.data("subs-from-side");    
781    var isCloseOnBody = g_objWrapper.data("closeonbody");
782    g_isOpenOnLoad = g_menuWrapper.data("openonload");    
783    g_pushOnOpen = g_objWrapper.data("push");
784    g_pushOnOpenMobile = g_objWrapper.data("push-mobile")
785    g_dataSpeed = g_objWrapper.data("speed");    
786    g_startExpanded = g_objWrapper.data("expand");    
787    var objButtonClose = g_menuWrapper.find(".uc-close-side-menu");    
788    g_objButtonToggle = g_objWrapper.find(".open_side_menu");    
789    g_objInputBox = g_menuWrapper.find("input[type='text']");    
790    g_menuID = menuWrapperID;    
791    g_menuOpenedClass = "menu-opened";   
792    
793    if(g_menuWrapper.length == 0){
794      console.log("menu with ID: "+menuWrapperID+" not found!");
795      return(false);
796    }
797    
798    if(objButtonClose.length == 0){
799      console.log("The close button not found");
800      return(false);
801    }
802    
803    if(g_objButtonToggle.length == 0){
804      console.log("The trigger button not found");
805      return(false);
806    }
807    
808    //collapse or expand all			
809    var dataExpandFirst = g_objWrapper.data("first-expand");
810    
811    g_menuWrapper.find("ul.uc-list-menu li a").each((i, item) => {      
812      if(item.nextElementSibling){
813        
814        var objItem = jQuery(item);
815        objItem.append("<span class='uc-menu-item-pointer'></span>");
816        
817        if(g_startExpanded == false){
818          
819          //expand first 
820          if(dataExpandFirst == true && i != 0)
821            initCollapsedState(item);
822          else if(dataExpandFirst == false)
823            initCollapsedState(item);          
824          
825        }else{
826          
827          jQuery(item).removeClass("collapsed");
828          jQuery(item).addClass("expanded");
829          
830        }
831        
832        //add icons to pointer elements
833        menuItemIconToggle(item);        
834      }      
835    });
836    
837    initLinks();
838    
839    //append sub menu back links
840    appendBackLinksToSubMenus();
841    
842    //on back link click
843    jQuery(`.${g_backLinkClass}`).on("click", onBackLinkClick);
844    
845    //init events
846    
847    if(g_objInputBox.length == 0)
848      g_objInputBox = null;
849    
850    if(g_objInputBox)
851      g_objInputBox.on("keyup",onInputBoxKeyUp);
852    
853    var objButtonSearch = g_menuWrapper.find(".side-menu-search-button-search");
854    objButtonSearch.on("click", doSearch);
855    
856    var objLinks = g_menuWrapper.find("ul.uc-list-menu li a");
857    
858    if(g_isClickable == false){
859      objLinks.on("click", onMenuItemClick);
860    }else{
861      
862      var objPointers = g_menuWrapper.find("ul.uc-list-menu li .uc-menu-item-pointer");
863      
864      //pointer click - toggle section      
865      objPointers.on("click", function(event){        
866        event.preventDefault();
867        
868        var objLink = jQuery(this);
869        var objParentLink = objLink.parent();
870        
871        toggleSection(objParentLink);
872        
873        menuItemIconToggle(objParentLink[0]);
874        
875      });
876      
877      //close nav if anchor link clicked
878      objLinks.on("click", function(event){        
879        var objLink = jQuery(this);
880        
881        closeNavOnAnchorLinkClick(objLink, event);        
882      });
883      
884    }
885    
886    if(dataExpandFirst == false)
887      setTimeout(checkUrlAndTriggerClick,500);
888    
889    objButtonClose.on("click", closeNav);
890    
891    g_objButtonToggle.on("click", onButtonToggleClick);
892    
893    if(isCloseOnBody === true){      
894      var objOverlay = g_menuWrapper.find(".ue_side_menu_overlay");
895      
896      if(objOverlay.length)
897        objOverlay.on("click", closeNav);
898      else{
899        g_menuWrapper.on("click", onBodyClick);
900        g_objButtonToggle.on("click", onBodyClick);
901        
902        jQuery("body").on("click", onBodyClick);
903      }			      
904    }
905    
906    if(g_isOpenOnLoad === true){
907      g_objButtonToggle.trigger("click");
908    }
909    
910    jQuery(window).on("resize", onWindowResize);
911  }
912  
913  runMenu();  
914}
915

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.