refactor(task-filters): update priority handling in task filters
- Replaced the use of selectedPriorities from taskManagement slice with priorities from taskReducer for consistency across the application. - Updated dispatch calls in ImprovedTaskFilters to utilize the new setPriorities action, enhancing clarity and maintainability. - Removed unnecessary imports and streamlined the selector logic for improved performance and readability.
This commit is contained in:
@@ -23,9 +23,9 @@ import { useFilterDataLoader } from '@/hooks/useFilterDataLoader';
|
|||||||
import { toggleField } from '@/features/task-management/taskListFields.slice';
|
import { toggleField } from '@/features/task-management/taskListFields.slice';
|
||||||
|
|
||||||
// Import Redux actions
|
// Import Redux actions
|
||||||
import { fetchTasksV3, setSelectedPriorities, setSearch as setTaskManagementSearch } from '@/features/task-management/task-management.slice';
|
import { fetchTasksV3, setSearch as setTaskManagementSearch } from '@/features/task-management/task-management.slice';
|
||||||
import { setCurrentGrouping, selectCurrentGrouping } from '@/features/task-management/grouping.slice';
|
import { setCurrentGrouping, selectCurrentGrouping } from '@/features/task-management/grouping.slice';
|
||||||
import { setMembers, setLabels, setSearch } from '@/features/tasks/tasks.slice';
|
import { setMembers, setLabels, setSearch, setPriorities } from '@/features/tasks/tasks.slice';
|
||||||
import { setBoardSearch } from '@/features/board/board-slice';
|
import { setBoardSearch } from '@/features/board/board-slice';
|
||||||
|
|
||||||
// Optimized selectors with proper transformation logic
|
// Optimized selectors with proper transformation logic
|
||||||
@@ -39,7 +39,6 @@ const selectFilterData = createSelector(
|
|||||||
(state: any) => state.taskReducer.taskAssignees,
|
(state: any) => state.taskReducer.taskAssignees,
|
||||||
(state: any) => state.boardReducer.taskAssignees,
|
(state: any) => state.boardReducer.taskAssignees,
|
||||||
(state: any) => state.projectReducer.project,
|
(state: any) => state.projectReducer.project,
|
||||||
(state: any) => state.taskManagement.selectedPriorities,
|
|
||||||
],
|
],
|
||||||
(
|
(
|
||||||
priorities,
|
priorities,
|
||||||
@@ -49,8 +48,7 @@ const selectFilterData = createSelector(
|
|||||||
boardLabels,
|
boardLabels,
|
||||||
taskAssignees,
|
taskAssignees,
|
||||||
boardAssignees,
|
boardAssignees,
|
||||||
project,
|
project
|
||||||
selectedPriorities
|
|
||||||
) => ({
|
) => ({
|
||||||
priorities: priorities || [],
|
priorities: priorities || [],
|
||||||
taskPriorities: taskPriorities || [],
|
taskPriorities: taskPriorities || [],
|
||||||
@@ -60,7 +58,7 @@ const selectFilterData = createSelector(
|
|||||||
taskAssignees: taskAssignees || [],
|
taskAssignees: taskAssignees || [],
|
||||||
boardAssignees: boardAssignees || [],
|
boardAssignees: boardAssignees || [],
|
||||||
project,
|
project,
|
||||||
selectedPriorities: selectedPriorities || [],
|
selectedPriorities: taskPriorities || [], // Use taskReducer.priorities as selected priorities
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -687,7 +685,7 @@ const ImprovedTaskFilters: React.FC<ImprovedTaskFiltersProps> = ({
|
|||||||
// Handle priorities
|
// Handle priorities
|
||||||
if (sectionId === 'priority') {
|
if (sectionId === 'priority') {
|
||||||
console.log('Priority selection changed:', { sectionId, values, projectId });
|
console.log('Priority selection changed:', { sectionId, values, projectId });
|
||||||
dispatch(setSelectedPriorities(values));
|
dispatch(setPriorities(values));
|
||||||
dispatch(fetchTasksV3(projectId));
|
dispatch(fetchTasksV3(projectId));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -763,7 +761,7 @@ const ImprovedTaskFilters: React.FC<ImprovedTaskFiltersProps> = ({
|
|||||||
dispatch(setMembers(clearedAssignees));
|
dispatch(setMembers(clearedAssignees));
|
||||||
|
|
||||||
// Clear priority filters
|
// Clear priority filters
|
||||||
dispatch(setSelectedPriorities([]));
|
dispatch(setPriorities([]));
|
||||||
|
|
||||||
// Clear other filters
|
// Clear other filters
|
||||||
setShowArchived(false);
|
setShowArchived(false);
|
||||||
|
|||||||
@@ -149,9 +149,9 @@ export const fetchTasksV3 = createAsyncThunk(
|
|||||||
? state.taskReducer.taskAssignees.filter(m => m.selected).map(m => m.id).join(' ')
|
? state.taskReducer.taskAssignees.filter(m => m.selected).map(m => m.id).join(' ')
|
||||||
: '';
|
: '';
|
||||||
|
|
||||||
// Get selected priorities from taskManagement slice
|
// Get selected priorities from taskReducer (consistent with other slices)
|
||||||
const selectedPriorities = state.taskManagement.selectedPriorities
|
const selectedPriorities = state.taskReducer.priorities
|
||||||
? state.taskManagement.selectedPriorities.join(' ')
|
? state.taskReducer.priorities.join(' ')
|
||||||
: '';
|
: '';
|
||||||
|
|
||||||
// Get search value from taskReducer
|
// Get search value from taskReducer
|
||||||
|
|||||||
Reference in New Issue
Block a user