Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function solve() {
- // sample input:
- //[{"name": "Sofa",
- // "img": "https://res.cloudinary.com/maisonsdumonde/image/upload/q_auto,f_auto/w_200/img/grey-3-seater-sofa-bed-200-13-0-175521_9.jpg",
- // "price": 150,
- // "decFactor": 1.2}]
- let boughtFrn = [];
- let totalPrice = 0;
- let decArr = [0, 0]; //[sum, counter]
- let tBodyEl = document.querySelector(".table tbody");
- let input = document.querySelector("#exercise textarea");
- let ouputArea = document.querySelectorAll("#exercise textarea")[1];
- let BtnGenerate = document.querySelector("#exercise button");
- let buyBtn = document.querySelectorAll("#exercise button")[1];
- buyBtn.addEventListener("click", onBuy);
- function onBuy(ev) {
- let outpTxt = "";
- outpTxt += `Bought furniture: ${boughtFrn.join(", ")}\n`;
- outpTxt += `Total price: ${totalPrice.toFixed(2)}\n`;
- outpTxt += `Average decoration factor: ${decArr[0] / decArr[1]}`;
- ouputArea.value = outpTxt;
- }
- BtnGenerate.addEventListener("click", generate);
- function generate(event) {
- let inputTxt = JSON.parse(input.value);
- for (let furnData of inputTxt) {
- let name = furnData.name;
- let price = furnData.price;
- let img = furnData.img;
- let dec = furnData.decFactor;
- furnFactory(name, img, price, dec);
- }
- }
- function furnFactory(nameFurn, imgSrc, priceFrn, decF) {
- let newRow = document.createElement("tr");
- let newTd1 = document.createElement("td");
- let newImgTag = document.createElement("img");
- newImgTag.src = imgSrc;
- newTd1.appendChild(newImgTag);
- newRow.appendChild(newTd1);
- let newTd2 = document.createElement("td");
- let newP2 = document.createElement("p");
- newP2.textContent = nameFurn;
- newTd2.appendChild(newP2);
- newRow.appendChild(newTd2);
- let newTd3 = document.createElement("td");
- let newP3 = document.createElement("p");
- newP3.textContent = priceFrn;
- newTd3.appendChild(newP3);
- newRow.appendChild(newTd3);
- let newTd4 = document.createElement("td");
- let newP4 = document.createElement("p");
- newP4.textContent = decF;
- newTd4.appendChild(newP4);
- newRow.appendChild(newTd4);
- let newTd5 = document.createElement("td");
- let newInp = document.createElement("input");
- newInp.type = "checkbox";
- newInp.addEventListener("change", onCheck);
- newTd5.appendChild(newInp);
- newRow.appendChild(newTd5);
- tBodyEl.appendChild(newRow);
- function onCheck(ev) {
- if (ev.target.checked == true) {
- boughtFrn.push(nameFurn);
- totalPrice += Number(priceFrn);
- decArr[0] += Number(decF);
- decArr[1]++;
- console.log(boughtFrn, totalPrice, decArr);
- } else {
- if (boughtFrn.includes(nameFurn)) {
- let idx = boughtFrn.indexOf(nameFurn);
- boughtFrn.splice(idx, 1);
- totalPrice -= Number(priceFrn);
- decArr[0] -= Number(decF);
- decArr[1]--;
- console.log(boughtFrn, totalPrice, decArr);
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement