From 4aebafbfd91fa936a8057ec3a392514020132bbf Mon Sep 17 00:00:00 2001 From: Hsieh Chin Fan Date: Thu, 17 Oct 2024 10:39:38 +0800 Subject: feat: set data attribute for editor to disable HTML update --- src/editor.mjs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/editor.mjs b/src/editor.mjs index c258c3d..d56ad4b 100644 --- a/src/editor.mjs +++ b/src/editor.mjs @@ -64,6 +64,8 @@ const validateAnchorName = anchorName => * @param {RefLink} refLink - The reference link to append */ const appendRefLink = (cm, refLink) => { + editor.dataset.update = 'false' + const { ref, link, title } = refLink let refLinkString = `\n[${ref}]: ${link} "${title ?? ''}"` const lastLineIsRefLink = cm.getLine(cm.lastLine()).match(refLinkPattern) @@ -507,11 +509,13 @@ updateDumbyMap(() => { // Re-render HTML by editor content cm.on('change', (_, change) => { - if (change.origin?.match(/\+input|\+delete|paste/)) { + if (editor.dataset?.update !== 'false') { textArea.dataset.scrollLine = cm.getCursor().line updateDumbyMap(() => { updateCMScrollLine(cm) }) + } else { + delete editor.dataset.update } addClassToCodeLines() completeForCodeBlock(change) -- cgit v1.2.3-70-g09d2