71 lines
2.1 KiB
JavaScript
71 lines
2.1 KiB
JavaScript
|
$(document).ready(function(){
|
||
|
const apiUrl = 'http://localhost:3000';
|
||
|
|
||
|
// funkcja która dodaje zadania do listy
|
||
|
const appendTaskToList = (task) => {
|
||
|
$("#todoList").append("<li data-id='" + task.id + "'>" + task.task + " <button class='rmBtn'>Remove task</button></li>");
|
||
|
};
|
||
|
|
||
|
// funkcja która zwraca błąd gdy nie można dodać zadania
|
||
|
const handleAjaxError = (message) => () => alert(message);
|
||
|
|
||
|
// pobieranie zdań
|
||
|
const fetchTasks = () => {
|
||
|
$.ajax({
|
||
|
url: `${apiUrl}/tasks`,
|
||
|
method: 'GET',
|
||
|
success: function(tasks) {
|
||
|
tasks.forEach(appendTaskToList);
|
||
|
},
|
||
|
error: handleAjaxError("Error fetching tasks")
|
||
|
});
|
||
|
};
|
||
|
|
||
|
// funkcja która dodaje zadanie
|
||
|
const addTask = (task) => {
|
||
|
if (task !== "") {
|
||
|
$.ajax({
|
||
|
url: `${apiUrl}/addTask`,
|
||
|
method: 'POST',
|
||
|
contentType: 'application/json',
|
||
|
data: JSON.stringify({ task: task }),
|
||
|
success: function(response) {
|
||
|
appendTaskToList(response);
|
||
|
$("#todoInput").val("");
|
||
|
},
|
||
|
error: handleAjaxError("Error adding task")
|
||
|
});
|
||
|
} else {
|
||
|
alert("Enter task");
|
||
|
}
|
||
|
};
|
||
|
|
||
|
// funkcja która usuwa zadanie
|
||
|
const deleteTask = (taskId, listItem) => {
|
||
|
$.ajax({
|
||
|
url: `${apiUrl}/deleteTask/${taskId}`,
|
||
|
method: 'DELETE',
|
||
|
success: function(response) {
|
||
|
listItem.remove();
|
||
|
},
|
||
|
error: handleAjaxError("Error deleting task")
|
||
|
});
|
||
|
};
|
||
|
|
||
|
// pobieranie i wyświetlanie zadań
|
||
|
fetchTasks();
|
||
|
|
||
|
// dodawanie nowego zadania
|
||
|
$("#addBtn").click(function(){
|
||
|
const task = $("#todoInput").val();
|
||
|
addTask(task);
|
||
|
});
|
||
|
|
||
|
// usuwanie zadania
|
||
|
$(document).on("click", ".rmBtn", function(){
|
||
|
const listItem = $(this).parent();
|
||
|
const taskId = listItem.data('id');
|
||
|
deleteTask(taskId, listItem);
|
||
|
});
|
||
|
});
|