transactions.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334
  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. for(let i = merchant.transactions.length - 1; i > merchant.transactions.length - 101 ; i--){
  11. let transaction = template.cloneNode(true);
  12. transaction.onclick = ()=>{transactionDetailsComp.display(merchant.transactions[i])};
  13. transactionsList.appendChild(transaction);
  14. let totalRecipes = 0;
  15. let totalPrice = 0;
  16. for(let j = 0; j < merchant.transactions[i].recipes.length; j++){
  17. totalRecipes += merchant.transactions[i].recipes[j].quantity;
  18. totalPrice += merchant.transactions[i].recipes[j].recipe.price * merchant.transactions[i].recipes[j].quantity;
  19. }
  20. transaction.children[0].innerText = `${merchant.transactions[i].date.toLocaleDateString()} ${merchant.transactions[i].date.toLocaleTimeString()}`;
  21. transaction.children[1].innerText = `${totalRecipes} recipes sold`;
  22. transaction.children[2].innerText = `$${(totalPrice / 100).toFixed(2)}`;
  23. }
  24. this.isPopulated = true;
  25. }
  26. }
  27. }