Differenze tra le versioni di "MediaWiki:Common.js"

Riga 1: Riga 1:
  var autoCollapse = 0 ;
+
  var autoCollapse = 1 ;
 
  var collapseCaption = 'Nascondi' ;
 
  var collapseCaption = 'Nascondi' ;
 
  var expandCaption = 'Mostra' ;
 
  var expandCaption = 'Mostra' ;

Versione delle 18:23, 1 set 2011

 var autoCollapse = 1 ;
 var collapseCaption = 'Nascondi' ;
 var expandCaption = 'Mostra' ;
 
 function collapseTable ( tableIndex ) {
         var Button = document. getElementById ( 'collapseButton' + tableIndex ) ;
         var Table = document. getElementById ( 'collapsibleTable' + tableIndex ) ;
 
         if ( ! Table || ! Button ) {
                 return false ;
         }
 
         var Rows = Table. rows ;
 
         if ( Button. firstChild . data == collapseCaption ) {
                 for ( var i = 1 ; i < Rows. length ; i ++ ) {
                         Rows [ i ] . style . display = 'none' ;
                 }
                 Button. firstChild . data = expandCaption ;
         } else {
                 for ( var i = 1 ; i < Rows. length ; i ++ ) {
                         Rows [ i ] . style . display = Rows [ 0 ] . style . display ;
                 }
                 Button. firstChild . data = collapseCaption ;
         }
 }
 
 function createCollapseButtons ( ) {
         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' ) ) {
 

                         var HeaderRow = Tables [ i ] . getElementsByTagName ( 'tr' ) [ 0 ] ;
                         if ( ! HeaderRow ) {
                                 continue ;
                         }
                         var Header = HeaderRow. getElementsByTagName ( 'th' ) [ 0 ] ;
                         if ( ! Header ) {
                                 continue ;
                         }
 
                         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. className = 'collapseButton' ; // Styles are declared in [[MediaWiki:Common.css]]
 
                         ButtonLink. style . color = Header. style . color ;
                         ButtonLink. setAttribute ( 'id' , 'collapseButton' + tableIndex ) ;
                         ButtonLink. setAttribute ( 'href' , "javascript:collapseTable(" + tableIndex + ");" ) ;
                         ButtonLink. appendChild ( ButtonText ) ;
 
                         Button. appendChild ( document. createTextNode ( '[' ) ) ;
                         Button. appendChild ( ButtonLink ) ;
                         Button. appendChild ( document. createTextNode ( ']' ) ) ;
 
                         Header. insertBefore ( Button , Header. childNodes [ 0 ] ) ;
                         tableIndex ++;
                 }
         }
 
         for ( var i = 0 ; i < tableIndex ; i ++ ) {
                 if ( hasClass ( NavigationBoxes [ i ] , 'collapsed' ) || ( tableIndex >= autoCollapse && hasClass ( NavigationBoxes [ i ] , 'autocollapse' ) ) ) {
                         collapseTable ( i ) ;
                 } else if ( hasClass ( NavigationBoxes [ i ] , 'innercollapse' ) ) {
                         var element = NavigationBoxes [ i ] ;
                         while ( element = element. parentNode ) {
                                 if ( hasClass ( element , 'outercollapse' ) ) {
                                         collapseTable ( i ) ;
                                         break ;
                                 }
                         }
                 }
         }
 }
 
 addOnloadHook ( createCollapseButtons ) ;


 
 var hasClass = ( function ( ) {
         var reCache = { } ;
         return function ( element , className ) {
                 return ( reCache [ className ] ? reCache [ className ] : ( reCache [ className ] = new RegExp ( "(?: \\ s|^)" + className + "(?: \\ s|$)" ) ) ) . test ( element. className ) ;
         } ;
 } ) ( ) ;