Utente:Alex brollo/eiv.js: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Alebot (discussione | contributi)
Nessun oggetto della modifica
Alebot (discussione | contributi)
Nessun oggetto della modifica
Riga 40:
 
function activate() {
// access button
$('<li id="ca-eiv"><span><a href="#" title="Attiva eiv" >eiv</a></span></li>').click(function() {toggle();}).insertAfter($("#ca-view"));
// loading wikitext of three pages
pp();
return false;
Line 53 ⟶ 56:
var box=$('<div style="display:block; border:1px solid black; position:fixed; top:10px; left:10px; /* z-index:999; */ background-color:#efefef;padding:6px;" id="editBox"></div>');
box.append($("<div id='handle' style='width:100%; background-color:#dfdfdf; min-height:10px;' ><div id='areaBottoni' style='float:left;max-width:400px'></div> </div>"));
box.append($("<textarea name='wpHeaderTextbox' id='wpHeaderTextbox' style='width:100%; height:30px; border:1px solid gray;' />"));
box.append($("<textarea name='wpTextbox1' id='wpTextbox1' rows='35' style='width:550px; border:1px solid gray;' />"));
Line 59 ⟶ 62:
$("#sfondoEiv").append(box);
// attivazione alex.activeEleme
$("#editBox textarea").focusin(function () {alex.activeElement=this;});
$("#editBox").draggable({ handle: "areaBottoni" });
Line 76 ⟶ 79:
$("#handle").append($(qb));
 
}
// splits wiki code into header,body,footer
function splitPagina(tpp) {
var testo = ["", "", ""];
testo[0] = tpp.substring(0, tpp.indexOf("</noinclude>") + 12);
testo[2] = tpp.substring(tpp.lastIndexOf("<noinclude>"));
testo[1] = tpp.substring(testo[0].length, tpp.length - testo[2].length);
return testo;
}
// reads three pages code (current, previous, previous of previous)
function pp() {
eiv.p_0=[];
eiv.p_1=[];
eiv.p_2=[];
var p=[];
var t=(/(.+\/)(.+)$/).exec(mw.config.get("wgPageName"));
var t1=t[2]*1-1;
var t2=t[2]*1-2;
var api = new mw.Api();
api.get( {
action: 'query',
prop: 'revisions',
titles:t[1]+t2+"|"+t[1]+t1+"|"+t[1]+t[2],
rvprop:"content"
} ).done( function ( data ) {
$.each(data.query.pages, function(index,value) {
try {p.push([value.title,value.revisions[0]["*"]]);}
catch(err) {p.push([value.title,""]);}
});
localStorage.p=p;
try {
eiv.p_2=[p[0][0],splitPagina(p[0][1])];}
catch(err) {eiv.p_2=["",[[],[],[]] ];}
try {
eiv.p_1=[p[1][0],splitPagina(p[1][1])];}
catch(err) {eiv.p_1=["",[[],[],[]] ];}
try {
eiv.p_0=[p[2][0],splitPagina(p[2][1])];}
catch(err) {eiv.p_0=["",[[],[],[]] ];}
} );
}
function pageParse(oggetto) {
oggetto.contenuto={};
var headerEnd = oggetto[1][0].indexOf("</noinclude>") + "</noinclude>".length;
var footerStart = oggetto[1][0].lastIndexOf("<noinclude>");
oggetto.contenuto.body = oggetto[1][0].substring(headerEnd,footerStart);
oggetto.contenuto.header= oggetto[1][0].substring(0, headerEnd);
oggetto.contenuto.footer= oggetto[1][0].codice.substring(footerStart);
try {
oggetto.contenuto.level =oggetto.contenuto.header.match(/level=\"(\d+)\" /)[1];
}
catch(err) {
oggetto.contenuto.level ="1";
}
try {
oggetto.contenuto.user =oggetto.contenuto.header.match(/user=\"([^"]+)\" \/>/)[1];
}
catch(err) {
oggetto.contenuto.user =mw.config.get("wgUserName");
}
$("#wpHeaderTextbox").val(oggetto.contenuto.header.replace(/<noinclude\><pagequality.+?>/,"").replace(/<div class\=\"pagetext\"\>/,"").replace("</noinclude>",""));
$("#wpFooterTextbox").val(oggetto.contenuto.footer.replace("<noinclude>","").replace("<references/>","").replace("</div>","").replace("</noinclude>",""));
$("wpTextbox1").val(oggetto.contenuto.body);
}
})($,mw);