veebikoolitus-2018-03-live/app.js

69 lines
1.5 KiB
JavaScript
Raw Permalink Normal View History

2018-03-22 18:37:27 +02:00
"use strict";
2018-03-22 18:37:55 +02:00
2018-03-22 18:37:59 +02:00
console.log("App");
2018-03-22 18:42:28 +02:00
2018-03-22 18:45:03 +02:00
let addForm = document.getElementById("addFormElement");
2018-03-22 18:50:38 +02:00
addForm.addEventListener("submit", addBook);
2018-03-22 18:45:03 +02:00
2018-03-22 18:56:14 +02:00
let bookTable = document.getElementById("bookTableBody");
2018-03-22 19:11:31 +02:00
let lastBookId = 0;
function genBookId() {
return lastBookId++;
}
2018-03-22 19:30:08 +02:00
let books = {};
2018-03-22 19:29:09 +02:00
2018-03-22 18:50:38 +02:00
function addBook(event){
event.preventDefault();
2018-03-22 18:52:33 +02:00
console.log("Add Book", event.target.bookTitle.value);
2018-03-22 19:12:04 +02:00
let bookId = genBookId();
2018-03-22 19:30:08 +02:00
let book = {
title: event.target.bookTitle.value,
genre: event.target.bookGenre.value,
desc: event.target.bookDesc.value
}
2018-03-22 19:31:17 +02:00
books[bookId] = book;
2018-03-22 19:03:59 +02:00
let row = `
2018-03-22 19:14:23 +02:00
<tr id="bookRow${bookId}">
2018-03-22 19:12:34 +02:00
<td>${bookId + 1}</td>
2018-03-22 19:30:33 +02:00
<td>${book.title}</td>
<td>${book.genre}</td>
<td>${book.desc}</td>
2018-03-22 19:03:59 +02:00
<td>
2018-03-22 19:26:08 +02:00
<button onclick="editBook(${bookId})">Edit</button>
2018-03-22 19:18:22 +02:00
<button onclick="deleteBook(${bookId})">Delete</button>
2018-03-22 19:03:59 +02:00
</td>
</tr>
`
2018-03-22 19:06:00 +02:00
bookTable.innerHTML = bookTable.innerHTML + row;
2018-03-22 18:42:28 +02:00
}
2018-03-22 19:19:00 +02:00
function deleteBook(bookId) {
console.log("Delete Book", bookId);
2018-03-22 19:19:59 +02:00
let rowElement = document.getElementById("bookRow"+bookId);
2018-03-22 19:21:55 +02:00
bookTable.removeChild(rowElement);
2018-03-22 19:35:38 +02:00
delete books[bookId];
2018-03-22 18:42:28 +02:00
}
2018-03-22 19:26:08 +02:00
function editBook(bookId) {
2018-03-22 18:42:28 +02:00
console.log("Edit book");
2018-03-22 19:26:40 +02:00
let rowElement = document.getElementById("bookRow"+bookId);
2018-03-22 19:37:28 +02:00
let book = books[bookId];
addForm.bookTitle.value = book.title;
addForm.bookGenre.value = book.genre;
addForm.bookDesc.value = book.desc;
2018-03-22 19:40:20 +02:00
2018-03-22 19:42:33 +02:00
addForm.submit.value = "Edit";
2018-03-22 19:40:22 +02:00
deleteBook(bookId);
2018-03-22 18:42:28 +02:00
}