330 dataRecord.est_ibu = total_ibus; |
330 dataRecord.est_ibu = total_ibus; |
331 $('#est_ibu').val(total_ibus); |
331 $('#est_ibu').val(total_ibus); |
332 $('#est_ibu2').val(total_ibus); |
332 $('#est_ibu2').val(total_ibus); |
333 $("#hop_flavour").jqxProgressBar('val', hop_flavour * 10); |
333 $("#hop_flavour").jqxProgressBar('val', hop_flavour * 10); |
334 $("#hop_aroma").jqxProgressBar('val', hop_aroma * 10); |
334 $("#hop_aroma").jqxProgressBar('val', hop_aroma * 10); |
|
335 }; |
|
336 |
|
337 function adjustHops(factor) { |
|
338 |
|
339 console.log("adjustHops("+factor+")"); |
|
340 |
|
341 var rowscount = $("#hopGrid").jqxGrid('getdatainformation').rowscount; |
|
342 if (rowscount == 0) |
|
343 return; |
|
344 |
|
345 for (var i = 0; i < rowscount; i++) { |
|
346 var row = $("#hopGrid").jqxGrid('getrowdata', i); |
|
347 var amount = row.h_amount * factor; |
|
348 $("#hopGrid").jqxGrid('setcellvalue', i, "h_amount", amount); |
|
349 } |
|
350 }; |
|
351 |
|
352 function adjustMiscs(factor) { |
|
353 |
|
354 console.log("adjustMiscs("+factor+")"); |
|
355 |
|
356 var rowscount = $("#miscGrid").jqxGrid('getdatainformation').rowscount; |
|
357 if (rowscount == 0) |
|
358 return; |
|
359 |
|
360 for (var i = 0; i < rowscount; i++) { |
|
361 var row = $("#miscGrid").jqxGrid('getrowdata', i); |
|
362 var amount = row.m_amount * factor; |
|
363 $("#miscGrid").jqxGrid('setcellvalue', i, "m_amount", amount); |
|
364 switch (row.m_name) { |
|
365 case 'CaCl2': $("#wa_cacl2").val(row.m_amount * 1000); |
|
366 break; |
|
367 case 'CaSO4': $("#wa_caso4").val(row.m_amount * 1000); |
|
368 break; |
|
369 case 'MgSO4': $("#wa_mgso4").val(row.m_amount * 1000); |
|
370 break; |
|
371 case 'NaCl': $("#wa_nacl").val(row.m_amount * 1000); |
|
372 break; |
|
373 case 'Melkzuur': |
|
374 case 'Zoutzuur': |
|
375 case 'Fosforzuur': |
|
376 case 'Zwavelzuur': $("#wa_acid").val(row.m_amount * 1000); |
|
377 break; |
|
378 case 'NaHCO3': |
|
379 case 'Na2CO3': |
|
380 case 'CaCO3': |
|
381 case 'Ca(OH)2': $("#wa_base").val(row.m_amount * 1000); |
|
382 break; |
|
383 } |
|
384 } |
|
385 }; |
|
386 |
|
387 function adjustYeasts(factor) { |
|
388 |
|
389 console.log("adjustYeasts("+factor+")"); |
|
390 |
|
391 var rowscount = $("#yeastGrid").jqxGrid('getdatainformation').rowscount; |
|
392 if (rowscount == 0) |
|
393 return; |
|
394 |
|
395 for (var i = 0; i < rowscount; i++) { |
|
396 var row = $("#yeastGrid").jqxGrid('getrowdata', i); |
|
397 if (row.y_form == 1) { // Only adjust dry yeast |
|
398 var amount = row.y_amount * factor; |
|
399 $("#yeastGrid").jqxGrid('setcellvalue', i, "y_amount", amount); |
|
400 } |
|
401 } |
|
402 }; |
|
403 |
|
404 function adjustWaters(factor) { |
|
405 |
|
406 console.log("adjustWaters("+factor+")"); |
|
407 |
|
408 var rowscount = $("#mashGrid").jqxGrid('getdatainformation').rowscount; |
|
409 if (rowscount == 0) |
|
410 return; |
|
411 |
|
412 mash_infuse = 0; |
|
413 for (var i = 0; i < rowscount; i++) { |
|
414 var row = $("#mashGrid").jqxGrid('getrowdata', i); |
|
415 if (row.step_type == 0) { // Infusion |
|
416 var amount = Math.round(row.step_infuse_amount * factor * 10) / 10; |
|
417 $("#mashGrid").jqxGrid('setcellvalue', i, "step_infuse_amount", amount); |
|
418 mash_infuse += amount; |
|
419 } |
|
420 } |
|
421 if (dataRecord.w2_amount == 0) { |
|
422 dataRecord.w1_amount = mash_infuse; |
|
423 $("#w1_amount").val(mash_infuse); |
|
424 } else { |
|
425 dataRecord.w1_amount = (dataRecord.w1_amount / (dataRecord.w1_amount + dataRecord.w2_amount)) * mash_infuse; |
|
426 dataRecord.w2_amount = (dataRecord.w2_amount / (dataRecord.w1_amount + dataRecord.w2_amount)) * mash_infuse; |
|
427 $("#w1_amount").val(dataRecord.w1_amount); |
|
428 $("#w2_amount").val(dataRecord.w2_amount); |
|
429 } |
335 }; |
430 }; |
336 |
431 |
337 /* function GetBUGUMin() { |
432 /* function GetBUGUMin() { |
338 |
433 |
339 var Result = 0; |
434 var Result = 0; |
1192 calcIBUs(); |
1287 calcIBUs(); |
1193 }); |
1288 }); |
1194 $('#batch_size').on('change', function (event) { |
1289 $('#batch_size').on('change', function (event) { |
1195 console.log("batch_size change:"+event.args.value+" old:"+dataRecord.batch_size); |
1290 console.log("batch_size change:"+event.args.value+" old:"+dataRecord.batch_size); |
1196 var new_boil = parseFloat(event.args.value) + dataRecord.boil_size - dataRecord.batch_size; |
1291 var new_boil = parseFloat(event.args.value) + dataRecord.boil_size - dataRecord.batch_size; |
|
1292 var factor = parseFloat(event.args.value) / dataRecord.batch_size; |
1197 dataRecord.boil_size = new_boil; |
1293 dataRecord.boil_size = new_boil; |
1198 $("#boil_size").val(Math.round(new_boil * 100) / 100); |
1294 $("#boil_size").val(Math.round(new_boil * 100) / 100); |
|
1295 dataRecord.sparge_volume *= factor; |
|
1296 $("#sparge_volume").val(dataRecord.sparge_volume); |
1199 dataRecord.batch_size = parseFloat(event.args.value); |
1297 dataRecord.batch_size = parseFloat(event.args.value); |
1200 calcFermentablesFromOG(parseFloat($("#est_og").jqxNumberInput('decimal'))); // Keep the OG |
1298 calcFermentablesFromOG(parseFloat($("#est_og").jqxNumberInput('decimal'))); // Keep the OG |
|
1299 adjustWaters(factor); |
1201 calcFermentables(); |
1300 calcFermentables(); |
1202 // TODO: adjust the hops, miscs, yeast, water. |
1301 adjustHops(factor); |
|
1302 adjustMiscs(factor); |
|
1303 adjustYeasts(factor); |
1203 calcIBUs(); |
1304 calcIBUs(); |
|
1305 calcWater(); |
|
1306 calcSparge(); |
1204 }); |
1307 }); |
1205 $('#boil_time').on('change', function (event) { |
1308 $('#boil_time').on('change', function (event) { |
1206 console.log("boil_time change:"+parseFloat(event.args.value)+" old:"+dataRecord.boil_time); |
1309 console.log("boil_time change:"+parseFloat(event.args.value)+" old:"+dataRecord.boil_time); |
1207 var old_evap = parseFloat(dataRecord.boil_size) - parseFloat(dataRecord.batch_size); |
1310 var old_evap = parseFloat(dataRecord.boil_size) - parseFloat(dataRecord.batch_size); |
1208 var new_evap = old_evap * (parseFloat(event.args.value) / dataRecord.boil_time); |
1311 var new_evap = old_evap * (parseFloat(event.args.value) / dataRecord.boil_time); |