Utilisateur:Alex brollo/showbox.js
Apparence
Note : après avoir enregistré vos modifications, il se peut que vous deviez forcer le rechargement complet du cache de votre navigateur pour voir les changements.
- Firefox / Safari : Maintenez la touche Maj (Shift) en cliquant sur le bouton Actualiser ou pressez Ctrl-F5 ou Ctrl-R (⌘-R sur un Mac) ;
- Google Chrome : Appuyez sur Ctrl-Maj-R (⌘-Shift-R sur un Mac) ;
- Internet Explorer : Maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5 ;
- Opera : Allez dans Menu → Settings (Opera → Préférences sur un Mac) et ensuite à Confidentialité & sécurité → Effacer les données d'exploration → Images et fichiers en cache.
(function ($) {
var sb = $("<div id='showbox' class='showbox partscreen'></div>");
//sb.attr("ondblclick", "$(this).hide();");
var iconaChiusura = $('<img src="https://upload.wikimedia.org/wikipedia/commons/f/f8/Tooltip-CloseButton.png" style="float:right;cursor:pointer;" />').attr("onclick", "$('#showbox').hide()");
var iconaFullscreen = $('<img src="https://upload.wikimedia.org/wikipedia/commons/d/d3/WikEd_fullscreen.png" style="float:right;cursor:pointer;" id="iconaFullscreen" />').attr("onclick", "toggleShowbox()");
sb.append($('<div id="showboxbar" class="showboxBar"></div>'));
sb.append($("<div id='showboxContent'></div>"));
sb.appendTo($("body"));
//sb.draggable({ handle: "#showboxbar"});
//sb.draggable( "option", "handle", "#showboxbar" );
$("#showboxbar").append(iconaChiusura);
$("#showboxbar").append(iconaFullscreen);
$("#showbox").draggable({handle:"#showboxbar"});
}(jQuery));
// ingrandisce e rimpicciolisce showbox
function toggleShowbox() {
if ($("#showbox").css("top")!="0px")
{$('#showbox').css('width','100%').css('height','100%').css('top','0').css('right','0').css('left','0').css('z-index','1003');}
else
{$('#showbox').css('width','45%').css('height','55%').css('top','80px').css('left','20px');}
}
// costruzione riga link
// costruisce una riga link dai link wikidata in showbox
function rigalink(sigla,dati) {
var icona='<img src="http://upload.wikimedia.org/wikipedia/commons/e/e3/Ppbc_icon_download.png" onclick="caricaDati("'+sigla+'")" />';
var riga= '<p>Link a '+sigla+'.wikipedia: <a href="http://'+sigla+'.wikipedia.org/wiki/' +
dati.sitelinks[sigla+"wiki"].title.replace(/ /g, "_") + '">' +
dati.sitelinks[sigla+"wiki"].title +
"</a> " + icona + "</p>";
return riga;
}
// funzione provvisoria per sostituire i dati wikidata nell'oggetto-template Autore
// autoreSource: oggetto-autore wikisource
// autoreWikidata: oggetto-autore wikidata
// pagina: shortcut per nome pagina su wikipedia
function carica(lang) {
if (lang===undefined) {var lang="it";}
var pagina=$("body").data("wikidata").entities[$("body").data("wikidataID")].labels[lang].value;
// verifica se c'è aperto un form Autore; se c'è, memorizza l'apertura e chiudilo
var formPresent=false;
if ($("#editFormAutoreRight").length===1) {
formPresent=true;
closeEditForm();
}
// verifica se in leggiBox() c'è un template Autore: se non c'è, aggiungine uno vuoto
scriviBox(leggiBox().replace(/\{\{autore/g,"{{Autore"));
if ((leggiBox()).indexOf("{{Autore")===-1) {
scriviBox("{{Autore\n| Nome = \n| Cognome = \n| Eventuale altro nome = \n| Eventuale pseudonimo = \n"+
"| Eventuale nome reale = \n| Giorno e mese di nascita = \n| Anno di nascita = \n| Giorno e mese di morte = \n"+
"| Anno di morte = \n| Secolo di attività = \n| Attività = \n| Nazionalità = \n"+
"| Professione e nazionalità = \n| Nome della pagina su Wikipedia = \n| Nome della pagina su Wikiquote = \n"+
"| Nome della pagina su Wikinotizie = \n| Nome della pagina su Commons = \n| Nome dell'immagine = \n}}"+leggiBox());
}
// leggi il tl Autore da edit box e trasformalo in un oggetto
var autoreSourceCompleto=parseTemplate("Autore",leggiBox());
var autoreSource=autoreSourceCompleto[0];
// leggi data (bareData) e estrai l'oggetto in base alla lingua
if (lang==="it") {var autoreWikidataCompleto=parseTemplate("Bio",$("body").data("bareData"));
autoreWikidata=autoreWikidataCompleto[0];
}
// converti l'oggetto autoreWikidata in un oggetto compatibile con autoreSource in base alla lingua
autoreSource["Anno di morte"]=autoreWikidata.AnnoMorte;
autoreSource["Anno di nascita"]=autoreWikidata.AnnoNascita;
autoreSource["Attività"]=autoreWikidata["Attività"];
if (autoreWikidata["Attività2"] !== undefined && autoreWikidata["Attività2"]!=="") autoreSource["Attività"]+="/"+autoreWikidata["Attività2"];
if (autoreWikidata["Attività3"] !== undefined && autoreWikidata["Attività3"]!=="") autoreSource["Attività"]+="/"+autoreWikidata["Attività3"];
autoreSource.Cognome=$.trim(pagina.replace(autoreWikidata.Nome,""));
autoreSource["Giorno e mese di morte"]=autoreWikidata.GiornoMeseMorte;
autoreSource["Giorno e mese di nascita"]=autoreWikidata.GiornoMeseNascita;
autoreSource["Nazionalità"]=autoreWikidata["Nazionalità"];
autoreSource.Nome=autoreWikidata.Nome;
autoreSource.Wikipedia=pagina;
autoreSource["Nome dell'immagine"]=autoreWikidata.Immagine;
autoreSource["Nome della pagina su Commons"]="Category:"+pagina;
autoreSource["Professione e nazionalità"]=autoreSource["Attività"].replace(/\//g,", ")+ " " + autoreSource["Nazionalità"];
autoreSourceCompleto[0]=autoreSource;
var templateVecchio=find_stringa(leggiBox(),"{{Autore","}}",1,"{{");
var templateNuovo=rewriteTemplate(autoreSourceCompleto);
scriviBox(leggiBox().replace(templateVecchio,templateNuovo));
if (formPresent) startEditAutor();
}
function showDati() {
if ($("#showboxSubContent").length==0) {
$("#showboxContent").append($('<div id="showboxSubContent"></div>'));
}
$("#showboxSubContent").html($("body").data("bareData"));
}
// carica i dati wikidata nel template Autore
function caricaDati(lang) {
var sito=lang+".wikipedia.org";
var pagina=$("body").data("wikidata").entities[$("body").data("wikidataID")].sitelinks[lang+"wiki"].title;
getIwPage(pagina,sito,"text",showDati); // altri parametri?
}
/* importazione dei link da wikidata a showbox */
function wikidatalinks() {
var dati = $("body").data("wikidata").entities[$("body").data("wikidataID")],
testo = "";
if (dati.sitelinks.itwiki != undefined) {
testo += rigalink("it",dati);
}
if (dati.sitelinks.enwiki != undefined) {
testo += rigalink("en",dati);
}
if (dati.sitelinks.frwiki != undefined) {
testo += rigalink("fr",dati);
}
if (dati.sitelinks.dewiki != undefined) {
testo += rigalink("de",dati);
}
$("#showboxContent").html(testo);
$("#showbox").show();
}
//apre un box fixed in cui visualizzare il wikicode e ci aggiunge una barra e il wikicode
metadati={};
/*
function show(option) {
if (option===undefined) option="wiki text";
if (option==="wiki text") {
var wt=acchiappaWikicode(wgPageName);
$("#showboxContent").html("");
if (wt[0]!="") $('<div style="white-space:pre-wrap; width:97%; padding:5px; background-color:#D9FFFF; overflow:auto; ">'+wt[0]+ '</div>').appendTo($("#showboxContent"));
$('<div style="white-space:pre-wrap; width:97%; padding:5px; background-color:#FCFCFC;">'+wt[1]+ '</div>').appendTo($("#showboxContent"));
if (wt[2]!="") $('<div style="white-space:pre-wrap; width:97%; padding:5px; background-color:#CCFFFF; overflow:auto;">'+wt[2]+' </div>').appendTo($("#showboxContent"));
$("#showbox").show();
}
if (option=="metadata") {
parseMetadata();
$("#showboxContent").html("");
$(".hproduct").clone().appendTo($("#showboxContent"));
$("#showbox").show();
}
if (option=="lista") {
// la funzione viene chiamata dentro un callback di getPage e dispone di una variabile lista
// che contiene un oggetto jQuery lista
$("#showboxContent").html("");
$(lista).appendTo($("#showboxContent"));
$("#showbox").show();
}
if (option=="wikidata") {
// la funzione viene chiamata dentro un callback di getPage e dispone di una variabile lista
// che contiene un oggetto jQuery lista
$("#showboxContent").html("");
wikidatalinks();
$("#showbox").show();
}
} */
$("*").mousemove(function(){
var into=$("div.showbox").height();
var int1=into-17
$("div#showboxContent").css("height",""+int1+"px");
});
$("div.showbox").css({
"white-space":"pre-wrap",
"background-color":"#FCFCFC",
"font-family":"Courier",
"font-size":"0.9pc",
"position":"fixed",
"z-index":"999",
"border":"1px solid #bbb",
"display":"none",
"overflow":"hidden",
"top":"80px",
"resize":"both"
});
$(".fullscreen").css({
"width":"100%",
"height":"100%",
"top":"0px",
"right":"0px",
"left":"0px",
"z-index":"1003"
});
$(".partscreen").css({
"width":"45%",
"height":"55%",
"top":"80px",
"left":"20px"
});
$("div.showboxBar").css({
"white-space":"pre-wrap",
"height":"17px",
"background-color":"#4D8AC0"
});
$("div#showboxContent").css({
"overflow":"auto"
});
$("#showboxSubContent").css({
"overflow":"auto",
"white-space":"pre-wrap",
"width":"100%",
"background-color":"white",
"border":"1px solid blue",
"padding":"5px"
});
/*{{IncludiIntestazione|sottotitolo=|prec=|succ=}}*/