MediaWiki:Gadget-pulsanti-AC.js

Da Wikisource.

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

  • Firefox / Safari: tieni premuto il tasto delle maiuscole Shift e fai clic su Ricarica, oppure premi Ctrl-F5 o Ctrl-R (⌘-R su Mac)
  • Google Chrome: premi Ctrl-Shift-R (⌘-Shift-R su un Mac)
  • Internet Explorer / Edge: tieni premuto il tasto Ctrl e fai clic su Aggiorna, oppure premi Ctrl-F5
  • Opera: premi Ctrl-F5.
if (mw.itsg===undefined) mw.itsg={};

autoriFamosi = [
[ "abramo ortelio", "Abraham Ortelius" ],
[ "accio", "Lucio Accio" ],
[ "alamanni", "Luigi Alamanni" ],
[ "alberti", "Leon Battista Alberti" ],
[ "aleardi", "Aleardo Aleardi" ],
[ "alfieri", "Vittorio Alfieri" ],
[ "alighieri", "Dante Alighieri" ],
[ "allighieri", "Dante Alighieri" ],
[ "ardigò", "Roberto Ardigò" ],
[ "aretino", "Pietro Aretino" ],
[ "ariosto", "Ludovico Ariosto" ],
[ "aristotile", "Aristotele" ],
[ "ausonio", "Decimo Magno Ausonio" ],
[ "bacone", "Ruggero Bacone" ],
[ "balzac", "Honoré de Balzac" ],
[ "bandello", "Matteo Bandello" ],
[ "beccaria", "Cesare Beccaria" ],
[ "belli", "Giuseppe Gioachino Belli" ],
[ "bembo", "Pietro Bembo" ],
[ "berni", "Francesco Berni" ],
[ "bettinelli", "Saverio Bettinelli" ],
[ "boccaccio", "Giovanni Boccaccio" ],
[ "boezio", "Anicio Manlio Torquato Severino Boezio" ],
[ "boiardo", "Matteo Maria Boiardo" ],
[ "bonaparte", "Napoleone Bonaparte" ],
[ "bovio", "Giovanni Bovio" ],
[ "brunetto", "Brunetto Latini" ],
[ "bruno", "Giordano Bruno" ],
[ "buti", "Francesco di Bartolo" ],
[ "byron", "George Gordon Byron" ],
[ "camoens", "Luís de Camões" ],
[ "campanella", "Tommaso Campanella" ],
[ "canova", "Antonio Canova" ],
[ "cantù", "Cesare Cantù" ],
[ "capuana", "Luigi Capuana" ],
[ "cardano", "Girolamo Cardano" ],
[ "cardinal bembo", "Pietro Bembo" ],
[ "carducci", "Giosuè Carducci" ],
[ "casanova", "Giacomo Casanova" ],
[ "castiglione", "Baldassarre Castiglione" ],
[ "catone", "Marco Porcio Catone" ],
[ "catullo", "Gaio Valerio Catullo" ],
[ "cavalcanti", "Guido Cavalcanti" ],
[ "cavalieri", "Bonaventura Cavalieri" ],
[ "cavallotti", "Felice Cavallotti" ],
[ "celso", "Aulo Cornelio Celso" ],
[ "cervantes", "Miguel Cervantes" ],
[ "cesare", "Gaio Giulio Cesare" ],
[ "cesarotti", "Melchiorre Cesarotti" ],
[ "chiabrera", "Gabriello Chiabrera" ],
[ "ciullo d'alcamo", "Cielo d'Alcamo" ],
[ "ciullo", "Cielo d'Alcamo" ],
[ "claudiano", "Claudio Claudiano" ],
[ "cornelio agrippa", "Agrippa di Nettesheim" ],
[ "cornelio tacito", "Publio Cornelio Tacito" ],
[ "crispo sallustio", "Gaio Sallustio Crispo" ],
[ "croce", "Benedetto Croce" ],
[ "d'annunzio", "Gabriele d'Annunzio" ],
[ "d'azeglio", "Massimo d'Azeglio" ],
[ "dall'ongaro", "Francesco Dall'Ongaro" ],
[ "dante allighieri", "Dante Alighieri" ],
[ "dante", "Dante Alighieri" ],
[ "darwin", "Charles Darwin" ],
[ "davanzati", "Bernardo Davanzati" ],
[ "de amicis", "Edmondo De Amicis" ],
[ "de maistre", "Joseph De Maistre" ],
[ "de sanctis", "Francesco De Sanctis" ],
[ "descartes", "Cartesio" ],
[ "diodoro", "Diodoro Siculo" ],
[ "dione cassio", "Cassio Dione Cocceiano" ],
[ "dione", "Cassio Dione Cocceiano" ],
[ "dionisio d'alicarnasso", "Dionigi di Alicarnasso" ],
[ "dionisio", "Dionigi di Alicarnasso" ],
[ "dryden", "John Dryden" ],
[ "eliano", "Claudio Eliano" ],
[ "engels", "Friedrich Engels" ],
[ "ennio", "Quinto Ennio" ],
[ "erasmo", "Erasmo da Rotterdam" ],
[ "eulero", "Leonhard Euler" ],
[ "festo avieno", "Rufio Festo Avieno" ],
[ "festo pompeo", "Sesto Pompeo Festo" ],
[ "festo", "Rufio Festo Avieno" ],
[ "fibonacci", "Leonardo Fibonacci" ],
[ "ficino", "Marsilio Ficino" ],
[ "filelfo", "Francesco Filelfo" ],
[ "firenzuola", "Agnolo Firenzuola" ],
[ "fogazzaro", "Antonio Fogazzaro" ],
[ "folengo", "Teofilo Folengo" ],
[ "foscolo", "Ugo Foscolo" ],
[ "fracastoro", "Girolamo Fracastoro" ],
[ "frontini", "Francesco Paolo Frontini" ],
[ "frontino", "Sesto Giulio Frontino" ],
[ "frugoni", "Carlo Innocenzo Frugoni" ],
[ "galilei", "Galileo Galilei" ],
[ "galileo", "Galileo Galilei" ],
[ "garibaldi", "Giuseppe Garibaldi" ],
[ "gellio", "Aulo Gellio" ],
[ "gioberti", "Vincenzo Gioberti" ],
[ "giovanni casa", "Giovanni Della Casa" ],
[ "giovenale", "Decimo Giunio Giovenale" ],
[ "giulio cesare", "Gaio Giulio Cesare" ],
[ "giusti", "Giuseppe Giusti" ],
[ "goethe", "Johann Wolfgang von Goethe" ],
[ "goldoni", "Carlo Goldoni" ],
[ "gozzi", "Gasparo Gozzi" ],
[ "graf", "Arturo Graf" ],
[ "guarini", "Battista Guarini" ],
[ "guarino", "Battista Guarini" ],
[ "guicciardini", "Francesco Guicciardini" ],
[ "guido guinicelli", "Guido Guinizzelli" ],
[ "guinicelli", "Guido Guinizelli" ],
[ "guittone", "Guittone d'Arezzo" ],
[ "hegel", "Georg Wilhelm Friedrich Hegel" ],
[ "heine", "Heinrich Heine" ],
[ "hugo", "Victor Hugo" ],
[ "hume", "David Hume" ],
[ "isidoro", "Isidoro di Siviglia" ],
[ "kant", "Immanuel Kant" ],
[ "keplero", "Giovanni Keplero" ],
[ "la fontaine", "Jean de La Fontaine" ],
[ "laerzio", "Diogene Laerzio" ],
[ "lasca", "Anton Francesco Grazzini" ],
[ "leonardo", "Leonardo da Vinci" ],
[ "leopardi", "Giacomo Leopardi" ],
[ "livio", "Tito Livio" ],
[ "locke", "John Locke" ],
[ "lord byron", "George Gordon Byron" ],
[ "lucano", "Marco Anneo Lucano" ],
[ "luciano", "Luciano di Samosata" ],
[ "lutero", "Martin Lutero" ],
[ "machiavelli", "Niccolò Machiavelli" ],
[ "macrobio", "Ambrogio Teodosio Macrobio" ],
[ "maffei", "Scipione Maffei" ],
[ "malthus", "Thomas Robert Malthus" ],
[ "mamiani", "Terenzio Mamiani" ],
[ "mantegazza", "Paolo Mantegazza" ],
[ "manzoni", "Alessandro Manzoni" ],
[ "marconi", "Guglielmo Marconi" ],
[ "marino", "Giovan Battista Marino" ],
[ "marziale", "Marco Valerio Marziale" ],
[ "mascheroni", "Lorenzo Mascheroni" ],
[ "matteotti", "Giacomo Matteotti" ],
[ "maxwell", "James Clerk Maxwell" ],
[ "mazzini", "Giuseppe Mazzini" ],
[ "mazzuchelli", "Giammaria Mazzuchelli" ],
[ "metastasio", "Pietro Metastasio" ],
[ "michelangelo", "Michelangelo Buonarroti" ],
[ "milton", "John Milton" ],
[ "moliere", "Molière" ],
[ "mommsen", "Theodor Mommsen" ],
[ "monti", "Vincenzo Monti" ],
[ "moro", "Tommaso Moro" ],
[ "mozart", "Wolfgang Amadeus Mozart" ],
[ "muratori", "Ludovico Antonio Muratori" ],
[ "mussolini", "Benito Mussolini" ],
[ "napoleone", "Napoleone Bonaparte" ],
[ "nevio", "Gneo Nevio" ],
[ "newton", "Isaac Newton" ],
[ "nietzsche", "Friedrich Nietzsche" ],
[ "nievo", "Ippolito Nievo" ],
[ "orazio", "Quinto Orazio Flacco" ],
[ "ortelio", "Abraham Ortelius" ],
[ "ovidio", "Publio Ovidio Nasone" ],
[ "pacuvio", "Marco Pacuvio" ],
[ "parini", "Giuseppe Parini" ],
[ "pascal", "Blaise Pascal" ],
[ "peano", "Giuseppe Peano" ],
[ "pellico", "Silvio Pellico" ],
[ "persio", "Aulo Persio Flacco" ],
[ "perticari", "Giulio Perticari" ],
[ "petrarca", "Francesco Petrarca" ],
[ "petronio", "Petronio Arbitro" ],
[ "pico dalla mirandola", "Giovanni Pico della Mirandola" ],
[ "pico", "Gianfrancesco Pico della Mirandola" ],
[ "pindemonte", "Ippolito Pindemonte" ],
[ "piranesi", "Giovanni Battista Piranesi" ],
[ "plauto", "Tito Maccio Plauto" ],
[ "plinio il giovane", "Gaio Plinio Cecilio Secondo" ],
[ "plinio il vecchio", "Gaio Plinio Secondo" ],
[ "poincaré", "Henri Poincaré" ],
[ "poliziano", "Angelo Poliziano" ],
[ "pompeo", "Gneo Pompeo Magno" ],
[ "pope", "Alexander Pope" ],
[ "procopio", "Procopio di Cesarea" ],
[ "propertio", "Sesto Properzio" ],
[ "properzio", "Sesto Properzio" ],
[ "proudhon", "Pierre-Joseph Proudhon" ],
[ "quintiliano", "Marco Fabio Quintiliano" ],
[ "raffaello", "Raffaello Sanzio" ],
[ "rapisardi", "Mario Rapisardi" ],
[ "redi", "Francesco Redi" ],
[ "reina", "Calcedonio Reina" ],
[ "romagnosi", "Gian Domenico Romagnosi" ],
[ "rosmini", "Antonio Rosmini" ],
[ "rousseau", "Jean Jacques Rousseau" ],
[ "ruzante", "Angelo Beolco" ],
[ "ruzzante", "Angelo Beolco" ],
[ "sacchetti", "Franco Sacchetti" ],
[ "salgari", "Emilio Salgari" ],
[ "sallustio", "Gaio Sallustio Crispo" ],
[ "san bonaventura", "Bonaventura da Bagnoregio" ],
[ "san francesco", "San Francesco d'Assisi" ],
[ "san girolamo", "San Girolamo" ],
[ "san tommaso", "Tommaso d'Aquino" ],
[ "sand", "George Sand" ],
[ "sannazzaro", "Jacopo Sannazaro" ],
[ "sant'agostino", "Agostino d'Ippona" ],
[ "sarpi", "Paolo Sarpi" ],
[ "savonarola", "Girolamo Savonarola" ],
[ "schiapparelli", "Giovanni Virginio Schiaparelli" ],
[ "seneca", "Lucio Anneo Seneca" ],
[ "serao", "Matilde Serao" ],
[ "servio", "Servio Mario Onorato" ],
[ "shakespeare", "William Shakespeare" ],
[ "shakspeare", "William Shakespeare" ],
[ "silio", "Silio Italico" ],
[ "solino", "Gaio Giulio Solino" ],
[ "spinoza", "Baruch Spinoza" ],
[ "stazio", "Publio Papinio Stazio" ],
[ "stecchetti", "Olindo Guerrini" ],
[ "sterne", "Lawrence Sterne" ],
[ "svetonio", "Gaio Svetonio Tranquillo" ],
[ "tacito", "Publio Cornelio Tacito" ],
[ "tartaglia", "Niccolò Tartaglia" ],
[ "tasso", "Torquato Tasso" ],
[ "tibullo", "Albio Tibullo" ],
[ "tiraboschi", "Girolamo Tiraboschi" ],
[ "tiziano", "Tiziano Vecellio" ],
[ "tolomeo", "Claudio Tolomeo" ],
[ "tolstoi", "Lev Tolstoj" ],
[ "tommaseo", "Niccolò Tommaseo" ],
[ "torricelli", "Evangelista Torricelli" ],
[ "trissino", "Giangiorgio Trissino" ],
[ "varrone", "Marco Terenzio Varrone" ],
[ "vasari", "Giorgio Vasari" ],
[ "vegetio", "Flavio Vegezio Renato" ],
[ "velleio", "Velleio Patercolo" ],
[ "vico", "Giambattista Vico" ],
[ "virgilio", "Publio Virgilio Marone" ],
[ "vitruvio", "Marco Vitruvio Pollione" ],
[ "volta", "Alessandro Volta" ],
[ "winckelmann", "Johann Joachim Winckelmann" ],
[ "zola", "Émile Zola" ]
];

