diff --git a/app/javascript/dashboard/components/ChatList.vue b/app/javascript/dashboard/components/ChatList.vue index 6f6b1961c..d1ac4945f 100644 --- a/app/javascript/dashboard/components/ChatList.vue +++ b/app/javascript/dashboard/components/ChatList.vue @@ -95,6 +95,7 @@ @select-all-conversations="selectAllConversations" @assign-agent="onAssignAgent" @update-conversations="onUpdateConversations" + @assign-labels="onAssignLabels" />
+
+ + + import AgentSelector from './AgentSelector.vue'; import UpdateActions from './UpdateActions.vue'; +import LabelActions from './LabelActions.vue'; export default { components: { AgentSelector, UpdateActions, + LabelActions, }, props: { conversations: { @@ -103,6 +121,7 @@ export default { return { showAgentsList: false, showUpdateActions: false, + showLabelActions: false, }; }, methods: { @@ -115,12 +134,18 @@ export default { updateConversations(status) { this.$emit('update-conversations', status); }, + assignLabels(labels) { + this.$emit('assign-labels', labels); + }, resolveConversations() { this.$emit('resolve-conversations'); }, toggleUpdateActions() { this.showUpdateActions = !this.showUpdateActions; }, + toggleLabelActions() { + this.showLabelActions = !this.showLabelActions; + }, toggleAgentList() { this.showAgentsList = !this.showAgentsList; }, diff --git a/app/javascript/dashboard/components/widgets/conversation/conversationBulkActions/LabelActions.vue b/app/javascript/dashboard/components/widgets/conversation/conversationBulkActions/LabelActions.vue new file mode 100644 index 000000000..eb93586e3 --- /dev/null +++ b/app/javascript/dashboard/components/widgets/conversation/conversationBulkActions/LabelActions.vue @@ -0,0 +1,282 @@ + + + + + diff --git a/app/javascript/dashboard/i18n/locale/en/bulkActions.json b/app/javascript/dashboard/i18n/locale/en/bulkActions.json index f9e084cd7..7061e5e70 100644 --- a/app/javascript/dashboard/i18n/locale/en/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/en/bulkActions.json @@ -17,6 +17,13 @@ "SNOOZE_UNTIL_NEXT_REPLY": "Snooze until next reply", "UPDATE_SUCCESFUL": "Conversation status updated successfully.", "UPDATE_FAILED": "Failed to update conversations, please try again" + }, + "LABELS": { + "ASSIGN_LABELS": "Assign Labels", + "NO_LABELS_FOUND": "No labels found for", + "ASSIGN_SELECTED_LABELS": "Assign selected labels", + "ASSIGN_SUCCESFUL": "Labels assigned successfully", + "ASSIGN_FAILED": "Failed to assign labels, please try again" } } }