Advertisement
Guest User

Furniture

a guest
Apr 11th, 2020
640
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve() {
  2.     let buttons = document.getElementsByTagName('button');
  3.     let generateBtn = buttons[0];
  4.     let textAreas = document.getElementsByTagName('textarea');
  5.     let namesOfFurnitures = [];
  6.     let totalPrice = 0;
  7.     let totalDecorations = 0;
  8.     let counter = 0;
  9.  
  10.     generateBtn.addEventListener('click', () => {
  11.         let inputOfFurnitures = textAreas[0].value;
  12.         inputOfFurnitures = JSON.parse(inputOfFurnitures);
  13.  
  14.         for (let i = 0; i < inputOfFurnitures.length; i++) {
  15.             fillUpTableWithFurnitures(inputOfFurnitures[i]);
  16.         }
  17.     });
  18.  
  19.     let buyBtn = buttons[1];
  20.  
  21.     buyBtn.addEventListener('click', () => {
  22.         let inputs = document.getElementsByTagName('input');
  23.         Array.from(inputs);
  24.  
  25.         for (const input of inputs) {
  26.             if (input.checked === true) {
  27.                 let parent = input.parentElement.parentElement.children;
  28.                 let name = parent[1].innerText.trim();
  29.                 let price = +parent[2].innerText;
  30.                 let decorFac = +parent[3].innerText;
  31.  
  32.                 namesOfFurnitures.push(name);
  33.                 totalPrice += price;
  34.                 totalDecorations += decorFac;
  35.                 counter++;
  36.  
  37.                 textAreas[1].value = getOutput(
  38.                     namesOfFurnitures,
  39.                     totalPrice,
  40.                     totalDecorations
  41.                 );
  42.             }
  43.         }
  44.     });
  45.  
  46.     function fillUpTableWithFurnitures(furniture) {
  47.         let tbody = document.getElementsByTagName('tbody')[0];
  48.         let row = tbody.insertRow(-1);
  49.  
  50.         let img = document.createElement('img');
  51.         img.src = furniture.img;
  52.  
  53.         let input = document.createElement('input');
  54.         input.setAttribute('type', 'checkbox');
  55.  
  56.         row.insertCell(0).appendChild(img);
  57.         let p1 = document.createElement('p');
  58.         let p2 = document.createElement('p');
  59.         let p3 = document.createElement('p');
  60.         row.insertCell(1).appendChild(p1).innerHTML = furniture.name;
  61.         row.insertCell(2).appendChild(p2).innerHTML = furniture.price;
  62.         row.insertCell(3).appendChild(p3).innerHTML = furniture.decFactor;
  63.         row.insertCell(4).appendChild(input);
  64.     }
  65.  
  66.     function getOutput(namesOfFurnitures, totalPrice, totalDecorations) {
  67.         // let sum = selectedFunitures['averageDecFac'].reduce((a, b) => a + b, 0);
  68.         let average = totalDecorations / counter;
  69.  
  70.         return (
  71.             `Bought furniture: ${namesOfFurnitures.join(', ')}\n` +
  72.             `Total price: ${totalPrice.toFixed(2)}\n` +
  73.             `Average decoration factor: ${average}`
  74.         );
  75.     }
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement