refactor(enhanced-kanban): update state management for editable section
- Changed the source of `editableSectionId` from `boardReducer` to `enhancedKanbanReducer` for improved state organization. - Added `setEditableSection` and `deleteSection` actions to manage the editable section state within the enhanced kanban slice.
This commit is contained in:
@@ -15,7 +15,7 @@ import { useSelector } from 'react-redux';
|
|||||||
import {
|
import {
|
||||||
deleteSection,
|
deleteSection,
|
||||||
IGroupBy,
|
IGroupBy,
|
||||||
} from '@features/board/board-slice';
|
} from '@features/enhanced-kanban/enhanced-kanban.slice';
|
||||||
import { statusApiService } from '@/api/taskAttributes/status/status.api.service';
|
import { statusApiService } from '@/api/taskAttributes/status/status.api.service';
|
||||||
import { phasesApiService } from '@/api/taskAttributes/phases/phases.api.service';
|
import { phasesApiService } from '@/api/taskAttributes/phases/phases.api.service';
|
||||||
import logger from '@/utils/errorLogger';
|
import logger from '@/utils/errorLogger';
|
||||||
@@ -31,7 +31,7 @@ const DeleteStatusDrawer: React.FC = () => {
|
|||||||
const { projectView } = useTabSearchParam();
|
const { projectView } = useTabSearchParam();
|
||||||
const [form] = Form.useForm();
|
const [form] = Form.useForm();
|
||||||
const { t } = useTranslation('task-list-filters');
|
const { t } = useTranslation('task-list-filters');
|
||||||
const { editableSectionId, groupBy } = useAppSelector(state => state.boardReducer);
|
const { editableSectionId, groupBy } = useAppSelector(state => state.enhancedKanbanReducer);
|
||||||
const isDelteStatusDrawerOpen = useAppSelector(
|
const isDelteStatusDrawerOpen = useAppSelector(
|
||||||
state => state.deleteStatusReducer.isDeleteStatusDrawerOpen
|
state => state.deleteStatusReducer.isDeleteStatusDrawerOpen
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -101,6 +101,7 @@ interface EnhancedKanbanState {
|
|||||||
selectedTaskIds: string[];
|
selectedTaskIds: string[];
|
||||||
expandedSubtasks: Record<string, boolean>;
|
expandedSubtasks: Record<string, boolean>;
|
||||||
columnOrder: string[];
|
columnOrder: string[];
|
||||||
|
editableSectionId: string | null;
|
||||||
}
|
}
|
||||||
|
|
||||||
const initialState: EnhancedKanbanState = {
|
const initialState: EnhancedKanbanState = {
|
||||||
@@ -141,6 +142,7 @@ const initialState: EnhancedKanbanState = {
|
|||||||
selectedTaskIds: [],
|
selectedTaskIds: [],
|
||||||
expandedSubtasks: {},
|
expandedSubtasks: {},
|
||||||
columnOrder: [],
|
columnOrder: [],
|
||||||
|
editableSectionId: null,
|
||||||
};
|
};
|
||||||
|
|
||||||
// Performance monitoring utility
|
// Performance monitoring utility
|
||||||
@@ -373,8 +375,6 @@ const deleteTaskFromGroup = (
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const enhancedKanbanSlice = createSlice({
|
const enhancedKanbanSlice = createSlice({
|
||||||
name: 'enhancedKanbanReducer',
|
name: 'enhancedKanbanReducer',
|
||||||
initialState,
|
initialState,
|
||||||
@@ -871,6 +871,19 @@ const enhancedKanbanSlice = createSlice({
|
|||||||
state.groupCache[result.groupId] = result.group;
|
state.groupCache[result.groupId] = result.group;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
setEditableSection: (state, action: PayloadAction<string | null>) => {
|
||||||
|
state.editableSectionId = action.payload;
|
||||||
|
},
|
||||||
|
|
||||||
|
deleteSection: (state, action: PayloadAction<{ sectionId: string }>) => {
|
||||||
|
state.taskGroups = state.taskGroups.filter(
|
||||||
|
section => section.id !== action.payload.sectionId
|
||||||
|
);
|
||||||
|
if (state.editableSectionId === action.payload.sectionId) {
|
||||||
|
state.editableSectionId = null;
|
||||||
|
}
|
||||||
|
},
|
||||||
},
|
},
|
||||||
extraReducers: (builder) => {
|
extraReducers: (builder) => {
|
||||||
builder
|
builder
|
||||||
@@ -1061,6 +1074,8 @@ export const {
|
|||||||
updateEnhancedKanbanTaskStartDate,
|
updateEnhancedKanbanTaskStartDate,
|
||||||
updateEnhancedKanbanSubtask,
|
updateEnhancedKanbanSubtask,
|
||||||
toggleTaskExpansion,
|
toggleTaskExpansion,
|
||||||
|
setEditableSection,
|
||||||
|
deleteSection,
|
||||||
} = enhancedKanbanSlice.actions;
|
} = enhancedKanbanSlice.actions;
|
||||||
|
|
||||||
export default enhancedKanbanSlice.reducer;
|
export default enhancedKanbanSlice.reducer;
|
||||||
Reference in New Issue
Block a user