Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function solve() {
- let ul = document.querySelector('#products ul');
- let addButton = document.querySelector('#add-new button');
- function addToMyProducts(e) {
- let productListItem = e.target.parentElement.parentElement;
- let quantityContent = productListItem.children[1].textContent.split(': ');
- let quantity = Number(quantityContent[1])
- if (quantity > 1) {
- quantityContent[1] = Number(quantityContent[1]) - 1;
- productListItem.children[1].textContent = quantityContent.join(': ');
- } else {
- productListItem.style.display = "none"
- }
- let productPrice = Number(productListItem.children[2].children[0].innerHTML);
- totalPriceContent[1] = (Number(totalPriceContent[1]) + productPrice).toFixed(2);
- totalPriceHeader.textContent = totalPriceContent.join(': ')
- let li = document.createElement('li');
- li.textContent = productListItem.children[0].textContent;
- let strong = document.createElement('strong');
- strong.textContent = productListItem.children[2].children[0].textContent;
- li.appendChild(strong);
- myProductsList.appendChild(li);
- }
- function createListItem(product) {
- let li = document.createElement('li');
- let span = document.createElement('span');
- span.textContent = product.Name;
- li.appendChild(span);
- let strong = document.createElement('strong');
- strong.textContent = `Available: ${product.Quantity}`;
- li.appendChild(strong);
- let div = document.createElement('div');
- let innerStrong = document.createElement('strong');
- innerStrong.textContent = product.Price;
- let button = document.createElement('button');
- button.textContent = "Add to Client's List";
- button.addEventListener('click', addToMyProducts)
- div.appendChild(innerStrong);
- div.appendChild(button);
- li.appendChild(div);
- return li;
- }
- function addHandler(e) {
- e.preventDefault();
- let inputs = document.querySelectorAll('#add-new input');
- let product = Array.from(inputs).reduce((acc, x) => {
- if (!acc.hasOwnProperty(x.placeholder)) {
- acc[x.placeholder] = x.value;
- }
- return acc;
- }, {});
- ul.appendChild(createListItem(product))
- for (input of inputs) {
- input.value = '';
- }
- }
- let filterButton = document.querySelector('#products div button');
- addButton.addEventListener("click", addHandler);
- function filterProducts() {
- let filterValue = document.getElementById('filter').value.toLocaleLowerCase();
- document.querySelectorAll('#products ul li').forEach(e => {
- if (!e.children[0].textContent.toLocaleLowerCase().includes(filterValue)) {
- e.style.display = "none"
- }
- })
- }
- filterButton.addEventListener('click', filterProducts);
- let totalPriceHeader = document.getElementsByTagName('h1')[1];
- let totalPriceContent = totalPriceHeader.textContent.split(': ');
- let myProductsList = document.querySelector('#myProducts ul')
- let buyButton = document.querySelector('#myProducts button');
- function buyItems(e) {
- e.preventDefault()
- document.querySelectorAll('#myProducts ul li').innerHTML = '';
- totalPriceHeader.innerHTML = "Total Price: 0.00"
- }
- buyButton.addEventListener('click', buyItems)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement