瀏覽代碼

Update searching/sorting for ingredients

Lee Morgan 6 年之前
父節點
當前提交
5b42412c3a

+ 25 - 0
views/dashboardPage/Merchant.js

@@ -428,6 +428,31 @@ class Merchant{
         return ingredientsByCategory;
     }
 
+    unitizeIngredients(){
+        let ingredientsByUnit = [];
+
+        for(let i = 0; i < this.ingredients.length; i++){
+            let unitExists = false;
+            for(let j = 0; j < ingredientsByUnit.length; j++){
+                if(this.ingredients[i].ingredient.unit === ingredientsByUnit[j].name){
+                    ingredientsByUnit[j].ingredients.push(this.ingredients[i]);
+
+                    unitExists = true;
+                    break;
+                }
+            }
+
+            if(!unitExists){
+                ingredientsByUnit.push({
+                    name: this.ingredients[i].ingredient.unit,
+                    ingredients: [this.ingredients[i]]
+                });
+            }
+        }
+
+        return ingredientsByUnit;
+    }
+
     getRecipesForIngredient(ingredient){
         let recipes = [];
 

+ 3 - 2
views/dashboardPage/components/components.js

@@ -595,12 +595,13 @@ let addIngredientsComp = {
 let ingredientDetailsComp = {
     ingredient: {},
 
-    display: function(ingredient, category){
+    display: function(ingredient){
+        console.log(ingredient);
         this.ingredient = ingredient;
 
         sidebar = document.querySelector("#ingredientDetails");
 
-        document.querySelector("#ingredientDetails p").innerText = category.name;
+        document.querySelector("#ingredientDetails p").innerText = ingredient.ingredient.category;
         document.querySelector("#ingredientDetails h1").innerText = ingredient.ingredient.name;
         document.querySelector("#ingredientStock").innerText = `${ingredient.quantity} ${ingredient.ingredient.unit}`;
         document.querySelector("#ingredientInput").placeholder = `${ingredient.quantity} ${ingredient.ingredient.unit}`;

+ 0 - 35
views/dashboardPage/controller.js

@@ -48,39 +48,4 @@ let openSidebar = (sidebar)=>{
     sidebar.style.display = "flex";
 }
 
-let unitizeIngredients = (ingredients)=>{
-    let ingredientsByUnit = [];
-
-    for(let i = 0; i < ingredients.length; i++){
-        let unitExists = false;
-        for(let j = 0; j < ingredientsByUnit.length; j++){
-            if(ingredients[i].ingredient.unit === ingredientsByUnit[j].name){
-                ingredientsByUnit[j].ingredients.push({
-                    id: ingredients[i].ingredient._id,
-                    name: ingredients[i].ingredient.name,
-                    quantity: ingredients[i].quantity,
-                    unit: ingredients[i].ingredient.unit
-                });
-
-                unitExists = true;
-                break;
-            }
-        }
-
-        if(!unitExists){
-            ingredientsByUnit.push({
-                name: ingredients[i].ingredient.unit,
-                ingredients: [{
-                    id: ingredients[i].ingredient._id,
-                    name: ingredients[i].ingredient.name,
-                    quantity: ingredients[i].quantity,
-                    unit: ingredients[i].ingredient.unit
-                }]
-            })
-        }
-    }
-
-    return ingredientsByUnit;
-}
-
 homeStrandObj.display();

+ 3 - 2
views/dashboardPage/ingredients.js

@@ -15,7 +15,8 @@ window.ingredientsStrandObj = {
         if(property === "category"){
             categories = merchant.categorizeIngredients();
         }else if(property === "unit"){
-            categories = unitizeIngredients(merchant.inventory);
+            categories = merchant.unitizeIngredients();
+            console.log(categories);
         }
         
         let ingredientStrand = document.querySelector("#categoryList");
@@ -40,7 +41,7 @@ window.ingredientsStrandObj = {
 
                 ingredientDiv.children[0].innerText = ingredient.ingredient.name;
                 ingredientDiv.children[2].innerText = `${ingredient.quantity} ${ingredient.ingredient.unit}`;
-                ingredientDiv.onclick = ()=>{ingredientDetailsComp.display(ingredient, categories[i])};
+                ingredientDiv.onclick = ()=>{ingredientDetailsComp.display(ingredient)};
                 ingredientDiv._name = ingredient.ingredient.name.toLowerCase();
                 ingredientDiv._unit = ingredient.ingredient.unit.toLowerCase();