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 476.
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.
}
}
});