MediaWiki:Gadget-segnalazioneErrori.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.
$(document).ready(function() {
/*if ( mw.config.get("wgRestrictionEdit").length>0) {
$('<li id="ca-view" class="collapsible"><span><a href="javascript:mw.cue()">Segnala un errore</a></span></li>').insertBefore($("#ca-viewsource"));
} else {
if (mw.config.get("wgCanonicalNamespace")==="Page" && mw.config.get("wgUserName")===null && prpPageQuality>2) {
$('<li id="ca-view" class="collapsible"><span><a href="javascript:mw.cue()">Segnala un errore</a></span></li>').insertBefore($("#ca-edit"));
}
}*/
if (mw.config.get("wgCanonicalNamespace") === "Page" && mw.config.get("wgUserName") === null && mw.config.get('prpPageQuality') > 2) {
$('<li id="ca-segnalaErrore" class="collapsible"><span><a href="#" id="segnalaErroreBtn">Segnala un errore</a></span></li>').insertBefore($("#ca-edit,#ca-viewsource"));
}
$('#segnalaErroreBtn').click(function (e) {
e.preventDefault();
dialog = $('<div class="box segnalaErroreBox">');
$("body").append(dialog);
$(".segnalaErroreBox").draggable();
$(".segnalaErroreBox").append('<div class="box-title">Segnala errore<span class="icon-close"></span></div>');
$(".segnalaErroreBox").append('<div class="box-main segnalaErroreBoxMain"></div>');
$(".segnalaErroreBoxMain").append("<p>Proponi la correzione di un errore.</p>"
+ "<p><b>Istruzioni:</b><ul>"
+ "<li><b>seleziona</b> il testo errato;</li>"
+ "<li><b>clicca </b>su <i>Importa selezione</i>;</li>"
+ "<li><b>correggi</b> il testo errato nel campo <i>Correzione proposta</i>;</li>"
+ "<li><b>clicca</b> su <i>Salva proposta correzione</i>.</li></ul></p>");
$(".segnalaErroreBoxMain").append('<p>Testo da correggere: <span id="errata" style="color:red">(nessun testo selezionato)</span></p>');
$(".segnalaErroreBoxMain").append('<span>Correzione proposta:</span>');
$(".segnalaErroreBoxMain").append('<textarea id="corrige">');
$(".segnalaErroreBoxMain").append('<span>Commento (opzionale):</span>');
$(".segnalaErroreBoxMain").append('<textarea id="commento">');
$(".segnalaErroreBoxMain").append('<br>');
$(".segnalaErroreBoxMain").append('<button class="btn blue" id="importaSelezione">Importa selezione</button> ');
$(".segnalaErroreBoxMain").append('<button class="btn blue" id="salvaCorrezione">Salva proposta correzione</button> ');
$(".segnalaErroreBoxMain").append('<button class="btn blue" id="annullaCorrezione">Annulla</button>');
$("#importaSelezione").click(function() {
var testo = window.getSelection();
$("#errata").text(testo);
$("#corrige").val(testo);
});
$("#salvaCorrezione").click(function() {
//console.log("output");
var testoerrato = $.trim($("#errata").text());
var testocorretto = $.trim($("#corrige").val());
var commento = $("#commento").val();
var messaggio = "==Segnalazione errore "+mw.config.get("wgPageName")+"==\nNella pagina: [["+mw.config.get("wgPageName")+"]] il testo: <i>"+testoerrato + "</i> ";
if (testocorretto.length>0) {
messaggio += "dovrebbe essere corretto in <i>" + testocorretto + "</i>.";
}
else {
messaggio += "dovrebbe essere cancellato.";
}
if ($.trim(commento)!=="") {
messaggio += "\nCommento: " + commento;
}
messaggio += (" --"+"~"+"~"+"~"+"~");
var testoPrec = pageGet("Progetto:Trascrizioni/Proposte di correzione");
var dati = {
nome: "Progetto:Trascrizioni/Proposte di correzione",
testo: testoPrec+"\n"+messaggio,
sommario: "Notifica proposta di correzione",
feedback: "Grazie! Il messaggio è stato registrato in Progetto:Trascrizioni/Proposte di correzione"
};
pagePut(dati);
$(".segnalaErroreBox").remove();
});
$("#annullaCorrezione, .segnalaErroreBox .icon-close").click(function() {
$(".segnalaErroreBox").remove();
});
});
});