inventory.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. let items = [];
  2. let tbody = document.querySelector("tbody");
  3. let renderIngredients = ()=>{
  4. while(tbody.hasChildNodes()){
  5. tbody.removeChild(tbody.firstChild);
  6. }
  7. for(let item of items){
  8. let row = document.createElement("tr");
  9. tbody.appendChild(row);
  10. let name = document.createElement("td");
  11. name.innerText = item.name;
  12. row.appendChild(name);
  13. let category = document.createElement("td");
  14. category.innerText = item.category;
  15. row.appendChild(category);
  16. let quantity = document.createElement("td");
  17. quantity.innerText = item.quantity;
  18. row.appendChild(quantity);
  19. let unit = document.createElement("td");
  20. unit.innerText = item.unit;
  21. row.appendChild(unit);
  22. }
  23. }
  24. let sortIngredients = (property)=>{
  25. items.sort((a, b) => (a[property] > b[property]) ? 1 : -1);
  26. renderIngredients();
  27. }
  28. let filter = ()=>{
  29. items = [];
  30. let searchString = document.querySelector("#filter").value.toLowerCase();
  31. for(let item of merchant.inventory){
  32. if(item.ingredient.name.toLowerCase().includes(searchString)){
  33. items.push({
  34. name: item.ingredient.name,
  35. category: item.ingredient.category,
  36. quantity: item.quantity,
  37. unit: item.ingredient.unitType
  38. });
  39. }
  40. }
  41. sortIngredients("name");
  42. renderIngredients(items);
  43. }
  44. filter();