MediaWiki:Common.js

Da Wikiquote, aforismi e citazioni in libertà.
Jump to navigation Jump to search

 Per un aiuto sull'uso di questa pagina vedi Aiuto:Preferenze.


Nota: dopo aver salvato, devi pulire la cache del tuo browser per vedere i cambiamenti: Mozilla: clicca su reload (oppure ctrl-r), IE / Opera: ctrl-f5, Safari: cmd-r, Konqueror ctrl-r.

/* Il codice JavaScript inserito qui viene caricato da ciascuna pagina, per tutti gli utenti */

//  Codice JavaScript: inizio...

/* Modifica il testo della linguetta "Voce" in "Pagina principale" 
 * e aggiunge il link all'elenco completo di tutte le lingue
 *
 * Ultimo controllo al codice: 12/12/2013 */

if ( mw.config.get( 'wgIsMainPage' ) || mw.config.get( 'wgPageName' ) === 'Discussione:Pagina_principale' ) {
        $( document ).ready( function() {
                if ( mw.config.get( 'wgUserLanguage' ) === 'it' )
                        $( '#ca-nstab-main a' ).text( 'Pagina principale' );
                mw.loader.using(['mediawiki.util']).then(function() {
                        mw.util.addPortletLink( 'p-lang', '//meta.wikimedia.org/wiki/Wikiquote/it#Lista_delle_Wikiquote',
                        'Elenco completo', 'interwiki-completelist', 'Elenco completo delle Wikiquote' );
                } );
        } );
};


/* Change Special:Search to use a drop-down menu
 *
 * Description: Change Special:Search to use a drop-down menu,
 *              with the default being the internal MediaWiki engine
 *
 * Created and maintained by: [[w:en:User:Gracenotes]]
 *
 * Ultimo controllo al codice: 20/02/2014 */

if ( mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Search' )
        $( function() {
                var searchEngines = [];
                var createOption = function( site, action, mainQ, addQ, addV ) {
                        var opt = document.createElement( 'option' );
                        opt.appendChild( document.createTextNode( site ) );
                        searchEngines[searchEngines.length] = [action, mainQ, addQ, addV];
                        return opt;
                };

                var searchForm = document.forms['powersearch'] || document.forms['search'];
                var searchBox = searchForm.lsearchbox || searchForm.search;
                var selectBox = document.createElement( 'select' );
                selectBox.id = 'searchEngine';
                searchForm.onsubmit = function() {
                        var optSelected = searchEngines[document.getElementById( 'searchEngine' ).selectedIndex];
                        searchForm.action = optSelected[0];
                        searchBox.name = optSelected[1];
                        searchForm.title.value = optSelected[3];
                        searchForm.title.name = optSelected[2];
                };

                selectBox.appendChild( createOption( 'MediaWiki', mw.config.get( 'wgScriptPath' ) + '/index.php', 'search', 'title', 'Special:Search' ) );
                selectBox.appendChild( createOption( 'Google', '//www.google.com/search', 'q', 'sitesearch', 'it.wikiquote.org') );
                selectBox.appendChild( createOption( 'Yahoo', 'http://search.yahoo.com/search', 'p', 'vs', 'it.wikiquote.org') );
                selectBox.appendChild( createOption( 'Windows Live', 'http://search.live.com/results.aspx', 'q', 'q1', 'site:it.wikiquote.org' ) );
                searchBox.style.marginLeft = '0px';

                // 'searchText' is the firt search text. 'powerSearchText' is the second, used only if the first is not existent (e.g.: not yet done any search)
                buttonSearch = document.getElementById( 'searchText' ) || document.getElementById( 'powerSearchText' );
                buttonSearch.parentNode.insertBefore( selectBox, buttonSearch.nextSibling );
        } );


/* Test if an element has a certain class
 *
 * Description: Uses regular expressions and caching for better performance.
 * Maintainers: [[wikt:en:User:Mike Dillon]], [[w:en:User:R. Koot]], [[w:en:User:SG]]
 *
 * Ultimo controllo al codice: 12/12/2013 */

// DEPRECATO; sostituito con $( element ).hasClass( className )

var hasClass = function( element, className ) {
        return $( element ).hasClass( className );
};


/* Simula i titoli delle sezioni senza indicizzazione e senza link di modifica
 *
 * Per garantire l'accessibilità anche agli utenti che non utilizzano JavaScript
 * nel [[Mediawiki:Common.css]] vengono definite le classi: nojs-h1... h2/h3/h4/h5/h6,
 * che qui vengono rimosse.
 *
 * Vedi: [[Template:Titolo sezione]]
 * Creato da: [[q:it:User:FRacco]]
 *
 * Ultimo controllo al codice: 12/12/2013 */

var headersClass = $( function() {
        for ( j = 1; j <= 6; j++ ) {
                $( ".h" + j ).removeClass( "nojs-h" + j ).html( function( undefined, text ) {
                        return "<h" + j + ">" + text + "</h" + j + ">";
                } );
        };
} );

$( document ).ready( headersClass );

// Altro in MediaWiki:Gadget-site.js!

// Codice JavaScript: ...fine