www/js/rec_edit.js

changeset 146
2a6c00d325b2
parent 145
2662720e1949
child 147
e6e5d007eb54
--- a/www/js/rec_edit.js	Sun Dec 16 13:53:48 2018 +0100
+++ b/www/js/rec_edit.js	Mon Dec 17 13:46:15 2018 +0100
@@ -502,7 +502,9 @@
 				var container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");
 				toolbar.append(container);
 				container.append('<div style="float: left; margin-left: 165px;" id="faddrowbutton"></div>');
-				container.append('<input style="float: left; margin-left: 505px;" id="fdeleterowbutton" type="button" value="Verwijder mout" />');
+				container.append('<div style="float: left; margin-left: 10px; margin-top: 5px;">In voorraad:</div>');
+				container.append('<div style="float: left; margin-left: 10px;" id="finstockbutton"></div>');
+				container.append('<input style="float: left; margin-left: 400px;" id="fdeleterowbutton" type="button" value="Verwijder mout" />');
 				// add fermentable from dropdownlist.
 				$("#faddrowbutton").jqxDropDownList({
 					placeHolder: "Kies mout:",
@@ -561,6 +563,12 @@
 					}
 				});
 
+				$("#finstockbutton").jqxCheckBox({ theme: theme, height: 27 });
+				$("#finstockbutton").on('change', function (event) {
+					fermentableinstock = event.args.checked;
+					fermentablelist.dataBind();
+				});
+
 				// delete selected fermentable.
 				$("#fdeleterowbutton").jqxButton({ theme: theme, height: 27, width: 150 });
 				$("#fdeleterowbutton").on('click', function () {
@@ -802,7 +810,9 @@
                                 var container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");
                                 toolbar.append(container);
                                 container.append('<div style="float: left; margin-left: 165px;" id="haddrowbutton"></div>');
-                                container.append('<input style="float: left; margin-left: 230px;" id="hdeleterowbutton" type="button" value="Verwijder hop" />');
+				container.append('<div style="float: left; margin-left: 10px; margin-top: 5px;">In voorraad:</div>');
+				container.append('<div style="float: left; margin-left: 10px;" id="hinstockbutton"></div>');
+                                container.append('<input style="float: left; margin-left: 280px;" id="hdeleterowbutton" type="button" value="Verwijder hop" />');
                                 // add hop from dropdownlist.
                                 $("#haddrowbutton").jqxDropDownList({
                                         placeHolder: "Kies hop:",
@@ -844,6 +854,12 @@
                                         }
                                 });
 
+				$("#hinstockbutton").jqxCheckBox({ theme: theme, height: 27 });
+				$("#hinstockbutton").on('change', function (event) {
+					hopinstock = event.args.checked;
+					hoplist.dataBind();
+				});
+
                                 // delete selected hop.
                                 $("#hdeleterowbutton").jqxButton({ theme: theme, height: 27, width: 150 });
                                 $("#hdeleterowbutton").on('click', function () {
@@ -870,17 +886,14 @@
 				{ text: 'Vorm', editable: false, width: 90, align: 'center', cellsalign: 'center', datafield: 'h_form' },
                                 { text: 'Alpha', editable: false, datafield: 'h_alpha', width: 80, align: 'right', cellsalign: 'right', cellsformat: 'p1' },
 				{ text: 'Amount', hidden: true, datafield: 'h_amount' },
-				{ text: 'Gewicht gr', datafield: 'h_weight', width: 120, align: 'right', cellsalign: 'right',
+				{ text: 'Gewicht gr', datafield: 'h_weight', width: 120, align: 'right', cellsalign: 'right', cellsformat: 'f1',
 				  columntype: 'numberinput',
 				  cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) {
 					return "<div style='margin: 4px;' class='jqx-right-align'>" + dataAdapter.formatNumber(value, "f1") + " gr</div>";
 				  },
 				  initeditor: function (row, cellvalue, editor, celltext, pressedChar) {
 					editor.jqxNumberInput({
-						inputMode: 'simple',
-						symbol: ' gr', symbolPosition: 'right',
-						decimalDigits: 1,
-						min: 0, max: parseFloat(dataRecord.batch_size * 200),
+						inputMode: 'simple', decimalDigits: 1, min: 0, max: parseFloat(dataRecord.batch_size * 200),
 						spinButtons: false
 					});
 				  },
@@ -1008,7 +1021,9 @@
                                 var container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");
                                 toolbar.append(container);
                                 container.append('<div style="float: left; margin-left: 165px;" id="maddrowbutton"></div>');
-                                container.append('<input style="float: left; margin-left: 230px;" id="mdeleterowbutton" type="button" value="Verwijder ingredient" />');
+				container.append('<div style="float: left; margin-left: 10px; margin-top: 5px;">In voorraad:</div>');
+				container.append('<div style="float: left; margin-left: 10px;" id="minstockbutton"></div>');
+                                container.append('<input style="float: left; margin-left: 200px;" id="mdeleterowbutton" type="button" value="Verwijder ingredient" />');
                                 // add misc from dropdownlist.
                                 $("#maddrowbutton").jqxDropDownList({
                                         placeHolder: "Kies ingredient:",
@@ -1017,7 +1032,8 @@
                                         displayMember: "name",
                                         width: 150,
                                         height: 27,
-                                        dropDownWidth: 300
+                                        dropDownWidth: 500,
+					dropDownHeight: 500
                                 });
                                 $("#maddrowbutton").on('select', function (event) {
                                         if (event.args) {
@@ -1035,6 +1051,11 @@
                                                 var commit = $("#miscGrid").jqxGrid('addrow', null, row);
                                         }
                                 });
+				$("#minstockbutton").jqxCheckBox({ theme: theme, height: 27 });
+				$("#minstockbutton").on('change', function (event) {
+					miscinstock = event.args.checked;
+					misclist.dataBind();
+				});
                                 // delete selected misc.
                                 $("#mdeleterowbutton").jqxButton({ theme: theme, height: 27, width: 150 });
                                 $("#mdeleterowbutton").on('click', function () {
@@ -1150,7 +1171,8 @@
 				{ name: 'y_max_temperature', type: 'float' },
 				{ name: 'y_attenuation', type: 'float' },
                                 { name: 'y_amount_is_weight', type: 'bool' },
-				{ name: 'y_use', type: 'string' }
+				{ name: 'y_use', type: 'string' },
+				{ name: 'y_weight', type: 'float' }
                         ],
                         addrow: function (rowid, rowdata, position, commit) {
                                 commit(true);
@@ -1159,7 +1181,23 @@
                                 commit(true);
                         }
                 };
-                var yeastAdapter = new $.jqx.dataAdapter(yeastSource);
+                var yeastAdapter = new $.jqx.dataAdapter(yeastSource, {
+			 beforeLoadComplete: function (records) {
+				var data = new Array();
+				for (var i = 0; i < records.length; i++) {
+					var row = records[i];
+					if (row.y_form == 'Liquid')
+						row.y_weight = Math.round(row.y_amount * 17);
+					else
+						row.y_weight = row.y_amount * 1000;
+					data.push(row);
+				}
+				return data;
+			},
+			loadError: function(jqXHR, status, error) {
+				$('#err').text(status + ' ' + error);
+			},
+		});
                 $("#yeastGrid").jqxGrid({
                         width: 1050,
                         height: 300,
@@ -1175,6 +1213,8 @@
                                 var container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");
                                 toolbar.append(container);
                                 container.append('<div style="float: left; margin-left: 165px;" id="yaddrowbutton"></div>');
+				container.append('<div style="float: left; margin-left: 10px; margin-top: 5px;">In voorraad:</div>');
+				container.append('<div style="float: left; margin-left: 10px;" id="yinstockbutton"></div>');
                                 container.append('<input style="float: left; margin-left: 230px;" id="ydeleterowbutton" type="button" value="Verwijder gist" />');
                                 // add yeast from dropdownlist.
                                 $("#yaddrowbutton").jqxDropDownList({
@@ -1213,9 +1253,15 @@
 						row["y_min_temperature"] = datarecord.min_temperature;
 						row["y_max_temperature"] = datarecord.max_temperature;
 						row["y_attenuation"] = datarecord.attenuation;
+						row["y_weight"] = 0;
                                                 var commit = $("#yeastGrid").jqxGrid('addrow', null, row);
                                         }
                                 });
+				$("#yinstockbutton").jqxCheckBox({ theme: theme, height: 27 });
+				$("#yinstockbutton").on('change', function (event) {
+					yeastinstock = event.args.checked;
+					yeastlist.dataBind();
+				});
                                 // delete selected yeast.
                                 $("#ydeleterowbutton").jqxButton({ theme: theme, height: 27, width: 150 });
                                 $("#ydeleterowbutton").on('click', function () {
@@ -1246,30 +1292,28 @@
 				  }
 				},
 				{ datafield: 'y_amount', width: 90 },
-                                { text: 'Hoeveel', datafield: 'amount', width: 110, align: 'right', cellsalign: 'right', columntype: 'numberinput',
+                                { text: 'Hoeveel', datafield: 'y_weight', width: 110, align: 'right', cellsalign: 'right',
+				  cellsformat: 'f1', columntype: 'numberinput',
 				  cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) {
 					if (rowdata.y_form == 'Liquid') {
-						var hoeveel = rowdata.y_amount * 17;
-						return "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(hoeveel, "f0")+" pk</div>";
+						return "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(value, "f0")+" pk</div>";
 					} else if (rowdata.y_form == 'Dry') {
-						var hoeveel = rowdata.y_amount * 1000;
-						return "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(hoeveel, "f1")+" gr</div>";
+						return "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(value, "f1")+" gr</div>";
 					} else {
-						var hoeveel = rowdata.y_amount * 1000;
-						return "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(hoeveel, "f0")+" ml</div>";
+						return "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(value, "f0")+" ml</div>";
 					}
 				  },
 				  initeditor: function (row, cellvalue, editor, celltext, pressedChar) {
 					var form = $("#yeastGrid").jqxGrid('getcellvalue', args.rowindex, 'y_form');
-					if (form == 'Liquid') {
-						editor.jqxNumberInput({ decimalDigits: 0, min: 0 });
+					if (form == 'Dry') {
+						editor.jqxNumberInput({ decimalDigits: 1, min: 0, spinButtons: false });
 					} else {
-						editor.jqxNumberInput({ decimalDigits: 1, min: 0 });
+						editor.jqxNumberInput({ decimalDigits: 0, min: 0, spinButtons: false });
 					}
 				  },
                                   validation: function (cell, value) {
                                         if (value < 0 || value > 100000000000 ) {
-                                                return { result: false, message: "Volume moet  0-~ zijn" };
+                                                return { result: false, message: "Hoeveelheid moet 0-~ zijn" };
                                         }
                                         return true;
                                   }
@@ -1279,14 +1323,13 @@
 		$("#yeastGrid").on('cellendedit', function (event) {
 			var args = event.args;
 			console.log("Event Type: cellendedit, Column: " + args.datafield + ", Row: " + (args.rowindex) + ", Value: " + args.value);
-			if (args.datafield == 'amount') {
+			$("#yeastGrid").jqxGrid('setcellvalue', args.rowindex, args.datafield, args.value);
+			if (args.datafield == 'y_weight') {
 				var form = $("#yeastGrid").jqxGrid('getcellvalue', args.rowindex, 'y_form');
 				if (form == 'Liquid')
 					$("#yeastGrid").jqxGrid('setcellvalue', args.rowindex, 'y_amount', parseFloat(args.value * 0.0588));
 				else
 					$("#yeastGrid").jqxGrid('setcellvalue', args.rowindex, 'y_amount', parseFloat(args.value / 1000));
-			} else {
-				$("#yeastGrid").jqxGrid('setcellvalue', args.rowindex, args.datafield, args.value);
 			}
 		});
         };
@@ -1331,7 +1374,9 @@
 				var container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");
 				toolbar.append(container);
 				container.append('<div style="float: left; margin-left: 165px;" id="waddrowbutton"></div>');
-				container.append('<input style="float: left; margin-left: 230px;" id="wdeleterowbutton" type="button" value="Verwijder water" />');
+				container.append('<div style="float: left; margin-left: 10px; margin-top: 5px;">In voorraad:</div>');
+				container.append('<div style="float: left; margin-left: 10px;" id="winstockbutton"></div>');
+				container.append('<input style="float: left; margin-left: 200px;" id="wdeleterowbutton" type="button" value="Verwijder water" />');
 				// add water from dropdownlist.
 				$("#waddrowbutton").jqxDropDownList({
 					placeHolder: "Kies water:",
@@ -1340,7 +1385,8 @@
 					displayMember: "name",
 					width: 150,
 					height: 27,
-					dropDownWidth: 300
+					dropDownWidth: 400,
+					dropDownHeight: 400
 				});
 				$("#waddrowbutton").on('select', function (event) {
 					if (event.args) {
@@ -1360,7 +1406,11 @@
 						var commit = $("#waterGrid").jqxGrid('addrow', null, row);
 					}
 				});
-
+				$("#winstockbutton").jqxCheckBox({ theme: theme, height: 27 });
+				$("#winstockbutton").on('change', function (event) {
+					waterinstock = event.args.checked;
+					waterlist.dataBind();
+				});
 				// delete selected water.
 				// Overgebleven waters in volume verhogen met het verwijderde water.
 				$("#wdeleterowbutton").jqxButton({ theme: theme, height: 27, width: 150 });

mercurial