www/js/inv_waters.js

changeset 662
4bb005694ce7
parent 563
acdd54144838
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 *
54 $('#chloride').jqxTooltip({ content: 'Chloride (Cl).' }); 54 $('#chloride').jqxTooltip({ content: 'Chloride (Cl).' });
55 $('#sodium').jqxTooltip({ content: 'Natrium, oftewel keukenzout (Na). In berekeningen ook vaak als Sodium.' }); 55 $('#sodium').jqxTooltip({ content: 'Natrium, oftewel keukenzout (Na). In berekeningen ook vaak als Sodium.' });
56 $('#magnesium').jqxTooltip({ content: 'Magnesium (Mg).' }); 56 $('#magnesium').jqxTooltip({ content: 'Magnesium (Mg).' });
57 $('#ph').jqxTooltip({ content: 'De zuurgraad (pH).' }); 57 $('#ph').jqxTooltip({ content: 'De zuurgraad (pH).' });
58 $('#total_alkalinity').jqxTooltip({ content: 'Totale alkaliniteit. Berekend meteen de Bicarbonaat.' }); 58 $('#total_alkalinity').jqxTooltip({ content: 'Totale alkaliniteit. Berekend meteen de Bicarbonaat.' });
59 $('#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.' });
59 $('#inventory').jqxTooltip({ content: 'Voorraad in liters.' }); 60 $('#inventory').jqxTooltip({ content: 'Voorraad in liters.' });
60 $('#cost').jqxTooltip({ content: 'Kostprijs per liter. 5 cijfers achter de comma zodat het kraanwater er ook in kan.' }); 61 $('#cost').jqxTooltip({ content: 'Kostprijs per liter. 5 cijfers achter de comma zodat het kraanwater er ook in kan.' });
61 62
62 var dataRecord = {}, 63 var dataRecord = {},
63 url = 'includes/db_inventory_water.php', 64 url = 'includes/db_inventory_water.php',
149 $('#chloride').jqxNumberInput(Spin1dec); 150 $('#chloride').jqxNumberInput(Spin1dec);
150 $('#sodium').jqxNumberInput(Spin1dec); 151 $('#sodium').jqxNumberInput(Spin1dec);
151 $('#magnesium').jqxNumberInput(Spin1dec); 152 $('#magnesium').jqxNumberInput(Spin1dec);
152 $('#ph').jqxNumberInput(Spin2pH); 153 $('#ph').jqxNumberInput(Spin2pH);
153 $('#total_alkalinity').jqxNumberInput(Spin1dec); 154 $('#total_alkalinity').jqxNumberInput(Spin1dec);
155 $('#balance').jqxNumberInput(Show2dec);
154 $('#inventory').jqxNumberInput(Spin1dec); 156 $('#inventory').jqxNumberInput(Spin1dec);
155 $('#cost').jqxNumberInput({inputMode: 'simple', theme: theme, width: 110, height: 23, min: 0, decimalDigits: 5, spinButtons: true }); 157 $('#cost').jqxNumberInput({inputMode: 'simple', theme: theme, width: 110, height: 23, min: 0, decimalDigits: 5, spinButtons: true });
156 158
157 // initialize jqxGrid 159 // initialize jqxGrid
158 $('#jqxgrid').jqxGrid({ 160 $('#jqxgrid').jqxGrid({
229 $('#notes').val(dataRecord.notes); 231 $('#notes').val(dataRecord.notes);
230 $('#total_alkalinity').val(dataRecord.total_alkalinity); 232 $('#total_alkalinity').val(dataRecord.total_alkalinity);
231 $('#inventory').val(dataRecord.inventory); 233 $('#inventory').val(dataRecord.inventory);
232 $('#cost').val(dataRecord.cost); 234 $('#cost').val(dataRecord.cost);
233 // show the popup window. 235 // show the popup window.
236 calcBalance();
234 $('#popupWindow').jqxWindow('open'); 237 $('#popupWindow').jqxWindow('open');
235 } 238 }
236 } 239 }
237 ] 240 ]
238 }); 241 });
239 242
243 function calcBalance() {
244 var cations = (dataRecord.calcium / 20.039) + (dataRecord.magnesium / 12.1525) + (dataRecord.sodium / 22.989);
245 var anions = (dataRecord.bicarbonate / 61.016) + (dataRecord.sulfate / 48.031) + (dataRecord.chloride / 35.4527);
246 var balance = Round(cations - anions, 2);
247 $('#balance').val(balance);
248 if (balance <= 0.1 && balance >= -0.1)
249 $('#wr_balance').html("<img src='images/dialog-ok-apply.png'>");
250 else if (balance <= 0.5 && balance >= -0.5)
251 $('#wr_balance').html("<img src='images/dialog-ok.png'>");
252 else
253 $('#wr_balance').html("<img src='images/dialog-error.png'>");
254 }
255
256 $('#calcium').on('change', function(event) {
257 dataRecord.calcium = parseFloat(event.args.value);
258 calcBalance();
259 });
260 $('#magnesium').on('change', function(event) {
261 dataRecord.magnesium = parseFloat(event.args.value);
262 calcBalance();
263 });
264 $('#sodium').on('change', function(event) {
265 dataRecord.sodium = parseFloat(event.args.value);
266 calcBalance();
267 });
240 $('#total_alkalinity').on('change', function(event) { 268 $('#total_alkalinity').on('change', function(event) {
269 dataRecord.total_alkalinity = parseFloat(event.args.value);
241 dataRecord.bicarbonate = parseFloat(event.args.value) * 1.22; 270 dataRecord.bicarbonate = parseFloat(event.args.value) * 1.22;
242 $('#bicarbonate').val(dataRecord.bicarbonate); 271 $('#bicarbonate').val(dataRecord.bicarbonate);
272 calcBalance();
243 }); 273 });
244 $('#bicarbonate').on('change', function(event) { 274 $('#bicarbonate').on('change', function(event) {
275 dataRecord.bicarbonate = parseFloat(event.args.value);
245 dataRecord.total_alkalinity = parseFloat(event.args.value) * 50 / 61; 276 dataRecord.total_alkalinity = parseFloat(event.args.value) * 50 / 61;
246 $('#total_alkalinity').val(dataRecord.total_alkalinity); 277 $('#total_alkalinity').val(dataRecord.total_alkalinity);
278 calcBalance();
279 });
280 $('#sulfate').on('change', function(event) {
281 dataRecord.sulfate = parseFloat(event.args.value);
282 calcBalance();
283 });
284 $('#chloride').on('change', function(event) {
285 dataRecord.chloride = parseFloat(event.args.value);
286 calcBalance();
247 }); 287 });
248 288
249 // initialize the popup window and buttons. 289 // initialize the popup window and buttons.
250 $('#popupWindow').jqxWindow({ 290 $('#popupWindow').jqxWindow({
251 width: 1050, 291 width: 1050,

mercurial