Utente:Alex brollo/tool stefano.js

Da Wikisource.

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.
// <nowiki>
$(document).ready(function() {
	if (mw.config.get("wgCanonicalNamespace")==="Index" && 
		(mw.config.get("wgAction")==="edit") || mw.config.get("wgAction")==="submit") {
		leggiSommario=function () {
			var sommario=$("#wpprpindex-Sommario").val();
			sommario=$.trim(sommario); 
			var testo="";
			if (sommario.indexOf("{{Indice sommario")>-1) {
				var maxlength=4;
		
				//normalizzazione
				sommario=sommario.replace(/{{indice sommario/g,"{{Indice sommario")
				.replace(/[ \n]*\|[ \n]*/g,"|")
				.replace(/[ \n]*=[ \n]*/g,"=")
				.replace(/[ \n]*\}[ \n]*/g,"}");
			    //estrazione template
				sommario=produciLista(sommario, "{"+"{Indice sommario","}}",1,"{{");
			    //parsing
				
				for (i=0;i<sommario.length;i+=1) {
					sommario[i]=$.trim(sommario[i])
					.replace(/\{{Indice sommario\|nome=/g,"")
					.replace(/\|titolo=/g,"\t")
					.replace(/\|from=/g,"\t")
					.replace(/\|delta=/g,"\t")
					.replace(/\}}$/g,"").split(/[\t/]/);
					// calcolo massima lunghezza (numero massimo livelli) per successivo allineamento 
					// mediante .splice(-2,0,"") ripetuto un numero di volte calcolato
					maxlength=(maxlength<sommario[i].length)?sommario[i].length:maxlength;
				}
				// normalizzazione livelli
				for (i=0;i<sommario.length;i+=1) {
						while(sommario[i].length<maxlength) {
							sommario[i].splice(-3,0,"");
						}
						sommario[i]=sommario[i].join("\t");
				} 
				testo=sommario.join("\n");
				$("#wpprpindex-Sommario").val(testo);
			} else {
				// sommario=sommario.replaceAll("’","'");
				sommario=sommario.replace(/’/g,"'");
				sommario=sommario.split("\n");
				var s=[];
				var x=[];
				for (i=0;i<sommario.length;i+=1) {
					x=[];
					sommario[i]=sommario[i].split("\t");
					if (sommario[i].length > 3) {
						x[3]=sommario[i].pop();
						x[2]=sommario[i].pop();
						x[1]=sommario[i].pop();
						while (sommario[i][sommario[i].length-1]==="") sommario[i].pop();
						
						x[0]=sommario[i].join("/");
					
						
					}
				testo+="{{Indice sommario|nome="+x[0]+"|titolo="+x[1]+"|from="+x[2]+"|delta="+x[3]+"}}\n";
				}
			$("#wpprpindex-Sommario").val(testo);
			}
		};
		$("#wpprpindex-Sommario").dblclick(function () {leggiSommario();});
	}
});
// </nowiki>