Utente:Ricordisamoa/autoreCitato.js: differenze tra le versioni

Da Wikisource.
Contenuto cancellato Contenuto aggiunto
 
test
 
Riga 1: Riga 1:
// WIP
// WIP
/*
function listaAutori() {
var lista=[]
var blocco=JSON.parse($.ajax({
url:"https://it.wikisource.org/w/api.php?action=query&list=allpages&format=json&apnamespace=102&aplimit=500&apcontinue=",async:false}).responseText);
lista=lista.concat(blocco.query.allpages)
while (blocco["continue"]!=undefined) {
blocco=JSON.parse($.ajax({
url:"https://it.wikisource.org/w/api.php?action=query&list=allpages&format=json&apnamespace=102&aplimit=500"+
"&apfrom="+blocco["query-continue"].apcontinue+
"&apcontinue=",async:false}).responseText);
lista=lista.concat(blocco.query.allpages)
}
for (i=0;i<lista.length;i+=1) {lista[i]=lista[i].title.replace("Autore:","");}

localStorage.setItem("autori",JSON.stringify(lista));}*/



function listaAutori() {
function listaAutori() {
if ( localStorage.getItem( 'autori' ) !== null ) {
return $.Deferred().resolve( JSON.parse( localStorage.getItem( 'autori' ) ) );
}
var api = new mw.Api(),
var api = new mw.Api(),
lista = [],
lista = [],
Riga 37: Riga 22:
return listaAutoriRicorsiva( blocco.continue );
return listaAutoriRicorsiva( blocco.continue );
} else {
} else {
return $.map( lista, function ( elemento ) {
lista = $.map( lista, function ( elemento ) {
return elemento.title.replace( 'Autore:', '' );
return elemento.title.replace( 'Autore:', '' );
} );
} );
localStorage.setItem( 'autori', JSON.stringify( lista ) );
return lista;
}
}
} );
} );
Riga 46: Riga 33:
}
}


function caricaListaAutori(){
var selAut = function () {
var selezione = selection()[1];
listaAutori().done( function ( autori ) {
localStorage.autori=JSON.stringify(autori);
listaAutori().done( function ( autori ) {
if ( localStorage.getItem( 'autori nuovi' ) === null ) {
} );
localStorage.setItem( 'autori nuovi', '[]' );
console.log("fatto");
}
}
autori = autori.concat( JSON.parse( localStorage.getItem( 'autori nuovi' ) ) );

var selAut=function () {
var lu = [];
var ls = [];
var selezione=selection()[1];
var s = 0;
if (localStorage.getItem("autori")==null) listaAutori();
$.each( autori, function ( i, autore ) {
if (localStorage.getItem("autori nuovi")==null) localStorage.setItem("autori nuovi","[]");
s = simil( selezione.toLocaleLowerCase(), autore.toLocaleLowerCase(), 2 );
var autori=JSON.parse(localStorage.getItem("autori"));
if ( s == 1 ) {
autori=autori.concat(JSON.parse(localStorage.getItem("autori nuovi")));
lu.push( autore );
var lu=[];
} else if ( s > 0.6 ) {
var ls=[];
ls.push( autore );
var s=0;
}
for (i=0;i<autori.length;i+=1) {
} );
s=simil(selezione.toLocaleLowerCase(), autori[i].toLocaleLowerCase(),2);
if (s==1) {
if ( lu.length === 1 ) {
scriviBox( selection()[0] + '{{AutoreCitato|' + lu[0] + '|' + selezione + '}}' + selection()[2] );
lu.push(autori[i]);
return;
} else {
}
if (s>.6) {ls.push(autori[i]);}
}
if ( lu.length > 1 ) {
selBox( selection(), lu );
return;
}
}
if (lu.length==1) {scriviBox(selection()[0]+"{{AutoreCitato|"+lu[0]+"|"+selezione+"}}"+selection()[2]); return;}
if (lu.length>1) {selBox(selection(),lu); return;}
selBox( selection(), ls );
selBox(selection(),ls); return;
return;
} );
}
};
function selBox (selection,lista) {
function selBox( selection, lista ) {
if ($("#box_selettore").length!=0) $("#box_selettore").remove();
if ( $( '#box_selettore').length !== 0 ) {
$( '#box_selettore' ).remove();
}
var selettore='<div id="box_selettore" style="position:fixed;top:200px;left:200px;z-index:200;border:3px solid red;background-color:#dfdfdf;">'+
var selettore = '<div id="box_selettore" style="position:fixed;top:200px;left:200px;z-index:200;border:3px solid red;background-color:#dfdfdf;">' +
' <input id="input1_selettore" type="text">'+
' <input id="input2_selettore" type="text">'+
' <input id="input1_selettore" type="text">' +
' <button id="bottone1_selettore" type="button" >OK</button>'+
' <input id="input2_selettore" type="text">' +
' <button id="bottone2_selettore" type="button" >Annulla</button>'+
' <button id="bottone1_selettore" type="button" >OK</button>' +
' <button id="bottone2_selettore" type="button" >Annulla</button>' +
' <div style="overflow:auto;max-height:150px;">'+
' <ul id="ul_selettore" style="font-size:0.8pc;line-height:0.9pc;">'+
' <div style="overflow:auto;max-height:150px;">' +
' <ul id="ul_selettore" style="font-size:0.8pc;line-height:0.9pc;">' +
' </ul>'+
' </div>'+
' </ul>' +
'</div>';
' </div>' +
'</div>';
var selez=selection;
var selez = selection;


$("body").append(selettore);
$( 'body' ).append( selettore );
$("#input1_selettore").val(selez[1]);
$( '#input1_selettore' ).val( selez[1] );
$("#bottone2_selettore").click(function() {$("#box_selettore").remove();});
$( '#bottone2_selettore' ).click( function () {
$( '#box_selettore' ).remove();
} );
$("#bottone1_selettore").click(function() {
$( '#bottone1_selettore' ).click( function () {
selez[1]="{{AutoreCitato|"+$("#input2_selettore").val()+"|"+$("#input1_selettore").val()+"}}";
selez[1] = '{{AutoreCitato|' + $( '#input2_selettore' ).val() + '|' + $( '#input1_selettore' ).val() + '}}';
scriviBox(selez.join(""));
scriviBox( selez.join( '' ) );
if ( $.inArray( $( '#input2_selettore' ).val(), lista ) === -1 ) {
var l = JSON.parse( localStorage.getItem( 'autori nuovi' ) );
if ($.inArray($("#input2_selettore").val(),lista)==-1) {
l.splice( l.length, 0, $( '#input2_selettore' ).val() );
var l=JSON.parse(localStorage.getItem("autori nuovi"));
localStorage.setItem( 'autori nuovi', JSON.stringify( l ) );
l.splice(l.length,0,$("#input2_selettore").val());
}
localStorage.setItem("autori nuovi",JSON.stringify(l));
$( '#box_selettore' ).remove();
} );
}
$.each( lista, function ( i, valore ) {
$("#box_selettore").remove();
el = $( '<li>' ).text( valore ).click( function () {
});
$( '#input2_selettore' ).val( $( this ).text() );
for (var i=0;i<lista.length;i+=1) {
} );
el=$("<li>").text(lista[i]).click(function() {$("#input2_selettore").val($(this).text());} );
$("#ul_selettore").append(el);
$( '#ul_selettore' ).append( el );
} );
}
}
}


