MediaWiki:Common.js
Remartga Suenter memorisar las midadas stos ti eventualmain svidar il chache da tes navigatur per vesair las midadas.
- Firefox / Safari: Tegnair Shift durant cliccar chargiar danovamain, u smatgar Ctrl-F5 u Ctrl-R (⌘-R sin in Mac)
- Google Chrome: Smatgar Ctrl-Shift-R (⌘-Shift-R sin in Mac)
- Internet Explorer: Tegnair Ctrl durant cliccar Rechargiar, u smatgar Ctrl-F5
- Opera: Stizzar il cache sut Tools → Preferences
/**
* Déplacement des [modifier]
*
* Correction des titres qui s'affichent mal en raison de limitations dues à MediaWiki.
* Ce script devrait pouvoir être supprimé lorsque le [[bugzilla:11555]] sera résolu (comportement équivalent)
*
* Copyright 2006, Marc Mongenet. Licence GPL et GFDL.
*
* The function looks for <span class="editsection">, and move them
* at the end of their parent and display them inline in small font.
* var oldEditsectionLinks=true disables the function.
*/
function setModifySectionStyle(element) {
if (typeof oldEditsectionLinks !== 'undefined' && oldEditsectionLinks) {
return;
}
var racine = element ? element : document;
try {
for (var sections = ["h1", "h2", "h3", "h4", "h5", "h6"], i = 0; i < 6; i++) {
var list = racine.getElementsByTagName(sections[i]);
for (var j = 0, l = list.length; j < l; j++) {
var parent = list[j];
var span = parent.firstChild;
if (span.className === "editsection") {
addClass(parent, "modifiedSectionTitle");
parent.appendChild(span);
}
}
}
}
catch (e) { }
}
$(setModifySectionStyle);
/**
* Boîtes déroulantes
*
* Pour [[Modèle:Méta palette de navigation]]
*/
var autoCollapse = 2;
var collapseCaption = '[Zuppentar]';
var expandCaption = '[Mussar]';
function collapseTable( tableIndex ) {
var Button = document.getElementById( "collapseButton" + tableIndex );
var Table = document.getElementById( "collapsibleTable" + tableIndex );
if ( !Table || !Button ) return false;
var FirstRow = Table.getElementsByTagName("tr")[0];
var RowDisplay;
if ( Button.firstChild.data == collapseCaption ) {
RowDisplay = "none"
Button.firstChild.data = expandCaption;
} else {
RowDisplay = FirstRow.style.display;
Button.firstChild.data = collapseCaption;
}
var Row = FirstRow.nextSibling;
while(Row){
if(Row.tagName){
if(Row.tagName.toLowerCase() === "tr"){
Row.style.display = RowDisplay;
}
}
Row = Row.nextSibling;
}
}
function createCollapseButtons() {
var tableIndex = 0;
var NavigationBoxes = new Object();
var Tables = document.getElementsByTagName( "table" );
for ( var i = 0; i < Tables.length; i++ ) {
if ( $(Tables[i]).hasClass("collapsible" ) ) {
NavigationBoxes[ tableIndex ] = Tables[i];
Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
var Button = document.createElement( "span" );
var ButtonLink = document.createElement( "a" );
var ButtonText = document.createTextNode( collapseCaption );
Button.style.styleFloat = "right";
Button.style.cssFloat = "right";
Button.style.fontWeight = "normal";
Button.style.textAlign = "right";
Button.style.width = "6em";
ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
ButtonLink.setAttribute( "href", "javascript:collapseTable(" + tableIndex + ");" );
ButtonLink.appendChild( ButtonText );
Button.appendChild( ButtonLink );
var Header = Tables[i].getElementsByTagName( "tr" )[0].getElementsByTagName( "th" )[0];
/* only add button and increment count if there is a header row to work with */
if (Header) {
Header.insertBefore( Button, Header.childNodes[0] );
tableIndex++;
}
}
}
for (var i = 0; i < tableIndex; i++) {
if ( $(NavigationBoxes[i]).hasClass("collapsed" ) || ( tableIndex >= autoCollapse && $(NavigationBoxes[i]).hasClass("autocollapse" ) ) ) collapseTable( i );
}
}
$(createCollapseButtons);
/**
* Pour [[Modèle:Boîte déroulante]]
*/
var NavigationBarShowDefault = 0;
function toggleNavigationBar(indexNavigationBar) {
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
if (!NavFrame || !NavToggle) return;
// surcharge des libellés dérouler/enrouler grâce a l'attribut title
// exemple : title="[déroulade]/[enroulade]"
var caption = [expandCaption, collapseCaption];
if (NavFrame.title && NavFrame.title.length > 0) {
caption = NavFrame.title.split("/");
if (caption.length < 2) caption.push(collapseCaption);
}
// if shown now
if (NavToggle.firstChild.data == caption[1]) {
for ( var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling ) {
if ($(NavChild).hasClass('NavPic')) NavChild.style.display = 'none';
if ($(NavChild).hasClass('NavContent')) NavChild.style.display = 'none';
if ($(NavChild).hasClass('NavToggle')) NavChild.firstChild.data = caption[0];
}
// if hidden now
} else if (NavToggle.firstChild.data == caption[0]) {
for ( var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling ) {
if ($(NavChild).hasClass('NavPic')) NavChild.style.display = 'block';
if ($(NavChild).hasClass('NavContent')) NavChild.style.display = 'block';
if ($(NavChild).hasClass('NavToggle')) NavChild.firstChild.data = caption[1];
}
}
}
var indexNavigationBar = 0;
// adds show/hide-button to navigation bars
function createNavigationBarToggleButton() {
var Divs = document.getElementsByTagName("div");
var DivsCount = Divs.length;
// iterate over all < div >-elements
for (var i = 0; i < DivsCount; i++) {
// if found a navigation bar
if ($(Divs[i]).hasClass("NavFrame")) {
indexNavigationBar++;
var NavFrame = Divs[i];
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');');
// surcharge des libellés dérouler/enrouler grâce a l'attribut title
var caption = collapseCaption;
if (NavFrame.title && NavFrame.title.indexOf("/") > 0) {
caption = NavFrame.title.split("/")[1];
}
var NavToggleText = document.createTextNode(caption);
NavToggle.appendChild(NavToggleText);
// add NavToggle-Button as first div-element
// in <div class="NavFrame">
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
// if more Navigation Bars found than Default: hide all
if (NavigationBarShowDefault < indexNavigationBar) {
for (var j = 1; j <= indexNavigationBar; j++) {
toggleNavigationBar(j);
}
}
}
$(createNavigationBarToggleButton);
/**
* Ajout d'un sous-titre
*
* Fonction utilisée par [[Modèle:Sous-titre]]
*
* La fonction cherche un élément de la forme
* <span id="sous_titre_h1">Sous-titre</span>
*
* Doit être exécutée après les fonctions d'icônes de titre
*/
function sousTitreH1() {
var span= document.getElementById('sous_titre_h1');
var title=document.getElementById('firstHeading');
if(!title) title = document.getElementsByTagName('h1')[0]; // Nostalgia, Standard
if (span && title) {
var subtitle=span.cloneNode(true);
title.appendChild(document.createTextNode(' '));
title.appendChild(subtitle);
span.parentNode.removeChild(span);
}
}
$(sousTitreH1);
// Initialises stripes on all zebra tables after page load
$(document).ready(function() {
$('table.zebra tbody tr:nth-child(even)').addClass('even');
$('table.zebra tbody tr:nth-child(odd)').addClass('odd');
});
// Re do stripes on a table after sort finishes
$(document).on('sortEnd.tablesorter', function(event) {
var table = $(event.target);
if(table.hasClass('zebra')) {
$('tbody tr:nth-child(even)',table).addClass('even').removeClass('odd');
$('tbody tr:nth-child(odd)',table).addClass('odd').removeClass('even');
}
});