diff --git a/debugging/book-library/index.html b/debugging/book-library/index.html index 23acfa7..16392b5 100644 --- a/debugging/book-library/index.html +++ b/debugging/book-library/index.html @@ -73,8 +73,8 @@

Library

- + @@ -87,6 +87,9 @@

Library

+
Title AuthorTitle Number of Pages Read + +
diff --git a/debugging/book-library/script.js b/debugging/book-library/script.js index 75ce6c1..eea27d0 100644 --- a/debugging/book-library/script.js +++ b/debugging/book-library/script.js @@ -7,13 +7,8 @@ window.addEventListener("load", function (e) { function populateStorage() { if (myLibrary.length == 0) { - let book1 = new Book("Robison Crusoe", "Daniel Defoe", "252", true); - let book2 = new Book( - "The Old Man and the Sea", - "Ernest Hemingway", - "127", - true - ); + let book1 = new Book("Daniel Defoe", "Robinson Crusoe", "252", true); + let book2 = new Book("Ernest Hemingway", "The Old Man and the Sea", "127", true); myLibrary.push(book1); myLibrary.push(book2); render(); @@ -25,20 +20,22 @@ const author = document.getElementById("author"); const pages = document.getElementById("pages"); const check = document.getElementById("check"); -//check the right input from forms and if its ok -> add the new book (object in array) -//via Book function and start render function +// Check the right input from forms and if it's ok -> add the new book (object in array) +// via Book function and start render function function submit() { if ( title.value == null || title.value == "" || + author.value == null || + author.value == "" || pages.value == null || pages.value == "" ) { alert("Please fill all fields!"); return false; } else { - let book = new Book(title.value, title.value, pages.value, check.checked); - library.push(book); + let book = new Book(title.value, author.value, pages.value, check.checked); + myLibrary.push(book); render(); } } @@ -53,11 +50,11 @@ function Book(title, author, pages, check) { function render() { let table = document.getElementById("display"); let rowsNumber = table.rows.length; - //delete old table - for (let n = rowsNumber - 1; n > 0; n-- { + // Delete old table + for (let n = rowsNumber - 1; n > 0; n--) { table.deleteRow(n); } - //insert updated row and cells + // Insert updated row and cells let length = myLibrary.length; for (let i = 0; i < length; i++) { let row = table.insertRow(1); @@ -65,22 +62,18 @@ function render() { let authorCell = row.insertCell(1); let pagesCell = row.insertCell(2); let wasReadCell = row.insertCell(3); - let deleteCell = row.insertCell(4); + let deleteCell = row.insertCell(4); // Change index to 4 for delete cell + titleCell.innerHTML = myLibrary[i].title; authorCell.innerHTML = myLibrary[i].author; pagesCell.innerHTML = myLibrary[i].pages; - //add and wait for action for read/unread button + // Add and wait for action for read/unread button let changeBut = document.createElement("button"); changeBut.id = i; changeBut.className = "btn btn-success"; wasReadCell.appendChild(changeBut); - let readStatus = ""; - if (myLibrary[i].check == false) { - readStatus = "Yes"; - } else { - readStatus = "No"; - } + let readStatus = myLibrary[i].check ? "Yes" : "No"; // Corrected logic changeBut.innerText = readStatus; changeBut.addEventListener("click", function () { @@ -88,16 +81,16 @@ function render() { render(); }); - //add delete button to every row and render again - let delButton = document.createElement("button"); + // Add delete button to every row and render again + let delBut = document.createElement("button"); delBut.id = i + 5; deleteCell.appendChild(delBut); delBut.className = "btn btn-warning"; delBut.innerHTML = "Delete"; - delBut.addEventListener("clicks", function () { + delBut.addEventListener("click", function () { // Fixed typo here alert(`You've deleted title: ${myLibrary[i].title}`); myLibrary.splice(i, 1); render(); }); } -} +} \ No newline at end of file