Salvataggio di selezione nell'edizione dei messaggi


Tutorial Salvataggio di selezione nell'edizione dei messaggi

Messaggio Da Niko Gio 20 Feb 2014 - 19:48

Salvataggio di selezione nell'edizione dei messaggi


Definizione

Questo trucco permette di inserire un pulsante Salvataggio di selezione nell'edizione dei messaggi Salvataggio di selezione nell'edizione dei messaggi Save10 che permette ad un membro di salvare le selezioni di testo e sostituirle quando si vuole

Solo i membri con browser abbastanza recente (in particolare non le vecchie versioni di IE) vedranno il pulsante, e i dati verranno salvati nella memoria del browser; i dati saranno disponibili solo finchè si rimarrà nella pagina corrente (di modifica)

Installazione

È necessario innanzitutto aggiungere il seguente codice nel CSS Pannello di amministrazione ► Visualizzazione ► CSS ► Foglio di stile

Codice:
#savec { position:relative; }
.save-bloc { color: #555!important; z-index: 1000; padding: 5px;  border: 1px solid #BCBCBC; background: #efefef url(http://2img.net/i/fa/prosilver/bg_button.gif) repeat-x; display:none;top:20px;left:0px;position:absolute; white-space:nowrap; }
.save-bloc div:hover { color: #050505!important; }
.save-bloc div { cursor: pointer; }
.save-bloc select { background: #ccc; border: 1px solid #aaa; margin-bottom: 5px; }


In seguito aggiungere il seguente codice javascript alla lista dei tuoi codici (PDA > Moduli> gestione dei codici Javascript > Nuovo :new: )

Codice:
function insertText(a) {
 var c = localStorage.getItem("fasave" + a);
 if(null === c) {
   $("#savep div[onClick^='insertText(" + a + ")']").remove()
 }else {
   if(1 == $("#savep select").val()) {
     localStorage.removeItem("fasave" + a), localStorage.removeItem("fasavet" + a), $("#savep div[onClick^='insertText(" + a + ")']").remove()
   }else {
     if(2 == $("#savep select").val()) {
       var b = localStorage.getItem("fasavet" + a), b = prompt("Entrer le titre de la sauvegarde :", b ? b : "");
       null !== b && ("" == b ? (localStorage.removeItem("fasavet" + a), $("#savep div[onClick^='insertText(" + a + ")']").text('"' + c.substr(0, 30).replace(/</g, "<").replace(/>/g, ">") + (30 < c.length ? "..." : '"'))) : (localStorage.setItem("fasavet" + a, b), $("#savep div[onClick^='insertText(" + a + ")']").text(b)))
     }else {
       replaceTxt(c)
     }
   }
 }
}
function replaceTxt(a) {
 var c = $(".sourceMode textarea");
 if(c.length) {
   start = c[0].selectionStart;
   end = c[0].selectionEnd;
   stop = c[0].scrollTop;
   sleft = c[0].scrollLeft;
   text = c.val();
   for(var b = [""], e = /^([\s\S]*?)(((\$\$)+)(\$?)|(\$))0([\s\S]*)$/, d;d = a.match(e)Wink {
     b[b.length - 1] += d[1], "$" == d[6] || "" == d[4] ? b[b.length] = "" : b[b.length - 1] += d[3].substr(0, d[3].length / 2) + "0", a = d[7]
   }
   b[b.length - 1] = a;
   e = text.substring(start, end);
   a = b[0];
   d = a.length;
   for(var f = 1;f < b.length;f++) {
     a += e, a += b[f]
   }
   c.val(text.substr(0, start) + a + text.substr(end));
   c[0].selectionStart = start + d;
   c[0].selectionEnd = 1 < b.length ? end + d : start + d;
   c[0].scrollTop = stop;
   c[0].scrollLeft = sleft
 }
}
function saveExport() {
 for(var a = null === localStorage.getItem("fasave-length") ? 0 : localStorage.getItem("fasave-length"), c = "[", b = 0;b < a;b++) {
   var e = localStorage.getItem("fasave" + b);
   if(null !== e) {
     var d = localStorage.getItem("fasavet" + b);
     "[" != c && (c += ",");
     c += (null === d ? "" : escape(d) + ":") + escape(e)
   }
 }
 replaceTxt(c + "]")
}
function saveImport() {
 var a = $(".sourceMode textarea").val().substring($(".sourceMode textarea").prop("selectionStart"), $(".sourceMode textarea").prop("selectionEnd")).replace(/\s/g, "");
 if(/^\[[%/^a-zA-Z0-9\*@_\+\.\/:,-]*\]$/.test(a)) {
   for(var a = a.substr(1, a.length - 2).split(","), c = 0;c < a.length;c++) {
     var b = a[c].split(":");
     2 == b.length ? saveItem(unescape(b[1]), unescape(b[0])) : saveItem(unescape(b[0]), "")
   }
 }
}
function saveSelect() {
 var a = $(".sourceMode textarea");
 0 != $(a).prop("selectionStart") - $(a).prop("selectionEnd") && (a = a.val().substring($(a).prop("selectionStart"), $(a).prop("selectionEnd")), saveItem(a, ""))
}
function saveItem(a, c) {
 for(var b = parseInt(null === localStorage.getItem("fasave-length") ? 0 : localStorage.getItem("fasave-length")), e = 0;e < b;e++) {
   var d = localStorage.getItem("fasave" + e);
   null !== d && d == a && (localStorage.removeItem("fasavet" + e), $("#savep div[onClick^='insertText(" + e + ")']").remove(), localStorage.removeItem("fasave" + e))
 }
 localStorage.setItem("fasave" + b, a);
 "" != c && localStorage.setItem("fasavet" + b, c);
 localStorage.setItem("fasave-length", b + 1);
 $("#savep select").after('<div class="savedt" onClick="insertText(' + b + ');return false;">' + (c ? c : """ + a.substr(0, 30).replace(/</g, "<").replace(/>/g, ">") + (30 < a.length ? "..." : """)) + "</div>")
}
$(function(){$(function() {
 $("#text_editor_textarea").length && window.localStorage && "Microsoft Internet Explorer" != navigator.appName && ($('.sceditor-button-source').before('<a class="sceditor-button" unselectable="on" title="Sauvegarde" id="save_button"><div unselectable="on" style="background-image:url(https://i.servimg.com/u/f49/15/59/73/38/save10.png)">Salvataggio</div></a>'), $("#save_button").click(function(a) {
   a.stopPropagation();
   if(a.shiftKey) {
     $("#saveshift").length || $('<div class="save-bloc sceditor-dropdown" id="saveshift" style="display:none"><div onClick="saveExport()">Esportare</div><div onClick="saveImport()">Importer</div></div>').appendTo("body").css({top:$('#save_button').offset().top,left:$('#save_button').offset().left,marginTop: $('#save_button').outerHeight(),position:'absolute'}), $("#savep").hide(300), $("#saveshift").toggle(300)
   }else {
     if(!$("#savep").length) {
       $('<div class="save-bloc sceditor-dropdown" id="savep" style="display:none"><div><select style="margin-bottom:5px"><option value="0">Insérer</option><option value="1">Soprrimere</option><option value="2">Nominare</option></select></div><div id="saves" style="display:none"><br /><span onClick="saveSelect()">Salvare la selezione</span></div></div>').appendTo("body").css({top:$('#save_button').offset().top,left:$('#save_button').offset().left,marginTop: $('#save_button').outerHeight(),position:'absolute'});
       $("#savep").click(function(a) {
         a.stopPropagation()
       });
       for(var a = null === localStorage.getItem("fasave-length") ? 0 : localStorage.getItem("fasave-length"), c = 0;c < a;c++) {
         var b = localStorage.getItem("fasave" + c);
         null !== b && $("#savep select").after('<div class="savedt" onClick="insertText(' + c + ');return false;">' + (null === localStorage.getItem("fasavet" + c) ? """ + b.substr(0, 30).replace(/</g, "<").replace(/>/g, ">") + (30 < b.length ? "..." : """) : localStorage.getItem("fasavet" + c)) + "</div>")
       }
     }
     $("#saveshift").hide(300);
     $("#savep").toggle(300)
   }
 }), $(".sourceMode textarea").select(function() {
   $("#saves").show()
 }), $(".sourceMode textarea").bind("click keyup keydown", function() {
   0 == $(this).prop("selectionStart") - $(this).prop("selectionEnd") && $("#saves").hide()
 }))
})});

Funzionalità


  • Delezione / inserzione / naming: selezionando uno o l'altro valore, è possibile specificare, cliccando sul messaggio salvato, se si desidera inserire, eliminare o associare un titolo


Niko
Niko
Moderatore
Moderatore

Sesso : Maschio
Età : 24
Messaggi : 8278
Località : Provincia di Varese

Visualizza il profilo https://www.openstudio.one
Niko è stato ringraziato dall'autore di questo topic.

Visualizza l'argomento precedente Visualizza l'argomento successivo Torna in alto


 
Permessi in questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum.