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.

/**

 * Mantenere il codice di MediaWiki:Common.js il più breve possibile, in quanto è caricato

 * da ciascuna pagina, per tutti gli utenti che navigano sulla versione desktop.

 * Creare piuttosto accessori abilitati di default (gli accessori sono infatti moduli

 * ottimizzati del ResourceLoader con la possibilità di aggiungere dipendenze, ecc.).

 */

/* global mediaWiki, jQuery */


( function ( mw, $ ) {

	'use strict';


	// ============================

	//     Caricamento script

	// ============================


	/**

	 * Ricerca in Wikidata

	 */

	if (

		mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Search' ||

		( mw.config.get( 'wgArticleId' ) === 0 && mw.config.get( 'wgCanonicalSpecialPageName' ) === false )

	) {

		mw.loader.load( '//en.wikipedia.org/w/index.php?title=MediaWiki:Wdsearch.js&action=raw&ctype=text/javascript' );

	}


	// ============================

	//     Modifica HTML pagine

	// ============================


	/**

	 * Portlets

	 */

	function addPortlets() {

		mw.loader.using( 'mediawiki.util' )

			.done( function () {

				// Collegamento diretto alla pagina di upload di Commons nel portlet Strumenti

				mw.util.addPortletLink( 'p-tb', '//commons.wikimedia.org/wiki/Commons:Upload/it', 'Carica su Commons',

					't-uploadcommons', 'Carica file multimediali su Wikimedia Commons', '', '#t-specialpages' );


				// In "Pagina principale" aggiunge il link alla lista completa di tutte le pagine

				if (

					mw.config.get( 'wgIsMainPage' ) ||

					mw.config.get( 'wgPageName' ) === "Discussione:Pagina_principale"

				) {

					var link = mw.util.addPortletLink( 'p-lang', '//meta.wikimedia.org/wiki/Lista_di_Wikipedie',

						'Lista completa', 'interwiki-completelist', 'Lista completa delle Wikipedie' );

					$( link ).css( 'font-weight', 'bold' );

				}

			} )

			.fail( function () {

				console.warn( 'MediaWiki:Common.js - Impossibile aggiungere link nella sidebar.' );

			} );

	}


	$( addPortlets );


	/**

	 * Aggiunge un combobox a [[MediaWiki:Edittools]] per selezionare un gruppo di caratteri speciali.

	 */

	function comboboxEdittools() {

		var $specialChars = $( '#specialchars' );

		if ( $specialChars.length ) {

			var $select = $( '<select>' ).change( function () {

				$specialChars.find( 'p' ).hide();

				$specialChars.find( 'option:selected' ).data().show();

			} );

			$specialChars.find( 'p' ).each( function () {

				$( '<option>' ).html( $( this ).attr( 'id' ).replace( /_/g, ' ' ) )

					.data( $( this ) ).appendTo( $select );

			} );

			$specialChars.prepend( $select );

			$select.change();

		}

	}


	$( comboboxEdittools );


	// ============================

	//    Supporto ai template

	// ============================


	/**

	 * Utilizzata con [[template:Titolo errato]] per cambiare il titolo di una pagina,

	 * cerca un HTML (creato dal template) contenente:

	 * <div id="RealTitleBanner"><span id="RealTitle">titolo</span></div>

	 * Si può disattivare con un elemento con id="DisableRealTitle".

	 * Importata inizialmente da [[en:MediaWiki:Common.js]].

	 */

	function checkRealTitleBanner() {

		// Possibilità di disabilitarlo

		if ( window.disableCheckRealTitleBanner ) {

			return;

		}


		var $realTitleBanner = $( '#RealTitleBanner' );

		if ( $realTitleBanner.length && !$( '#DisableRealTitle' ).length ) {

			var $realTitle = $realTitleBanner.find( '#RealTitle' );

			var $firstH1 = $( 'h1:first' );

			if ( $realTitle.length && $firstH1.length ) {

				$realTitleBanner.hide();

				$firstH1.html( $realTitle.html() );

				document.title = $realTitle.text() + ' - Wikipedia';

			}

		}

	}


	$( checkRealTitleBanner );


	/**

	 * Utilizzata con [[template:Galleria]] per creare una galleria di immagini,

	 * cerca un HTML (creato dal template) contenente:

	 * <div class="ImageGroup"><div class="ImageGroupUnits">immagini</div></div>

	 * Idea originale da [[fr:MediaWiki:Common.js]] del 2007.

	 * @author [[it:User:Rotpunkt]]

	 */

	function updateImageGroup( currImg, $images, $countInfo, $prevLink, $nextLink ) {

		$images.hide().eq( currImg ).show();

		$countInfo.html( '(' + ( currImg + 1 ) + '/' + $images.length + ')' );

		$prevLink.toggle( currImg !== 0 );

		$nextLink.toggle( currImg !== $images.length - 1 );

	}


	function initImageGroup() {

		$( 'div.ImageGroup > div.ImageGroupUnits' ).each( function ( i, imageGroupUnits ) {

			var currImg = 0;

			var $images = $( imageGroupUnits ).children( '.center' );

			var $countInfo = $( '<kbd>' ).css( 'font-size', '110%' );

			var $prevLink =	$( '<a>' )

				.attr( 'href', '#' ).attr( 'title', 'Immagine precedente' )

				.text( '◀' ).css( 'text-decoration', 'none' )

				.click( function ( e ) {

					e.preventDefault();

					updateImageGroup( currImg -= 1, $images, $countInfo, $prevLink, $nextLink );

				} );

			var $nextLink =	$( '<a>' )

				.attr( 'href', '#' ).attr( 'title', 'Immagine successiva' )

				.text( '▶' ).css( 'text-decoration', 'none' )

				.click( function ( e ) {

					e.preventDefault();

					updateImageGroup( currImg += 1, $images, $countInfo, $prevLink, $nextLink );

				} );

			updateImageGroup( currImg, $images, $countInfo, $prevLink, $nextLink );

			$( imageGroupUnits ).prepend( $prevLink, $countInfo, $nextLink );

		} );

	}


	$( initImageGroup );


	/**

	 * Utilizzata con [[Template:Navbox]]: se presente più di un navbox con

	 * classe mw-collapsible, quelli con autocollapse si chiudono da soli.

	 */

	function checkAutocollapse( $content ) {

		var $navbox = $content.filter( '.navbox' );

		if ( $navbox.length > 1 ) {

			$navbox.filter( '.autocollapse' ).find( '.mw-collapsible-toggle' ).click();

		}

	}


	mw.hook( 'wikipage.collapsibleContent' ).add( checkAutocollapse );

}( mediaWiki, jQuery ) );