Difference between revisions of "MediaWiki:Hidesidebar.js"

From www.PSALTIKI.info
Jump to: navigation, search
(Created page with "/* Добавляет в верхнюю панель кнопку, с помощью которой можно скрыть/показать левое навигационн...")
 
(No difference)

Latest revision as of 12:41, 21 June 2017

/* Добавляет в верхнюю панель кнопку, с помощью которой можно скрыть/показать левое навигационное меню и растянуть основной текст на его место. Полезно на узких экранах и когда окно браузера достаточно узкое. Основан на 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 ) );