Переглянути джерело

Update the state for uploading spreadsheets.

Lee Morgan 5 роки тому
батько
коміт
a6aef3f336

+ 40 - 34
views/dashboardPage/bundle.js

@@ -120,7 +120,7 @@ const Transaction = require("./Transaction.js");
 const Order = require("./Order.js");
 
 const home = require("../strands/home.js");
-const ingredients = require("../strands/ingredients.js");
+const ingredientsStrand = require("../strands/ingredients.js");
 const recipeBook = require("../strands/recipeBook");
 const analytics = require("../strands/analytics.js");
 const orders = require("../strands/orders");
@@ -283,32 +283,40 @@ class Merchant{
     }
 
     /*
-    ingredient: {
-        _id: String,
-        name: String,
-        category: String,
-        unitType: String,
-        specialUnit: String || undefined,
-        unitSize: Number || undefined
-    }
-    quantity: Number
-    defaultUnit: String
+    ingredient: [{
+        ingredient: {
+            _id: String,
+            name: String,
+            category: String,
+            unitType: String,
+            specialUnit: String || undefined,
+            unitSize: Number || undefined
+        }
+        quantity: Number
+        defaultUnit: String
+    }]
     */
-    addIngredient(ingredient, quantity, defaultUnit){
-        const createdIngredient = new Ingredient(
-            ingredient._id,
-            ingredient.name,
-            ingredient.category,
-            ingredient.unitType,
-            defaultUnit,
-            this,
-            ingredient.unitSize
-        );
+    addIngredients(ingredients){
+        for(let i = 0; i < ingredients.length; i++){
+            let ingredient = ingredients[i].ingredient;
+            let quantity = ingredients[i].quantity;
+            let defaultUnit = ingredients[i].defaultUnit;
+
+            const createdIngredient = new Ingredient(
+                ingredient._id,
+                ingredient.name,
+                ingredient.category,
+                ingredient.unitType,
+                defaultUnit,
+                this,
+                ingredient.unitSize
+            );
 
-        const merchantIngredient = new MerchantIngredient(createdIngredient, quantity);
-        this._ingredients.push(merchantIngredient);
+            const merchantIngredient = new MerchantIngredient(createdIngredient, quantity);
+            this._ingredients.push(merchantIngredient);
+        }
 
-        ingredients.populateByProperty();
+        ingredientsStrand.populateByProperty();
     }
 
     removeIngredient(ingredient){
@@ -320,7 +328,7 @@ class Merchant{
         this._ingredients.splice(index, 1);
 
         home.drawInventoryCheckCard();
-        ingredients.populateByProperty();
+        ingredientsStrand.populateByProperty();
     }
 
     getIngredient(id){
@@ -448,7 +456,7 @@ class Merchant{
         }
 
         home.isPopulated = false;
-        ingredients.isPopulated = false;
+        ingredientsStrand.isPopulated = false;
         analytics.newData = true;
     }
 
@@ -484,7 +492,7 @@ class Merchant{
         }
 
         home.isPopulated = false;
-        ingredients.isPopulated = false;
+        ingredientsStrand.isPopulated = false;
         analytics.newData = true;
     }
 
@@ -520,7 +528,7 @@ class Merchant{
             }
         }
 
-        ingredients.isPopulated = false;
+        ingredientsStrand.isPopulated = false;
         orders.isPopulated = false;
     }
 
@@ -541,7 +549,7 @@ class Merchant{
             }
         }
 
-        ingredients.isPopulated = false;
+        ingredientsStrand.isPopulated = false;
         orders.isPopulated = false;
     }
 
