Mon, 29 Apr 2019 17:10:38 +0200
Finished bitterness and cl/so4 ratio calculations and design aids. Translated water error messages. Fixed recipes menu width.
www/includes/global.inc.php | file | annotate | diff | comparison | revisions | |
www/js/prod_edit.js | file | annotate | diff | comparison | revisions | |
www/js/rec_edit.js | file | annotate | diff | comparison | revisions | |
www/prod_edit.php | file | annotate | diff | comparison | revisions | |
www/rec_edit.php | file | annotate | diff | comparison | revisions |
--- a/www/includes/global.inc.php Sat Apr 27 13:08:53 2019 +0200 +++ b/www/includes/global.inc.php Mon Apr 29 17:10:38 2019 +0200 @@ -250,7 +250,7 @@ </ul> </li> <li style='width: 80px;'>Recepten - <ul style='width: 150px;'> + <ul style='width: 200px;'> <li><img style='float: left; margin-right: 5px;' src='images/beerstyles.png' /><a href="rec_main.php">Recepten</a></li> <li><img style='float: left; margin-right: 5px;' src='images/insert-object.png' /><a href="rec_import.php">Import beerxml</a></li> </ul>
--- a/www/js/prod_edit.js Sat Apr 27 13:08:53 2019 +0200 +++ b/www/js/prod_edit.js Mon Apr 29 17:10:38 2019 +0200 @@ -1008,10 +1008,10 @@ } function setRangeIndicator(ion, rangeCode) { - if (rangeCode == "low") - $("#wr_"+ion).html("<img src='images/dialog-error.png'><span style='font-size: 10px; font-style: italic;'>"+rangeCode + "</span>"); - else if (rangeCode == "high") - $("#wr_"+ion).html("<img src='images/dialog-error.png'><span style='font-size: 10px; font-style: italic;'>"+rangeCode+"</span>"); + if (rangeCode == "laag") + $("#wr_"+ion).html("<img src='images/dialog-error.png'><span style='vertical-align: top; font-size: 10px; font-style: italic;'>"+rangeCode + "</span>"); + else if (rangeCode == "hoog") + $("#wr_"+ion).html("<img src='images/dialog-error.png'><span style='vertical-align: top; font-size: 10px; font-style: italic;'>"+rangeCode+"</span>"); else $("#wr_"+ion).html("<img src='images/dialog-ok-apply.png'>"); } @@ -1485,15 +1485,37 @@ // 2:1 Sulfate to Chroride IPA's, Pale Ales. // 1:1 Sulfate to Chloride Balanced // 1:2 Sulfate to Chloride Malty + // Note, values below are the other way, cl to so4! + // So: 0.5 is IPA's, Pale Ales. + // 1 Balanced + // 2 Malty. $('#tgt_bu').val(Math.round(GetBUGU() * 100) / 100); - $('#tgt_cl_so4').val(Math.round(GetOptClSO4ratio() * 10) / 10); // Show real value too + // From brouwhulp. + if (GetBUGU() < 0.32) + $('#wr_bu').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Zeer zoet</span>"); + else if (GetBUGU() < 0.43) + $('#wr_bu').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Zoet</span>"); + else if (GetBUGU() < 0.52) + $('#wr_bu').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Evenwichtig</span>"); + else if (GetBUGU() < 0.63) + $('#wr_bu').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Bitter</span>"); + else + $('#wr_bu').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Zeer bitter</span>"); + $('#tgt_cl_so4').val(Math.round(GetOptClSO4ratio() * 10) / 10); if (sulfate > 0) RA = chloride / sulfate; else RA = 10; + $('#got_cl_so4').val(Math.round(RA * 10) / 10); var piCLSO4_low = 0.8 * GetOptClSO4ratio(); var piCLSO4_high = 1.2 * GetOptClSO4ratio(); - console.log("low: "+piCLSO4_low+" val: "+RA+" high: "+piCLSO4_high); + var Res = 'normaal'; + if (RA < piCLSO4_low) + Res = 'laag'; + else if (RA > piCLSO4_high) + Res = 'hoog'; + setRangeIndicator('cl_so4', Res); +// console.log("low: "+piCLSO4_low+" val: "+RA+" high: "+piCLSO4_high); $('#wb_calcium').val(Math.round(calcium * 10) / 10); $('#wb_magnesium').val(Math.round(magnesium * 10) / 10); @@ -1503,38 +1525,44 @@ $('#wb_total_alkalinity').val(Math.round(total_alkalinity * 10) / 10); if (calcium < 40) { - setRangeIndicator("calcium", "low"); + setRangeIndicator("calcium", "laag"); } else if (calcium > 150) { - setRangeIndicator("calcium", "high"); + setRangeIndicator("calcium", "hoog"); } else { - setRangeIndicator("calcium", "normal"); + setRangeIndicator("calcium", "normaal"); } if (magnesium >= 0 && magnesium <= 30) { - setRangeIndicator("magnesium", "normal"); + setRangeIndicator("magnesium", "normaal"); } else { - setRangeIndicator("magnesium", "high"); + setRangeIndicator("magnesium", "hoog"); } if (sodium <= 150) { - setRangeIndicator("sodium", "normal"); - } else { - setRangeIndicator("sodium", "high"); - } - if (chloride <= 100) { - setRangeIndicator("chloride", "normal"); + setRangeIndicator("sodium", "normaal"); } else { - setRangeIndicator("chloride", "high"); + setRangeIndicator("sodium", "hoog"); } - if (sulfate <= 350) { - setRangeIndicator("sulfate", "normal"); + // Both chloride and sulfate should be above 50 according to + // John Palmer. So the Cl/SO4 ratio calculation will work. + if (chloride <= 50) { + setRangeIndicator("chloride", "laag"); + } else if (chloride <= 100) { + setRangeIndicator("chloride", "normaal"); } else { - setRangeIndicator("sulfate", "high"); + setRangeIndicator("chloride", "hoog"); + } + if (sulfate <= 50) { + setRangeIndicator("sulfate", "laag"); + } else if (sulfate <= 350) { + setRangeIndicator("sulfate", "normaal"); + } else { + setRangeIndicator("sulfate", "hoog"); } if (ph < 5.2) { - setRangeIndicator("ph", "low"); + setRangeIndicator("ph", "laag"); } else if (ph > 5.6) { - setRangeIndicator("ph", "high"); + setRangeIndicator("ph", "hoog"); } else { - setRangeIndicator("ph", "normal"); + setRangeIndicator("ph", "normaal"); } calcSparge(); } @@ -4936,6 +4964,7 @@ // Tab 8, Water $("#tgt_bu").jqxNumberInput( Show2wat ); $("#tgt_cl_so4").jqxNumberInput( Show1wat ); + $("#got_cl_so4").jqxNumberInput( Show1wat ); // Water source 1 $("#w1_name").jqxDropDownList({ @@ -5043,9 +5072,9 @@ $("#wb_sodium").jqxNumberInput( Show1wat ); $("#wb_total_alkalinity").jqxNumberInput( Show1wat ); - $("#wb_chloride").jqxTooltip({ content: 'De ideale hoeveelheid Chloride is lager dan 100.'}); + $("#wb_chloride").jqxTooltip({ content: 'De ideale hoeveelheid Chloride is tussen 50 en 100.'}); $("#wb_chloride").jqxNumberInput( Show1wat ); - $("#wb_sulfate").jqxTooltip({ content: 'De ideale hoeveelheid Sulfaat is lager dan 350.'}); + $("#wb_sulfate").jqxTooltip({ content: 'De ideale hoeveelheid Sulfaat is tussen 50 en 350.'}); $("#wb_sulfate").jqxNumberInput( Show1wat ); $("#wb_ph").jqxNumberInput( Show1wat );
--- a/www/js/rec_edit.js Sat Apr 27 13:08:53 2019 +0200 +++ b/www/js/rec_edit.js Mon Apr 29 17:10:38 2019 +0200 @@ -536,10 +536,10 @@ } function setRangeIndicator(ion, rangeCode) { - if (rangeCode == "low") - $("#wr_"+ion).html("<img src='images/dialog-error.png'><span style='font-size: 10px; font-style: italic;'>"+rangeCode + "</span>"); - else if (rangeCode == "high") - $("#wr_"+ion).html("<img src='images/dialog-error.png'><span style='font-size: 10px; font-style: italic;'>"+rangeCode+"</span>"); + if (rangeCode == "laag") + $("#wr_"+ion).html("<img src='images/dialog-error.png'><span style='vertical-align: top; font-size: 10px; font-style: italic;'>"+rangeCode + "</span>"); + else if (rangeCode == "hoog") + $("#wr_"+ion).html("<img src='images/dialog-error.png'><span style='vertical-align: top; font-size: 10px; font-style: italic;'>"+rangeCode+"</span>"); else $("#wr_"+ion).html("<img src='images/dialog-ok-apply.png'>"); } @@ -1016,15 +1016,36 @@ // 2:1 Sulfate to Chroride IPA's, Pale Ales. // 1:1 Sulfate to Chloride Balanced // 1:2 Sulfate to Chloride Malty + // Note, values below are the other way, cl to so4! + // So: 0.5 is IPA's, Pale Ales. + // 1 Balanced + // 2 Malty. $('#tgt_bu').val(Math.round(GetBUGU() * 100) / 100); - $('#tgt_cl_so4').val(Math.round(GetOptClSO4ratio() * 10) / 10); // Show real value too + // From brouwhulp. + if (GetBUGU() < 0.32) + $('#wr_bu').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Zeer zoet</span>"); + else if (GetBUGU() < 0.43) + $('#wr_bu').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Zoet</span>"); + else if (GetBUGU() < 0.52) + $('#wr_bu').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Evenwichtig</span>"); + else if (GetBUGU() < 0.63) + $('#wr_bu').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Bitter</span>"); + else + $('#wr_bu').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Zeer bitter</span>"); + $('#tgt_cl_so4').val(Math.round(GetOptClSO4ratio() * 10) / 10); if (sulfate > 0) RA = chloride / sulfate; else RA = 10; + $('#got_cl_so4').val(Math.round(RA * 10) / 10); var piCLSO4_low = 0.8 * GetOptClSO4ratio(); var piCLSO4_high = 1.2 * GetOptClSO4ratio(); - console.log("low: "+piCLSO4_low+" val: "+RA+" high: "+piCLSO4_high); + var Res = 'normaal'; + if (RA < piCLSO4_low) + Res = 'laag'; + else if (RA > piCLSO4_high) + Res = 'hoog'; + setRangeIndicator('cl_so4', Res); $('#wb_calcium').val(Math.round(calcium * 10) / 10); $('#wb_magnesium').val(Math.round(magnesium * 10) / 10); @@ -1034,38 +1055,44 @@ $('#wb_total_alkalinity').val(Math.round(total_alkalinity * 10) / 10); if (calcium < 40) { - setRangeIndicator("calcium", "low"); + setRangeIndicator("calcium", "laag"); } else if (calcium > 150) { - setRangeIndicator("calcium", "high"); + setRangeIndicator("calcium", "hoog"); } else { - setRangeIndicator("calcium", "normal"); + setRangeIndicator("calcium", "normaal"); } if (magnesium >= 0 && magnesium <= 30) { - setRangeIndicator("magnesium", "normal"); + setRangeIndicator("magnesium", "normaal"); } else { - setRangeIndicator("magnesium", "high"); + setRangeIndicator("magnesium", "hoog"); } if (sodium <= 150) { - setRangeIndicator("sodium", "normal"); - } else { - setRangeIndicator("sodium", "high"); - } - if (chloride <= 100) { - setRangeIndicator("chloride", "normal"); + setRangeIndicator("sodium", "normaal"); } else { - setRangeIndicator("chloride", "high"); + setRangeIndicator("sodium", "hoog"); } - if (sulfate <= 350) { - setRangeIndicator("sulfate", "normal"); + // Both chloride and sulfate should be above 50 according to + // John Palmer. So the Cl/SO4 ratio calculation will work. + if (chloride <= 50) { + setRangeIndicator("chloride", "laag"); + } else if (chloride <= 100) { + setRangeIndicator("chloride", "normaal"); } else { - setRangeIndicator("sulfate", "high"); + setRangeIndicator("chloride", "hoog"); + } + if (sulfate <= 50) { + setRangeIndicator("sulfate", "laag"); + } else if (sulfate <= 350) { + setRangeIndicator("sulfate", "normaal"); + } else { + setRangeIndicator("sulfate", "hoog"); } if (ph < 5.2) { - setRangeIndicator("ph", "low"); + setRangeIndicator("ph", "laag"); } else if (ph > 5.6) { - setRangeIndicator("ph", "high"); + setRangeIndicator("ph", "hoog"); } else { - setRangeIndicator("ph", "normal"); + setRangeIndicator("ph", "normaal"); } calcSparge(); } @@ -3498,6 +3525,7 @@ // Tab 7, Water $("#tgt_bu").jqxNumberInput( Show2wat ); $("#tgt_cl_so4").jqxNumberInput( Show1wat ); + $("#got_cl_so4").jqxNumberInput( Show1wat ); // Water source 1 $("#w1_name").jqxDropDownList({ @@ -3603,9 +3631,9 @@ $("#wb_magnesium").jqxNumberInput( Show1wat ); $("#wb_sodium").jqxTooltip({ content: 'De ideale hoeveelheid Natrium is lager dan 150.'}); $("#wb_sodium").jqxNumberInput( Show1wat ); - $("#wb_chloride").jqxTooltip({ content: 'De ideale hoeveelheid Chloride is lager dan 100.'}); + $("#wb_chloride").jqxTooltip({ content: 'De ideale hoeveelheid Chloride is tussen 50 en 100.'}); $("#wb_chloride").jqxNumberInput( Show1wat ); - $("#wb_sulfate").jqxTooltip({ content: 'De ideale hoeveelheid Sulfaat is lager dan 350.'}); + $("#wb_sulfate").jqxTooltip({ content: 'De ideale hoeveelheid Sulfaat is tussen 50 en 350.'}); $("#wb_sulfate").jqxNumberInput( Show1wat ); $("#wb_total_alkalinity").jqxNumberInput( Show1wat ); $("#wb_ph").jqxNumberInput( Show1wat );
--- a/www/prod_edit.php Sat Apr 27 13:08:53 2019 +0200 +++ b/www/prod_edit.php Mon Apr 29 17:10:38 2019 +0200 @@ -352,10 +352,18 @@ <div style="overflow: hidden;"> <table style="width: 100%;"> <tr> - <td style="vertical-align: top; float: right; padding: 3px;">Bitterheidsindex:</td> - <td style="padding: 3px;" colspan="2"><div id="tgt_bu"></div></td> - <td style="vertical-align: top; float: right; padding: 3px;">Richtgetal Cl/SO4:</td> - <td style="padding: 3px;" colspan="2"><div id="tgt_cl_so4"></div></td> + <td colspan="6"> + <table style="width: 100%;"> + <tr> + <td style="vertical-align: top; float: right; padding: 3px;">Bitterheidsindex:</td> + <td style="padding: 3px;"><div style="float: left;" id="tgt_bu"></div><div style="float: left; margin-left: 10px;" id="wr_bu"></div></td> + <td style="vertical-align: top; float: right; padding: 3px;">Richtgetal Cl/SO4:</td> + <td style="padding: 3px;"><div id="tgt_cl_so4"></div></td> + <td style="vertical-align: top; float: right; padding: 3px;">Huidig Cl/SO4:</td> + <td style="padding: 3px;"><div style="float: left;" id="got_cl_so4"></div><div style="float: left; margin-left: 10px;" id="wr_cl_so4"></div></td> + </tr> + </table> + </td> </tr> <tr> <td></td>
--- a/www/rec_edit.php Sat Apr 27 13:08:53 2019 +0200 +++ b/www/rec_edit.php Mon Apr 29 17:10:38 2019 +0200 @@ -190,12 +190,18 @@ <div> <!-- tab water --> <div style="overflow: hidden;"> <table style="width: 100%;"> - <tr> - <td style="vertical-align: top; float: right; padding: 3px;">Bitterheidsindex:</td> - <td style="padding: 3px;" colspan="2"><div id="tgt_bu"></div></td> - <td style="vertical-align: top; float: right; padding: 3px;">Richtgetal Cl/SO4:</td> - <td style="padding: 3px;" colspan="2"><div id="tgt_cl_so4"></div></td> - </tr> + <td colspan="6"> + <table style="width: 100%;"> + <tr> + <td style="vertical-align: top; float: right; padding: 3px;">Bitterheidsindex:</td> + <td style="padding: 3px;"><div style="float: left;" id="tgt_bu"></div><div style="float: left; margin-left: 10px;" id="wr_bu"></div></td> + <td style="vertical-align: top; float: right; padding: 3px;">Richtgetal Cl/SO4:</td> + <td style="padding: 3px;"><div id="tgt_cl_so4"></div></td> + <td style="vertical-align: top; float: right; padding: 3px;">Huidig Cl/SO4:</td> + <td style="padding: 3px;"><div style="float: left;" id="got_cl_so4"></div><div style="float: left; margin-left: 10px;" id="wr_cl_so4"></div></td> + </tr> + </table> + </td> <tr> <td></td> <td align="left" colspan="5">