MediaWiki:Hidesidebar.js

From www.PSALTIKI.info
Jump to: navigation, search
/* Добавляет в верхнюю панель кнопку, с помощью которой можно скрыть/показать левое навигационное меню и растянуть основной текст на его место. Полезно на узких экранах и когда окно браузера достаточно узкое. Основан на https://en.wikipedia.org/wiki/User:PleaseStand/Hide_Vector_sidebar. */

( function ( mw, $ ) {
	var sidebarSwitch;

	function sidebarHide() {
		document.getElementById( 'mw-panel' ).style.visibility = 'hidden';
		document.getElementById( 'mw-head-base' ).style.marginLeft = '0';
		document.getElementById( 'content' ).style.marginLeft = '0';
		document.getElementById( 'left-navigation' ).style.marginLeft = '0';
		document.getElementById( 'footer' ).style.marginLeft = '0';
		if ( sidebarSwitch ) {
			sidebarSwitch.parentNode.removeChild(sidebarSwitch);
		}
		sidebarSwitch = mw.util.addPortletLink( 'p-namespaces', '#', '>', 'ca-sidebar', 'Показать панель навигации', 'a' );
		$( sidebarSwitch ).click( function ( e ) {
			e.preventDefault();
			sidebarShow();
		} );
	}
	function sidebarShow() {
		document.getElementById( 'mw-panel' ).style.visibility = '';
		document.getElementById( 'mw-head-base' ).style.marginLeft = '';
		document.getElementById( 'content' ).style.marginLeft = '';
		document.getElementById( 'left-navigation' ).style.marginLeft = '';
		document.getElementById( 'footer' ).style.marginLeft = '';
		if ( sidebarSwitch ) {
			sidebarSwitch.parentNode.removeChild(sidebarSwitch);
		}
		sidebarSwitch = mw.util.addPortletLink( 'p-namespaces', '#', '<', 'ca-sidebar', 'Скрыть панель навигации', 'a' );
		$( sidebarSwitch ).click( function ( e ) {
			e.preventDefault();
			sidebarHide();
		} );
	}
	// Only activate on Vector skin
	if ( mw.config.get( 'skin' ) === 'vector' ) {
		$( function() {
			// Change this if you want to show the sidebar by default
			//sidebarHide();
			sidebarSwitch = mw.util.addPortletLink( 'p-namespaces', '#', '<', 'ca-sidebar', 'Скрыть панель навигации', 'a' );
			$( sidebarSwitch ).click( function ( e ) {
			e.preventDefault();
			sidebarHide();
			} );
		} );
	}
 
}( mediaWiki, jQuery ) );