From 610b05ed5a9f68f384a4ce8205ff80aecd96c14c Mon Sep 17 00:00:00 2001 From: iamsivin Date: Mon, 18 Nov 2024 23:47:58 +0530 Subject: [PATCH] feat: Attachment preview --- .../NewConversation/ComposeConversation.vue | 12 +++ .../components/ActionButtons.vue | 24 ++--- .../components/AttachmentPreviews.vue | 88 +++++++++++++++++++ .../components/ComposeNewConversationForm.vue | 12 +++ .../components/MessageEditor.vue | 12 ++- app/javascript/shared/helpers/FileHelper.js | 16 ++++ .../shared/helpers/specs/FileHelper.spec.js | 48 ++++++++++ 7 files changed, 200 insertions(+), 12 deletions(-) create mode 100644 app/javascript/dashboard/components-next/NewConversation/components/AttachmentPreviews.vue diff --git a/app/javascript/dashboard/components-next/NewConversation/ComposeConversation.vue b/app/javascript/dashboard/components-next/NewConversation/ComposeConversation.vue index a27e2ce3f..50ea86b32 100644 --- a/app/javascript/dashboard/components-next/NewConversation/ComposeConversation.vue +++ b/app/javascript/dashboard/components-next/NewConversation/ComposeConversation.vue @@ -5,6 +5,7 @@ import { useI18n } from 'vue-i18n'; import { useRoute } from 'vue-router'; import { useAlert } from 'dashboard/composables'; import { debounce } from '@chatwoot/utils'; +import { useKeyboardEvents } from 'dashboard/composables/useKeyboardEvents'; import { searchContacts, createNewContact, @@ -115,6 +116,17 @@ watch( onMounted(() => { onContactSearch(''); }); + +const keyboardEvents = { + Escape: { + action: () => { + if (showComposeNewConversation.value) { + showComposeNewConversation.value = false; + } + }, + }, +}; +useKeyboardEvents(keyboardEvents);