MediaWiki:Gadget-CollapsibleNav.js
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.
/** * Collapsible navigation for Vector * @maintainer Nardog */ // CC0 'use strict'; function onToggle( e ) { var collapsedIds = mw.storage.getObject( 'vector-nav-collapsed' ) || [], index = collapsedIds.indexOf( this.id ); if ( e.type === 'afterExpand' ) { // Remove ID from array if ( index !== -1 ) { collapsedIds.splice( index, 1 ); } if ( collapsedIds.length ) { mw.storage.setObject( 'vector-nav-collapsed', collapsedIds ); } else { // Remove the data altogether if empty mw.storage.remove( 'vector-nav-collapsed' ); } } else { if ( index === -1 ) { collapsedIds.push( this.id ); mw.storage.setObject( 'vector-nav-collapsed', collapsedIds ); } } } $( function () { var collapsedIds = mw.storage.getObject( 'vector-nav-collapsed' ) || []; $( '#mw-panel .vector-menu' ) .addClass( 'collapsible-nav mw-collapsible' ) .addClass( function () { if ( collapsedIds.indexOf( this.id ) !== -1 ) { return 'mw-collapsed'; } } ) .children( '.vector-menu-heading' ) .addClass( 'mw-collapsible-toggle' ) .end() .children( '.vector-menu-content' ) .addClass( 'mw-collapsible-content' ) .end() .makeCollapsible() .on( 'afterCollapse.mw-collapsible afterExpand.mw-collapsible', onToggle ); } );