Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const UNCOMPLETED_LIST_BOOK_ID = "books";
- const COMPLETED_LIST_BOOK_ID = "completed-books";
- const BOOK_ITEMID = "itemId";
- function addBook() {
- const uncompletedBOOKList = document.getElementById(UNCOMPLETED_LIST_BOOK_ID);
- const textBook = document.getElementById("title").value;
- const timestamp = document.getElementById("date").value;
- const textAuthor = document.getElementById("author").value;
- const book = makeBook(textBook, timestamp, textAuthor, false);
- const bookObject = composeBookObject(textBook, timestamp, textAuthor, false);
- book[BOOK_ITEMID] = bookObject.id;
- books.push(bookObject);
- uncompletedBOOKList.append(book);
- updateDataToStorage();
- }
- function makeBook(data, timestamp, write, isCompleted) {
- const textTitle = document.createElement("h2");
- textTitle.innerText = data;
- const textTimestamp = document.createElement("p");
- textTimestamp.innerText = timestamp;
- const textAuthor = document.createElement("p");
- textAuthor.innerText = write;
- const textContainer = document.createElement("div");
- textContainer.classList.add("inner")
- textContainer.append(textTitle, textTimestamp, textAuthor);
- const container = document.createElement("div");
- container.classList.add("item", "shadow")
- container.append(textContainer);
- if(isCompleted){
- container.append(
- createUndoButton(),
- );
- } else {
- container.append(createCheckButton());
- }
- container.append(createTrashButton());
- return container;
- };
- function createButton(buttonTypeClass, eventListener) {
- const button = document.createElement("button");
- button.classList.add(buttonTypeClass);
- button.addEventListener("click", function(event){
- eventListener(event);
- });
- return button;
- };
- function addTaskToCompleted(taskElement /* HTMLELement */) {
- const listCompleted = document.getElementById(COMPLETED_LIST_BOOK_ID);
- const taskTitle = taskElement.querySelector(".inner > h2").innerText;
- const taskTimestamp = taskElement.querySelector(".inner > p").innerText;
- const taskWrite = taskElement.querySelector(".inner > p").innerText;
- const newBook = makeBook(taskTitle, taskTimestamp, taskWrite, true);
- const book = findBook(taskElement[BOOK_ITEMID]);
- book.isCompleted = true;
- newBook[BOOK_ITEMID] = book.id;
- listCompleted.append(newBook);
- taskElement.remove();
- updateDataToStorage();
- }
- function createCheckButton() {
- return createButton("check-button", function(event){
- addTaskToCompleted(event.target.parentElement);
- });
- };
- function removeTaskFromCompleted(taskElement /* HTMLELement */) {
- const bookPosition = findBookIndex(taskElement[BOOK_ITEMID]);
- books.splice(bookPosition, 1);
- taskElement.remove();
- updateDataToStorage();
- }
- function createTrashButton() {
- return createButton("trash-button", function(event) {
- removeTaskFromCompleted(event.target.parentElement);
- });
- }
- function undoTaskFromCompleted(taskElement ) {
- const listUncompleted = document.getElementById(UNCOMPLETED_LIST_BOOK_ID);
- const taskTitle = taskElement.querySelector(".inner > h2").innerText;
- const taskTimestamp = taskElement.querySelector(".inner > p").innerText;
- const taskWrite = taskElement.querySelector(".inner > p").innerText;
- const newBook = makeBook(taskTitle, taskTimestamp, taskWrite, false);
- const book = findBook(taskElement[BOOK_ITEMID]);
- book.isCompleted = false;
- newBook[BOOK_ITEMID] = book.id;
- listUncompleted.append(newBook);
- taskElement.remove();
- updateDataToStorage();
- };
- function createUndoButton(){
- return createButton("undo-button", function(event) {
- undoTaskFromCompleted(event.target.parentElement);
- });
- }
Add Comment
Please, Sign In to add comment