From d5f34bf9d0d2e0cdd3773ad2b7cb76911cbf1c23 Mon Sep 17 00:00:00 2001 From: Sivin Varghese <64252451+iamsivin@users.noreply.github.com> Date: Sun, 11 Aug 2024 10:09:08 +0530 Subject: [PATCH] feat: Replace `conversation/teamMixin` within the components (#9923) --- .../i18n/locale/en/teamsSettings.json | 3 ++- .../mixins/conversation/teamMixin.js | 22 ------------------- .../routes/dashboard/commands/commandbar.vue | 2 -- .../dashboard/commands/conversationHotKeys.js | 14 +++++++++++- .../conversation/ConversationAction.vue | 16 ++++++++++++-- 5 files changed, 29 insertions(+), 28 deletions(-) delete mode 100644 app/javascript/dashboard/mixins/conversation/teamMixin.js diff --git a/app/javascript/dashboard/i18n/locale/en/teamsSettings.json b/app/javascript/dashboard/i18n/locale/en/teamsSettings.json index c39c03569..6cbe55032 100644 --- a/app/javascript/dashboard/i18n/locale/en/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/en/teamsSettings.json @@ -7,7 +7,8 @@ "LEARN_MORE": "Learn more about teams", "LIST": { "404": "There are no teams created on this account.", - "EDIT_TEAM": "Edit team" + "EDIT_TEAM": "Edit team", + "NONE": "None" }, "CREATE_FLOW": { "CREATE": { diff --git a/app/javascript/dashboard/mixins/conversation/teamMixin.js b/app/javascript/dashboard/mixins/conversation/teamMixin.js deleted file mode 100644 index 745f91589..000000000 --- a/app/javascript/dashboard/mixins/conversation/teamMixin.js +++ /dev/null @@ -1,22 +0,0 @@ -import { mapGetters } from 'vuex'; - -export default { - computed: { - ...mapGetters({ teams: 'teams/getTeams' }), - hasAnAssignedTeam() { - return !!this.currentChat?.meta?.team; - }, - teamsList() { - if (this.hasAnAssignedTeam) { - return [ - { - id: 0, - name: 'None', - }, - ...this.teams, - ]; - } - return this.teams; - }, - }, -}; diff --git a/app/javascript/dashboard/routes/dashboard/commands/commandbar.vue b/app/javascript/dashboard/routes/dashboard/commands/commandbar.vue index dff1f53f4..136295228 100644 --- a/app/javascript/dashboard/routes/dashboard/commands/commandbar.vue +++ b/app/javascript/dashboard/routes/dashboard/commands/commandbar.vue @@ -8,7 +8,6 @@ import goToCommandHotKeys from './goToCommandHotKeys'; import appearanceHotKeys from './appearanceHotKeys'; import agentMixin from 'dashboard/mixins/agentMixin'; import conversationLabelMixin from 'dashboard/mixins/conversation/labelMixin'; -import conversationTeamMixin from 'dashboard/mixins/conversation/teamMixin'; import { GENERAL_EVENTS } from '../../../helper/AnalyticsHelper/events'; export default { @@ -18,7 +17,6 @@ export default { bulkActionsHotKeysMixin, inboxHotKeysMixin, conversationLabelMixin, - conversationTeamMixin, appearanceHotKeys, goToCommandHotKeys, ], diff --git a/app/javascript/dashboard/routes/dashboard/commands/conversationHotKeys.js b/app/javascript/dashboard/routes/dashboard/commands/conversationHotKeys.js index 9c4a638b6..c680788fd 100644 --- a/app/javascript/dashboard/routes/dashboard/commands/conversationHotKeys.js +++ b/app/javascript/dashboard/routes/dashboard/commands/conversationHotKeys.js @@ -65,6 +65,7 @@ export default { currentChat: 'getSelectedChat', replyMode: 'draftMessages/getReplyEditorMode', contextMenuChatId: 'getContextMenuChatId', + teams: 'teams/getTeams', }), draftMessage() { return this.$store.getters['draftMessages/get'](this.draftKey); @@ -78,7 +79,18 @@ export default { conversationId() { return this.currentChat?.id; }, - + hasAnAssignedTeam() { + return !!this.currentChat?.meta?.team; + }, + teamsList() { + if (this.hasAnAssignedTeam) { + return [ + { id: 0, name: this.$t('TEAMS_SETTINGS.LIST.NONE') }, + ...this.teams, + ]; + } + return this.teams; + }, statusActions() { const isOpen = this.currentChat?.status === wootConstants.STATUS_TYPE.OPEN; diff --git a/app/javascript/dashboard/routes/dashboard/conversation/ConversationAction.vue b/app/javascript/dashboard/routes/dashboard/conversation/ConversationAction.vue index 96b30d1fd..d718d3598 100644 --- a/app/javascript/dashboard/routes/dashboard/conversation/ConversationAction.vue +++ b/app/javascript/dashboard/routes/dashboard/conversation/ConversationAction.vue @@ -6,7 +6,6 @@ import ContactDetailsItem from './ContactDetailsItem.vue'; import MultiselectDropdown from 'shared/components/ui/MultiselectDropdown.vue'; import ConversationLabels from './labels/LabelBox.vue'; import agentMixin from 'dashboard/mixins/agentMixin'; -import teamMixin from 'dashboard/mixins/conversation/teamMixin'; import { CONVERSATION_PRIORITY } from '../../../../shared/constants/messages'; import { CONVERSATION_EVENTS } from '../../../helper/AnalyticsHelper/events'; @@ -16,7 +15,7 @@ export default { MultiselectDropdown, ConversationLabels, }, - mixins: [agentMixin, teamMixin], + mixins: [agentMixin], props: { conversationId: { type: [Number, String], @@ -65,7 +64,20 @@ export default { ...mapGetters({ currentChat: 'getSelectedChat', currentUser: 'getCurrentUser', + teams: 'teams/getTeams', }), + hasAnAssignedTeam() { + return !!this.currentChat?.meta?.team; + }, + teamsList() { + if (this.hasAnAssignedTeam) { + return [ + { id: 0, name: this.$t('TEAMS_SETTINGS.LIST.NONE') }, + ...this.teams, + ]; + } + return this.teams; + }, assignedAgent: { get() { return this.currentChat.meta.assignee;