Advertisement
Guest User

Untitled

a guest
Oct 17th, 2022
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve() {
  2.     document.querySelector('#container  button').addEventListener('click', addMove)
  3.  
  4.     function addMove(ev) {
  5.         ev.preventDefault()
  6.         document.querySelector('#archive button').addEventListener('click', clear)
  7.         let [name, hall, ticketPrice] = Array.from(document.querySelectorAll('input'));
  8.         let typeOfPrice = Number(ticketPrice.value);
  9.         const moveSection = document.querySelector('#movies').children[1];
  10.         const archiveSection = document.querySelector('#archive').children[1];
  11.         const createMovie = createEl('li');
  12.         const createArchive = createEl('li');
  13.         const createDiv = createEl('div')
  14.         let tecketsSold = createEl('input', '', 'Tickets Sold');
  15.         if ((name.value != '') && (hall.value != '') && (Number(ticketPrice.value) >= 0)&& (ticketPrice.value != '') && !isNaN(typeOfPrice)) {
  16.             createMovie.appendChild(createEl('span', name.value));
  17.             createMovie.appendChild(createEl('strong', `Hall: ${hall.value}`));
  18.             createDiv.appendChild(createEl('strong', Number(ticketPrice.value).toFixed(2)));
  19.             createDiv.appendChild(tecketsSold);
  20.             createDiv.appendChild(createEl('button', 'Archive', '_', archive))
  21.             createMovie.appendChild(createDiv);
  22.             moveSection.appendChild(createMovie);
  23.         }
  24.         name.value = '';
  25.         hall.value = '';
  26.         ticketPrice.value = '';
  27.    
  28.         function archive(ev) {
  29.             let currentTicketsSold = ev.target.parentElement.children[1].value;
  30.             let currentTicketPrice = ev.target.parentElement.children[0].textContent;
  31.             let totalAmount = Number(currentTicketsSold) * Number(currentTicketPrice);
  32.             if (!isNaN(totalAmount) && (totalAmount >= 0) && currentTicketsSold != '') {
  33.                 createMovie.children[1].textContent = `Total amount: ${totalAmount.toFixed(2)}`;
  34.                 createMovie.children[2].remove();
  35.                 createMovie.appendChild(createEl('button', 'Delete', '_', remove))
  36.                 archiveSection.appendChild(createMovie)
  37.             }
  38.         }
  39.  
  40.         function remove(ev) {
  41.             ev.target.parentElement.remove()
  42.         }
  43.  
  44.         function clear() {
  45.             let children = document.querySelector('#archive ul').children;
  46.             let childrenLength = children.length
  47.             for (let i = 0; i < childrenLength; i++) {
  48.                 children[0].remove()
  49.             }
  50.         }
  51.     }
  52.  
  53.     function createEl(type, content, placeholder, event) {
  54.         const createElement = document.createElement(type);
  55.         createElement.textContent = content;
  56.         if (placeholder && (placeholder != '_')) {
  57.             createElement.placeholder = placeholder;
  58.         }
  59.         if (event) {
  60.             createElement.addEventListener('click', event)
  61.         }
  62.         return createElement
  63.     }
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement