diff --git a/packages/text-editor/src/components/ReferenceInput.svelte b/packages/text-editor/src/components/ReferenceInput.svelte index 9224df0c5f..46368a57c7 100644 --- a/packages/text-editor/src/components/ReferenceInput.svelte +++ b/packages/text-editor/src/components/ReferenceInput.svelte @@ -165,6 +165,9 @@ const editorHandler: TextEditorHandler = { insertText: (text) => { textEditor.insertText(text) + }, + insertTemplate: (name, text) => { + textEditor.insertText(text) } } function handleAction (a: RefAction, evt?: Event): void { diff --git a/packages/text-editor/src/components/StyledTextEditor.svelte b/packages/text-editor/src/components/StyledTextEditor.svelte index 456aedf3ff..18ac8b4b4b 100644 --- a/packages/text-editor/src/components/StyledTextEditor.svelte +++ b/packages/text-editor/src/components/StyledTextEditor.svelte @@ -217,6 +217,10 @@ const editorHandler: TextEditorHandler = { insertText: (text) => { textEditor.insertText(text) + }, + insertTemplate: (name, text) => { + textEditor.insertText(text) + dispatch('template', name) } } function handleAction (a: RefAction, evt?: Event): void { diff --git a/packages/text-editor/src/types.ts b/packages/text-editor/src/types.ts index a7887ce8c6..351a28aef4 100644 --- a/packages/text-editor/src/types.ts +++ b/packages/text-editor/src/types.ts @@ -7,6 +7,7 @@ import type { AnySvelteComponent } from '@hcengineering/ui' */ export interface TextEditorHandler { insertText: (html: string) => void + insertTemplate: (name: string, html: string) => void } /** * @public diff --git a/plugins/gmail-resources/src/components/NewMessage.svelte b/plugins/gmail-resources/src/components/NewMessage.svelte index c91d22620d..b466e3d6dc 100644 --- a/plugins/gmail-resources/src/components/NewMessage.svelte +++ b/plugins/gmail-resources/src/components/NewMessage.svelte @@ -148,6 +148,14 @@ }, (res) => (attachments = res) ) + + function onTemplate (e: CustomEvent): void { + if (e.detail !== undefined) { + if (obj.subject.trim() === '') { + obj.subject = e.detail + } + } + } {/if}
- +
diff --git a/plugins/gmail-resources/src/components/NewMessages.svelte b/plugins/gmail-resources/src/components/NewMessages.svelte index 6af812be1a..27984e606e 100644 --- a/plugins/gmail-resources/src/components/NewMessages.svelte +++ b/plugins/gmail-resources/src/components/NewMessages.svelte @@ -212,6 +212,14 @@ integrations = res.filter((p) => p.createdBy === me || p.shared?.includes(me)) selectedIntegration = integrations.find((p) => p.createdBy === me) ?? integrations[0] }) + + function onTemplate (e: CustomEvent): void { + if (e.detail !== undefined) { + if (subject.trim() === '') { + subject = e.detail + } + } + } {/if}
- +
diff --git a/plugins/templates-resources/src/components/TemplatePopup.svelte b/plugins/templates-resources/src/components/TemplatePopup.svelte index 05fa89d35c..f3298ca60c 100644 --- a/plugins/templates-resources/src/components/TemplatePopup.svelte +++ b/plugins/templates-resources/src/components/TemplatePopup.svelte @@ -49,7 +49,7 @@ const provider = getTemplateDataProvider() async function dispatchItem (item: MessageTemplate): Promise { const message = await provider.fillTemplate(item.message) - editor.insertText(message) + editor.insertTemplate(item.title, message) closePopup() }