www/js/rec_edit.js

changeset 96
107c12c3e49d
parent 95
8dc0a00b1db4
child 97
22c277be7e7e
--- a/www/js/rec_edit.js	Thu Nov 15 17:17:33 2018 +0100
+++ b/www/js/rec_edit.js	Thu Nov 15 22:22:51 2018 +0100
@@ -44,6 +44,10 @@
 
 $(document).ready(function () {
 
+	var	preboil_sg = 0;
+	var     psugar = 0;     // Percentage real sugars
+	var     pcara = 0;      // Percentage cara/crystal malts
+
 	console.log("record:" + my_record + "  return:" + my_return + "  theme:" + theme);
 
 //	$("#jqxNotification").jqxNotification({ width: "auto", position: "top-right", opacity: 0.9,
@@ -51,33 +55,40 @@
 //		icon: { width: 25, height: 25, url: '../../images/smiley.png', padding: 5 }
 //	});
 
-	function calcFermentables (resize) {
-		console.log("calcFermentables(" + resize + ")");
-		// recalc grid percentages.
-		var t_amount = 0;
+	function calcFermentables() {
+		console.log("calcFermentables()");
+
+//		var rows = $('#fermentableGrid').jqxGrid('getrows');
+
 		var rows = $('#fermentableGrid').jqxGrid('getboundrows');
+		var	sugars = 0;	// Sugar weight
+		psugar = 0;	// Percentage real sugars
+		pcara = 0;	// Percentage cara/crystal malts
 		for (var i = 0; i < rows.length; i++) {
 			var row = rows[i];
-			t_amount += row.f_amount;
-			console.log ("loop: " + i + "  kg:" + row.f_amount + "  pct:" + row.f_percentage + "  adjust:" + row.f_adjust_to_total_100);
+			if (row.f_type == "Sugar")
+				psugar += row.f_percentage;
+			if (row.f_type == "Crystal")
+				pcara += row.f_percentage;
+			var d = row.f_amount * (row.f_yield / 100) * (1 - row.f_moisture / 100);
+			if (row.f_added == "Mash")
+				d = parseFloat($("#efficiency").jqxNumberInput('decimal')) / 100 * d;
+			sugars += d;
+//			console.log("suikers: " + sugars + "  suiker%:" + psugar + "  cara%: " + pcara);
+			// colorw here too
 		}
-		console.log("total:" + t_amount);
-		for (var i = 0; i < rows.length; i++) {
-			var row = rows[i];
-			row.f_percentage = (row.f_amount / t_amount) * 100.0;
-		}
-		// if resize == true resize the malts bill.
-		// if recalc grid malts
-		$('#est_og').val(0);
+		$('#est_og').val(estimate_sg(sugars, parseFloat($("#batch_size").jqxNumberInput('decimal'))));
+		preboil_sg = estimate_sg(sugars, parseFloat($("#boil_size").jqxNumberInput('decimal')));
 	};
 
 	function calcInit () {
 		console.log("calc.init()");
-//		$('#est_og').on('change', function (event) { calcFermentables(true); });
-		$('#efficiency').on('change', function (event) { calcFermentables(true); });
-		$('#batch_size').on('change', function (event) { calcFermentables(true); });
-		$('#boil_time').on('change', function (event) { calcFermentables(true); });
-		$('#fermentableGrid').on('change', function (event) { calcFermentables(false); });
+//		$('#est_og').on('change', function (event) { calcFermentables(); });
+		$('#efficiency').on('change', function (event) { calcFermentables(); });
+		$('#batch_size').on('change', function (event) { calcFermentables(); });
+		$('#boil_time').on('change', function (event) { calcFermentables(); });
+		$('#fermentableGrid').on('change', function (event) { calcFermentables(); });
+		// calcFermentables();
 	};
 
 	// Styles dropdown list
@@ -231,7 +242,7 @@
 			{ name: 'mash_sparge_temp', type: 'float' },
 			{ name: 'mash_ph', type: 'float' },
 			{ name: 'mash_name', type: 'string' },
-			{ name: 'fermentables', type: 'string' },
+			{ name: 'fermentables', type: 'array' },
 			{ name: 'hops', type: 'string' },
 			{ name: 'miscs', type: 'string' },
 			{ name: 'yeasts', type: 'string' },
@@ -288,6 +299,7 @@
 			editYeast(dataRecord);
 			editWater(dataRecord);
 			editMash(dataRecord);
+			$('#jqxTabs').jqxTabs('next');
 		},
 		loadError: function (jqXHR, status, error) {
 		},
@@ -454,6 +466,10 @@
 					}
 				});
 			},
+			ready: function() {
+				calcFermentables();
+				$('#jqxTabs').jqxTabs('next');
+			},
 			columns: [
 				{ text: 'Mout/suiker', editable: false, datafield: 'f_name', 
 				  cellsrenderer:  function (row, columnfield, value, defaulthtml, columnproperties) {
@@ -494,7 +510,7 @@
 			]
 		});
 		$("#fermentableGrid").on('cellendedit', function (event) {
-			calcFermentables(false);
+			calcFermentables();
 			$('#fermentableGrid').jqxGrid('sortby', 'f_amount', 'desc');
 		});
 	};
@@ -624,6 +640,9 @@
                                         }
                                 });
                         },
+			ready: function() {
+				$('#jqxTabs').jqxTabs('next');
+			},
                         columns: [
                                 { text: 'Hop', editable: false, datafield: 'h_name' },
                                 { text: 'Type', editable: false, width: 90, align: 'center', cellsalign: 'center', datafield: 'h_type' },
@@ -759,6 +778,9 @@
                                         }
                                 });
                         },
+			ready: function() {
+				$('#jqxTabs').jqxTabs('next');
+			},
 			columns: [
                                 { text: 'Ingredient', editable: false, datafield: 'm_name' },
                                 { text: 'Type', editable: false, width: 120, align: 'center', cellsalign: 'center', datafield: 'm_type' },
@@ -897,6 +919,9 @@
                                         }
                                 });
                         },
+			ready: function() {
+				$('#jqxTabs').jqxTabs('next');
+			},
                         columns: [
                                 { text: 'Gist', editable: false, datafield: 'y_name' },
 				{ text: 'Laboratorium', editable: false, width: 150, datafield: 'y_laboratory' },
@@ -1026,6 +1051,9 @@
 					}
 				});
 			},
+			ready: function() {
+				$('#jqxTabs').jqxTabs('next');
+			},
 			columns: [
 				{ text: 'Water bron', editable: false, datafield: 'w_name' },
 				{ text: 'Volume', datafield: 'w_amount', width: 80, align: 'right', cellsalign: 'right', cellsformat: 'f1', 
@@ -1129,6 +1157,9 @@
                                         }
                                 });
                         },
+			ready: function() {
+				$('#jqxTabs').jqxTabs('first');
+			},
                         columns: [
 				{ text: 'Stap naam', datafield: 'step_name' },
 			        { text: 'Stap type', datafield: 'step_type', width: 110, columntype: 'dropdownlist',

mercurial