From 631f04047283de90754e8c1342a42c72d0801fa7 Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Thu, 18 Jul 2024 16:45:52 +0530 Subject: [PATCH] fix: moved reply method to EmailArea component --- .../src/components/Activities/Activities.vue | 49 +------------------ .../src/components/Activities/EmailArea.vue | 47 ++++++++++++++++++ 2 files changed, 48 insertions(+), 48 deletions(-) diff --git a/frontend/src/components/Activities/Activities.vue b/frontend/src/components/Activities/Activities.vue index 492fb6c2..0952fd4d 100644 --- a/frontend/src/components/Activities/Activities.vue +++ b/frontend/src/components/Activities/Activities.vue @@ -309,7 +309,7 @@
- +
r.trim()) - editor.toEmails = [email.sender] - editor.cc = editor.bcc = false - editor.ccEmails = [] - editor.bccEmails = [] - - if (!email.subject.startsWith('Re:')) { - editor.subject = `Re: ${email.subject}` - } - - if (reply_all) { - let cc = email.cc?.split(',').map((r) => r.trim()) - let bcc = email.bcc?.split(',').map((r) => r.trim()) - - if (cc?.length) { - recipients = recipients.filter((r) => !cc?.includes(r)) - cc.push(...recipients) - } else { - cc = recipients - } - - editor.cc = cc ? true : false - editor.bcc = bcc ? true : false - - editor.ccEmails = cc - editor.bccEmails = bcc - } - - let repliedMessage = `
${message}
` - - editor.editor - .chain() - .clearContent() - .insertContent('

.

') - .updateAttributes('paragraph', { class: 'reply-to-content' }) - .insertContent(repliedMessage) - .focus('all') - .insertContentAt(0, { type: 'paragraph' }) - .focus('start') - .run() -} - watch([reload, reload_email], ([reload_value, reload_email_value]) => { if (reload_value || reload_email_value) { all_activities.reload() diff --git a/frontend/src/components/Activities/EmailArea.vue b/frontend/src/components/Activities/EmailArea.vue index ed9cef0a..5daea833 100644 --- a/frontend/src/components/Activities/EmailArea.vue +++ b/frontend/src/components/Activities/EmailArea.vue @@ -93,5 +93,52 @@ import { timeAgo, dateFormat, dateTooltipFormat } from '@/utils' const props = defineProps({ activity: Object, + emailBox: Object, }) + +function reply(email, reply_all = false) { + props.emailBox.show = true + let editor = props.emailBox.editor + let message = email.content + let recipients = email.recipients.split(',').map((r) => r.trim()) + editor.toEmails = [email.sender] + editor.cc = editor.bcc = false + editor.ccEmails = [] + editor.bccEmails = [] + + if (!email.subject.startsWith('Re:')) { + editor.subject = `Re: ${email.subject}` + } + + if (reply_all) { + let cc = email.cc?.split(',').map((r) => r.trim()) + let bcc = email.bcc?.split(',').map((r) => r.trim()) + + if (cc?.length) { + recipients = recipients.filter((r) => !cc?.includes(r)) + cc.push(...recipients) + } else { + cc = recipients + } + + editor.cc = cc ? true : false + editor.bcc = bcc ? true : false + + editor.ccEmails = cc + editor.bccEmails = bcc + } + + let repliedMessage = `
${message}
` + + editor.editor + .chain() + .clearContent() + .insertContent('

.

') + .updateAttributes('paragraph', { class: 'reply-to-content' }) + .insertContent(repliedMessage) + .focus('all') + .insertContentAt(0, { type: 'paragraph' }) + .focus('start') + .run() +}