www/js/prod_edit.js

changeset 658
945d5eba869a
parent 655
f4e00869f39f
child 660
0e9a725354ac
--- a/www/js/prod_edit.js	Sat Apr 18 15:56:40 2020 +0200
+++ b/www/js/prod_edit.js	Tue Apr 21 16:11:26 2020 +0200
@@ -1547,6 +1547,7 @@
     calcYeast();
     calcInit();
     calcMash();
+    kookTijd();
     console.log('calculations ready');
     $('#jqxLoader').jqxLoader('close');
     $('#jqxTabs').jqxTabs('first');
@@ -1610,6 +1611,14 @@
  /*
   * Generic functions
   */
+ function kookTijd() {
+  if (dataRecord.boil_time) {
+   $('#brew_pmpt_koken').html('Koken ' + dataRecord.boil_time + ' minuten');
+  } else {
+   $('#brew_pmpt_koken').html('Koken "no-boil"');
+  }
+ }
+
  function calcViability() {
   var vpm = 1.00;
   var max = 100;
@@ -3664,6 +3673,26 @@
    $('#brew_aeration_speed').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
    $('#but_pre_boil').jqxButton({ disabled: true });
    $('#but_after_boil').jqxButton({ disabled: true });
+  } else {
+   if (dataRecord.boil_time == 0) {
+    $('#brew_preboil_ph').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
+    $('#brew_aboil_ph').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
+    $('#brew_preboil_sg').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
+    $('#brew_aboil_sg').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
+    $('#brew_preboil_volume').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
+    $('#brew_aboil_volume').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
+    $('#but_pre_boil').jqxButton({ disabled: true });
+    $('#but_after_boil').jqxButton({ disabled: true });
+   } else {
+    $('#brew_preboil_ph').jqxNumberInput({ spinButtons: true, readOnly: false, width: 110 });
+    $('#brew_aboil_ph').jqxNumberInput({ spinButtons: true, readOnly: false, width: 110 });
+    $('#brew_preboil_sg').jqxNumberInput({ spinButtons: true, readOnly: false, width: 110 });
+    $('#brew_aboil_sg').jqxNumberInput({ spinButtons: true, readOnly: false, width: 110 });
+    $('#brew_preboil_volume').jqxNumberInput({ spinButtons: true, readOnly: false, width: 110 });
+    $('#brew_aboil_volume').jqxNumberInput({ spinButtons: true, readOnly: false, width: 110 });
+    $('#but_pre_boil').jqxButton({ disabled: false });
+    $('#but_after_boil').jqxButton({ disabled: false });
+   }
   }
   if (dataRecord.stage == 5) // Lagering, allow packaging
    $('#package_date').jqxDateTimeInput({ disabled: false });
@@ -3943,17 +3972,42 @@
    calcMash();
   });
   $('#boil_time').on('change', function(event) {
-   console.log('boil_time change:' + parseFloat(event.args.value) + ' old:' + dataRecord.boil_time);
-   var new_boil, new_evap, old_evap = parseFloat(dataRecord.boil_size) - parseFloat(dataRecord.batch_size);
-   new_evap = old_evap * (parseFloat(event.args.value) / dataRecord.boil_time);
-   new_boil = parseFloat(dataRecord.batch_size) + new_evap;
-   dataRecord.boil_time = parseFloat(event.args.value);
-   dataRecord.boil_size = new_boil;
-   $('#est_pre_vol').val(Round(new_boil * 1.04, 2));
-   $('#boil_size').val(Round(new_boil, 2));
+   var new_boil, new_time, old_time, new_evap, old_evap;
+   old_time = parseFloat(dataRecord.boil_time);
+   new_time = parseFloat(event.args.value);
+
+   if (new_time && old_time) {
+    /* normal boiltime change */
+    console.log('boil_time change:' + new_time + ' old:' + old_time);
+    old_evap = parseFloat(dataRecord.boil_size) - parseFloat(dataRecord.batch_size);
+    new_evap = old_evap * (new_time / old_time);
+    new_boil = parseFloat(dataRecord.batch_size) + new_evap;
+    dataRecord.boil_time = new_time;
+    dataRecord.boil_size = new_boil;
+    $('#est_pre_vol').val(Round(new_boil * 1.04, 2));
+    $('#boil_size').val(Round(new_boil, 2));
+   } else if (new_time && ! old_time) {
+    /* from noboil to boil */
+    console.log('boil_time change:' + new_time + ' old: noboil');
+    new_evap = parseFloat($('#eq_evap_rate').jqxNumberInput('decimal')) * new_time / 60;
+    new_boil = parseFloat(dataRecord.batch_size) + new_evap;
+    dataRecord.boil_time = new_time;
+    dataRecord.boil_size = new_boil;
+    $('#est_pre_vol').val(Round(new_boil * 1.04, 2));
+    $('#boil_size').val(Round(new_boil, 2));
+   } else if (! new_time && old_time) {
+    /* from boil to noboil */
+    console.log('boil_time change: noboil, old:' + old_time);
+    dataRecord.boil_time = 0;
+    dataRecord.boil_size = dataRecord.batch_size;
+    $('#est_pre_vol').val(Round(new_boil * 1.04, 2));
+    $('#boil_size').val(Round(dataRecord.boil_size, 2));
+   }
    calcFermentables();
    calcIBUs();
    calcYeast();
+   calcStage();
+   kookTijd();
   });
   $('#efficiency').on('change', function(event) {
    var estog = parseFloat($('#est_og').jqxNumberInput('decimal'));
@@ -4611,7 +4665,7 @@
  $('#batch_size').jqxNumberInput(Spin1dec);
  $('#batch_size').jqxNumberInput({ min: 4 });
  $('#boil_time').jqxNumberInput(PosInt);
- $('#boil_time').jqxNumberInput({ min: 4, max: 360 });
+ $('#boil_time').jqxNumberInput({ min: 0, max: 360 });
  $('#boil_size').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 90, height: 23, decimalDigits: 2, readOnly: true });
  $('#st_guide,#st_name,#st_type,#st_category').jqxInput({ theme: theme, width: 250, height: 23 });
  $('#est_og').jqxNumberInput(SGopts);
@@ -4648,7 +4702,7 @@
  $('#eq_top_up_water').jqxTooltip({ content: 'Extra water in het gistvat.' });
  $('#eq_trub_chiller_loss').jqxTooltip({ content: 'Standaard verlies bij het overbrengen naar het gistvat.' });
  $('#eq_evap_rate').jqxTooltip({ content: 'Verdamping in liters per uur.' });
- $('#eq_boil_time').jqxTooltip({ content: 'Normale kooktijd in minuten.' });
+ $('#eq_boil_time').jqxTooltip({ content: 'Normale kooktijd in minuten, 0 voor no-boil recepten.' });
  $('#eq_top_up_kettle').jqxTooltip({ content: 'Extra water toevoegen tijdens de kook.' });
  $('#eq_hop_utilization').jqxTooltip({ content: '100% voor kleine installaties, hoger voor grote brouwerijen.' });
  $('#eq_notes').jqxTooltip({ content: 'Opmerkingen over deze apparatuur.' });

mercurial