79 lines
1.8 KiB
JavaScript
79 lines
1.8 KiB
JavaScript
function setText(textarea, text, inicio, fim, _in) {
|
|
textarea.value = text;
|
|
textarea.selectionStart = inicio + _in.length;
|
|
textarea.selectionEnd = fim + _in.length;
|
|
textarea.focus();
|
|
}
|
|
|
|
$(function () {
|
|
function editText(textarea, _in, _out) {
|
|
let inicio = textarea.selectionStart;
|
|
let fim = textarea.selectionEnd;
|
|
let valor = textarea.value;
|
|
|
|
switch (inicio === fim) {
|
|
case true:
|
|
setText(
|
|
textarea,
|
|
valor.slice(0, inicio) + _in + "texto aqui" + _out + valor.slice(fim),
|
|
inicio,
|
|
fim,
|
|
_in,
|
|
);
|
|
break;
|
|
default:
|
|
setText(
|
|
textarea,
|
|
valor.slice(0, inicio) +
|
|
_in +
|
|
valor.slice(inicio, fim) +
|
|
_out +
|
|
valor.slice(fim),
|
|
inicio,
|
|
fim,
|
|
_in,
|
|
);
|
|
|
|
break;
|
|
}
|
|
}
|
|
let txt = true;
|
|
$("#text-write ul span").on("click", function () {
|
|
let list = [
|
|
{ start: "# ", end: "" },
|
|
{ start: "## ", end: "" },
|
|
{ start: "### ", end: "" },
|
|
{ start: "**", end: "**" },
|
|
{ start: "_", end: "_" },
|
|
{
|
|
addImg: function () {
|
|
editText($("#edit")[0], "[[img]{},'", "',size,100,100]");
|
|
},
|
|
}, // especial
|
|
{ start: "- ", end: "" },
|
|
{ start: "> ", end: "" },
|
|
];
|
|
let md = list[$(this).index()];
|
|
|
|
try {
|
|
md.addImg ? md.addImg() : editText($("#edit")[0], md.start, md.end);
|
|
} catch {
|
|
switch (txt) {
|
|
case true:
|
|
$(".txtarea").hide();
|
|
$(".txtmark").show();
|
|
document.getElementById("markdown").innerHTML = marked.parse(
|
|
$("#edit")[0].value,
|
|
);
|
|
txt = false;
|
|
break;
|
|
default:
|
|
$(".txtarea").show();
|
|
$(".txtmark").hide();
|
|
txt = true;
|
|
break;
|
|
}
|
|
}
|
|
});
|
|
});
|