Procházet zdrojové kódy

Change bottle units to store base units and not bottles as quantity.
Update edit ingredient sidebar for changes.
Small bug fixes to new ingredient sidebar.

Lee Morgan před 5 roky
rodič
revize
61d045ba1c

+ 5 - 6
views/dashboardPage/js/classes/Merchant.js

@@ -20,19 +20,18 @@ class MerchantIngredient{
 
     get quantity(){
         let convertMultiplier = 1;
-        switch(controller.getBaseUnit(this._ingredient.unit)){
-            case "g":
+        switch(controller.getUnitType(this._ingredient.unit)){
+            case "mass":
                 convertMultiplier = this._ingredient.convert.toMass;
                 break;
-            case "l":
+            case "volume":
                 convertMultiplier = this._ingredient.convert.toVolume;
                 break;
-            case "m":
+            case "length":
                 convertMultiplier = this._ingredient.convert.toLength;
                 break;
             case "bottle":
-                convertMultiplier = this._ingredient.convert.toBottle;
-                break;
+                return this._quantity * this._ingredient.convert.toBottle;
         }
         
         return this._quantity * controller.unitMultiplier(controller.getBaseUnit(this._ingredient.unit), this._ingredient.unit) * convertMultiplier;

+ 10 - 7
views/dashboardPage/js/sidebars/editIngredient.js

@@ -105,18 +105,20 @@ let editIngredient = {
         //update current stock quantity
         let label = {};
         let newValue = 0;
+        let inputId = "";
         if(ingredient.ingredient.unit === "bottle"){
             label = document.getElementById("editSpecialLabel");
             label.innerText = `BOTTLE SIZE (${button.innerText})`;
+            inputId = "editIngQuantity";
             newValue = controller.unitMultiplier(controller.getBaseUnit(ingredient.ingredient.altUnit), button.innerText.toLowerCase()) / ingredient.ingredient.convert.toBottle;
         }else{
             label = document.getElementById("editIngQuantityLabel");
             label.innerText = `CURRENT STOCK (${button.innerText})`;
-            newValue = ingredient.quantity * controller.unitMultiplier(controller.getBaseUnit(ingredient.ingredient.unit), button.innerText.toLowerCase());
+            inputId = "editSpecialInput";
+            newValue = ingredient.quantity * controller.unitMultiplier(ingredient.ingredient.unit, button.innerText.toLowerCase());
         }
         
         let input = document.createElement("input");
-        input.id = "editIngQuantity";
         input.type = "number";
         input.min = "0";
         input.step = "0.01";
@@ -193,7 +195,8 @@ let editIngredient = {
                 convert: {
                     toMass: rightMass / leftMass,
                     toVolume: rightVolume / leftVolume,
-                    toLength: rightLength / leftLength
+                    toLength: rightLength / leftLength,
+                    toBottle: 0
                 }
             },
             quantity: quantity * controller.unitMultiplier(unit, controller.getBaseUnit(unit))
@@ -204,11 +207,11 @@ let editIngredient = {
             case "volume": data.ingredient.convert.toVolume = 1; break;
             case "length": data.ingredient.convert.toLength = 1; break;
             case "bottle":
-                data.ingredient.convert.toMass = controller.toBase(rightMass / leftMass, rightUnitMass);
-                data.ingredient.convert.toVolume = ingredient.ingredient.convert.toVolume;
-                data.ingredient.convert.toLength = controller.toBase(rightLength / leftLength, rightUnitLength);
-                data.quantity = quantity / data.ingredient.convert.toVolume;
+                let bottleQuant = document.getElementById("editSpecialInput").value;
                 data.ingredient.altUnit = selectedUnit;
+                data.ingredient.convert.toVolume = 1;
+                data.ingredient.convert.toBottle = 1 / controller.toBase(bottleQuant, selectedUnit);
+                data.quantity = quantity * controller.toBase(bottleQuant, selectedUnit);
                 break;
         }
 

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

@@ -110,7 +110,8 @@ let newIngredient = {
                 let bottleUnit = document.getElementById("bottleUnits").value;
                 newIngredient.ingredient.altUnit = bottleUnit;
                 newIngredient.ingredient.convert.toVolume = 1;
-                newIngredient.ingredient.convert.toBottle = 1 / controller.toBase((bottleQuant), bottleUnit);
+                newIngredient.ingredient.convert.toBottle = 1 / controller.toBase(bottleQuant, bottleUnit);
+                newIngredient.quantity = quantityValue * controller.toBase(bottleQuant, bottleUnit);
                 break;
         }