MediaWiki:Gadget-newThumbs.js
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.
importScript("User:Alex brollo/pagina.js");
function getIndexData() {
var pdxpc = []; // pdxpc è una lista semplice in cui la pagina djvu è l'indice
var pd = ""; // pd è pagina djvu
var pc = ""; // pc è pagina cartacea
//mw.currentIndex="Index:"+mw.config.get("wgPageName").substring("Wikisource:Thumbs/".length);
mw.currentIndex=mw.config.get("wgPageName");
// lettura dell'html della pagina Indice corrispondente
html=$("#content");
// estrazione della lista dei link alle pagine
var links = $(".pagineDellEdizione a", html); //
// estrazione di pd e pc dai link e assegnazione a una lista in cui l'indice è pd e il valore è pc
for (i = 0; i < links.length; i += 1) {
pd = $(links[i]).attr("title").match(/\/(\d+) */)[1]*1;
try {
pc = [$.trim($(links[i]).text().match(/^0*(.+)/)[1]),$(links[i]).attr("class").match(/quality(\d)/)[1]];
}
catch(err) {
pc = [$.trim($(links[i]).text().match(/^0*(.+)/)[1]),""];
}
pdxpc[pd] = pc;
}
// la lista viene popolata con stringhe vuote se vi sono dei "buchi"
for (i = 1; i < pdxpc.length - 1; i += 1) {
if (pdxpc[i] === undefined) pdxpc[i] = ["",""];
}
// costuisco un array a chiave con chiave pc
var pcxpd={};
for (i = 1; i < pdxpc.length - 1; i += 1) {
pcxpd[pdxpc[i][0]]={num:i,qual:pdxpc[i][1]};
}
var linksc=$(".tableItem", html);
var itemList=[];
for (var item=0; item<linksc.length; item+=1) {
itemEl={};
itemEl.ns0Name=$("a",linksc.eq(item)).first().attr("title").replace(" (page does not exist)","");
itemEl.ns0Title=$("a",linksc.eq(item)).first().text();
itemEl.PageName=$("a",linksc.eq(item)).last().attr("title").replace(" (page does not exist)","");
itemEl.PageTitle=$("a",linksc.eq(item)).last().text();
itemList.push(itemEl);
}
//return [pdxpc,pcxpd,itemList];
var baseUrl=$(".thumbinner img", html).attr("src").replace(/\/page\d+/,"/page§pagenum§").replace("250px","200px");
mw.currentIndexData=[pdxpc,pcxpd,itemList,baseUrl];
console.log("OK: caricati dati indice "+mw.currentIndex);
}
mw.codeSal=function(qual) {
var codeSal=['<img alt="00%.svg" src="//upload.wikimedia.org/wikipedia/commons/thumb/d/d6/00%25.svg/15px-00%25.svg.png" width="15" height="15">',
'<img alt="25%.svg" src="//upload.wikimedia.org/wikipedia/commons/thumb/3/34/25%25.svg/15px-25%25.svg.png" width="15" height="15">',
'<img alt="50%.svg" src="//upload.wikimedia.org/wikipedia/commons/thumb/c/c2/50%25.svg/15px-50%25.svg.png" width="15" height="15">',
'<img alt="75%.svg" src="//upload.wikimedia.org/wikipedia/commons/thumb/4/49/75%25.svg/15px-75%25.svg.png" width="15" height="15">',
'<img alt="100 percents.svg" src="//upload.wikimedia.org/wikipedia/commons/thumb/c/c7/100_percents.svg/15px-100_percents.svg.png" width="15" height="15">'];
return codeSal[qual];
};
mw.attivaThumbs = function () {
var style={
"width":window.screen.availWidth - 60,
"minHeight":window.screen.availHeight - 40,
"position":"absolute",
"top":'20px',
"left":'20px',
"background-color": "lightGray",
"z-index": 110,
"border": '2px solid red',
'text-align': 'center',
'font-size': '0.7pc'
};
var thumbBox=$("<div>");
thumbBox.css(style).attr("id","thumbBox").appendTo($("#content"));
//bottone di chiusura
var closeThumbBox = $('<a href="javascript:void(0)" style="float: right"><img src="//upload.wikimedia.org/wikipedia/commons/2/20/CloseWindow19x19.png"/></a>')
.click(function() {$('#thumbBox, #editLayer').remove()});
$('#thumbBox').append(closeThumbBox);
// $("#thumbBox").click(function () { $(this).remove(); });
if (mw.config.get("wgCanonicalNamespace")==="Index" && mw.config.get("wgAction")==="view") {
console.log("Eseguo versione 21.10-03");
getIndexData(); // importo i dati dell'indice
var schema='<span class="thumbPage"><img src="§url§" >'+
'<br/><a href="/wiki/Pagina:§_base§/§pagenum§" class="prp-pagequality-0">Pag. §pagenum§ (§booknum§)</a> '+
'<a href="javascript:void(0)" title="Clicca per attivare azioni sulla pagina" class="azioni" onclick="mw.azioni(this)">Modifica</a>'+
'§sal§</span>';
schema=schema.replace("§url§",mw.currentIndexData[3]);
for (i=1;i<mw.currentIndexData[0].length;i+=1) {
var schemaCurrent=schema.replace(/§pagenum§/g,i)
.replace(/§booknum§/g,mw.currentIndexData[0][i][0])
.replace("§_base§",mw.currentIndex.replace("Indice:","").replace(/ /g,"_"));
if (mw.currentIndexData[0][i][1]==="")
schemaCurrent=schemaCurrent.replace('class="', 'class="new ').replace("§sal§","");
else
schemaCurrent=schemaCurrent.replace("§sal§",mw.codeSal(mw.currentIndexData[0][i][1]*1)); // aggiunta SAL
$("#thumbBox").append($(schemaCurrent));
}
$("#thumbBox span").filter(".new").each(function () {$("a",$(this)).eq(0).css("color","red");});
}
};
mw.azioni=function (th) {
var testo=$("a",$(th).parent()).eq(0).text();
var pImm="Pagina:"+mw.config.get("wgTitle").replace("Thumbs/","")+"/"+/Pag\. (\d+) /.exec(testo)[1];
// var pBook=/\((.+)\)/.exec(testo)[1];
/* var azione=prompt("pagina immagine: "+pImm+
"\npagina libro: "+pBook+
"\n1: crea pagina vuota\n2: visualizza/modifica testo pagina\n3: inserisci iwpage");
console.log(azione); */
var azione="2"; // passo automaticamente all'azione modifica wikitesto
if (azione==="1") mw.azzeraPagina(pImm);
if (azione==="2") {
mw.eiv.pageRead(pImm);
mw.eiv.creaBox();
mw.eiv.creaBoxImmagine(th);
}
};
$(document).ready(function (){
if (mw.config.get("wgCanonicalNamespace")==="Index") {
//getIndexData();
img=$('<a href="javascript:void(0)"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/1/17/Farm-Fresh_pictures.png/20px-Farm-Fresh_pictures.png" /></a>')
.click(function () {mw.attivaThumbs();});
div=$('<div class="top_icon_raw" title="Creazione galleria immagini" style="margin-right:2px;"></div>').append(img);
$(".top_icon_cont").append(div);
}
});