@@ -1871,7 +1879,7 @@ let newIngredient = {
                 if(typeof(response) === "string"){
                     controller.createBanner(response, "error");
                 }else{
-                    merchant.addIngredient(response.ingredient, response.quantity, response.defaultUnit);
+                    merchant.addIngredients([response]);
                     controller.openStrand("ingredients");
 
                     controller.createBanner("INGREDIENT CREATED", "success");
@@ -1905,9 +1913,7 @@ let newIngredient = {
                 if(typeof(response) === "string"){
                     controller.createBanner(response, "error");
                 }else{
-                    for(let i = 0; i < response.length; i++){
-                        merchant.addIngredient(response[i].ingredient, response[i].quantity, response[i].defaultUnit);
-                    }
+                    merchant.addIngredients(response);
 
                     controller.createBanner("INGREDIENTS SUCCESSFULLY ADDED", "success");
                     controller.openStrand("ingredients");
@@ -3635,7 +3641,7 @@ let home = {
                     }else{
                         for(let i = 0; i < response.length; i++){
                             merchant.removeIngredient(merchant.getIngredient(response[i].ingredient._id));
-                            merchant.addIngredient(response[i].ingredient, response[i].quantity, response[i].defaultUnit);
+                            merchant.addIngredients(response);
                         }
                         controller.createBanner("INGREDIENTS UPDATED", "success");
                     }

+ 37 - 29
views/dashboardPage/js/classes/Merchant.js

@@ -4,7 +4,7 @@ const Transaction = require("./Transaction.js");
 const Order = require("./Order.js");
 
 const home = require("../strands/home.js");
-const ingredients = require("../strands/ingredients.js");
+const ingredientsStrand = require("../strands/ingredients.js");
 const recipeBook = require("../strands/recipeBook");
 const analytics = require("../strands/analytics.js");
 const orders = require("../strands/orders");
@@ -167,32 +167,40 @@ class Merchant{
     }
 
     /*
-    ingredient: {
-        _id: String,
-        name: String,
-        category: String,
-        unitType: String,
-        specialUnit: String || undefined,
-        unitSize: Number || undefined
-    }
-    quantity: Number
-    defaultUnit: String
+    ingredient: [{
+        ingredient: {
+            _id: String,
+            name: String,
+            category: String,
+            unitType: String,
+            specialUnit: String || undefined,
+            unitSize: Number || undefined
+        }
+        quantity: Number
+        defaultUnit: String
+    }]
     */
-    addIngredient(ingredient, quantity, defaultUnit){
-        const createdIngredient = new Ingredient(
-            ingredient._id,
-            ingredient.name,
-            ingredient.category,
-            ingredient.unitType,
-            defaultUnit,
-            this,
-            ingredient.unitSize
-        );
+    addIngredients(ingredients){
+        for(let i = 0; i < ingredients.length; i++){
+            let ingredient = ingredients[i].ingredient;
+            let quantity = ingredients[i].quantity;
+            let defaultUnit = ingredients[i].defaultUnit;
+
+            const createdIngredient = new Ingredient(
+                ingredient._id,
+                ingredient.name,
+                ingredient.category,
+                ingredient.unitType,
+                defaultUnit,
+                this,
+                ingredient.unitSize
+            );
 
-        const merchantIngredient = new MerchantIngredient(createdIngredient, quantity);
-        this._ingredients.push(merchantIngredient);
+            const merchantIngredient = new MerchantIngredient(createdIngredient, quantity);
+            this._ingredients.push(merchantIngredient);
+        }
 
-        ingredients.populateByProperty();
+        ingredientsStrand.populateByProperty();
     }
 
     removeIngredient(ingredient){
@@ -204,7 +212,7 @@ class Merchant{
         this._ingredients.splice(index, 1);
 
         home.drawInventoryCheckCard();
-        ingredients.populateByProperty();
+        ingredientsStrand.populateByProperty();
     }
 
     getIngredient(id){
@@ -332,7 +340,7 @@ class Merchant{
         }
 
         home.isPopulated = false;
-        ingredients.isPopulated = false;
+        ingredientsStrand.isPopulated = false;
         analytics.newData = true;
     }
 
@@ -368,7 +376,7 @@ class Merchant{
         }
 
         home.isPopulated = false;
-        ingredients.isPopulated = false;
+        ingredientsStrand.isPopulated = false;
         analytics.newData = true;
     }
 
@@ -404,7 +412,7 @@ class Merchant{
             }
         }
 
-        ingredients.isPopulated = false;
+        ingredientsStrand.isPopulated = false;
         orders.isPopulated = false;
     }
 
@@ -425,7 +433,7 @@ class Merchant{
             }
         }
 
-        ingredients.isPopulated = false;
+        ingredientsStrand.isPopulated = false;
         orders.isPopulated = false;
     }
 

+ 2 - 4
views/dashboardPage/js/sidebars/newIngredient.js

@@ -61,7 +61,7 @@ let newIngredient = {
                 if(typeof(response) === "string"){
                     controller.createBanner(response, "error");
                 }else{
-                    merchant.addIngredient(response.ingredient, response.quantity, response.defaultUnit);
+                    merchant.addIngredients([response]);
                     controller.openStrand("ingredients");
 
                     controller.createBanner("INGREDIENT CREATED", "success");
@@ -95,9 +95,7 @@ let newIngredient = {
                 if(typeof(response) === "string"){
                     controller.createBanner(response, "error");
                 }else{
-                    for(let i = 0; i < response.length; i++){
-                        merchant.addIngredient(response[i].ingredient, response[i].quantity, response[i].defaultUnit);
-                    }
+                    merchant.addIngredients(response);
 
                     controller.createBanner("INGREDIENTS SUCCESSFULLY ADDED", "success");
                     controller.openStrand("ingredients");

+ 1 - 1
views/dashboardPage/js/strands/home.js

@@ -264,7 +264,7 @@ let home = {
                     }else{
                         for(let i = 0; i < response.length; i++){
                             merchant.removeIngredient(merchant.getIngredient(response[i].ingredient._id));
-                            merchant.addIngredient(response[i].ingredient, response[i].quantity, response[i].defaultUnit);
+                            merchant.addIngredients(response);
                         }
                         controller.createBanner("INGREDIENTS UPDATED", "success");
                     }