merchantSetup.js 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. let state = 0;
  2. let data = {};
  3. let addIngredients = document.querySelector("#addIngredients");
  4. let newIngredients = document.querySelector("#newIngredients");
  5. let existingIngredientElements = [];
  6. let newIngredientElements = [];
  7. let updateState = (num)=>{
  8. state += num;
  9. if(state === 0){
  10. addIngredients.style.display = "flex";
  11. newIngredients.style.display = "none";
  12. }else if(state === 1){
  13. addIngredients.style.display = "none";
  14. newIngredients.style.display = "flex";
  15. }else if(state === 2){
  16. collectNewIngredients();
  17. }
  18. }
  19. let populateIngredients = ()=>{
  20. let tBody = document.createElement("tbody");
  21. for(let ingredient of ingredients){
  22. let row = document.createElement("tr");
  23. row.id = ingredient._id;
  24. let add = document.createElement("td");
  25. let checkbox = document.createElement("input");
  26. checkbox.type = "checkbox";
  27. add.appendChild(checkbox);
  28. row.appendChild(add);
  29. let name = document.createElement("td");
  30. name.innerText = ingredient.name;
  31. row.appendChild(name);
  32. let category = document.createElement("td");
  33. category.innerText = ingredient.category;
  34. row.appendChild(category);
  35. let quantity = document.createElement("td");
  36. let quantityInput = document.createElement("input");
  37. quantityInput.type = "number";
  38. quantityInput.step = "0.01";
  39. quantityInput.min = "0";
  40. quantity.appendChild(quantityInput);
  41. row.appendChild(quantity);
  42. let unit = document.createElement("td");
  43. unit.innerText = ingredient.unitType;
  44. row.appendChild(unit);
  45. let idField = document.createElement("input");
  46. idField.type = "hidden";
  47. idField.value = ingredient._id;
  48. tBody.appendChild(row);
  49. let oldTBody = document.querySelector("#ingredient-display tbody");
  50. oldTBody.parentNode.replaceChild(tBody, oldTBody);
  51. existingIngredientElements.push(row);
  52. }
  53. }
  54. let newIngredientField = ()=>{
  55. let inputField = document.querySelector("#inputField");
  56. let row = document.createElement("tr");
  57. let name = document.createElement("td");
  58. let nameInput = document.createElement("input");
  59. nameInput.type = "text";
  60. name.appendChild(nameInput);
  61. row.appendChild(name);
  62. let category = document.createElement("td");
  63. let categoryInput = document.createElement("input");
  64. categoryInput.type = "text"
  65. category.appendChild(categoryInput);
  66. row.appendChild(category);
  67. let quantity = document.createElement("td");
  68. let quantityInput = document.createElement("input");
  69. quantityInput.type = "number";
  70. quantityInput.step = "0.01";
  71. quantity.appendChild(quantityInput);
  72. row.appendChild(quantity);
  73. let unit = document.createElement("td");
  74. let unitInput = document.createElement("input");
  75. unitInput.type = "text";
  76. unit.appendChild(unitInput);
  77. row.appendChild(unit);
  78. inputField.appendChild(row);
  79. newIngredientElements.push(row);
  80. }
  81. populateIngredients();
  82. updateState(0);