diff -r a85c1d4c4d12 -r e95d2886f49f www/js/prod_edit.js --- a/www/js/prod_edit.js Mon Feb 04 15:21:49 2019 +0100 +++ b/www/js/prod_edit.js Mon Feb 04 20:30:41 2019 +0100 @@ -1094,22 +1094,22 @@ function calcStage() { var newstage = dataRecord.stage; - - if (newstage < 1 && dataRecord.est_og > 1.005 && dataRecord.est_color > 3 && dataRecord.est_ibu > 3) + /* parseFloat$("#brew_date_start").val()) returns the year if it is a valid mysql style date. */ + if (newstage == 0 && dataRecord.est_og > 1.005 && dataRecord.est_color > 3 && dataRecord.est_ibu > 3) newstage = 1; - if (newstage < 2 && dataRecord.brew_date_start != '') + if (newstage == 1 && parseFloat($("#brew_date_start").val()) > 2000) newstage = 2; // Brewday - if (newstage < 3 && dataRecord.brew_date_end != '') + if (newstage == 2 && parseFloat($("#brew_date_end").val()) > 2000) newstage = 3; // Primary - if (newstage < 4 && dataRecord.primary_end_date != '') + if (newstage == 3 && parseFloat($("#primary_end_date").val()) > 2000) newstage = 4; // Secondary - if (newstage < 5 && dataRecord.secondary_end_date != '') + if (newstage == 4 && parseFloat($("#secondary_end_date").val()) > 2000) newstage = 5; // Tertiary - if (newstage < 6 && dataRecord.package_date != '') + if (newstage == 5 && parseFloat($("#package_date").val()) > 2000) newstage = 6; // Package - if (newstage >= 6 && newstage < 10) { + if (newstage >= 6 && newstage < 9) { var d = new Date(); - var date2 = dataRecord.package_date; + var date2 = $("#package_date").val(); date2 = date2.split('-'); // Now we convert the array to a Date object date1 = new Date(d.getFullYear(), d.getMonth(), d.getDate()); @@ -1121,14 +1121,16 @@ var timeDifference = date1_unixtime - date2_unixtime; var timeDifferenceInDays = timeDifference / 60 / 60 / 24; console.log(date1+' '+date2+' days: '+timeDifferenceInDays); - if (newstage < 7 && timeDifferenceInDays < 14) // Carbonation period - newstage = 7; - else if (newstage < 8 && timeDifferenceInDays < 42) // Mature 6 weeks - newstage = 8; - else - newstage = 9; + if (timeDifferenceInDays > 0) { // At least one day + if (timeDifferenceInDays >= 42) // 6 weeks + newstage = 9; // Ready to taste + else if (timeDifferenceInDays >= 14) // 14 days + newstage = 8; // Mature + else + newstage = 7; // Carbonation + } } - if (newstage < 10 && dataRecord.taste_date != '') + if (newstage == 9 && parseFloat($("#taste_date").val()) > 2000) newstage = 10; // Ready if (newstage > dataRecord.stage) { @@ -1163,7 +1165,7 @@ } else { $('#jqxTabs').jqxTabs('enableAt', 9); } - if (dataRecord.stage < 4) { // At least primary + if (dataRecord.stage < 5) { // At least secondary $('#jqxTabs').jqxTabs('disableAt', 10); // Packaging tab } else { $('#jqxTabs').jqxTabs('enableAt', 10); @@ -3555,6 +3557,7 @@ } $("#mashGrid").jqxGrid('deleterow', rowIDs); // Then add the new steps + var datarecord = mashlist.records[index]; $("#mash_name").val(datarecord.name); for (var i = 0; i < datarecord.steps.length; i++) { var data = datarecord.steps[i]; @@ -3866,25 +3869,42 @@ $("#sparge_acid_perc").jqxNumberInput({ symbol: '%', symbolPosition: 'right' }); // Tab 9, Brewday - $("#brew_date_start").jqxDateTimeInput({ theme: theme, width: 230, height: 23, formatString: 'yyyy-MM-dd HH:mm:ss', showTimeButton: true }); - $("#brew_date_end").jqxDateTimeInput({ theme: theme, width: 230, height: 23, formatString: 'yyyy-MM-dd HH:mm:ss', showTimeButton: true }); + $("#brew_date_start").jqxTooltip({ content: 'Brouw datum en tijd. Voor planning laat de tijd op 00:00:00 staan.' }); + $("#brew_date_start").jqxDateTimeInput( DateTimeopts ); + $('#brew_date_start').on('close', function (event) { calcStage(); }); + $("#brew_date_end").jqxTooltip({ content: 'End datum en tijd van de brouw. Leeg laten als er nog niet gebrouwen is.' }); + $("#brew_date_end").jqxDateTimeInput( DateTimeopts ); + $('#brew_date_end').on('close', function (event) { calcStage(); }); + $("#brew_mash_ph").jqxTooltip({ content: 'De gemeten pH tijdens het maischen eventueel na correctie.' }); $("#brew_mash_ph").jqxNumberInput( SpinpH ); + $("#est_mash_ph").jqxTooltip({ content: 'De gewenste pH tijdens het maischen.' }); $("#est_mash_ph").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 70, height: 23, decimalDigits: 1 }); + $("#brew_preboil_ph").jqxTooltip({ content: 'De gemeten pH in de kookketel na het spoelen en voor de kook.' }); $("#brew_preboil_ph").jqxNumberInput( SpinpH ); // est_preboil_ph + $("#brew_aboil_ph").jqxTooltip({ content: 'De gemeten pH na het koken.' }); $("#brew_aboil_ph").jqxNumberInput( SpinpH ); // est_aboil_ph + $("#brew_mash_sg").jqxTooltip({ content: 'Het bereikte SG na het maischen.' }); $("#brew_mash_sg").jqxNumberInput( SGopts ); $("#brew_mash_sg").on('valueChanged', function () { calcMashEfficiency(); }); + $("#est_mash_sg").jqxTooltip({ content: 'Het berekende verwachte SG na het maischen.' }); $("#est_mash_sg").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 70, height: 23, decimalDigits: 3 }); + $("#brew_preboil_sg").jqxTooltip({ content: 'Het gemeten SG in de kookketel na het spoelen en voor het koken.' }); $("#brew_preboil_sg").jqxNumberInput( SGopts ); + $("#brew_aboil_sg").jqxTooltip({ content: 'Het gemeten SG in de kookketel na het koken.' }); $("#brew_aboil_sg").jqxNumberInput( SGopts ); - $("#est_og3").jqxTooltip({ content: 'Het geschatte begin SG van dit product.' }); + $("#est_og3").jqxTooltip({ content: 'Het geschatte SG in de kookketel na het koken.' }); $("#est_og3").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 70, height: 23, decimalDigits: 3, readOnly: true }); + $("#brew_mash_efficiency").jqxTooltip({ content: 'Het behaalde maisch rendement.' }); $("#brew_mash_efficiency").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 }); + $("#brew_preboil_volume").jqxTooltip({ content: 'Het volume van het wort voor het koken.' }); $("#brew_preboil_volume").jqxNumberInput( Spin1dec5 ); + $("#brew_aboil_volume").jqxTooltip({ content: 'Het volume van het wort na het koken.' }); $("#brew_aboil_volume").jqxNumberInput( Spin1dec5 ); + $("#brew_preboil_efficiency").jqxTooltip({ content: 'Het berekende rendement voor het koken.' }); $("#brew_preboil_efficiency").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 }); + $("#brew_aboil_efficiency").jqxTooltip({ content: 'Het bereikte rendement na het koken.' }); $("#brew_aboil_efficiency").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 }); $("#brew_sparge_temperature").jqxNumberInput( Spin1dec5 ); $("#brew_sparge_volume").jqxNumberInput( Spin1dec5 ); @@ -3945,9 +3965,11 @@ $("#primary_svg").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 70, height: 23, decimalDigits: 1 }); $("#primary_end_date").jqxTooltip({ content: 'De eind datum van de hoofdvergisting en eventueel overhevelen.' }); $("#primary_end_date").jqxDateTimeInput( Dateopts ); + $('#primary_end_date').on('close', function (event) { calcStage(); }); $("#secondary_temp").jqxNumberInput( YeastT ); $("#secondary_end_date").jqxTooltip({ content: 'De eind datum van de navergisting en het begin van het lageren.' }); $("#secondary_end_date").jqxDateTimeInput( Dateopts ); + $('#secondary_end_date').on('close', function (event) { calcStage(); }); $("#tertiary_temp").jqxNumberInput( YeastT ); $("#fg").jqxNumberInput({ inputMode: 'simple', spinMode: 'simple', theme: theme, width: 90, height: 23, min: 0, decimalDigits: 3, spinButtons: true, spinButtonsStep: 0.001 }); $("#final_abv").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 70, height: 23, decimalDigits: 1 }); @@ -3963,6 +3985,7 @@ // TODO: high gravity packaging, extra water and recalc abv, color and ibu. $("#package_date").jqxTooltip({ content: 'De verpakkings datum van dit bier.' }); $("#package_date").jqxDateTimeInput( Dateopts ); + $('#package_date').on('close', function (event) { calcStage(); }); $("#st_carb_min2").jqxTooltip({ content: 'Het minimum aanbevolen koolzuur volume voor deze bierstijl.'}); $("#st_carb_min2").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 1, readOnly: true }); $("#st_carb_max2").jqxTooltip({ content: 'Het maximum aamnevolen koolzuur volume voor deze bierstijl.'}); @@ -4009,6 +4032,7 @@ // Tab 12, Tasting $("#taste_date").jqxTooltip({ content: 'De proef datum van dit bier.' }); $("#taste_date").jqxDateTimeInput( Dateopts ); + $('#taste_date').on('close', function (event) { calcStage(); }); $("#taste_rate").jqxTooltip({ content: 'Het cijfer voor dit bier van 1 tot 10.' }); $("#taste_rate").jqxNumberInput( Spin1dec5 ); $("#taste_rate").jqxNumberInput({ max: 10 });