Jump to content

MediaWiki:Common.js: Difference between revisions

Jehan (talk | contribs)
No edit summary
Jehan (talk | contribs)
No edit summary
Line 17: Line 17:
     var Button = document.getElementById( 'hideButton' + tableIndex );
     var Button = document.getElementById( 'hideButton' + tableIndex );
     var showTable = document.getElementById( 'hideableTable' + tableIndex );
     var showTable = document.getElementById( 'hideableTable' + tableIndex );
    var Tables = document.getElementsByTagName( 'table' );  
var Tables = document.getElementsByTagName( 'table' );  
    var i;
var i;
      
      
if ( !showTable || !Button ) {
if ( !showTable || !Button ) {
Line 40: Line 40:
     var NavigationBoxes = {};
     var NavigationBoxes = {};
     var Tables = document.getElementsByTagName( 'table' );
     var Tables = document.getElementsByTagName( 'table' );
    var linkTable = document.getElementById( 'linkTable');
var linkTable = document.getElementById( 'linkTable');
    if ( linkTable ) var linkRows = linkTable.getElementsByTagName( 'tr' );
if ( linkTable ) var linkRows = linkTable.getElementsByTagName( 'tr' );
     var i, j;
     var i, j;
Line 49: Line 49:
     }
     }
     for ( i = 0; i < linkRows.length; i++ ) {
     if ( linkRows ) {
var linkRow = linkRows[i];
for ( i = 0; i < linkRows.length; i++ ) {
if ( !linkRow ) continue;
var linkRow = linkRows[i];
var linkCells = linkRow.getElementsByTagName( 'th' );
if ( !linkRow ) continue;
if ( !linkCells ) continue;
var linkCells = linkRow.getElementsByTagName( 'th' );
for ( j = 0; j < linkCells.length; j++ ) {
if ( !linkCells ) continue;
var linkCell = linkCells[j];
for ( j = 0; j < linkCells.length; j++ ) {
if ( !linkCell ) continue;
var linkCell = linkCells[j];
if ( $( linkCell ).hasClass( 'hideImage' ) )            /* add id attribute */
if ( !linkCell ) continue;
linkCell.setAttribute( 'id', 'hideImage' + tableIndex++ );
if ( $( linkCell ).hasClass( 'hideImage' ) )            /* add id attribute */
linkCell.setAttribute( 'id', 'hideImage' + tableIndex++ );
}
}
}
}
tableIndex = 0;
tableIndex = 0;
j=0;
j=0;
    for ( i = 0; i < Tables.length; i++ ) {
for ( i = 0; i < Tables.length; i++ ) {
        if ( $( Tables[i] ).hasClass( 'hideable' ) ) {
if ( $( Tables[i] ).hasClass( 'hideable' ) ) {
            /* only add button and increment count if there is a header row to work with */
/* only add button and increment count if there is a header row to work with */
            var HeaderRow = Tables[i].getElementsByTagName( 'tr' )[0];
var HeaderRow = Tables[i].getElementsByTagName( 'tr' )[0];
            if ( !HeaderRow ) continue;
if ( !HeaderRow ) continue;
            var Header = HeaderRow.getElementsByTagName( 'th' )[0];
var Header = HeaderRow.getElementsByTagName( 'th' )[0];
var linkImage = document.getElementById( 'hideImage' + j++ );;
var linkImage = document.getElementById( 'hideImage' + j++ );;
            if ( !Header ) continue;
if ( !Header ) continue;
            NavigationBoxes[ tableIndex ] = Tables[i];
NavigationBoxes[ tableIndex ] = Tables[i];
            Tables[i].setAttribute( 'id', 'hideableTable' + tableIndex );
Tables[i].setAttribute( 'id', 'hideableTable' + tableIndex );
            var Button    = document.createElement( 'span' );
var Button    = document.createElement( 'span' );
            var ButtonLink = document.createElement( 'a' );
var ButtonLink = document.createElement( 'a' );
            var ButtonText = document.createTextNode( expandCaption );
var ButtonText = document.createTextNode( expandCaption );
            Button.className = 'hideButton';  /* Styles are declared in Common.css */
Button.className = 'hideButton';  /* Styles are declared in Common.css */
            ButtonLink.style.color = Header.style.color;
ButtonLink.style.color = Header.style.color;
            ButtonLink.setAttribute( 'id', 'hideButton' + tableIndex );
ButtonLink.setAttribute( 'id', 'hideButton' + tableIndex );
            ButtonLink.setAttribute( 'href', '#' );
ButtonLink.setAttribute( 'href', '#' );
            $( ButtonLink ).on( 'click', $.proxy( handleButtonLink, ButtonLink, tableIndex ) );
$( ButtonLink ).on( 'click', $.proxy( handleButtonLink, ButtonLink, tableIndex ) );
            ButtonLink.appendChild( ButtonText );
ButtonLink.appendChild( ButtonText );
            Button.appendChild( document.createTextNode( '[' ) );
Button.appendChild( document.createTextNode( '[' ) );
            Button.appendChild( ButtonLink );
Button.appendChild( ButtonLink );
            Button.appendChild( document.createTextNode( ']' ) );
Button.appendChild( document.createTextNode( ']' ) );
            Header.insertBefore( Button, Header.firstChild );
Header.insertBefore( Button, Header.firstChild );
            if ( linkImage ) linkImage.appendChild( Button );
if ( linkImage ) linkImage.appendChild( Button );
            if ( 0 ) linkImage.insertBefore( Button, linkImage.firstChild );
if ( 0 ) linkImage.insertBefore( Button, linkImage.firstChild );
tableIndex++;
tableIndex++;
        }
}
    }
}


    window.hideTable( 0 );
window.hideTable( 0 );
}
}
}