MediaWiki:Vector.js

Da Wikipedia, l'enciclopedia libera.
Vai a: navigazione, cerca

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
	}
});
Strumenti personali

Varianti
Azioni
Navigazione
Comunità
Stampa/esporta
Strumenti