MediaWiki:Common.js

Wikibooks, manuali e libri di testo liberi.
Jump to navigation Jump to search

Nota: dopo aver salvato, potrebbe essere necessario pulire la cache del proprio browser per vedere i cambiamenti.

  • Firefox / Safari: tenere premuto il tasto delle maiuscole Shift e fare clic su Ricarica, oppure premere Ctrl-F5 o Ctrl-R (⌘-R su Mac)
  • Google Chrome: premere Ctrl-Shift-R (⌘-Shift-R su un Mac)
  • Internet Explorer: tenere premuto il tasto Ctrl e fare clic su Aggiorna, oppure premere Ctrl-F5
  • Opera: Vai nel Menu → Impostazioni (Opera → Preferenze su un Mac) e poi in Privacy & sicurezza → Pulisci dati del browser → Immagini e file nella cache.
/* Il codice JavaScript inserito qui viene caricato da ciascuna pagina, per tutti gli utenti. */

// Slideshows
mw.loader.load("//it.wikibooks.org/w/index.php?title=MediaWiki:Common.js/Slideshows.js&action=raw&ctype=text/javascript");

if($.inArray( mw.config.get( 'wgAction' ), ['view', 'submit'] ) !== -1)
    mw.loader.load('//it.wikibooks.org/w/index.php?title=MediaWiki:FasiAvanzamento.js&action=raw&ctype=text/javascript');

//$.when( mw.loader.using( ['mediawiki.util']), $.ready ).then(function() { 
//    /* Strumenti: "Carica su Commons" */
//    mw.util.addPortletLink('p-tb',
//                '//commons.wikimedia.org/wiki/Commons:Upload/it',
//                'Carica su Commons',
//                't-uploadcommons',
//                'Carica file multimediali su Wikimedia Commons',
//                 'm', '#t-specialpages');
//});

function dynamicNavigationBars() {
	/* Dynamic navigation bars */
	
	// Avoid expensive DOM manipulation if there are no navigation bars
	if(document.getElementsByClassName('NavFrame').length === 0) {
		return;
	}
	
    // set up max count of Navigation Bars on page,
    // if there are more, all will be hidden
    // NavigationBarShowDefault = 0; // all bars will be hidden
    // NavigationBarShowDefault = 1; // on pages with more than 1 bar all bars will be hidden
    var NavigationBarShowDefault = 0;
    var NavigationBarHide = '▲ nascondi';
    var NavigationBarShow = '▼ espandi';
 
    // adds show/hide-button to navigation bars
    $(" a  /a ")
    .attr({'class': 'NavToggle', 'href': ''})
    .prependTo('.NavFrame')
    .on('click', function(event){
        // "this" is NavToggle
        event.preventDefault();
        // shows and hides content and picture (if available) of navigation bars
        if ($(this).text() == NavigationBarHide) { // if shown now
            $(this).siblings('.NavContent, .NavPic').css('display', 'none');
            $(this).text(NavigationBarShow);
        } else if ($(this).text() == NavigationBarShow) { // if hidden now
            $(this).siblings('.NavContent, .NavPic').css('display', 'block');
            $(this).text(NavigationBarHide);
        }
    });
 
    // if more Navigation Bars found than Default: hide all
    if (NavigationBarShowDefault   $('.NavFrame').length) {
        $('.NavFrame').children('.NavContent, .NavPic').css('display', 'none');
        $('.NavToggle').text(NavigationBarShow);
    } else {
        $('.NavToggle').text(NavigationBarHide);
    }
}

function fixTitles() {
    /* Modifica il nome del tipo di pagina per alcune pagine */
    if(mw.config.get('wgNamespaceNumber') === 0) {
        var titolo = mw.config.get('wgTitle');
        if(titolo.indexOf('Libro di cucina/Ricette/') != -1) /* Ricette */
            document.querySelector('#ca-nstab-main a' ).textContent = 'Ricetta';
        else if(titolo.indexOf('Pagina principale') != -1) /* Pagina principale del sito */
            document.querySelector('#ca-nstab-main a' ).textContent = 'Pagina principale';
        else if (titolo.indexOf('/') == -1) /* Pagina principale di un libro */
            document.querySelector('#ca-nstab-main a').textContent = 'Libro';
    }      
    
    /* Nasconde il titolo nelle pagine che hanno il template {{Nascondi titolo}} */
    if(document.querySelector('#NoTitle'))
    {
        document.querySelector('#firstHeading').style.display = 'none';
        document.querySelector('#siteSub').style.display = 'none';
        
        var subpagesLink = document.querySelector('.subpages');
        if(subpagesLink)
        	subpagesLink.style.display = 'none';
    }
}

function addInterwikiLinks() {
	/* Evidenzia i link agli articoli di qualità su altre wiki */
    if ( document.getElementById( "p-lang" ) ) {
        var InterwikiLinks = document.getElementById( "p-lang" ).getElementsByTagName( "li" );
 
        for ( var i = 0; i   InterwikiLinks.length; i++ ) {
            var className = InterwikiLinks[i].className.match(/interwiki-[-\w]+/);
            if ( document.getElementById( className + '-fa' ) ) {
                InterwikiLinks[i].className += " FA";
                InterwikiLinks[i].title = "La voce è in vetrina in questa lingua.";
            }
        }
    }
}

$.when($.ready).then(function() {
    dynamicNavigationBars();
	fixTitles();
	addInterwikiLinks();
});

// Aggiunge "Carica file su Commons" nella Sidebar
	$('#t-upload a').text('Carica file su Commons').attr('href', '//commons.wikimedia.org/wiki/Special:UploadWizard/it')

/*
 * Aggiunge il menu a tendina per selezionare un sottoinsieme di caratteri speciali
 * Aggiornto da: https://it.wikipedia.org/w/index.php?title=MediaWiki:Common.js&oldid=98798969
 */
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 );