diff -r 36cf32fcd210 -r ed22ac46404b www/js/rec_edit.js --- a/www/js/rec_edit.js Sun Feb 10 22:08:01 2019 +0100 +++ b/www/js/rec_edit.js Mon Feb 11 15:26:29 2019 +0100 @@ -334,6 +334,101 @@ $("#hop_aroma").jqxProgressBar('val', hop_aroma * 10); }; + function adjustHops(factor) { + + console.log("adjustHops("+factor+")"); + + var rowscount = $("#hopGrid").jqxGrid('getdatainformation').rowscount; + if (rowscount == 0) + return; + + for (var i = 0; i < rowscount; i++) { + var row = $("#hopGrid").jqxGrid('getrowdata', i); + var amount = row.h_amount * factor; + $("#hopGrid").jqxGrid('setcellvalue', i, "h_amount", amount); + } + }; + + function adjustMiscs(factor) { + + console.log("adjustMiscs("+factor+")"); + + var rowscount = $("#miscGrid").jqxGrid('getdatainformation').rowscount; + if (rowscount == 0) + return; + + for (var i = 0; i < rowscount; i++) { + var row = $("#miscGrid").jqxGrid('getrowdata', i); + var amount = row.m_amount * factor; + $("#miscGrid").jqxGrid('setcellvalue', i, "m_amount", amount); + switch (row.m_name) { + case 'CaCl2': $("#wa_cacl2").val(row.m_amount * 1000); + break; + case 'CaSO4': $("#wa_caso4").val(row.m_amount * 1000); + break; + case 'MgSO4': $("#wa_mgso4").val(row.m_amount * 1000); + break; + case 'NaCl': $("#wa_nacl").val(row.m_amount * 1000); + break; + case 'Melkzuur': + case 'Zoutzuur': + case 'Fosforzuur': + case 'Zwavelzuur': $("#wa_acid").val(row.m_amount * 1000); + break; + case 'NaHCO3': + case 'Na2CO3': + case 'CaCO3': + case 'Ca(OH)2': $("#wa_base").val(row.m_amount * 1000); + break; + } + } + }; + + function adjustYeasts(factor) { + + console.log("adjustYeasts("+factor+")"); + + var rowscount = $("#yeastGrid").jqxGrid('getdatainformation').rowscount; + if (rowscount == 0) + return; + + for (var i = 0; i < rowscount; i++) { + var row = $("#yeastGrid").jqxGrid('getrowdata', i); + if (row.y_form == 1) { // Only adjust dry yeast + var amount = row.y_amount * factor; + $("#yeastGrid").jqxGrid('setcellvalue', i, "y_amount", amount); + } + } + }; + + function adjustWaters(factor) { + + console.log("adjustWaters("+factor+")"); + + var rowscount = $("#mashGrid").jqxGrid('getdatainformation').rowscount; + if (rowscount == 0) + return; + + mash_infuse = 0; + for (var i = 0; i < rowscount; i++) { + var row = $("#mashGrid").jqxGrid('getrowdata', i); + if (row.step_type == 0) { // Infusion + var amount = Math.round(row.step_infuse_amount * factor * 10) / 10; + $("#mashGrid").jqxGrid('setcellvalue', i, "step_infuse_amount", amount); + mash_infuse += amount; + } + } + if (dataRecord.w2_amount == 0) { + dataRecord.w1_amount = mash_infuse; + $("#w1_amount").val(mash_infuse); + } else { + dataRecord.w1_amount = (dataRecord.w1_amount / (dataRecord.w1_amount + dataRecord.w2_amount)) * mash_infuse; + dataRecord.w2_amount = (dataRecord.w2_amount / (dataRecord.w1_amount + dataRecord.w2_amount)) * mash_infuse; + $("#w1_amount").val(dataRecord.w1_amount); + $("#w2_amount").val(dataRecord.w2_amount); + } + }; + /* function GetBUGUMin() { var Result = 0; @@ -1194,13 +1289,21 @@ $('#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; + var factor = parseFloat(event.args.value) / dataRecord.batch_size; dataRecord.boil_size = new_boil; $("#boil_size").val(Math.round(new_boil * 100) / 100); + dataRecord.sparge_volume *= factor; + $("#sparge_volume").val(dataRecord.sparge_volume); dataRecord.batch_size = parseFloat(event.args.value); calcFermentablesFromOG(parseFloat($("#est_og").jqxNumberInput('decimal'))); // Keep the OG + adjustWaters(factor); calcFermentables(); - // TODO: adjust the hops, miscs, yeast, water. + adjustHops(factor); + adjustMiscs(factor); + adjustYeasts(factor); calcIBUs(); + calcWater(); + calcSparge(); }); $('#boil_time').on('change', function (event) { console.log("boil_time change:"+parseFloat(event.args.value)+" old:"+dataRecord.boil_time);