transactions.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. window.transactionsStrandObj = {
  2. isPopulated: false,
  3. display: function(){
  4. if(!this.isPopulated){
  5. let transactionsList = document.getElementById("transactionsList");
  6. let template = document.getElementById("transaction").content.children[0];
  7. while(transactionsList.children.length > 0){
  8. transactionsList.removeChild(transactionsList.firstChild);
  9. }
  10. let i = 0
  11. while(i < merchant.transactions.length && i < 100){
  12. let transactionDiv = template.cloneNode(true);
  13. let transaction = merchant.transactions[i];
  14. transactionDiv.onclick = ()=>{transactionDetailsComp.display(transaction)};
  15. transactionsList.appendChild(transactionDiv);
  16. let totalRecipes = 0;
  17. let totalPrice = 0;
  18. for(let j = 0; j < merchant.transactions[i].recipes.length; j++){
  19. totalRecipes += merchant.transactions[i].recipes[j].quantity;
  20. totalPrice += merchant.transactions[i].recipes[j].recipe.price * merchant.transactions[i].recipes[j].quantity;
  21. }
  22. transactionDiv.children[0].innerText = `${merchant.transactions[i].date.toLocaleDateString()} ${merchant.transactions[i].date.toLocaleTimeString()}`;
  23. transactionDiv.children[1].innerText = `${totalRecipes} recipes sold`;
  24. transactionDiv.children[2].innerText = `$${(totalPrice / 100).toFixed(2)}`;
  25. i++;
  26. }
  27. this.isPopulated = true;
  28. }
  29. }
  30. }