$(document).ready(function() {newButton("selAut","selAut","es","Nuovo autore citato")});
$( document ).ready( function () {
newButton( 'selAut', 'selAut', 'es', 'Nuovo autore citato' );
} );

Versione attuale delle 10:19, 4 lug 2015

// WIP

function listaAutori() {
	if ( localStorage.getItem( 'autori' ) !== null ) {
		return $.Deferred().resolve( JSON.parse( localStorage.getItem( 'autori' ) ) );
	}
	var api = new mw.Api(),
	lista = [],
	params = {
		action: 'query',
		list: 'allpages',
		apnamespace: 102,
		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 {
				lista = $.map( lista, function ( elemento ) {
					return elemento.title.replace( 'Autore:', '' );
				} );
				localStorage.setItem( 'autori', JSON.stringify( lista ) );
				return lista;
			}
		} );
	};
	return listaAutoriRicorsiva();
}

var selAut = function () {
	var selezione = selection()[1];
	listaAutori().done( function ( autori ) {
		if ( localStorage.getItem( 'autori nuovi' ) === null ) {
			localStorage.setItem( 'autori nuovi', '[]' );
		}
		autori = autori.concat( JSON.parse( localStorage.getItem( 'autori nuovi' ) ) );
		var lu = [];
		var ls = [];
		var s = 0;
		$.each( autori, function ( i, autore ) {
			s = simil( selezione.toLocaleLowerCase(), autore.toLocaleLowerCase(), 2 );
			if ( s == 1 ) {
				lu.push( autore );
			} else if ( s > 0.6 ) {
				ls.push( autore );
			}
		} );
		if ( lu.length === 1 ) {
			scriviBox( selection()[0] + '{{AutoreCitato|' + lu[0] + '|' + selezione + '}}' + selection()[2] );
			return;
		}
		if ( lu.length > 1 ) {
			selBox( selection(), lu );
			return;
		}
		selBox( selection(), ls );
		return;
	} );
};
   
function selBox( selection, lista ) {
	if ( $( '#box_selettore').length !== 0 ) {
		$( '#box_selettore' ).remove();
	}
	var selettore = '<div id="box_selettore" style="position:fixed;top:200px;left:200px;z-index:200;border:3px solid red;background-color:#dfdfdf;">' +
		'   <input id="input1_selettore" type="text">' +
		'   <input id="input2_selettore" type="text">' +
		'   <button id="bottone1_selettore" type="button" >OK</button>' +
		'   <button id="bottone2_selettore" type="button" >Annulla</button>' +
		'   <div style="overflow:auto;max-height:150px;">' +
		'      <ul id="ul_selettore" style="font-size:0.8pc;line-height:0.9pc;">' +
		'      </ul>' +
		'   </div>' +
		'</div>';
	var selez = selection;

	$( 'body' ).append( selettore );
	$( '#input1_selettore' ).val( selez[1] );
	$( '#bottone2_selettore' ).click( function () {
		$( '#box_selettore' ).remove();
	} );
	$( '#bottone1_selettore' ).click( function () {
		selez[1] = '{{AutoreCitato|' + $( '#input2_selettore' ).val() + '|' + $( '#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();
	} );
	$.each( lista, function ( i, valore ) {
		el = $( '<li>' ).text( valore ).click( function () {
			$( '#input2_selettore' ).val( $( this ).text() );
		} );
		$( '#ul_selettore' ).append( el );
	} );
}

$( document ).ready( function () {
	newButton( 'selAut', 'selAut', 'es', 'Nuovo autore citato' );
} );