MediaWiki:Gadget-CollapsibleNav.js

勤求古训,博采众方
鹿野耕云留言 | 贡献2022年12月10日 (六) 21:39的版本 (创建页面,内容为“→‎* * 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 {…”
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

注意:在发布之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。

  • Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5Ctrl-R(Mac为⌘-R
  • Google Chrome:Ctrl-Shift-R(Mac为⌘-Shift-R
  • Internet Explorer或Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5
  • Opera: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 );
} );