Usage
This function runs automatically, so it is not called manually. Is this incorrect?
Additional Notes
This function looks for any menu inside the .xoxo
sidebar class with a child UL. It then adds a toplevelvert_expander
class to it, and when appropriate (if it is an ancestor menu-item) clicks the expander to show the sub-menu items.
Source File
Located in /assets/js/modules/helpers.js on line 366.
No Hooks
This function does not have any filters or actions available. Request one?nebula.subnavExpanders = function(){ if ( nebula.site?.options?.sidebar_expanders && jQuery('#sidebar-section .menu').length ){ jQuery('#sidebar-section .menu li.menu-item:has(ul)').addClass('has-expander').append('<a class="toplevelvert_expander closed" href="#"><i class="fa-solid fa-caret-left"></i> <span class="visually-hidden">Expand</span></a>'); jQuery('.toplevelvert_expander').parent().children('.sub-menu').hide(); nebula.dom.document.on('click', '.toplevelvert_expander', function(){ jQuery(this).toggleClass('closed open').parent().children('.sub-menu').slideToggle(); return false; }); //Automatically expand subnav to show current page jQuery('.current-menu-ancestor').children('.toplevelvert_expander').click(); jQuery('.current-menu-item').children('.toplevelvert_expander').click(); } };
Override
To override or disable this JavaScript function, simply redeclare it with the exact same function name. Remember: Some functionality is conditionally loaded via dynamic imports, so if your function is not overriding properly, try listening for a DOM event (described below).
For non-module import functions:
nebula.subnavExpanders = function(){ //Write your own code here, leave it blank, or return false. }
For dynamically imported module function overrides:
jQuery(window).on('load', function(){ nebula.subnavExpanders = function(){ //Write your own code here, leave it blank, or return false. } });
Custom Nebula DOM events do also exist, so you could also try the following if the Window Load listener does not work:
jQuery(document).on('nebula_module_loaded', function(module){ //Note that the module variable is also available to know which module specifically was imported if ( typeof nebula.subnavExpanders === 'function' ){ nebula.subnavExpanders = function(){ //Write your own code here, leave it blank, or return false. } } });