Recipes editor handles whirlpool hop IBUs.

Sun, 27 Oct 2019 23:06:58 +0100

author
Michiel Broek <mbroek@mbse.eu>
date
Sun, 27 Oct 2019 23:06:58 +0100
changeset 540
756fe9afe72b
parent 539
fe9ac6d49c4f
child 541
df678aa03f4a

Recipes editor handles whirlpool hop IBUs.

www/js/rec_edit.js file | annotate | diff | comparison | revisions
--- a/www/js/rec_edit.js	Sun Oct 27 22:39:28 2019 +0100
+++ b/www/js/rec_edit.js	Sun Oct 27 23:06:58 2019 +0100
@@ -74,6 +74,8 @@
 function hopFlavourContribution(bt, vol, use, amount) {
  var result;
 
+ if (use == 4 || use == 5) // Whirlpool or Dry-hop
+  return 0;
  if (use == 1) {   // First wort
   result = 0.15;   // assume 15% flavourcontribution for fwh
  } else if (bt > 50) {
@@ -92,6 +94,10 @@
 
  if (use == 5) {         // Dry hop
   result = 1.33;
+ } else if (use == 4) { // Whirlpool
+   if (bt > 30)
+    bt = 30; // Max 30 minutes
+   result = 0.62 * bt / 30;
  } else if (bt > 20) {
   result = 0;
  } else if (bt > 7.5) {
@@ -100,8 +106,6 @@
   result = 1;
  } else if (use == 3) {  // Aroma
   result = 1.2;
- } else if (use == 4) {  // Whirlpool
-  result = 1.2;
  }
  return (result * amount * 1000) / vol;
 }
@@ -372,7 +376,7 @@
  for (i = 0; i < rows.length; i++) {
   row = rows[i];
   total_ibus += toIBU(row.h_useat, row.h_form, preboil_sg, parseFloat(dataRecord.batch_size),
-   parseFloat(row.h_amount), parseFloat(row.h_time), parseFloat(row.h_alpha), dataRecord.ibu_method);
+   parseFloat(row.h_amount), parseFloat(row.h_time), parseFloat(row.h_alpha), dataRecord.ibu_method, 0, parseFloat(row.h_time), 0);
   hop_flavour += hopFlavourContribution(parseFloat(row.h_time), parseFloat(dataRecord.batch_size), row.h_useat, parseFloat(row.h_amount));
   hop_aroma += hopAromaContribution(parseFloat(row.h_time), parseFloat(dataRecord.batch_size), row.h_useat, parseFloat(row.h_amount));
  }
@@ -1226,7 +1230,7 @@
      cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) {
       var ibu = toIBU(rowdata.h_useat, rowdata.h_form, preboil_sg, parseFloat($('#batch_size').jqxNumberInput('decimal')),
                       parseFloat(rowdata.h_amount), parseFloat(rowdata.h_time),
-                      parseFloat(rowdata.h_alpha), $('#ibu_method').val());
+                      parseFloat(rowdata.h_alpha), $('#ibu_method').val(), 0, parseFloat(rowdata.h_time), 0);
       return '<span style="margin: 4px; margin-top: 6px; float: right;">' + dataAdapter.formatNumber(ibu, 'f1') + '</span>';
      }
     },
@@ -1260,7 +1264,8 @@
       var ibu = toIBU(hopData.h_useat, hopData.h_form, preboil_sg,
                 parseFloat($('#batch_size').jqxNumberInput('decimal')),
                 parseFloat(hopData.h_amount), parseFloat(hopData.h_time),
-                parseFloat(hopData.h_alpha), $('#ibu_method').val()
+                parseFloat(hopData.h_alpha), $('#ibu_method').val(),
+                0, parseFloat(hopData.h_time), 0
       );
       $('#wh_ibu').val(ibu);
       if (hopData.h_useat == 5)       // Dry hop
@@ -3302,7 +3307,7 @@
  $('#wh_amount').on('change', function(event) {
   var ibu, amount = parseFloat(event.args.value) / 1000;
   ibu = toIBU(hopData.h_useat, hopData.h_form, preboil_sg, parseFloat($('#batch_size').jqxNumberInput('decimal')),
-   amount, parseFloat(hopData.h_time), parseFloat(hopData.h_alpha), $('#ibu_method').val());
+   amount, parseFloat(hopData.h_time), parseFloat(hopData.h_alpha), $('#ibu_method').val(), 0, parseFloat(hopData.h_time), 0);
   hopData.h_amount = amount;
   console.log('amount changed: ' + event.args.value + ' time:' + hopData.h_time + ' alpha:' + hopData.h_alpha + ' IBU:' + ibu);
   $('#wh_ibu').val(ibu);
@@ -3332,7 +3337,7 @@
    hopData.h_time = newtime * 1440;
   }
   ibu = toIBU(hopData.h_useat, hopData.h_form, preboil_sg, parseFloat($('#batch_size').jqxNumberInput('decimal')),
-   parseFloat(hopData.h_amount), parseFloat(hopData.h_time), parseFloat(hopData.h_alpha), $('#ibu_method').val());
+   parseFloat(hopData.h_amount), parseFloat(hopData.h_time), parseFloat(hopData.h_alpha), $('#ibu_method').val(), 0, parseFloat(hopData.h_time), 0);
   $('#wh_ibu').val(ibu);
  });
  $('#wh_useat').jqxDropDownList({

mercurial