diff --git a/app/javascript/dashboard/components/ChatList.vue b/app/javascript/dashboard/components/ChatList.vue index 476fc7438..05207664f 100644 --- a/app/javascript/dashboard/components/ChatList.vue +++ b/app/javascript/dashboard/components/ChatList.vue @@ -4,6 +4,7 @@ import { mapGetters } from 'vuex'; import { useUISettings } from 'dashboard/composables/useUISettings'; import { useAlert } from 'dashboard/composables'; import { useKeyboardEvents } from 'dashboard/composables/useKeyboardEvents'; +import { useFilter } from 'shared/composables/useFilter'; import VirtualList from 'vue-virtual-scroll-list'; import ChatListHeader from './ChatListHeader.vue'; @@ -16,7 +17,6 @@ import filterQueryGenerator from '../helper/filterQueryGenerator.js'; import AddCustomViews from 'dashboard/routes/dashboard/customviews/AddCustomViews.vue'; import DeleteCustomViews from 'dashboard/routes/dashboard/customviews/DeleteCustomViews.vue'; import ConversationBulkActions from './widgets/conversation/conversationBulkActions/Index.vue'; -import filterMixin from 'shared/mixins/filterMixin'; import languages from 'dashboard/components/widgets/conversation/advancedFilterItems/languages'; import countries from 'shared/constants/countries'; import { generateValuesForEditCustomViews } from 'dashboard/helper/customViewsHelper'; @@ -41,7 +41,6 @@ export default { IntersectionObserver, VirtualList, }, - mixins: [filterMixin], provide() { return { // Actions to be performed on virtual list item and context menu. @@ -91,6 +90,15 @@ export default { const conversationListRef = ref(null); + const { + setFilterAttributes, + initializeStatusAndAssigneeFilterToModal, + initializeInboxTeamAndLabelFilterToModal, + } = useFilter({ + filteri18nKey: 'FILTER', + attributeModel: 'conversation_attribute', + }); + const getKeyboardListenerParams = () => { const allConversations = conversationListRef.value.querySelectorAll( 'div.conversations-list div.conversation' @@ -146,6 +154,9 @@ export default { return { uiSettings, conversationListRef, + setFilterAttributes, + initializeStatusAndAssigneeFilterToModal, + initializeInboxTeamAndLabelFilterToModal, }; }, data() { @@ -860,6 +871,25 @@ export default { onContextMenuToggle(state) { this.isContextMenuOpen = state; }, + initializeExistingFilterToModal() { + const statusFilter = this.initializeStatusAndAssigneeFilterToModal( + this.activeStatus, + this.currentUserDetails, + this.activeAssigneeTab + ); + if (statusFilter) { + this.appliedFilter.push(statusFilter); + } + + const otherFilters = this.initializeInboxTeamAndLabelFilterToModal( + this.conversationInbox, + this.inbox, + this.teamId, + this.activeTeam, + this.label + ); + this.appliedFilter.push(...otherFilters); + }, }, }; diff --git a/app/javascript/dashboard/components/widgets/AIAssistanceModal.vue b/app/javascript/dashboard/components/widgets/AIAssistanceModal.vue index 547746131..8f3100d80 100644 --- a/app/javascript/dashboard/components/widgets/AIAssistanceModal.vue +++ b/app/javascript/dashboard/components/widgets/AIAssistanceModal.vue @@ -1,13 +1,12 @@ @@ -121,7 +166,7 @@ export default { +