Utente:Joccia/vector.js

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca

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