# HG changeset patch # User Michiel Broek # Date 1624805812 -7200 # Node ID e6814bed4cb13091d3971015ccae64746aa4dd42 # Parent d13be50c004904fc8bf5ad0d1b5b21a25aec00e7 Moved NaHCO3 and CaCO3 from the base additions to the water agent salts. diff -r d13be50c0049 -r e6814bed4cb1 www/js/global.js --- a/www/js/global.js Sun Jun 27 11:12:24 2021 +0200 +++ b/www/js/global.js Sun Jun 27 16:56:52 2021 +0200 @@ -400,10 +400,8 @@ AcidTypeAdapter = new $.jqx.dataAdapter(AcidTypeSource), BaseTypeData = [ - { id: 0, en: 'Sodiumbicarbonate', nl: 'NaHCO3' }, - { id: 1, en: 'Sodiumcarbonate', nl: 'Na2CO3' }, - { id: 2, en: 'Calciumcarbonate', nl: 'CaCO3' }, - { id: 3, en: 'Calciumhydroxide', nl: 'Ca(OH)2' } + { id: 0, en: 'Sodiumcarbonate', nl: 'Na2CO3' }, + { id: 1, en: 'Calciumhydroxide', nl: 'Ca(OH)2' } ], BaseTypeSource = { localdata: BaseTypeData, diff -r d13be50c0049 -r e6814bed4cb1 www/js/prod_edit.js --- a/www/js/prod_edit.js Sun Jun 27 11:12:24 2021 +0200 +++ b/www/js/prod_edit.js Sun Jun 27 16:56:52 2021 +0200 @@ -525,8 +525,7 @@ // Load data and select one record. dataAdapter = new $.jqx.dataAdapter(source, { loadComplete: function() { - var records = dataAdapter.records; - dataRecord = records[0]; + dataRecord = dataAdapter.records[0]; // Hidden record uuid $('#name').val(dataRecord.name); $('#code').val(dataRecord.code); @@ -918,7 +917,7 @@ calcIBUs(); }); }, - ready: function() { calcFermentables(); $('#jqxTabs').jqxTabs('next'); }, + ready: function() { $('#jqxTabs').jqxTabs('next'); }, columns: [ { text: 'Vergistbaar ingrediënt', datafield: 'f_name', cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) { @@ -1242,6 +1241,12 @@ case 'NaCl': $('#wa_nacl').val(row.m_amount * 1000); break; + case 'NaHCO3': + $('#wa_nahco3').val(row.m_amount * 1000); + break; + case 'CaCO3': + $('#wa_caco3').val(row.m_amount * 1000); + break; case 'Melkzuur': $('#wa_acid_name').val(0); $('#wa_acid').val(row.m_amount * 1000); @@ -1266,23 +1271,13 @@ $('#wa_acid_perc').val(AcidTypeData[3].AcidPrc); last_acid = 'Zwavelzuur'; break; - case 'NaHCO3': + case 'Na2CO3': $('#wa_base_name').val(0); $('#wa_base').val(row.m_amount * 1000); - last_base = 'NaHCO3'; - break; - case 'Na2CO3': - $('#wa_base_name').val(1); - $('#wa_base').val(row.m_amount * 1000); last_base = 'Na2CO3'; break; - case 'CaCO3': - $('#wa_base_name').val(2); - $('#wa_base').val(row.m_amount * 1000); - last_base = 'CaCO3'; - break; case 'Ca(OH)2': - $('#wa_base_name').val(3); + $('#wa_base_name').val(1); $('#wa_base').val(row.m_amount * 1000); last_base = 'Ca(OH)2'; break; @@ -2928,15 +2923,19 @@ case 'NaCl': $('#wa_nacl').val(row.m_amount * 1000); break; + case 'NaHCO3': + $('#wa_nahco3').val(row.m_amount * 1000); + break; + case 'CaCO3': + $('#wa_caco3').val(row.m_amount * 1000); + break; case 'Melkzuur': case 'Zoutzuur': case 'Fosforzuur': case 'Zwavelzuur': $('#wa_acid').val(row.m_amount * 1000); break; - case 'NaHCO3': case 'Na2CO3': - case 'CaCO3': case 'Ca(OH)2': $('#wa_base').val(row.m_amount * 1000); break; @@ -3292,14 +3291,17 @@ /* Calculate Salt additions */ if (liters > 0) { calcium += (parseFloat($('#wa_cacl2').jqxNumberInput('decimal')) * MMCa / MMCaCl2 * 1000 + - parseFloat($('#wa_caso4').jqxNumberInput('decimal')) * MMCa / MMCaSO4 * 1000) / liters; + parseFloat($('#wa_caso4').jqxNumberInput('decimal')) * MMCa / MMCaSO4 * 1000 + + parseFloat($('#wa_caco3').jqxNumberInput('decimal')) * MMCa / MMCaCO3 * 1000) / liters; magnesium += (parseFloat($('#wa_mgso4').jqxNumberInput('decimal')) * MMMg / MMMgSO4 * 1000) / liters; sodium += (parseFloat($('#wa_nacl').jqxNumberInput('decimal')) * MMNa / MMNaCl * 1000 + - parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMNa / MMNaHCO3 * 1000) / liters; + parseFloat($('#wa_nahco3').jqxNumberInput('decimal')) * MMNa / MMNaHCO3 * 1000) / liters; sulfate += (parseFloat($('#wa_caso4').jqxNumberInput('decimal')) * MMSO4 / MMCaSO4 * 1000 + parseFloat($('#wa_mgso4').jqxNumberInput('decimal')) * MMSO4 / MMMgSO4 * 1000) / liters; chloride += (2 * parseFloat($('#wa_cacl2').jqxNumberInput('decimal')) * MMCl / MMCaCl2 * 1000 + parseFloat($('#wa_nacl').jqxNumberInput('decimal')) * MMCl / MMNaCl * 1000) / liters; + bicarbonate += (parseFloat($('#wa_nahco3').jqxNumberInput('decimal')) * MMHCO3 / MMNaHCO3 * 1000 + + parseFloat($('#wa_caco3').jqxNumberInput('decimal')) / 3 * MMHCO3 / MMCaCO3 * 1000) / liters; } if (dataRecord.wa_acid_name < 0 || dataRecord,wa_acid_name >= AcidTypeData.length) { @@ -3361,23 +3363,23 @@ f2d = f1d * r1d; f3d = f2d * r2d; switch (BT) { +// case 0: +// RA = -protonDeficit / (f1d - f3d); // Sodiumbicarbonate, mmol totaal +// RA = RA * MMNaHCO3 / 1000; //gram +// $('#wa_base').val(Round(RA, 2)); +// setWaterAgent('NaHCO3', Round(RA, 2)); +// if (liters > 0) { +// // Na +// RA = (parseFloat($('#wa_nacl').jqxNumberInput('decimal')) * MMNa / MMNaCl * 1000 + +// parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMNa / MMNaHCO3 * 1000) / liters; +// sodium = wg_sodium + RA; +// // HCO3 +// RA = (parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMHCO3 / MMNaHCO3 * 1000) / liters; +// bicarbonate = wg_bicarbonate + RA; +// total_alkalinity = bicarbonate * 50 / 61; +// } +// break; case 0: - RA = -protonDeficit / (f1d - f3d); // Sodiumbicarbonate, mmol totaal - RA = RA * MMNaHCO3 / 1000; //gram - $('#wa_base').val(Round(RA, 2)); - setWaterAgent('NaHCO3', Round(RA, 2)); - if (liters > 0) { - // Na - RA = (parseFloat($('#wa_nacl').jqxNumberInput('decimal')) * MMNa / MMNaCl * 1000 + - parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMNa / MMNaHCO3 * 1000) / liters; - sodium = wg_sodium + RA; - // HCO3 - RA = (parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMHCO3 / MMNaHCO3 * 1000) / liters; - bicarbonate = wg_bicarbonate + RA; - total_alkalinity = bicarbonate * 50 / 61; - } - break; - case 1: RA = -protonDeficit / (2 * f1d + f2d); // Sodiumcarbonate, mmol totaal RA = RA * MMNa2CO3 / 1000; //gram $('#wa_base').val(Round(RA, 2)); @@ -3392,26 +3394,26 @@ total_alkalinity = bicarbonate * 50 / 61; } break; - case 2: - RA = -protonDeficit * (f1d - f3d); // Calciumcarbonate, mmol totaal - RA = RA * MMCaCO3 / 1000; //gram - //but only 1/3 is effective, so add 3 times as much - RA = 3 * RA; - $('#wa_base').val(Round(RA, 2)); - setWaterAgent('CaCO3', Round(RA, 2)); - if (liters > 0) { - //Bicarbonate - RA = (parseFloat($('#wa_base').jqxNumberInput('decimal')) / 3 * MMHCO3 / MMCaCO3 * 1000) / liters; - bicarbonate = wg_bicarbonate + RA; - total_alkalinity = bicarbonate * 50 / 61; - //Ca precipitates out as Ca10(PO4)6(OH)2 - RA = (parseFloat($('#wa_cacl2').jqxNumberInput('decimal')) * MMCa / MMCaCl2 * 1000 + - parseFloat($('#wa_caso4').jqxNumberInput('decimal')) * MMCa / MMCaSO4 * 1000 + - parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMCa / MMCaCO3 * 1000) / liters; - calcium = wg_calcium + RA; - } - break; - case 3: +// case 2: +// RA = -protonDeficit * (f1d - f3d); // Calciumcarbonate, mmol totaal +// RA = RA * MMCaCO3 / 1000; //gram +// //but only 1/3 is effective, so add 3 times as much +// RA = 3 * RA; +// $('#wa_base').val(Round(RA, 2)); +// setWaterAgent('CaCO3', Round(RA, 2)); +// if (liters > 0) { +// //Bicarbonate +// RA = (parseFloat($('#wa_base').jqxNumberInput('decimal')) / 3 * MMHCO3 / MMCaCO3 * 1000) / liters; +// bicarbonate = wg_bicarbonate + RA; +// total_alkalinity = bicarbonate * 50 / 61; +// //Ca precipitates out as Ca10(PO4)6(OH)2 +// RA = (parseFloat($('#wa_cacl2').jqxNumberInput('decimal')) * MMCa / MMCaCl2 * 1000 + +// parseFloat($('#wa_caso4').jqxNumberInput('decimal')) * MMCa / MMCaSO4 * 1000 + +// parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMCa / MMCaCO3 * 1000) / liters; +// calcium = wg_calcium + RA; +// } +// break; + case 1: RA = -protonDeficit / 19.3; // Calciumhydroxide $('#wa_base').val(Round(RA, 2)); setWaterAgent('Ca(OH)2', Round(RA, 2)); @@ -3439,16 +3441,16 @@ if (parseFloat($('#wa_base').jqxNumberInput('decimal')) > 0 && liters > 0) { /* First add the base salts */ switch (BT) { - case 0: // Sodiumbicarbonate, Na - RA = (parseFloat($('#wa_nacl').jqxNumberInput('decimal')) * MMNa / MMNaCl * 1000 + - parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMNa / MMNaHCO3 * 1000) / liters; - sodium = wg_sodium + RA; - // HCO3 - RA = (parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMHCO3 / MMNaHCO3 * 1000) / liters; - bicarbonate = wg_bicarbonate + RA; - total_alkalinity = bicarbonate * 50 / 61; - break; - case 1: // Sodiumcarbonate +// case 0: // Sodiumbicarbonate, Na +// RA = (parseFloat($('#wa_nacl').jqxNumberInput('decimal')) * MMNa / MMNaCl * 1000 + +// parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMNa / MMNaHCO3 * 1000) / liters; +// sodium = wg_sodium + RA; +// // HCO3 +// RA = (parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMHCO3 / MMNaHCO3 * 1000) / liters; +// bicarbonate = wg_bicarbonate + RA; +// total_alkalinity = bicarbonate * 50 / 61; +// break; + case 0: // Sodiumcarbonate RA = (parseFloat($('#wa_nacl').jqxNumberInput('decimal')) * MMNa / MMNaCl * 1000 + parseFloat($('#wa_base').jqxNumberInput('decimal')) * 2 * MMNa / MMNa2CO3 * 1000) / liters; sodium = wg_sodium + RA; @@ -3457,16 +3459,16 @@ bicarbonate = wg_bicarbonate + RA; total_alkalinity = bicarbonate * 50 / 61; break; - case 2: // Calciumcarbonate: Bicarbonate - RA = (parseFloat($('#wa_base').jqxNumberInput('decimal')) / 3 * MMHCO3 * 1000 / MMCaCO3) / liters; - bicarbonate = wg_bicarbonate + RA; - total_alkalinity = bicarbonate * 50 / 61; - // Ca - RA = (parseFloat($('#wa_cacl2').jqxNumberInput('decimal')) * MMCa * 1000 / MMCaCl2 + - parseFloat($('#wa_caso4').jqxNumberInput('decimal')) * MMCa * 1000 / MMCaSO4 + - parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMCa * 1000/ MMCaCO3) / liters; - calcium = wg_calcium + RA; - break; +// case 2: // Calciumcarbonate: Bicarbonate +// RA = (parseFloat($('#wa_base').jqxNumberInput('decimal')) / 3 * MMHCO3 * 1000 / MMCaCO3) / liters; +// bicarbonate = wg_bicarbonate + RA; +// total_alkalinity = bicarbonate * 50 / 61; +// // Ca +// RA = (parseFloat($('#wa_cacl2').jqxNumberInput('decimal')) * MMCa * 1000 / MMCaCl2 + +// parseFloat($('#wa_caso4').jqxNumberInput('decimal')) * MMCa * 1000 / MMCaSO4 + +// parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMCa * 1000/ MMCaCO3) / liters; +// calcium = wg_calcium + RA; +// break; } } @@ -3875,6 +3877,8 @@ $('#wa_caso4').jqxNumberInput(spinstate); $('#wa_mgso4').jqxNumberInput(spinstate); $('#wa_nacl').jqxNumberInput(spinstate); + $('#wa_nahco3').jqxNumberInput(spinstate); + $('#wa_caco3').jqxNumberInput(spinstate); $('#mash_ph').jqxNumberInput(spinstate); $('#calc_acid').jqxCheckBox(onval); $('#wa_base_name').jqxDropDownList(onval); @@ -4223,6 +4227,20 @@ calcWater(); } }); + $('#wa_nahco3').on('change', function(event) { + if (event.args) { + setWaterAgent('NaHCO3', 0); + setWaterAgent('NaHCO3', event.args.value); + calcWater(); + } + }); + $('#wa_caco3').on('change', function(event) { + if (event.args) { + setWaterAgent('CaCO3', 0); + setWaterAgent('CaCO3', event.args.value); + calcWater(); + } + }); $('#wa_base_name').on('select', function(event) { if (event.args) { var index = event.args.index; @@ -6125,7 +6143,9 @@ content: 'Keukenzout. Voor het maken van een ander waterprofiel. Voegt natrium en chloride toe. ' + 'Voor het accentueren van zoetheid. Bij hoge dosering wordt het bier ziltig.' }); - $('#wa_cacl2,#wa_caso4,#wa_mgso4,#wa_nacl').jqxNumberInput(Spin1dec); + $('#wa_nahco3').jqxTooltip({ content: 'Baksoda'}); + $('#wa_caco3').jqxTooltip({ content: 'Kalk'}); + $('#wa_cacl2,#wa_caso4,#wa_mgso4,#wa_nacl,#wa_nahco3,#wa_caco3').jqxNumberInput(Spin1dec); $('#mash_ph').jqxTooltip({ content: 'Maisch pH tussen 5.2 en 5.6. Gebruik 5.2 voor lichte en 5.5 voor donkere bieren.'}); $('#mash_ph').jqxNumberInput(SpinpH); $('#calc_acid').jqxCheckBox({ theme: theme, width: 120, height: 23 }); diff -r d13be50c0049 -r e6814bed4cb1 www/prod_edit.php --- a/www/prod_edit.php Sun Jun 27 11:12:24 2021 +0200 +++ b/www/prod_edit.php Sun Jun 27 16:56:52 2021 +0200 @@ -515,12 +515,16 @@
- + Baksoda (NaHCO3) gr: +
+ Aanzuren met:
- + Kalk (CaCO3) gr: +
+ Sterkte %: