diff --git a/frontend/src/Components/MarkdownEditor.svelte b/frontend/src/Components/MarkdownEditor.svelte
index e610d043..1a074ea6 100644
--- a/frontend/src/Components/MarkdownEditor.svelte
+++ b/frontend/src/Components/MarkdownEditor.svelte
@@ -38,16 +38,31 @@
} else applyEdit();
}
- function resetEdit(){
- editing = false;
- editValue = {source:value.source,rendered:value.rendered};
+ function oncontextmenu(evt){
+ if (evt.target) {
+ evt.preventDefault();
+ evt.stopPropagation();
+ }
+ sheet = evt.sheet ? evt : null; // store position of activated cell to focus after editing starts
+ startEdit();
+ return false;
}
- function startEdit(){
- activeField.update((n) => n+1);
- editing = editable;
+ function oninput(ev){
+ if (simple) {
+ value.source = editValue.source;
+ value.rendered = editValue.rendered;
+ }
+ if (timer) clearTimeout(timer);
+ timer = setTimeout(render,500);
}
+ function onkeyup(ev){
+ if (ev.keyCode == 13 && ev.ctrlKey) doSave();
+ if (ev.keyCode == 27) resetEdit();
+ }
+
+
async function render(){
const url = api('markdown/render');
const resp = await fetch(url,{
@@ -59,59 +74,9 @@
if (store_id) localStorage.setItem(store_id,editValue.source);
}
- function typed(ev){
- if (simple) {
- value.source = editValue.source;
- value.rendered = editValue.rendered;
- }
- if (ev.keyCode == 13 && ev.ctrlKey) doSave();
- if (ev.keyCode == 27) resetEdit();
-
- if (timer) clearTimeout(timer);
- timer = setTimeout(render,500);
- }
-
- function measured(evt,duration){
- if (duration < 500){
- onclick(evt);
- } else {
- startEdit();
- }
- }
-
-
- function oncontextmenu(evt){
- if (evt.target) {
- evt.preventDefault();
- evt.stopPropagation();
- }
- sheet = evt.sheet ? evt : null; // store position of activated cell to focus after editing starts
- startEdit();
- return false;
- }
-
- function onmousedown(evt){
- evt.preventDefault();
- start = evt.timeStamp;
- }
-
- function onmouseup(evt){
- evt.preventDefault();
- measured(evt, evt.timeStamp - start);
- }
-
- function onresize(evt){
- console.log('onresize()',evt);
- }
-
- function ontouchstart(evt){
- evt.preventDefault();
- start = evt.timeStamp;
- }
-
- function ontouchend(evt){
- evt.preventDefault();
- measured(evt, evt.timeStamp - start);
+ function resetEdit(){
+ editing = false;
+ editValue = {source:value.source,rendered:value.rendered};
}
function restore(ev){
@@ -120,6 +85,11 @@
render();
}
+ function startEdit(){
+ activeField.update((n) => n+1);
+ editing = editable;
+ }
+
activeField.subscribe((val) => resetEdit());
if (simple) startEdit();
@@ -145,7 +115,7 @@
{#if stored_source}
{t('unsaved_content')}
{/if}
-
+