Advertisement
Guest User

Untitled

a guest
Feb 21st, 2020
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve() {
  2.  
  3.    let products = document.getElementById('products').children[1];
  4.    let myProducts = document.getElementById('myProducts').children[1];
  5.    let totalPrice = document.querySelector("body > h1:nth-child(4)");
  6.  
  7.    let inputProduct = document.getElementsByTagName('input');
  8.    let inputFilter = inputProduct[0];
  9.    let name = inputProduct[1]
  10.    let quantity = inputProduct[2]
  11.    let price = inputProduct[3]
  12.  
  13.    let buttons = document.getElementsByTagName('button');
  14.    let filterButton = buttons[0];
  15.    let addButton = buttons[1];
  16.    let buyButton = buttons[2];
  17.  
  18.    addButton.addEventListener('click', (e) => {
  19.       e.preventDefault()
  20.  
  21.       let li = document.createElement('li');
  22.       let span = document.createElement('span');
  23.       let strongQuantity = document.createElement('strong');
  24.       let div = document.createElement('div');
  25.       let strongPrice = document.createElement('strong');
  26.       let buttonAddToClienList = document.createElement('button');
  27.  
  28.       span.innerHTML = name.value;
  29.       strongQuantity.innerHTML = 'Available: ' + Number(quantity.value);
  30.  
  31.       strongPrice.innerHTML = Number(price.value).toFixed(2);
  32.       buttonAddToClienList.innerHTML = 'Add to client\`s List'
  33.  
  34.       div.appendChild(strongPrice);
  35.       div.appendChild(buttonAddToClienList);
  36.  
  37.       li.appendChild(span);
  38.       li.appendChild(strongQuantity);
  39.       li.appendChild(div);
  40.  
  41.       products.appendChild(li)
  42.  
  43.       buttonAddToClienList.addEventListener('click', (e) => {
  44.          let currentProduct = e.target.parentNode.parentNode
  45.          let name = currentProduct.children[0].innerHTML;
  46.          let quantity = Number(currentProduct.children[1].innerHTML.split(' ')[1]);
  47.          let price = Number(e.target.parentNode.children[0].innerHTML)
  48.  
  49.          totalPrice.innerHTML = `Total Price: ${(Number(totalPrice.innerHTML.split(' ')[2]) + price).toFixed(2)}`
  50.          currentProduct.children[1].innerHTML = `Available: ${Number(quantity - 1)}`
  51.  
  52.          if (quantity - 1 === 0) {
  53.             currentProduct.remove()
  54.          }
  55.  
  56.          let liMyProducts = document.createElement('li')
  57.          liMyProducts.innerHTML = name
  58.          let strongMyProducts = document.createElement('strong');
  59.          strongMyProducts.innerHTML = price
  60.  
  61.          liMyProducts.appendChild(strongMyProducts)
  62.          myProducts.appendChild(liMyProducts)
  63.       })
  64.    })
  65.  
  66.    buyButton.addEventListener('click', () => {
  67.  
  68.       totalPrice.innerHTML = `Total Price: 00.00`
  69.       myProducts.remove()
  70.    })
  71.  
  72.    filterButton.addEventListener('click', (e) => {
  73.       e.preventDefault()
  74.  
  75.       for (const product of Array.from(products.children)) {
  76.          if (!product.children[0].innerHTML.toLowerCase().includes(inputFilter.value.toLowerCase())) {
  77.             product.style.display = 'none'
  78.          } else {
  79.             product.style.display = 'block'
  80.  
  81.          }
  82.       }
  83.    })
  84.  
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement