Utente:FRacco/sandbox.js

Da Wikiquote, aforismi e citazioni in libertà.
Versione del 1 mar 2015 alle 18:56 di FRacco (discussione | contributi) (interprogetto)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

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 menu Strumenti → Preferenze; per Internet Explorer: mantenere premuto il tasto Ctrl mentre si preme il pulsante Aggiorna o premere Ctrl-F5.

/*
 * Crea il menù "Altri progetti" nella barra laterale sinistra con tutti
 * i collegamenti dell'interprogetto verso gli altri progetti Wikimedia,
 * vedi [[Template:Interprogetto]],
 * vedi [[Modulo:Interprogetto]].
 */

/*
 * Workaround for [[bugzilla:708]] via [[commons:Template:InterProject]].
 * Originally based on code from [[wikt:de:MediaWiki:Common.js]]
 * by [[wikt:de:User:Melancholie]],
 * cleaned up and modified for compatibility with the Vector skin.
 * @source: [[commons:MediaWiki:InterProject.js]]
 * @maintainer: [[commons:User:Krinkle]]
 * @maintainer: [[commons:User:Ilmari Karonen]]
 */

/*
 * Workaround for [[mw:Beta Features/Other projects sidebar]] integration.
 * @author: [[User:FRacco]]
 */

// <nowiki> Codice JavaScript: begin...

$( function () {

    // avoid double interproject inclusion
    if ( document.getElementById( 'p-interproject-body' ) ) return;

    var interPr = document.getElementById( 'interProject' );
    var sisterPr = document.getElementById( 'sisterProjects' );

    // none interproject inclusion
    if ( !interPr || !sisterPr ) return;

    var interProjectBody = document.createElement( 'div' );

    interProjectBody.id = 'p-interproject-body';
    interProjectBody.className = ( mw.config.get( 'skin' ) === 'vector' ? 'body' : 'pBody' );
    interProjectBody.innerHTML = interPr.innerHTML;

    mw.util.addCSS( '#interProject, #sisterProjects { display: none; }' );

    // interproject inclusion with wikibase otherprojects
    var otherPr = document.getElementById( 'p-wikibase-otherprojects' );

    if ( otherPr ) {
        otherPr.lastElementChild.style.display = 'none';
        otherPr.appendChild( interProjectBody );
        return;
    }

    // interproject inclusion without wikibase otherprojects
    var langBox = document.getElementById( 'p-lang' );
    var panel;

    if ( langBox ) {
        panel = langBox.parentNode;
    } else {
        // stupid incompatible skins...
        var panelIds = [ 'mw-panel', 'panel', 'column-one', 'mw_portlets' ];
        for ( var i = 0; !panel && i < panelIds.length; i++ ) {
            panel = document.getElementById( panelIds[i] );
        }
        // can't find a place for the portlet, try to undo hiding
        if ( !panel ) {
            mw.util.addCSS( '#interProject, #sisterProjects { display: block; }' );
            return;
        }
    }

    var interProject = document.createElement( 'div' );
    var interProjectLabel = document.createElement( 'h3' );

    interProjectLabel.id = 'p-interproject-label';
    interProjectLabel.innerHTML = ( sisterPr && sisterPr.firstChild ?
        sisterPr.firstChild.innerHTML : 'Altri progetti' );

    interProject.id = 'p-interproject';
    interProject.className = ( mw.config.get( 'skin' ) === 'vector' ? 'portal' : 'portlet' );
    interProject.appendChild( interProjectLabel );
    interProject.appendChild( interProjectBody );

    if ( langBox ) {
        panel.insertBefore( interProject, langBox );
    } else {
        panel.appendChild( interProject );
    }

} );

// Codice JavaScript: ...end </nowiki>