MediaWiki:Vector.js
Da Wikipedia, l'enciclopedia libera.
Per un aiuto sull'uso di questa pagina vedi Aiuto:Preferenze.
Nota: dopo aver salvato è necessario pulire la cache del proprio browser per vedere i cambiamenti. Per Mozilla / Firefox / Safari: fare clic su Ricarica tenendo premuto il tasto delle maiuscole, oppure premere Ctrl-F5 o Ctrl-R (Command-R su Mac); per Konqueror: premere il pulsante Ricarica o il tasto F5; per Opera può essere necessario svuotare completamente la cache dal menu Strumenti → Preferenze; per Internet Explorer: mantenere premuto il tasto Ctrl mentre si preme il pulsante Aggiorna o premere Ctrl-F5.
/* Il codice JavaScript inserito qui viene caricato dagli utenti che usano la skin Vector */ /** Supporto per il Template:Interprogetto ******************************************** * * Attenzione: questo codice è un "hack", strettamente dipendente dal funzionamento * della skin Vector; potrebbe smettere di funzionare in caso di modifiche alla skin. * * Maintainer: [[Utente:Salvatore Ingala]] */ if ( typeof $j != 'undefined' ) $j(document).ready(function(){ try { if ( $j( '#interProject' ).length == 0 ) return; //Controlli aggiuntivi sul div 'interProject' var $ul = $j( '#interProject' ).find( 'ul' ); if ( $ul.length == 0 || $ul.find( 'li' ).length == 0) return; var id = 'p-iproject'; var portal = document.createElement( 'div' ); portal.id = id; var $portal = $j( portal ); var $divbody = $j( document.createElement( 'div' ) ); $divbody.addClass( 'body' ) .append( $j( '#interProject' ).find( 'ul' ) ); $portal.addClass( 'portal' ) .html( '<h5>Altri progetti</h5>' ) .append( $divbody ) .insertAfter( $j('#p-tb') ); //Codice adattato in gran parte da //bits.wikimedia.org/w/extensions/UsabilityInitiative/Vector/Vector.combined.js //Se i nav collassabili non sono abilitati, non devo gestire i cookie né l'espansione/riduzione if (mw.user.options.get('vector-collapsiblenav')){ //Abilita espansione/collassamento e supporto cookie var state = $j.cookie( 'vector-nav-' + id ); if(state == 'true' || state == null) //impostazione predefinita: aperto $portal.addClass( 'expanded' ).find( 'div.body' ).show(); else $portal.addClass( 'collapsed' ); if(state != null) $j.cookie( 'vector-nav-' + $j( this ).attr( 'id' ), state, {'expires':30, 'path':'/'}); var toggle = function($element){ $j.cookie('vector-nav-' + $element.parent().attr( 'id' ), $element.parent().is( '.collapsed' ),{'expires':30, 'path':'/'}); $element.parent().toggleClass( 'expanded' ).toggleClass( 'collapsed' ).find( 'div.body' ).slideToggle( 'fast' ); }; $portal.find( 'h5' ).keydown(function(event){ if (event.which==13 || event.which==32) toggle( $j(this) ); }).mousedown(function(){ toggle( $j(this) ); $j(this).blur(); return false; }); } //Ricalcola TabIndex //Calcola il massimo TabIndex presente, ma escludendo i portal var maxTI = 0; $j( '[tabindex]' ).each(function(){ if ($j(this).is( '#mw-panel > div.portal' )) return; var ti = parseInt($j(this).attr( 'tabindex' )); if (ti > maxTI) maxTI = ti; }); var tabIndex = maxTI+1; //Assegna tabIndex incrementali ai portals non persistenti (anche quelli che esistevano prima) $j( '#mw-panel > div.portal:not(.persistent) > h5' ).each(function(){ $j( this ).attr( 'tabindex', tabIndex++ ); }); } catch(e) { //non fa nulla } });