MediaWiki:Gadget-CollapsibleSidebar.js
Jump to navigation
Jump to search
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
$(function(){
/*
* Make sidebar sections collapsible
*
* Taken from the Aether Wiki
*/
$panel = $("#mw-panel");
$("#mw-panel .vector-menu-portal").each(function(index, el){
var $el = $(el);
var $id = $el.attr("id");
if(!$id){
return;
}
// for < 1366px
$el.removeClass("expanded");
// for >= 1366px
if(localStorage.getItem("sidebar_vector_c_"+$id) === "y"){
$el.addClass("collapsed").find(".vector-menu-content").slideUp(0);
}
else if(!mw.config.get('wgUserId') && ($id === 'p-Wiki_community' || $id === 'p-tb')
&& localStorage.getItem("sidebar_vector_c_"+$id) === null){
$el.addClass("collapsed").find(".vector-menu-content").slideUp(0);
}
// tab selectable
$el.find("h3").attr("tabindex", 0).on("keypress", function(event) {
if (event.which == 13) {
$(this).trigger("click");
event.stopImmediatePropagation()
}
});
});
$("#mw-panel .vector-menu-portal").on("click", "h3", function(event){
var $el = $(this).parent();
var $id = $el.attr("id");
if(!$id){
return;
}
event.stopPropagation();
if($panel.width() < 200){
$el.toggleClass("collapsed");
if($el.hasClass("collapsed")){ // more consistent between class and slide status.
localStorage.setItem("sidebar_vector_c_"+$id, "y");
$el.find(".vector-menu-content").slideUp("fast");
}
else{
localStorage.setItem("sidebar_vector_c_"+$id, "n");
$el.find(".vector-menu-content").slideDown("fast");
}
}
else{
$("#mw-panel .vector-menu-portal").not($el).removeClass("expanded");
$el.toggleClass("expanded");
}
});
});