MediaWiki:Gadget-HotEdit.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.
//creazione di un tattoo che richiama la funzione di cattura e prenotazione modifica testo selezionato
var tattoo1="<div style=\"position:fixed;background-color:transparent;bottom:10px;right:10px;z-index:1000;display:block\"><a href=\"javascript:getSelect()\"><img src=\"//upload.wikimedia.org/wikipedia/commons/f/f9/Edit-find-replace.svg\" width=\"30\" height=\"30\" alt=\"Prenotazione edit di testo selezionato\" /></a></div>";
document.getElementById("content").innerHTML += tattoo1;
// creazione variabili di base

var urlEdit=jQuery('#ca-edit a').attr("href");
var listaEdit={};

// cattura testo selezionato e apertura di un prompt per l'inserimento della modifica
function GetSelectedText () {
            if (window.getSelection) {  // all browsers, except IE before version 9
                var range = window.getSelection ();                                        
                edit1=range.toString ();
            } 
            else {
                if (document.selection.createRange) { // Internet Explorer
                    var range = document.selection.createRange ();
                     edit1=range.text;
                }
            }
            if (edit1.length > 0) {
                       edit2=prompt("Sostituisci:\n"+edit1+"\ncon:",edit1);
                       return [edit1,edit2];
            }
        }
// richiamo della funzione di cattura e aggiornamento del link di Modifica pagina
function getSelect() {
         coppia=GetSelectedText();
         if (coppia && coppia.length == 2) {
                  listaEdit[coppia[0]]=coppia[1];
                  uri=urlEdit+"&hotEdit="+encodeURI(JSON.stringify(listaEdit));
                  jQuery('#ca-edit a').attr("href",uri);
         }
}
 

/* Hot Edit: esegue la lista di replaceAll ricevuta via URI
 */
function HotEditReplace() {
  if (mw.config.get("wgAction") == "edit") {
    listaEdit=mw.util.getParamValue("hotEdit");
       if (listaEdit != undefined) {
          listaEdit=JSON.parse(decodeURI(listaEdit));
          text=$("#wpTextbox1").text();
          for (el in listaEdit)
             {text=replaceAll(text,el,listaEdit[el]);
             }
                $("#wpTextbox1").text(text);
        }
   }
}
$(document).ready(HotEditReplace);