Add function to create and save new column

This commit is contained in:
sosokker 2023-11-21 05:07:18 +07:00
parent 063e7eda70
commit 81914dd7fa

View File

@ -10,6 +10,7 @@ import axiosInstance from "../../api/configs/AxiosConfig";
function KanbanBoard() { function KanbanBoard() {
const [columns, setColumns] = useState([]); const [columns, setColumns] = useState([]);
const columnsId = useMemo(() => columns.map(col => col.id), [columns]); const columnsId = useMemo(() => columns.map(col => col.id), [columns]);
const [boardId, setBoardData] = useState();
const [tasks, setTasks] = useState([]); const [tasks, setTasks] = useState([]);
@ -106,6 +107,20 @@ function KanbanBoard() {
fetchData(); fetchData();
}, []); }, []);
useEffect(() => {
const fetchBoardData = async () => {
try {
const response = await axiosInstance.get('boards/');
if (response.data && response.data.length > 0) {
setBoardData(response.data[0]);
}
} catch (error) {
console.error('Error fetching board data:', error);
}
};
fetchBoardData();
}, []);
return ( return (
<div <div
className=" className="
@ -207,12 +222,19 @@ function KanbanBoard() {
} }
function createNewColumn() { function createNewColumn() {
const columnToAdd = { axiosInstance.post('lists/', { name: `Column ${columns.length + 1}`, position: 1, board: boardId })
id: generateId(), .then(response => {
title: `Column ${columns.length + 1}`, const newColumn = {
id: response.data.id,
title: response.data.name,
}; };
setColumns([...columns, columnToAdd]); setColumns([...columns, newColumn]);
})
.catch(error => {
console.error("Error creating ListBoard:", error);
});
} }
function deleteColumn(id) { function deleteColumn(id) {