Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2020
349
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import * as data from './mydata.js';
  2. import createElement from './mydom.js';
  3.  
  4. window.addEventListener('load',() => {
  5.     const elements = {
  6.         submitButton() {return document.querySelector('form > button')},
  7.         titleElement() {return document.querySelector('#title')},
  8.         authorElement() {return document.querySelector('#author')},
  9.         isbnElement() {return document.querySelector('#isbn')},
  10.         tableBody() {return document.querySelector('table > tbody')}
  11.     };
  12.  
  13.     elements.submitButton().addEventListener('click', onSubmitButtonClick);
  14.  
  15.     async function onSubmitButtonClick(e) {
  16.         e.preventDefault();
  17.  
  18.         const title = elements.titleElement().value;
  19.         const author = elements.authorElement().value;
  20.         const isbn = elements.isbnElement().value;
  21.  
  22.         if (!title || !author || !isbn) {
  23.             alert('Please fill all fields.');
  24.             return;
  25.         }
  26.  
  27.         const book = {title, author, isbn};
  28.  
  29.         try {
  30.             const created = await data.createBook(book)
  31.             elements.tableBody().appendChild(createBookInTable(created))
  32.         } catch (error) {
  33.             alert(error)
  34.         }
  35.     }
  36.  
  37.     function createBookInTable(book) {
  38.  
  39.         const title = elements.titleElement().value;
  40.         const author = elements.authorElement().value;
  41.         const isbn = elements.isbnElement().value
  42.  
  43.         const editButton = createElement('button');
  44.         editButton.addEventListener('click', 'Edit', () => {
  45.             alert("Edited");
  46.         });
  47.  
  48.         const deleteButton = createElement('button');
  49.         deleteButton.addEventListener('click', 'Delete', () => {
  50.             newBook.remove();
  51.         });
  52.  
  53.         const newBook = createElement('tr', [
  54.             createElement('td', book.title),
  55.             createElement('td', book.author),
  56.             createElement('td', book.isbn),
  57.             createElement('td', [
  58.                 editButton,
  59.                 deleteButton
  60.             ])
  61.         ])
  62.  
  63.         return newBook;
  64.     }
  65. })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement