Utente:Joccia/vector.js
Questa pagina definisce alcuni parametri di aspetto e comportamento generale di tutte le pagine. Per personalizzarli vedi Aiuto:Stile utente.
Nota: dopo aver salvato è necessario pulire la cache del proprio browser per vedere i cambiamenti (per le pagine globali è comunque necessario attendere qualche minuto). 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 Chrome: premere Ctrl-Shift-R (Command-Shift-R su un Mac); per Konqueror: premere il pulsante Ricarica o il tasto F5; per Opera può essere necessario svuotare completamente la cache dal menù Strumenti → Preferenze; per Internet Explorer: mantenere premuto il tasto Ctrl mentre si preme il pulsante Aggiorna o premere Ctrl-F5.
/** 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' )
$(document).ready(function(){
try {
if ( $( '#interProject' ).length == 0 )
return;
//Controlli aggiuntivi sul div 'interProject'
var $ul = $( '#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 = $( portal );
var $divbody = $( document.createElement( 'div' ) );
$divbody.addClass( 'body' )
.append( $( '#interProject' ).find( 'ul' ) );
$portal.addClass( 'portal' )
.html( '<h3>Altri progetti</h3>' )
.append( $divbody )
.insertAfter( $('#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 = $.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)
$.cookie( 'vector-nav-' + $( this ).attr( 'id' ), state, {'expires':30, 'path':'/'});
var toggle = function($element){
$.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( $(this) );
}).mousedown(function(){
toggle( $(this) );
$(this).blur();
return false;
});
}
//Ricalcola TabIndex
//Calcola il massimo TabIndex presente, ma escludendo i portal
var maxTI = 0;
$( '[tabindex]' ).each(function(){
if ($(this).is( '#mw-panel > div.portal' ))
return;
var ti = parseInt($(this).attr( 'tabindex' ));
if (ti > maxTI)
maxTI = ti;
});
var tabIndex = maxTI+1;
//Assegna tabIndex incrementali ai portals non persistenti (anche quelli che esistevano prima)
$( '#mw-panel > div.portal:not(.persistent) > h5' ).each(function(){
$( this ).attr( 'tabindex', tabIndex++ );
});
} catch(e) {
//non fa nulla
}
});