diff -r 2c9cfe2f0860 -r 2e4249add363 www/js/prod_edit.js --- a/www/js/prod_edit.js Mon Dec 24 23:10:52 2018 +0100 +++ b/www/js/prod_edit.js Tue Dec 25 13:42:36 2018 +0100 @@ -77,10 +77,6 @@ var MMNaCl = 58.443; var MMCaOH2 = 74.06268; - var old_efficiency; - var old_batch_size; - var old_boil_time; - console.log("record:" + my_record + " return:" + my_return + " theme:" + theme); $("#jqxLoader").jqxLoader({ width: 250, @@ -130,6 +126,7 @@ document.getElementById("bcolor").style.background= scolor; document.getElementById("bcolor2").style.background= scolor; pmalts = mashkg / dataRecord.eq_mash_max * 100; + console.log("mash kg: "+mashkg+" max: "+dataRecord.eq_mash_max+" perc: "+pmalts); $("#perc_malts").jqxProgressBar('val', pmalts); $("#perc_sugars").jqxProgressBar('val', psugar); $("#perc_cara").jqxProgressBar('val', pcara); @@ -142,7 +139,7 @@ var vol, vol1, vol2, sug2; var mass1, mass2, efficiency; - for (j = 1; j < 15; j++) { // Maybe needed if there is equipment, not here. + for (j = 1; j < 15; j++) { vol = 0; sug2 = 0; efficiency = parseFloat(dataRecord.efficiency); @@ -195,6 +192,10 @@ //CalcWaterBalance; }; + function calcABV() { + $("#est_abv").val(abvol(parseFloat($("#est_og").jqxNumberInput('decimal')), parseFloat($("#est_fg").jqxNumberInput('decimal')))); + }; + function hopFlavourContribution(bt, vol, use, amount) { var result; @@ -255,6 +256,15 @@ $("#hop_aroma").jqxProgressBar('val', hop_aroma * 10); }; + function calcSVG() { + var rows = $('#yeastGrid').jqxGrid('getrows'); + for (var i = 0; i < rows.length; i++) { + var row = rows[i]; + if (row.y_use == "Primary") + svg = parseFloat(row.y_attenuation); + } + } + function calcSGendMash() { est_mash_sg = 0; var mvol = 0; // Mash volume @@ -305,8 +315,95 @@ calcSGendMash(); calcMashEfficiency(); + $('#batch_size').on('change', function (event) { + console.log("batch_size change:"+event.args.value+" old:"+dataRecord.batch_size); + var new_boil = parseFloat(event.args.value) + dataRecord.boil_size - dataRecord.batch_size; + dataRecord.boil_size = new_boil; + $("#boil_size").val(Math.round(new_boil * 100) / 100); + dataRecord.batch_size = parseFloat(event.args.value); + calcFermentablesFromOG(parseFloat($("#est_og").jqxNumberInput('decimal'))); // Keep the OG + calcFermentables(); + calcSVG(); + calcABV(); + // TODO: adjust the hops, miscs, yeast, water. + calcIBUs(); + }); + $('#boil_time').on('change', function (event) { + console.log("boil_time change:"+parseFloat(event.args.value)+" old:"+dataRecord.boil_time); + var old_evap = parseFloat(dataRecord.boil_size) - parseFloat(dataRecord.batch_size); + var new_evap = old_evap * (parseFloat(event.args.value) / dataRecord.boil_time); + var new_boil = parseFloat(dataRecord.batch_size) + new_evap; + dataRecord.boil_time = parseFloat(event.args.value); + dataRecord.boil_size = new_boil; + $("#boil_size").val(Math.round(new_boil * 100) / 100); + calcFermentables(); + calcSVG(); + calcABV(); + // TODO: adjust the hops, miscs, yeast, water. + calcIBUs(); + }); + $('#efficiency').on('change', function (event) { + console.log("efficiency change:"+event.args.value); + calcFermentables(); + calcSVG(); + calcABV(); + calcIBUs(); + }); + $('#est_og').on('change', function (event) { + console.log("est_og change:"+event.args.value); + calcFermentablesFromOG(event.args.value); // Adjust fermentables amounts + calcFermentables(); // Update the recipe details + calcSVG(); + calcABV(); // and ABV + calcIBUs(); // and the IBU's. + }); + $('#mash_ph').on('change', function (event) { + dataRecord.mash_ph = parseFloat(event.args.value); + $("#tgt_mash_ph").val(parseFloat(event.args.value)); + // calcWater(); + }); }; + $("#styleSelect").jqxDropDownList({ + placeHolder: "Kies bierstijl:", + theme: theme, + source: styleslist, + displayMember: "name", + width: 150, + height: 27, + dropDownVerticalAlignment: 'top', + dropDownWidth: 500, + dropDownHeight: 380, + renderer: function (index, label, value) { + var datarecord = styleslist.records[index]; + return datarecord.style_guide + " " + datarecord.style_letter+ " " + datarecord.name; + } + }); + $("#styleSelect").on('select', function (event) { + if (event.args) { + var index = event.args.index; + var datarecord = styleslist.records[index]; + $("#st_name").val(datarecord.name); + $("#st_category").val(datarecord.category); + $("#st_category_number").val(datarecord.category_number); + $("#st_letter").val(datarecord.style_letter); + $("#st_guide").val(datarecord.style_guide); + $("#st_type").val(datarecord.type); + $("#st_og_min").val(datarecord.og_min); + $("#st_og_max").val(datarecord.og_max); + $("#st_fg_min").val(datarecord.fg_min); + $("#st_fg_max").val(datarecord.fg_max); + $("#st_ibu_min").val(datarecord.ibu_min); + $("#st_ibu_max").val(datarecord.ibu_max); + $("#st_color_min").val(datarecord.color_min); + $("#st_color_max").val(datarecord.color_max); + $("#st_carb_min").val(datarecord.carb_min); + $("#st_carb_max").val(datarecord.carb_max); + $("#st_abv_min").val(datarecord.abv_min); + $("#st_abv_max").val(datarecord.abv_max); + } + }); + // Equipemnt dropdown list var equipmentUrl = "includes/db_inventory_equipments.php"; var equipmentSource = { @@ -334,6 +431,7 @@ { name: 'kettle_volume', type: 'float' }, { name: 'kettle_height', type: 'float' }, { name: 'mash_volume', type: 'float' }, + { name: 'mash_max', type: 'float' }, { name: 'efficiency', type: 'float' } ], url: equipmentUrl, @@ -359,7 +457,11 @@ var datarecord = equipmentlist.records[index]; $("#eq_name").val(datarecord.name); $("#eq_boil_size").val(datarecord.boil_size); + dataRecord.boil_size = datarecord.boil_size; + $("#boil_size").val(datarecord.boil_size); $("#eq_batch_size").val(datarecord.batch_size); + dataRecord.batch_size = datarecord.batch_size; + $("#batch_size").val(datarecord.batch_size); $("#eq_tun_volume").val(datarecord.tun_volume); dataRecord.eq_tun_weight = datarecord.tun_weight; dataRecord.eq_tun_specific_heat = datarecord.tun_specific_heat; @@ -380,7 +482,18 @@ dataRecord.eq_kettle_height = datarecord.kettle_height / 100.0; $("#eq_mash_volume").val(datarecord.mash_volume); $("#eq_mash_max").val(datarecord.mash_max); + dataRecord.eq_mash_max = datarecord.mash_max; + $("#mash_max").val(datarecord.mash_max); $("#eq_efficiency").val(datarecord.efficiency); + dataRecord.efficiency = datarecord.efficiency; + $("#efficiency").val(datarecord.efficiency); + + calcFermentablesFromOG(parseFloat($("#est_og").jqxNumberInput('decimal'))); // Keep the OG + calcFermentables(); + calcSVG(); + calcABV(); + // TODO: adjust the hops, miscs, yeast, water. + calcIBUs(); } }); @@ -422,12 +535,12 @@ $("#est_ibu2").jqxTooltip({ content: 'De bitterheid in IBU. Dit wordt automatisch berekend.' }); $("#est_abv").jqxTooltip({ content: 'Alcohol volume %. Dit wordt automatisch berekend.' }); $("#est_carb").jqxTooltip({ content: 'Koolzuur volume. Dit wordt automatisch berekend.' }); -// $("#st_name").jqxTooltip({ content: 'De bierstijl naam voor dit recept.'}); -// $("#st_letter").jqxTooltip({ content: 'De bierstijl letter voor dit recept.'}); -// $("#st_guide").jqxTooltip({ content: 'De bierstijl gids voor dit recept.'}); -// $("#st_category").jqxTooltip({ content: 'De Amerikaanse bierstijl categorie.'}); -// $("#st_category_number").jqxTooltip({ content: 'De Amerikaanse bierstijl categorie sub nummer.'}); -// $("#st_type").jqxTooltip({ content: 'Het bierstijl type.'}); + $("#st_name").jqxTooltip({ content: 'De bierstijl naam voor dit recept.'}); + $("#st_letter").jqxTooltip({ content: 'De bierstijl letter voor dit recept.'}); + $("#st_guide").jqxTooltip({ content: 'De bierstijl gids voor dit recept.'}); + $("#st_category").jqxTooltip({ content: 'De Amerikaanse bierstijl categorie.'}); + $("#st_category_number").jqxTooltip({ content: 'De Amerikaanse bierstijl categorie sub nummer.'}); + $("#st_type").jqxTooltip({ content: 'Het bierstijl type.'}); $("#st_og_min").jqxTooltip({ content: 'Het minimum begin SG voor deze bierstijl.'}); $("#st_og_max").jqxTooltip({ content: 'Het maximum begin SG voor deze bierstijl.'}); $("#st_fg_min").jqxTooltip({ content: 'Het minimum eind SG voor deze bierstijl.'}); @@ -718,12 +831,9 @@ $("#st_carb_max").val(dataRecord.st_carb_max); $("#type").val(dataRecord.type); $("#batch_size").val(dataRecord.batch_size); - old_batch_size = dataRecord.batch_size; $("#boil_size").val(dataRecord.boil_size); $("#boil_time").val(dataRecord.boil_time); - old_boil_time = dataRecord.boil_time; $("#efficiency").val(dataRecord.efficiency); - old_efficiency = dataRecord.efficiency; $("#est_og").val(dataRecord.est_og); $("#est_og2").val(dataRecord.est_og); $("#est_fg").val(dataRecord.est_fg); @@ -1690,7 +1800,7 @@ }); }, ready: function() { -// calcSVG(); + calcSVG(); $('#jqxTabs').jqxTabs('next'); }, columns: [ @@ -1903,7 +2013,7 @@ $("#code").jqxInput({ theme: theme, width: 100, height: 23 }); $("#birth").jqxDateTimeInput({ theme: theme, width: 150, height: 23, formatString: 'yyyy-MM-dd' }); $("#stage").jqxInput({ theme: theme, width: 100, height: 23 }); - $("#notes").jqxInput({ theme: theme, width: 960, height: 200 }); + $("#notes").jqxInput({ theme: theme, width: 960, height: 100 }); $("#log_brew").jqxCheckBox({ theme: theme, width: 120, height: 23, disabled : true }); $("#log_fermentation").jqxCheckBox({ theme: theme, width: 120, height: 23, disabled : true }); $("#inventory_reduced").jqxCheckBox({ theme: theme, width: 120, height: 23 }); @@ -1936,7 +2046,7 @@ $("#eq_boil_time").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 70, height: 23, decimalDigits: 0 }); $("#eq_top_up_kettle").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 70, height: 23, decimalDigits: 1 }); $("#eq_hop_utilization").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 70, height: 23, decimalDigits: 0 }); - $("#eq_notes").jqxInput({ theme: theme, width: 800, height: 100 }); + $("#eq_notes").jqxInput({ theme: theme, width: 960, height: 200 }); $("#eq_lauter_volume").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 70, height: 23, decimalDigits: 1 }); $("#eq_lauter_deadspace").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 70, height: 23, decimalDigits: 1 }); $("#eq_kettle_volume").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 70, height: 23, decimalDigits: 1 }); @@ -1981,11 +2091,18 @@ // Packaging // Tasting + $("#st_name").jqxInput({ theme: theme, width: 250, height: 23 }); + $("#st_letter").jqxInput({ theme: theme, width: 100, height: 23 }); + $("#st_guide").jqxInput({ theme: theme, width: 250, height: 23 }); + $("#st_category").jqxInput({ theme: theme, width: 250, height: 23 }); + $("#st_category_number").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 0, readOnly: true }); + $("#st_type").jqxInput({ theme: theme, width: 90, height: 23 }); + $("#type").jqxDropDownList({ theme: theme, source: srcType, width: 125, height: 23, dropDownHeight: 95 }); $("#batch_size").jqxNumberInput({ inputMode: 'simple', spinMode: 'simple', theme: theme, width: 100, height: 23, min: 4, decimalDigits: 1, spinButtons: true, spinButtonsStep: 0.1, symbol: 'L', symbolPosition: 'right' }); $("#boil_size").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 100, height: 23, decimalDigits: 2, readOnly: true, symbol: 'L', symbolPosition: 'right' }); $("#boil_time").jqxNumberInput({ inputMode: 'simple', spinMode: 'simple', theme: theme, width: 100, height: 23, min: 4, max: 360, decimalDigits: 0, spinButtons: true }); $("#efficiency").jqxNumberInput({ inputMode: 'simple', spinMode: 'simple', theme: theme, width: 100, height: 23, min: 40, max: 100, decimalDigits: 0, spinButtons: true, symbol: '%', symbolPosition: 'right' }); - $("#est_og").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 70, height: 23, decimalDigits: 3 }); + $("#est_og").jqxNumberInput({ inputMode: 'simple', spinMode: 'simple', theme: theme, width: 100, height: 23, min: 1.000, max: 1.200, decimalDigits: 3, spinButtons: true, spinButtonsStep: 0.001 }); $("#est_og2").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 100, height: 23, decimalDigits: 3, readOnly: true }); $("#st_og_min").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 3, readOnly: true }); $("#st_og_max").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 3, readOnly: true }); @@ -2185,6 +2302,13 @@ }); // Buttons below + $("#Print").jqxButton({ template: "info", width: '80px', theme: theme }); + $("#Print").click(function () { + // Open print in a new tab. + var url="prod_print.php?record=" + my_record; + window.open(url); + }); + $("#Delete").jqxButton({ template: "danger", width: '80px', theme: theme }); $("#Delete").click(function () { // Open a popup to confirm this action. @@ -2256,12 +2380,12 @@ eq_mash_volume: parseFloat($("#eq_mash_volume").jqxNumberInput('decimal')), eq_mash_max: parseFloat($("#eq_mash_max").jqxNumberInput('decimal')), eq_efficiency: parseFloat($("#eq_efficiency").jqxNumberInput('decimal')), - // st_name: $('#st_name').val(), - // st_letter: $('#st_letter').val(), - // st_guide: $('#st_guide').val(), - // st_type: $('#st_type').val(), - // st_category: $('#st_category').val(), - // st_category_number: parseFloat($("#st_category_number").jqxNumberInput('decimal')), + st_name: $('#st_name').val(), + st_letter: $('#st_letter').val(), + st_guide: $('#st_guide').val(), + st_type: $('#st_type').val(), + st_category: $('#st_category').val(), + st_category_number: parseFloat($("#st_category_number").jqxNumberInput('decimal')), st_og_min: parseFloat($("#st_og_min").jqxNumberInput('decimal')), st_og_max: parseFloat($("#st_og_max").jqxNumberInput('decimal')), st_fg_min: parseFloat($("#st_fg_min").jqxNumberInput('decimal')),