Utente:Alex brollo/W.js
Aspetto
Notarella: Aroppo pubbreca putisse necessità 'e pulezzà 'a caché d' 'o navigatóre pe vedé 'e cagnamienti.
- Firefox / Safari: Sprémme 'o buttóne maiuscole e ffà clic ncopp'a Recarreca, o pure spremme Ctrl-F5 o Ctrl-R (⌘-R ncopp'a Mac)
- Google Chrome: spremme Ctrl-Shift-R (⌘-Shift-R ncopp'a nu Mac)
- Internet Explorer/edge: Spremme 'o buttóne Ctrl pe' tramente ca faie click ncopp'a Refresh, o pure spremmere Ctrl-F5
- Opera: Vaje addò 'o Menu → Mpustaziune (Opera → Mpustaziune ncopp' 'o Mac) e po' ncopp'a Privacy & sicurezza → Pulezza date d' 'o browser → Immaggene e file d' 'a cache.
// https://upload.wikimedia.org/wikipedia/commons/e/ef/Button_Wikidata_editor_toolbar.png
//https://www.wikidata.org/w/api.php?action=wbsearchentities&search=frisone&language=it
risultato = {};
importStylesheet("Utente:Alex brollo/W.css");
function ssel() {
var textbox1=$("#wpTextbox1")[0];
var txt=mw.activeElement.value;
var s=[];
s[0]=txt.substring(0,textbox1.selectionStart);
s[1]=txt.substring(textbox1.selectionStart,textbox1.selectionEnd);
s[2]=txt.substring(textbox1.selectionEnd);
return s;
}
function selWikidata() {
var t = ssel();
if (t[1] === "") {
alert("Nessun testo selezionato");
} else {
wbs(t);
}
}
function getWikidata(id) {
t = $.getJSON({url:"https://www.wikidata.org/wiki/Special:EntityData/"+id+".json", async:false}).responseJSON.entities[id];
var dati = {};
dati.id = id;
dati.label = t.labels.la!==undefined ? t.labels.la.value: "";
dati.description = t.descriptions.la!==undefined?t.descriptions.la.value:"";
dati.lawiki = t.sitelinks.lawiki!==undefined?t.sitelinks.lawiki.title:"";
dati.lawikisource = t.sitelinks.lawikisource!==undefined?t.sitelinks.lawikisource.title.replace("Scriptor:",""):"";
return dati;
}
// bozza funzione ricerca
// riceve una lista t selection
function wbs(testo) {
var entities=[];
$.ajax({
url: 'https://www.wikidata.org/w/api.php',
data: {
format: 'json',
action: 'wbsearchentities',
search: testo[1].replace(/’/g,"'"),
language: 'la'
},
dataType: 'jsonp' // this is the important one!
}).done(function(data) {
risultato=data;
// risultato.search è una lista di oggetti
for (i = 0; i < risultato.search.length; i++) {
entities.push(risultato.search[i].id+" "+risultato.search[i].label+" "+risultato.search[i].description);
}
selBox(testo,entities);
});
}
// bozza script creatore di tool di selezione
function selBox (selection,lista) {
if ($("#box_wds").length!==0) $("#box_wds").remove();
var selettore='<div id="box_wds" class="box">'+
' <div class="box-title">Ricerca in Wikidata<span class="icon-close"></span></div>'+
' <div class="box-main">'+
' <input id="input1_selettore" type="text">'+ // testo
' <input id="input2_selettore" type="text">'+ // ID wikidata
' <button id="bottone1_selettore" type="button" class="btn blue">OK</button>'+
' <button id="bottone3_selettore" type="button" class="btn blue">Cerca</button>'+
' <button id="bottone2_selettore" type="button" class="btn blue">Annulla</button>'+
' <div id="cont_selettore">'+
' <ul id="ul_selettore">'+
' </ul>'+
' </div>'+
' </div>'+
'</div>';
var selez = selection;
$("body").append(selettore);
$('#box_wds').draggable({
create: function( event, ui ) {
$(this).css({
right: "auto",
top: $(this).position().top,
left: $(this).position().left
});
}
});
// escludi il corpo del box dal trascinamento
$('#box_wds').draggable('option', 'cancel', '.box-main');
$('#box_wds .icon-close').click(function() {
$('#box_wds').remove();
});
$("#input1_selettore").val(selez[1]);
$("#bottone2_selettore").click(function() {
$("#box_wds").remove();
});
$("#bottone3_selettore").click(function() {
var testoRicerca=$("#input1_selettore").val();
testoRicerca=escape($.trim(testoRicerca).replace(/’/g,"'").toLocaleLowerCase());
var url="https://www.wikidata.org/w/index.php?search=&search=TESTO&title=Special:Search&go=Vai".replace("TESTO",testoRicerca);
window.open(url,"wikidata");
});
// bottone OK
$("#bottone1_selettore").click(function() {
var dati = getWikidata($("#input2_selettore").val());
selez[1] = "{"+"{"+"Wl|"+$("#input2_selettore").val()+"|"+$("#input1_selettore").val()+"}}";
/*selez[1]="{"+"{"+"Wl|"+dati.id+
"|"+$("#input1_selettore").val()+
"|"+"s="+dati.lawikisource+
"|"+"w="+dati.lawiki+"}}"; */
//ws.scriviBox(selez.join(""));
$("#wpTextbox1").val(selez.join(""));
$("#box_wds").remove();
});
for (var i = 0; i < lista.length; i++) {
el = $("<li>").text(lista[i]).click(function() {
$("#input2_selettore").val($(this).text().split(" ")[0]);
});
$("#ul_selettore").append(el);
}
}
if ( typeof $ != 'undefined' && typeof $.fn.wikiEditor != 'undefined' ) {
$( function() {
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
'section': 'advanced',
'group': 'format',
'tools': {
'Connessione wikidata': {
label: 'Connessione wikidata',
type: 'button',
icon: '//upload.wikimedia.org/wikipedia/commons/e/ef/Button_Wikidata_editor_toolbar.png',
action: {
type: 'callback',
execute: function(context){
selWikidata();
}
}
}
}
});
});
}