CCCPaste

Exercise: DOM 8. Furniture

function solve() {
  let btns=Array.from(document.getElementsByTagName("button"));
  let btnGenerate=btns[0];
  let btnBuy=btns[1];
  
  let inputField=document.getElementsByTagName("textarea")[0];
  let boughtField=document.getElementsByTagName("textarea")[1];
  let tbl=document.getElementsByTagName("table")[0];
  
  btnGenerate.addEventListener("click", function(){
    let newProductArr=JSON.parse(inputField.value);
    
    newProductArr.forEach(prod => {
      let newRow=document.createElement("tr");

      let imgTd=document.createElement("td");
      let im=document.createElement("img");
      im.src=prod["img"];
      imgTd.appendChild(im);
  
      let nameTd=document.createElement("td");
      nameTd.textContent=prod["name"];;

      let priceTd=document.createElement("td");
      priceTd.textContent=prod["price"];;
  
      let decorationTd=document.createElement("td");
      decorationTd.textContent=prod["decFactor"];
  

      let markTd = document.createElement('input');
      markTd.type = "checkbox";
      markTd.className="chbk";
        
      newRow.appendChild(imgTd);
      newRow.appendChild(nameTd);
      newRow.appendChild(priceTd);
      newRow.appendChild(decorationTd);
      newRow.appendChild(markTd);
      tbl.appendChild(newRow);      
    });
  })
 
 btnBuy.addEventListener("click", function(){
let total=0;
let furnitureBought=[];
let totaldecFr=0;
let chbks=Array.from(document.getElementsByClassName("chbk"));

chbks.forEach(element => {
  if(element.checked){
    furnitureBought.push(element.parentNode.children[1].innerText);
    total+=Number(element.parentNode.children[2].innerText);
    totaldecFr+=Number(element.parentNode.children[3].innerText)
  }
});

    boughtField.value=`Bought furniture: ${furnitureBought.join(", ")}\nTotal price: ${total}\nAverage decoration factor: ${(totaldecFr/furnitureBought.length).toFixed(2)}`
  });

 
}