« MediaWiki:Common.js » : différence entre les versions
Jump to navigation
Jump to search
(Nouvelle page : →Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. : // remove original createCollapseButtons functions from onload hook for demo var c...) |
(Résumé automatique : contenu remplacé par « →Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. : ».) |
||
Ligne 1 : | Ligne 1 : | ||
/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */ |
/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */ |
||
// remove original createCollapseButtons functions from onload hook for demo |
|||
var createCollapseButtonsOrig = createCollapseButtons; |
|||
for (var i = 0; i < onloadFuncts.length; i ++) { |
|||
if (onloadFuncts[i] == createCollapseButtonsOrig) { |
|||
onloadFuncts.splice(i, 1); |
|||
} |
|||
} |
|||
addOnloadHook( |
|||
function() { |
|||
for (var i = 0; i < onloadFuncts.length; i ++) { |
|||
if (onloadFuncts[i] == createCollapseButtonsOrig) { |
|||
onloadFuncts.splice(i, 1); |
|||
} |
|||
} |
|||
} |
|||
); |
|||
/** Collapsible tables ********************************************************* |
|||
* |
|||
* Description: Allows tables to be collapsed, showing only the header. See |
|||
* [[Wikipedia:NavFrame]]. |
|||
* Maintainers: [[User:R. Koot]] |
|||
* Changed for better usability by [[User:Cacycle]] |
|||
*/ |
|||
var autoCollapseTest = 2; |
|||
var expandCaptionTest = '<a class="collapseButtonContent"><span class="collapseButtonShow"> </span>afficher</a>'; |
|||
var collapseCaptionTest = '<a class="collapseButtonContent"><span class="collapseButtonHide"> </span>masquer</a>'; |
|||
var expandTitle = 'Afficher le contenu masqué'; |
|||
var collapseTitle = 'Masquer le contenu'; |
|||
// detect MS-IE < 7 |
|||
if (window.showModalDialog && window.clipboardData && window.createPopup) { |
|||
// ignore MS-IE >= 7 in compatibility mode |
|||
var agent = navigator.userAgent.match(/(MSIE)\W+(\d+\.\d+)/i); |
|||
if ( (agent == null) || (parseFloat(agent[2]) < 7) ) { |
|||
expandCaptionTest = '<a class="collapseButtonContent"><span class="collapseButtonShowIE6"> </span>afficher</a>'; |
|||
collapseCaptionTest = '<a class="collapseButtonContent"><span class="collapseButtonHideIE6"> </span>masquer</a>'; |
|||
} |
|||
} |
|||
collapseTableTest = function( tableIndex ) |
|||
{ |
|||
var Button = document.getElementById( "collapseButton" + tableIndex ); |
|||
var Table = document.getElementById( "collapsibleTable" + tableIndex ); |
|||
if ( !Table || !Button ) { |
|||
return false; |
|||
} |
|||
var Rows = Table.rows; |
|||
if ( Button.title == collapseTitle ) { |
|||
for ( var i = 1; i < Rows.length; i++ ) { |
|||
Rows[i].style.display = "none"; |
|||
} |
|||
Button.innerHTML = expandCaptionTest; |
|||
Button.title = expandTitle; |
|||
} else { |
|||
for ( var i = 1; i < Rows.length; i++ ) { |
|||
Rows[i].style.display = Rows[0].style.display; |
|||
} |
|||
Button.innerHTML = collapseCaptionTest; |
|||
Button.title = collapseTitle; |
|||
} |
|||
window.getSelection().removeAllRanges(); |
|||
} |
|||
function createCollapseButtonsTest() |
|||
{ |
|||
var tableIndex = 0; |
|||
var NavigationBoxes = new Object(); |
|||
var Tables = document.getElementsByTagName( "table" ); |
|||
for ( var i = 0; i < Tables.length; i++ ) { |
|||
if ( hasClass( Tables[i], "collapsible" ) ) { |
|||
// only add button and increment count if there is a header row to work with |
|||
var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; |
|||
if (!HeaderRow) continue; |
|||
var Header = HeaderRow.getElementsByTagName( "th" )[0]; |
|||
if (!Header) continue; |
|||
// insert space-balancing empty span left of the title |
|||
var span = document.createElement('span'); |
|||
span.className = 'collapseButtonBalance'; |
|||
Header.insertBefore(span, Header.lastChild); |
|||
NavigationBoxes[ tableIndex ] = Tables[i]; |
|||
Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); |
|||
// Styles are declared in Common.css |
|||
Header.innerHTML += '<span id="collapseButton' + tableIndex + '" class="collapseButtonTest" onclick="javascript:collapseTableTest(' + tableIndex + ')" title="' + collapseTitle + '">' + collapseCaptionTest + '</span>'; |
|||
tableIndex++; |
|||
} |
|||
} |
|||
for ( var i = 0; i < tableIndex; i++ ) { |
|||
if ( hasClass( NavigationBoxes[i], "collapsed" ) || ( tableIndex >= autoCollapseTest && hasClass( NavigationBoxes[i], "autocollapse" ) ) ) { |
|||
collapseTableTest( i ); |
|||
} |
|||
else if ( hasClass( NavigationBoxes[i], "innercollapse" ) ) { |
|||
var element = NavigationBoxes[i]; |
|||
while (element = element.parentNode) { |
|||
if ( hasClass( element, "outercollapse" ) ) { |
|||
collapseTableTest ( i ); |
|||
break; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
addOnloadHook(createCollapseButtonsTest); |
Version du 30 septembre 2009 à 17:24
/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */