PCv5/app/static/scripts/editor.js

39 lines
1.2 KiB
JavaScript
Raw Normal View History

/* Add callbacks on text formatting buttons */
2022-04-21 23:10:54 +02:00
function editor_bold(e) {
let ta = document.querySelector(".editor textarea");
let indexStart = ta.selectionStart;
let indexEnd = ta.selectionEnd;
let txt = ta.value.substring(indexStart, indexEnd);
ta.value += '\n' + 'bold';
}
// Tab insert some spaces
// Ctrl+Enter send the form
ta = document.querySelector(".editor textarea");
ta.addEventListener('keydown', function(e) {
2022-04-21 23:10:54 +02:00
let keyCode = e.keyCode || e.which;
if (keyCode == 9) {
2022-04-22 10:50:51 +02:00
// TODO Add one tab to selected text without replacing it
e.preventDefault();
2022-04-21 23:10:54 +02:00
let start = e.target.selectionStart;
let end = e.target.selectionEnd;
// set textarea value to: text before caret + tab + text after caret
e.target.value = e.target.value.substring(0, start) + "\t" + e.target.value.substring(end);
e.target.selectionEnd = start + 1;
}
if (e.ctrlKey && keyCode == 13) {
let t = e.target;
while(! (t instanceof HTMLFormElement)) {
t = t.parentNode;
}
try {
t.submit();
} catch(exception) {
t.submit.click();
}
}
});