diff --git a/packages/text-editor/src/components/ReferenceInput.svelte b/packages/text-editor/src/components/ReferenceInput.svelte index cdb53e0e42..ac12dd16ca 100644 --- a/packages/text-editor/src/components/ReferenceInput.svelte +++ b/packages/text-editor/src/components/ReferenceInput.svelte @@ -285,9 +285,11 @@ bind:isEmpty bind:this={textEditor} on:content={(ev) => { - dispatch('message', ev.detail) - content = '' - textEditor.clear() + if (!isEmpty || haveAttachment) { + dispatch('message', ev.detail) + content = '' + textEditor.clear() + } }} extensions={editorExtensions} on:selection-update={updateFormattingState} diff --git a/packages/text-editor/src/components/StyledTextEditor.svelte b/packages/text-editor/src/components/StyledTextEditor.svelte index 697021327d..456aedf3ff 100644 --- a/packages/text-editor/src/components/StyledTextEditor.svelte +++ b/packages/text-editor/src/components/StyledTextEditor.svelte @@ -70,6 +70,7 @@ export let full = false let textEditor: TextEditor + let isEmpty = true export function submit (): void { textEditor.submit() @@ -487,6 +488,7 @@ bind:content {placeholder} bind:this={textEditor} + bind:isEmpty on:value on:content={(ev) => { dispatch('message', ev.detail) @@ -504,6 +506,7 @@ bind:content {placeholder} bind:this={textEditor} + bind:isEmpty on:value on:content={(ev) => { dispatch('message', ev.detail) diff --git a/packages/text-editor/src/components/TextEditor.svelte b/packages/text-editor/src/components/TextEditor.svelte index 758788f8fc..bed7344167 100644 --- a/packages/text-editor/src/components/TextEditor.svelte +++ b/packages/text-editor/src/components/TextEditor.svelte @@ -50,10 +50,8 @@ if (editor) editor.setEditable(editable) } export function submit (): void { - if (!editor.isEmpty) { - content = editor.getHTML() - dispatch('content', content) - } + content = editor.getHTML() + dispatch('content', content) } export function setContent (newContent: string): void { if (content !== newContent) { diff --git a/plugins/attachment-resources/src/components/AccordionEditor.svelte b/plugins/attachment-resources/src/components/AccordionEditor.svelte index 2a09e98240..a9bf20ceff 100644 --- a/plugins/attachment-resources/src/components/AccordionEditor.svelte +++ b/plugins/attachment-resources/src/components/AccordionEditor.svelte @@ -35,6 +35,7 @@ const attachments: AttachmentStyledBox[] = [] const edits: TextEditor[] = [] let hasAttachments: boolean = false + const isEmpty: boolean[] = [true] const expanded: boolean[] = [] items.forEach(() => expanded.push(false)) @@ -86,13 +87,16 @@ { dispatch('update', { item, value: ev.detail }) }} on:content={(ev) => { - items[i].content = ev.detail - dispatch('update', { item, value: ev.detail }) - flip(i) + if (!isEmpty[i]) { + items[i].content = ev.detail + dispatch('update', { item, value: ev.detail }) + flip(i) + } }} on:blur={() => dispatch('blur', item)} />