www/js/profile_water.js

changeset 662
4bb005694ce7
parent 522
35675eadc655
child 701
3ce3df681be0
equal deleted inserted replaced
661:74b442eae07b 662:4bb005694ce7
1 /***************************************************************************** 1 /*****************************************************************************
2 * Copyright (C) 2014-2019 2 * Copyright (C) 2014-2020
3 * 3 *
4 * Michiel Broek <mbroek at mbse dot eu> 4 * Michiel Broek <mbroek at mbse dot eu>
5 * 5 *
6 * This file is part of BrewCloud 6 * This file is part of BrewCloud
7 * 7 *
129 $('#chloride').jqxTooltip({ content: 'Chloride (Cl).' }); 129 $('#chloride').jqxTooltip({ content: 'Chloride (Cl).' });
130 $('#sodium').jqxTooltip({ content: 'Natrium, oftewel keukenzout (Na). In berekeningen ook vaak als Sodium.' }); 130 $('#sodium').jqxTooltip({ content: 'Natrium, oftewel keukenzout (Na). In berekeningen ook vaak als Sodium.' });
131 $('#magnesium').jqxTooltip({ content: 'Magnesium (Mg).' }); 131 $('#magnesium').jqxTooltip({ content: 'Magnesium (Mg).' });
132 $('#ph').jqxTooltip({ content: 'De zuurgraad (pH).' }); 132 $('#ph').jqxTooltip({ content: 'De zuurgraad (pH).' });
133 $('#total_alkalinity').jqxTooltip({ content: 'Totale alkaliniteit. Berekend meteen de Bicarbonaat.' }); 133 $('#total_alkalinity').jqxTooltip({ content: 'Totale alkaliniteit. Berekend meteen de Bicarbonaat.' });
134 $('#balance').jqxTooltip({ content: 'De ionen balans van het water. Ideaal minder dan 0.1 verschil tussen kationen en anionen. Meer dan 0.5 is een fout in het waterraport.' });
134 135
135 // initialize the input fields. 136 // initialize the input fields.
136 $('#name').jqxInput({ theme: theme, width: 640, height: 23 }); 137 $('#name').jqxInput({ theme: theme, width: 640, height: 23 });
137 $('#notes').jqxInput({ theme: theme, width: 800, height: 100 }); 138 $('#notes').jqxInput({ theme: theme, width: 800, height: 100 });
138 $('#calcium').jqxNumberInput(Spin1dec); 139 $('#calcium').jqxNumberInput(Spin1dec);
141 $('#chloride').jqxNumberInput(Spin1dec); 142 $('#chloride').jqxNumberInput(Spin1dec);
142 $('#sodium').jqxNumberInput(Spin1dec); 143 $('#sodium').jqxNumberInput(Spin1dec);
143 $('#magnesium').jqxNumberInput(Spin1dec); 144 $('#magnesium').jqxNumberInput(Spin1dec);
144 $('#ph').jqxNumberInput(Spin2pH); 145 $('#ph').jqxNumberInput(Spin2pH);
145 $('#total_alkalinity').jqxNumberInput(Spin1dec); 146 $('#total_alkalinity').jqxNumberInput(Spin1dec);
147 $('#balance').jqxNumberInput(Show2dec);
146 148
147 // initialize jqxGrid 149 // initialize jqxGrid
148 $('#jqxgrid').jqxGrid({ 150 $('#jqxgrid').jqxGrid({
149 width: 1280, 151 width: 1280,
150 height: 630, 152 height: 630,
204 $('#sodium').val(dataRecord.sodium); 206 $('#sodium').val(dataRecord.sodium);
205 $('#magnesium').val(dataRecord.magnesium); 207 $('#magnesium').val(dataRecord.magnesium);
206 $('#ph').val(dataRecord.ph); 208 $('#ph').val(dataRecord.ph);
207 $('#notes').val(dataRecord.notes); 209 $('#notes').val(dataRecord.notes);
208 $('#total_alkalinity').val(dataRecord.total_alkalinity); 210 $('#total_alkalinity').val(dataRecord.total_alkalinity);
211 calcBalance();
209 // show the popup window. 212 // show the popup window.
210 $('#popupWindow').jqxWindow('open'); 213 $('#popupWindow').jqxWindow('open');
211 } 214 }
212 } 215 }
213 ] 216 ]
214 }); 217 });
215 218
219 function calcBalance() {
220 var cations = (dataRecord.calcium / 20.039) + (dataRecord.magnesium / 12.1525) + (dataRecord.sodium / 22.989);
221 var anions = (dataRecord.bicarbonate / 61.016) + (dataRecord.sulfate / 48.031) + (dataRecord.chloride / 35.4527);
222 var balance = Round(cations - anions, 2);
223 $('#balance').val(balance);
224 if (balance <= 0.1 && balance >= -0.1)
225 $('#wr_balance').html("<img src='images/dialog-ok-apply.png'>");
226 else if (balance <= 0.5 && balance >= -0.5)
227 $('#wr_balance').html("<img src='images/dialog-ok.png'>");
228 else
229 $('#wr_balance').html("<img src='images/dialog-error.png'>");
230 }
231
232 $('#calcium').on('change', function(event) {
233 dataRecord.calcium = parseFloat(event.args.value);
234 calcBalance();
235 });
236 $('#magnesium').on('change', function(event) {
237 dataRecord.magnesium = parseFloat(event.args.value);
238 calcBalance();
239 });
240 $('#sodium').on('change', function(event) {
241 dataRecord.sodium = parseFloat(event.args.value);
242 calcBalance();
243 });
216 $('#total_alkalinity').on('change', function(event) { 244 $('#total_alkalinity').on('change', function(event) {
245 dataRecord.total_alkalinity = parseFloat(event.args.value);
217 dataRecord.bicarbonate = parseFloat(event.args.value) * 1.22; 246 dataRecord.bicarbonate = parseFloat(event.args.value) * 1.22;
218 $('#bicarbonate').val(dataRecord.bicarbonate); 247 $('#bicarbonate').val(dataRecord.bicarbonate);
248 calcBalance();
219 }); 249 });
220 $('#bicarbonate').on('change', function(event) { 250 $('#bicarbonate').on('change', function(event) {
251 dataRecord.bicarbonate = parseFloat(event.args.value);
221 dataRecord.total_alkalinity = parseFloat(event.args.value) * 50 / 61; 252 dataRecord.total_alkalinity = parseFloat(event.args.value) * 50 / 61;
222 $('#total_alkalinity').val(dataRecord.total_alkalinity); 253 $('#total_alkalinity').val(dataRecord.total_alkalinity);
254 calcBalance();
255 });
256 $('#sulfate').on('change', function(event) {
257 dataRecord.sulfate = parseFloat(event.args.value);
258 calcBalance();
259 });
260 $('#chloride').on('change', function(event) {
261 dataRecord.chloride = parseFloat(event.args.value);
262 calcBalance();
223 }); 263 });
224 264
225 // initialize the popup window and buttons. 265 // initialize the popup window and buttons.
226 $('#popupWindow').jqxWindow({ 266 $('#popupWindow').jqxWindow({
227 width: 1050, 267 width: 1050,

mercurial