Utente:Ricordisamoa/autoreCitato.js: differenze tra le versioni
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 { |
||
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 |
var selAut = function () { |
||
var selezione = selection()[1]; |
|||
listaAutori().done( function ( 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 |
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 ( 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;} |
|||
selBox( selection(), ls ); |
|||
return; |
|||
} ); |
|||
} |
|||
}; |
|||
function selBox |
function selBox( selection, lista ) { |
||
if ($( |
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=" |
' <input id="input1_selettore" type="text">' + |
||
' < |
' <input id="input2_selettore" type="text">' + |
||
' <button id=" |
' <button id="bottone1_selettore" type="button" >OK</button>' + |
||
' <button id="bottone2_selettore" type="button" >Annulla</button>' + |
|||
' <div style="overflow:auto;max-height:150px;">'+ |
|||
' |
' <div style="overflow:auto;max-height:150px;">' + |
||
' <ul id="ul_selettore" style="font-size:0.8pc;line-height:0.9pc;">' + |
|||
' </ul>'+ |
|||
' </ |
' </ul>' + |
||
'</div>' |
' </div>' + |
||
'</div>'; |
|||
var selez=selection; |
|||
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' ) ); |
|||
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 ); |
|||
} ); |
|||
} |
|||
} |
} |
||
$(document).ready(function() {newButton( |
$( 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' );
} );