diff --git a/src/lib/components/common/RichTextInput.svelte b/src/lib/components/common/RichTextInput.svelte index bfcc37860..2b506670a 100644 --- a/src/lib/components/common/RichTextInput.svelte +++ b/src/lib/components/common/RichTextInput.svelte @@ -387,9 +387,33 @@ selectTemplate(); } } else { - if (value !== editor.getHTML()) { - editor.commands.setContent(value); - selectTemplate(); + if (raw) { + if (value !== editor.getHTML()) { + editor.commands.setContent(value); + selectTemplate(); + } + } else { + if ( + value !== + turndownService + .turndown( + (preserveBreaks + ? editor.getHTML().replace(/

<\/p>/g, '
') + : editor.getHTML() + ).replace(/ {2,}/g, (m) => m.replace(/ /g, '\u00a0')) + ) + .replace(/\u00a0/g, ' ') + ) { + preserveBreaks + ? editor.commands.setContent(value) + : editor.commands.setContent( + marked.parse(value.replaceAll(`\n
`, `
`), { + breaks: false + }) + ); // Update editor content + + selectTemplate(); + } } } };