// Global variable for the API URL
let api_url = "https://timelapse.kerboul.me/api";
// Function to display projects in a table
function display_projects() {
// Get data from API and then generate HTML code to display the data in a table
getDataFromApi().then(function (project_list) {
const table = document.getElementById("table-projects");
let datas = `
Id
Name
Actions
`;
for (let i = 0; i < project_list.rows.length; i++) {
datas += `
${project_list.rows[i].id}
${project_list.rows[i].name}
`;
}
table.innerHTML = datas;
// Select all the buttons with the class button_project
const buttons = document.getElementsByClassName("project_detail");
// Add an event listener to each button
for (let i = 0; i < buttons.length; i++) {
buttons[i].addEventListener("click", (event) => {
// Send data to API and then navigate to projet_detail.html page
deleteDataFromApi(4)
window.location.href = "projet_detail.html";
});
}
});
}
// Function to get data from API
function getDataFromApi() {
return $.ajax({
url: api_url.concat("/itemsdb"), // replace with your API URL
method: "GET", // or 'POST', 'PUT', 'DELETE', etc.
dataType: "json", // expected data type
success: function (data) {
// This function is called if the request is successful
return data; // log the data to the console
},
error: function (jqXHR, textStatus, errorThrown) {
// This function is called if the request fails
console.error("Error:", textStatus, errorThrown);
},
});
}
// Function to send data to API
function sendDataFromApi(datas) {
return $.ajax({
url: api_url.concat("/projets"),
method: "POST",
data: JSON.stringify(datas),
contentType: "application/json",
success: function (datas) {
console.log("successful");
},
error: function (jqXHR, textStatus, errorThrown) {
console.error(errorThrown);
},
});
}
function deleteDataFromApi(id) {
return $.ajax({
url: api_url.concat("/delete"),
method: "POST",
data: JSON.stringify({"id":id}),
contentType: "application/json",
success: function (datas) {
console.log("successful");
},
error: function (jqXHR, textStatus, errorThrown) {
console.error(errorThrown);
},
});
}
// Call display_projects() function to display projects
display_projects();