/* da studiare la trasformazione in una funzione (function...)() */
function listaAutori() {
	var api = new mw.Api(),

	lista = [],
	params = {
		action: 'query',
		list: 'allpages',
		apnamespace: 102,
		apfilterredir: 'nonredirects',
		aplimit: 500
	},
	listaAutoriRicorsiva = function ( continua ) {
		if ( continua !== undefined ) {
			$.extend( params, continua );
		}
		return api.get( params ).then( function ( blocco ) {
			lista = lista.concat( blocco.query.allpages );
			if ( blocco["continue"] ) {
				return listaAutoriRicorsiva( blocco["continue"] );
			} else {
				return $.map( lista, function ( elemento ) {
					return elemento.title.replace( 'Autore:', '' );
				} );
			}
		} );
	};
	return listaAutoriRicorsiva();
}

function caricaListaAutori() {
    listaAutori().done( function ( autori ) {
		localStorage.autori=JSON.stringify(autori);
		alert("Sono stati caricati in memoria "+autori.length+" autori");
	} );
}

function selAut() {
	var selezione=selection()[1];
	listaAutori();
	//if (localStorage.getItem("autori")===null)  localStorage.setItem("autori","[]");
	//if (localStorage.getItem("autori nuovi")===null) localStorage.setItem("autori nuovi","[]");
	var autori = JSON.parse(localStorage.getItem("autori")); 
	autori = autori.concat(JSON.parse(localStorage.getItem("autori nuovi")));
	
	var lu = []; 
	var ls = [];
	var s = 0;
	var famoso = null;
	
	for (i = 0; i < autoriFamosi.length; i++) {
		if (autoriFamosi[i][0] == selezione.toLocaleLowerCase()) {
			famoso = autoriFamosi[i][1];
			lu.push(famoso);
		}
	}
	
	for (i = 0; i < autori.length; i++) {
		if (autori[i] != famoso) {
			s = simil(selezione.toLocaleLowerCase(), autori[i].toLocaleLowerCase(),2);
			if (s==1) {
				lu.push(autori[i]);
			} else {
				if (s > 0.6) {
					ls.push(autori[i]);
				}
			}
		}
	}
	
	if (lu.length == 1) {
		scriviBox(selection()[0]+"{{AutoreCitato|"+lu[0]+"|"+selezione+"}}"+selection()[2]);
		return;
	}
	if (lu.length > 1) {
	   selBox(selection(), lu, famoso);
	   return;
	}
	selBox(selection(), ls, famoso);
	return;
}
mw.itsg.selAut = selAut;
function selBox (selection, lista, famoso) {
	if ($("#box_selettore").length!==0) $("#box_selettore").remove();
	var selettore='<div id="box_selettore" class="box">'+
	'   <div class="box-title">Trova Autore Citato<span class="icon-close"></span></div>'+
	'   <div class="box-main">'+
	'   Testo: <input id="input1_selettore" type="text">'+
	'   Pagina autore: <input id="input2_selettore" type="text">'+
	'   <button id="bottone1_selettore" type="button" class="btn blue">OK</button>'+
	'   <button id="bottone4_selettore" type="button" class="btn blue">Autore ignoto</button>'+
	'   <button id="bottone3_selettore" type="button" class="btn blue">Aggiorna lista autori</button>'+
	'   <div id="box_selettore_list">'+
	'      <ul id="ul_selettore">'+
	'      </ul>'+
	'   </div></div>'+
	'</div>';
	var selez=selection;
	
	$("body").append(selettore);
	$('#box_selettore').draggable({
	    create: function( event, ui ) {
	        $(this).css({
	            top: $(this).position().top,
	            left: $(this).position().left
	        });
	    }
	});
	$('#box_selettore').draggable('option', 'cancel', '.box-main');
	$('#box_selettore .icon-close').click(function() {
		$('#box_selettore').remove();
	});

	$("#input1_selettore").val(selez[1]);
	$("#bottone3_selettore").click(function() {
		caricaListaAutori();
	});
	$("#bottone4_selettore").click(function() {
		selez[1] = "{{AutoreIgnoto|"+$("#input1_selettore").val()+"}}";
		scriviBox(selez.join(""));
		$("#box_selettore").remove();
	});
	$("#bottone1_selettore").click(function() {
		var pagina = $("#input2_selettore").val();
		if (pagina == '') {
			alert("Nessuna pagina autore selezionata!");
		} else {
			selez[1] = "{{AutoreCitato|"+ pagina +"|"+$("#input1_selettore").val()+"}}";
			scriviBox(selez.join(""));
			 
			 if ($.inArray($("#input2_selettore").val(),lista)==-1) {
			    var l=JSON.parse(localStorage.getItem("autori nuovi"));
			    l.splice(l.length,0,$("#input2_selettore").val());
			    localStorage.setItem("autori nuovi",JSON.stringify(l));
			 }
			 $("#box_selettore").remove();
			 $('#wpSummary').val("Gadget AutoreCitato");
		}
	});
	
	if (lista.length > 1) {
		$('#box_selettore_list').prepend('Scegli uno dei seguenti autori per inserirlo nel template AutoreCitato:');
	} else {
		$('#box_selettore_list').prepend('Nessun autore trovato');
	}
	
	if (famoso != null) {
		elf = $("<li>").html('<a href="/wiki/Autore:' +famoso + '"><b>' + famoso + "</b></a>").click(function(e) {
			e.preventDefault();
			$("#input2_selettore").val($(this).text());
		} );
		$("#ul_selettore").append(elf);
	}
	
	for (var i = 0; i < lista.length; i++) {
		if (lista[i] != famoso) {
			el = $("<li>").html('<a href="/wiki/Autore:' + lista[i] + '">' + lista[i] + "</a>").click(function(e) {
				e.preventDefault();
				$("#input2_selettore").val($(this).text());
			} );
			$("#ul_selettore").append(el);
		}
   } 
}

if (localStorage.getItem("autori")===null)  localStorage.setItem("autori","[]");
if (localStorage.getItem("autori nuovi")===null) localStorage.setItem("autori nuovi","[]");
// console.log("caricato gadget selAut v feb 2016 in AC");

/* AutoreCitato */
if ( typeof $ != 'undefined' && typeof $.fn.wikiEditor != 'undefined' ) {
	$( function() {
		$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
			'section': 'advanced',
			'group': 'format',
			'tools': {
				'AutoreCitato': {
					label: 'AutoreCitato',
					type: 'button',
					icon: '//upload.wikimedia.org/wikipedia/commons/6/6d/Button_AC.png',
					action: {
						type: 'callback',
						execute: function(context){selAut();}
					}
				}
			}
		});
	});
}