MediaWiki:Gadget-stru-cercaredirectdisambigua.js
Vai alla navigazione
Vai alla ricerca
Nota: Dopo aver salvato le preferenze, perché i cambi abbiano effetto, devi bypassare la cache del tuo browser. Mozilla / Firefox / Safari: tieni premuto Shift mentre clicchi Reload, o premi Ctrl-Shift-R (Cmd-Shift-R per Apple Mac); Google Chrome: premi Ctrl o Shift mentre clicchi F5; IE: premi Ctrl mentre clicchi Refresh, o premi Ctrl-F5; Konqueror:: clicca semplicemente il pulsante di Reload, o premi F5; se usi Opera devi cancellare completamente la chache nel menu Tools→Preferences.
/** * Gadget-stru-cercaredirectdisambigua.js * In modalità modifica aggiunge un link nel menu laterale "Strumenti" che genera * un elenco dei redirect e disambigue presenti nella voce. * Riscritto da zero a partire da: * http://it.wikipedia.org/w/index.php?title=MediaWiki:Gadget-stru-cercaredirectdisambigua.js&oldid=48187910 * * @author [[it:User:Rotpunkt]] */ /*jshint unused: false */ /*global mediaWiki, jQuery */ ( function ( mw, $ ) { 'use strict'; var $dialog; function showResults( data ) { if ( !$dialog ) { $dialog = $( '<div>' ).attr( 'id', 'gcrd-dialog' ).appendTo( 'body' ); } $dialog.empty().append( typeof data === 'string' ? $( '<p>' ).text( data ) : data ); $dialog.dialog( { title: 'Accessorio trova redirect/disambigua', height: 350, buttons: { Ok: function() { $( this ).dialog( 'close' ); } } } ); } function compareText( a, b ) { return $( a ).text().toUpperCase() > $( b ).text().toUpperCase(); } function populateDiv( $div, data, linkclass ) { var uniquemap = {}; $( data ).find( linkclass ).sort( compareText ).each( function( i, el ) { if ( !uniquemap[ $( el ).text() ] ) { uniquemap[ $( el ).text() ] = true; $( el ).attr( 'target', '_blank' ).removeClass().appendTo( $div ).append( '<br/>' ); } } ); } function getRedirectDisambig() { var url = mw.util.getUrl( mw.config.get( 'wgPageName' ) ); $.get( url, function( data ) { var $div = $( '<div>' ); $( '<h4>' ).text( 'Redirect:' ).appendTo( $div ); populateDiv( $div, data, '.mw-redirect' ); $( '<h4>' ).text( 'Disambigua:' ).appendTo( $div ); populateDiv( $div, data, '.mw-disambig' ); showResults( $div ); } ) .fail ( function() { showResults( 'Errore nel leggere la pagina ' + url ); } ); } $( function () { var portletLink = mw.util.addPortletLink( 'p-tb', '#', 'Trova redirect/disambigua', 't-redirdis', 'Trova redirect/disambigua', 'R' ); $( portletLink ).click( function ( event ) { event.preventDefault(); mw.loader.using( 'jquery.ui' ) .done( getRedirectDisambig ) .fail( function () { console.error( 'Impossibile avviare l\'accessorio "Cerca redirect/disambigua".' ); } ); } ); } ); }( mediaWiki, jQuery ) );