isbn-sort/isbn_sort/static/main.js

92 lines
3.1 KiB
JavaScript
Raw Normal View History

2024-04-05 17:47:15 +02:00
function getBookData(isbn) {
2024-04-03 17:54:20 +02:00
var table = document.getElementById("books-table");
// Find all rows in the table except the header
var rows = table.getElementsByTagName("tr");
// Iterate through each row
for (var i = 1; i < rows.length; i++) { // starting from 1 to skip the header row
var cells = rows[i].getElementsByTagName("td");
// Check if the ISBN in the current row matches the given ISBN
if (cells[0].innerText == isbn) {
// Extract data from the row
var title = cells[1].innerText;
var author = cells[2].innerText;
var status = {"À lire": 0, "En cours": 1, "Lu": 2}[cells[3].innerText];
var owner = cells[4].innerText;
2024-05-01 19:57:01 +02:00
var category = cells[5].innerText;
2024-04-03 17:54:20 +02:00
// Return the data
return {
title: title,
author: author,
status: status,
owner: owner,
2024-05-01 19:57:01 +02:00
category: category,
2024-04-03 17:54:20 +02:00
};
}
}
// If ISBN is not found, return null
return null;
}
2024-04-05 17:47:15 +02:00
function openEditBookDialog(isbn) {
2024-04-03 17:54:20 +02:00
var bookData = getBookData(isbn);
if (bookData) {
var editDialog = document.getElementById("edit-book-dialog");
document.getElementById("edit-isbn").value = isbn;
document.getElementById("edit-title").value = bookData.title;
document.getElementById("edit-author").value = bookData.author;
document.getElementById("edit-owner").value = bookData.owner;
document.getElementById("edit-status").value = bookData.status;
2024-05-01 19:57:01 +02:00
document.getElementById("edit-category").value = bookData.category;
2024-04-03 17:54:20 +02:00
editDialog.showModal();
} else {
alert("Book not found!");
}
}
// Function to hide the edit-book dialog
function hideEditBookDialog() {
var editDialog = document.getElementById("edit-book-dialog");
editDialog.close();
}
// Function to show the delete-book dialog
2024-04-05 17:47:15 +02:00
function openDeleteBookDialog(isbn) {
2024-04-03 17:54:20 +02:00
var bookData = getBookData(isbn);
console.log(isbn, bookData)
if (bookData === null)
return;
var deleteDialog = document.getElementById("delete-book-dialog");
document.getElementById("delete-isbn").value = isbn;
document.getElementById("delete-book-name").innerText = bookData.title;
if (bookData.title === undefined || bookData.title == "None")
document.getElementById("delete-book-name").innerText = "ISBN:"+isbn;
deleteDialog.showModal();
// Handle cancel delete
document.getElementById("cancel-delete").onclick = function() {
deleteDialog.close();
};
}
// Function to hide the delete-book dialog
function hideDeleteBookDialog() {
var deleteDialog = document.getElementById("delete-book-dialog");
deleteDialog.close();
}
function categoryChange() {
edit_cat = document.getElementById("edit-category");
if (edit_cat.selectedOptions[0].text == "- Nouvelle catégorie -") {
new_cat = window.prompt("Nom de la catégorie ?", "");
if (new_cat == "") return;
edit_cat.innerHTML += '<option value="'+new_cat+'" selected>'+new_cat+'</option>';
}
2024-04-03 17:54:20 +02:00
}