feat: Adds support for all snooze option in bulk actions (#9361)

* feat: Add support for bulk snooze until

* feat: Adds support for all snooze option in bulk actions

* chore: Adds comment

* chore: Review fixes

* chore: Minor fix

* chore: Minor fix

* chore: Review fixes

* chore: yarn changes

* fix: terminal waring

* chore: Adds spec

* Update conversationHotKeys.js

---------

Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
This commit is contained in:
Sivin Varghese
2024-05-09 19:27:31 +05:30
committed by GitHub
parent eff24c0d71
commit 5138a0ad32
15 changed files with 423 additions and 134 deletions

View File

@@ -2,6 +2,7 @@ import types from '../mutation-types';
import BulkActionsAPI from '../../api/bulkActions';
export const state = {
selectedConversationIds: [],
uiFlags: {
isUpdating: false,
},
@@ -11,6 +12,9 @@ export const getters = {
getUIFlags(_state) {
return _state.uiFlags;
},
getSelectedConversationIds(_state) {
return _state.selectedConversationIds;
},
};
export const actions = {
@@ -24,6 +28,15 @@ export const actions = {
commit(types.SET_BULK_ACTIONS_FLAG, { isUpdating: false });
}
},
setSelectedConversationIds({ commit }, id) {
commit(types.SET_SELECTED_CONVERSATION_IDS, id);
},
removeSelectedConversationIds({ commit }, id) {
commit(types.REMOVE_SELECTED_CONVERSATION_IDS, id);
},
clearSelectedConversationIds({ commit }) {
commit(types.CLEAR_SELECTED_CONVERSATION_IDS);
},
};
export const mutations = {
@@ -33,6 +46,23 @@ export const mutations = {
...data,
};
},
[types.SET_SELECTED_CONVERSATION_IDS](_state, ids) {
// Check if ids is an array, if not, convert it to an array
const idsArray = Array.isArray(ids) ? ids : [ids];
// Concatenate the new IDs ensuring no duplicates
_state.selectedConversationIds = [
...new Set([..._state.selectedConversationIds, ...idsArray]),
];
},
[types.REMOVE_SELECTED_CONVERSATION_IDS](_state, id) {
_state.selectedConversationIds = _state.selectedConversationIds.filter(
item => item !== id
);
},
[types.CLEAR_SELECTED_CONVERSATION_IDS](_state) {
_state.selectedConversationIds = [];
},
};
export default {