MediaWiki:Gadget-LeftPaneSwitch.js
Note : après avoir enregistré la page, vous devrez forcer le rechargement complet du cache de votre navigateur pour voir les changements.
Mozilla / Firefox / Konqueror / Safari : maintenez la touche Majuscule (Shift) en cliquant sur le bouton Actualiser (Reload) ou pressez Maj-Ctrl-R (Cmd-R sur Apple Mac) ;
Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5./**
* LeftPaneSwitch
*
* Ajoute un bouton permettant d'afficher/masquer le menu latéral de gauche.
*
* Auteur : Od1n
* {{Projet:JavaScript/Script|LeftPaneSwitch}}
*/
// <nowiki>
/* jshint esversion: 6, laxbreak: true */
/* eslint-env browser */
/* globals mw, $ */
mw.loader.using('mediawiki.storage', function () {
$(function ($) { // eslint-disable-line no-unused-vars
'use strict';
// actuellement, compatible uniquement avec la skin Vector
// (et avant son remaniement de 2021, cf. https://www.mediawiki.org/wiki/Skin:Vector)
if (mw.config.get('skin') !== 'vector') {
return;
}
mw.loader.addStyleTag(`
#left-pane-switch {padding:6px; background:#E4E4E4; position:absolute; left:10em; cursor:pointer; z-index:100}
@media (min-width:982px) { #left-pane-switch {left:11em} }
.left-pane-closed #mw-panel {display:none}
.left-pane-closed #content {margin-left:0}
.left-pane-closed #p-personal ul {padding-left:0}
.left-pane-closed #left-navigation {margin-left:0}
.left-pane-closed #left-pane-switch {left:0}
.left-pane-closed #footer {margin-left:0}
`);
const paneSwitch = document.createElement('div');
paneSwitch.id = 'left-pane-switch';
paneSwitch.textContent = '‹‹';
let paneClosed = false;
function closePane() {
document.body.classList.add('left-pane-closed');
paneSwitch.textContent = '››';
paneClosed = true;
}
function openPane() {
document.body.classList.remove('left-pane-closed');
paneSwitch.textContent = '‹‹';
paneClosed = false;
}
paneSwitch.addEventListener('click', function () {
if (!paneClosed) {
closePane();
mw.storage.set('LeftPane', '0');
} else {
openPane();
mw.storage.set('LeftPane', '1');
}
});
if (mw.storage.get('LeftPane') === '0') {
closePane();
}
const mwHead = document.getElementById('mw-head');
if (mwHead) {
mwHead.append(paneSwitch);
}
});
});
// </nowiki>