MediaWiki:Gadget-autocollapse.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.
/**
* Automatically collapsed navboxes under certain conditions
*/
(function($, mw){
if ($( ".mw-collapsible-toggle" ).length) expandMaps();
if (
!$('.navbox').length ||
mw.Uri().query.veaction != undefined
) return;
mw.hook('wikipage.collapsibleContent').add(init);
function init() {
var $navboxes = $('.navbox'),
// maximum number of navboxes before they all get collapsed
maxShow = 1,
// maximum allowable height of navbox before it gets collapsed
maxHeight = 300;
function collapseNavbox(i,box) {
var $box = $(box);
if ($box.hasClass('navbox-uncollapsed')) return;
$box.data('mw-collapsible').collapse();
}
if ($navboxes.length > maxShow) {
$navboxes.each(collapseNavbox);
}
$navboxes.each(function(i,e){
if ($(e).height() > maxHeight) {
collapseNavbox(i,e);
}
});
}
// handle collapsible maps
function expandMaps() {
$( ".mw-collapsible-toggle" ).on( "click keypress", function() {
const $this = $( this );
if( $this.hasClass( "mw-collapsible-toggle-expanded" ) ) {
mw.hook( "wikipage.content" ).fire(
$( "a.mw-kartographer-map", $this.parents( ".mw-collapsible" ).first() ).parent()
);
}
} );
}
//$(init);
})(jQuery, mediaWiki);