|
@@ -1,10 +1,85 @@
|
|
|
class Ingredient{
|
|
class Ingredient{
|
|
|
- constructor(id, name, category, unitType, unit){
|
|
|
|
|
|
|
+ constructor(id, name, category, unitType, unit, parent){
|
|
|
this.id = id;
|
|
this.id = id;
|
|
|
this.name = name;
|
|
this.name = name;
|
|
|
this.category = category;
|
|
this.category = category;
|
|
|
this.unitType = unitType;
|
|
this.unitType = unitType;
|
|
|
this.unit = unit;
|
|
this.unit = unit;
|
|
|
|
|
+ this.parent = parent;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ convert(unit){
|
|
|
|
|
+ let converted = 0;
|
|
|
|
|
+
|
|
|
|
|
+ if(this.unitType === "mass"){
|
|
|
|
|
+ //change to grams
|
|
|
|
|
+ switch(this.unit){
|
|
|
|
|
+ case "mm": converted = quantity / 1000; break;
|
|
|
|
|
+ case "cm": converted = quantity / 100; break;
|
|
|
|
|
+ case "m": converted = quantity; break;
|
|
|
|
|
+ case "in": converted = quantity / 39.3701; break;
|
|
|
|
|
+ case "ft": converted = quantity / 3.2808; break;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //change to new unit
|
|
|
|
|
+ switch(unit){
|
|
|
|
|
+ case "mm": converted *= 1000; break;
|
|
|
|
|
+ case "cm": converted *= 100; break;
|
|
|
|
|
+ case "m": break;
|
|
|
|
|
+ case "in": converted *= 39.3701; break;
|
|
|
|
|
+ case "ft": converted *= 3.2808; break;
|
|
|
|
|
+ }
|
|
|
|
|
+ }else if(this.unitType === "volume"){
|
|
|
|
|
+ //change to liters
|
|
|
|
|
+ switch(this.unit){
|
|
|
|
|
+ case "ml": converted = quantity / 1000; break;
|
|
|
|
|
+ case "l": converted = quantity; break;
|
|
|
|
|
+ case "tsp": converted = quantity / 202.8842; break;
|
|
|
|
|
+ case "tbsp": converted = quantity / 67.6278; break;
|
|
|
|
|
+ case "ozfl": converted = quantity / 33.8141; break;
|
|
|
|
|
+ case "cup": converted = quantity / 4.1667; break;
|
|
|
|
|
+ case "pt": converted = quantity / 2.1134; break;
|
|
|
|
|
+ case "qt": converted = quantity / 1.0567; break;
|
|
|
|
|
+ case "gal": converted = quantity * 3.7854; break;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //change to new unit
|
|
|
|
|
+ switch(unit){
|
|
|
|
|
+ case "ml": converted *= 1000; break;
|
|
|
|
|
+ case "l": break;
|
|
|
|
|
+ case "tsp": converted *= 202.8842; break;
|
|
|
|
|
+ case "tbsp": converted *= 67.6278; break;
|
|
|
|
|
+ case "ozfl": converted *= 33.8141; break;
|
|
|
|
|
+ case "cup": converted *= 4.1667; break;
|
|
|
|
|
+ case "pt": converted *= 2.1134; break;
|
|
|
|
|
+ case "qt": converted *= 1.0567; break;
|
|
|
|
|
+ case "gal": converted /= 3.7854; break;
|
|
|
|
|
+ }
|
|
|
|
|
+ }else if(this.unitType === "length"){
|
|
|
|
|
+ //change to meters
|
|
|
|
|
+ switch(this.unit){
|
|
|
|
|
+ case "g": converted = quantity; break;
|
|
|
|
|
+ case "kg": converted = quantity * 1000; break;
|
|
|
|
|
+ case "oz": converted = quantity * 28.3495; break;
|
|
|
|
|
+ case "lb": converted = quantity * 453.5924; break;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //change to new unit
|
|
|
|
|
+ switch(unit){
|
|
|
|
|
+ case "g": break;
|
|
|
|
|
+ case "kg": converted = converted / 1000; break;
|
|
|
|
|
+ case "oz": converted = converted / 28.3495; break;
|
|
|
|
|
+ case "lb": converted = converted / 453.5924; break;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ for(let i = 0; i < this.parent.ingredients.length; i++){
|
|
|
|
|
+ if(this === this.parent.ingredients[i]){
|
|
|
|
|
+ this.parent.ingredients[i].quantity = converted;
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ this.unit = unit;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -90,6 +165,7 @@ class Merchant{
|
|
|
oldMerchant.inventory[i].ingredient.category,
|
|
oldMerchant.inventory[i].ingredient.category,
|
|
|
oldMerchant.inventory[i].ingredient.unitType,
|
|
oldMerchant.inventory[i].ingredient.unitType,
|
|
|
oldMerchant.inventory[i].defaultUnit,
|
|
oldMerchant.inventory[i].defaultUnit,
|
|
|
|
|
+ this
|
|
|
),
|
|
),
|
|
|
quantity: oldMerchant.inventory[i].quantity
|
|
quantity: oldMerchant.inventory[i].quantity
|
|
|
});
|
|
});
|
|
@@ -487,79 +563,4 @@ class Merchant{
|
|
|
|
|
|
|
|
return recipes;
|
|
return recipes;
|
|
|
}
|
|
}
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-let convertMass = (quantity, from, to)=>{
|
|
|
|
|
- //change to g
|
|
|
|
|
- let converted = 0;
|
|
|
|
|
- switch(from){
|
|
|
|
|
- case "g": converted = quantity; break;
|
|
|
|
|
- case "kg": converted = quantity * 1000; break;
|
|
|
|
|
- case "oz": converted = quantity * 28.3495; break;
|
|
|
|
|
- case "lb": converted = quantity * 453.5924; break;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- //change to end
|
|
|
|
|
- switch(to){
|
|
|
|
|
- case "g": break;
|
|
|
|
|
- case "kg": converted = converted / 1000; break;
|
|
|
|
|
- case "oz": converted = converted / 28.3495; break;
|
|
|
|
|
- case "lb": converted = converted / 453.5924; break;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- return converted;
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-let convertVolume = (quantity, from, to)=>{
|
|
|
|
|
- //change to l
|
|
|
|
|
- let converted = 0;
|
|
|
|
|
- switch(from){
|
|
|
|
|
- case "ml": converted = quantity / 1000; break;
|
|
|
|
|
- case "l": converted = quantity; break;
|
|
|
|
|
- case "tsp": converted = quantity / 202.8842; break;
|
|
|
|
|
- case "tbsp": converted = quantity / 67.6278; break;
|
|
|
|
|
- case "ozfl": converted = quantity / 33.8141; break;
|
|
|
|
|
- case "cup": converted = quantity / 4.1667; break;
|
|
|
|
|
- case "pt": converted = quantity / 2.1134; break;
|
|
|
|
|
- case "qt": converted = quantity / 1.0567; break;
|
|
|
|
|
- case "gal": converted = quantity * 3.7854; break;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- //change to end
|
|
|
|
|
- switch(to){
|
|
|
|
|
- case "ml": converted *= 1000; break;
|
|
|
|
|
- case "l": break;
|
|
|
|
|
- case "tsp": converted *= 202.8842; break;
|
|
|
|
|
- case "tbsp": converted *= 67.6278; break;
|
|
|
|
|
- case "ozfl": converted *= 33.8141; break;
|
|
|
|
|
- case "cup": converted *= 4.1667; break;
|
|
|
|
|
- case "pt": converted *= 2.1134; break;
|
|
|
|
|
- case "qt": converted *= 1.0567; break;
|
|
|
|
|
- case "gal": converted /= 3.7854; break;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- return converted;
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-let convertLength = (quantity, from, to)=>{
|
|
|
|
|
- //change to m
|
|
|
|
|
- let converted = 0;
|
|
|
|
|
- switch(from){
|
|
|
|
|
- case "mm": converted = quantity / 1000; break;
|
|
|
|
|
- case "cm": converted = quantity / 100; break;
|
|
|
|
|
- case "m": converted = quantity; break;
|
|
|
|
|
- case "in": converted = quantity / 39.3701; break;
|
|
|
|
|
- case "ft": converted = quantity / 3.2808; break;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- //change to end
|
|
|
|
|
- switch(to){
|
|
|
|
|
- case "mm": converted *= 1000; break;
|
|
|
|
|
- case "cm": converted *= 100; break;
|
|
|
|
|
- case "m": break;
|
|
|
|
|
- case "in": converted *= 39.3701; break;
|
|
|
|
|
- case "ft": converted *= 3.2808; break;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- return converted;
|
|
|
|
|
}
|
|
}
|