Fixed state modal
This commit is contained in:
@ -1,16 +1,15 @@
|
||||
import { createAsyncThunk, createSlice } from "@reduxjs/toolkit";
|
||||
import {apiRequest} from "../api/request";
|
||||
import { apiRequest } from "../api/request";
|
||||
|
||||
const initialState = {
|
||||
projects: [],
|
||||
projectBoard: {},
|
||||
toggleTab: 1
|
||||
toggleTab: 1,
|
||||
modalType: "",
|
||||
};
|
||||
|
||||
export const setProjectBoardFetch = createAsyncThunk(
|
||||
'userInfo',
|
||||
(id) =>
|
||||
apiRequest(`/project/get-project?project_id=${id}&expand=columns`)
|
||||
export const setProjectBoardFetch = createAsyncThunk("userInfo", (id) =>
|
||||
apiRequest(`/project/get-project?project_id=${id}&expand=columns`)
|
||||
);
|
||||
|
||||
export const projectsTrackerSlice = createSlice({
|
||||
@ -18,47 +17,61 @@ export const projectsTrackerSlice = createSlice({
|
||||
initialState,
|
||||
reducers: {
|
||||
setAllProjects: (state, action) => {
|
||||
state.projects = action.payload
|
||||
state.projects = action.payload;
|
||||
},
|
||||
setProject: (state, action) => {
|
||||
state.projects.push(action.payload);
|
||||
},
|
||||
setToggleTab: (state, action) => {
|
||||
state.toggleTab = action.payload
|
||||
state.toggleTab = action.payload;
|
||||
},
|
||||
deleteProject: (state, action) => {
|
||||
state.projects = state.projects.filter((project) => project.id !== action.payload.id)
|
||||
state.projects = state.projects.filter(
|
||||
(project) => project.id !== action.payload.id
|
||||
);
|
||||
},
|
||||
moveProjectTask: (state, action) => {
|
||||
state.projectBoard.columns.forEach((column, index) => {
|
||||
if (column.id === action.payload.columnId) {
|
||||
column.tasks.push(action.payload.startWrapperIndex.task)
|
||||
column.tasks.push(action.payload.startWrapperIndex.task);
|
||||
apiRequest(`/task/update-task`, {
|
||||
method: 'PUT',
|
||||
method: "PUT",
|
||||
data: {
|
||||
task_id: action.payload.startWrapperIndex.task.id,
|
||||
column_id: column.id
|
||||
}
|
||||
}).then((res) => {
|
||||
})
|
||||
column_id: column.id,
|
||||
},
|
||||
}).then((res) => {});
|
||||
}
|
||||
if (column.id === action.payload.startWrapperIndex.index) {
|
||||
state.projectBoard.columns[index].tasks = column.tasks.filter((task)=> task.id !== action.payload.startWrapperIndex.task.id);
|
||||
state.projectBoard.columns[index].tasks = column.tasks.filter(
|
||||
(task) => task.id !== action.payload.startWrapperIndex.task.id
|
||||
);
|
||||
}
|
||||
})
|
||||
}
|
||||
});
|
||||
},
|
||||
modalToggle: (state, action) => {
|
||||
state.modalType = action.payload;
|
||||
},
|
||||
},
|
||||
extraReducers: {
|
||||
[setProjectBoardFetch.fulfilled]: (state, action) => {
|
||||
state.projectBoard = action.payload
|
||||
}
|
||||
}
|
||||
state.projectBoard = action.payload;
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
export const { setProject, deleteProject, setAllProjects, moveProjectTask, setToggleTab } = projectsTrackerSlice.actions;
|
||||
export const {
|
||||
setProject,
|
||||
deleteProject,
|
||||
setAllProjects,
|
||||
moveProjectTask,
|
||||
setToggleTab,
|
||||
modalToggle,
|
||||
} = projectsTrackerSlice.actions;
|
||||
|
||||
export const getProjects = (state) => state.tracker.projects;
|
||||
export const getProjectBoard = (state) => state.tracker.projectBoard;
|
||||
export const getToggleTab = (state) => state.tracker.toggleTab
|
||||
export const getToggleTab = (state) => state.tracker.toggleTab;
|
||||
export const getValueModalType = (state) => state.tracker.modalType;
|
||||
|
||||
export default projectsTrackerSlice.reducer;
|
||||
|
Reference in New Issue
Block a user