merchantSetup.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  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. populateIngredients();
  13. }else if(state === 1){
  14. collectIngredients();
  15. addIngredients.style.display = "none";
  16. newIngredients.style.display = "flex";
  17. }
  18. }
  19. let populateIngredients = ()=>{
  20. let table = document.querySelector("#ingredient-display");
  21. console.log(ingredients);
  22. for(let ingredient of ingredients){
  23. let row = document.createElement("tr");
  24. row.id = ingredient._id;
  25. let add = document.createElement("td");
  26. let checkbox = document.createElement("input");
  27. checkbox.type = "checkbox";
  28. add.appendChild(checkbox);
  29. row.appendChild(add);
  30. let name = document.createElement("td");
  31. name.innerText = ingredient.name;
  32. row.appendChild(name);
  33. let category = document.createElement("td");
  34. category.innerText = ingredient.category;
  35. row.appendChild(category);
  36. let quantity = document.createElement("td");
  37. let quantityInput = document.createElement("input");
  38. quantityInput.type = "number";
  39. quantityInput.step = "0.01";
  40. quantityInput.min = "0";
  41. quantity.appendChild(quantityInput);
  42. row.appendChild(quantity);
  43. let unit = document.createElement("td");
  44. unit.innerText = ingredient.unitType;
  45. row.appendChild(unit);
  46. let idField = document.createElement("input");
  47. idField.type = "hidden";
  48. idField.value = ingredient._id;
  49. table.appendChild(row);
  50. existingIngredientElements.push(row);
  51. }
  52. }
  53. let collectIngredients = ()=>{
  54. let selectedIngredients = []
  55. for(let ingredient of existingIngredientElements){
  56. if(ingredient.childNodes[0].firstChild.checked){
  57. selectedIngredients.push(ingredient.id);
  58. }
  59. }
  60. data.existing = selectedIngredients;
  61. }
  62. let newIngredientField = ()=>{
  63. let ingredient = document.createElement("div");
  64. ingredient.classList += "input-new";
  65. let name = document.createElement("input");
  66. name.type = "text";
  67. ingredient.appendChild(name);
  68. let category = document.createElement("input");
  69. category.type = "text";
  70. ingredient.appendChild(category);
  71. let quantity = document.createElement("input");
  72. quantity.type = "number";
  73. quantity.step = "0.01";
  74. ingredient.appendChild(quantity);
  75. let unit = document.createElement("input");
  76. unit.type = "text";
  77. ingredient.appendChild(unit);
  78. div.appendChild(ingredient);
  79. newIngredientElements.push(ingredient);
  80. }
  81. updateState(0);