www/js/prod_edit.js

Thu, 07 May 2020 11:33:54 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Thu, 07 May 2020 11:33:54 +0200
changeset 669
1a1cf5430f43
parent 667
1246550451ca
child 697
367ae7ff52f0
permissions
-rw-r--r--

Removed pitchrate 1.25 of ale above 1.076

111
8c4ba91adf58 Basic screens for brew products.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1 /*****************************************************************************
609
e9b108569818 Testing, bottle carbonation pressure display without residential pressure
Michiel Broek <mbroek@mbse.eu>
parents: 607
diff changeset
2 * Copyright (C) 2018-2020
111
8c4ba91adf58 Basic screens for brew products.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
3 *
8c4ba91adf58 Basic screens for brew products.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
4 * Michiel Broek <mbroek at mbse dot eu>
8c4ba91adf58 Basic screens for brew products.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
5 *
8c4ba91adf58 Basic screens for brew products.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
6 * This file is part of BMS
8c4ba91adf58 Basic screens for brew products.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
7 *
8c4ba91adf58 Basic screens for brew products.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
8 * This is free software; you can redistribute it and/or modify it
8c4ba91adf58 Basic screens for brew products.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
9 * under the terms of the GNU General Public License as published by the
8c4ba91adf58 Basic screens for brew products.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
10 * Free Software Foundation; either version 2, or (at your option) any
8c4ba91adf58 Basic screens for brew products.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
11 * later version.
8c4ba91adf58 Basic screens for brew products.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
12 *
8c4ba91adf58 Basic screens for brew products.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
13 * BrewCloud is distributed in the hope that it will be useful, but
8c4ba91adf58 Basic screens for brew products.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
14 * WITHOUT ANY WARRANTY; without even the implied warranty of
8c4ba91adf58 Basic screens for brew products.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
8c4ba91adf58 Basic screens for brew products.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
16 * General Public License for more details.
8c4ba91adf58 Basic screens for brew products.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
17 *
8c4ba91adf58 Basic screens for brew products.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
18 * You should have received a copy of the GNU General Public License
8c4ba91adf58 Basic screens for brew products.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
19 * along with ThermFerm; see the file COPYING. If not, write to the Free
8c4ba91adf58 Basic screens for brew products.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
20 * Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
8c4ba91adf58 Basic screens for brew products.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
21 *****************************************************************************/
8c4ba91adf58 Basic screens for brew products.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
22
8c4ba91adf58 Basic screens for brew products.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
23
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
24 function createDelElements() {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
25
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
26 $('#eventWindow').jqxWindow({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
27 theme: theme,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
28 position: { x: 490, y: 210 },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
29 width: 300,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
30 height: 175,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
31 resizable: false,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
32 isModal: true,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
33 modalOpacity: 0.4,
646
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
34 autoOpen: false,
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
35 okButton: $('#delOk'),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
36 cancelButton: $('#delCancel'),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
37 initContent: function() {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
38 $('#delOk').jqxButton({ template: 'danger', width: '65px', theme: theme });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
39 $('#delCancel').jqxButton({ template: 'success', width: '65px', theme: theme });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
40 $('#delCancel').focus();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
41 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
42 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
43 $('#eventWindow').jqxWindow('hide');
646
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
44
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
45 $('#volumeWindow').jqxWindow({
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
46 theme: theme,
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
47 position: { x: 380, y: 210 },
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
48 width: 500,
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
49 height: 200,
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
50 resizable: false,
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
51 isModal: true,
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
52 modalOpacity: 0.4,
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
53 autoOpen: false,
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
54 cancelButton: $('#volumeReady')
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
55 });
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
56 $('#volumeWindow').jqxWindow('hide');
112
7ef48396f705 Added some buttons. Only allow product delete if it has no serious data.
Michiel Broek <mbroek@mbse.eu>
parents: 111
diff changeset
57 }
7ef48396f705 Added some buttons. Only allow product delete if it has no serious data.
Michiel Broek <mbroek@mbse.eu>
parents: 111
diff changeset
58
7ef48396f705 Added some buttons. Only allow product delete if it has no serious data.
Michiel Broek <mbroek@mbse.eu>
parents: 111
diff changeset
59
7ef48396f705 Added some buttons. Only allow product delete if it has no serious data.
Michiel Broek <mbroek@mbse.eu>
parents: 111
diff changeset
60
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
61 $(document).ready(function() {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
62
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
63 var i,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
64 to_100 = false, // Fermentables adjust to 100%
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
65 preboil_sg = 0,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
66 aboil_sg = 0,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
67 est_mash_sg = 0,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
68 psugar = 0, // Percentage real sugars
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
69 pcara = 0, // Percentage cara/crystal malts
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
70 svg = 77, // Default attenuation
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
71 mashkg = 0, // Malt in mash weight
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
72 pitchrate = 0.75, // Yeast pitch rate default
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
73 initcells = 0, // Initial yeast cell count
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
74
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
75 ok_fermentables = 1, // Fermentables are in stock
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
76 ok_hops = 1, // Hops are in stock
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
77 ok_miscs = 1, // Miscs are in stock
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
78 ok_yeasts = 1, // Yeasts are in stock
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
79 ok_waters = 1, // Waters are in stock
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
80
643
9ac2fb6b1311 Added failsave starting calcWater() when the main data is not yet loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 642
diff changeset
81 data_loaded = 0;
642
9d1af81b20ef Limit debug ProtoDeficit error messages. If the need for a yeast starter changes, make sure the screen is updated. Another set of extra debug logs. Fixed try yeast starter. Several dropdown lists changed the action from change to select. This should fix te too early calculations while the data was not yet loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 641
diff changeset
82 error_count = 0;
646
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
83 k_cm = 0;
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
84 k_vol = 0;
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
85 k_what = 0;
642
9d1af81b20ef Limit debug ProtoDeficit error messages. If the need for a yeast starter changes, make sure the screen is updated. Another set of extra debug logs. Fixed try yeast starter. Several dropdown lists changed the action from change to select. This should fix te too early calculations while the data was not yet loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 641
diff changeset
86
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
87 hop_flavour = 0,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
88 hop_aroma = 0,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
89 mash_infuse = 0,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
90 last_base = '',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
91 last_acid = '',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
92
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
93 MMCa = 40.048,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
94 MMMg = 24.305,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
95 MMNa = 22.98976928,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
96 MMCl = 35.453,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
97 MMSO4 = 96.0626,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
98 MMHCO3 = 61.01684,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
99 MMCaSO4 = 172.171,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
100 MMCaCl2 = 147.015,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
101 MMCaCO3 = 100.087,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
102 MMMgSO4 = 246.475,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
103 MMNaHCO3 = 84.007,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
104 MMNa2CO3 = 105.996,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
105 MMNaCl = 58.443,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
106 MMCaOH2 = 74.06268,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
107
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
108 fermentableRow = 0,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
109 fermentableData = {},
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
110 fermentableInit = 1,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
111 hopRow = 0,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
112 hopData = {},
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
113 miscRow = 0,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
114 miscData = {},
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
115 yeastRow = 0,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
116 yeastData = {},
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
117 mashRow = 0,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
118 mashData = {},
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
119 Ka1 = 0.0000004445,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
120 Ka2 = 0.0000000000468,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
121 dataRecord = {},
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
122 url = 'includes/db_product.php',
484
2083c274b283 In the product editor mash tab, display the total mash volume and the total mash time.
Michiel Broek <mbroek@mbse.eu>
parents: 479
diff changeset
123 MaltVolume = 0.87, // l/kg 0.688 volgens internetbronnen, gemeten 0.874 l/kg, na enige tijd maischen 0,715 l/kg (A3 Otten).
667
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
124 SpecificHeatWater = 1.0,
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
125 SpecificHeatMalt = 0.399, //cal/g.°C
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
126 SlakingHeat = 10.318, //cal/g.°C
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
127
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
128 // Prepare the data
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
129 source = {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
130 datatype: 'json',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
131 cache: false,
638
736c8d29bc87 Binding the data earlier to try to prevent a race condition.
Michiel Broek <mbroek@mbse.eu>
parents: 637
diff changeset
132 async: true,
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
133 datafields: [
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
134 // From prod_main
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
135 { name: 'record', type: 'number' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
136 { name: 'uuid', type: 'string' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
137 { name: 'name', type: 'string' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
138 { name: 'code', type: 'string' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
139 { name: 'birth', type: 'string' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
140 { name: 'stage', type: 'int' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
141 { name: 'notes', type: 'string' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
142 { name: 'log_brew', type: 'int' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
143 { name: 'log_fermentation', type: 'int' },
602
10b61aacb1c1 New products field log_ispindel. Add check for ispindel log to crontasks.php Added log_ispindel to prod_edit, pprod_divide, prod_new and prod_duplicate. Renamed some log_fermentation vergisting names into klimaatkast.
Michiel Broek <mbroek@mbse.eu>
parents: 586
diff changeset
144 { name: 'log_ispindel', type: 'int' },
615
9034e65b0d7a Added CO2 carbonation log to the products database. Added button in the packaging tab.
Michiel Broek <mbroek@mbse.eu>
parents: 613
diff changeset
145 { name: 'log_co2pressure', type: 'int' },
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
146 { name: 'inventory_reduced', type: 'int' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
147 { name: 'locked', type: 'int' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
148 { name: 'eq_name', type: 'string' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
149 { name: 'eq_boil_size', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
150 { name: 'eq_batch_size', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
151 { name: 'eq_tun_volume', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
152 { name: 'eq_tun_weight', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
153 { name: 'eq_tun_specific_heat', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
154 { name: 'eq_tun_material', type: 'int' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
155 { name: 'eq_tun_height', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
156 { name: 'eq_top_up_water', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
157 { name: 'eq_trub_chiller_loss', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
158 { name: 'eq_evap_rate', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
159 { name: 'eq_boil_time', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
160 { name: 'eq_calc_boil_volume', type: 'int' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
161 { name: 'eq_top_up_kettle', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
162 { name: 'eq_hop_utilization', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
163 { name: 'eq_notes', type: 'string' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
164 { name: 'eq_lauter_volume', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
165 { name: 'eq_lauter_height', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
166 { name: 'eq_lauter_deadspace', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
167 { name: 'eq_kettle_volume', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
168 { name: 'eq_kettle_height', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
169 { name: 'eq_mash_volume', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
170 { name: 'eq_mash_max', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
171 { name: 'eq_efficiency', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
172 { name: 'brew_date_start', type: 'string' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
173 { name: 'brew_mash_ph', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
174 { name: 'brew_mash_sg', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
175 { name: 'brew_mash_efficiency', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
176 { name: 'brew_sparge_est', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
177 { name: 'brew_sparge_ph', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
178 { name: 'brew_preboil_volume', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
179 { name: 'brew_preboil_sg', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
180 { name: 'brew_preboil_ph', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
181 { name: 'brew_preboil_efficiency', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
182 { name: 'brew_aboil_volume', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
183 { name: 'brew_aboil_sg', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
184 { name: 'brew_aboil_ph', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
185 { name: 'brew_aboil_efficiency', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
186 { name: 'brew_cooling_method', type: 'int' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
187 { name: 'brew_cooling_time', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
188 { name: 'brew_cooling_to', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
189 { name: 'brew_whirlpool9', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
190 { name: 'brew_whirlpool7', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
191 { name: 'brew_whirlpool6', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
192 { name: 'brew_whirlpool2', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
193 { name: 'brew_fermenter_volume', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
194 { name: 'brew_fermenter_extrawater', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
195 { name: 'brew_fermenter_tcloss', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
196 { name: 'brew_aeration_time', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
197 { name: 'brew_aeration_speed', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
198 { name: 'brew_aeration_type', type: 'int' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
199 { name: 'brew_fermenter_sg', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
200 { name: 'brew_fermenter_ibu', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
201 { name: 'brew_fermenter_color', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
202 { name: 'brew_date_end', type: 'string' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
203 { name: 'og', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
204 { name: 'fg', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
205 { name: 'primary_start_temp', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
206 { name: 'primary_max_temp', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
207 { name: 'primary_end_temp', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
208 { name: 'primary_end_sg', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
209 { name: 'primary_end_date', type: 'string' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
210 { name: 'secondary_temp', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
211 { name: 'secondary_end_sg', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
212 { name: 'secondary_end_date', type: 'string' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
213 { name: 'tertiary_temp', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
214 { name: 'package_date', type: 'string' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
215 { name: 'package_volume', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
216 { name: 'package_infuse_amount', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
217 { name: 'package_infuse_abv', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
218 { name: 'package_infuse_notes', type: 'string' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
219 { name: 'package_abv', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
220 { name: 'package_ph', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
221 { name: 'bottle_amount', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
222 { name: 'bottle_carbonation', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
223 { name: 'bottle_priming_water', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
224 { name: 'bottle_priming_amount', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
225 { name: 'bottle_carbonation_temp', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
226 { name: 'keg_amount', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
227 { name: 'keg_carbonation', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
228 { name: 'keg_priming_water', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
229 { name: 'keg_priming_amount', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
230 { name: 'keg_carbonation_temp', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
231 { name: 'keg_forced_carb', type: 'int' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
232 { name: 'keg_pressure', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
233 { name: 'taste_notes', type: 'string' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
234 { name: 'taste_rate', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
235 { name: 'taste_date', type: 'string' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
236 { name: 'taste_color', type: 'string' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
237 { name: 'taste_transparency', type: 'string' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
238 { name: 'taste_head', type: 'string' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
239 { name: 'taste_aroma', type: 'string' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
240 { name: 'taste_taste', type: 'string' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
241 { name: 'taste_mouthfeel', type: 'string' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
242 { name: 'taste_aftertaste', type: 'string' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
243 { name: 'st_name', type: 'string' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
244 { name: 'st_letter', type: 'string' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
245 { name: 'st_guide', type: 'string' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
246 { name: 'st_category', type: 'string' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
247 { name: 'st_category_number', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
248 { name: 'st_type', type: 'int' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
249 { name: 'st_og_min', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
250 { name: 'st_og_max', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
251 { name: 'st_fg_min', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
252 { name: 'st_fg_max', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
253 { name: 'st_ibu_min', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
254 { name: 'st_ibu_max', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
255 { name: 'st_color_min', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
256 { name: 'st_color_max', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
257 { name: 'st_carb_min', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
258 { name: 'st_carb_max', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
259 { name: 'st_abv_min', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
260 { name: 'st_abv_max', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
261 { name: 'type', type: 'int' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
262 { name: 'batch_size', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
263 { name: 'boil_size', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
264 { name: 'boil_time', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
265 { name: 'efficiency', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
266 { name: 'est_og', type: 'float' },
616
2cbf21bb9bdc Added est_og3 field in the products database so that the checklist can use it.
Michiel Broek <mbroek@mbse.eu>
parents: 615
diff changeset
267 { name: 'est_og3', type: 'float' },
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
268 { name: 'est_fg', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
269 { name: 'est_abv', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
270 { name: 'est_color', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
271 { name: 'color_method', type: 'int' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
272 { name: 'est_ibu', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
273 { name: 'ibu_method', type: 'int' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
274 { name: 'est_carb', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
275 { name: 'sparge_temp', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
276 { name: 'sparge_ph', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
277 { name: 'sparge_volume', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
278 { name: 'sparge_source', type: 'int' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
279 { name: 'sparge_acid_type', type: 'int' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
280 { name: 'sparge_acid_perc', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
281 { name: 'sparge_acid_amount', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
282 { name: 'mash_ph', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
283 { name: 'mash_name', type: 'string' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
284 { name: 'calc_acid', type: 'int' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
285 { name: 'w1_name', type: 'string' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
286 { name: 'w1_amount', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
287 { name: 'w1_calcium', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
288 { name: 'w1_sulfate', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
289 { name: 'w1_chloride', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
290 { name: 'w1_sodium', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
291 { name: 'w1_magnesium', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
292 { name: 'w1_total_alkalinity', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
293 { name: 'w1_ph', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
294 { name: 'w1_cost', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
295 { name: 'w2_name', type: 'string' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
296 { name: 'w2_amount', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
297 { name: 'w2_calcium', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
298 { name: 'w2_sulfate', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
299 { name: 'w2_chloride', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
300 { name: 'w2_sodium', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
301 { name: 'w2_magnesium', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
302 { name: 'w2_total_alkalinity', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
303 { name: 'w2_ph', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
304 { name: 'w2_cost', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
305 { name: 'wg_amount', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
306 { name: 'wg_calcium', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
307 { name: 'wg_sulfate', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
308 { name: 'wg_chloride', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
309 { name: 'wg_sodium', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
310 { name: 'wg_magnesium', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
311 { name: 'wg_total_alkalinity', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
312 { name: 'wg_ph', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
313 { name: 'wb_calcium', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
314 { name: 'wb_sulfate', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
315 { name: 'wb_chloride', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
316 { name: 'wb_sodium', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
317 { name: 'wb_magnesium', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
318 { name: 'wb_total_alkalinity', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
319 { name: 'wb_ph', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
320 { name: 'wa_acid_name', type: 'int' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
321 { name: 'wa_acid_perc', type: 'int' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
322 { name: 'wa_base_name', type: 'int' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
323 { name: 'starter_enable', type: 'int' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
324 { name: 'starter_type', type: 'int' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
325 { name: 'starter_sg', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
326 { name: 'starter_viability', type: 'int' },
617
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
327 { name: 'yeast_prod_date', type: 'string' },
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
328 { name: 'prop1_type', type: 'int' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
329 { name: 'prop1_volume', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
330 { name: 'prop2_type', type: 'int' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
331 { name: 'prop2_volume', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
332 { name: 'prop3_type', type: 'int' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
333 { name: 'prop3_volume', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
334 { name: 'prop4_type', type: 'int' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
335 { name: 'prop4_volume', type: 'float' },
497
0fe366d953ab Prepare screens for product divide batch.
Michiel Broek <mbroek@mbse.eu>
parents: 495
diff changeset
336 { name: 'divide_type', type: 'int' },
0fe366d953ab Prepare screens for product divide batch.
Michiel Broek <mbroek@mbse.eu>
parents: 495
diff changeset
337 { name: 'divide_size', type: 'float' },
533
be8691b7d634 Added the product divide scripts. All parts have all the volumes and weights divided, including the master record. Splitted batches have their own records with the product code formatted as code-n. From this design, we can rebuild the print and checklist.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
338 { name: 'divide_factor', type: 'float' },
497
0fe366d953ab Prepare screens for product divide batch.
Michiel Broek <mbroek@mbse.eu>
parents: 495
diff changeset
339 { name: 'divide_parts', type: 'int' },
533
be8691b7d634 Added the product divide scripts. All parts have all the volumes and weights divided, including the master record. Splitted batches have their own records with the product code formatted as code-n. From this design, we can rebuild the print and checklist.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
340 { name: 'divide_part', type: 'int' },
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
341 { name: 'fermentables', type: 'array' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
342 { name: 'hops', type: 'array' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
343 { name: 'miscs', type: 'array' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
344 { name: 'yeasts', type: 'array' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
345 { name: 'mashs', type: 'array' }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
346 ],
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
347 id: 'record',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
348 url: url + '?record=' + my_record
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
349 },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
350
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
351 // Load data and select one record.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
352 dataAdapter = new $.jqx.dataAdapter(source, {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
353 loadComplete: function() {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
354 var records = dataAdapter.records;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
355 dataRecord = records[0];
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
356 // Hidden record uuid
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
357 $('#name').val(dataRecord.name);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
358 $('#code').val(dataRecord.code);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
359 $('#birth').val(dataRecord.birth);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
360 $('#stage').val(StageData[dataRecord.stage].nl);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
361 $('#notes').val(dataRecord.notes);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
362 $('#locked').val(dataRecord.locked);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
363 $('#eq_name').val(dataRecord.eq_name);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
364 $('#eq_notes').val(dataRecord.eq_notes);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
365 $('#eq_boil_size').val(dataRecord.eq_boil_size);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
366 $('#eq_batch_size').val(dataRecord.eq_batch_size);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
367 $('#eq_tun_volume').val(dataRecord.eq_tun_volume);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
368 $('#eq_top_up_water').val(dataRecord.eq_top_up_water);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
369 $('#eq_trub_chiller_loss').val(dataRecord.eq_trub_chiller_loss);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
370 $('#eq_evap_rate').val(dataRecord.eq_evap_rate);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
371 $('#eq_boil_time').val(dataRecord.eq_boil_time);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
372 $('#eq_top_up_kettle').val(dataRecord.eq_top_up_kettle);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
373 $('#eq_hop_utilization').val(dataRecord.eq_hop_utilization);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
374 $('#eq_lauter_volume').val(dataRecord.eq_lauter_volume);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
375 $('#eq_lauter_deadspace').val(dataRecord.eq_lauter_deadspace);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
376 $('#eq_kettle_volume').val(dataRecord.eq_kettle_volume);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
377 $('#eq_mash_volume').val(dataRecord.eq_mash_volume);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
378 $('#eq_mash_max').val(dataRecord.eq_mash_max);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
379 $('#eq_efficiency').val(dataRecord.eq_efficiency);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
380 // Brewdate
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
381 $('#brew_date_start').val(dataRecord.brew_date_start);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
382 $('#brew_mash_ph').val(dataRecord.brew_mash_ph);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
383 $('#brew_mash_sg').val(dataRecord.brew_mash_sg);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
384 $('#brew_mash_efficiency').val(dataRecord.brew_mash_efficiency);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
385 // Header Spoelen en filteren
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
386 $('#brew_sparge_temperature').val(dataRecord.sparge_temp);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
387 $('#brew_sparge_volume').val(dataRecord.sparge_volume);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
388 $('#brew_sparge_est').val(dataRecord.brew_sparge_est);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
389 $('#brew_sparge_ph').val(dataRecord.brew_sparge_ph);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
390 // Header Beluchten
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
391 $('#brew_aeration_type').val(dataRecord.brew_aeration_type);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
392 $('#brew_aeration_time').val(dataRecord.brew_aeration_time);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
393 $('#brew_aeration_speed').val(dataRecord.brew_aeration_speed);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
394
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
395 $('#brew_preboil_ph').val(dataRecord.brew_preboil_ph);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
396 $('#brew_preboil_sg').val(dataRecord.brew_preboil_sg);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
397 $('#brew_preboil_volume').val(dataRecord.brew_preboil_volume);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
398 $('#brew_preboil_efficiency').val(dataRecord.brew_preboil_efficiency);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
399 // Header Koelen en whirlpoolen
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
400 $('#brew_whirlpool9').val(dataRecord.brew_whirlpool9);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
401 $('#brew_whirlpool7').val(dataRecord.brew_whirlpool7);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
402 $('#brew_whirlpool6').val(dataRecord.brew_whirlpool6);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
403 $('#brew_whirlpool2').val(dataRecord.brew_whirlpool2);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
404 // Header Naar gistvat
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
405 $('#brew_fermenter_volume').val(dataRecord.brew_fermenter_volume);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
406 $('#brew_fermenter_sg').val(dataRecord.brew_fermenter_sg);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
407 $('#brew_fermenter_sg2').val(dataRecord.brew_fermenter_sg);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
408 $('#brew_fermenter_ibu').val(dataRecord.brew_fermenter_ibu);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
409 $('#brew_fermenter_color').val(dataRecord.brew_fermenter_color);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
410 $('#brew_fermenter_extrawater').val(dataRecord.brew_fermenter_extrawater);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
411 $('#brew_fermenter_tcloss').val(dataRecord.brew_fermenter_tcloss);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
412
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
413 $('#brew_aboil_ph').val(dataRecord.brew_aboil_ph);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
414 $('#brew_aboil_sg').val(dataRecord.brew_aboil_sg);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
415 $('#brew_aboil_volume').val(dataRecord.brew_aboil_volume);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
416 $('#brew_aboil_efficiency').val(dataRecord.brew_aboil_efficiency);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
417 // Header Koelen en whirlpoolen
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
418 $('#brew_cooling_to').val(dataRecord.brew_cooling_to);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
419 $('#brew_cooling_method').val(dataRecord.brew_cooling_method);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
420 $('#brew_cooling_time').val(dataRecord.brew_cooling_time);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
421 // Niks
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
422 $('#brew_date_end').val(dataRecord.brew_date_end);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
423 $('#og').val(dataRecord.og);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
424 $('#fg').val(dataRecord.fg);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
425 $('#primary_start_temp').val(dataRecord.primary_start_temp);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
426 $('#primary_max_temp').val(dataRecord.primary_max_temp);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
427 $('#primary_end_temp').val(dataRecord.primary_end_temp);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
428 $('#primary_end_sg').val(dataRecord.primary_end_sg);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
429 $('#primary_end_date').val(dataRecord.primary_end_date);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
430 $('#secondary_temp').val(dataRecord.secondary_temp);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
431 $('#secondary_end_sg').val(dataRecord.secondary_end_sg);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
432 $('#secondary_end_date').val(dataRecord.secondary_end_date);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
433 $('#tertiary_temp').val(dataRecord.tertiary_temp);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
434 $('#package_date').val(dataRecord.package_date);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
435 $('#package_volume').val(dataRecord.package_volume);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
436 $('#package_infuse_amount').val(dataRecord.package_infuse_amount);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
437 $('#package_infuse_abv').val(dataRecord.package_infuse_abv);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
438 $('#package_infuse_notes').val(dataRecord.package_infuse_notes);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
439 $('#package_abv').val(dataRecord.package_abv);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
440 $('#package_ph').val(dataRecord.package_ph);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
441 $('#bottle_amount').val(dataRecord.bottle_amount);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
442 $('#bottle_carbonation').val(dataRecord.bottle_carbonation);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
443 $('#bottle_priming_water').val(dataRecord.bottle_priming_water);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
444 $('#bottle_priming_amount').val(dataRecord.bottle_priming_amount);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
445 $('#bottle_carbonation_temp').val(dataRecord.bottle_carbonation_temp);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
446 $('#keg_amount').val(dataRecord.keg_amount);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
447 $('#keg_carbonation').val(dataRecord.keg_carbonation);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
448 $('#keg_priming_water').val(dataRecord.keg_priming_water);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
449 $('#keg_priming_amount').val(dataRecord.keg_priming_amount);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
450 $('#keg_carbonation_temp').val(dataRecord.keg_carbonation_temp);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
451 $('#keg_forced_carb').val(dataRecord.keg_forced_carb);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
452 $('#keg_pressure').val(dataRecord.keg_pressure);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
453 $('#taste_notes').val(dataRecord.taste_notes);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
454 $('#taste_rate').val(dataRecord.taste_rate);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
455 $('#taste_date').val(dataRecord.taste_date);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
456 $('#taste_color').val(dataRecord.taste_color);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
457 $('#taste_transparency').val(dataRecord.taste_transparency);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
458 $('#taste_head').val(dataRecord.taste_head);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
459 $('#taste_aroma').val(dataRecord.taste_aroma);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
460 $('#taste_taste').val(dataRecord.taste_taste);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
461 $('#taste_mouthfeel').val(dataRecord.taste_mouthfeel);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
462 $('#taste_aftertaste').val(dataRecord.taste_aftertaste);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
463
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
464 // Recipe
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
465 $('#st_name').val(dataRecord.st_name);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
466 $('#st_letter').val(dataRecord.st_letter);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
467 $('#st_guide').val(dataRecord.st_guide);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
468 $('#st_category').val(dataRecord.st_category);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
469 $('#st_category_number').val(dataRecord.st_category_number);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
470 $('#st_type').val(StyleTypeData[dataRecord.st_type].nl);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
471 $('#st_og_min').val(dataRecord.st_og_min);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
472 $('#st_og_max').val(dataRecord.st_og_max);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
473 $('#st_fg_min').val(dataRecord.st_fg_min);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
474 $('#st_fg_max').val(dataRecord.st_fg_max);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
475 $('#st_abv_min').val(dataRecord.st_abv_min);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
476 $('#st_abv_max').val(dataRecord.st_abv_max);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
477 $('#st_color_min').val(dataRecord.st_color_min);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
478 $('#st_color_max').val(dataRecord.st_color_max);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
479 $('#st_ibu_min').val(dataRecord.st_ibu_min);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
480 $('#st_ibu_max').val(dataRecord.st_ibu_max);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
481 $('#st_carb_min').val(dataRecord.st_carb_min);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
482 $('#st_carb_min2').val(dataRecord.st_carb_min);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
483 $('#st_carb_max').val(dataRecord.st_carb_max);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
484 $('#st_carb_max2').val(dataRecord.st_carb_max);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
485 $('#type').val(dataRecord.type);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
486 $('#batch_size').val(dataRecord.batch_size);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
487 $('#est_a_vol').val(dataRecord.batch_size * 1.04);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
488 $('#boil_size').val(dataRecord.boil_size);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
489 $('#est_pre_vol').val(dataRecord.boil_size * 1.04);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
490 $('#boil_time').val(dataRecord.boil_time);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
491 $('#efficiency').val(dataRecord.efficiency);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
492 $('#est_og').val(dataRecord.est_og);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
493 $('#est_og2').val(dataRecord.est_og);
616
2cbf21bb9bdc Added est_og3 field in the products database so that the checklist can use it.
Michiel Broek <mbroek@mbse.eu>
parents: 615
diff changeset
494 $('#est_og3').val(dataRecord.est_og3);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
495 $('#est_fg').val(dataRecord.est_fg);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
496 $('#est_fg2').val(dataRecord.est_fg);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
497 $('#est_fg3').val(dataRecord.est_fg);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
498 $('#est_color').val(dataRecord.est_color);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
499 $('#est_color2').val(dataRecord.est_color);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
500 $('#est_abv').val(dataRecord.est_abv);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
501 $('#color_method').val(dataRecord.color_method);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
502 $('#est_ibu').val(dataRecord.est_ibu);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
503 $('#est_ibu2').val(dataRecord.est_ibu);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
504 $('#ibu_method').val(dataRecord.ibu_method);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
505 $('#est_carb').val(dataRecord.est_carb);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
506 $('#mash_name').val(dataRecord.mash_name);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
507 $('#mash_ph').val(dataRecord.mash_ph);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
508 $('#sparge_temp').val(dataRecord.sparge_temp);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
509 $('#sparge_ph').val(dataRecord.sparge_ph);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
510 $('#sparge_volume').val(dataRecord.sparge_volume);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
511 $('#sparge_source').val(dataRecord.sparge_source);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
512 $('#sparge_acid_type').val(dataRecord.sparge_acid_type);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
513 $('#sparge_acid_perc').val(dataRecord.sparge_acid_perc);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
514 $('#sparge_acid_amount').val(dataRecord.sparge_acid_amount * 1000);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
515 $('#calc_acid').val(dataRecord.calc_acid);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
516 $('#w1_name').val(dataRecord.w1_name);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
517 $('#w1_amount').val(dataRecord.w1_amount);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
518 $('#w1_calcium').val(dataRecord.w1_calcium);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
519 $('#w1_sulfate').val(dataRecord.w1_sulfate);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
520 $('#w1_chloride').val(dataRecord.w1_chloride);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
521 $('#w1_sodium').val(dataRecord.w1_sodium);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
522 $('#w1_magnesium').val(dataRecord.w1_magnesium);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
523 $('#w1_total_alkalinity').val(dataRecord.w1_total_alkalinity);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
524 $('#w1_ph').val(dataRecord.w1_ph);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
525 $('#w1_cost').val(dataRecord.w1_cost);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
526 $('#w2_name').val(dataRecord.w2_name);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
527 $('#w2_amount').val(dataRecord.w2_amount);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
528 $('#w2_calcium').val(dataRecord.w2_calcium);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
529 $('#w2_sulfate').val(dataRecord.w2_sulfate);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
530 $('#w2_chloride').val(dataRecord.w2_chloride);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
531 $('#w2_sodium').val(dataRecord.w2_sodium);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
532 $('#w2_magnesium').val(dataRecord.w2_magnesium);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
533 $('#w2_total_alkalinity').val(dataRecord.w2_total_alkalinity);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
534 $('#w2_ph').val(dataRecord.w2_ph);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
535 $('#w2_cost').val(dataRecord.w2_cost);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
536 $('#wg_amount').val(dataRecord.wg_amount);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
537 $('#wg_calcium').val(dataRecord.wg_calcium);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
538 $('#wg_sulfate').val(dataRecord.wg_sulfate);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
539 $('#wg_chloride').val(dataRecord.wg_chloride);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
540 $('#wg_sodium').val(dataRecord.wg_sodium);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
541 $('#wg_magnesium').val(dataRecord.wg_magnesium);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
542 $('#wg_total_alkalinity').val(dataRecord.wg_total_alkalinity);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
543 $('#wg_ph').val(dataRecord.wg_ph);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
544 $('#wb_calcium').val(dataRecord.wb_calcium);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
545 $('#wb_sulfate').val(dataRecord.wb_sulfate);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
546 $('#wb_chloride').val(dataRecord.wb_chloride);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
547 $('#wb_sodium').val(dataRecord.wb_sodium);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
548 $('#wb_magnesium').val(dataRecord.wb_magnesium);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
549 $('#wb_total_alkalinity').val(dataRecord.wb_total_alkalinity);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
550 $('#wb_ph').val(dataRecord.wb_ph);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
551 $('#wa_acid_name').val(dataRecord.wa_acid_name);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
552 $('#wa_acid_perc').val(dataRecord.wa_acid_perc);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
553 $('#wa_base_name').val(dataRecord.wa_base_name);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
554 $('#starter_type').val(dataRecord.starter_type);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
555 $('#starter_sg').val(dataRecord.starter_sg);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
556 $('#starter_viability').val(dataRecord.starter_viability);
617
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
557 $('#yeast_prod_date').val(dataRecord.yeast_prod_date);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
558 $('#prop1_type').val(dataRecord.prop1_type);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
559 $('#prop1_volume').val(dataRecord.prop1_volume);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
560 $('#prop2_type').val(dataRecord.prop2_type);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
561 $('#prop2_volume').val(dataRecord.prop2_volume);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
562 $('#prop3_type').val(dataRecord.prop3_type);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
563 $('#prop3_volume').val(dataRecord.prop3_volume);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
564 $('#prop4_type').val(dataRecord.prop4_type);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
565 $('#prop4_volume').val(dataRecord.prop4_volume);
500
8d53ad389204 Reworked the splitted batches, the data is now in a separate table and there is only one product record.
Michiel Broek <mbroek@mbse.eu>
parents: 497
diff changeset
566 $('#divide_type').val(SplitData[dataRecord.divide_type].nl);
545
f71079a45f5c More screen improvements. Updated the design README.
Michiel Broek <mbroek@mbse.eu>
parents: 544
diff changeset
567 if (dataRecord.divide_type > 0)
f71079a45f5c More screen improvements. Updated the design README.
Michiel Broek <mbroek@mbse.eu>
parents: 544
diff changeset
568 $('#divide_batch').val((dataRecord.divide_part + 1) + ' van ' + (dataRecord.divide_parts + 1));
f71079a45f5c More screen improvements. Updated the design README.
Michiel Broek <mbroek@mbse.eu>
parents: 544
diff changeset
569 else
f71079a45f5c More screen improvements. Updated the design README.
Michiel Broek <mbroek@mbse.eu>
parents: 544
diff changeset
570 $('#divide_batch').val('n.v.t.');
497
0fe366d953ab Prepare screens for product divide batch.
Michiel Broek <mbroek@mbse.eu>
parents: 495
diff changeset
571 // hidden divide_size
533
be8691b7d634 Added the product divide scripts. All parts have all the volumes and weights divided, including the master record. Splitted batches have their own records with the product code formatted as code-n. From this design, we can rebuild the print and checklist.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
572 // hidden divide_factor
544
f3faa54581ff Better way to show splitted batches. Added flameout calculations to the php scripts.
Michiel Broek <mbroek@mbse.eu>
parents: 542
diff changeset
573 // hidden divide_parts
533
be8691b7d634 Added the product divide scripts. All parts have all the volumes and weights divided, including the master record. Splitted batches have their own records with the product code formatted as code-n. From this design, we can rebuild the print and checklist.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
574 // hidden divide_part
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
575 editFermentable(dataRecord);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
576 editHop(dataRecord);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
577 editMisc(dataRecord);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
578 editYeast(dataRecord);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
579 editMash(dataRecord);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
580 calcStage();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
581 $('#jqxTabs').jqxTabs('select', 2);
643
9ac2fb6b1311 Added failsave starting calcWater() when the main data is not yet loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 642
diff changeset
582 data_loaded = 1;
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
583 },
640
048932246071 Loading changes
Michiel Broek <mbroek@mbse.eu>
parents: 639
diff changeset
584 loadError: function(jqXHR, status, error) {
639
71c6bbd7d4e6 Yet another debug trick
Michiel Broek <mbroek@mbse.eu>
parents: 638
diff changeset
585 console.log('main data load error: ' + status + ' ' + error);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
586 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
587 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
588
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
589 // Inline fermentables editor
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
590 var editFermentable = function(data) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
591 var fermentableSource = {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
592 localdata: data.fermentables,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
593 datatype: 'local',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
594 cache: false,
641
ab6423be2a1e A lot more debug messages
Michiel Broek <mbroek@mbse.eu>
parents: 640
diff changeset
595 async: true,
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
596 datafields: [
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
597 { name: 'f_name', type: 'string' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
598 { name: 'f_origin', type: 'string' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
599 { name: 'f_supplier', type: 'string' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
600 { name: 'f_amount', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
601 { name: 'f_cost', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
602 { name: 'f_type', type: 'int' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
603 { name: 'f_yield', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
604 { name: 'f_color', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
605 { name: 'f_coarse_fine_diff', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
606 { name: 'f_moisture', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
607 { name: 'f_diastatic_power', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
608 { name: 'f_protein', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
609 { name: 'f_max_in_batch', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
610 { name: 'f_graintype', type: 'int' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
611 { name: 'f_added', type: 'int' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
612 { name: 'f_dissolved_protein', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
613 { name: 'f_recommend_mash', type: 'int' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
614 { name: 'f_add_after_boil', type: 'int' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
615 { name: 'f_adjust_to_total_100', type: 'int' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
616 { name: 'f_percentage', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
617 { name: 'f_di_ph', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
618 { name: 'f_acid_to_ph_57', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
619 { name: 'f_inventory', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
620 { name: 'f_avail', type: 'int' }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
621 ],
644
4654b8ee4690 Version 0.3.30 Code and logging cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 643
diff changeset
622 addrow: function(rowid, rowdata, position, commit) { commit(true); },
4654b8ee4690 Version 0.3.30 Code and logging cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 643
diff changeset
623 deleterow: function(rowid, commit) { commit(true); },
4654b8ee4690 Version 0.3.30 Code and logging cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 643
diff changeset
624 updaterow: function(rowid, rowdata, commit) { commit(true); }
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
625 },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
626 fermentableAdapter = new $.jqx.dataAdapter(fermentableSource);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
627
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
628 $('#fermentableGrid').jqxGrid({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
629 width: 1240,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
630 height: 470,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
631 source: fermentableAdapter,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
632 theme: theme,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
633 selectionmode: 'singlerow',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
634 showtoolbar: true,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
635 rendertoolbar: function(toolbar) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
636 var container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
637 toolbar.append(container);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
638 container.append('<div style="float: left; margin-left: 165px;" id="faddrowbutton"></div>');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
639 container.append('<div style="float: left; margin-left: 10px; margin-top: 5px;">In voorraad:</div>');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
640 container.append('<div style="float: left; margin-left: 10px;" id="finstockbutton"></div>');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
641 container.append('<input style="float: left; margin-left: 400px;" id="fdeleterowbutton" type="button" value="Verwijder mout" />');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
642 // add fermentable from dropdownlist.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
643 $('#faddrowbutton').jqxDropDownList({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
644 placeHolder: 'Kies mout:',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
645 theme: theme,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
646 template: 'primary',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
647 source: fermentablelist,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
648 displayMember: 'name',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
649 disabled: (dataRecord.stage > 3),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
650 width: 150,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
651 height: 27,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
652 dropDownWidth: 500,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
653 dropDownHeight: 500,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
654 renderer: function(index, label, value) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
655 var datarecord = fermentablelist.records[index];
564
d5fad7d80899 When adding fermentables or hops to a product, show the current inventory in the dropdownlist.
Michiel Broek <mbroek@mbse.eu>
parents: 561
diff changeset
656 return datarecord.supplier + ' / ' + datarecord.name + ' (' + datarecord.color + ' EBC) (' + Round(datarecord.inventory, 3) + ' kg)';
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
657 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
658 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
659 $('#faddrowbutton').on('select', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
660 if (event.args) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
661 var index, datarecord, row = {}, rowscount = $('#fermentableGrid').jqxGrid('getdatainformation').rowscount;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
662 index = event.args.index;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
663 datarecord = fermentablelist.records[index];
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
664 row['f_name'] = datarecord.name;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
665 row['f_origin'] = datarecord.origin;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
666 row['f_supplier'] = datarecord.supplier;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
667 row['f_amount'] = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
668 row['f_cost'] = datarecord.cost;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
669 row['f_type'] = datarecord.type;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
670 row['f_yield'] = datarecord.yield;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
671 row['f_color'] = datarecord.color;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
672 row['f_coarse_fine_diff'] = datarecord.coarse_fine_diff;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
673 row['f_moisture'] = datarecord.moisture;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
674 row['f_diastatic_power'] = datarecord.diastatic_power;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
675 row['f_protein'] = datarecord.protein;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
676 row['f_max_in_batch'] = datarecord.max_in_batch;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
677 row['f_graintype'] = datarecord.graintype;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
678 if (datarecord.add_after_boil) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
679 row['f_added'] = 2; // Fermentation
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
680 } else if ((datarecord.type == 1) || (datarecord.type == 4)) { // Sugar or Adjunct
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
681 row['f_added'] = 1; // Boil
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
682 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
683 row['f_added'] = 0; // Mash
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
684 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
685 row['f_dissolved_protein'] = datarecord.dissolved_protein;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
686 row['f_recommend_mash'] = datarecord.recommend_mash;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
687 row['f_add_after_boil'] = datarecord.add_after_boil;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
688 if (rowscount == 0) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
689 // The first fermentable
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
690 row['f_adjust_to_total_100'] = 1;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
691 row['f_percentage'] = 100;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
692 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
693 row['f_adjust_to_total_100'] = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
694 row['f_percentage'] = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
695 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
696 row['f_di_ph'] = datarecord.di_ph;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
697 row['f_acid_to_ph_57'] = datarecord.acid_to_ph_57;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
698 row['f_inventory'] = datarecord.inventory;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
699 $('#fermentableGrid').jqxGrid('addrow', null, row);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
700 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
701 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
702
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
703 $('#finstockbutton').jqxCheckBox({ theme: theme, height: 27, disabled: (dataRecord.stage > 3) });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
704 $('#finstockbutton').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
705 fermentableinstock = event.args.checked;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
706 fermentablelist.dataBind();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
707 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
708
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
709 // delete selected fermentable.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
710 $('#fdeleterowbutton').jqxButton({ template: 'danger', theme: theme, height: 27, width: 150, disabled: (dataRecord.stage > 3) });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
711 $('#fdeleterowbutton').on('click', function() {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
712 var rowscount, id, percent, amount, i, rowdata,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
713 selectedrowindex = $('#fermentableGrid').jqxGrid('getselectedrowindex');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
714 rowscount = $('#fermentableGrid').jqxGrid('getdatainformation').rowscount;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
715 if (selectedrowindex >= 0 && selectedrowindex < rowscount) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
716 id = $('#fermentableGrid').jqxGrid('getrowid', selectedrowindex);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
717 percent = $('#fermentableGrid').jqxGrid('getcellvalue', id, 'f_percentage');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
718 amount = $('#fermentableGrid').jqxGrid('getcellvalue', id, 'f_amount');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
719 $('#fermentableGrid').jqxGrid('deleterow', id);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
720 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
721 rowscount = $('#fermentableGrid').jqxGrid('getdatainformation').rowscount;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
722 if (rowscount > 1) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
723 if (to_100) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
724 for (i = 0; i < rowscount; i++) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
725 rowdata = $('#fermentableGrid').jqxGrid('getrowdata', i);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
726 if (rowdata.f_adjust_to_total_100) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
727 rowdata.f_percentage += percent;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
728 rowdata.f_amount += amount;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
729 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
730 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
731 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
732 calcPercentages();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
733 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
734 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
735 $('#fermentableGrid').jqxGrid('setcellvalue', 0, 'f_percentage', 100);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
736 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
737 calcFermentables();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
738 calcIBUs();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
739 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
740 },
648
ee69b01fcb0e Code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 647
diff changeset
741 ready: function() { calcFermentables(); $('#jqxTabs').jqxTabs('next'); },
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
742 columns: [
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
743 { text: 'Vergistbaar ingredi&euml;nt', datafield: 'f_name',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
744 cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
745 return '<span style="margin: 3px; margin-top: 6px; float: left;">' + rowdata.f_supplier + ' / ' +
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
746 rowdata.f_name + ' (' + rowdata.f_color + ' EBC)</span>';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
747 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
748 },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
749 { text: 'Type', width: 100, datafield: 'f_type',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
750 cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
751 return '<span style="margin: 3px; margin-top: 6px; float: left;">' + FermentableTypeData[value].nl + '</span>';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
752 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
753 },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
754 { text: 'Moment', width: 110, datafield: 'f_added',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
755 cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
756 return '<span style="margin: 3px; margin-top: 6px; float: left;">' + AddedData[value].nl + '</span>';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
757 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
758 },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
759 { text: 'Maxinbatch', datafield: 'f_max_in_batch', hidden: true },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
760 { text: 'Opbrengst', datafield: 'f_yield', width: 90, align: 'right', cellsalign: 'right', cellsformat: 'p1' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
761 { text: 'Gewicht Kg', datafield: 'f_amount', width: 120, align: 'right', cellsalign: 'right', cellsformat: 'f3' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
762 { text: 'Voorraad Kg', datafield: 'f_inventory', width: 120, align: 'right',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
763 cellsrenderer: function(row, columnfield, value, defaulthtml, columnproperties, rowdata) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
764 var color = '#ffffff';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
765 if (((dataRecord.inventory_reduced <= 2) && (rowdata.f_added <= 1)) || // Mash or boil
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
766 ((dataRecord.inventory_reduced <= 3) && (rowdata.f_added == 2)) || // Primary
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
767 ((dataRecord.inventory_reduced <= 5) && (rowdata.f_added == 3)) || // Secondary or Tertiary
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
768 ((dataRecord.inventory_reduced <= 6) && (rowdata.f_added == 4)) || // Bottle
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
769 ((dataRecord.inventory_reduced <= 6) && (rowdata.f_added == 5))) { // Kegs
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
770 if (value < rowdata.f_amount)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
771 color = '#ff4040';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
772 return '<span style="margin: 4px; margin-top: 6px; float: right; color: ' + color + ';">' + fermentableAdapter.formatNumber(value, 'f3') + '</span>';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
773 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
774 return '<span></span>';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
775 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
776 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
777 },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
778 { text: 'Procent', datafield: 'f_percentage', width: 90, align: 'right',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
779 cellsrenderer: function(row, columnfield, value, defaulthtml, columnproperties, rowdata) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
780 if (rowdata.f_added >= 4)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
781 return '<span></span>';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
782 var color = '#ffffff';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
783 if (value > rowdata.f_max_in_batch)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
784 color = '#ff4040';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
785 return '<span style="margin: 4px; margin-top: 6px; float: right; color: ' + color + ';">' + fermentableAdapter.formatNumber(value, 'p1') + '</span>';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
786 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
787 },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
788 { text: '100%', datafield: 'f_adjust_to_total_100', width: 70, align: 'center', cellsalign: 'center',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
789 cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
790 if (value == 0)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
791 return '<span></span>';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
792 return '<span><img style="float:left; margin-left:25px; margin-top:4px;" src="images/dialog-ok-apply.png"></span>';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
793 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
794 },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
795 { text: '', datafield: 'Edit', columntype: 'button', width: 100, align: 'center',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
796 cellsrenderer: function() {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
797 return 'Wijzig';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
798 }, buttonclick: function(row) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
799 fermentableRow = row;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
800 fermentableData = $('#fermentableGrid').jqxGrid('getrowdata', fermentableRow);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
801 if (fermentableData.f_added >= 4) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
802 alert('Wijzig dit in de Verpakken tab');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
803 } else if (dataRecord.stage > 3) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
804 alert('Ingredieënt is al verwerkt.');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
805 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
806 $('#wf_name').val(fermentableData.f_name);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
807 $('#wf_amount').val(fermentableData.f_amount);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
808 $('#wf_percentage').val(fermentableData.f_percentage);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
809 $('#wf_max_in_batch').val(fermentableData.f_max_in_batch);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
810 $('#wf_adjust_to_total_100').val(fermentableData.f_adjust_to_total_100);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
811 $('#wf_added').val(fermentableData.f_added);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
812 // show the popup window.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
813 $('#popupFermentable').jqxWindow('open');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
814 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
815 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
816 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
817 ]
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
818 });
525
8bbc5730aaa8 Code cleanup and manual compress
Michiel Broek <mbroek@mbse.eu>
parents: 518
diff changeset
819 };
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
820
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
821 // Inline hops editor
525
8bbc5730aaa8 Code cleanup and manual compress
Michiel Broek <mbroek@mbse.eu>
parents: 518
diff changeset
822 var editHop = function(data) {
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
823 var hopSource = {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
824 localdata: data.hops,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
825 datatype: 'local',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
826 cache: false,
641
ab6423be2a1e A lot more debug messages
Michiel Broek <mbroek@mbse.eu>
parents: 640
diff changeset
827 async: true,
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
828 datafields: [
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
829 { name: 'h_name', type: 'string' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
830 { name: 'h_origin', type: 'string' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
831 { name: 'h_amount', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
832 { name: 'h_cost', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
833 { name: 'h_type', type: 'int' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
834 { name: 'h_form', type: 'int' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
835 { name: 'h_useat', type: 'int' },
538
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
836 { name: 'h_time', type: 'int' },
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
837 { name: 'h_alpha', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
838 { name: 'h_beta', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
839 { name: 'h_hsi', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
840 { name: 'h_humulene', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
841 { name: 'h_caryophyllene', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
842 { name: 'h_cohumulone', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
843 { name: 'h_myrcene', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
844 { name: 'h_total_oil', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
845 { name: 'h_inventory', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
846 { name: 'h_avail', type: 'int' }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
847 ],
641
ab6423be2a1e A lot more debug messages
Michiel Broek <mbroek@mbse.eu>
parents: 640
diff changeset
848 addrow: function(rowid, rowdata, position, commit) { commit(true); },
ab6423be2a1e A lot more debug messages
Michiel Broek <mbroek@mbse.eu>
parents: 640
diff changeset
849 deleterow: function(rowid, commit) { commit(true); },
ab6423be2a1e A lot more debug messages
Michiel Broek <mbroek@mbse.eu>
parents: 640
diff changeset
850 updaterow: function(rowid, rowdata, commit) { commit(true); }
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
851 },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
852 hopAdapter = new $.jqx.dataAdapter(hopSource);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
853
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
854 $('#hopGrid').jqxGrid({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
855 width: 1240,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
856 height: 560,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
857 source: hopAdapter,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
858 theme: theme,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
859 selectionmode: 'singlerow',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
860 showtoolbar: true,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
861 rendertoolbar: function(toolbar) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
862 var container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
863 toolbar.append(container);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
864 container.append('<div style="float: left; margin-left: 165px;" id="haddrowbutton"></div>');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
865 container.append('<div style="float: left; margin-left: 10px; margin-top: 5px;">In voorraad:</div>');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
866 container.append('<div style="float: left; margin-left: 10px;" id="hinstockbutton"></div>');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
867 container.append('<input style="float: left; margin-left: 400px;" id="hdeleterowbutton" type="button" value="Verwijder hop" />');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
868 // add hop from dropdownlist.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
869 $('#haddrowbutton').jqxDropDownList({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
870 placeHolder: 'Kies hop:',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
871 theme: theme,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
872 template: 'primary',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
873 source: hoplist,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
874 disabled: (dataRecord.stage > 3),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
875 displayMember: 'name',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
876 width: 150,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
877 height: 27,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
878 dropDownWidth: 500,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
879 dropDownHeight: 500,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
880 renderer: function(index, label, value) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
881 var datarecord = hoplist.records[index];
564
d5fad7d80899 When adding fermentables or hops to a product, show the current inventory in the dropdownlist.
Michiel Broek <mbroek@mbse.eu>
parents: 561
diff changeset
882 return datarecord.origin + ' - ' + datarecord.name + ' / ' + HopFormData[datarecord.form].nl + ' (' + datarecord.alpha + '% &alpha;) (' +
d5fad7d80899 When adding fermentables or hops to a product, show the current inventory in the dropdownlist.
Michiel Broek <mbroek@mbse.eu>
parents: 561
diff changeset
883 Round(datarecord.inventory * 1000.0, 1) + ' gr)';
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
884 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
885 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
886 $('#haddrowbutton').on('select', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
887 if (event.args) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
888 var datarecord, row = {}, index = event.args.index;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
889 datarecord = hoplist.records[index];
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
890 row['h_name'] = datarecord.name;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
891 row['h_origin'] = datarecord.origin;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
892 row['h_amount'] = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
893 row['h_cost'] = datarecord.cost;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
894 row['h_type'] = datarecord.type;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
895 row['h_form'] = datarecord.form;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
896 row['h_useat'] = 2; // Boil
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
897 row['h_time'] = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
898 row['h_alpha'] = datarecord.alpha;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
899 row['h_beta'] = datarecord.beta;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
900 row['h_hsi'] = datarecord.hsi;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
901 row['h_humulene'] = datarecord.humulene;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
902 row['h_caryophyllene'] = datarecord.caryophyllene;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
903 row['h_cohumulone'] = datarecord.cohumulone;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
904 row['h_myrcene'] = datarecord.myrcene;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
905 row['h_total_oil'] = datarecord.total_oil;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
906 row['h_inventory'] = datarecord.inventory;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
907 $('#hopGrid').jqxGrid('addrow', null, row);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
908 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
909 $('#haddrowbutton').jqxDropDownList('clearSelection');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
910 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
911
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
912 $('#hinstockbutton').jqxCheckBox({ theme: theme, height: 27, disabled: (dataRecord.stage > 3) });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
913 $('#hinstockbutton').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
914 hopinstock = event.args.checked;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
915 hoplist.dataBind();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
916 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
917
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
918 // delete selected hop.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
919 $('#hdeleterowbutton').jqxButton({ template: 'danger', theme: theme, height: 27, width: 150, disabled: (dataRecord.stage > 3) });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
920 $('#hdeleterowbutton').on('click', function() {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
921 var rowscount, id, selectedrowindex = $('#hopGrid').jqxGrid('getselectedrowindex');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
922 rowscount = $('#hopGrid').jqxGrid('getdatainformation').rowscount;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
923 if (selectedrowindex >= 0 && selectedrowindex < rowscount) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
924 id = $('#hopGrid').jqxGrid('getrowid', selectedrowindex);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
925 $('#hopGrid').jqxGrid('deleterow', id);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
926 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
927 calcIBUs();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
928 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
929 },
648
ee69b01fcb0e Code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 647
diff changeset
930 ready: function() { $('#jqxTabs').jqxTabs('next'); },
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
931 columns: [
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
932 { text: 'Hop', datafield: 'h_name',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
933 cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
934 return '<span style="margin: 3px; margin-top: 6px; float: left;">' + rowdata.h_origin + ' / ' + rowdata.h_name + '</span>';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
935 },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
936 },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
937 { text: 'Type', width: 90, datafield: 'h_type',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
938 cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
939 return '<span style="margin: 4px; margin-top: 6px; float: left;">' + HopTypeData[value].nl + '</span>';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
940 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
941 },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
942 { text: 'Vorm', width: 90, datafield: 'h_form',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
943 cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
944 return '<span style="margin: 4px; margin-top: 6px; float: left;">' + HopFormData[value].nl + '</span>';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
945 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
946 },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
947 { text: 'Alpha', datafield: 'h_alpha', width: 80, align: 'right', cellsalign: 'right', cellsformat: 'p1' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
948 { text: 'Gebruik', width: 110, datafield: 'h_useat',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
949 cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
950 return '<span style="margin: 4px; margin-top: 6px; float: left;">' + HopUseData[value].nl + '</span>';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
951 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
952 },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
953 { text: 'Tijdsduur', datafield: 'h_time', width: 90, align: 'right',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
954 cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
955 var duration = '';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
956 if ((rowdata.h_useat == 2) || (rowdata.h_useat == 4)) // Boil, Whirlpool
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
957 duration = dataAdapter.formatNumber(value, 'f0') + ' min.';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
958 else if (rowdata.h_useat == 5) // Dry hop
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
959 duration = dataAdapter.formatNumber(value / 1440, 'f0') + ' dagen';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
960 return '<span style="margin: 4px; margin-top: 6px; float: right;">' + duration + '</span>';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
961 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
962 },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
963 { text: 'IBU', datafield: 'ibu', width: 80, align: 'right',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
964 cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
965 var ibu = toIBU(rowdata.h_useat, rowdata.h_form, preboil_sg, parseFloat($('#batch_size').jqxNumberInput('decimal')),
538
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
966 parseFloat(rowdata.h_amount), parseFloat(rowdata.h_time), parseFloat(rowdata.h_alpha), $('#ibu_method').val(),
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
967 dataRecord.brew_whirlpool9, dataRecord.brew_whirlpool7, dataRecord.brew_whirlpool6);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
968 return '<span style="margin: 4px; margin-top: 6px; float: right;">' + dataAdapter.formatNumber(ibu, 'f1') + '</span>';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
969 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
970 },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
971 { text: 'Gewicht', datafield: 'h_amount', width: 110, align: 'right',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
972 cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
973 var amount = dataAdapter.formatNumber(value, 'f1') + ' kg';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
974 if (value < 1)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
975 amount = dataAdapter.formatNumber(value * 1000, 'f1') + ' gr';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
976 return '<span style="margin: 4px; margin-top: 6px; float: right;">' + amount + '</span>';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
977 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
978 },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
979 { text: 'Voorraad', datafield: 'h_inventory', width: 110, align: 'right',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
980 cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
981 if (((dataRecord.inventory_reduced <= 2) && (rowdata.h_useat <= 4)) || // Mash, FW, Boil, Aroma, Whirlpool
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
982 ((dataRecord.inventory_reduced <= 6) && (rowdata.h_useat == 5))) { // Dry hop
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
983 var amount, color = '#ffffff';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
984 if (value < rowdata.h_amount)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
985 color = '#ff4040';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
986 amount = dataAdapter.formatNumber(value, 'f1') + ' kg';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
987 if (value < 1)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
988 amount = dataAdapter.formatNumber(value * 1000, 'f1') + ' gr';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
989 return '<span style="margin: 4px; margin-top: 6px; float: right; color: ' + color + ';">' + amount + '</span>';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
990 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
991 return '<span></span>';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
992 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
993 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
994 },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
995 { text: '', datafield: 'Edit', columntype: 'button', width: 100, align: 'center',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
996 cellsrenderer: function() {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
997 return 'Wijzig';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
998 }, buttonclick: function(row) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
999 if (dataRecord.stage > 3) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1000 alert('Ingredieënt is al verwerkt.');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1001 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1002 console.log('edit button row ' + row);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1003 hopRow = row;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1004 hopData = $('#hopGrid').jqxGrid('getrowdata', hopRow);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1005 $('#wh_name').val(hopData.h_name);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1006 $('#wh_amount').val(hopData.h_amount * 1000);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1007 var ibu = toIBU(hopData.h_useat, hopData.h_form, preboil_sg, parseFloat($('#batch_size').jqxNumberInput('decimal')),
538
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
1008 parseFloat(hopData.h_amount), parseFloat(hopData.h_time), parseFloat(hopData.h_alpha), $('#ibu_method').val(),
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
1009 dataRecord.brew_whirlpool9, dataRecord.brew_whirlpool7, dataRecord.brew_whirlpool6);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1010 $('#wh_ibu').val(ibu);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1011 if (hopData.h_useat == 5) // Dry hop
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1012 $('#wh_time').val(hopData.h_time / 1440);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1013 else
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1014 $('#wh_time').val(hopData.h_time);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1015 $('#wh_useat').val(hopData.h_useat);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1016 // show the popup window.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1017 $('#popupHop').jqxWindow('open');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1018 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1019 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1020 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1021 ]
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1022 });
525
8bbc5730aaa8 Code cleanup and manual compress
Michiel Broek <mbroek@mbse.eu>
parents: 518
diff changeset
1023 };
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1024
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1025 // Inline miscs editor
525
8bbc5730aaa8 Code cleanup and manual compress
Michiel Broek <mbroek@mbse.eu>
parents: 518
diff changeset
1026 var editMisc = function(data) {
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1027 var miscSource = {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1028 localdata: data.miscs,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1029 datatype: 'local',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1030 cache: false,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1031 async: false,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1032 datafields: [
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1033 { name: 'm_name', type: 'string' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1034 { name: 'm_amount', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1035 { name: 'm_cost', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1036 { name: 'm_type', type: 'int' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1037 { name: 'm_use_use', type: 'int' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1038 { name: 'm_time', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1039 { name: 'm_amount_is_weight', type: 'int' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1040 { name: 'm_inventory', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1041 { name: 'm_avail', type: 'int' }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1042 ],
641
ab6423be2a1e A lot more debug messages
Michiel Broek <mbroek@mbse.eu>
parents: 640
diff changeset
1043 addrow: function(rowid, rowdata, position, commit) { commit(true); },
ab6423be2a1e A lot more debug messages
Michiel Broek <mbroek@mbse.eu>
parents: 640
diff changeset
1044 deleterow: function(rowid, commit) { commit(true); },
ab6423be2a1e A lot more debug messages
Michiel Broek <mbroek@mbse.eu>
parents: 640
diff changeset
1045 updaterow: function(rowid, rowdata, commit) { commit(true); }
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1046 },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1047 miscAdapter = new $.jqx.dataAdapter(miscSource, {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1048 beforeLoadComplete: function(records) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1049 var row, i, data = new Array();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1050 for (i = 0; i < records.length; i++) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1051 row = records[i];
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1052 data.push(row);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1053 // Initial set water agent values.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1054 switch (row.m_name) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1055 case 'CaCl2':
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1056 $('#wa_cacl2').val(row.m_amount * 1000);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1057 break;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1058 case 'CaSO4':
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1059 $('#wa_caso4').val(row.m_amount * 1000);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1060 break;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1061 case 'MgSO4':
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1062 $('#wa_mgso4').val(row.m_amount * 1000);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1063 break;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1064 case 'NaCl':
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1065 $('#wa_nacl').val(row.m_amount * 1000);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1066 break;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1067 case 'Melkzuur':
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1068 $('#wa_acid_name').val(0);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1069 $('#wa_acid').val(row.m_amount * 1000);
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
1070 $('#wa_acid_perc').val(AcidTypeData[0].AcidPrc); // TODO: this ignores changed percentages.
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1071 last_acid = 'Melkzuur';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1072 break;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1073 case 'Zoutzuur':
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1074 $('#wa_acid_name').val(1);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1075 $('#wa_acid').val(row.m_amount * 1000);
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
1076 $('#wa_acid_perc').val(AcidTypeData[1].AcidPrc);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1077 last_acid = 'Zoutzuur';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1078 break;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1079 case 'Fosforzuur':
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1080 $('#wa_acid_name').val(2);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1081 $('#wa_acid').val(row.m_amount * 1000);
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
1082 $('#wa_acid_perc').val(AcidTypeData[2].AcidPrc);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1083 last_acid = 'Fosforzuur';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1084 break;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1085 case 'Zwavelzuur':
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1086 $('#wa_acid_name').val(3);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1087 $('#wa_acid').val(row.m_amount * 1000);
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
1088 $('#wa_acid_perc').val(AcidTypeData[3].AcidPrc);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1089 last_acid = 'Zwavelzuur';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1090 break;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1091 case 'NaHCO3':
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1092 $('#wa_base_name').val(0);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1093 $('#wa_base').val(row.m_amount * 1000);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1094 last_base = 'NaHCO3';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1095 break;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1096 case 'Na2CO3':
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1097 $('#wa_base_name').val(1);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1098 $('#wa_base').val(row.m_amount * 1000);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1099 last_base = 'Na2CO3';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1100 break;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1101 case 'CaCO3':
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1102 $('#wa_base_name').val(2);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1103 $('#wa_base').val(row.m_amount * 1000);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1104 last_base = 'CaCO3';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1105 break;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1106 case 'Ca(OH)2':
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1107 $('#wa_base_name').val(3);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1108 $('#wa_base').val(row.m_amount * 1000);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1109 last_base = 'Ca(OH)2';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1110 break;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1111 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1112 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1113 return data;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1114 },
641
ab6423be2a1e A lot more debug messages
Michiel Broek <mbroek@mbse.eu>
parents: 640
diff changeset
1115 loadError: function(jqXHR, status, error) { console.log('miscs load error ' + status + ' ' + error); },
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1116 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1117 $('#miscGrid').jqxGrid({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1118 width: 1240,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1119 height: 575,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1120 source: miscAdapter,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1121 theme: theme,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1122 selectionmode: 'singlerow',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1123 showtoolbar: true,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1124 rendertoolbar: function(toolbar) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1125 var container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1126 toolbar.append(container);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1127 container.append('<div style="float: left; margin-left: 165px;" id="maddrowbutton"></div>');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1128 container.append('<div style="float: left; margin-left: 10px; margin-top: 5px;">In voorraad:</div>');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1129 container.append('<div style="float: left; margin-left: 10px;" id="minstockbutton"></div>');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1130 container.append('<input style="float: left; margin-left: 400px;" id="mdeleterowbutton" type="button" value="Verwijder ingredient" />');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1131 // add misc from dropdownlist.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1132 $('#maddrowbutton').jqxDropDownList({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1133 placeHolder: 'Kies ingredi&euml;nt:',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1134 theme: theme,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1135 template: 'primary',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1136 source: misclist,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1137 disabled: (dataRecord.stage > 3),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1138 displayMember: 'name',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1139 width: 150,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1140 height: 27,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1141 dropDownWidth: 500,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1142 dropDownHeight: 500
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1143 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1144 $('#maddrowbutton').on('select', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1145 if (event.args) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1146 var datarecord, row = {}, index = event.args.index;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1147 datarecord = misclist.records[index];
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1148 row['m_name'] = datarecord.name;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1149 row['m_amount'] = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1150 row['m_cost'] = datarecord.cost;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1151 row['m_type'] = datarecord.type;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1152 row['m_use_use'] = datarecord.use_use;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1153 row['m_time'] = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1154 row['m_amount_is_weight'] = datarecord.amount_is_weight;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1155 row['m_inventory'] = datarecord.inventory;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1156 $('#miscGrid').jqxGrid('addrow', null, row);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1157 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1158 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1159 $('#minstockbutton').jqxCheckBox({ theme: theme, height: 27, disabled: (dataRecord.stage > 3) });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1160 $('#minstockbutton').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1161 miscinstock = event.args.checked;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1162 misclist.dataBind();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1163 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1164 // delete selected misc.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1165 $('#mdeleterowbutton').jqxButton({ template: 'danger', theme: theme, height: 27, width: 150, disabled: (dataRecord.stage > 3) });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1166 $('#mdeleterowbutton').on('click', function() {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1167 var rowscount, type, id, selectedrowindex = $('#miscGrid').jqxGrid('getselectedrowindex');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1168 rowscount = $('#miscGrid').jqxGrid('getdatainformation').rowscount;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1169 type = $('#miscGrid').jqxGrid('getcellvalue', selectedrowindex, 'm_type');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1170 if (selectedrowindex >= 0 && selectedrowindex < rowscount && type != 4) { // Water agent
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1171 id = $('#miscGrid').jqxGrid('getrowid', selectedrowindex);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1172 $('#miscGrid').jqxGrid('deleterow', id);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1173 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1174 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1175 },
648
ee69b01fcb0e Code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 647
diff changeset
1176 ready: function() { $('#jqxTabs').jqxTabs('next'); },
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1177 columns: [
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1178 { text: 'Ingredient', datafield: 'm_name' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1179 { text: 'Type', width: 140, datafield: 'm_type',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1180 cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1181 return '<span style="margin: 3px; margin-top: 6px; float: left;">' + MiscTypeData[value].nl + '</span>';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1182 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1183 },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1184 { text: 'Gebruik', width: 140, datafield: 'm_use_use',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1185 cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1186 return '<span style="margin: 3px; margin-top: 6px; float: left;">' + MiscUseData[value].nl + '</span>';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1187 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1188 },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1189 { text: 'Tijd', datafield: 'm_time', width: 90, align: 'right',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1190 cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1191 var duration = '';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1192 if (rowdata.m_use_use == 2) // Boil
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1193 duration = dataAdapter.formatNumber(value, 'f0') + ' min.';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1194 else if ((rowdata.m_use_use == 3) || (rowdata.m_use_use == 4)) // Primary or Secondary
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1195 duration = dataAdapter.formatNumber(value / 1440, 'f0') + ' dagen';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1196 return '<span style="margin: 4px; margin-top: 6px; float: right;">' + duration + '</span>';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1197 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1198 },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1199 { text: 'Hoeveel', datafield: 'm_amount', width: 110, align: 'right',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1200 cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1201 var vstr = rowdata.m_amount_is_weight ? 'gr' : 'ml';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1202 return '<span style="margin: 4px; margin-top: 6px; float: right;">' + dataAdapter.formatNumber(value * 1000, 'f2') + ' ' + vstr + '</span>';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1203 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1204 },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1205 { text: 'Voorraad', datafield: 'm_inventory', width: 110, align: 'right',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1206 cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1207 var vstr, color, amount;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1208 if (((dataRecord.inventory_reduced <= 2) && (rowdata.m_use_use <= 2)) || // Starter, Mash, Boil
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1209 ((dataRecord.inventory_reduced <= 3) && (rowdata.m_use_use == 3)) || // Primary
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1210 ((dataRecord.inventory_reduced <= 5) && (rowdata.m_use_use == 4)) || // Secondary, Teriary
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1211 ((dataRecord.inventory_reduced <= 6) && (rowdata.m_use_use == 5))) { // Bottle
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1212 vstr = rowdata.m_amount_is_weight ? 'gr' : 'ml';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1213 color = '#ffffff';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1214 if (value < rowdata.m_amount)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1215 color = '#ff4040';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1216 amount = dataAdapter.formatNumber(value * 1000, 'f2') + ' ' + vstr;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1217 return '<span style="margin: 4px; margin-top: 6px; float: right; color: ' + color + ';">' + amount + '</span>';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1218 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1219 return '<span></span>';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1220 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1221 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1222 },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1223 { text: '', datafield: 'Edit', columntype: 'button', width: 100, align: 'center',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1224 cellsrenderer: function() {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1225 return 'Wijzig';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1226 }, buttonclick: function(row) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1227 miscRow = row;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1228 miscData = $('#miscGrid').jqxGrid('getrowdata', miscRow);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1229 if (dataRecord.stage > 3) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1230 alert('Ingredieënt is al verwerkt.');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1231 } else if (miscData.m_type == 4) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1232 alert('Brouwzouten wijzigen in de water tab.');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1233 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1234 console.log('edit button row ' + row);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1235 if (miscData.m_amount_is_weight)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1236 $('#wm_pmpt_amount').html('Gewicht gram:');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1237 else
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1238 $('#wm_pmpt_amount').html('Volume ml:');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1239 $('#wm_name').val(miscData.m_name);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1240 $('#wm_amount').val(miscData.m_amount * 1000);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1241 if ((miscData.m_use_use == 3) || (miscData.m_use_use == 4)) // Primary or Secondary
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1242 $('#wm_time').val(miscData.m_time / 1440);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1243 else
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1244 $('#wm_time').val(miscData.m_time);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1245 $('#wm_use_use').val(miscData.m_use_use);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1246 // show the popup window.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1247 $('#popupMisc').jqxWindow('open');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1248 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1249 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1250 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1251 ]
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1252 });
525
8bbc5730aaa8 Code cleanup and manual compress
Michiel Broek <mbroek@mbse.eu>
parents: 518
diff changeset
1253 };
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1254
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1255 // Inline yeasts editor
525
8bbc5730aaa8 Code cleanup and manual compress
Michiel Broek <mbroek@mbse.eu>
parents: 518
diff changeset
1256 var editYeast = function(data) {
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1257 var yeastSource = {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1258 localdata: data.yeasts,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1259 datatype: 'local',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1260 cache: false,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1261 async: false,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1262 datafields: [
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1263 { name: 'y_name', type: 'string' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1264 { name: 'y_laboratory', type: 'string' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1265 { name: 'y_product_id', type: 'string' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1266 { name: 'y_amount', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1267 { name: 'y_cost', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1268 { name: 'y_type', type: 'int' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1269 { name: 'y_form', type: 'int' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1270 { name: 'y_flocculation', type: 'int' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1271 { name: 'y_min_temperature', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1272 { name: 'y_max_temperature', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1273 { name: 'y_attenuation', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1274 { name: 'y_use', type: 'int' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1275 { name: 'y_cells', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1276 { name: 'y_tolerance', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1277 { name: 'y_inventory', type: 'float' },
554
c62ff53cfc3d Added the new Kveik yeast fields to the product editor. Added auto update when a product is loaded. Added extra lines to the checklist about harvest yeast and pitch temperature.
Michiel Broek <mbroek@mbse.eu>
parents: 552
diff changeset
1278 { name: 'y_sta1', type: 'int' },
c62ff53cfc3d Added the new Kveik yeast fields to the product editor. Added auto update when a product is loaded. Added extra lines to the checklist about harvest yeast and pitch temperature.
Michiel Broek <mbroek@mbse.eu>
parents: 552
diff changeset
1279 { name: 'y_bacteria', type: 'int' },
c62ff53cfc3d Added the new Kveik yeast fields to the product editor. Added auto update when a product is loaded. Added extra lines to the checklist about harvest yeast and pitch temperature.
Michiel Broek <mbroek@mbse.eu>
parents: 552
diff changeset
1280 { name: 'y_harvest_top', type: 'int' },
c62ff53cfc3d Added the new Kveik yeast fields to the product editor. Added auto update when a product is loaded. Added extra lines to the checklist about harvest yeast and pitch temperature.
Michiel Broek <mbroek@mbse.eu>
parents: 552
diff changeset
1281 { name: 'y_harvest_time', type: 'int' },
c62ff53cfc3d Added the new Kveik yeast fields to the product editor. Added auto update when a product is loaded. Added extra lines to the checklist about harvest yeast and pitch temperature.
Michiel Broek <mbroek@mbse.eu>
parents: 552
diff changeset
1282 { name: 'y_pitch_temperature', type: 'float' },
c62ff53cfc3d Added the new Kveik yeast fields to the product editor. Added auto update when a product is loaded. Added extra lines to the checklist about harvest yeast and pitch temperature.
Michiel Broek <mbroek@mbse.eu>
parents: 552
diff changeset
1283 { name: 'y_pofpos', type: 'int' },
c62ff53cfc3d Added the new Kveik yeast fields to the product editor. Added auto update when a product is loaded. Added extra lines to the checklist about harvest yeast and pitch temperature.
Michiel Broek <mbroek@mbse.eu>
parents: 552
diff changeset
1284 { name: 'y_zymocide', type: 'int' },
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1285 { name: 'y_avail', type: 'int' }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1286 ],
641
ab6423be2a1e A lot more debug messages
Michiel Broek <mbroek@mbse.eu>
parents: 640
diff changeset
1287 addrow: function(rowid, rowdata, position, commit) { commit(true); },
ab6423be2a1e A lot more debug messages
Michiel Broek <mbroek@mbse.eu>
parents: 640
diff changeset
1288 deleterow: function(rowid, commit) { commit(true); },
ab6423be2a1e A lot more debug messages
Michiel Broek <mbroek@mbse.eu>
parents: 640
diff changeset
1289 updaterow: function(rowid, rowdata, commit) { commit(true); }
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1290 },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1291 yeastAdapter = new $.jqx.dataAdapter(yeastSource);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1292
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1293 $('#yeastGrid').jqxGrid({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1294 width: 1240,
617
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1295 height: 325,
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1296 source: yeastAdapter,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1297 theme: theme,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1298 selectionmode: 'singlerow',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1299 showtoolbar: true,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1300 rendertoolbar: function(toolbar) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1301 var container = $('<div style="overflow: hidden; position: relative; margin: 5px;"></div>');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1302 toolbar.append(container);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1303 container.append('<div style="float: left; margin-left: 165px;" id="yaddrowbutton"></div>');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1304 container.append('<div style="float: left; margin-left: 10px; margin-top: 5px;">In voorraad:</div>');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1305 container.append('<div style="float: left; margin-left: 10px;" id="yinstockbutton"></div>');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1306 container.append('<input style="float: left; margin-left: 400px;" id="ydeleterowbutton" type="button" value="Verwijder gist" />');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1307 // add yeast from dropdownlist.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1308 $('#yaddrowbutton').jqxDropDownList({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1309 placeHolder: 'Kies gist:',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1310 theme: theme,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1311 source: yeastlist,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1312 disabled: (dataRecord.stage > 3),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1313 template: 'primary',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1314 displayMember: 'name',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1315 width: 150,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1316 height: 27,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1317 dropDownWidth: 500,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1318 dropDownHeight: 500,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1319 renderer: function(index, label, value) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1320 var datarecord = yeastlist.records[index];
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1321 return datarecord.laboratory + ' ' + datarecord.product_id + ' ' + datarecord.name;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1322 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1323 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1324 $('#yaddrowbutton').on('select', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1325 if (event.args) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1326 var datarecord, row = {}, index = event.args.index;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1327 datarecord = yeastlist.records[index];
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1328 row['y_name'] = datarecord.name;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1329 row['y_laboratory'] = datarecord.laboratory;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1330 row['y_product_id'] = datarecord.product_id;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1331 row['y_type'] = datarecord.type;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1332 row['y_form'] = datarecord.form;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1333 row['y_amount'] = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1334 row['y_cost'] = datarecord.cost;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1335 row['y_use'] = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1336 row['y_min_temperature'] = datarecord.min_temperature;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1337 row['y_max_temperature'] = datarecord.max_temperature;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1338 row['y_attenuation'] = datarecord.attenuation;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1339 row['y_flocculation'] = datarecord.flocculation;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1340 row['y_cells'] = datarecord.cells;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1341 row['y_tolerance'] = datarecord.tolerance;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1342 row['y_inventory'] = datarecord.inventory;
554
c62ff53cfc3d Added the new Kveik yeast fields to the product editor. Added auto update when a product is loaded. Added extra lines to the checklist about harvest yeast and pitch temperature.
Michiel Broek <mbroek@mbse.eu>
parents: 552
diff changeset
1343 row['y_sta1'] = datarecord.sta1;
c62ff53cfc3d Added the new Kveik yeast fields to the product editor. Added auto update when a product is loaded. Added extra lines to the checklist about harvest yeast and pitch temperature.
Michiel Broek <mbroek@mbse.eu>
parents: 552
diff changeset
1344 row['y_bacteria'] = datarecord.bacteria;
c62ff53cfc3d Added the new Kveik yeast fields to the product editor. Added auto update when a product is loaded. Added extra lines to the checklist about harvest yeast and pitch temperature.
Michiel Broek <mbroek@mbse.eu>
parents: 552
diff changeset
1345 row['y_harvest_top'] = datarecord.harvest_top;
c62ff53cfc3d Added the new Kveik yeast fields to the product editor. Added auto update when a product is loaded. Added extra lines to the checklist about harvest yeast and pitch temperature.
Michiel Broek <mbroek@mbse.eu>
parents: 552
diff changeset
1346 row['y_harvest_time'] = datarecord.harvest_time;
c62ff53cfc3d Added the new Kveik yeast fields to the product editor. Added auto update when a product is loaded. Added extra lines to the checklist about harvest yeast and pitch temperature.
Michiel Broek <mbroek@mbse.eu>
parents: 552
diff changeset
1347 row['y_pitch_temperature'] = datarecord.pitch_temperature;
c62ff53cfc3d Added the new Kveik yeast fields to the product editor. Added auto update when a product is loaded. Added extra lines to the checklist about harvest yeast and pitch temperature.
Michiel Broek <mbroek@mbse.eu>
parents: 552
diff changeset
1348 row['y_pofpos'] = datarecord.pofpos;
c62ff53cfc3d Added the new Kveik yeast fields to the product editor. Added auto update when a product is loaded. Added extra lines to the checklist about harvest yeast and pitch temperature.
Michiel Broek <mbroek@mbse.eu>
parents: 552
diff changeset
1349 row['y_zymocide'] = datarecord.zymocide;
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1350 $('#yeastGrid').jqxGrid('addrow', null, row);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1351 }
617
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1352 calcViability();
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1353 calcYeast();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1354 $('#yaddrowbutton').jqxDropDownList('clearSelection');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1355 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1356 $('#yinstockbutton').jqxCheckBox({ theme: theme, height: 27, disabled: (dataRecord.stage > 3) });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1357 $('#yinstockbutton').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1358 yeastinstock = event.args.checked;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1359 yeastlist.dataBind();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1360 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1361 // delete selected yeast.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1362 $('#ydeleterowbutton').jqxButton({ template: 'danger', theme: theme, height: 27, width: 150, disabled: (dataRecord.stage > 3) });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1363 $('#ydeleterowbutton').on('click', function() {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1364 var id, rowscount, selectedrowindex = $('#yeastGrid').jqxGrid('getselectedrowindex');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1365 rowscount = $('#yeastGrid').jqxGrid('getdatainformation').rowscount;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1366 if (selectedrowindex >= 0 && selectedrowindex < rowscount) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1367 id = $('#yeastGrid').jqxGrid('getrowid', selectedrowindex);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1368 $('#yeastGrid').jqxGrid('deleterow', id);
617
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1369 calcViability();
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1370 calcYeast();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1371 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1372 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1373 },
648
ee69b01fcb0e Code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 647
diff changeset
1374 ready: function() { $('#jqxTabs').jqxTabs('next'); },
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1375 columns: [
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1376 { text: 'Gist', datafield: 'y_name' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1377 { text: 'Laboratorium', width: 150, datafield: 'y_laboratory' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1378 { text: 'Code', width: 90, datafield: 'y_product_id' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1379 { text: 'Soort', width: 100, datafield: 'y_form',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1380 cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1381 return '<span style="margin: 4px; margin-top: 6px; float: left;">' + YeastFormData[value].nl + '</span>';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1382 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1383 },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1384 { text: 'Min. &deg;C', width: 70, align: 'right', cellsalign: 'right', datafield: 'y_min_temperature' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1385 { text: 'Max. &deg;C', width: 70, align: 'right', cellsalign: 'right', datafield: 'y_max_temperature' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1386 { text: 'Tol. %', width: 60, align: 'right', cellsalign: 'right', datafield: 'y_tolerance',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1387 cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1388 var amount = '', color = '#ffffff';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1389 if (value > 0) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1390 amount = dataAdapter.formatNumber(value, 'f1');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1391 if (dataRecord.est_abv > value)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1392 color = '#ff4040';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1393 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1394 return '<span style="margin: 4px; margin-top: 6px; float: right; color: ' + color + ';">' + amount + '</span>';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1395 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1396 },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1397 { text: 'Attn. %', width: 70, align: 'right', cellsalign: 'right', datafield: 'y_attenuation', cellsformat: 'f1' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1398 { text: 'Voor', width: 120, datafield: 'y_use',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1399 cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1400 return '<span style="margin: 4px; margin-top: 6px; float: left;">' + YeastUseData[value].nl + '</span>';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1401 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1402 },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1403 { text: 'Hoeveel', datafield: 'y_amount', width: 90, align: 'right',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1404 cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1405 var amount = dataAdapter.formatNumber(value * 1000, 'f0') + ' ml';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1406 if (rowdata.y_form == 0) // Liquid
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1407 amount = dataAdapter.formatNumber(value, 'f0') + ' pk';
515
9d771385a8a0 Added dried yeast form. Pitch rate for Kveik initially set at 0.25. Dried Kveik cells set to 9000000000 cells/gram.
Michiel Broek <mbroek@mbse.eu>
parents: 500
diff changeset
1408 else if (rowdata.y_form == 1 || rowdata.y_form == 6) // Dry
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1409 amount = dataAdapter.formatNumber(value * 1000, 'f1') + ' gr';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1410 return '<span style="margin: 4px; margin-top: 6px; float: right;">' + amount + '</span>';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1411 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1412 },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1413 { text: 'Voorraad', datafield: 'y_inventory', width: 90, align: 'right',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1414 cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1415 var color, amount;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1416 if (((dataRecord.inventory_reduced <= 3) && (rowdata.y_use == 0)) || // Primary
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1417 ((dataRecord.inventory_reduced <= 4) && (rowdata.y_use == 1)) || // Secondary
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1418 ((dataRecord.inventory_reduced <= 5) && (rowdata.y_use == 2)) || // Tertiary
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1419 ((dataRecord.inventory_reduced <= 6) && (rowdata.y_use == 3))) { // Bottle
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1420 color = '#ffffff';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1421 if (value < rowdata.y_amount)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1422 color = '#ff4040';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1423 amount = dataAdapter.formatNumber(value * 1000, 'f0') + ' ml';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1424 if (rowdata.y_form == 0) // Liquid
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1425 amount = dataAdapter.formatNumber(value, 'f0') + ' pk';
515
9d771385a8a0 Added dried yeast form. Pitch rate for Kveik initially set at 0.25. Dried Kveik cells set to 9000000000 cells/gram.
Michiel Broek <mbroek@mbse.eu>
parents: 500
diff changeset
1426 else if (rowdata.y_form == 1 || rowdata.y_form == 6) // Dry
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1427 amount = dataAdapter.formatNumber(value * 1000, 'f1') + ' gr';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1428 return '<span style="margin: 4px; margin-top: 6px; float: right; color: ' + color + ';">' + amount + '</span>';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1429 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1430 return '<span></span>';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1431 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1432 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1433 },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1434 { text: '', datafield: 'Edit', columntype: 'button', width: 90, align: 'center',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1435 cellsrenderer: function() {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1436 return 'Wijzig';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1437 }, buttonclick: function(row) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1438 if (dataRecord.stage > 3) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1439 alert('Ingredieënt is al verwerkt.');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1440 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1441 yeastRow = row;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1442 yeastData = $('#yeastGrid').jqxGrid('getrowdata', yeastRow);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1443 if (yeastData.y_form == 0) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1444 $('#wy_pmpt_amount').html('Pak(ken):');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1445 $('#wy_amount').val(yeastData.y_amount);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1446 $('#wy_amount').jqxNumberInput({ decimalDigits: 0 });
515
9d771385a8a0 Added dried yeast form. Pitch rate for Kveik initially set at 0.25. Dried Kveik cells set to 9000000000 cells/gram.
Michiel Broek <mbroek@mbse.eu>
parents: 500
diff changeset
1447 } else if (yeastData.y_form == 1 || yeastData.y_form == 6) {
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1448 $('#wy_pmpt_amount').html('Gewicht gram:');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1449 $('#wy_amount').val(yeastData.y_amount * 1000);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1450 $('#wy_amount').jqxNumberInput({ decimalDigits: 1 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1451 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1452 $('#wy_pmpt_amount').html('Volume ml:');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1453 $('#wy_amount').val(yeastData.y_amount * 1000);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1454 $('#wy_amount').jqxNumberInput({ decimalDigits: 0 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1455 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1456 $('#wy_name').val(yeastData.y_name);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1457 $('#wy_laboratory').val(yeastData.y_laboratory);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1458 $('#wy_product_id').val(yeastData.y_product_id);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1459 $('#wy_use').val(yeastData.y_use);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1460 // show the popup window.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1461 $('#popupYeast').jqxWindow('open');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1462 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1463 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1464 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1465 ]
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1466 });
525
8bbc5730aaa8 Code cleanup and manual compress
Michiel Broek <mbroek@mbse.eu>
parents: 518
diff changeset
1467 };
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1468
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1469 // inline mash editor
525
8bbc5730aaa8 Code cleanup and manual compress
Michiel Broek <mbroek@mbse.eu>
parents: 518
diff changeset
1470 var editMash = function(data) {
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1471 var mashSource = {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1472 localdata: data.mashs,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1473 datatype: 'local',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1474 cache: false,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1475 async: false,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1476 datafields: [
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1477 { name: 'step_name', type: 'string' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1478 { name: 'step_type', type: 'int' },
667
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1479 { name: 'step_volume', type: 'float' },
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1480 { name: 'step_infuse_amount', type: 'float' },
667
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1481 { name: 'step_infuse_temp', type: 'float' },
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1482 { name: 'step_temp', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1483 { name: 'step_time', type: 'float' },
667
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1484 { name: 'step_wg_ratio', type: 'float' },
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1485 { name: 'ramp_time', type: 'float' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1486 { name: 'end_temp', type: 'float' }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1487 ],
644
4654b8ee4690 Version 0.3.30 Code and logging cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 643
diff changeset
1488 addrow: function(rowid, rowdata, position, commit) { commit(true); },
4654b8ee4690 Version 0.3.30 Code and logging cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 643
diff changeset
1489 deleterow: function(rowid, commit) { commit(true); }
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1490 },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1491 mashAdapter = new $.jqx.dataAdapter(mashSource, {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1492 beforeLoadComplete: function(records) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1493 mash_infuse = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1494 var i, row, data = new Array();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1495 for (i = 0; i < records.length; i++) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1496 row = records[i];
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1497 if (row.step_type == 0) // Infusion
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1498 mash_infuse += parseFloat(row.step_infuse_amount);
667
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1499 row.step_wg_ratio = 0; // Init this field.
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1500 data.push(row);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1501 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1502 },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1503 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1504 $('#mashGrid').jqxGrid({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1505 width: 1240,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1506 height: 400,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1507 source: mashAdapter,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1508 theme: theme,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1509 selectionmode: 'singlerow',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1510 showtoolbar: true,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1511 rendertoolbar: function(toolbar) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1512 var container = $('<div style="overflow: hidden; position: relative; margin: 5px;"></div>');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1513 toolbar.append(container);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1514 container.append('<input style="float: left; margin-left: 165px;" id="saddrowbutton" type="button" value="Nieuwe stap" />');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1515 container.append('<input style="float: left; margin-left: 565px;" id="sdeleterowbutton" type="button" value="Verwijder stap" />');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1516 $('#saddrowbutton').jqxButton({ template: 'primary', theme: theme, height: 27, width: 150, disabled: (dataRecord.stage > 3) });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1517 $('#saddrowbutton').on('click', function() {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1518 var row = {}, rowscount = $('#mashGrid').jqxGrid('getdatainformation').rowscount;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1519 row['step_name'] = 'Stap ' + (rowscount + 1);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1520 if (rowscount > 0) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1521 row['step_type'] = 1;
667
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1522 row['step_infuse_amount'] = 0;
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1523 row['step_volume'] = mash_infuse;
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1524 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1525 row['step_type'] = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1526 row['step_infuse_amount'] = 15;
667
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1527 row['step_volume'] = 15;
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1528 }
667
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1529 row['step_infuse_temp'] = 0;
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1530 row['step_temp'] = 62.0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1531 row['step_time'] = 20.0;
667
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1532 row['step_wg_ratio'] = 0;
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1533 row['ramp_time'] = 1.0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1534 row['end_temp'] = 62.0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1535 $('#mashGrid').jqxGrid('addrow', null, row);
667
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1536 calcMash();
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1537 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1538 // delete selected step.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1539 $('#sdeleterowbutton').jqxButton({ template: 'danger', theme: theme, height: 27, width: 150, disabled: (dataRecord.stage > 3) });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1540 $('#sdeleterowbutton').on('click', function() {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1541 var rowscount, id, selectedrowindex = $('#mashGrid').jqxGrid('getselectedrowindex');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1542 rowscount = $('#mashGrid').jqxGrid('getdatainformation').rowscount;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1543 if (selectedrowindex >= 0 && selectedrowindex < rowscount) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1544 id = $('#mashGrid').jqxGrid('getrowid', selectedrowindex);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1545 $('#mashGrid').jqxGrid('deleterow', id);
667
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1546 calcMash();
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1547 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1548 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1549 },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1550 ready: function() {
633
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
1551 /* Calculate the whole recipe */
641
ab6423be2a1e A lot more debug messages
Michiel Broek <mbroek@mbse.eu>
parents: 640
diff changeset
1552 console.log('ready mashs, start calculations');
633
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
1553 calcFermentables();
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
1554 whirlpoolHops();
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
1555 calcIBUs();
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
1556 calcMiscs();
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
1557 showStarter();
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
1558 calcYeast();
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1559 calcInit();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1560 calcMash();
658
945d5eba869a Implemented no-boil products.
Michiel Broek <mbroek@mbse.eu>
parents: 655
diff changeset
1561 kookTijd();
641
ab6423be2a1e A lot more debug messages
Michiel Broek <mbroek@mbse.eu>
parents: 640
diff changeset
1562 console.log('calculations ready');
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1563 $('#jqxLoader').jqxLoader('close');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1564 $('#jqxTabs').jqxTabs('first');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1565 },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1566 columns: [
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1567 { text: 'Stap naam', datafield: 'step_name' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1568 { text: 'Stap type', datafield: 'step_type', width: 175,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1569 cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1570 return '<span style="margin: 4px; margin-top: 6px; float: left;">' + MashStepTypeData[value].nl + '</span>';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1571 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1572 },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1573 { text: 'Start &deg;C', datafield: 'step_temp', width: 90, align: 'right', cellsalign: 'right', cellsformat: 'f1' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1574 { text: 'Eind &deg;C', datafield: 'end_temp', width: 90, align: 'right', cellsalign: 'right', cellsformat: 'f1' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1575 { text: 'Rust min.', datafield: 'step_time', width: 90, align: 'right', cellsalign: 'right' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1576 { text: 'Stap min.', datafield: 'ramp_time', width: 90, align: 'right', cellsalign: 'right' },
667
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1577 { text: 'Inf/dec L.', datafield: 'step_infuse_amount', width: 90, align: 'right',
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1578 cellsrenderer: function(row, columnfield, value, defaulthtml, columnproperties, rowdata) {
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1579 if (rowdata.step_type == 1)
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1580 return '<span></span>';
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1581 var color = '#ffffff';
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1582 var mvol = mashkg * MaltVolume;
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1583 if ((rowdata.step_wg_ratio * mashkg + mvol) > dataRecord.eq_tun_volume)
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1584 color = '#ff4040';
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1585 return '<span style="margin: 4px; margin-top: 6px; float: right; color: ' + color + ';">' + dataAdapter.formatNumber(value, 'f1') + '</span>';
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1586 }
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1587 },
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1588 { text: 'Inf/dec &deg;C', datafield: 'step_infuse_temp', width: 90, align: 'right',
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1589 cellsrenderer: function(row, columnfield, value, defaulthtml, columnproperties, rowdata) {
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1590 if (rowdata.step_type == 1)
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1591 return '<span></span>';
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1592 return '<span style="margin: 4px; margin-top: 6px; float: right;">' + dataAdapter.formatNumber(value, 'f2') + '</span>';
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1593 }
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1594 },
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1595 { text: 'L/Kg.', datafield: 'step_wg_ratio', width: 90, align: 'right',
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1596 cellsrenderer: function(row, columnfield, value, defaulthtml, columnproperties, rowdata) {
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1597 var color = '#ffffff';
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1598 if (value < 2.0 || value > 6.0)
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1599 color = '#ff4040';
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1600 return '<span style="margin: 4px; margin-top: 6px; float: right; color: ' + color + ';">' + dataAdapter.formatNumber(value, 'f2') + '</span>';
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1601 }
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1602 },
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1603 { text: '', columntype: 'button', width: 15, align: 'center',
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1604 cellsrenderer: function(row) {
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1605 if (row < 2)
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1606 return ' ';
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1607 return 'â–´';
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1608 }, buttonclick: function(row) {
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1609 if (row >= 2) {
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1610 swapMash(row, row-1);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1611 }
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1612 }
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1613 },
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1614 { text: '', columntype: 'button', width: 15, align: 'center',
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1615 cellsrenderer: function(row) {
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1616 rowscount = $('#mashGrid').jqxGrid('getdatainformation').rowscount;
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1617 if (row < 1 || row > (rowscount -2))
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1618 return ' ';
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1619 return 'â–¾';
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1620 }, buttonclick: function(row) {
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1621 rowscount = $('#mashGrid').jqxGrid('getdatainformation').rowscount;
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1622 if (row >= 1 && row <= (rowscount -2)) {
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1623 swapMash(row, row+1);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1624 }
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1625 }
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1626 },
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1627 { text: '', datafield: 'Edit', columntype: 'button', width: 80, align: 'center',
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1628 cellsrenderer: function() {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1629 return 'Wijzig';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1630 }, buttonclick: function(row) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1631 if (dataRecord.stage > 3) {
557
ee76d0bfcdaf Some code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 555
diff changeset
1632 alert('Het maischen is al gedaan.');
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1633 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1634 mashRow = row;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1635 mashData = $('#mashGrid').jqxGrid('getrowdata', mashRow);
667
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1636 if (mashRow == 0)
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1637 $("#wstep_type").jqxDropDownList('disableAt', 2);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1638 else
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1639 $("#wstep_type").jqxDropDownList('enableAt', 2);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1640 $('#wstep_name').val(mashData.step_name);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1641 $('#wstep_type').val(mashData.step_type);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1642 $('#wstep_infuse_amount').val(mashData.step_infuse_amount);
667
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1643 $('#wstep_infuse_temp').val(mashData.step_infuse_temp);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1644 $('#wstep_temp').val(mashData.step_temp);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1645 $('#wend_temp').val(mashData.end_temp);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1646 $('#wstep_time').val(mashData.step_time);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1647 $('#wramp_time').val(mashData.ramp_time);
667
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1648 $('#wstep_infuse_amount').hide(); // Hide all untile we need it.
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1649 $('#wstep_infuse_temp').hide();
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1650 $('#wstep_pmpt_amount').hide();
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1651 $('#wstep_pmpt_temp').hide();
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1652 if (mashData.step_type == 0) {
667
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1653 if (mashRow == 0) {
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1654 $('#wstep_infuse_amount').show();
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1655 $('#wstep_pmpt_amount').show();
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1656 } else {
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1657 $('#wstep_infuse_temp').show();
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1658 $('#wstep_pmpt_temp').show();
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1659 }
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1660 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1661 // show the popup window.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1662 $('#popupMash').jqxWindow('open');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1663 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1664 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1665 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1666 ]
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1667 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1668 };
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1669
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1670 /*
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1671 * Remove the top menu so that we MUST use the buttons to leave the editor.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1672 */
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1673 $('#jqxMenu').jqxMenu('destroy');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1674 console.log('record:' + my_record + ' return:' + my_return + ' theme:' + theme);
557
ee76d0bfcdaf Some code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 555
diff changeset
1675 $('#jqxLoader').jqxLoader({ width: 250, height: 150, isModal: true, text: 'Laden product ...', theme: theme });
640
048932246071 Loading changes
Michiel Broek <mbroek@mbse.eu>
parents: 639
diff changeset
1676 $('#jqxLoader').jqxLoader('open');
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1677
638
736c8d29bc87 Binding the data earlier to try to prevent a race condition.
Michiel Broek <mbroek@mbse.eu>
parents: 637
diff changeset
1678 /* Moved to before all functions */
736c8d29bc87 Binding the data earlier to try to prevent a race condition.
Michiel Broek <mbroek@mbse.eu>
parents: 637
diff changeset
1679 dataAdapter.dataBind();
736c8d29bc87 Binding the data earlier to try to prevent a race condition.
Michiel Broek <mbroek@mbse.eu>
parents: 637
diff changeset
1680
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1681 /*
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1682 * Generic functions
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1683 */
658
945d5eba869a Implemented no-boil products.
Michiel Broek <mbroek@mbse.eu>
parents: 655
diff changeset
1684 function kookTijd() {
945d5eba869a Implemented no-boil products.
Michiel Broek <mbroek@mbse.eu>
parents: 655
diff changeset
1685 if (dataRecord.boil_time) {
945d5eba869a Implemented no-boil products.
Michiel Broek <mbroek@mbse.eu>
parents: 655
diff changeset
1686 $('#brew_pmpt_koken').html('Koken ' + dataRecord.boil_time + ' minuten');
945d5eba869a Implemented no-boil products.
Michiel Broek <mbroek@mbse.eu>
parents: 655
diff changeset
1687 } else {
945d5eba869a Implemented no-boil products.
Michiel Broek <mbroek@mbse.eu>
parents: 655
diff changeset
1688 $('#brew_pmpt_koken').html('Koken "no-boil"');
945d5eba869a Implemented no-boil products.
Michiel Broek <mbroek@mbse.eu>
parents: 655
diff changeset
1689 }
945d5eba869a Implemented no-boil products.
Michiel Broek <mbroek@mbse.eu>
parents: 655
diff changeset
1690 }
945d5eba869a Implemented no-boil products.
Michiel Broek <mbroek@mbse.eu>
parents: 655
diff changeset
1691
667
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1692 function swapMash(r1, r2) {
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1693
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1694 console.log('swap mash rows ' + r1 + ' ' + r2);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1695 var row1 = $('#mashGrid').jqxGrid('getrowdata', r1);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1696 var row2 = $('#mashGrid').jqxGrid('getrowdata', r2);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1697 var obj1 = { step_name: row1.step_name, step_type: row1.step_type, step_volume: row1.step_volume, step_infuse_amount: row1.step_infuse_amount,
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1698 step_infuse_temp: row1.step_infuse_temp, step_temp: row1.step_temp, step_time: row1.step_time,
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1699 ramp_time: row1.ramp_time, end_temp: row1.end_temp, step_wg_ratio: row1.step_wg_ratio };
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1700 var obj2 = { step_name: row2.step_name, step_type: row2.step_type, step_volume: row2.step_volume, step_infuse_amount: row2.step_infuse_amount,
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1701 step_infuse_temp: row2.step_infuse_temp, step_temp: row2.step_temp, step_time: row2.step_time,
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1702 ramp_time: row2.ramp_time, end_temp: row2.end_temp, step_wg_ratio: row2.step_wg_ratio };
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1703 $("#mashGrid").jqxGrid('updaterow', r1, obj2);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1704 $("#mashGrid").jqxGrid('updaterow', r2, obj1);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1705 }
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1706
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1707 function infusionVol(step_infused, step_mashkg, infuse_temp, step_temp, last_temp) {
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1708 var a = last_temp * (dataRecord.eq_tun_weight * dataRecord.eq_tun_specific_heat + step_infused * SpecificHeatWater + step_mashkg * SpecificHeatMalt);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1709 var b = step_temp * (dataRecord.eq_tun_weight * dataRecord.eq_tun_specific_heat + step_infused * SpecificHeatWater + step_mashkg * SpecificHeatMalt);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1710 //console.log('b - a: ' + (b - a) + ' t: ' + ((infuse_temp - step_temp) * SpecificHeatWater));
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1711 //console.log('res: ' + ((b - a) / ((infuse_temp - step_temp) * SpecificHeatWater)));
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1712 var vol = Round(((b - a) / ((infuse_temp - step_temp) * SpecificHeatWater)), 2);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1713 console.log('infusionVol(' + step_infused + ', ' + step_mashkg + ', ' + infuse_temp + ', ' + step_temp + ', ' + last_temp + '): ' + vol);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1714 return vol;
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1715 }
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1716
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1717 function decoctionVol(step_volume, step_temp, prev_temp) {
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1718 var a = (dataRecord.eq_tun_weight * dataRecord.eq_tun_specific_heat + step_volume * SpecificHeatWater) * (step_temp - prev_temp);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1719 var b = SpecificHeatWater * (99 - step_temp);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1720 var vol = 0;
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1721 if (b > 0)
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1722 vol = Round(a / b, 6);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1723 console.log('decoctionVol(' + step_volume + ', ' + step_temp + ', ' + prev_temp + '): ' + vol);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1724 return vol;
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1725 }
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
1726
617
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1727 function calcViability() {
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1728 var vpm = 1.00;
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1729 var max = 100;
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1730 var rowscount = $('#yeastGrid').jqxGrid('getdatainformation').rowscount;
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1731 if (rowscount) {
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1732 for (i = 0; i < rowscount; i++) {
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1733 row = $('#yeastGrid').jqxGrid('getrowdata', i);
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1734 if (row.y_use == 0) {
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1735 if (row.y_form == 0) { // Liquid
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1736 vpm = 0.80;
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1737 max = 97;
623
4aee10bcb94e Better yeast viability for PurePitch yeast.
Michiel Broek <mbroek@mbse.eu>
parents: 622
diff changeset
1738 if (row.y_laboratory == 'White Labs') { // PurePitch
617
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1739 vpm = 0.95;
623
4aee10bcb94e Better yeast viability for PurePitch yeast.
Michiel Broek <mbroek@mbse.eu>
parents: 622
diff changeset
1740 max = 100;
4aee10bcb94e Better yeast viability for PurePitch yeast.
Michiel Broek <mbroek@mbse.eu>
parents: 622
diff changeset
1741 }
617
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1742 } else if (row.y_form == 1) { // dry yeast
647
243be110285c Adjusted the dry-yeast degradation to 4% per year.
Michiel Broek <mbroek@mbse.eu>
parents: 646
diff changeset
1743 vpm = 0.997;
617
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1744 max = 100;
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1745 } else if (row.y_form == 6) { // Dried kveik
618
2712082437b0 Setting the dried Kveik viability to 8% per month.
Michiel Broek <mbroek@mbse.eu>
parents: 617
diff changeset
1746 vpm = 0.92;
617
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1747 max = 100;
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1748 } else { // Slant, Culture, Frozen, Bottle
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1749 vpm = 0.99;
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1750 max = 97;
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1751 }
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1752 }
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1753 }
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1754 }
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1755 var base = max;
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1756 var days = 0;
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1757
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1758 if (parseFloat($('#yeast_prod_date').val()) > 2000) {
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1759 console.log('calculate viability');
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1760 var d = new Date();
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1761 var date2 = $('#yeast_prod_date').val();
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1762 date2 = date2.split('-');
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1763 // Now we convert the array to a Date object
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1764 var date1 = new Date(d.getFullYear(), d.getMonth(), d.getDate());
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1765 date2 = new Date(date2[0], date2[1] - 1, date2[2]);
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1766 var diff = parseInt(date1.getTime()) - parseInt(date2.getTime());
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1767 days = Math.floor(diff/1000/60/60/24);
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1768
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1769 var degrade = 1 - ((1 - vpm) / 30.41); // viability degradation per day.
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1770 for (i = 0; i < days; i++) {
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1771 base = base * degrade;
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1772 }
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1773 if (base > max) {
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1774 base = max;
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1775 }
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1776 base = Math.round(base);
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1777 }
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1778 console.log('age:' + days + ' max:' + max + ' vpm:' + vpm + ' base:' + base);
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1779
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1780 if (dataRecord.starter_viability != base) {
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1781 dataRecord.starter_viability = base;
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1782 $('#starter_viability').val(dataRecord.starter_viability);
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1783 }
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1784 }
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
1785
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1786 function calcSupplies() {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1787 if (dataRecord.inventory_reduced > 6) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1788 $('#ok_pmpt').hide();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1789 return;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1790 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1791 if (ok_fermentables && ok_hops && ok_miscs && ok_yeasts && ok_waters)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1792 $('#ok_supplies').html("<img src='images/dialog-ok-apply.png'>");
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1793 else
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1794 $('#ok_supplies').html("<img src='images/dialog-error.png'>");
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1795 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1796
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1797 function calcPercentages() {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1798
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1799 console.log('calcPercentages()');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1800 var tw = 0, rowdata, percentage, rowscount = $('#fermentableGrid').jqxGrid('getdatainformation').rowscount;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1801 if (rowscount > 1) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1802 for (i = 0; i < rowscount; i++) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1803 rowdata = $('#fermentableGrid').jqxGrid('getrowdata', i);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1804 if (rowdata.f_added < 4)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1805 tw += Round(rowdata.f_amount, 3);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1806 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1807 tw = Round(tw, 3);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1808
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1809 for (i = 0; i < rowscount; i++) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1810 rowdata = $('#fermentableGrid').jqxGrid('getrowdata', i);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1811 if (rowdata.f_added < 4) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1812 percentage = Round(rowdata.f_amount / tw * 100, 1);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1813 $('#fermentableGrid').jqxGrid('setcellvalue', i, 'f_percentage', percentage);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1814 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1815 $('#fermentableGrid').jqxGrid('setcellvalue', i, 'f_percentage', 0);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1816 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1817 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1818 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1819 $('#fermentableGrid').jqxGrid('setcellvalue', 0, 'f_percentage', 100);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1820 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1821 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1822
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1823 /*
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1824 * All calculations that depend on changes in the fermentables,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1825 * volumes and equipments.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1826 */
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1827 function calcFermentables() {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1828
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1829 var sugarsf = 0, // fermentable sugars mash + boil
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1830 sugarsm = 0, // fermentable sugars in mash
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1831 vol = 0, // Volume sugars after boil
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1832 addedS = 0, // Added sugars after boil
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1833 addedmass = 0, // Added mass after boil
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1834 mvol = 0, // mash volume
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1835 colort = 0, // Colors srm * vol totals
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1836 colorh = 0, // Colors ebc * vol * kt
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1837 colorn = 0, // Colors ebc * pt * pct
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1838 my_100 = false,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1839 mashtime = 0, // Total mash time
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1840 mashtemp = 0, // Average mash temperature
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1841 bv = 0.925, // Bierverlies rendement
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1842 sr = 0.95, // Mash en spoel rendement
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1843 lintner = 0, // Total recipe lintner
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1844 i, row, rows, org, timem, aboil_volume, spoelw, ogx, topw, s = 0, d, v, x,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1845 sug, alc, pt, cw, color, scolor, fig;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1846
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1847 /* Init global variables */
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1848 psugar = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1849 pcara = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1850 mashkg = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1851 ok_fermentables = 1; // All is in stock.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1852 ok_yeasts = 1;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1853
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1854 if ((rows = $('#mashGrid').jqxGrid('getrows'))) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1855 for (i = 0; i < rows.length; i++) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1856 row = rows[i];
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1857 if (row.step_type == 0) // Infusion
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1858 mvol += parseFloat(row.step_infuse_amount);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1859 if (row.step_temp <= 75) { // Ignore mashout
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1860 timem = row.step_time + row.ramp_time;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1861 mashtime += timem;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1862 mashtemp += timem * row.step_temp;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1863 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1864 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1865 if (mashtime > 5)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1866 mashtime -= 5; //Correct last ramp > 75
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1867 mashtemp = Round(mashtemp / mashtime, 2);
633
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
1868 } else {
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
1869 console.log("calcFermentables() mashGrid not loaded");
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1870 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1871
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1872 if (!(rows = $('#fermentableGrid').jqxGrid('getrows'))) {
633
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
1873 console.log("calcFermentables() fermentableGrid not loaded");
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1874 return; // grid not yet loaded.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1875 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1876
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1877 for (i = 0; i < rows.length; i++) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1878 row = rows[i];
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1879 if (row.f_adjust_to_total_100)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1880 my_100 = true;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1881 if (row.f_type == 1 && row.f_added < 4) // Sugar
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1882 psugar += row.f_percentage;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1883 if (row.f_graintype == 2 && row.f_added < 4) // Crystal
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1884 pcara += row.f_percentage;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1885 d = row.f_amount * (row.f_yield / 100) * (1 - row.f_moisture / 100);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1886 if (row.f_added == 0) { // Mash
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1887 if (mvol > 0) { // Only if mash already known.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1888 mvol += row.f_amount * row.f_moisture / 100;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1889 s += d;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1890 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1891 d = parseFloat(dataRecord.efficiency) / 100 * d;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1892 sugarsm += d;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1893 mashkg += parseFloat(row.f_amount);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1894 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1895 if (row.f_added == 0 || row.f_added == 1) // Mash or Boil
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1896 sugarsf += d;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1897 if (row.f_added == 2 || row.f_added == 3) { // Fermentation or lagering
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1898 x = (row.f_yield / 100) * (1 - row.f_moisture / 100);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1899 addedS += row.f_amount * x;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1900 addedmass += row.f_amount;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1901 vol += (x * sugardensity + (1 - x) * 1) * row.f_amount;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1902 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1903 if (row.f_added < 4) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1904 colort += row.f_amount * ebc_to_srm(row.f_color);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1905 colorh += row.f_amount * row.f_color * get_kt(row.f_color);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1906 colorn += (row.f_percentage / 100) * row.f_color; // For 8.6 Pt wort.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1907 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1908 if (fermentableInit) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1909 if (row.f_added == 4) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1910 $('#bottle_priming_total').val(row.f_amount * 1000); // Prevent clearing
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1911 $('#bottle_priming_sugar').jqxDropDownList('selectItem', row.f_name);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1912 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1913 if (row.f_added == 5) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1914 $('#keg_priming_total').val(row.f_amount * 1000);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1915 $('#keg_priming_sugar').jqxDropDownList('selectItem', row.f_name);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1916 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1917 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1918 // Check supplies.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1919 if ((((dataRecord.inventory_reduced <= 2) && (row.f_added <= 1)) || // Mash or boil
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1920 ((dataRecord.inventory_reduced <= 3) && (row.f_added == 2)) || // Primary
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1921 ((dataRecord.inventory_reduced <= 5) && (row.f_added == 3)) || // Secondary or Tertiary
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1922 ((dataRecord.inventory_reduced <= 6) && (row.f_added == 4)) || // Bottle
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1923 ((dataRecord.inventory_reduced <= 6) && (row.f_added == 5))) && row.f_inventory < row.f_amount) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1924 ok_fermentables = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1925 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1926 if (row.f_added == 0 && (row.f_type == 0 || row.f_type == 4) && row.f_color < 50) { // Mash and Grain/Adjunct and Color < 50
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1927 lintner += row.f_diastatic_power * row.f_amount;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1928 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1929 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1930 fermentableInit = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1931 $('#ferm_lintner').val(Math.round(parseFloat(lintner / mashkg)));
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1932 $('#mash_kg').val(mashkg);
633
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
1933 console.log('calcFermentables() supplies:' + ok_fermentables + ' moutsuiker:' + Round(sugarsm, 3) + '/' + Round(sugarsf, 3));
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1934 to_100 = my_100;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1935 if (to_100) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1936 $('#wf_amount').jqxNumberInput({ width: 90, readOnly: true, spinButtons: false });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1937 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1938 $('#wf_amount').jqxNumberInput({ width: 110, readOnly: false, spinButtons: true });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1939 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1940
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1941 if (mvol > 0) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1942 v = s / sugardensity + mvol;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1943 s = 1000 * s / (v * 10); //deg. Plato
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1944 est_mash_sg = Round(plato_to_sg(s), 5);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1945 $('#est_mash_sg').val(est_mash_sg);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1946 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1947
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1948 // Estimate total recipe OG.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1949 dataRecord.est_og = estimate_sg(sugarsf + addedS, parseFloat(dataRecord.batch_size));
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1950 $('#est_og').val(dataRecord.est_og);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1951 $('#est_og2').val(dataRecord.est_og);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1952 org = dataRecord.est_og;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1953
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1954 // Estimate SG in kettle after boil
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1955 aboil_sg = estimate_sg(sugarsf, parseFloat(dataRecord.batch_size));
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1956 $('#est_og3').val(aboil_sg);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1957
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1958 // Estimate SG in kettle before boil
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1959 preboil_sg = estimate_sg(sugarsm, parseFloat(dataRecord.boil_size));
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1960 $('#est_pre_sg').val(preboil_sg);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1961
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1962 // Recalculate volumes.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1963 aboil_volume = parseFloat(dataRecord.batch_size);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1964 if (dataRecord.brew_aboil_volume > 0)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1965 aboil_volume = dataRecord.brew_aboil_volume / 1.04; // volume @ 20 degrees
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1966 if (dataRecord.brew_fermenter_tcloss == 0) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1967 dataRecord.brew_fermenter_tcloss = dataRecord.eq_trub_chiller_loss;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1968 $('#brew_fermenter_tcloss').val(dataRecord.brew_fermenter_tcloss);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1969 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1970 dataRecord.brew_fermenter_volume = aboil_volume - dataRecord.brew_fermenter_tcloss + dataRecord.brew_fermenter_extrawater;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1971 $('#brew_fermenter_volume').val(dataRecord.brew_fermenter_volume);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1972 // Estimated needed sparge water corrected for the temperature.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1973 spoelw = (dataRecord.boil_size - mash_infuse + (mashkg * my_grain_absorbtion) + dataRecord.eq_lauter_deadspace) * 1.03;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1974 $('#brew_sparge_est').val(spoelw);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1975 // Calculate SG in fermenter
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1976 ogx = dataRecord.brew_aboil_sg;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1977 if (ogx < 1.002)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1978 ogx = aboil_sg;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1979 topw = dataRecord.brew_fermenter_extrawater;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1980
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1981 if (dataRecord.brew_fermenter_volume > 0) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1982 sug = sg_to_plato(ogx) * dataRecord.brew_fermenter_volume * ogx / 100; //kg of sugar in
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1983 sug += addedS; //kg
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1984
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1985 if ((dataRecord.brew_fermenter_volume * ogx + addedmass) > 0) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1986 pt = 100 * sug / (dataRecord.brew_fermenter_volume * ogx + addedmass + topw);
577
b4bfed3684d0 In production archive lists show always the OG from the brew fermenter SG. Possible fix for the not used og field in the database.
Michiel Broek <mbroek@mbse.eu>
parents: 564
diff changeset
1987 dataRecord.og = dataRecord.brew_fermenter_sg = Round(plato_to_sg(pt), 4);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1988 $('#brew_fermenter_sg').val(dataRecord.brew_fermenter_sg);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1989 // color
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1990 if (dataRecord.color_method == 4) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1991 dataRecord.brew_fermenter_color = Math.round(((pt / 8.6) * colorn) + (dataRecord.boil_time / 60));
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1992 } else if (dataRecord.color_method == 3) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1993 dataRecord.brew_fermenter_color = Math.round((4.46 * bv * sr) / (aboil_volume + topw) * colorh);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1994 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1995 cw = colort / (aboil_volume + topw) * 8.34436;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1996 dataRecord.brew_fermenter_color = kw_to_ebc(dataRecord.color_method, cw);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1997 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1998 $('#brew_fermenter_color').val(dataRecord.brew_fermenter_color);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
1999 scolor = ebc_to_color(dataRecord.brew_fermenter_color);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2000 $('#bcolorf').show();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2001 document.getElementById('bcolorf').style.background = scolor;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2002 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2003 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2004 // Negative volume
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2005 dataRecord.brew_fermenter_sg = dataRecord.brew_fermenter_color = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2006 $('#brew_fermenter_sg').val(0);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2007 $('#brew_fermenter_color').val(0);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2008 $('#bcolorf').hide();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2009 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2010
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2011 // Color of the wort
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2012 if (dataRecord.color_method == 4) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2013 color = Math.round(((sg_to_plato(dataRecord.est_og) / 8.6) * colorn) + (dataRecord.boil_time / 60));
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2014 } else if (dataRecord.color_method == 3) { // Hans Halberstadt
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2015 color = Math.round((4.46 * bv * sr) / parseFloat(dataRecord.batch_size) * colorh);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2016 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2017 cw = colort / parseFloat(dataRecord.batch_size) * 8.34436;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2018 color = kw_to_ebc(dataRecord.color_method, cw);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2019 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2020 dataRecord.est_color = color;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2021 $('#est_color').val(color);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2022 $('#est_color2').val(color);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2023 scolor = ebc_to_color(color);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2024 document.getElementById('bcolor').style.background = scolor;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2025 document.getElementById('bcolor2').style.background = scolor;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2026
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2027 // Progress bars
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2028 pmalts = mashkg / dataRecord.eq_mash_max * 100;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2029 $('#perc_malts').jqxProgressBar('val', pmalts);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2030 $('#perc_sugars').jqxProgressBar('val', psugar);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2031 $('#perc_cara').jqxProgressBar('val', pcara);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2032 calcStage();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2033
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2034 // Calculate estimated svg.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2035 svg = 0; // default.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2036 initcells = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2037 rows = $('#yeastGrid').jqxGrid('getrows');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2038 for (i = 0; i < rows.length; i++) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2039 row = rows[i];
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2040 if (row.y_use == 0) { // Primary
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2041 if (parseFloat(row.y_attenuation) > svg)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2042 svg = parseFloat(row.y_attenuation); // Take the highest if multiple yeasts.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2043 if (row.y_form == 0)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2044 initcells += (parseFloat(row.y_cells) / 1000000000) * parseFloat(row.y_amount) * (dataRecord.starter_viability / 100);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2045 else
617
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
2046 initcells += (parseFloat(row.y_cells) / 1000000) * parseFloat(row.y_amount) * (dataRecord.starter_viability / 100);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2047 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2048 // TODO: brett in secondary ??
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2049 if ((((dataRecord.inventory_reduced <= 3) && (row.y_use == 0)) || // Primary
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2050 ((dataRecord.inventory_reduced <= 4) && (row.y_use == 1)) || // Secondary
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2051 ((dataRecord.inventory_reduced <= 5) && (row.y_use == 2)) || // Tertiary
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2052 ((dataRecord.inventory_reduced <= 6) && (row.y_use == 3))) && // Bottle
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2053 (row.y_inventory < row.y_amount)) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2054 ok_yeasts = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2055 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2056 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2057 calcSupplies();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2058 if (svg == 0)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2059 svg = 77;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2060
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2061 if ((mashkg > 0) && (mash_infuse > 0) && (mashtime > 0) && (mashtemp > 0)) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2062 dataRecord.est_fg = estimate_fg(psugar, pcara, mash_infuse / mashkg, mashtime, mashtemp, svg, dataRecord.est_og);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2063 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2064 dataRecord.est_fg = estimate_fg(psugar, pcara, 0, 0, 0, svg, dataRecord.est_og);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2065 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2066 $('#est_fg').val(dataRecord.est_fg);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2067 $('#est_fg2').val(dataRecord.est_fg);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2068 $('#est_fg3').val(dataRecord.est_fg);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2069 fig = dataRecord.est_fg;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2070
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2071 dataRecord.est_abv = abvol(dataRecord.est_og, dataRecord.est_fg);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2072 $('#est_abv').val(dataRecord.est_abv);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2073 $('#est_abv2').val(dataRecord.est_abv);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2074
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2075 // Calculate the final svg if available use the real value.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2076 if ((dataRecord.stage >= 6) && (dataRecord.fg > 0.990) && (dataRecord.fg < dataRecord.brew_fermenter_sg)) {
655
f4e00869f39f Calculate the svg using Brew by the Numbers, Micahel L. Hall.
Michiel Broek <mbroek@mbse.eu>
parents: 651
diff changeset
2077 svg = calc_svg(dataRecord.brew_fermenter_sg, dataRecord.fg);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2078 org = dataRecord.brew_fermenter_sg;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2079 fig = dataRecord.fg;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2080 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2081
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2082 $('#yeast_cells').val(initcells);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2083 $('#need_cells').val(getNeededYeastCells());
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2084
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2085 // Calculate the calories in kcal/l (from brouwhulp)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2086 alc = 1881.22 * fig * (org - fig) / (1.775 - org);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2087 sug = 3550 * fig * (0.1808 * org + 0.8192 * fig - 1.0004);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2088 $('#kcal').val(Math.round((alc + sug) / (12 * 0.0295735296)));
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2089 };
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2090
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2091 function calcMash() {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2092
667
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
2093 var h, m, infused = 0, mashtime = 0, mashvol = 0, vol, i, j, n, a, b, row, temp;
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
2094 var lasttemp = 18.0;
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
2095 var graintemp = 18.0;
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
2096 var tuntemp = 18.0;
484
2083c274b283 In the product editor mash tab, display the total mash volume and the total mash time.
Michiel Broek <mbroek@mbse.eu>
parents: 479
diff changeset
2097
2083c274b283 In the product editor mash tab, display the total mash volume and the total mash time.
Michiel Broek <mbroek@mbse.eu>
parents: 479
diff changeset
2098 if ((rows = $('#mashGrid').jqxGrid('getrows')) && (mashkg > 0)) {
667
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
2099 console.log('calcMash()');
484
2083c274b283 In the product editor mash tab, display the total mash volume and the total mash time.
Michiel Broek <mbroek@mbse.eu>
parents: 479
diff changeset
2100 for (i = 0; i < rows.length; i++) {
2083c274b283 In the product editor mash tab, display the total mash volume and the total mash time.
Michiel Broek <mbroek@mbse.eu>
parents: 479
diff changeset
2101 row = $('#mashGrid').jqxGrid('getrowdata', i);
667
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
2102 if (row.step_type == 0) { // Infusion
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
2103 if (i == 0) {
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
2104 // First mash step, temperature from the mashtun and malt.
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
2105 n = 20; // tun is preheated.
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
2106 tuntemp = row.step_temp;
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
2107 for (j = 0; j < n; j++) {
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
2108 a = mashkg * graintemp * SpecificHeatMalt + dataRecord.eq_tun_weight * tuntemp * dataRecord.eq_tun_specific_heat;
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
2109 b = row.step_temp * (dataRecord.eq_tun_weight * dataRecord.eq_tun_specific_heat + row.step_infuse_amount * SpecificHeatWater + mashkg * SpecificHeatMalt) - SlakingHeat * mashkg;
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
2110 if (row.step_infuse_amount > 0) {
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
2111 temp = (b - a) / (row.step_infuse_amount * SpecificHeatWater);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
2112 } else {
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
2113 temp = 99;
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
2114 }
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
2115 tuntemp += (temp - tuntemp) / 2;
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
2116 row.step_infuse_temp = Round(temp, 6);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
2117 }
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
2118 console.log('init infuse temp: ' + row.step_infuse_temp);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
2119 } else {
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
2120 // Calculate amount of infusion water.
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
2121 row.step_infuse_amount = infusionVol(infused, mashkg, row.step_infuse_temp, row.step_temp, lasttemp);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
2122 //console.log('vol: ' + row.step_infuse_amount + ' temp: ' + row.step_infuse_temp);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
2123 }
484
2083c274b283 In the product editor mash tab, display the total mash volume and the total mash time.
Michiel Broek <mbroek@mbse.eu>
parents: 479
diff changeset
2124 infused += row.step_infuse_amount;
667
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
2125 } else if (row.step_type == 1) { // Temperature
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
2126 if (i > 0)
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
2127 row.step_infuse_amount = 0;
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
2128 row.step_infuse_temp = 0;
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
2129 } else if (row.step_type == 2) { // Decoction
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
2130 row.step_infuse_amount = decoctionVol(infused, row.step_temp, lasttemp);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
2131 row.step_infuse_temp = 99;
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
2132 }
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
2133 row.step_volume = infused;
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
2134 //console.log(i + ' type: ' + row.step_type + ' volume: ' + row.step_infuse_amount + ' temp: ' + row.step_infuse_temp);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
2135 lasttemp = row.step_temp;
484
2083c274b283 In the product editor mash tab, display the total mash volume and the total mash time.
Michiel Broek <mbroek@mbse.eu>
parents: 479
diff changeset
2136 mashtime += row.step_time + row.ramp_time;
667
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
2137 row.step_wg_ratio = Round(infused / mashkg, 6);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
2138 $('#mashGrid').jqxGrid('updaterow', i, row);
484
2083c274b283 In the product editor mash tab, display the total mash volume and the total mash time.
Michiel Broek <mbroek@mbse.eu>
parents: 479
diff changeset
2139 }
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2140 }
484
2083c274b283 In the product editor mash tab, display the total mash volume and the total mash time.
Michiel Broek <mbroek@mbse.eu>
parents: 479
diff changeset
2141 mashvol = mashkg * MaltVolume + infused;
2083c274b283 In the product editor mash tab, display the total mash volume and the total mash time.
Michiel Broek <mbroek@mbse.eu>
parents: 479
diff changeset
2142 $('#est_mashvol').val(mashvol);
2083c274b283 In the product editor mash tab, display the total mash volume and the total mash time.
Michiel Broek <mbroek@mbse.eu>
parents: 479
diff changeset
2143 h = Math.floor(mashtime / 60);
2083c274b283 In the product editor mash tab, display the total mash volume and the total mash time.
Michiel Broek <mbroek@mbse.eu>
parents: 479
diff changeset
2144 m = Math.floor(mashtime - (h * 60));
2083c274b283 In the product editor mash tab, display the total mash volume and the total mash time.
Michiel Broek <mbroek@mbse.eu>
parents: 479
diff changeset
2145 if (h < 10)
2083c274b283 In the product editor mash tab, display the total mash volume and the total mash time.
Michiel Broek <mbroek@mbse.eu>
parents: 479
diff changeset
2146 h = '0' + h;
2083c274b283 In the product editor mash tab, display the total mash volume and the total mash time.
Michiel Broek <mbroek@mbse.eu>
parents: 479
diff changeset
2147 if (m < 10)
2083c274b283 In the product editor mash tab, display the total mash volume and the total mash time.
Michiel Broek <mbroek@mbse.eu>
parents: 479
diff changeset
2148 m = '0' + m;
2083c274b283 In the product editor mash tab, display the total mash volume and the total mash time.
Michiel Broek <mbroek@mbse.eu>
parents: 479
diff changeset
2149 $('#est_mashtime').val(h + ':' + m);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2150 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2151
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2152 /*
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2153 * Change OG of recipe but keep the water volumes.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2154 */
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2155 function calcFermentablesFromOG(OG) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2156
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2157 console.log('calcFermentablesFromOG(' + OG + ')');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2158 var amount, row, d, i, sug, tot = 0, totmass = 0, rowscount, efficiency = parseFloat($('#efficiency').jqxNumberInput('decimal'));
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2159 sug = sg_to_plato(OG) * parseFloat($('#batch_size').jqxNumberInput('decimal')) * OG / 100; //total amount of sugars in kg
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2160 rowscount = $('#fermentableGrid').jqxGrid('getdatainformation').rowscount;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2161
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2162 for (i = 0; i < rowscount; i++) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2163 row = $('#fermentableGrid').jqxGrid('getrowdata', i);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2164 if (row.f_added < 4) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2165 d = row.f_percentage / 100 * (row.f_yield / 100) * (1 - row.f_moisture / 100);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2166 if (row.f_added == 0) // Mash
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2167 d = efficiency / 100 * d;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2168 tot += d;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2169 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2170 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2171 if (tot)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2172 totmass = Round(sug / tot, 3);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2173
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2174 if (totmass) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2175 for (i = 0; i < rowscount; i++) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2176 row = $('#fermentableGrid').jqxGrid('getrowdata', i);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2177 if (row.f_added < 4) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2178 amount = Math.round(row.f_percentage * 10 * totmass) / 1000;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2179 $('#fermentableGrid').jqxGrid('setcellvalue', i, 'f_amount', amount);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2180 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2181 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2182 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2183 };
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2184
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2185 function getNeededYeastCells() {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2186
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2187 var plato, volume, sg = dataRecord.brew_fermenter_sg;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2188 if (sg <= 1.0001 && dataRecord.fg > 1.000)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2189 sg = dataRecord.fg;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2190 else if (sg <= 1.0001)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2191 sg = dataRecord.est_og;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2192 plato = sg_to_plato(sg);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2193
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2194 volume = dataRecord.brew_fermenter_volume;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2195 if (volume <= 0)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2196 volume = dataRecord.batch_size - dataRecord.eq_trub_chiller_loss;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2197
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2198 return pitchrate * volume * plato;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2199 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2200
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2201 function hopFlavourContribution(bt, vol, use, amount) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2202 var result;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2203
538
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
2204 if (use == 4 || use == 5) // Whirlpool or Dry-hop
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
2205 return 0;
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2206 if (use == 1) { // First wort
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2207 result = 0.15; // assume 15% flavourcontribution for fwh
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2208 } else if (bt > 50) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2209 result = 0.10; // assume 10% flavourcontribution as a minimum
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2210 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2211 result = 15.25 / (6 * Math.sqrt(2 * Math.PI)) * Math.exp(-0.5 * Math.pow((bt - 21) / 6, 2));
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2212 if (result < 0.10)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2213 result = 0.10; // assume 10% flavourcontribution as a minimum
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2214 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2215 return (result * amount * 1000) / vol;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2216 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2217
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2218 function hopAromaContribution(bt, vol, use, amount) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2219 var result = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2220
538
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
2221 if (use == 5) { // Dry hop
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2222 result = 1.33;
538
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
2223 } else if (use == 4) { // Whirlpool
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
2224 if (bt > 30)
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
2225 bt = 30; // Max 30 minutes
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
2226 result = 0.62 * bt / 30;
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2227 } else if (bt > 20) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2228 result = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2229 } else if (bt > 7.5) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2230 result = 10.03 / (4 * Math.sqrt(2 * Math.PI)) * Math.exp(-0.5 * Math.pow((bt - 7.5) / 4, 2));
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2231 } else if (use == 2) { // Boil
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2232 result = 1;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2233 } else if (use == 3) { // Aroma
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2234 result = 1.2;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2235 }
538
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
2236 return (result * amount * 1000) / vol;
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2237 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2238
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2239 function calcIBUs() {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2240 var total_ibus = 0, ferm_ibus = 0, rows = {}, i, row;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2241 hop_aroma = hop_flavour = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2242 if (!(rows = $('#hopGrid').jqxGrid('getrows'))) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2243 return;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2244 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2245 ok_hops = 1;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2246 for (i = 0; i < rows.length; i++) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2247 row = rows[i];
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2248 total_ibus += toIBU(row.h_useat, row.h_form, preboil_sg, parseFloat(dataRecord.batch_size),
559
10cc2400b5d5 Backported extra yeast fields and the SO4:Cl ratio changes into the recipes editor.
Michiel Broek <mbroek@mbse.eu>
parents: 557
diff changeset
2249 parseFloat(row.h_amount), parseFloat(row.h_time), parseFloat(row.h_alpha), dataRecord.ibu_method,
10cc2400b5d5 Backported extra yeast fields and the SO4:Cl ratio changes into the recipes editor.
Michiel Broek <mbroek@mbse.eu>
parents: 557
diff changeset
2250 dataRecord.brew_whirlpool9, dataRecord.brew_whirlpool7, dataRecord.brew_whirlpool6);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2251 ferm_ibus += toIBU(row.h_useat, row.h_form, preboil_sg,
559
10cc2400b5d5 Backported extra yeast fields and the SO4:Cl ratio changes into the recipes editor.
Michiel Broek <mbroek@mbse.eu>
parents: 557
diff changeset
2252 parseFloat(dataRecord.brew_fermenter_volume) + parseFloat(dataRecord.brew_fermenter_tcloss),
10cc2400b5d5 Backported extra yeast fields and the SO4:Cl ratio changes into the recipes editor.
Michiel Broek <mbroek@mbse.eu>
parents: 557
diff changeset
2253 parseFloat(row.h_amount), parseFloat(row.h_time), parseFloat(row.h_alpha), dataRecord.ibu_method,
10cc2400b5d5 Backported extra yeast fields and the SO4:Cl ratio changes into the recipes editor.
Michiel Broek <mbroek@mbse.eu>
parents: 557
diff changeset
2254 dataRecord.brew_whirlpool9, dataRecord.brew_whirlpool7, dataRecord.brew_whirlpool6);
10cc2400b5d5 Backported extra yeast fields and the SO4:Cl ratio changes into the recipes editor.
Michiel Broek <mbroek@mbse.eu>
parents: 557
diff changeset
2255 hop_flavour += hopFlavourContribution(parseFloat(row.h_time), parseFloat(dataRecord.batch_size), row.h_useat, parseFloat(row.h_amount));
10cc2400b5d5 Backported extra yeast fields and the SO4:Cl ratio changes into the recipes editor.
Michiel Broek <mbroek@mbse.eu>
parents: 557
diff changeset
2256 hop_aroma += hopAromaContribution(parseFloat(row.h_time), parseFloat(dataRecord.batch_size), row.h_useat, parseFloat(row.h_amount));
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2257 if ((((dataRecord.inventory_reduced <= 2) && (row.h_useat <= 4)) || // Mash, FW, Boil, Aroma, Whirlpool
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2258 ((dataRecord.inventory_reduced <= 6) && (row.h_useat == 5))) && // Dry-hop
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2259 (row.h_inventory < row.h_amount))
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2260 ok_hops = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2261 }
557
ee76d0bfcdaf Some code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 555
diff changeset
2262 total_ibus = Round(total_ibus, 1);
ee76d0bfcdaf Some code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 555
diff changeset
2263 ferm_ibus = Round(ferm_ibus, 1);
ee76d0bfcdaf Some code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 555
diff changeset
2264 hop_flavour = Round(hop_flavour * 100 / 5, 1);
ee76d0bfcdaf Some code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 555
diff changeset
2265 hop_aroma = Round(hop_aroma * 100 / 6, 1);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2266 if (hop_flavour > 100)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2267 hop_flavour = 100;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2268 if (hop_aroma > 100)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2269 hop_aroma = 100;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2270 console.log('calcIBUs(): ' + total_ibus + ' flavour: ' + hop_flavour + ' aroma: ' + hop_aroma +
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2271 ' fermenter:' + ferm_ibus + ' supplies:' + ok_hops);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2272 dataRecord.est_ibu = total_ibus;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2273 $('#est_ibu').val(total_ibus);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2274 $('#est_ibu2').val(total_ibus);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2275 $('#hop_flavour').jqxProgressBar('val', hop_flavour);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2276 $('#hop_aroma').jqxProgressBar('val', hop_aroma);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2277 $('#brew_fermenter_ibu').val(ferm_ibus);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2278 calcStage();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2279 calcSupplies();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2280 };
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2281
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2282 /*
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2283 * http://braukaiser.com/blog/blog/2012/11/03/estimating-yeast-growth/
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2284 *
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2285 * stype: 0=stirred, 1=shaken, 2=simple
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2286 * totcells: initial cells
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2287 * egrams: gram extract
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2288 */
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2289 function getGrowthRate(stype, totcells, egrams) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2290
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2291 /* Cells per grams extract (B/g) */
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2292 var cpe = totcells / egrams;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2293
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2294 if (cpe > 3.5)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2295 return 0; // no growth
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2296 if (stype == 2)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2297 return 0.4; // simple starter
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2298 if (stype == 1)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2299 return 0.62; // shaken starter
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2300 if (cpe <= 1.4) // stirred starter
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2301 return 1.4;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2302 return 2.33 - (.67 * cpe);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2303 };
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2304
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2305 function calcStep(svol, stype, start) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2306
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2307 var gperpoint = 2.72715, //number of grams of extract per point of starter gravity per liter
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2308 prate = start / svol * 1000,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2309 irate = Round(prate, 1),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2310 egrams = (dataRecord.starter_sg - 1) * svol * gperpoint,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2311 grate = getGrowthRate(stype, start, egrams),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2312 ncells = Round(egrams * grate, 1),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2313 totcells = parseFloat(ncells) + start;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2314
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2315 return {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2316 svol: svol,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2317 irate: irate,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2318 prate: Round(prate, 1),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2319 ncells: ncells,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2320 totcells: totcells,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2321 growf: Round(ncells / start, 2)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2322 };
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2323 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2324
649
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2325 function killstep2() {
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2326
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2327 dataRecord.prop2_volume = 0;
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2328 $('#prop2_volume').val(0);
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2329 $('#prop2_tcells').val(0);
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2330 $('#prop2_type,#prop2_volume,#prop2_irate,#prop2_ncells,#prop2_tcells,#prop2_growf').hide();
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2331 $('#r2_pmpt').show();
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2332 }
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2333
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2334 function killstep3() {
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2335
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2336 dataRecord.prop3_volume = 0;
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2337 $('#prop3_volume').val(0);
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2338 $('#prop3_tcells').val(0);
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2339 $('#prop3_type,#prop3_volume,#prop3_irate,#prop3_ncells,#prop3_tcells,#prop3_growf').hide();
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2340 $('#r3_pmpt').show();
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2341 }
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2342
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2343 function killstep4() {
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2344
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2345 dataRecord.prop4_volume = 0;
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2346 $('#prop4_volume').val(0);
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2347 $('#prop4_tcells').val(0);
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2348 $('#prop4_type,#prop4_volume,#prop4_irate,#prop4_ncells,#prop4_tcells,#prop4_growf').hide();
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2349 $('#r4_pmpt').show();
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2350 }
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2351
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2352 /*
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2353 * Calculate all starter steps.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2354 * stype: final starter type: 0 = stirred, 1 = shaked, 2 = simple.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2355 * start: initial cells in billions
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2356 * needed: needed cells in billions
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2357 *
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2358 * result: all values updated.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2359 */
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2360 function calcSteps(stype, start, needed) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2361
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2362 var uvols = [20, 40, 60, 80, 100, 150, 200, 250, 375, 500, 625, 750, 875, 1000, 1250, 1500, 2000, 2500, 3000, 4000, 5000],
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2363 mvols = uvols.length, svol = 0, lasti = 0, result = {}, i;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2364
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2365 /*
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2366 * If no values are set, auto calculate the starter.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2367 */
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2368 if ((parseFloat($('#prop1_volume').jqxNumberInput('decimal')) + parseFloat($('#prop2_volume').jqxNumberInput('decimal')) +
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2369 parseFloat($('#prop3_volume').jqxNumberInput('decimal')) + parseFloat($('#prop4_volume').jqxNumberInput('decimal'))) == 0) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2370 // clear by default
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2371 for (i = 1; i < 5; i++) {
633
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
2372 $('#prop' + i + '_type,#prop' + i + '_volume,#prop' + i + '_irate,#prop' + i + '_ncells,#prop' + i + '_tcells,#prop' + i + '_growf').hide();
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2373 $('#r' + i + '_pmpt').show();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2374 $('#prop' + i + '_type').val(stype);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2375 $('#prop' + i + '_volume').val(0);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2376 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2377 if (start > needed) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2378 return; // no starter needed
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2379 }
633
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
2380 $('#prop1_type,#prop1_volume,#prop1_irate,#prop1_ncells,#prop1_tcells,#prop1_growf').show();
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2381 $('#r1_pmpt').hide();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2382 for (i = lasti; i <= mvols; i++) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2383 lasti = i;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2384 svol = uvols[lasti];
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2385 result = calcStep(svol, stype, start);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2386 if (result.irate < 25) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2387 // inocculation rate too low, backup one step and break out.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2388 lasti = i - 1;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2389 svol = uvols[lasti];
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2390 result = calcStep(svol, stype, start);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2391 break;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2392 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2393 if (result.totcells > needed || i == mvols) { // hit the target or loops done
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2394 break;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2395 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2396 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2397 $('#prop1_volume').val(result.svol / 1000); // to liters
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2398 $('#prop1_irate').val(result.prate);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2399 $('#prop1_ncells').val(result.ncells);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2400 $('#prop1_tcells').val(result.totcells);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2401 $('#prop1_growf').val(result.growf);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2402 if (result.totcells > needed)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2403 return; // hit the target
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2404
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2405 // second stage
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2406 $('#r2_pmpt').hide();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2407 $('#prop2_type').val(stype);
633
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
2408 $('#prop2_type,#prop2_volume,#prop2_irate,#prop2_ncells,#prop2_tcells,#prop2_growf').show();
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2409 for (i = lasti; i <= mvols; i++) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2410 lasti = i;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2411 svol = uvols[lasti];
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2412 result = calcStep(svol, stype, $('#prop1_tcells').val());
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2413 if (result.irate < 25) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2414 lasti = i - 1;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2415 svol = uvols[lasti];
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2416 result = calcStep(svol, stype, $('#prop1_tcells').val());
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2417 break;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2418 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2419 if (result.totcells > needed || i == mvols) { // hit the target or loops done
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2420 break;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2421 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2422 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2423 $('#prop2_volume').val(result.svol / 1000); // to liters
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2424 $('#prop2_irate').val(result.prate);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2425 $('#prop2_ncells').val(result.ncells);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2426 $('#prop2_tcells').val(result.totcells);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2427 $('#prop2_growf').val(result.growf);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2428 if (result.totcells > needed)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2429 return; // hit the target
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2430
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2431 // third stage
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2432 $('#r3_pmpt').hide();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2433 $('#prop3_type').val(stype);
633
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
2434 $('#prop3_type,#prop3_volume,#prop3_irate,#prop3_ncells,#prop3_tcells,#prop3_growf').show();
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2435 for (i = lasti; i <= mvols; i++) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2436 lasti = i;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2437 svol = uvols[lasti];
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2438 result = calcStep(svol, stype, $('#prop2_tcells').val());
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2439 if (result.irate < 25) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2440 lasti = i - 1;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2441 svol = uvols[lasti];
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2442 result = calcStep(svol, stype, $('#prop2_tcells').val());
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2443 break;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2444 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2445 if (result.totcells > needed || i == mvols) { // hit the target or loops done
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2446 break;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2447 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2448 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2449 $('#prop3_volume').val(result.svol / 1000); // to liters
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2450 $('#prop3_irate').val(result.prate);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2451 $('#prop3_ncells').val(result.ncells);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2452 $('#prop3_tcells').val(result.totcells);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2453 $('#prop3_growf').val(result.growf);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2454 if (result.totcells > needed)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2455 return; // hit the target
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2456
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2457 // fourth stage
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2458 $('#r4_pmpt').hide();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2459 $('#prop4_type').val(stype);
633
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
2460 $('#prop4_type,#prop4_volume,#prop4_irate,#prop4_ncells,#prop4_tcells,#prop4_growf').show();
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2461 for (i = lasti; i <= mvols; i++) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2462 lasti = i;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2463 svol = uvols[lasti];
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2464 result = calcStep(svol, stype, $('#prop3_tcells').val());
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2465 if (result.totcells > needed || i == mvols) { // hit the target or loops done
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2466 $('#prop4_volume').val(result.svol / 1000); // to liters
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2467 $('#prop4_irate').val(result.prate);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2468 $('#prop4_ncells').val(result.ncells);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2469 $('#prop4_tcells').val(result.totcells);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2470 $('#prop4_growf').val(result.growf);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2471 return;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2472 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2473 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2474 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2475 // recalculate
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2476 if (dataRecord.prop1_volume > 0) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2477 $('#r1_pmpt').hide();
633
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
2478 $('#prop1_type,#prop1_volume,#prop1_irate,#prop1_ncells,#prop1_tcells,#prop1_growf').show();
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2479 result = calcStep($('#prop1_volume').val() * 1000, dataRecord.prop1_type, start);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2480 $('#prop1_irate').val(result.prate);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2481 $('#prop1_ncells').val(result.ncells);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2482 $('#prop1_tcells').val(result.totcells);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2483 $('#prop1_growf').val(result.growf);
649
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2484 if (result.totcells > needed) {
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2485 killstep2();
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2486 killstep3();
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2487 killstep4();
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2488 } else if (dataRecord.prop2_volume == 0) {
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2489 dataRecord.prop2_volume = dataRecord.prop1_volume; /* Extra step needed, start with the same size */
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2490 dataRecord.prop2_type = dataRecord.prop1_type;
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2491 $('#prop2_volume').val(dataRecord.prop2_volume);
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2492 $('#prop2_type').val(dataRecord.prop2_type);
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2493 }
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2494 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2495 if (dataRecord.prop2_volume > 0) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2496 $('#r2_pmpt').hide();
633
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
2497 $('#prop2_type,#prop2_volume,#prop2_irate,#prop2_ncells,#prop2_tcells,#prop2_growf').show();
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2498 result = calcStep($('#prop2_volume').val() * 1000, dataRecord.prop2_type, $('#prop1_tcells').val());
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2499 $('#prop2_irate').val(result.prate);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2500 $('#prop2_ncells').val(result.ncells);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2501 $('#prop2_tcells').val(result.totcells);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2502 $('#prop2_growf').val(result.growf);
649
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2503 if (result.totcells > needed) {
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2504 killstep3();
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2505 killstep4();
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2506 } else if (dataRecord.prop3_volume == 0) {
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2507 dataRecord.prop3_volume = dataRecord.prop2_volume; /* Extra step needed, start with the same size */
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2508 dataRecord.prop3_type = dataRecord.prop2_type;
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2509 $('#prop3_volume').val(dataRecord.prop3_volume);
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2510 $('#prop3_type').val(dataRecord.prop3_type);
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2511 }
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2512 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2513 if (dataRecord.prop3_volume > 0) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2514 $('#r3_pmpt').hide();
633
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
2515 $('#prop3_type,#prop3_volume,#prop3_irate,#prop3_ncells,#prop3_tcells,#prop3_growf').show();
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2516 result = calcStep($('#prop3_volume').val() * 1000, dataRecord.prop3_type, $('#prop2_tcells').val());
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2517 $('#prop3_irate').val(result.prate);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2518 $('#prop3_ncells').val(result.ncells);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2519 $('#prop3_tcells').val(result.totcells);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2520 $('#prop3_growf').val(result.growf);
649
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2521 if (result.totcells > needed) {
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2522 killstep4();
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2523 } else if (dataRecord.prop4_volume == 0) {
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2524 dataRecord.prop4_volume = dataRecord.prop3_volume; /* Extra step needed, start with the same size */
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2525 dataRecord.prop4_type = dataRecord.prop3_type;
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2526 $('#prop4_volume').val(dataRecord.prop4_volume);
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2527 $('#prop4_type').val(dataRecord.prop4_type);
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
2528 }
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2529 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2530 if (dataRecord.prop4_volume > 0) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2531 $('#r4_pmpt').hide();
633
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
2532 $('#prop4_type,#prop4_volume,#prop4_irate,#prop4_ncells,#prop4_tcells,#prop4_growf').show();
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2533 result = calcStep($('#prop4_volume').val() * 1000, dataRecord.prop4_type, $('#prop3_tcells').val());
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2534 $('#prop4_irate').val(result.prate);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2535 $('#prop4_ncells').val(result.ncells);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2536 $('#prop4_tcells').val(result.totcells);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2537 $('#prop4_growf').val(result.growf);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2538 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2539 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2540 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2541
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2542 function calcYeast() {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2543
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2544 // Calculate needed cells.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2545 var plato, volume, rows, rowscount, row, i, needed, use_cells, sg = dataRecord.brew_fermenter_sg;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2546 if (sg <= 1.0001 && dataRecord.fg > 1.000)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2547 sg = dataRecord.fg;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2548 else if (sg <= 1.0001)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2549 sg = dataRecord.est_og;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2550 plato = sg_to_plato(sg);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2551
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2552 volume = dataRecord.brew_fermenter_volume;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2553 if (volume > 0) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2554 if (dataRecord.brew_fermenter_extrawater > 0)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2555 volume += dataRecord.brew_fermenter_extrawater;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2556 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2557 volume = dataRecord.batch_size - dataRecord.eq_trub_chiller_loss;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2558 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2559
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2560 // Also in calcFermentables()
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2561 $('#yeast_cells').val(initcells);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2562
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2563 if (!(rows = $('#yeastGrid').jqxGrid('getrows'))) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2564 return; // grid not yet loaded.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2565 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2566 rowscount = $('#yeastGrid').jqxGrid('getdatainformation').rowscount;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2567 if (rowscount == 0)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2568 return; // no yeast in recipe
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2569
620
5dae36a2d5be Automatic starter enable/disable
Michiel Broek <mbroek@mbse.eu>
parents: 619
diff changeset
2570 var maybe_starter = 0;
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2571 for (i = 0; i < rowscount; i++) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2572 row = $('#yeastGrid').jqxGrid('getrowdata', i);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2573 if (row.y_use == 0) { // primary
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2574 // pitchrate see https://www.brewersfriend.com/yeast-pitch-rate-and-starter-calculator/
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2575 // and http://braukaiser.com/blog/blog/2012/11/03/estimating-yeast-growth/
617
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
2576 if (row.y_type == 0) { // lager yeast
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
2577 pitchrate = 1.5;
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
2578 if (dataRecord.est_og > 1.060)
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
2579 pitchrate = 2.0;
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
2580 } else if (row.y_type == 6) { // Kveik
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
2581 pitchrate = 0.075;
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
2582 } else {
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
2583 pitchrate = 0.75;
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
2584 if (dataRecord.est_og > 1.060)
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
2585 pitchrate = 1.0;
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
2586 }
620
5dae36a2d5be Automatic starter enable/disable
Michiel Broek <mbroek@mbse.eu>
parents: 619
diff changeset
2587
5dae36a2d5be Automatic starter enable/disable
Michiel Broek <mbroek@mbse.eu>
parents: 619
diff changeset
2588 if (row.y_form != 1) { // Not dry yeast
5dae36a2d5be Automatic starter enable/disable
Michiel Broek <mbroek@mbse.eu>
parents: 619
diff changeset
2589 maybe_starter = 1;
5dae36a2d5be Automatic starter enable/disable
Michiel Broek <mbroek@mbse.eu>
parents: 619
diff changeset
2590 }
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2591 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2592 }
620
5dae36a2d5be Automatic starter enable/disable
Michiel Broek <mbroek@mbse.eu>
parents: 619
diff changeset
2593
495
fdbb6bfae569 Disabled some console.log items.
Michiel Broek <mbroek@mbse.eu>
parents: 490
diff changeset
2594 needed = Round(pitchrate * volume * plato, 1);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2595 $('#need_cells').val(needed);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2596 use_cells = initcells;
620
5dae36a2d5be Automatic starter enable/disable
Michiel Broek <mbroek@mbse.eu>
parents: 619
diff changeset
2597 if (needed <= initcells)
5dae36a2d5be Automatic starter enable/disable
Michiel Broek <mbroek@mbse.eu>
parents: 619
diff changeset
2598 maybe_starter = 0;
5dae36a2d5be Automatic starter enable/disable
Michiel Broek <mbroek@mbse.eu>
parents: 619
diff changeset
2599 console.log('calcYeast() pitchrate:' + pitchrate + ' start:' + initcells + ' needed:' + needed + ' volume:' + volume + ' maybe_starter:' + maybe_starter);
5dae36a2d5be Automatic starter enable/disable
Michiel Broek <mbroek@mbse.eu>
parents: 619
diff changeset
2600
5dae36a2d5be Automatic starter enable/disable
Michiel Broek <mbroek@mbse.eu>
parents: 619
diff changeset
2601 if (maybe_starter != dataRecord.starter_enable) {
5dae36a2d5be Automatic starter enable/disable
Michiel Broek <mbroek@mbse.eu>
parents: 619
diff changeset
2602 dataRecord.starter_enable = maybe_starter;
642
9d1af81b20ef Limit debug ProtoDeficit error messages. If the need for a yeast starter changes, make sure the screen is updated. Another set of extra debug logs. Fixed try yeast starter. Several dropdown lists changed the action from change to select. This should fix te too early calculations while the data was not yet loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 641
diff changeset
2603 showStarter();
620
5dae36a2d5be Automatic starter enable/disable
Michiel Broek <mbroek@mbse.eu>
parents: 619
diff changeset
2604 }
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2605
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2606 if (dataRecord.starter_enable) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2607 calcSteps(dataRecord.starter_type, initcells, needed);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2608
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2609 for (i = 1; i < 5; i++) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2610 $('#r' + i + '_irate').html('');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2611 $('#r' + i + '_growf').html('');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2612 $('#r' + i + '_tcells').html('');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2613 if (parseFloat($('#prop' + i + '_volume').val()) > 0) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2614 if ((parseFloat($('#prop' + i + '_irate').val()) < 25) || (parseFloat($('#prop' + i + '_irate').val()) > 100)) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2615 $('#r' + i + '_irate').html("<img src='images/dialog-error.png'>");
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2616 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2617 $('#r' + i + '_irate').html("<img src='images/dialog-ok-apply.png'>");
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2618 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2619 if (parseFloat($('#prop' + i + '_growf').val()) < 1)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2620 $('#r' + i + '_growf').html("<img src='images/dialog-error.png'>");
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2621 if (($('#prop' + i + '_type').val() > 0) && (parseFloat($('#prop' + i + '_growf').val()) > 3))
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2622 $('#r' + i + '_growf').html("<img src='images/dialog-error.png'>");
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2623 if (parseFloat($('#prop' + i + '_tcells').val()) > needed)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2624 $('#r' + i + '_tcells').html("<img src='images/dialog-ok-apply.png'>");
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2625 use_cells = parseFloat($('#prop' + i + '_tcells').val());
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2626 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2627 $('#r' + i + '_irate').html('');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2628 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2629 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2630 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2631 $('#plato_cells').val(parseFloat(use_cells / (volume * plato)));
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2632 };
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2633
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2634 function adjustHops(factor) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2635
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2636 console.log('adjustHops(' + factor + ')');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2637 var row, i, amount, rowscount = $('#hopGrid').jqxGrid('getdatainformation').rowscount;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2638 if (rowscount == 0)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2639 return;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2640 for (i = 0; i < rowscount; i++) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2641 row = $('#hopGrid').jqxGrid('getrowdata', i);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2642 amount = row.h_amount * factor;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2643 $('#hopGrid').jqxGrid('setcellvalue', i, 'h_amount', amount);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2644 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2645 };
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2646
538
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
2647 function whirlpoolHops() {
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
2648 var row, i, time, rowscount;
539
fe9ac6d49c4f Printed outputs have IBUs for whirlpool hops. Removed some debug console logs.
Michiel Broek <mbroek@mbse.eu>
parents: 538
diff changeset
2649 if (!(rowscount = $('#hopGrid').jqxGrid('getdatainformation').rowscount))
538
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
2650 return;
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
2651 if (rowscount == 0)
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
2652 return;
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
2653 for (i = 0; i < rowscount; i++) {
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
2654 row = $('#hopGrid').jqxGrid('getrowdata', i);
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
2655 if (row.h_useat == 4) {
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
2656 time = parseFloat(dataRecord.brew_whirlpool9) + parseFloat(dataRecord.brew_whirlpool7) + parseFloat(dataRecord.brew_whirlpool6);
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
2657 $('#hopGrid').jqxGrid('setcellvalue', i, 'h_time', time);
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
2658 }
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
2659 }
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
2660 };
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
2661
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2662 function calcMiscs() {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2663
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2664 ok_miscs = 1;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2665 var row, i, rowscount = $('#miscGrid').jqxGrid('getdatainformation').rowscount;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2666 if (rowscount == 0)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2667 return;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2668 for (i = 0; i < rowscount; i++) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2669 row = $('#miscGrid').jqxGrid('getrowdata', i);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2670 if ((((dataRecord.inventory_reduced <= 2) && (row.m_use_use <= 2)) || // Starter, Mash, Boil
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2671 ((dataRecord.inventory_reduced <= 3) && (row.m_use_use == 3)) || // Primary
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2672 ((dataRecord.inventory_reduced <= 5) && (row.m_use_use == 4)) || // Secondary, Teriary
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2673 ((dataRecord.inventory_reduced <= 6) && (row.m_use_use == 5))) && // Bottle
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2674 (row.m_inventory < row.m_amount)) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2675 ok_miscs = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2676 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2677 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2678 calcSupplies();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2679 };
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2680
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2681 function adjustMiscs(factor) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2682
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2683 console.log('adjustMiscs(' + factor + ')');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2684 var row, i, amount, rowscount = $('#miscGrid').jqxGrid('getdatainformation').rowscount;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2685 if (rowscount == 0)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2686 return;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2687 for (i = 0; i < rowscount; i++) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2688 row = $('#miscGrid').jqxGrid('getrowdata', i);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2689 amount = row.m_amount * factor;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2690 $('#miscGrid').jqxGrid('setcellvalue', i, 'm_amount', amount);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2691 switch (row.m_name) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2692 case 'CaCl2':
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2693 $('#wa_cacl2').val(row.m_amount * 1000);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2694 break;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2695 case 'CaSO4':
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2696 $('#wa_caso4').val(row.m_amount * 1000);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2697 break;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2698 case 'MgSO4':
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2699 $('#wa_mgso4').val(row.m_amount * 1000);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2700 break;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2701 case 'NaCl':
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2702 $('#wa_nacl').val(row.m_amount * 1000);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2703 break;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2704 case 'Melkzuur':
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2705 case 'Zoutzuur':
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2706 case 'Fosforzuur':
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2707 case 'Zwavelzuur':
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2708 $('#wa_acid').val(row.m_amount * 1000);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2709 break;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2710 case 'NaHCO3':
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2711 case 'Na2CO3':
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2712 case 'CaCO3':
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2713 case 'Ca(OH)2':
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2714 $('#wa_base').val(row.m_amount * 1000);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2715 break;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2716 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2717 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2718 };
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2719
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2720 function adjustYeasts(factor) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2721
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2722 console.log('adjustYeasts(' + factor + ')');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2723 var row, i, amount, rowscount = $('#yeastGrid').jqxGrid('getdatainformation').rowscount;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2724 if (rowscount == 0)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2725 return;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2726 for (i = 0; i < rowscount; i++) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2727 row = $('#yeastGrid').jqxGrid('getrowdata', i);
515
9d771385a8a0 Added dried yeast form. Pitch rate for Kveik initially set at 0.25. Dried Kveik cells set to 9000000000 cells/gram.
Michiel Broek <mbroek@mbse.eu>
parents: 500
diff changeset
2728 if (! dataRecord.starter_enable) { // Only adjust without a starter
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2729 amount = row.y_amount * factor;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2730 $('#yeastGrid').jqxGrid('setcellvalue', i, 'y_amount', amount);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2731 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2732 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2733 calcYeast();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2734 };
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2735
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2736 function adjustWaters(factor) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2737
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2738 console.log('adjustWaters(' + factor + ')');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2739 var amount, row, i, rowscount = $('#mashGrid').jqxGrid('getdatainformation').rowscount;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2740 if (rowscount == 0)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2741 return;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2742 mash_infuse = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2743 for (i = 0; i < rowscount; i++) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2744 row = $('#mashGrid').jqxGrid('getrowdata', i);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2745 if (row.step_type == 0) { // Infusion
612
576128de01e3 Fixed mash infuse amount division
Michiel Broek <mbroek@mbse.eu>
parents: 610
diff changeset
2746 amount = Round(parseFloat(row.step_infuse_amount) * factor, 1);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2747 $('#mashGrid').jqxGrid('setcellvalue', i, 'step_infuse_amount', amount);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2748 mash_infuse += amount;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2749 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2750 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2751 if (dataRecord.w2_amount == 0) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2752 dataRecord.w1_amount = mash_infuse;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2753 $('#w1_amount').val(mash_infuse);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2754 } else {
612
576128de01e3 Fixed mash infuse amount division
Michiel Broek <mbroek@mbse.eu>
parents: 610
diff changeset
2755 var w1_amount = (dataRecord.w1_amount / (dataRecord.w1_amount + dataRecord.w2_amount)) * mash_infuse;
576128de01e3 Fixed mash infuse amount division
Michiel Broek <mbroek@mbse.eu>
parents: 610
diff changeset
2756 var w2_amount = (dataRecord.w2_amount / (dataRecord.w1_amount + dataRecord.w2_amount)) * mash_infuse;
576128de01e3 Fixed mash infuse amount division
Michiel Broek <mbroek@mbse.eu>
parents: 610
diff changeset
2757 dataRecord.w1_amount = Round(w1_amount, 3);
576128de01e3 Fixed mash infuse amount division
Michiel Broek <mbroek@mbse.eu>
parents: 610
diff changeset
2758 dataRecord.w2_amount = Round(w2_amount, 3);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2759 $('#w1_amount').val(dataRecord.w1_amount);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2760 $('#w2_amount').val(dataRecord.w2_amount);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2761 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2762 $('#wg_amount').val(mash_infuse);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2763 };
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2764
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2765 function calcMashEfficiency() {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2766 var c, m;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2767 if (parseFloat($('#brew_mash_sg').jqxNumberInput('decimal')) < 1.002)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2768 return;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2769 c = sg_to_plato(est_mash_sg);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2770 m = sg_to_plato(parseFloat($('#brew_mash_sg').jqxNumberInput('decimal')));
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2771 if (c > 0.5)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2772 $('#brew_mash_efficiency').val(100 * m / c);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2773 else
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2774 $('#brew_mash_efficiency').val(0);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2775 };
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2776
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2777 function calcEfficiencyBeforeBoil() {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2778 var m = 0, rows = {}, i, row, tot, result = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2779 if (!(rows = $('#fermentableGrid').jqxGrid('getrows'))) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2780 return; // grid not yet loaded.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2781 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2782 for (i = 0; i < rows.length; i++) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2783 row = rows[i];
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2784 if (row.f_added == 0) { // Mash
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2785 m += row.f_amount * (row.f_yield / 100) * (1 - row.f_moisture / 100);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2786 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2787 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2788 tot = sg_to_plato(dataRecord.brew_preboil_sg) * (dataRecord.brew_preboil_volume / 1.04) * dataRecord.brew_preboil_sg * 10 / 1000;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2789 if (m > 0)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2790 result = Round((tot / m * 100), 1);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2791 if (result < 0)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2792 result = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2793 $('#brew_preboil_efficiency').val(result);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2794 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2795
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2796 function calcEfficiencyAfterBoil() {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2797 var m = 0, // Sugars added at mash
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2798 b = 0, // Sugars added at boil
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2799 rows = {}, i, row, tot, result = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2800 if (!(rows = $('#fermentableGrid').jqxGrid('getrows'))) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2801 return; // grid not yet loaded.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2802 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2803 for (i = 0; i < rows.length; i++) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2804 row = rows[i];
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2805 if (row.f_added == 0) { // Mash
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2806 m += row.f_amount * (row.f_yield / 100) * (1 - row.f_moisture / 100);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2807 } else if (row.f_added == 1) { // Boil
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2808 b += row.f_amount * (row.f_yield / 100) * (1 - row.f_moisture / 100);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2809 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2810 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2811 tot = sg_to_plato(dataRecord.brew_aboil_sg) * (dataRecord.brew_aboil_volume / 1.04) * dataRecord.brew_aboil_sg * 10 / 1000;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2812 tot -= b; // total sugars in wort minus added sugars.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2813 if (m > 0)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2814 result = Round((tot / m * 100), 1);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2815 if (result < 0)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2816 result = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2817 dataRecord.brew_aboil_efficiency = result;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2818 $('#brew_aboil_efficiency').val(result);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2819 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2820
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2821 function GetBUGU() {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2822 var gu = (dataRecord.est_og - 1) * 1000;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2823 if (gu > 0)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2824 return dataRecord.est_ibu / gu;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2825 else
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2826 return 0.5;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2827 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2828
552
ee0db754111e In calcWater() the optimum SO4:Cl ratio is taken from the target profile if set, else it's calculated from the BUGU value. Swapped Cl:SO4 to SO4:Cl ratio presentation. Added remark text next to the Optimal SO4:Cl ratio.
Michiel Broek <mbroek@mbse.eu>
parents: 545
diff changeset
2829 function GetOptSO4Clratio() {
ee0db754111e In calcWater() the optimum SO4:Cl ratio is taken from the target profile if set, else it's calculated from the BUGU value. Swapped Cl:SO4 to SO4:Cl ratio presentation. Added remark text next to the Optimal SO4:Cl ratio.
Michiel Broek <mbroek@mbse.eu>
parents: 545
diff changeset
2830 if (parseFloat($('#pr_sulfate').jqxNumberInput('decimal')) > 0 && parseFloat($('#pr_chloride').jqxNumberInput('decimal'))) {
ee0db754111e In calcWater() the optimum SO4:Cl ratio is taken from the target profile if set, else it's calculated from the BUGU value. Swapped Cl:SO4 to SO4:Cl ratio presentation. Added remark text next to the Optimal SO4:Cl ratio.
Michiel Broek <mbroek@mbse.eu>
parents: 545
diff changeset
2831 return (parseFloat($('#pr_sulfate').jqxNumberInput('decimal')) / parseFloat($('#pr_chloride').jqxNumberInput('decimal')));
ee0db754111e In calcWater() the optimum SO4:Cl ratio is taken from the target profile if set, else it's calculated from the BUGU value. Swapped Cl:SO4 to SO4:Cl ratio presentation. Added remark text next to the Optimal SO4:Cl ratio.
Michiel Broek <mbroek@mbse.eu>
parents: 545
diff changeset
2832 } else {
ee0db754111e In calcWater() the optimum SO4:Cl ratio is taken from the target profile if set, else it's calculated from the BUGU value. Swapped Cl:SO4 to SO4:Cl ratio presentation. Added remark text next to the Optimal SO4:Cl ratio.
Michiel Broek <mbroek@mbse.eu>
parents: 545
diff changeset
2833 var BUGU = GetBUGU();
ee0db754111e In calcWater() the optimum SO4:Cl ratio is taken from the target profile if set, else it's calculated from the BUGU value. Swapped Cl:SO4 to SO4:Cl ratio presentation. Added remark text next to the Optimal SO4:Cl ratio.
Michiel Broek <mbroek@mbse.eu>
parents: 545
diff changeset
2834 return (1.0 / (-1.2 * BUGU + 1.4));
ee0db754111e In calcWater() the optimum SO4:Cl ratio is taken from the target profile if set, else it's calculated from the BUGU value. Swapped Cl:SO4 to SO4:Cl ratio presentation. Added remark text next to the Optimal SO4:Cl ratio.
Michiel Broek <mbroek@mbse.eu>
parents: 545
diff changeset
2835 }
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2836 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2837
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2838 function setWaterAgent(name, amount) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2839 var row, i, id, found = false, miscs, rows = $('#miscGrid').jqxGrid('getrows');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2840 if (amount == 0) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2841 for (i = 0; i < rows.length; i++) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2842 row = rows[i];
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2843 if (row.m_name == name) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2844 id = $('#miscGrid').jqxGrid('getrowid', i);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2845 $('#miscGrid').jqxGrid('deleterow', id);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2846 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2847 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2848 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2849 for (i = 0; i < rows.length; i++) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2850 row = rows[i];
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2851 if (row.m_name == name) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2852 found = true;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2853 $('#miscGrid').jqxGrid('setcellvalue', i, 'm_amount', amount / 1000);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2854 break;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2855 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2856 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2857 if (! found) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2858 miscs = new $.jqx.dataAdapter(miscInvSource, {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2859 loadComplete: function() {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2860 var record, i, row = {}, records = miscs.records;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2861 for (i = 0; i < records.length; i++) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2862 record = records[i];
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2863 if (record.name == name) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2864 row['m_name'] = record.name;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2865 row['m_amount'] = amount / 1000;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2866 row['m_cost'] = record.cost;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2867 row['m_type'] = record.type;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2868 row['m_use_use'] = record.use_use;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2869 row['m_time'] = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2870 row['m_amount_is_weight'] = record.amount_is_weight;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2871 row['m_inventory'] = record.inventory;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2872 row['m_avail'] = 1;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2873 $('#miscGrid').jqxGrid('addrow', null, row);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2874 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2875 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2876 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2877 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2878 miscs.dataBind();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2879 return;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2880 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2881 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2882 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2883
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2884 function setRangeIndicator(ion, rangeCode) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2885 if ((rangeCode == 'laag') || (rangeCode == 'hoog'))
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2886 $('#wr_' + ion).html("<img src='images/dialog-error.png'><span style='vertical-align: top; font-size: 10px; font-style: italic;'>" + rangeCode + '</span>');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2887 else
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2888 $('#wr_' + ion).html("<img src='images/dialog-ok-apply.png'>");
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2889 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2890
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2891 function mix(v1, v2, c1, c2) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2892 if ((v1 + v2) > 0) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2893 return ((v1 * c1) + (v2 * c2)) / (v1 + v2);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2894 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2895 return 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2896 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2897
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2898 // mg/l as CaCO3
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2899 function ResidualAlkalinity(total_alkalinity, calcium, magnesium) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2900 return total_alkalinity - (calcium / 1.4 + magnesium / 1.7);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2901 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2902
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2903 function PartCO3(pH) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2904 var H = Math.pow(10, -pH);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2905 return 100 * Ka1 * Ka2 / (H * H + H * Ka1 + Ka1 * Ka2);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2906 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2907
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2908 function PartHCO3(pH) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2909 var H = Math.pow(10, -pH);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2910 return 100 * Ka1 * H / (H * H + H * Ka1 + Ka1 * Ka2);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2911 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2912
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2913 function Charge(pH) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2914 return (-2 * PartCO3(pH) - PartHCO3(pH));
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2915 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2916
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2917 //Z alkalinity is the amount of acid (in mEq/l) needed to bring water to the target pH (Z pH)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2918 function ZAlkalinity(pHZ) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2919 var C43 = Charge(4.3),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2920 Cw = Charge(parseFloat($('#wg_ph').jqxNumberInput('decimal'))),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2921 Cz = Charge(pHZ),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2922 DeltaCNaught = -C43 + Cw,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2923 CT = parseFloat($('#wg_total_alkalinity').jqxNumberInput('decimal')) / 50 / DeltaCNaught,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2924 DeltaCZ = -Cz + Cw;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2925 return CT * DeltaCZ;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2926 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2927
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2928 //Z Residual alkalinity is the amount of acid (in mEq/l) needed to bring the water in the mash to the target pH (Z pH)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2929 function ZRA(pHZ) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2930
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2931 var Magn, Z, Calc = parseFloat($('#wg_calcium').jqxNumberInput('decimal')) / (MMCa / 2);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2932 Magn = parseFloat($('#wg_magnesium').jqxNumberInput('decimal')) / (MMMg / 2);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2933 Z = ZAlkalinity(pHZ);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2934 return Z - (Calc / 3.5 + Magn / 7);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2935 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2936
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
2937 function BufferCapacity(di_ph, acid_to_ph_57, ebc, graintype) {
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
2938 C1 = 0;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
2939 if ((di_ph != 5.7) && ((acid_to_ph_57 < - 0.1) || (acid_to_ph_57 > 0.1))) {
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
2940 C1 = acid_to_ph_57 / (di_ph - 5.7);
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
2941 } else {
622
39902353b159 Workaround for hang during startup. Changed order of displayed fields on the yeast tab. Tooltip text changes. More decimals on the checklist for misc ingredients. More decimals for the starter on product print.
Michiel Broek <mbroek@mbse.eu>
parents: 621
diff changeset
2942 // If the acid_to_ph_5.7 is unknown from the maltster, guess the required acid.
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
2943 switch (graintype) {
622
39902353b159 Workaround for hang during startup. Changed order of displayed fields on the yeast tab. Tooltip text changes. More decimals on the checklist for misc ingredients. More decimals for the starter on product print.
Michiel Broek <mbroek@mbse.eu>
parents: 621
diff changeset
2944 case 0: // Base, Special, Kilned
39902353b159 Workaround for hang during startup. Changed order of displayed fields on the yeast tab. Tooltip text changes. More decimals on the checklist for misc ingredients. More decimals for the starter on product print.
Michiel Broek <mbroek@mbse.eu>
parents: 621
diff changeset
2945 case 3:
39902353b159 Workaround for hang during startup. Changed order of displayed fields on the yeast tab. Tooltip text changes. More decimals on the checklist for misc ingredients. More decimals for the starter on product print.
Michiel Broek <mbroek@mbse.eu>
parents: 621
diff changeset
2946 case 5: C1 = 0.014 * ebc - 34.192;
39902353b159 Workaround for hang during startup. Changed order of displayed fields on the yeast tab. Tooltip text changes. More decimals on the checklist for misc ingredients. More decimals for the starter on product print.
Michiel Broek <mbroek@mbse.eu>
parents: 621
diff changeset
2947 break;
39902353b159 Workaround for hang during startup. Changed order of displayed fields on the yeast tab. Tooltip text changes. More decimals on the checklist for misc ingredients. More decimals for the starter on product print.
Michiel Broek <mbroek@mbse.eu>
parents: 621
diff changeset
2948 case 2: C1 = -0.0597 * ebc - 32.457; // Crystal
39902353b159 Workaround for hang during startup. Changed order of displayed fields on the yeast tab. Tooltip text changes. More decimals on the checklist for misc ingredients. More decimals for the starter on product print.
Michiel Broek <mbroek@mbse.eu>
parents: 621
diff changeset
2949 break;
39902353b159 Workaround for hang during startup. Changed order of displayed fields on the yeast tab. Tooltip text changes. More decimals on the checklist for misc ingredients. More decimals for the starter on product print.
Michiel Broek <mbroek@mbse.eu>
parents: 621
diff changeset
2950 case 1: C1 = 0.0107 * ebc - 54.768; // Roast
39902353b159 Workaround for hang during startup. Changed order of displayed fields on the yeast tab. Tooltip text changes. More decimals on the checklist for misc ingredients. More decimals for the starter on product print.
Michiel Broek <mbroek@mbse.eu>
parents: 621
diff changeset
2951 break;
39902353b159 Workaround for hang during startup. Changed order of displayed fields on the yeast tab. Tooltip text changes. More decimals on the checklist for misc ingredients. More decimals for the starter on product print.
Michiel Broek <mbroek@mbse.eu>
parents: 621
diff changeset
2952 case 4: C1 = -149; // Sour malt
39902353b159 Workaround for hang during startup. Changed order of displayed fields on the yeast tab. Tooltip text changes. More decimals on the checklist for misc ingredients. More decimals for the starter on product print.
Michiel Broek <mbroek@mbse.eu>
parents: 621
diff changeset
2953 break;
39902353b159 Workaround for hang during startup. Changed order of displayed fields on the yeast tab. Tooltip text changes. More decimals on the checklist for misc ingredients. More decimals for the starter on product print.
Michiel Broek <mbroek@mbse.eu>
parents: 621
diff changeset
2954 }
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
2955 }
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
2956 return C1;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
2957 }
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
2958
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
2959 function ProtonDeficit(pHZ) {
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
2960
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
2961 var rows, i, C1, x, Result = ZRA(pHZ) * parseFloat($('#wg_amount').jqxNumberInput('decimal'));
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
2962 // proton deficit for the grist
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
2963 if ((rows = $('#fermentableGrid').jqxGrid('getrows'))) {
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
2964 for (i = 0; i < rows.length; i++) {
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
2965 row = rows[i];
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
2966 if (row.f_added == 0 && row.f_graintype != 6) { // Added == Mash && graintype != No Malt
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
2967 C1 = BufferCapacity(row.f_di_ph, row.f_acid_to_ph_57, row.f_color, row.f_graintype);
622
39902353b159 Workaround for hang during startup. Changed order of displayed fields on the yeast tab. Tooltip text changes. More decimals on the checklist for misc ingredients. More decimals for the starter on product print.
Michiel Broek <mbroek@mbse.eu>
parents: 621
diff changeset
2968 x = C1 * (pHZ - row.f_di_ph); // AcidRequired(ZpH)
39902353b159 Workaround for hang during startup. Changed order of displayed fields on the yeast tab. Tooltip text changes. More decimals on the checklist for misc ingredients. More decimals for the starter on product print.
Michiel Broek <mbroek@mbse.eu>
parents: 621
diff changeset
2969 Result += x * row.f_amount;
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2970 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2971 }
622
39902353b159 Workaround for hang during startup. Changed order of displayed fields on the yeast tab. Tooltip text changes. More decimals on the checklist for misc ingredients. More decimals for the starter on product print.
Michiel Broek <mbroek@mbse.eu>
parents: 621
diff changeset
2972 } else {
642
9d1af81b20ef Limit debug ProtoDeficit error messages. If the need for a yeast starter changes, make sure the screen is updated. Another set of extra debug logs. Fixed try yeast starter. Several dropdown lists changed the action from change to select. This should fix te too early calculations while the data was not yet loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 641
diff changeset
2973 error_count++;
9d1af81b20ef Limit debug ProtoDeficit error messages. If the need for a yeast starter changes, make sure the screen is updated. Another set of extra debug logs. Fixed try yeast starter. Several dropdown lists changed the action from change to select. This should fix te too early calculations while the data was not yet loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 641
diff changeset
2974 if (error_count < 5)
9d1af81b20ef Limit debug ProtoDeficit error messages. If the need for a yeast starter changes, make sure the screen is updated. Another set of extra debug logs. Fixed try yeast starter. Several dropdown lists changed the action from change to select. This should fix te too early calculations while the data was not yet loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 641
diff changeset
2975 console.log('ProtonDeficit(' + pHZ + ') invalid grist, return ' + Result);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2976 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2977 return Result;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2978 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2979
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2980 function MashpH() {
643
9ac2fb6b1311 Added failsave starting calcWater() when the main data is not yet loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 642
diff changeset
2981
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2982 var n = 0, pH = 5.4, deltapH = 0.001, deltapd = 0.1, pd = ProtonDeficit(pH);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2983 while (((pd < -deltapd) || (pd > deltapd)) && (n < 2000)) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2984 n++;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2985 if (pd < -deltapd)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2986 pH -= deltapH;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2987 else if (pd > deltapd)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2988 pH += deltapH;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2989 pd = ProtonDeficit(pH);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2990 }
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
2991 pH = Round(pH, 6);
644
4654b8ee4690 Version 0.3.30 Code and logging cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 643
diff changeset
2992 //console.log('MashpH() n: ' + n + ' pH: ' + pH);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2993 return pH;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2994 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2995
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2996 function calcWater() {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
2997
644
4654b8ee4690 Version 0.3.30 Code and logging cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 643
diff changeset
2998 /* Can be called during loading and building the screens */
643
9ac2fb6b1311 Added failsave starting calcWater() when the main data is not yet loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 642
diff changeset
2999 if (! data_loaded) {
644
4654b8ee4690 Version 0.3.30 Code and logging cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 643
diff changeset
3000 console.log('calcWater() failsave');
643
9ac2fb6b1311 Added failsave starting calcWater() when the main data is not yet loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 642
diff changeset
3001 return;
9ac2fb6b1311 Added failsave starting calcWater() when the main data is not yet loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 642
diff changeset
3002 }
9ac2fb6b1311 Added failsave starting calcWater() when the main data is not yet loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 642
diff changeset
3003
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3004 var liters = 0,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3005 calcium = 0,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3006 magnesium = 0,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3007 sodium = 0,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3008 total_alkalinity = 0,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3009 chloride = 0,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3010 sulfate = 0,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3011 ph = 0,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3012 RA = 0,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3013 frac = 0,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3014 TpH = 0,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3015 protonDeficit = 0,
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3016 AT, BT,
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3017 r1d, r2d, f1d, f2d, f3d,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3018 deltapH, deltapd, pd, n,
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3019 Res;
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3020
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3021 if (dataRecord.w1_name == '') {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3022 return;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3023 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3024
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3025 // If there is a dillute water source, mix the waters.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3026 if (dataRecord.w2_name != '') {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3027 liters = dataRecord.w1_amount + dataRecord.w2_amount;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3028 calcium = mix(dataRecord.w1_amount, dataRecord.w2_amount, dataRecord.w1_calcium, dataRecord.w2_calcium);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3029 magnesium = mix(dataRecord.w1_amount, dataRecord.w2_amount, dataRecord.w1_magnesium, dataRecord.w2_magnesium);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3030 sodium = mix(dataRecord.w1_amount, dataRecord.w2_amount, dataRecord.w1_sodium, dataRecord.w2_sodium);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3031 chloride = mix(dataRecord.w1_amount, dataRecord.w2_amount, dataRecord.w1_chloride, dataRecord.w2_chloride);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3032 sulfate = mix(dataRecord.w1_amount, dataRecord.w2_amount, dataRecord.w1_sulfate, dataRecord.w2_sulfate);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3033 total_alkalinity = mix(dataRecord.w1_amount, dataRecord.w2_amount, dataRecord.w1_total_alkalinity, dataRecord.w2_total_alkalinity);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3034 ph = -Math.log10(((Math.pow(10, -dataRecord.w1_ph) * dataRecord.w1_amount) + (Math.pow(10, -dataRecord.w2_ph) * dataRecord.w2_amount)) / liters);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3035 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3036 liters = dataRecord.w1_amount;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3037 calcium = dataRecord.w1_calcium;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3038 magnesium = dataRecord.w1_magnesium;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3039 sodium = dataRecord.w1_sodium;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3040 chloride = dataRecord.w1_chloride;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3041 sulfate = dataRecord.w1_sulfate;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3042 total_alkalinity = dataRecord.w1_total_alkalinity;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3043 ph = dataRecord.w1_ph;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3044 }
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3045 var bicarbonate = total_alkalinity * 1.22;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3046
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3047 /* Save mixed water ions for later */
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3048 var wg_calcium = calcium;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3049 var wg_sodium = sodium;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3050 var wg_total_alkalinity = total_alkalinity;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3051 var wg_chloride = chloride;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3052 var wg_sulfate = sulfate;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3053 var wg_bicarbonate = bicarbonate;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3054
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3055 $('#wg_amount').val(liters);
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3056 $('#wg_calcium').val(Round(calcium, 1));
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3057 $('#wg_magnesium').val(Round(magnesium, 1));
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3058 $('#wg_sodium').val(Round(sodium, 1));
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3059 $('#wg_total_alkalinity').val(Round(total_alkalinity, 1));
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3060 $('#wg_chloride').val(Round(chloride, 1));
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3061 $('#wg_sulfate').val(Round(sulfate, 1));
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3062 $('#wg_ph').val(Round(ph, 2));
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3063
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3064 var mash_ph = Round(MashpH(), 3);
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3065 console.log('Distilled water mash pH: ' + mash_ph);
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3066
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3067 /* Calculate Salt additions */
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3068 if (liters > 0) {
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3069 calcium += (parseFloat($('#wa_cacl2').jqxNumberInput('decimal')) * MMCa / MMCaCl2 * 1000 +
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3070 parseFloat($('#wa_caso4').jqxNumberInput('decimal')) * MMCa / MMCaSO4 * 1000) / liters;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3071 magnesium += (parseFloat($('#wa_mgso4').jqxNumberInput('decimal')) * MMMg / MMMgSO4 * 1000) / liters;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3072 sodium += (parseFloat($('#wa_nacl').jqxNumberInput('decimal')) * MMNa / MMNaCl * 1000 +
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3073 parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMNa / MMNaHCO3 * 1000) / liters;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3074 sulfate += (parseFloat($('#wa_caso4').jqxNumberInput('decimal')) * MMSO4 / MMCaSO4 * 1000 +
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3075 parseFloat($('#wa_mgso4').jqxNumberInput('decimal')) * MMSO4 / MMMgSO4 * 1000) / liters;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3076 chloride += (2 * parseFloat($('#wa_cacl2').jqxNumberInput('decimal')) * MMCl / MMCaCl2 * 1000 +
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3077 parseFloat($('#wa_nacl').jqxNumberInput('decimal')) * MMCl / MMNaCl * 1000) / liters;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3078 }
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3079
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3080 if (dataRecord.wa_acid_name < 0 || dataRecord,wa_acid_name >= AcidTypeData.length) {
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3081 $('#wa_acid_name').val(0);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3082 dataRecord.wa_acid_name = 0;
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3083 dataRecord.wa_acid_perc = AcidTypeData[0].AcidPrc;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3084 $('#wa_acid_perc').val(AcidTypeData[0].AcidPrc);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3085 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3086 if (last_acid == '')
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3087 last_acid = AcidTypeData[dataRecord.wa_acid_name].nl;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3088
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3089 if (parseFloat(dataRecord.wa_acid_perc) == 0) {
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3090 dataRecord.wa_acid_perc = AcidTypeData[AT].AcidPrc;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3091 $('#wa_acid_perc').val(AcidTypeData[AT].AcidPrc);
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3092 }
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3093
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3094 if (dataRecord.wa_base_name < 0 || dataRecord.wa_base_name > 3) {
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3095 $('#wa_base_name').val(0);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3096 dataRecord.wa_base_name = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3097 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3098 if (last_base == '')
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3099 last_base = BaseTypeData[dataRecord.wa_base_name].nl;
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3100
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3101 AT = dataRecord.wa_acid_name;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3102 BT = dataRecord.wa_base_name;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3103
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3104 /* Note that the next calculations do not correct the pH change by the added salts.
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3105 This pH change is at most 0.1 pH and is a minor difference in Acid amount. */
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3106
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3107 if (dataRecord.calc_acid) {
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3108 /* Auto calculate pH */
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3109 $('.c_mashph').show();
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3110 TpH = parseFloat(dataRecord.mash_ph);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3111 protonDeficit = ProtonDeficit(TpH);
644
4654b8ee4690 Version 0.3.30 Code and logging cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 643
diff changeset
3112 //console.log('calc_acid tgt: ' + TpH + ' protonDeficit: ' + protonDeficit);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3113 if (protonDeficit > 0) { // Add acid
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3114 $('#wa_base').val(0);
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3115 dataRecord.wa_base = 0;
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3116 setWaterAgent(last_base, 0);
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3117 frac = CalcFrac(TpH, AcidTypeData[AT].pK1, AcidTypeData[AT].pK2, AcidTypeData[AT].pK3);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3118 Acid = protonDeficit / frac;
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3119 Acid *= AcidTypeData[AT].MolWt; // mg
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3120 Acidmg = Acid;
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3121 Acid = Acid / AcidTypeData[AT].AcidSG; // ml
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3122 Acid = Round(Acid / (parseFloat(dataRecord.wa_acid_perc) / 100), 2); // ml
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3123 console.log('Mash auto Acid final ml: ' + Acid);
495
fdbb6bfae569 Disabled some console.log items.
Michiel Broek <mbroek@mbse.eu>
parents: 490
diff changeset
3124 $('#wa_acid').val(Acid);
fdbb6bfae569 Disabled some console.log items.
Michiel Broek <mbroek@mbse.eu>
parents: 490
diff changeset
3125 setWaterAgent(AcidTypeData[AT].nl, Acid);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3126
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3127 bicarbonate = bicarbonate - protonDeficit * frac / liters;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3128 total_alkalinity = bicarbonate * 50 / 61;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3129 } else if (protonDeficit < 0) { //Add base
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3130 $('#wa_acid').val(0);
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3131 dataRecord.wa_acid = 0;
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3132 setWaterAgent(last_acid, 0);
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3133 r1d = Math.pow(10, (TpH - 6.35));
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3134 r2d = Math.pow(10, (TpH - 10.33));
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3135 f1d = 1 / (1 + r1d + r1d * r2d);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3136 f2d = f1d * r1d;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3137 f3d = f2d * r2d;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3138 switch (BT) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3139 case 0:
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3140 RA = -protonDeficit / (f1d - f3d); // Sodiumbicarbonate, mmol totaal
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3141 RA = RA * MMNaHCO3 / 1000; //gram
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3142 $('#wa_base').val(Round(RA, 2));
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3143 setWaterAgent('NaHCO3', Round(RA, 2));
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3144 if (liters > 0) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3145 // Na
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3146 RA = (parseFloat($('#wa_nacl').jqxNumberInput('decimal')) * MMNa / MMNaCl * 1000 +
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3147 parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMNa / MMNaHCO3 * 1000) / liters;
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3148 sodium = wg_sodium + RA;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3149 // HCO3
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3150 RA = (parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMHCO3 / MMNaHCO3 * 1000) / liters;
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3151 bicarbonate = wg_bicarbonate + RA;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3152 total_alkalinity = bicarbonate * 50 / 61;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3153 RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3154 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3155 break;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3156 case 1:
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3157 RA = -protonDeficit / (2 * f1d + f2d); // Sodiumcarbonate, mmol totaal
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3158 RA = RA * MMNa2CO3 / 1000; //gram
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3159 $('#wa_base').val(Round(RA, 2));
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3160 setWaterAgent('Na2CO3', Round(RA, 2));
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3161 if (liters > 0) {
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3162 RA = (parseFloat($('#wa_nacl').jqxNumberInput('decimal')) * MMNa / MMNaCl * 1000+
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3163 parseFloat($('#wa_base').jqxNumberInput('decimal')) * 2 * MMNa / MMNa2CO3 * 1000) / liters;
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3164 sodium = wg_sodium + RA;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3165 // HCO3
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3166 RA = (parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMHCO3 / MMNa2CO3 * 1000) / liters;
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3167 bicarbonate = wg_bicarbonate + RA;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3168 total_alkalinity = bicarbonate * 50 / 61;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3169 RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3170 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3171 break;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3172 case 2:
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3173 RA = -protonDeficit * (f1d - f3d); // Calciumcarbonate, mmol totaal
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3174 RA = RA * MMCaCO3 / 1000; //gram
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3175 //but only 1/3 is effective, so add 3 times as much
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3176 RA = 3 * RA;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3177 $('#wa_base').val(Round(RA, 2));
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3178 setWaterAgent('CaCO3', Round(RA, 2));
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3179 if (liters > 0) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3180 //Bicarbonate
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3181 RA = (parseFloat($('#wa_base').jqxNumberInput('decimal')) / 3 * MMHCO3 / MMCaCO3 * 1000) / liters;
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3182 bicarbonate = wg_bicarbonate + RA;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3183 total_alkalinity = bicarbonate * 50 / 61;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3184 //Ca precipitates out as Ca10(PO4)6(OH)2
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3185 RA = (parseFloat($('#wa_cacl2').jqxNumberInput('decimal')) * MMCa / MMCaCl2 * 1000 +
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3186 parseFloat($('#wa_caso4').jqxNumberInput('decimal')) * MMCa / MMCaSO4 * 1000 +
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3187 parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMCa / MMCaCO3 * 1000) / liters;
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3188 calcium = wg_calcium + RA;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3189 RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3190 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3191 break;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3192 case 3:
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3193 RA = -protonDeficit / 19.3; // Calciumhydroxide
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3194 $('#wa_base').val(Round(RA, 2));
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3195 setWaterAgent('Ca(OH)2', Round(RA, 2));
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3196 if (liters > 0) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3197 // Bicarbonate
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3198 RA = -protonDeficit / liters;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3199 total_alkalinity = wg_total_alkalinity + RA;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3200 bicarbonate = total_alkalinity * 61 / 50;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3201 // Calcium
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3202 RA = (parseFloat($('#wa_cacl2').jqxNumberInput('decimal')) * MMCa / MMCaCl2 * 1000 +
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3203 parseFloat($('#wa_caso4').jqxNumberInput('decimal')) * MMCa / MMCaSO4 * 1000 +
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3204 parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMCa / MMCaOH2 * 1000) / liters;
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3205 calcium = wg_calcium + RA;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3206 RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3207 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3208 break;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3209 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3210 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3211 ph = TpH;
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3212 $('#wb_ph').val(Round(ph, 2));
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3213 $('#est_mash_ph').val(Round(ph, 2));
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3214 } else {
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3215 /* Manual calculate pH */
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3216 $('.c_mashph').hide();
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3217 console.log('calc_acid no');
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3218 if (parseFloat($('#wa_base').jqxNumberInput('decimal')) > 0 && liters > 0) {
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3219 /* First add the base salts */
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3220 switch (BT) {
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3221 case 0: // Sodiumbicarbonate, Na
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3222 RA = (parseFloat($('#wa_nacl').jqxNumberInput('decimal')) * MMNa / MMNaCl * 1000 +
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3223 parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMNa / MMNaHCO3 * 1000) / liters;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3224 sodium = wg_sodium + RA;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3225 // HCO3
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3226 RA = (parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMHCO3 / MMNaHCO3 * 1000) / liters;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3227 bicarbonate = wg_bicarbonate + RA;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3228 total_alkalinity = bicarbonate * 50 / 61;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3229 RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium);
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3230 break;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3231 case 1: // Sodiumcarbonate
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3232 RA = (parseFloat($('#wa_nacl').jqxNumberInput('decimal')) * MMNa / MMNaCl * 1000 +
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3233 parseFloat($('#wa_base').jqxNumberInput('decimal')) * 2 * MMNa / MMNa2CO3 * 1000) / liters;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3234 sodium = wg_sodium + RA;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3235 // HCO3
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3236 RA = (parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMHCO3 / MMNa2CO3 * 1000) / liters;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3237 bicarbonate = wg_bicarbonate + RA;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3238 total_alkalinity = bicarbonate * 50 / 61;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3239 RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium);
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3240 break;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3241 case 2: // Calciumcarbonate: Bicarbonate
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3242 RA = (parseFloat($('#wa_base').jqxNumberInput('decimal')) / 3 * MMHCO3 * 1000 / MMCaCO3) / liters;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3243 bicarbonate = wg_bicarbonate + RA;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3244 total_alkalinity = bicarbonate * 50 / 61;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3245 RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium);
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3246 // Ca
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3247 RA = (parseFloat($('#wa_cacl2').jqxNumberInput('decimal')) * MMCa * 1000 / MMCaCl2 +
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3248 parseFloat($('#wa_caso4').jqxNumberInput('decimal')) * MMCa * 1000 / MMCaSO4 +
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3249 parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMCa * 1000/ MMCaCO3) / liters;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3250 calcium = wg_calcium + RA;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3251 break;
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3252 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3253 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3254
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3255 pHa = Round(ph, 3); // Adjusted water pH
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3256 // Then calculate the new pH with added acids and malts
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3257 console.log('Mash pH: ' + pHa);
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3258 Acid = AcidTypeData[AT].AcidSG * (parseFloat(dataRecord.wa_acid_perc) / 100); // ml
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3259 Acid *= parseFloat($('#wa_acid').jqxNumberInput('decimal'));
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3260 Acid /= AcidTypeData[AT].MolWt; // mg
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3261 Acidmg = Acid;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3262
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3263 //find the pH where the protondeficit = protondeficit by the acid
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3264 frac = CalcFrac(pHa, AcidTypeData[AT].pK1, AcidTypeData[AT].pK2, AcidTypeData[AT].pK3);
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3265 protonDeficit = Round(Acid * frac, 3);
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3266 //console.log('protonDeficit Acid: ' + protonDeficit + ' frac: ' + frac + ' pH: ' + pHa);
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3267
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3268 deltapH = 0.001;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3269 deltapd = 0.1;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3270 pd = Round(ProtonDeficit(pHa), 6);
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3271 n = 0;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3272 while (((pd < (protonDeficit - deltapd)) || (pd > (protonDeficit + deltapd))) && (n < 4000)) {
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3273 n++;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3274 if (pd < (protonDeficit - deltapd))
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3275 pHa -= deltapH;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3276 else if (pd > (protonDeficit + deltapd))
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3277 pHa += deltapH;
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3278 frac = CalcFrac(pHa, AcidTypeData[AT].pK1, AcidTypeData[AT].pK2, AcidTypeData[AT].pK3);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3279 protonDeficit = Acid * frac;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3280 pd = ProtonDeficit(pHa);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3281 }
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3282 //console.log('n: ' + n + ' pd: ' + pd + ' protonDeficit: ' + protonDeficit + ' frac: ' + frac + ' pHa: ' + pHa);
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3283 RA = wg_bicarbonate - protonDeficit * frac / liters;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3284 bicarbonate = RA;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3285 total_alkalinity = RA * 50 / 61;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3286 ph = pHa;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3287 $('#wb_ph').val(Round(ph, 2));
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3288 $('#est_mash_ph').val(Round(ph, 2));
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3289 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3290
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3291 if ((AT == 3) && (liters > 0)) { // Sulfuric / Zwavelzuur
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3292 RA = parseFloat($('#wa_caso4').jqxNumberInput('decimal')) * MMSO4 / MMCaSO4 +
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3293 parseFloat($('#wa_mgso4').jqxNumberInput('decimal')) * MMSO4 / MMMgSO4 +
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3294 Acidmg / 1000 * MMSO4 / (MMSO4 + 2);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3295 RA = 1000 * RA / liters;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3296 sulfate = wg_sulfate + RA; // Not add to sulfate??
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3297 } else if ((AT == 1) && (liters > 0)) { // Hydrochloric, Zoutzuur
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3298 RA = parseFloat($('#wa_cacl2').jqxNumberInput('decimal')) * MMCl / MMCaCl2 +
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3299 parseFloat($('#wa_nacl').jqxNumberInput('decimal')) * MMCl / MMNaCl +
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3300 Acidmg / 1000 * MMCl / (MMCl + 1);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3301 RA = 1000 * RA / liters;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3302 chloride = wg_chloride + RA;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3303 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3304
555
7c4f34b7e16f A bit of code optimization in calcWater()
Michiel Broek <mbroek@mbse.eu>
parents: 554
diff changeset
3305 var BUGU = GetBUGU();
7c4f34b7e16f A bit of code optimization in calcWater()
Michiel Broek <mbroek@mbse.eu>
parents: 554
diff changeset
3306 $('#tgt_bu').val(Round(BUGU, 2));
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3307 // From brouwhulp.
555
7c4f34b7e16f A bit of code optimization in calcWater()
Michiel Broek <mbroek@mbse.eu>
parents: 554
diff changeset
3308 if (BUGU < 0.32)
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3309 $('#wr_bu').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Zeer moutig en zoet</span>");
555
7c4f34b7e16f A bit of code optimization in calcWater()
Michiel Broek <mbroek@mbse.eu>
parents: 554
diff changeset
3310 else if (BUGU < 0.43)
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3311 $('#wr_bu').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Moutig, zoet</span>");
555
7c4f34b7e16f A bit of code optimization in calcWater()
Michiel Broek <mbroek@mbse.eu>
parents: 554
diff changeset
3312 else if (BUGU < 0.52)
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3313 $('#wr_bu').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Evenwichtig</span>");
555
7c4f34b7e16f A bit of code optimization in calcWater()
Michiel Broek <mbroek@mbse.eu>
parents: 554
diff changeset
3314 else if (BUGU < 0.63)
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3315 $('#wr_bu').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Licht hoppig, bitter</span>");
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3316 else
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3317 $('#wr_bu').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Extra hoppig, zeer bitter</span>");
552
ee0db754111e In calcWater() the optimum SO4:Cl ratio is taken from the target profile if set, else it's calculated from the BUGU value. Swapped Cl:SO4 to SO4:Cl ratio presentation. Added remark text next to the Optimal SO4:Cl ratio.
Michiel Broek <mbroek@mbse.eu>
parents: 545
diff changeset
3318
ee0db754111e In calcWater() the optimum SO4:Cl ratio is taken from the target profile if set, else it's calculated from the BUGU value. Swapped Cl:SO4 to SO4:Cl ratio presentation. Added remark text next to the Optimal SO4:Cl ratio.
Michiel Broek <mbroek@mbse.eu>
parents: 545
diff changeset
3319 // Sulfate to Chloride ratio (Palmer).
555
7c4f34b7e16f A bit of code optimization in calcWater()
Michiel Broek <mbroek@mbse.eu>
parents: 554
diff changeset
3320 var OptSO4Clratio = GetOptSO4Clratio();
7c4f34b7e16f A bit of code optimization in calcWater()
Michiel Broek <mbroek@mbse.eu>
parents: 554
diff changeset
3321 $('#tgt_so4_cl').val(Round(OptSO4Clratio, 1));
7c4f34b7e16f A bit of code optimization in calcWater()
Michiel Broek <mbroek@mbse.eu>
parents: 554
diff changeset
3322 if (OptSO4Clratio < 0.4)
552
ee0db754111e In calcWater() the optimum SO4:Cl ratio is taken from the target profile if set, else it's calculated from the BUGU value. Swapped Cl:SO4 to SO4:Cl ratio presentation. Added remark text next to the Optimal SO4:Cl ratio.
Michiel Broek <mbroek@mbse.eu>
parents: 545
diff changeset
3323 $('#wrt_so4_cl').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Te moutig</span>");
555
7c4f34b7e16f A bit of code optimization in calcWater()
Michiel Broek <mbroek@mbse.eu>
parents: 554
diff changeset
3324 else if (OptSO4Clratio < 0.6)
552
ee0db754111e In calcWater() the optimum SO4:Cl ratio is taken from the target profile if set, else it's calculated from the BUGU value. Swapped Cl:SO4 to SO4:Cl ratio presentation. Added remark text next to the Optimal SO4:Cl ratio.
Michiel Broek <mbroek@mbse.eu>
parents: 545
diff changeset
3325 $('#wrt_so4_cl').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Zeer moutig</span>");
555
7c4f34b7e16f A bit of code optimization in calcWater()
Michiel Broek <mbroek@mbse.eu>
parents: 554
diff changeset
3326 else if (OptSO4Clratio < 0.8)
552
ee0db754111e In calcWater() the optimum SO4:Cl ratio is taken from the target profile if set, else it's calculated from the BUGU value. Swapped Cl:SO4 to SO4:Cl ratio presentation. Added remark text next to the Optimal SO4:Cl ratio.
Michiel Broek <mbroek@mbse.eu>
parents: 545
diff changeset
3327 $('#wrt_so4_cl').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Moutig</span>");
555
7c4f34b7e16f A bit of code optimization in calcWater()
Michiel Broek <mbroek@mbse.eu>
parents: 554
diff changeset
3328 else if (OptSO4Clratio < 1.5)
552
ee0db754111e In calcWater() the optimum SO4:Cl ratio is taken from the target profile if set, else it's calculated from the BUGU value. Swapped Cl:SO4 to SO4:Cl ratio presentation. Added remark text next to the Optimal SO4:Cl ratio.
Michiel Broek <mbroek@mbse.eu>
parents: 545
diff changeset
3329 $('#wrt_so4_cl').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Gebalanceerd</span>");
555
7c4f34b7e16f A bit of code optimization in calcWater()
Michiel Broek <mbroek@mbse.eu>
parents: 554
diff changeset
3330 else if (OptSO4Clratio < 2.0)
552
ee0db754111e In calcWater() the optimum SO4:Cl ratio is taken from the target profile if set, else it's calculated from the BUGU value. Swapped Cl:SO4 to SO4:Cl ratio presentation. Added remark text next to the Optimal SO4:Cl ratio.
Michiel Broek <mbroek@mbse.eu>
parents: 545
diff changeset
3331 $('#wrt_so4_cl').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Licht bitter</span>");
555
7c4f34b7e16f A bit of code optimization in calcWater()
Michiel Broek <mbroek@mbse.eu>
parents: 554
diff changeset
3332 else if (OptSO4Clratio < 4.0)
552
ee0db754111e In calcWater() the optimum SO4:Cl ratio is taken from the target profile if set, else it's calculated from the BUGU value. Swapped Cl:SO4 to SO4:Cl ratio presentation. Added remark text next to the Optimal SO4:Cl ratio.
Michiel Broek <mbroek@mbse.eu>
parents: 545
diff changeset
3333 $('#wrt_so4_cl').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Bitter</span>");
555
7c4f34b7e16f A bit of code optimization in calcWater()
Michiel Broek <mbroek@mbse.eu>
parents: 554
diff changeset
3334 else if (OptSO4Clratio < 9.0)
552
ee0db754111e In calcWater() the optimum SO4:Cl ratio is taken from the target profile if set, else it's calculated from the BUGU value. Swapped Cl:SO4 to SO4:Cl ratio presentation. Added remark text next to the Optimal SO4:Cl ratio.
Michiel Broek <mbroek@mbse.eu>
parents: 545
diff changeset
3335 $('#wrt_so4_cl').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Zeer bitter</span>");
ee0db754111e In calcWater() the optimum SO4:Cl ratio is taken from the target profile if set, else it's calculated from the BUGU value. Swapped Cl:SO4 to SO4:Cl ratio presentation. Added remark text next to the Optimal SO4:Cl ratio.
Michiel Broek <mbroek@mbse.eu>
parents: 545
diff changeset
3336 else
ee0db754111e In calcWater() the optimum SO4:Cl ratio is taken from the target profile if set, else it's calculated from the BUGU value. Swapped Cl:SO4 to SO4:Cl ratio presentation. Added remark text next to the Optimal SO4:Cl ratio.
Michiel Broek <mbroek@mbse.eu>
parents: 545
diff changeset
3337 $('#wrt_so4_cl').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Te bitter</span>");
ee0db754111e In calcWater() the optimum SO4:Cl ratio is taken from the target profile if set, else it's calculated from the BUGU value. Swapped Cl:SO4 to SO4:Cl ratio presentation. Added remark text next to the Optimal SO4:Cl ratio.
Michiel Broek <mbroek@mbse.eu>
parents: 545
diff changeset
3338 if (chloride > 0)
ee0db754111e In calcWater() the optimum SO4:Cl ratio is taken from the target profile if set, else it's calculated from the BUGU value. Swapped Cl:SO4 to SO4:Cl ratio presentation. Added remark text next to the Optimal SO4:Cl ratio.
Michiel Broek <mbroek@mbse.eu>
parents: 545
diff changeset
3339 RA = sulfate / chloride;
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3340 else
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3341 RA = 10;
552
ee0db754111e In calcWater() the optimum SO4:Cl ratio is taken from the target profile if set, else it's calculated from the BUGU value. Swapped Cl:SO4 to SO4:Cl ratio presentation. Added remark text next to the Optimal SO4:Cl ratio.
Michiel Broek <mbroek@mbse.eu>
parents: 545
diff changeset
3342 $('#got_so4_cl').val(Round(RA, 1));
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3343 Res = 'normaal';
555
7c4f34b7e16f A bit of code optimization in calcWater()
Michiel Broek <mbroek@mbse.eu>
parents: 554
diff changeset
3344 if (RA < (0.8 * OptSO4Clratio))
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3345 Res = 'laag';
555
7c4f34b7e16f A bit of code optimization in calcWater()
Michiel Broek <mbroek@mbse.eu>
parents: 554
diff changeset
3346 else if (RA > (1.2 * OptSO4Clratio))
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3347 Res = 'hoog';
552
ee0db754111e In calcWater() the optimum SO4:Cl ratio is taken from the target profile if set, else it's calculated from the BUGU value. Swapped Cl:SO4 to SO4:Cl ratio presentation. Added remark text next to the Optimal SO4:Cl ratio.
Michiel Broek <mbroek@mbse.eu>
parents: 545
diff changeset
3348 setRangeIndicator('so4_cl', Res);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3349
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3350 $('#wb_calcium').val(Round(calcium, 1));
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3351 $('#wb_magnesium').val(Round(magnesium, 1));
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3352 $('#wb_sodium').val(Round(sodium, 1));
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3353 $('#wb_sulfate').val(Round(sulfate, 1));
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3354 $('#wb_chloride').val(Round(chloride, 1));
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3355 $('#wb_total_alkalinity').val(Round(total_alkalinity, 1));
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3356
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3357 if (calcium < 40) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3358 setRangeIndicator('calcium', 'laag');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3359 } else if (calcium > 150) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3360 setRangeIndicator('calcium', 'hoog');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3361 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3362 setRangeIndicator('calcium', 'normaal');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3363 }
607
0efba09a694c Added low limit for magnesium of 10 ppm
Michiel Broek <mbroek@mbse.eu>
parents: 602
diff changeset
3364 if (magnesium < 10) {
0efba09a694c Added low limit for magnesium of 10 ppm
Michiel Broek <mbroek@mbse.eu>
parents: 602
diff changeset
3365 setRangeIndicator('magnesium', 'laag');
0efba09a694c Added low limit for magnesium of 10 ppm
Michiel Broek <mbroek@mbse.eu>
parents: 602
diff changeset
3366 } else if (magnesium > 30) {
0efba09a694c Added low limit for magnesium of 10 ppm
Michiel Broek <mbroek@mbse.eu>
parents: 602
diff changeset
3367 setRangeIndicator('magnesium', 'hoog');
0efba09a694c Added low limit for magnesium of 10 ppm
Michiel Broek <mbroek@mbse.eu>
parents: 602
diff changeset
3368 } else {
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3369 setRangeIndicator('magnesium', 'normaal');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3370 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3371 if (sodium <= 150) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3372 setRangeIndicator('sodium', 'normaal');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3373 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3374 setRangeIndicator('sodium', 'hoog');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3375 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3376 // Both chloride and sulfate should be above 50 according to
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3377 // John Palmer. So the Cl/SO4 ratio calculation will work.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3378 if (chloride <= 50) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3379 setRangeIndicator('chloride', 'laag');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3380 } else if (chloride <= 100) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3381 setRangeIndicator('chloride', 'normaal');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3382 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3383 setRangeIndicator('chloride', 'hoog');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3384 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3385 if (sulfate <= 50) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3386 setRangeIndicator('sulfate', 'laag');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3387 } else if (sulfate <= 350) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3388 setRangeIndicator('sulfate', 'normaal');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3389 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3390 setRangeIndicator('sulfate', 'hoog');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3391 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3392 if (ph < 5.2) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3393 setRangeIndicator('ph', 'laag');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3394 } else if (ph > 5.6) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3395 setRangeIndicator('ph', 'hoog');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3396 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3397 setRangeIndicator('ph', 'normaal');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3398 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3399 calcSparge();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3400 calcMiscs();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3401 calcSupplies();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3402 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3403
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3404 function calcSparge() {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3405
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3406 /* Based on the work of ajDeLange. */
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3407 var TargetpH = dataRecord.sparge_ph;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3408 var Source_pH = dataRecord.w1_ph;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3409 var Source_alkalinity = dataRecord.w1_total_alkalinity;
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3410 // Select watersource or fallback to the first source.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3411 if (dataRecord.sparge_source == 1) { // Source 2
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3412 if (dataRecord.w2_ph > 0.0) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3413 Source_pH = dataRecord.w2_ph;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3414 Source_alkalinity = dataRecord.w2_total_alkalinity;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3415 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3416 dataRecord.sparge_source = 0; // Source 1
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3417 $('#sparge_source').val(0);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3418 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3419 } else if (dataRecord.sparge_source == 2) { // Mixed
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3420 if (dataRecord.w2_ph > 0.0) {
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3421 Source_pH = parseFloat(dataRecord.wg_ph);
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3422 Source_alkalinity = parseFloat(dataRecord.wg_total_alkalinity);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3423 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3424 dataRecord.sparge_source = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3425 $('#sparge_source').val(0);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3426 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3427 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3428
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3429 // Step 1: Compute the mole fractions of carbonic (f1) and carbonate(f3) at the source water pH
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3430 var r1 = Math.pow(10, Source_pH - 6.35);
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3431 var r2 = Math.pow(10, Source_pH - 10.33);
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3432 var d = 1 + r1 + r1 * r2;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3433 var f1 = 1 / d;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3434 var f3 = r1 * r2 / d;
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3435
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3436 //Step 2. Compute the mole fractions at pH = 4.3 (the pH which defines alkalinity)
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3437 var r143 = Math.pow(10, 4.3 - 6.35);
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3438 var r243 = Math.pow(10, 4.3 - 10.33);
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3439 var d43 = 1 + r143 + r143 * r243;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3440 var f143 = 1 / d43;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3441 var f343 = r143 * r243 / d43;
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3442
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3443 //Step 4. Solve
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3444 var Ct = Source_alkalinity / 50 / ((f143 - f1) + (f3 - f343));
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3445
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3446 //Step 5. Compute mole fractions at desired pH
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3447 var r1g = Math.pow(10, TargetpH - 6.35);
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3448 var r2g = Math.pow(10, TargetpH - 10.33);
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3449 var dg = 1 + r1g + r1g * r2g;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3450 var f1g = 1 / dg;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3451 var f3g = r1g * r2g / dg;
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3452
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3453 //Step 6. Use these to compute the milliequivalents acid required per liter (mEq/L)
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3454 var Acid = Ct * ((f1g - f1) + (f3 - f3g)) + Math.pow(10, -TargetpH) - Math.pow(10, -Source_pH); //mEq/l
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3455 Acid += 0.01; // Add acid that would be required for distilled water.
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3456
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3457 //Step 8. Get the acid data.
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3458 var AT = dataRecord.sparge_acid_type;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3459 if (AT < 0 || AT >= AcidTypeData.length) {
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3460 AT = 0;
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3461 dataRecord.sparge_acid_type = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3462 $('#sparge_acid_type').val(0);
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3463 dataRecord.sparge_acid_perc = AcidTypeData[0].AcidPrc;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3464 $('#sparge_acid_perc').val(dataRecord.sparge_acid_perc);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3465 }
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3466 var fract = CalcFrac(TargetpH, AcidTypeData[AT].pK1, AcidTypeData[AT].pK2, AcidTypeData[AT].pK3);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3467
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3468 //Step 9. Now divide the mEq required by the "fraction". This is the required number of moles of acid.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3469 Acid /= fract;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3470
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3471 //Step 10. Multiply by molecular weight of the acid
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3472 Acid *= AcidTypeData[AT].MolWt; //mg
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3473
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3474 //Step 11. Divide by Specific Gravity and Percentage to get the final ml.
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3475 Acid = Acid / AcidTypeData[AT].AcidSG / (dataRecord.sparge_acid_perc / 100); //ml
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
3476 Acid *= dataRecord.sparge_volume; //ml acid total
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3477 Acid = Round(Acid, 2);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3478 dataRecord.sparge_acid_amount = Acid / 1000;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3479 $('#sparge_acid_amount').val(Acid);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3480 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3481
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3482 function calcFermentation() {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3483 var primary_svg, secondary_svg, final_svg, ABV;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3484 if (dataRecord.brew_fermenter_sg < 1.020)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3485 return;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3486 if ((dataRecord.primary_end_sg > 0.990) && (dataRecord.primary_end_sg < dataRecord.brew_fermenter_sg)) {
655
f4e00869f39f Calculate the svg using Brew by the Numbers, Micahel L. Hall.
Michiel Broek <mbroek@mbse.eu>
parents: 651
diff changeset
3487 primary_svg = Round(calc_svg(dataRecord.brew_fermenter_sg, dataRecord.primary_end_sg), 1);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3488 $('#primary_svg').val(primary_svg);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3489 if ((dataRecord.secondary_end_sg > 0.990) && (dataRecord.secondary_end_sg < dataRecord.brew_fermenter_sg)) {
655
f4e00869f39f Calculate the svg using Brew by the Numbers, Micahel L. Hall.
Michiel Broek <mbroek@mbse.eu>
parents: 651
diff changeset
3490 secondary_svg = Round(calc_svg(dataRecord.brew_fermenter_sg, dataRecord.secondary_end_sg), 1);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3491 $('#secondary_svg').val(secondary_svg);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3492 if ((dataRecord.fg > 0.990) && (dataRecord.fg < dataRecord.brew_fermenter_sg)) {
655
f4e00869f39f Calculate the svg using Brew by the Numbers, Micahel L. Hall.
Michiel Broek <mbroek@mbse.eu>
parents: 651
diff changeset
3493 final_svg = Round(calc_svg(dataRecord.brew_fermenter_sg, dataRecord.fg), 1);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3494 $('#final_svg').val(final_svg);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3495 ABV = Round(abvol(dataRecord.brew_fermenter_sg, dataRecord.fg), 2);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3496 $('#final_abv').val(ABV);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3497 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3498 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3499 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3500 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3501
651
6e89cb158153 Changed priming sugar calculation to Brew by the Numbers by Michael L. Hall. This gives a bit higher and better amount of sugar to use. Removed dead parameter from the ResCO2 function.
Michiel Broek <mbroek@mbse.eu>
parents: 649
diff changeset
3502 function ResCO2(T) {
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3503 var F = T * 1.8 + 32;
651
6e89cb158153 Changed priming sugar calculation to Brew by the Numbers by Michael L. Hall. This gives a bit higher and better amount of sugar to use. Removed dead parameter from the ResCO2 function.
Michiel Broek <mbroek@mbse.eu>
parents: 649
diff changeset
3504 return Round(3.0378 - 0.050062 * F + 0.00026555 * F * F, 6);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3505 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3506
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3507 function CarbCO2toS(CO2, T, SFactor) {
651
6e89cb158153 Changed priming sugar calculation to Brew by the Numbers by Michael L. Hall. This gives a bit higher and better amount of sugar to use. Removed dead parameter from the ResCO2 function.
Michiel Broek <mbroek@mbse.eu>
parents: 649
diff changeset
3508 //var sugar = SFactor * (CO2 - ResCO2(CO2, T)) / 0.286;
6e89cb158153 Changed priming sugar calculation to Brew by the Numbers by Michael L. Hall. This gives a bit higher and better amount of sugar to use. Removed dead parameter from the ResCO2 function.
Michiel Broek <mbroek@mbse.eu>
parents: 649
diff changeset
3509 var sugar = Round(SFactor * (CO2 - ResCO2(T)) * 4.014094, 6);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3510 if (sugar < 0)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3511 sugar = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3512 return Round(sugar, 3);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3513 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3514
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3515 function GetPressure(CO2, T1, T2) {
651
6e89cb158153 Changed priming sugar calculation to Brew by the Numbers by Michael L. Hall. This gives a bit higher and better amount of sugar to use. Removed dead parameter from the ResCO2 function.
Michiel Broek <mbroek@mbse.eu>
parents: 649
diff changeset
3516 var P, V = CO2 - ResCO2(T1);
609
e9b108569818 Testing, bottle carbonation pressure display without residential pressure
Michiel Broek <mbroek@mbse.eu>
parents: 607
diff changeset
3517 V = CO2; // TODO: temp only total pressure, testing
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3518 if (V < 0)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3519 return 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3520 P = -1.09145427669121 + 0.00800006989646477 * T2 + 0.000260276315484684 * T2 * T2 + 0.0215142075945119 * T2 * V +
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3521 0.674996600795854 * V + -0.00471757220150754 * V * V;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3522 if (P < 0)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3523 P = 0;
609
e9b108569818 Testing, bottle carbonation pressure display without residential pressure
Michiel Broek <mbroek@mbse.eu>
parents: 607
diff changeset
3524 P = Round(P * 1.01325, 2); // atm to bar
651
6e89cb158153 Changed priming sugar calculation to Brew by the Numbers by Michael L. Hall. This gives a bit higher and better amount of sugar to use. Removed dead parameter from the ResCO2 function.
Michiel Broek <mbroek@mbse.eu>
parents: 649
diff changeset
3525 console.log("GetPressure(" + CO2 + ", " + T1 + ", " + T2 + ") V:" + V + " Bar: " + P + " ignored ResCO2: " + ResCO2(T1));
609
e9b108569818 Testing, bottle carbonation pressure display without residential pressure
Michiel Broek <mbroek@mbse.eu>
parents: 607
diff changeset
3526 return P;
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3527 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3528
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3529 function CarbCO2ToPressure(CO2, T) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3530 return (CO2 - (-0.000005594056 * Math.pow(T, 4) + 0.000144357886 * Math.pow(T, 3) +
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3531 0.000362999168 * T * T - 0.064872987645 * T + 1.641145175049)) /
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3532 (0.00000498031 * Math.pow(T, 4) - 0.00024358267 * Math.pow(T, 3) + 0.00385867329 * T * T - 0.05671206825 * T + 1.53801423376);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3533 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3534
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3535 function calcCarbonation() {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3536
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3537 var TSec, ABV, bvol, balc, babv, mvol, malc, tvol, talc, i, row, SFactor, pvol, pabv, Pressure, kabv;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3538
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3539 TSec = dataRecord.secondary_temp;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3540 if (TSec < 1)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3541 TSec = dataRecord.primary_end_temp;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3542 if (TSec < 1)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3543 TSec = 18;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3544
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3545 if (dataRecord.fg == 0.000)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3546 ABV = abvol(dataRecord.brew_fermenter_sg, parseFloat($('#est_fg').jqxNumberInput('decimal')));
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3547 else
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3548 ABV = abvol(dataRecord.brew_fermenter_sg, dataRecord.fg);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3549
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3550 /* Calculate new volume and alcohol. */
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3551 bvol = dataRecord.package_volume - (ABV * dataRecord.package_volume) / 100;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3552 balc = dataRecord.package_volume - bvol;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3553 mvol = dataRecord.package_infuse_amount - (dataRecord.package_infuse_abv * dataRecord.package_infuse_amount) / 100;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3554 malc = dataRecord.package_infuse_amount - mvol;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3555 talc = balc + malc;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3556 tvol = bvol + mvol;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3557 ABV = Round(talc / (tvol + talc) * 100, 2);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3558 dataRecord.package_abv = ABV;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3559 $('#package_abv').val(ABV);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3560
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3561 //console.log("calcCarbonation() TSec:"+TSec+" ABV:"+ABV);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3562 if (!(rows = $('#fermentableGrid').jqxGrid('getrows'))) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3563 return;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3564 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3565
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3566 // Bottles
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3567 dataRecord.bottle_priming_amount = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3568 dataRecord.bottle_priming_total = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3569 for (i = 0; i < rows.length; i++) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3570 row = rows[i];
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3571 if (row.f_added == 4) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3572 SFactor = 1 / ((row.f_yield / 100) * (1 - row.f_moisture / 100));
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3573 dataRecord.bottle_priming_amount = CarbCO2toS(dataRecord.bottle_carbonation, TSec, SFactor);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3574 dataRecord.bottle_priming_total = Round(dataRecord.bottle_amount * dataRecord.bottle_priming_amount, 2);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3575 $('#fermentableGrid').jqxGrid('setcellvalue', i, 'f_amount', dataRecord.bottle_priming_total / 1000);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3576 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3577 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3578 $('#bottle_priming_amount').val(Round(dataRecord.bottle_priming_amount, 1));
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3579 $('#bottle_priming_total').val(dataRecord.bottle_priming_total);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3580 pabv = ABV + dataRecord.bottle_priming_amount * 0.47 / 7.907;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3581 pvol = dataRecord.bottle_amount - (pabv * dataRecord.bottle_amount) / 100;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3582 talc = dataRecord.bottle_amount - pvol;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3583 tvol = pvol + dataRecord.bottle_priming_water;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3584 babv = Round(talc / (tvol + talc) * 100, 2);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3585 //console.log("bottle pabv:"+pabv+" pvol:"+pvol+" wvol:"+dataRecord.bottle_priming_water+" tvol:"+tvol+" talc:"+talc+" abv:"+babv);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3586 $('#bottle_abv').val(babv);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3587 $('#bottle_pressure').val(GetPressure(dataRecord.bottle_carbonation, TSec, dataRecord.bottle_carbonation_temp));
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3588
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3589 // Kegs
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3590 Pressure = CarbCO2ToPressure(dataRecord.keg_carbonation, dataRecord.keg_carbonation_temp);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3591 if (Pressure < 0)
557
ee76d0bfcdaf Some code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 555
diff changeset
3592 Pressure = 0;
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3593 dataRecord.keg_pressure = Pressure;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3594 $('#keg_pressure').val(Round(Pressure, 1));
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3595
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3596 dataRecord.keg_priming_amount = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3597 dataRecord.keg_priming_total = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3598 if (!dataRecord.keg_forced_carb) {
557
ee76d0bfcdaf Some code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 555
diff changeset
3599 for (i = 0; i < rows.length; i++) {
ee76d0bfcdaf Some code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 555
diff changeset
3600 row = rows[i];
ee76d0bfcdaf Some code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 555
diff changeset
3601 if (row.f_added == 5) {
ee76d0bfcdaf Some code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 555
diff changeset
3602 SFactor = 1 / ((row.f_yield / 100) * (1 - row.f_moisture / 100));
ee76d0bfcdaf Some code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 555
diff changeset
3603 dataRecord.keg_priming_amount = CarbCO2toS(dataRecord.keg_carbonation, TSec, SFactor);
ee76d0bfcdaf Some code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 555
diff changeset
3604 dataRecord.keg_priming_total = Round(dataRecord.keg_amount * dataRecord.keg_priming_amount, 2);
ee76d0bfcdaf Some code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 555
diff changeset
3605 $('#fermentableGrid').jqxGrid('setcellvalue', i, 'f_amount', dataRecord.keg_priming_total / 1000);
ee76d0bfcdaf Some code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 555
diff changeset
3606 }
ee76d0bfcdaf Some code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 555
diff changeset
3607 }
ee76d0bfcdaf Some code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 555
diff changeset
3608 $('#keg_priming_amount').val(Round(dataRecord.keg_priming_amount, 1));
ee76d0bfcdaf Some code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 555
diff changeset
3609 $('#keg_priming_total').val(dataRecord.keg_priming_total);
ee76d0bfcdaf Some code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 555
diff changeset
3610 pabv = ABV + dataRecord.keg_priming_amount * 0.47 / 7.907;
ee76d0bfcdaf Some code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 555
diff changeset
3611 pvol = dataRecord.keg_amount - (pabv * dataRecord.keg_amount) / 100;
ee76d0bfcdaf Some code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 555
diff changeset
3612 talc = dataRecord.keg_amount - pvol;
ee76d0bfcdaf Some code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 555
diff changeset
3613 tvol = pvol + dataRecord.keg_priming_water;
ee76d0bfcdaf Some code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 555
diff changeset
3614 kabv = Round(talc / (tvol + talc) * 100, 2);
ee76d0bfcdaf Some code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 555
diff changeset
3615 //console.log("kegs pabv:"+pabv+" pvol:"+pvol+" wvol:"+dataRecord.keg_priming_water+" tvol:"+tvol+" talc:"+talc+" abv:"+kabv);
ee76d0bfcdaf Some code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 555
diff changeset
3616 $('#keg_abv').val(kabv);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3617 } else {
557
ee76d0bfcdaf Some code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 555
diff changeset
3618 $('#keg_priming_amount').val(0);
ee76d0bfcdaf Some code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 555
diff changeset
3619 $('#keg_priming_total').val(0);
ee76d0bfcdaf Some code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 555
diff changeset
3620 $('#keg_abv').val(ABV);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3621 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3622 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3623
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3624 function calcStage() {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3625
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3626 var newstage = dataRecord.stage, d, date1, date2, date1_unixtime, date2_unixtime, timeDifference, timeDifferenceInDays;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3627
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3628 if (newstage == 0 && dataRecord.est_og > 1.005 && dataRecord.est_color > 3 && dataRecord.est_ibu > 3)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3629 newstage = 1;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3630 if (newstage == 1 && parseFloat($('#brew_date_start').val()) > 2000)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3631 newstage = 2; // Brewday
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3632 if (newstage == 2 && ($('#brew_date_start').val() == ''))
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3633 newstage = 1; // No brewday
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3634 if (newstage == 2 && parseFloat($('#brew_date_end').val()) > 2000)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3635 newstage = 3; // Primary
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3636 if (newstage == 3 && parseFloat($('#primary_end_date').val()) > 2000)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3637 newstage = 4; // Secondary
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3638 if (newstage == 4 && parseFloat($('#secondary_end_date').val()) > 2000)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3639 newstage = 5; // Tertiary
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3640 if (newstage == 5 && parseFloat($('#package_date').val()) > 2000)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3641 newstage = 6; // Package
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3642 if (newstage >= 6 && newstage < 9) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3643 d = new Date();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3644 date2 = $('#package_date').val();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3645 date2 = date2.split('-');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3646 // Now we convert the array to a Date object
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3647 date1 = new Date(d.getFullYear(), d.getMonth(), d.getDate());
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3648 date2 = new Date(date2[0], date2[1] - 1, date2[2]);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3649 // We use the getTime() method and get the unixtime
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3650 date1_unixtime = parseInt(date1.getTime() / 1000);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3651 date2_unixtime = parseInt(date2.getTime() / 1000);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3652 // This is the calculated difference in seconds
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3653 timeDifference = date1_unixtime - date2_unixtime;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3654 timeDifferenceInDays = timeDifference / 60 / 60 / 24;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3655 if (timeDifferenceInDays > 0) { // At least one day
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3656 if (timeDifferenceInDays >= 42) // 6 weeks
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3657 newstage = 9; // Ready to taste
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3658 else if (timeDifferenceInDays >= 14) // 14 days
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3659 newstage = 8; // Mature
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3660 else
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3661 newstage = 7; // Carbonation
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3662 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3663 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3664 if (newstage == 9 && parseFloat($('#taste_date').val()) > 2000)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3665 newstage = 10; // Ready
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3666
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3667 if (newstage != dataRecord.stage) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3668 console.log('calcStage() old: ' + dataRecord.stage + ' new: ' + newstage);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3669 dataRecord.stage = newstage;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3670 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3671
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3672 /*
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3673 * Set stage and enable or disable parts of the screens.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3674 */
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3675 $('#stage').val(StageData[dataRecord.stage].nl);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3676 if (dataRecord.stage >= 10) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3677 $('#locked').jqxCheckBox({ disabled: false });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3678 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3679
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3680 /*
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3681 * When the brew is in progress or done, block equipment select and delete.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3682 */
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3683 if (dataRecord.stage > 1) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3684 $('#equipmentSelect').jqxDropDownList({ disabled: true });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3685 $('#Delete').jqxButton({ disabled: true });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3686 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3687
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3688 if (dataRecord.stage < 1) // Planning, no ingredients
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3689 $('#jqxTabs').jqxTabs('disableAt', 8); // Brewday tab
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3690 else
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3691 $('#jqxTabs').jqxTabs('enableAt', 8);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3692
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3693 if (dataRecord.stage < 3) { // Primary
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3694 $('#jqxTabs').jqxTabs('disableAt', 9); // Fermentation tab
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3695 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3696 $('#jqxTabs').jqxTabs('enableAt', 9);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3697 $('#name').jqxInput({ disabled: true });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3698 $('#code').jqxInput({ disabled: true });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3699 $('#batch_size').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3700 $('#boil_size').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3701 $('#boil_time').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3702 $('#efficiency').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3703 $('#est_og').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3704 $('#type').jqxDropDownList({ disabled: true });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3705 $('#styleSelect').jqxDropDownList({ disabled: true });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3706 $('#color_method').jqxDropDownList({ disabled: true });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3707 $('#ibu_method').jqxDropDownList({ disabled: true });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3708 $('#mash_select').jqxDropDownList({ disabled: true });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3709 $('#w1_name').jqxDropDownList({ disabled: true });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3710 $('#w2_name').jqxDropDownList({ disabled: true });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3711 $('#w2_amount').jqxNumberInput({ readOnly: true });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3712 $('#pr_name').jqxDropDownList({ disabled: true });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3713 $('#wa_cacl2').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3714 $('#wa_caso4').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3715 $('#wa_mgso4').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3716 $('#wa_nacl').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3717 $('#mash_ph').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3718 $('#calc_acid').jqxCheckBox({ disabled: true });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3719 $('#wa_base_name').jqxDropDownList({ disabled: true });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3720 $('#wa_base').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3721 $('#wa_acid_name').jqxDropDownList({ disabled: true });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3722 $('#wa_acid').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3723 $('#wa_acid_perc').jqxNumberInput({ spinButtons: false, readOnly: true, width: 70 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3724 $('#sparge_temp').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3725 $('#sparge_volume').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3726 $('#sparge_ph').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3727 $('#sparge_source').jqxDropDownList({ disabled: true });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3728 $('#sparge_acid_type').jqxDropDownList({ disabled: true });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3729 $('#sparge_acid_perc').jqxNumberInput({ spinButtons: false, readOnly: true, width: false });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3730 $('#starter_type').jqxDropDownList({ disabled: true });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3731 $('#starter_try').jqxButton({ disabled: true });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3732 $('#starter_sg').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
617
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
3733 $('#yeast_prod_date').jqxDateTimeInput({ disabled: true });
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3734 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3735 if (dataRecord.stage > 3) { // Primary fermentation done
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3736 $('#brew_date_start').jqxDateTimeInput({ disabled: true });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3737 $('#brew_date_end').jqxDateTimeInput({ disabled: true });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3738 $('#brew_mash_ph').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3739 $('#brew_preboil_ph').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3740 $('#brew_aboil_ph').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3741 $('#brew_mash_sg').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3742 $('#brew_preboil_sg').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3743 $('#brew_aboil_sg').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3744 $('#brew_preboil_volume').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3745 $('#brew_aboil_volume').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3746 $('#brew_whirlpool9').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3747 $('#brew_cooling_to').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3748 $('#brew_whirlpool7').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3749 $('#brew_cooling_method').jqxDropDownList({ disabled: true });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3750 $('#brew_whirlpool6').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3751 $('#brew_cooling_time').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3752 $('#brew_sparge_ph').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3753 $('#brew_whirlpool2').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3754 $('#brew_aeration_type').jqxDropDownList({ disabled: true });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3755 $('#brew_fermenter_tcloss').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3756 $('#brew_aeration_time').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3757 $('#brew_fermenter_extrawater').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3758 $('#brew_aeration_speed').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
646
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
3759 $('#but_pre_boil').jqxButton({ disabled: true });
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
3760 $('#but_after_boil').jqxButton({ disabled: true });
658
945d5eba869a Implemented no-boil products.
Michiel Broek <mbroek@mbse.eu>
parents: 655
diff changeset
3761 } else {
945d5eba869a Implemented no-boil products.
Michiel Broek <mbroek@mbse.eu>
parents: 655
diff changeset
3762 if (dataRecord.boil_time == 0) {
945d5eba869a Implemented no-boil products.
Michiel Broek <mbroek@mbse.eu>
parents: 655
diff changeset
3763 $('#brew_preboil_ph').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
945d5eba869a Implemented no-boil products.
Michiel Broek <mbroek@mbse.eu>
parents: 655
diff changeset
3764 $('#brew_aboil_ph').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
945d5eba869a Implemented no-boil products.
Michiel Broek <mbroek@mbse.eu>
parents: 655
diff changeset
3765 $('#brew_preboil_sg').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
945d5eba869a Implemented no-boil products.
Michiel Broek <mbroek@mbse.eu>
parents: 655
diff changeset
3766 $('#brew_aboil_sg').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
945d5eba869a Implemented no-boil products.
Michiel Broek <mbroek@mbse.eu>
parents: 655
diff changeset
3767 $('#brew_preboil_volume').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
945d5eba869a Implemented no-boil products.
Michiel Broek <mbroek@mbse.eu>
parents: 655
diff changeset
3768 $('#brew_aboil_volume').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
945d5eba869a Implemented no-boil products.
Michiel Broek <mbroek@mbse.eu>
parents: 655
diff changeset
3769 $('#but_pre_boil').jqxButton({ disabled: true });
945d5eba869a Implemented no-boil products.
Michiel Broek <mbroek@mbse.eu>
parents: 655
diff changeset
3770 $('#but_after_boil').jqxButton({ disabled: true });
945d5eba869a Implemented no-boil products.
Michiel Broek <mbroek@mbse.eu>
parents: 655
diff changeset
3771 } else {
945d5eba869a Implemented no-boil products.
Michiel Broek <mbroek@mbse.eu>
parents: 655
diff changeset
3772 $('#brew_preboil_ph').jqxNumberInput({ spinButtons: true, readOnly: false, width: 110 });
945d5eba869a Implemented no-boil products.
Michiel Broek <mbroek@mbse.eu>
parents: 655
diff changeset
3773 $('#brew_aboil_ph').jqxNumberInput({ spinButtons: true, readOnly: false, width: 110 });
945d5eba869a Implemented no-boil products.
Michiel Broek <mbroek@mbse.eu>
parents: 655
diff changeset
3774 $('#brew_preboil_sg').jqxNumberInput({ spinButtons: true, readOnly: false, width: 110 });
945d5eba869a Implemented no-boil products.
Michiel Broek <mbroek@mbse.eu>
parents: 655
diff changeset
3775 $('#brew_aboil_sg').jqxNumberInput({ spinButtons: true, readOnly: false, width: 110 });
945d5eba869a Implemented no-boil products.
Michiel Broek <mbroek@mbse.eu>
parents: 655
diff changeset
3776 $('#brew_preboil_volume').jqxNumberInput({ spinButtons: true, readOnly: false, width: 110 });
945d5eba869a Implemented no-boil products.
Michiel Broek <mbroek@mbse.eu>
parents: 655
diff changeset
3777 $('#brew_aboil_volume').jqxNumberInput({ spinButtons: true, readOnly: false, width: 110 });
945d5eba869a Implemented no-boil products.
Michiel Broek <mbroek@mbse.eu>
parents: 655
diff changeset
3778 $('#but_pre_boil').jqxButton({ disabled: false });
945d5eba869a Implemented no-boil products.
Michiel Broek <mbroek@mbse.eu>
parents: 655
diff changeset
3779 $('#but_after_boil').jqxButton({ disabled: false });
945d5eba869a Implemented no-boil products.
Michiel Broek <mbroek@mbse.eu>
parents: 655
diff changeset
3780 }
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3781 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3782 if (dataRecord.stage == 5) // Lagering, allow packaging
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3783 $('#package_date').jqxDateTimeInput({ disabled: false });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3784 else
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3785 $('#package_date').jqxDateTimeInput({ disabled: true });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3786 if (dataRecord.stage >= 5) { // At least secondary
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3787 $('#primary_start_temp').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3788 $('#primary_max_temp').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3789 $('#primary_end_temp').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3790 $('#primary_end_sg').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3791 $('#primary_end_brix').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3792 $('#primary_end_date').jqxDateTimeInput({ disabled: true });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3793 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3794 if (dataRecord.stage >= 6) { // Packaged
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3795 $('#secondary_temp').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3796 $('#secondary_end_sg').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3797 $('#secondary_end_date').jqxDateTimeInput({ disabled: true });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3798 $('#tertiary_temp').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3799 $('#fg').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3800 $('#final_brix').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3801 $('#package_date').jqxDateTimeInput({ disabled: true });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3802 $('#package_volume').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3803 $('#package_infuse_amount').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3804 $('#package_infuse_abv').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3805 $('#package_infuse_notes').jqxInput({ disabled: true });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3806 $('#package_ph').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3807 $('#bottle_amount').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3808 $('#bottle_priming_water').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3809 $('#keg_priming_water').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3810 $('#keg_amount').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3811 $('#bottle_carbonation').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3812 $('#keg_carbonation').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3813 $('#bottle_priming_sugar').jqxDropDownList({ disabled: true });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3814 $('#keg_priming_sugar').jqxDropDownList({ disabled: true });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3815 $('#keg_forced_carb').jqxCheckBox({ disabled: true });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3816 $('#bottle_carbonation_temp').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3817 $('#keg_carbonation_temp').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3818 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3819 if (dataRecord.stage < 8) { // Taste when at least Mature.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3820 $('#jqxTabs').jqxTabs('disableAt', 11); // Tasting tab
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3821 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3822 $('#jqxTabs').jqxTabs('enableAt', 11);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3823 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3824
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3825 if (dataRecord.stage == 11) { // Locked
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3826 $('#taste_date').jqxDateTimeInput({ disabled: true });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3827 $('#taste_rate').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3828 $('#taste_color').jqxInput({ disabled: true });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3829 $('#taste_transparency').jqxInput({ disabled: true });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3830 $('#taste_head').jqxInput({ disabled: true });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3831 $('#taste_aroma').jqxInput({ disabled: true });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3832 $('#taste_taste').jqxInput({ disabled: true });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3833 $('#taste_aftertaste').jqxInput({ disabled: true });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3834 $('#taste_mouthfeel').jqxInput({ disabled: true });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3835 $('#taste_notes').jqxInput({ disabled: true });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3836 $('#notes').jqxInput({ disabled: true });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3837 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3838 $('#notes').jqxInput({ disabled: false });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3839 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3840 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3841
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3842 function showStarter() {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3843
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3844 if (dataRecord.starter_enable) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3845 $('#propagator').show();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3846 $('#starter_type').jqxDropDownList({ disabled: false });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3847 $('#starter_try').jqxButton({ disabled: false });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3848 $('#starter_sg').jqxNumberInput({ spinButtons: true, readOnly: false, width: 110 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3849 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3850 $('#propagator').hide();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3851 $('#starter_type').jqxDropDownList({ disabled: true });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3852 $('#starter_try').jqxButton({ disabled: true });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3853 $('#starter_sg').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3854 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3855 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3856
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3857 function calcInit() {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3858
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3859 calcMashEfficiency();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3860 calcEfficiencyBeforeBoil();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3861 calcEfficiencyAfterBoil();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3862
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3863 $('#starter_try').click(function() {
642
9d1af81b20ef Limit debug ProtoDeficit error messages. If the need for a yeast starter changes, make sure the screen is updated. Another set of extra debug logs. Fixed try yeast starter. Several dropdown lists changed the action from change to select. This should fix te too early calculations while the data was not yet loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 641
diff changeset
3864 $('#prop1_volume').val(0);
9d1af81b20ef Limit debug ProtoDeficit error messages. If the need for a yeast starter changes, make sure the screen is updated. Another set of extra debug logs. Fixed try yeast starter. Several dropdown lists changed the action from change to select. This should fix te too early calculations while the data was not yet loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 641
diff changeset
3865 $('#prop2_volume').val(0);
9d1af81b20ef Limit debug ProtoDeficit error messages. If the need for a yeast starter changes, make sure the screen is updated. Another set of extra debug logs. Fixed try yeast starter. Several dropdown lists changed the action from change to select. This should fix te too early calculations while the data was not yet loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 641
diff changeset
3866 $('#prop3_volume').val(0);
9d1af81b20ef Limit debug ProtoDeficit error messages. If the need for a yeast starter changes, make sure the screen is updated. Another set of extra debug logs. Fixed try yeast starter. Several dropdown lists changed the action from change to select. This should fix te too early calculations while the data was not yet loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 641
diff changeset
3867 $('#prop4_volume').val(0);
9d1af81b20ef Limit debug ProtoDeficit error messages. If the need for a yeast starter changes, make sure the screen is updated. Another set of extra debug logs. Fixed try yeast starter. Several dropdown lists changed the action from change to select. This should fix te too early calculations while the data was not yet loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 641
diff changeset
3868 dataRecord.prop1_volume = dataRecord.prop2_volume = dataRecord.prop3_volume = dataRecord.prop4_volume = 0;
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3869 calcYeast();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3870 });
649
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
3871 $('#starter_type').on('change', function(event) {
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3872 if (event.args) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3873 dataRecord.starter_type = event.args.index;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3874 calcYeast();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3875 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3876 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3877 $('#starter_sg').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3878 if (event.args) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3879 dataRecord.starter_sg = event.args.value;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3880 calcYeast();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3881 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3882 });
649
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
3883 $('#prop1_type').on('change', function(event) {
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3884 if (event.args) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3885 dataRecord.prop1_type = event.args.index;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3886 calcYeast();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3887 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3888 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3889 $('#prop1_volume').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3890 if (event.args) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3891 dataRecord.prop1_volume = event.args.value;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3892 calcYeast();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3893 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3894 });
649
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
3895 $('#prop2_type').on('change', function(event) {
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3896 if (event.args) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3897 dataRecord.prop2_type = event.args.index;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3898 calcYeast();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3899 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3900 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3901 $('#prop2_volume').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3902 if (event.args) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3903 dataRecord.prop2_volume = event.args.value;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3904 calcYeast();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3905 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3906 });
649
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
3907 $('#prop3_type').on('change', function(event) {
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3908 if (event.args) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3909 dataRecord.prop3_type = event.args.index;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3910 calcYeast();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3911 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3912 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3913 $('#prop3_volume').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3914 if (event.args) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3915 dataRecord.prop3_volume = event.args.value;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3916 calcYeast();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3917 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3918 });
649
52053730f6e1 Yeast starter now automatic adds or removes step lines as they are needed.
Michiel Broek <mbroek@mbse.eu>
parents: 648
diff changeset
3919 $('#prop4_type').on('change', function(event) {
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3920 if (event.args) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3921 dataRecord.prop4_type = event.args.index;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3922 calcYeast();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3923 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3924 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3925 $('#prop4_volume').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3926 if (event.args) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3927 dataRecord.prop4_volume = event.args.value;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3928 calcYeast();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3929 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3930 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3931
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3932 $('#calc_acid').on('checked', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3933 dataRecord.calc_acid = 1;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3934 calcWater();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3935 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3936 $('#calc_acid').on('unchecked', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3937 dataRecord.calc_acid = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3938 calcWater();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3939 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3940 $('#w1_name').jqxDropDownList('selectItem', dataRecord.w1_name);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3941 $('#w2_name').jqxDropDownList('selectItem', dataRecord.w2_name);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3942 // Fix tap water if zero using mash infuse amount.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3943 if (parseFloat($('#w1_amount').jqxNumberInput('decimal')) == 0 && mash_infuse > 0) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3944 $('#w1_amount').val(mash_infuse);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3945 dataRecord.w1_amount = mash_infuse;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3946 $('#wg_amount').val(mash_infuse);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3947 $('#w2_amount').val(0);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3948 dataRecord.w2_amount = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3949 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3950 calcWater();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3951 $('#w2_amount').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3952 var newval = parseFloat(event.args.value);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3953
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3954 if (newval > mash_infuse) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3955 $('#w2_amount').val(dataRecord.w2_amount);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3956 return;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3957 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3958 dataRecord.w1_amount = parseFloat($('#wg_amount').jqxNumberInput('decimal')) - newval;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3959 $('#w1_amount').val(dataRecord.w1_amount);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3960 dataRecord.w2_amount = newval;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3961 console.log('new: ' + event.args.value + ' w1: ' + dataRecord.w1_amount + ' w2: ' + dataRecord.w2_amount);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3962 calcWater();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3963 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3964 $('#wa_cacl2').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3965 if (event.args) {
633
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
3966 setWaterAgent('CaCl2', 0); // This prevents double entries.
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3967 setWaterAgent('CaCl2', event.args.value);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3968 calcWater();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3969 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3970 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3971 $('#wa_caso4').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3972 if (event.args) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3973 setWaterAgent('CaSO4', 0);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3974 setWaterAgent('CaSO4', event.args.value);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3975 calcWater();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3976 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3977 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3978 $('#wa_mgso4').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3979 if (event.args) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3980 setWaterAgent('MgSO4', 0);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3981 setWaterAgent('MgSO4', event.args.value);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3982 calcWater();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3983 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3984 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3985 $('#wa_nacl').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3986 if (event.args) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3987 setWaterAgent('NaCl', 0);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3988 setWaterAgent('NaCl', event.args.value);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3989 calcWater();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3990 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3991 });
642
9d1af81b20ef Limit debug ProtoDeficit error messages. If the need for a yeast starter changes, make sure the screen is updated. Another set of extra debug logs. Fixed try yeast starter. Several dropdown lists changed the action from change to select. This should fix te too early calculations while the data was not yet loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 641
diff changeset
3992 $('#wa_base_name').on('select', function(event) {
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3993 if (event.args) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3994 var index = event.args.index;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3995 console.log('wa_base_name ' + index);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3996 setWaterAgent(last_base, 0);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3997 last_base = BaseTypeData[index].nl;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3998 setWaterAgent(last_base, parseFloat($('#wa_base').jqxNumberInput('decimal')));
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
3999 dataRecord.wa_base_name = index;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4000 calcWater();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4001 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4002 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4003 $('#wa_base').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4004 var name = BaseTypeData[$('#wa_base_name').val()].nl;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4005 setWaterAgent(name, parseFloat(event.args.value));
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4006 calcWater();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4007 });
642
9d1af81b20ef Limit debug ProtoDeficit error messages. If the need for a yeast starter changes, make sure the screen is updated. Another set of extra debug logs. Fixed try yeast starter. Several dropdown lists changed the action from change to select. This should fix te too early calculations while the data was not yet loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 641
diff changeset
4008 $('#wa_acid_name').on('select', function(event) {
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4009 if (event.args) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4010 var index = event.args.index;
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
4011 console.log('wa_acid_name ' + index + ' last_acid: ' + last_acid);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4012 setWaterAgent(last_acid, 0);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4013 last_acid = AcidTypeData[index].nl;
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
4014 dataRecord.wa_acid_name = index;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
4015 dataRecord.wa_acid_perc = AcidTypeData[index].AcidPrc;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
4016 $('#wa_acid_perc').val(dataRecord.wa_acid_perc);
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
4017 calcWater();
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4018 setWaterAgent(last_acid, parseFloat($('#wa_acid').jqxNumberInput('decimal')));
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4019 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4020 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4021 $('#wa_acid').on('change', function(event) {
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
4022 var name = AcidTypeData[dataRecord.wa_acid_name].nl;
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4023 setWaterAgent(name, parseFloat(event.args.value));
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4024 calcWater();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4025 });
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
4026 $('#wa_acid_perc').on('change', function(event) {
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
4027 dataRecord.wa_acid_perc = parseFloat(event.args.value);
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
4028 calcWater();
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
4029 });
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4030
642
9d1af81b20ef Limit debug ProtoDeficit error messages. If the need for a yeast starter changes, make sure the screen is updated. Another set of extra debug logs. Fixed try yeast starter. Several dropdown lists changed the action from change to select. This should fix te too early calculations while the data was not yet loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 641
diff changeset
4031 $('#color_method').on('select', function(event) {
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4032 dataRecord.color_method = event.args.index;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4033 calcFermentables();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4034 });
642
9d1af81b20ef Limit debug ProtoDeficit error messages. If the need for a yeast starter changes, make sure the screen is updated. Another set of extra debug logs. Fixed try yeast starter. Several dropdown lists changed the action from change to select. This should fix te too early calculations while the data was not yet loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 641
diff changeset
4035 $('#ibu_method').on('select', function(event) {
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4036 dataRecord.ibu_method = event.args.index;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4037 calcFermentables();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4038 calcIBUs();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4039 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4040
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4041 $('#batch_size').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4042 console.log('batch_size change:' + event.args.value + ' old:' + dataRecord.batch_size);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4043 $('#est_a_vol').val(event.args.value * 1.04);
660
0e9a725354ac Fixed bugs in calculation of boil volume/batch or boiltime changes.
Michiel Broek <mbroek@mbse.eu>
parents: 658
diff changeset
4044 var evap = parseFloat($('#eq_evap_rate').jqxNumberInput('decimal')) * dataRecord.boil_time / 60;
0e9a725354ac Fixed bugs in calculation of boil volume/batch or boiltime changes.
Michiel Broek <mbroek@mbse.eu>
parents: 658
diff changeset
4045 dataRecord.boil_size = parseFloat(event.args.value) + evap;
0e9a725354ac Fixed bugs in calculation of boil volume/batch or boiltime changes.
Michiel Broek <mbroek@mbse.eu>
parents: 658
diff changeset
4046 var factor = parseFloat(event.args.value) / dataRecord.batch_size;
0e9a725354ac Fixed bugs in calculation of boil volume/batch or boiltime changes.
Michiel Broek <mbroek@mbse.eu>
parents: 658
diff changeset
4047 $('#boil_size').val(Round(dataRecord.boil_size, 2));
0e9a725354ac Fixed bugs in calculation of boil volume/batch or boiltime changes.
Michiel Broek <mbroek@mbse.eu>
parents: 658
diff changeset
4048 $('#est_pre_vol').val(Round(dataRecord.boil_size * 1.04, 2));
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4049 dataRecord.sparge_volume *= factor;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4050 $('#sparge_volume').val(dataRecord.sparge_volume);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4051 $('#brew_sparge_volume').val(dataRecord.sparge_volume);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4052 dataRecord.batch_size = parseFloat(event.args.value);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4053 calcFermentablesFromOG(parseFloat($('#est_og').jqxNumberInput('decimal'))); // Keep the OG
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4054 adjustWaters(factor);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4055 calcFermentables();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4056 adjustHops(factor);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4057 adjustMiscs(factor);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4058 adjustYeasts(factor);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4059 calcIBUs();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4060 calcWater();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4061 calcSparge();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4062 calcMash();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4063 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4064 $('#boil_time').on('change', function(event) {
660
0e9a725354ac Fixed bugs in calculation of boil volume/batch or boiltime changes.
Michiel Broek <mbroek@mbse.eu>
parents: 658
diff changeset
4065 var new_time, old_time, new_evap;
658
945d5eba869a Implemented no-boil products.
Michiel Broek <mbroek@mbse.eu>
parents: 655
diff changeset
4066 old_time = parseFloat(dataRecord.boil_time);
945d5eba869a Implemented no-boil products.
Michiel Broek <mbroek@mbse.eu>
parents: 655
diff changeset
4067 new_time = parseFloat(event.args.value);
660
0e9a725354ac Fixed bugs in calculation of boil volume/batch or boiltime changes.
Michiel Broek <mbroek@mbse.eu>
parents: 658
diff changeset
4068 console.log('boil_time change:' + new_time + ' old:' + old_time);
0e9a725354ac Fixed bugs in calculation of boil volume/batch or boiltime changes.
Michiel Broek <mbroek@mbse.eu>
parents: 658
diff changeset
4069 new_evap = parseFloat($('#eq_evap_rate').jqxNumberInput('decimal')) * new_time / 60;
0e9a725354ac Fixed bugs in calculation of boil volume/batch or boiltime changes.
Michiel Broek <mbroek@mbse.eu>
parents: 658
diff changeset
4070 dataRecord.boil_size = parseFloat(dataRecord.batch_size) + new_evap;
0e9a725354ac Fixed bugs in calculation of boil volume/batch or boiltime changes.
Michiel Broek <mbroek@mbse.eu>
parents: 658
diff changeset
4071 dataRecord.boil_time = new_time;
0e9a725354ac Fixed bugs in calculation of boil volume/batch or boiltime changes.
Michiel Broek <mbroek@mbse.eu>
parents: 658
diff changeset
4072 $('#est_pre_vol').val(Round(dataRecord.boil_size * 1.04, 2));
0e9a725354ac Fixed bugs in calculation of boil volume/batch or boiltime changes.
Michiel Broek <mbroek@mbse.eu>
parents: 658
diff changeset
4073 $('#boil_size').val(Round(dataRecord.boil_size, 2));
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4074 calcFermentables();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4075 calcIBUs();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4076 calcYeast();
658
945d5eba869a Implemented no-boil products.
Michiel Broek <mbroek@mbse.eu>
parents: 655
diff changeset
4077 calcStage();
945d5eba869a Implemented no-boil products.
Michiel Broek <mbroek@mbse.eu>
parents: 655
diff changeset
4078 kookTijd();
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4079 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4080 $('#efficiency').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4081 var estog = parseFloat($('#est_og').jqxNumberInput('decimal'));
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4082 dataRecord.efficiency = parseFloat(event.args.value);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4083 console.log('efficiency change:' + dataRecord.efficiency + ' est_og:' + estog);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4084 calcFermentablesFromOG(estog); // Keep the OG
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4085 calcFermentables();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4086 calcIBUs();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4087 calcYeast();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4088 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4089 $('#est_og').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4090 dataRecord.est_og = parseFloat(event.args.value);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4091 console.log('est_og change:' + dataRecord.est_og);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4092 $('#est_og2').val(dataRecord.est_og);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4093 calcFermentablesFromOG(dataRecord.est_og); // Adjust fermentables amounts
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4094 calcFermentables(); // Update the recipe details
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4095 calcIBUs(); // and the IBU's.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4096 calcMash();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4097 calcYeast();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4098 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4099 $('#mash_ph').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4100 dataRecord.mash_ph = parseFloat(event.args.value);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4101 calcWater();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4102 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4103
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4104 $('#sparge_ph').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4105 dataRecord.sparge_ph = parseFloat(event.args.value);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4106 calcSparge();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4107 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4108 $('#sparge_volume').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4109 dataRecord.sparge_volume = parseFloat(event.args.value);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4110 $('#brew_sparge_volume').val(dataRecord.sparge_volume);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4111 calcSparge();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4112 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4113 $('#sparge_temp').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4114 dataRecord.sparge_temp = parseFloat(event.args.value);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4115 $('#brew_sparge_temperature').val(dataRecord.sparge_temp);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4116 });
642
9d1af81b20ef Limit debug ProtoDeficit error messages. If the need for a yeast starter changes, make sure the screen is updated. Another set of extra debug logs. Fixed try yeast starter. Several dropdown lists changed the action from change to select. This should fix te too early calculations while the data was not yet loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 641
diff changeset
4117 $('#sparge_source').on('select', function(event) {
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4118 if (event.args) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4119 dataRecord.sparge_source = event.args.index;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4120 calcSparge();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4121 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4122 });
642
9d1af81b20ef Limit debug ProtoDeficit error messages. If the need for a yeast starter changes, make sure the screen is updated. Another set of extra debug logs. Fixed try yeast starter. Several dropdown lists changed the action from change to select. This should fix te too early calculations while the data was not yet loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 641
diff changeset
4123 $('#sparge_acid_type').on('select', function(event) {
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4124 if (event.args) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4125 dataRecord.sparge_acid_type = event.args.index;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4126 console.log('new sparge_acid_type: ' + dataRecord.sparge_acid_type);
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
4127 dataRecord.sparge_acid_perc = AcidTypeData[event.args.index].AcidPrc;
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
4128 $('#sparge_acid_perc').val(dataRecord.sparge_acid_perc);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4129 calcSparge();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4130 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4131 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4132 $('#sparge_acid_perc').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4133 dataRecord.sparge_acid_perc = parseFloat(event.args.value);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4134 calcSparge();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4135 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4136
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4137 calcFermentation();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4138 calcCarbonation();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4139 $('#package_volume').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4140 var diff, tnew, told = dataRecord.package_volume + dataRecord.package_infuse_amount;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4141 dataRecord.package_volume = parseFloat(event.args.value);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4142 if (dataRecord.package_volume > dataRecord.brew_fermenter_volume) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4143 dataRecord.package_volume = dataRecord.brew_fermenter_volume;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4144 $('#package_volume').val(dataRecord.package_volume);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4145 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4146 tnew = dataRecord.package_volume + dataRecord.package_infuse_amount;
613
26a7a04acef3 Fixed package bottles and kegs amount settings.
Michiel Broek <mbroek@mbse.eu>
parents: 612
diff changeset
4147 diff = Round(tnew - told, 3);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4148 if (told > 0) {
613
26a7a04acef3 Fixed package bottles and kegs amount settings.
Michiel Broek <mbroek@mbse.eu>
parents: 612
diff changeset
4149 dataRecord.bottle_amount = Round(dataRecord.bottle_amount + ((dataRecord.bottle_amount / told) * diff), 3);
26a7a04acef3 Fixed package bottles and kegs amount settings.
Michiel Broek <mbroek@mbse.eu>
parents: 612
diff changeset
4150 dataRecord.keg_amount = Round(dataRecord.keg_amount + ((dataRecord.keg_amount / told) * diff), 3);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4151 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4152 dataRecord.bottle_amount = tnew;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4153 dataRecord.keg_amount = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4154 }
613
26a7a04acef3 Fixed package bottles and kegs amount settings.
Michiel Broek <mbroek@mbse.eu>
parents: 612
diff changeset
4155 $('#bottle_amount').val(parseFloat(dataRecord.bottle_amount));
26a7a04acef3 Fixed package bottles and kegs amount settings.
Michiel Broek <mbroek@mbse.eu>
parents: 612
diff changeset
4156 $('#keg_amount').val(parseFloat(dataRecord.keg_amount));
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4157 calcCarbonation();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4158 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4159 $('#package_infuse_amount').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4160 var diff, tnew, told = dataRecord.package_volume + dataRecord.package_infuse_amount;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4161 dataRecord.package_infuse_amount = parseFloat(event.args.value);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4162 tnew = dataRecord.package_volume + dataRecord.package_infuse_amount;
613
26a7a04acef3 Fixed package bottles and kegs amount settings.
Michiel Broek <mbroek@mbse.eu>
parents: 612
diff changeset
4163 diff = Round(tnew - told, 3);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4164 if (told > 0) {
613
26a7a04acef3 Fixed package bottles and kegs amount settings.
Michiel Broek <mbroek@mbse.eu>
parents: 612
diff changeset
4165 dataRecord.bottle_amount = Round(dataRecord.bottle_amount + ((dataRecord.bottle_amount / told) * diff), 3);
26a7a04acef3 Fixed package bottles and kegs amount settings.
Michiel Broek <mbroek@mbse.eu>
parents: 612
diff changeset
4166 dataRecord.keg_amount = Round(dataRecord.keg_amount + ((dataRecord.keg_amount / told) * diff), 3);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4167 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4168 dataRecord.bottle_amount = tnew;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4169 dataRecord.keg_amount = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4170 }
613
26a7a04acef3 Fixed package bottles and kegs amount settings.
Michiel Broek <mbroek@mbse.eu>
parents: 612
diff changeset
4171 $('#bottle_amount').val(parseFloat(dataRecord.bottle_amount));
26a7a04acef3 Fixed package bottles and kegs amount settings.
Michiel Broek <mbroek@mbse.eu>
parents: 612
diff changeset
4172 $('#keg_amount').val(parseFloat(dataRecord.keg_amount));
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4173 calcCarbonation();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4174 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4175 $('#package_infuse_abv').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4176 dataRecord.package_infuse_abv = parseFloat(event.args.value);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4177 calcCarbonation();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4178 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4179 $('#bottle_amount').on('change', function(event) {
613
26a7a04acef3 Fixed package bottles and kegs amount settings.
Michiel Broek <mbroek@mbse.eu>
parents: 612
diff changeset
4180 var vtot, vnew = parseFloat(event.args.value);
26a7a04acef3 Fixed package bottles and kegs amount settings.
Michiel Broek <mbroek@mbse.eu>
parents: 612
diff changeset
4181 vtot = Round(dataRecord.package_volume + dataRecord.package_infuse_amount - dataRecord.keg_amount, 3);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4182 if (vnew > vtot)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4183 vnew = vtot;
613
26a7a04acef3 Fixed package bottles and kegs amount settings.
Michiel Broek <mbroek@mbse.eu>
parents: 612
diff changeset
4184 dataRecord.bottle_amount = Round(vnew, 3);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4185 $('#bottle_amount').val(parseFloat(dataRecord.bottle_amount));
613
26a7a04acef3 Fixed package bottles and kegs amount settings.
Michiel Broek <mbroek@mbse.eu>
parents: 612
diff changeset
4186 console.log('vtot:' + vtot + ' vnew:' + vnew + ' bottle:' + dataRecord.bottle_amount + ' keg:' + dataRecord.keg_amount);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4187 calcCarbonation();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4188 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4189 $('#bottle_priming_water').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4190 dataRecord.bottle_priming_water = parseFloat(event.args.value);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4191 calcCarbonation();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4192 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4193 $('#keg_amount').on('change', function(event) {
613
26a7a04acef3 Fixed package bottles and kegs amount settings.
Michiel Broek <mbroek@mbse.eu>
parents: 612
diff changeset
4194 var vtot, vnew = parseFloat(event.args.value);
26a7a04acef3 Fixed package bottles and kegs amount settings.
Michiel Broek <mbroek@mbse.eu>
parents: 612
diff changeset
4195 vtot = Round(dataRecord.package_volume + dataRecord.package_infuse_amount - dataRecord.bottle_amount, 3);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4196 if (vnew > vtot)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4197 vnew = vtot;
613
26a7a04acef3 Fixed package bottles and kegs amount settings.
Michiel Broek <mbroek@mbse.eu>
parents: 612
diff changeset
4198 dataRecord.keg_amount = Round(vnew, 3);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4199 $('#keg_amount').val(parseFloat(dataRecord.keg_amount));
613
26a7a04acef3 Fixed package bottles and kegs amount settings.
Michiel Broek <mbroek@mbse.eu>
parents: 612
diff changeset
4200 console.log('vtot:' + vtot + ' vnew:' + vnew + ' bottle:' + dataRecord.bottle_amount + ' keg:' + dataRecord.keg_amount);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4201 calcCarbonation();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4202 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4203 $('#keg_priming_water').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4204 dataRecord.keg_priming_water = parseFloat(event.args.value);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4205 calcCarbonation();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4206 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4207 $('#bottle_carbonation').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4208 dataRecord.bottle_carbonation = parseFloat(event.args.value);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4209 calcCarbonation();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4210 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4211 $('#bottle_carbonation_temp').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4212 dataRecord.bottle_carbonation_temp = parseFloat(event.args.value);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4213 calcCarbonation();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4214 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4215 $('#keg_carbonation').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4216 dataRecord.keg_carbonation = parseFloat(event.args.value);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4217 calcCarbonation();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4218 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4219 $('#keg_forced_carb').on('checked', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4220 dataRecord.keg_forced_carb = 1;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4221 calcCarbonation();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4222 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4223 $('#keg_forced_carb').on('unchecked', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4224 dataRecord.keg_forced_carb = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4225 calcCarbonation();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4226 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4227 $('#keg_carbonation_temp').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4228 dataRecord.keg_carbonation_temp = parseFloat(event.args.value);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4229 calcCarbonation();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4230 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4231
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4232 $('#brew_fermenter_extrawater').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4233 dataRecord.brew_fermenter_extrawater = parseFloat(event.args.value);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4234 calcFermentables();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4235 calcIBUs();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4236 calcYeast();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4237 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4238 $('#brew_fermenter_tcloss').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4239 dataRecord.brew_fermenter_tcloss = parseFloat(event.args.value);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4240 calcFermentables();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4241 calcIBUs();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4242 calcYeast();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4243 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4244 $('#primary_end_sg').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4245 dataRecord.primary_end_sg = parseFloat(event.args.value);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4246 calcFermentation();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4247 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4248 $('#primary_end_brix').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4249 var OBrix, FBrix, FG;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4250 if (dataRecord.brew_fermenter_sg >= 1.020) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4251 OBrix = sg_to_brix(dataRecord.brew_fermenter_sg);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4252 FBrix = parseFloat(event.args.value);
561
dc618b8a9552 Refracto calculation for FG is now a global function using the New Cubic method. Fixed to typos in the prod_edit en rec_edit yeastData varialbles.
Michiel Broek <mbroek@mbse.eu>
parents: 560
diff changeset
4253 FG = brix_to_fg(OBrix, FBrix);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4254 if (FBrix > 0.05) {
561
dc618b8a9552 Refracto calculation for FG is now a global function using the New Cubic method. Fixed to typos in the prod_edit en rec_edit yeastData varialbles.
Michiel Broek <mbroek@mbse.eu>
parents: 560
diff changeset
4255 $('#primary_end_sg').val(FG);
dc618b8a9552 Refracto calculation for FG is now a global function using the New Cubic method. Fixed to typos in the prod_edit en rec_edit yeastData varialbles.
Michiel Broek <mbroek@mbse.eu>
parents: 560
diff changeset
4256 dataRecord.primary_end_sg = FG;
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4257 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4258 calcFermentation();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4259 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4260 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4261 $('#secondary_end_sg').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4262 dataRecord.secondary_end_sg = parseFloat(event.args.value);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4263 calcFermentation();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4264 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4265 $('#secondary_end_brix').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4266 var OBrix, FBrix, FG;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4267 if (dataRecord.brew_fermenter_sg >= 1.020) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4268 OBrix = sg_to_brix(dataRecord.brew_fermenter_sg);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4269 FBrix = parseFloat(event.args.value);
561
dc618b8a9552 Refracto calculation for FG is now a global function using the New Cubic method. Fixed to typos in the prod_edit en rec_edit yeastData varialbles.
Michiel Broek <mbroek@mbse.eu>
parents: 560
diff changeset
4270 FG = brix_to_fg(OBrix, FBrix);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4271 if (FBrix > 0.05) {
561
dc618b8a9552 Refracto calculation for FG is now a global function using the New Cubic method. Fixed to typos in the prod_edit en rec_edit yeastData varialbles.
Michiel Broek <mbroek@mbse.eu>
parents: 560
diff changeset
4272 $('#secondary_end_sg').val(FG);
dc618b8a9552 Refracto calculation for FG is now a global function using the New Cubic method. Fixed to typos in the prod_edit en rec_edit yeastData varialbles.
Michiel Broek <mbroek@mbse.eu>
parents: 560
diff changeset
4273 dataRecord.secondary_end_sg = FG;
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4274 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4275 calcFermentation();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4276 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4277 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4278 $('#final_brix').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4279 var OBrix, FBrix, FG;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4280 if (dataRecord.brew_fermenter_sg >= 1.020) {
560
850e82c1021d Switched FG calculations from Brix to the new cubic method from http://seanterrill.com. This includes the brix correction factor and seems better then the Brouwhulp formula.
Michiel Broek <mbroek@mbse.eu>
parents: 559
diff changeset
4281 OBrix = sg_to_brix(dataRecord.brew_fermenter_sg);
850e82c1021d Switched FG calculations from Brix to the new cubic method from http://seanterrill.com. This includes the brix correction factor and seems better then the Brouwhulp formula.
Michiel Broek <mbroek@mbse.eu>
parents: 559
diff changeset
4282 FBrix = parseFloat(event.args.value);
561
dc618b8a9552 Refracto calculation for FG is now a global function using the New Cubic method. Fixed to typos in the prod_edit en rec_edit yeastData varialbles.
Michiel Broek <mbroek@mbse.eu>
parents: 560
diff changeset
4283 FG = brix_to_fg(OBrix, FBrix);
560
850e82c1021d Switched FG calculations from Brix to the new cubic method from http://seanterrill.com. This includes the brix correction factor and seems better then the Brouwhulp formula.
Michiel Broek <mbroek@mbse.eu>
parents: 559
diff changeset
4284 if (FBrix > 0.05) {
561
dc618b8a9552 Refracto calculation for FG is now a global function using the New Cubic method. Fixed to typos in the prod_edit en rec_edit yeastData varialbles.
Michiel Broek <mbroek@mbse.eu>
parents: 560
diff changeset
4285 $('#fg').val(FG);
dc618b8a9552 Refracto calculation for FG is now a global function using the New Cubic method. Fixed to typos in the prod_edit en rec_edit yeastData varialbles.
Michiel Broek <mbroek@mbse.eu>
parents: 560
diff changeset
4286 dataRecord.fg = FG;
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4287 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4288 calcFermentation();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4289 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4290 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4291 $('#fg').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4292 dataRecord.fg = parseFloat(event.args.value);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4293 calcFermentation();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4294 });
538
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
4295 $('#brew_whirlpool9').on('valueChanged', function(event) {
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
4296 dataRecord.brew_whirlpool9 = event.args.value;
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
4297 whirlpoolHops();
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
4298 calcIBUs();
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
4299 });
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
4300 $('#brew_whirlpool7').on('valueChanged', function(event) {
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
4301 dataRecord.brew_whirlpool7 = event.args.value;
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
4302 whirlpoolHops();
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
4303 calcIBUs();
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
4304 });
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
4305 $('#brew_whirlpool6').on('valueChanged', function(event) {
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
4306 dataRecord.brew_whirlpool6 = event.args.value;
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
4307 whirlpoolHops();
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
4308 calcIBUs();
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
4309 });
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4310 $('#BLog').jqxButton({ disabled: (dataRecord.log_brew) ? false : true});
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4311 $('#FLog').jqxButton({ disabled: (dataRecord.log_fermentation) ? false : true});
602
10b61aacb1c1 New products field log_ispindel. Add check for ispindel log to crontasks.php Added log_ispindel to prod_edit, pprod_divide, prod_new and prod_duplicate. Renamed some log_fermentation vergisting names into klimaatkast.
Michiel Broek <mbroek@mbse.eu>
parents: 586
diff changeset
4312 $('#ILog').jqxButton({ disabled: (dataRecord.log_ispindel) ? false : true});
615
9034e65b0d7a Added CO2 carbonation log to the products database. Added button in the packaging tab.
Michiel Broek <mbroek@mbse.eu>
parents: 613
diff changeset
4313 $('#CLog').jqxButton({ disabled: (dataRecord.log_co2pressure) ? false : true});
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4314 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4315
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4316 $('#styleSelect').jqxDropDownList({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4317 placeHolder: 'Kies bierstijl:',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4318 theme: theme,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4319 source: styleslist,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4320 displayMember: 'name',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4321 width: 180,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4322 height: 23,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4323 dropDownVerticalAlignment: 'top',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4324 dropDownWidth: 500,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4325 dropDownHeight: 380,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4326 renderer: function(index, label, value) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4327 var datarecord = styleslist.records[index];
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4328 return datarecord.style_guide + ' ' + datarecord.style_letter + ' ' + datarecord.name;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4329 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4330 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4331 $('#styleSelect').on('select', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4332 if (event.args) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4333 var datarecord, index = event.args.index;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4334 datarecord = styleslist.records[index];
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4335 $('#st_name').val(datarecord.name);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4336 $('#st_category').val(datarecord.category);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4337 $('#st_category_number').val(datarecord.category_number);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4338 $('#st_letter').val(datarecord.style_letter);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4339 $('#st_guide').val(datarecord.style_guide);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4340 $('#st_type').val(StyleTypeData[datarecord.type].nl);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4341 $('#st_og_min').val(datarecord.og_min);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4342 $('#st_og_max').val(datarecord.og_max);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4343 $('#st_fg_min').val(datarecord.fg_min);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4344 $('#st_fg_max').val(datarecord.fg_max);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4345 $('#st_ibu_min').val(datarecord.ibu_min);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4346 $('#st_ibu_max').val(datarecord.ibu_max);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4347 $('#st_color_min').val(datarecord.color_min);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4348 $('#st_color_max').val(datarecord.color_max);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4349 $('#st_carb_min').val(datarecord.carb_min);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4350 $('#st_carb_min2').val(datarecord.carb_min);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4351 $('#st_carb_max').val(datarecord.carb_max);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4352 $('#st_carb_max2').val(datarecord.carb_max);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4353 $('#st_abv_min').val(datarecord.abv_min);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4354 $('#st_abv_max').val(datarecord.abv_max);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4355 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4356 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4357
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4358 // Equipemnt dropdown list
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4359 $('#equipmentSelect').jqxDropDownList({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4360 placeHolder: 'Kies apparatuur:',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4361 theme: theme,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4362 source: equipmentlist,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4363 displayMember: 'name',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4364 width: 170,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4365 height: 23,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4366 dropDownWidth: 300,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4367 renderer: function(index, label, value) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4368 var datarecord = equipmentlist.records[index];
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4369 return datarecord.batch_size + ' liter ' + datarecord.name;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4370 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4371 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4372 $('#equipmentSelect').on('select', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4373 if (event.args) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4374 var datarecord, factor, index = event.args.index;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4375 datarecord = equipmentlist.records[index];
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4376 factor = datarecord.batch_size / dataRecord.batch_size;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4377 $('#eq_name').val(datarecord.name);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4378 $('#eq_boil_size').val(datarecord.boil_size);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4379 dataRecord.boil_size = datarecord.boil_size;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4380 $('#boil_size').val(datarecord.boil_size);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4381 $('#eq_batch_size').val(datarecord.batch_size);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4382 dataRecord.batch_size = datarecord.batch_size;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4383 $('#batch_size').val(datarecord.batch_size);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4384 $('#est_a_vol').val(datarecord.batch_size * 1.04);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4385 $('#eq_tun_volume').val(datarecord.tun_volume);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4386 dataRecord.eq_tun_weight = datarecord.tun_weight;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4387 dataRecord.eq_tun_specific_heat = datarecord.tun_specific_heat;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4388 dataRecord.eq_tun_material = datarecord.tun_material;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4389 dataRecord.eq_tun_height = datarecord.tun_height / 100.0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4390 $('#eq_top_up_water').val(datarecord.top_up_water);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4391 dataRecord.eq_trub_chiller_loss = datarecord.trub_chiller_loss;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4392 $('#eq_trub_chiller_loss').val(datarecord.trub_chiller_loss);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4393 $('#eq_evap_rate').val(datarecord.evap_rate);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4394 $('#eq_boil_time').val(datarecord.boil_time);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4395 dataRecord.eq_calc_boil_volume = datarecord.calc_boil_volume;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4396 $('#eq_top_up_kettle').val(datarecord.top_up_kettle);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4397 $('#eq_hop_utilization').val(datarecord.hop_utilization);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4398 $('#eq_notes').val(datarecord.notes);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4399 $('#eq_lauter_volume').val(datarecord.lauter_volume);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4400 dataRecord.eq_lauter_height = datarecord.lauter_height / 100.0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4401 $('#eq_lauter_deadspace').val(datarecord.lauter_deadspace);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4402 $('#eq_kettle_volume').val(datarecord.kettle_volume);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4403 dataRecord.eq_kettle_height = datarecord.kettle_height / 100.0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4404 $('#eq_mash_volume').val(datarecord.mash_volume);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4405 $('#eq_mash_max').val(datarecord.mash_max);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4406 dataRecord.eq_mash_max = datarecord.mash_max;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4407 $('#mash_max').val(datarecord.mash_max);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4408 $('#eq_efficiency').val(datarecord.efficiency);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4409 dataRecord.efficiency = datarecord.efficiency;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4410 $('#efficiency').val(datarecord.efficiency);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4411
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4412 dataRecord.sparge_volume = Math.round(datarecord.boil_size * 5) / 10;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4413 $('#sparge_volume').val(dataRecord.sparge_volume);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4414 $('#brew_sparge_volume').val(dataRecord.sparge_volume);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4415 $('#est_pre_vol').val(datarecord.boil_size * 1.04);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4416 calcFermentablesFromOG(parseFloat($('#est_og').jqxNumberInput('decimal'))); // Keep the OG
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4417 adjustWaters(factor);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4418 calcFermentables();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4419 adjustHops(factor);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4420 adjustMiscs(factor);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4421 adjustYeasts(factor);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4422 calcIBUs();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4423 calcWater();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4424 calcSparge();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4425 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4426 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4427
489
18e5cfe5d126 Load new url in database write callback
Michiel Broek <mbroek@mbse.eu>
parents: 484
diff changeset
4428 function saveRecord(goback) {
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4429 var row = {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4430 record: my_record,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4431 uuid: dataRecord.uuid,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4432 name: $('#name').val(),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4433 code: $('#code').val(),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4434 birth: $('#birth').val(),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4435 stage: dataRecord.stage,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4436 notes: $('#notes').val(),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4437 log_brew: dataRecord.log_brew,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4438 log_fermentation: dataRecord.log_fermentation,
602
10b61aacb1c1 New products field log_ispindel. Add check for ispindel log to crontasks.php Added log_ispindel to prod_edit, pprod_divide, prod_new and prod_duplicate. Renamed some log_fermentation vergisting names into klimaatkast.
Michiel Broek <mbroek@mbse.eu>
parents: 586
diff changeset
4439 log_ispindel: dataRecord.log_ispindel,
615
9034e65b0d7a Added CO2 carbonation log to the products database. Added button in the packaging tab.
Michiel Broek <mbroek@mbse.eu>
parents: 613
diff changeset
4440 log_co2pressure: dataRecord.log_co2pressure,
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4441 inventory_reduced: dataRecord.inventory_reduced,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4442 locked: dataRecord.locked,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4443 eq_name: $('#eq_name').val(),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4444 eq_boil_size: parseFloat($('#eq_boil_size').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4445 eq_batch_size: parseFloat($('#eq_batch_size').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4446 eq_tun_volume: parseFloat($('#eq_tun_volume').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4447 eq_tun_weight: dataRecord.eq_tun_weight,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4448 eq_tun_specific_heat: dataRecord.eq_tun_specific_heat,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4449 eq_tun_material: dataRecord.eq_tun_material,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4450 eq_tun_height: dataRecord.eq_tun_height,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4451 eq_top_up_water: parseFloat($('#eq_top_up_water').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4452 eq_trub_chiller_loss: parseFloat($('#eq_trub_chiller_loss').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4453 eq_evap_rate: parseFloat($('#eq_evap_rate').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4454 eq_boil_time: parseFloat($('#eq_boil_time').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4455 eq_calc_boil_volume: dataRecord.eq_calc_boil_volume,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4456 eq_top_up_kettle: parseFloat($('#eq_top_up_kettle').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4457 eq_hop_utilization: parseFloat($('#eq_hop_utilization').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4458 eq_notes: $('#eq_notes').val(),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4459 eq_lauter_volume: parseFloat($('#eq_lauter_volume').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4460 eq_lauter_height: dataRecord.eq_lauter_height,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4461 eq_lauter_deadspace: parseFloat($('#eq_lauter_deadspace').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4462 eq_kettle_volume: parseFloat($('#eq_kettle_volume').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4463 eq_kettle_height: dataRecord.eq_kettle_height,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4464 eq_mash_volume: parseFloat($('#eq_mash_volume').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4465 eq_mash_max: parseFloat($('#eq_mash_max').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4466 eq_efficiency: parseFloat($('#eq_efficiency').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4467 brew_date_start: $('#brew_date_start').val(),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4468 brew_mash_ph: parseFloat($('#brew_mash_ph').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4469 brew_mash_sg: parseFloat($('#brew_mash_sg').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4470 brew_mash_efficiency: parseFloat($('#brew_mash_efficiency').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4471 brew_sparge_est: parseFloat($('#brew_sparge_est').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4472 brew_sparge_ph: parseFloat($('#brew_sparge_ph').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4473 brew_preboil_volume: parseFloat($('#brew_preboil_volume').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4474 brew_preboil_sg: parseFloat($('#brew_preboil_sg').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4475 brew_preboil_ph: parseFloat($('#brew_preboil_ph').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4476 brew_preboil_efficiency: parseFloat($('#brew_preboil_efficiency').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4477 brew_aboil_volume: parseFloat($('#brew_aboil_volume').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4478 brew_aboil_sg: parseFloat($('#brew_aboil_sg').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4479 brew_aboil_ph: parseFloat($('#brew_aboil_ph').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4480 brew_aboil_efficiency: parseFloat($('#brew_aboil_efficiency').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4481 brew_cooling_method: $('#brew_cooling_method').val(),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4482 brew_cooling_time: parseFloat($('#brew_cooling_time').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4483 brew_cooling_to: parseFloat($('#brew_cooling_to').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4484 brew_whirlpool9: parseFloat($('#brew_whirlpool9').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4485 brew_whirlpool7: parseFloat($('#brew_whirlpool7').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4486 brew_whirlpool6: parseFloat($('#brew_whirlpool6').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4487 brew_whirlpool2: parseFloat($('#brew_whirlpool2').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4488 brew_fermenter_volume: parseFloat($('#brew_fermenter_volume').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4489 brew_fermenter_extrawater: parseFloat($('#brew_fermenter_extrawater').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4490 brew_fermenter_tcloss: parseFloat($('#brew_fermenter_tcloss').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4491 brew_aeration_time: parseFloat($('#brew_aeration_time').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4492 brew_aeration_speed: parseFloat($('#brew_aeration_speed').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4493 brew_aeration_type: $('#brew_aeration_type').val(),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4494 brew_fermenter_sg: parseFloat($('#brew_fermenter_sg').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4495 brew_fermenter_ibu: parseFloat($('#brew_fermenter_ibu').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4496 brew_fermenter_color: parseFloat($('#brew_fermenter_color').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4497 brew_date_end: $('#brew_date_end').val(),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4498 og: dataRecord.og,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4499 fg: parseFloat($('#fg').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4500 primary_start_temp: parseFloat($('#primary_start_temp').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4501 primary_max_temp: parseFloat($('#primary_max_temp').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4502 primary_end_temp: parseFloat($('#primary_end_temp').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4503 primary_end_sg: parseFloat($('#primary_end_sg').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4504 primary_end_date: $('#primary_end_date').val(),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4505 secondary_temp: parseFloat($('#secondary_temp').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4506 secondary_end_sg: parseFloat($('#secondary_end_sg').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4507 secondary_end_date: $('#secondary_end_date').val(),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4508 tertiary_temp: parseFloat($('#tertiary_temp').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4509 package_date: $('#package_date').val(),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4510 package_volume: parseFloat($('#package_volume').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4511 package_infuse_amount: parseFloat($('#package_infuse_amount').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4512 package_infuse_abv: parseFloat($('#package_infuse_abv').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4513 package_infuse_notes: $('#package_infuse_notes').val(),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4514 package_abv: parseFloat($('#package_abv').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4515 package_ph: parseFloat($('#package_ph').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4516 bottle_amount: parseFloat($('#bottle_amount').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4517 bottle_carbonation: parseFloat($('#bottle_carbonation').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4518 bottle_priming_water: parseFloat($('#bottle_priming_water').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4519 bottle_priming_amount: parseFloat($('#bottle_priming_amount').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4520 bottle_carbonation_temp: parseFloat($('#bottle_carbonation_temp').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4521 keg_amount: parseFloat($('#keg_amount').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4522 keg_carbonation: parseFloat($('#keg_carbonation').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4523 keg_priming_water: parseFloat($('#keg_priming_water').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4524 keg_priming_amount: parseFloat($('#keg_priming_amount').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4525 keg_carbonation_temp: parseFloat($('#keg_carbonation_temp').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4526 keg_forced_carb: dataRecord.keg_forced_carb,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4527 keg_pressure: parseFloat($('#keg_pressure').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4528 taste_notes: $('#taste_notes').val(),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4529 taste_rate: parseFloat($('#taste_rate').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4530 taste_date: $('#taste_date').val(),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4531 taste_color: $('#taste_color').val(),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4532 taste_transparency: $('#taste_transparency').val(),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4533 taste_head: $('#taste_head').val(),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4534 taste_aroma: $('#taste_aroma').val(),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4535 taste_taste: $('#taste_taste').val(),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4536 taste_mouthfeel: $('#taste_mouthfeel').val(),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4537 taste_aftertaste: $('#taste_aftertaste').val(),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4538 st_name: $('#st_name').val(),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4539 st_letter: $('#st_letter').val(),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4540 st_guide: $('#st_guide').val(),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4541 st_type: dataRecord.st_type,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4542 st_category: $('#st_category').val(),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4543 st_category_number: parseFloat($('#st_category_number').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4544 st_og_min: parseFloat($('#st_og_min').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4545 st_og_max: parseFloat($('#st_og_max').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4546 st_fg_min: parseFloat($('#st_fg_min').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4547 st_fg_max: parseFloat($('#st_fg_max').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4548 st_ibu_min: parseFloat($('#st_ibu_min').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4549 st_ibu_max: parseFloat($('#st_ibu_max').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4550 st_color_min: parseFloat($('#st_color_min').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4551 st_color_max: parseFloat($('#st_color_max').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4552 st_carb_min: parseFloat($('#st_carb_min').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4553 st_carb_max: parseFloat($('#st_carb_max').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4554 st_abv_min: parseFloat($('#st_abv_min').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4555 st_abv_max: parseFloat($('#st_abv_max').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4556 type: $('#type').val(),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4557 batch_size: parseFloat($('#batch_size').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4558 boil_size: parseFloat($('#boil_size').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4559 boil_time: parseFloat($('#boil_time').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4560 efficiency: parseFloat($('#efficiency').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4561 est_og: parseFloat($('#est_og').jqxNumberInput('decimal')),
616
2cbf21bb9bdc Added est_og3 field in the products database so that the checklist can use it.
Michiel Broek <mbroek@mbse.eu>
parents: 615
diff changeset
4562 est_og3: parseFloat($('#est_og3').jqxNumberInput('decimal')),
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4563 est_fg: parseFloat($('#est_fg').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4564 est_abv: parseFloat($('#est_abv').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4565 est_color: parseFloat($('#est_color').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4566 color_method: $('#color_method').val(),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4567 est_ibu: parseFloat($('#est_ibu').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4568 ibu_method: $('#ibu_method').val(),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4569 est_carb: parseFloat($('#est_carb').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4570 mash_name: $('#mash_name').val(),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4571 mash_ph: parseFloat($('#mash_ph').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4572 sparge_temp: parseFloat($('#sparge_temp').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4573 sparge_ph: parseFloat($('#sparge_ph').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4574 sparge_volume: parseFloat($('#sparge_volume').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4575 sparge_source: $('#sparge_source').val(),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4576 sparge_acid_type: $('#sparge_acid_type').val(),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4577 sparge_acid_perc: parseFloat($('#sparge_acid_perc').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4578 sparge_acid_amount: dataRecord.sparge_acid_amount,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4579 calc_acid: dataRecord.calc_acid,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4580 w1_name: $('#w1_name').val(),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4581 w1_amount: parseFloat($('#w1_amount').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4582 w1_calcium: parseFloat($('#w1_calcium').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4583 w1_sulfate: parseFloat($('#w1_sulfate').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4584 w1_chloride: parseFloat($('#w1_chloride').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4585 w1_sodium: parseFloat($('#w1_sodium').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4586 w1_magnesium: parseFloat($('#w1_magnesium').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4587 w1_total_alkalinity: parseFloat($('#w1_total_alkalinity').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4588 w1_ph: parseFloat($('#w1_ph').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4589 w1_cost: dataRecord.w1_cost,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4590 w2_name: $('#w2_name').val(),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4591 w2_amount: parseFloat($('#w2_amount').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4592 w2_calcium: parseFloat($('#w2_calcium').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4593 w2_sulfate: parseFloat($('#w2_sulfate').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4594 w2_chloride: parseFloat($('#w2_chloride').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4595 w2_sodium: parseFloat($('#w2_sodium').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4596 w2_magnesium: parseFloat($('#w2_magnesium').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4597 w2_total_alkalinity: parseFloat($('#w2_total_alkalinity').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4598 w2_ph: parseFloat($('#w2_ph').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4599 w2_cost: dataRecord.w2_cost,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4600 wg_amount: parseFloat($('#wg_amount').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4601 wg_calcium: parseFloat($('#wg_calcium').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4602 wg_sulfate: parseFloat($('#wg_sulfate').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4603 wg_chloride: parseFloat($('#wg_chloride').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4604 wg_sodium: parseFloat($('#wg_sodium').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4605 wg_magnesium: parseFloat($('#wg_magnesium').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4606 wg_total_alkalinity: parseFloat($('#wg_total_alkalinity').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4607 wg_ph: parseFloat($('#wg_ph').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4608 wb_calcium: parseFloat($('#wb_calcium').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4609 wb_sulfate: parseFloat($('#wb_sulfate').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4610 wb_chloride: parseFloat($('#wb_chloride').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4611 wb_sodium: parseFloat($('#wb_sodium').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4612 wb_magnesium: parseFloat($('#wb_magnesium').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4613 wb_total_alkalinity: parseFloat($('#wb_total_alkalinity').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4614 wb_ph: parseFloat($('#wb_ph').jqxNumberInput('decimal')),
638
736c8d29bc87 Binding the data earlier to try to prevent a race condition.
Michiel Broek <mbroek@mbse.eu>
parents: 637
diff changeset
4615 wa_acid_name: parseInt($('#wa_acid_name').val()),
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4616 wa_acid_perc: parseFloat($('#wa_acid_perc').jqxNumberInput('decimal')),
638
736c8d29bc87 Binding the data earlier to try to prevent a race condition.
Michiel Broek <mbroek@mbse.eu>
parents: 637
diff changeset
4617 wa_base_name: parseInt($('#wa_base_name').val()),
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4618 starter_enable: dataRecord.starter_enable,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4619 starter_type: $('#starter_type').val(),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4620 starter_sg: parseFloat($('#starter_sg').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4621 starter_viability: parseFloat($('#starter_viability').jqxNumberInput('decimal')),
617
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
4622 yeast_prod_date: $('#yeast_prod_date').val(),
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4623 prop1_type: $('#prop1_type').val(),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4624 prop1_volume: parseFloat($('#prop1_volume').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4625 prop2_type: $('#prop2_type').val(),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4626 prop2_volume: parseFloat($('#prop2_volume').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4627 prop3_type: $('#prop3_type').val(),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4628 prop3_volume: parseFloat($('#prop3_volume').jqxNumberInput('decimal')),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4629 prop4_type: $('#prop4_type').val(),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4630 prop4_volume: parseFloat($('#prop4_volume').jqxNumberInput('decimal')),
497
0fe366d953ab Prepare screens for product divide batch.
Michiel Broek <mbroek@mbse.eu>
parents: 495
diff changeset
4631 divide_type: dataRecord.divide_type,
0fe366d953ab Prepare screens for product divide batch.
Michiel Broek <mbroek@mbse.eu>
parents: 495
diff changeset
4632 divide_size: dataRecord.divide_size,
533
be8691b7d634 Added the product divide scripts. All parts have all the volumes and weights divided, including the master record. Splitted batches have their own records with the product code formatted as code-n. From this design, we can rebuild the print and checklist.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
4633 divide_factor: dataRecord.divide_factor,
497
0fe366d953ab Prepare screens for product divide batch.
Michiel Broek <mbroek@mbse.eu>
parents: 495
diff changeset
4634 divide_parts: dataRecord.divide_parts,
533
be8691b7d634 Added the product divide scripts. All parts have all the volumes and weights divided, including the master record. Splitted batches have their own records with the product code formatted as code-n. From this design, we can rebuild the print and checklist.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
4635 divide_part: dataRecord.divide_part,
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4636 fermentables: $('#fermentableGrid').jqxGrid('getrows'),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4637 hops: $('#hopGrid').jqxGrid('getrows'),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4638 miscs: $('#miscGrid').jqxGrid('getrows'),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4639 yeasts: $('#yeastGrid').jqxGrid('getrows'),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4640 mashs: $('#mashGrid').jqxGrid('getrows')
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4641 },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4642 data = 'update=true&' + $.param(row);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4643 $.ajax({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4644 dataType: 'json',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4645 url: url,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4646 cache: false,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4647 data: data,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4648 async: false,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4649 type: 'POST',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4650 success: function(data, status, xhr) {
489
18e5cfe5d126 Load new url in database write callback
Michiel Broek <mbroek@mbse.eu>
parents: 484
diff changeset
4651 console.log('saveRecord(' + goback + ') success');
18e5cfe5d126 Load new url in database write callback
Michiel Broek <mbroek@mbse.eu>
parents: 484
diff changeset
4652 if (goback)
18e5cfe5d126 Load new url in database write callback
Michiel Broek <mbroek@mbse.eu>
parents: 484
diff changeset
4653 window.location.href = my_return;
18e5cfe5d126 Load new url in database write callback
Michiel Broek <mbroek@mbse.eu>
parents: 484
diff changeset
4654 else
18e5cfe5d126 Load new url in database write callback
Michiel Broek <mbroek@mbse.eu>
parents: 484
diff changeset
4655 window.location.href =
497
0fe366d953ab Prepare screens for product divide batch.
Michiel Broek <mbroek@mbse.eu>
parents: 495
diff changeset
4656 'prod_export.php?record=' + my_record + '&return=' + my_return + '&select=' + my_select + '&code=' + dataRecord.code + '&name=' + dataRecord.name +
0fe366d953ab Prepare screens for product divide batch.
Michiel Broek <mbroek@mbse.eu>
parents: 495
diff changeset
4657 '&stage=' + dataRecord.stage + '&split=' + dataRecord.divide_type;
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4658 },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4659 error: function(jqXHR, textStatus, errorThrown) {
489
18e5cfe5d126 Load new url in database write callback
Michiel Broek <mbroek@mbse.eu>
parents: 484
diff changeset
4660 console.log('saveRecord() ' + textStatus);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4661 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4662 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4663 };
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4664
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4665 // initialize the input fields.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4666 // Tab 1, Algemeen
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4667 $('#name').jqxTooltip({ content: 'De naam voor dit product.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4668 $('#code').jqxTooltip({ content: 'Product code nummer.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4669 $('#birth').jqxTooltip({ content: 'De ontwerp datum van dit product.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4670 $('#stage').jqxTooltip({ content: 'De productie fase van dit product.' });
633
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4671 $('#divide_batch').jqxTooltip({ content: 'Het aantal extra gesplitste batches.' });
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4672 $('#divide_type').jqxTooltip({ content: 'Het splitsing moment in het productie proces.' });
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4673 $('#notes').jqxTooltip({ content: 'De uitgebreide opmerkingen over dit product.' });
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4674 $('#type').jqxTooltip({ content: 'Het brouw type van dit recept.' });
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4675 $('#efficiency').jqxTooltip({ content: 'Het rendement van maischen en koken.' });
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4676 $('#batch_size').jqxTooltip({ content: 'Het volume van het gekoelde wort na het koken.' });
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4677 $('#boil_time').jqxTooltip({ content: 'De kooktijd in minuten.' });
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4678 $('#boil_size').jqxTooltip({ content: 'Het volume van het wort voor het koken.' });
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4679 $('#st_guide').jqxTooltip({ content: 'De bierstijl gids voor dit recept.'});
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4680 $('#st_name').jqxTooltip({ content: 'De bierstijl naam voor dit recept.'});
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4681 $('#st_letter').jqxTooltip({ content: 'De bierstijl letter voor dit recept.'});
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4682 $('#st_letter').jqxInput({ theme: theme, width: 90, height: 23 });
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4683 $('#st_type').jqxTooltip({ content: 'Het bierstijl type.'});
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4684 $('#st_category').jqxTooltip({ content: 'De Amerikaanse bierstijl categorie.'});
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4685 $('#st_category_number').jqxTooltip({ content: 'De Amerikaanse bierstijl categorie sub nummer.'});
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4686 $('#est_og').jqxTooltip({ content: 'Het begin SG wat je wilt bereiken. De moutstort wordt automatisch herberekend.' });
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4687 $('#st_og_min').jqxTooltip({ content: 'Het minimum begin SG voor deze bierstijl.'});
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4688 $('#st_og_max').jqxTooltip({ content: 'Het maximum begin SG voor deze bierstijl.'});
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4689 $('#est_fg').jqxTooltip({ content: 'Het verwachte eind SG. Dit wordt automatisch berekend.' });
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4690 $('#st_fg_min').jqxTooltip({ content: 'Het minimum eind SG voor deze bierstijl.'});
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4691 $('#st_fg_max').jqxTooltip({ content: 'Het maximum eind SG voor deze bierstijl.'});
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4692 $('#est_abv').jqxTooltip({ content: 'Alcohol volume %. Dit wordt automatisch berekend.' });
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4693 $('#st_abv_min').jqxTooltip({ content: 'Het minimum alcohol volume % voor deze bierstijl.'});
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4694 $('#st_abv_max').jqxTooltip({ content: 'Het maximum alcohol volume % voor deze bierstijl.'});
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4695 $('#est_color').jqxTooltip({ content: 'De kleur in EBC. Dit wordt automatisch berekend.' });
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4696 $('#st_color_min').jqxTooltip({ content: 'De minimum kleur voor deze bierstijl.'});
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4697 $('#st_color_max').jqxTooltip({ content: 'De maximum kleur voor deze bierstijl.'});
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4698 $('#est_ibu').jqxTooltip({ content: 'De bitterheid in IBU. Dit wordt automatisch berekend.' });
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4699 $('#st_ibu_min').jqxTooltip({ content: 'De minimum bitterheid voor deze bierstijl.'});
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4700 $('#st_ibu_max').jqxTooltip({ content: 'De maximum bitterheid voor deze bierstijl.'});
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4701 $('#kcal').jqxTooltip({ content: 'Energie-inhoud in kcal/liter.' });
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4702 $('#est_carb').jqxTooltip({ content: 'Koolzuur volume. Dit wordt automatisch berekend.' });
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4703 $('#st_carb_min').jqxTooltip({ content: 'Het minimum koolzuur volume voor deze bierstijl.'});
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4704 $('#st_carb_max').jqxTooltip({ content: 'Het maximum koolzuur volume voor deze bierstijl.'});
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4705
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4706 $('#name').jqxInput({ theme: theme, width: 640, height: 23 });
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4707 $('#code, #stage').jqxInput({ theme: theme, width: 100, height: 23 });
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4708 $('#locked').jqxCheckBox({ theme: theme, width: 120, height: 23, disabled: true });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4709 $('#locked').on('checked', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4710 if (dataRecord.stage >= 10) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4711 dataRecord.locked = 1;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4712 dataRecord.stage = 11;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4713 calcStage();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4714 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4715 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4716 $('#locked').on('unchecked', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4717 if (dataRecord.stage >= 10) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4718 dataRecord.locked = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4719 dataRecord.stage = 10;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4720 calcStage();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4721 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4722 });
633
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4723 $('#birth,#divide_batch,#divide_type').jqxInput({ theme: theme, width: 120, height: 23 });
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4724 $('#notes').jqxInput({ theme: theme, width: 960, height: 100 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4725 $('#type').jqxDropDownList({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4726 theme: theme,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4727 source: RecipeTypeAdapter,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4728 valueMember: 'id',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4729 displayMember: 'nl',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4730 width: 180,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4731 height: 23,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4732 autoDropDownHeight: true
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4733 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4734 $('#efficiency').jqxNumberInput(Perc1dec);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4735 $('#batch_size').jqxNumberInput(Spin1dec);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4736 $('#batch_size').jqxNumberInput({ min: 4 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4737 $('#boil_time').jqxNumberInput(PosInt);
658
945d5eba869a Implemented no-boil products.
Michiel Broek <mbroek@mbse.eu>
parents: 655
diff changeset
4738 $('#boil_time').jqxNumberInput({ min: 0, max: 360 });
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4739 $('#boil_size').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 90, height: 23, decimalDigits: 2, readOnly: true });
610
38b22ccb2bf8 Combined a lot of selectors
Michiel Broek <mbroek@mbse.eu>
parents: 609
diff changeset
4740 $('#st_guide,#st_name,#st_type,#st_category').jqxInput({ theme: theme, width: 250, height: 23 });
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4741 $('#est_og').jqxNumberInput(SGopts);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4742 $('#est_fg').jqxNumberInput(Show3dec);
610
38b22ccb2bf8 Combined a lot of selectors
Michiel Broek <mbroek@mbse.eu>
parents: 609
diff changeset
4743 $('#st_og_min,#st_og_max,#st_fg_min,#st_fg_max').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 3, readOnly: true });
633
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4744 $('#est_ibu,#est_color').jqxNumberInput(Show0dec);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4745 $('#color_method').jqxDropDownList({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4746 theme: theme,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4747 source: ColorMethodAdapter,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4748 valueMember: 'id',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4749 displayMember: 'nl',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4750 width: 180,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4751 height: 23,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4752 autoDropDownHeight: true
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4753 });
633
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4754 $('#st_color_min,#st_color_max,#st_category_number,#st_ibu_min,#st_ibu_max,#kcal').jqxNumberInput(Smal0dec);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4755 $('#ibu_method').jqxDropDownList({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4756 theme: theme,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4757 source: IBUmethodAdapter,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4758 valueMember: 'id',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4759 displayMember: 'nl',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4760 width: 180,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4761 height: 23,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4762 autoDropDownHeight: true,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4763 dropDownVerticalAlignment: 'top'
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4764 });
633
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4765 $('#est_abv,#st_abv_min,#st_abv_max,#est_carb,#st_carb_min,#st_carb_max').jqxNumberInput(Smal1dec);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4766
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4767 // Tab 2, Equipment
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4768 $('#eq_name').jqxTooltip({ content: 'De naam van deze brouw apparatuur.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4769 $('#eq_boil_size').jqxTooltip({ content: 'Normaal kook volume in liters' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4770 $('#eq_batch_size').jqxTooltip({ content: 'Berekende batch grootte in liters aan het eind van de kook.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4771 $('#eq_tun_volume').jqxTooltip({ content: 'Maisch ketel volume.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4772 $('#eq_top_up_water').jqxTooltip({ content: 'Extra water in het gistvat.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4773 $('#eq_trub_chiller_loss').jqxTooltip({ content: 'Standaard verlies bij het overbrengen naar het gistvat.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4774 $('#eq_evap_rate').jqxTooltip({ content: 'Verdamping in liters per uur.' });
658
945d5eba869a Implemented no-boil products.
Michiel Broek <mbroek@mbse.eu>
parents: 655
diff changeset
4775 $('#eq_boil_time').jqxTooltip({ content: 'Normale kooktijd in minuten, 0 voor no-boil recepten.' });
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4776 $('#eq_top_up_kettle').jqxTooltip({ content: 'Extra water toevoegen tijdens de kook.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4777 $('#eq_hop_utilization').jqxTooltip({ content: '100% voor kleine installaties, hoger voor grote brouwerijen.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4778 $('#eq_notes').jqxTooltip({ content: 'Opmerkingen over deze apparatuur.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4779 $('#eq_lauter_volume').jqxTooltip({ content: 'Filterkuip volume.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4780 $('#eq_lauter_deadspace').jqxTooltip({ content: 'Filterkuip verlies in liters.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4781 $('#eq_kettle_volume').jqxTooltip({ content: 'Kook ketel volume in liters.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4782 $('#eq_mash_volume').jqxTooltip({ content: 'Maisch water voor de eerste stap.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4783 $('#eq_mash_max').jqxTooltip({ content: 'De maximale moutstort in Kg.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4784 $('#eq_efficiency').jqxTooltip({ content: 'Gemiddeld brouwzaal rendement.' });
633
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4785
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4786 $('#eq_name').jqxInput({ theme: theme, width: 250, height: 23 });
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4787 $('#eq_evap_rate').jqxNumberInput(Show2dec);
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4788 $('#eq_boil_time,#eq_hop_utilization').jqxNumberInput(Show0dec);
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4789 $('#eq_notes').jqxInput({ theme: theme, width: 960, height: 200 });
610
38b22ccb2bf8 Combined a lot of selectors
Michiel Broek <mbroek@mbse.eu>
parents: 609
diff changeset
4790 $('#eq_boil_size,#eq_batch_size,#eq_tun_volume,#eq_top_up_water,#eq_trub_chiller_loss,#eq_top_up_kettle').jqxNumberInput(Show1dec);
38b22ccb2bf8 Combined a lot of selectors
Michiel Broek <mbroek@mbse.eu>
parents: 609
diff changeset
4791 $('#eq_lauter_volume,#eq_lauter_deadspace,#eq_kettle_volume,#eq_mash_volume,#eq_mash_max,#eq_efficiency').jqxNumberInput(Show1dec);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4792
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4793 // Tab 3, Fermentables
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4794 $('#est_color2').jqxTooltip({ content: 'De kleur in EBC. Dit wordt automatisch berekend.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4795 $('#est_og2').jqxTooltip({ content: 'Het geschatte begin SG van dit product.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4796 $('#mash_kg').jqxTooltip({ content: 'Het gewicht van alle mouten in de maisch.' });
633
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4797
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4798 $('#est_color2').jqxNumberInput(Show0dec);
610
38b22ccb2bf8 Combined a lot of selectors
Michiel Broek <mbroek@mbse.eu>
parents: 609
diff changeset
4799 $('#est_og2,#mash_kg').jqxNumberInput(Show3dec);
633
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4800
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4801 $('#perc_malts').jqxProgressBar({
633
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4802 width: 300, height: 23, theme: theme, showText: true, max: 120, animationDuration: 0,
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4803 colorRanges: [{ stop: 90, color: '#008C00' },{ stop: 100, color: '#EB7331' },{ stop: 120, color: '#FF0000' }],
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4804 renderText: function(text) { return (Math.round(parseInt(text) * 1.2)) + '%'; }
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4805 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4806 $('#perc_sugars').jqxProgressBar({
633
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4807 width: 300, height: 23, theme: theme, showText: true, max: 50, animationDuration: 0,
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4808 colorRanges: [{ stop: 20, color: '#008C00' },{ stop: 50, color: '#FF0000' }],
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4809 renderText: function(text) { return (Math.round(parseInt(text) * 5) / 10) + '%'; }
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4810 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4811 $('#perc_cara').jqxProgressBar({
633
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4812 width: 300, height: 23, theme: theme, showText: true, max: 50, animationDuration: 0,
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4813 colorRanges: [{ stop: 25, color: '#008C00' },{ stop: 50, color: '#FF0000' }],
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4814 renderText: function(text) { return (Math.round(parseInt(text) * 5) / 10) + '%'; }
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4815 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4816 $('#ferm_lintner').jqxProgressBar({
633
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4817 width: 300, height: 23, theme: theme, showText: true, max: 200, animationDuration: 0,
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4818 colorRanges: [{ stop: 30, color: '#FF0000' },{ stop: 40, color: '#EB7331' },{ stop: 200, color: '#008C00' }],
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
4819 renderText: function(text) { return (parseInt(text) * 2) + ' lintner'; }
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4820 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4821 $('#popupFermentable').jqxWindow({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4822 width: 800,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4823 height: 300,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4824 position: { x: 230, y: 100 },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4825 resizable: false,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4826 theme: theme,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4827 isModal: true,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4828 autoOpen: false,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4829 cancelButton: $('#FermentableReady'),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4830 modalOpacity: 0.40
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4831 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4832 $('#FermentableReady').jqxButton({ template: 'success', width: '90px', theme: theme });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4833 $('#FermentableReady').click(function() {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4834 var row, rowID = $('#fermentableGrid').jqxGrid('getrowid', fermentableRow);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4835 console.log('FermentableReady row:' + fermentableRow + ' ID:' + rowID);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4836 row = {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4837 f_name: fermentableData.f_name,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4838 f_origin: fermentableData.f_origin,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4839 f_supplier: fermentableData.f_supplier,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4840 f_amount: fermentableData.f_amount,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4841 f_cost: fermentableData.f_cost,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4842 f_type: fermentableData.f_type,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4843 f_yield: fermentableData.f_yield,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4844 f_color: fermentableData.f_color,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4845 f_coarse_fine_diff: fermentableData.f_coarse_fine_diff,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4846 f_moisture: fermentableData.f_moisture,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4847 f_diastatic_power: fermentableData.f_diastatic_power,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4848 f_protein: fermentableData.f_protein,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4849 f_max_in_batch: fermentableData.f_max_in_batch,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4850 f_graintype: fermentableData.f_graintype,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4851 f_added: fermentableData.f_added,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4852 f_dissolved_protein: fermentableData.f_dissolved_protein,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4853 f_recommend_mash: fermentableData.f_recommend_mash,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4854 f_add_after_boil: fermentableData.f_add_after_boil,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4855 f_adjust_to_total_100: fermentableData.f_adjust_to_total_100,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4856 f_percentage: fermentableData.f_percentage,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4857 f_di_ph: fermentableData.f_di_ph,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4858 f_acid_to_ph_57: fermentableData.f_acid_to_ph_57,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4859 f_inventory: fermentableData.f_inventory,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4860 f_avail: fermentableData.f_avail
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4861 };
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4862 $('#fermentableGrid').jqxGrid('updaterow', rowID, row);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4863 calcPercentages();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4864 calcFermentables();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4865 calcIBUs();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4866 calcMash();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4867 // Waters: yes there is impact.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4868 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4869 $('#wf_name').jqxInput({ theme: theme, width: 320, height: 23 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4870 $('#wf_instock').jqxCheckBox({ theme: theme, height: 23 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4871 $('#wf_instock').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4872 fermentableinstock = event.args.checked;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4873 fermentablelist.dataBind();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4874 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4875 $('#wf_select').jqxDropDownList({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4876 placeHolder: 'Kies mout:',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4877 theme: theme,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4878 source: fermentablelist,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4879 displayMember: 'name',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4880 width: 150,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4881 height: 23,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4882 dropDownWidth: 500,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4883 dropDownHeight: 500,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4884 renderer: function(index, label, value) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4885 var datarecord = fermentablelist.records[index];
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4886 return datarecord.supplier + ' / ' + datarecord.name + ' (' + datarecord.color + ' EBC)';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4887 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4888 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4889 $('#wf_select').on('select', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4890 if (event.args) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4891 var datarecord, index = event.args.index;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4892 datarecord = fermentablelist.records[index];
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4893 $('#wf_name').val(datarecord.name);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4894 fermentableData.f_name = datarecord.name;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4895 fermentableData.f_origin = datarecord.origin;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4896 fermentableData.f_supplier = datarecord.supplier;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4897 fermentableData.f_type = datarecord.type;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4898 fermentableData.f_cost = datarecord.cost;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4899 fermentableData.f_yield = datarecord.yield;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4900 fermentableData.f_color = datarecord.color;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4901 fermentableData.f_coarse_fine_diff = datarecord.coarse_fine_diff;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4902 fermentableData.f_moisture = datarecord.moisture;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4903 fermentableData.f_diastatic_power = datarecord.diastatic_power;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4904 fermentableData.f_protein = datarecord.protein;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4905 fermentableData.f_max_in_batch = datarecord.max_in_batch;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4906 fermentableData.f_graintype = datarecord.graintype;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4907 fermentableData.f_dissolved_protein = datarecord.dissolved_protein;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4908 fermentableData.f_recommend_mash = datarecord.recommend_mash;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4909 fermentableData.f_add_after_boil = datarecord.add_after_boil;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4910 fermentableData.f_di_ph = datarecord.di_ph;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4911 fermentableData.f_acid_to_ph_57 = datarecord.acid_to_ph_57;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4912 fermentableData.f_inventory = datarecord.inventory;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4913 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4914 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4915 $('#wf_amount').jqxNumberInput(Spin3dec);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4916 $('#wf_amount').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4917 console.log('amount changed: ' + event.args.value);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4918 $('#fermentableGrid').jqxGrid('setcellvalue', fermentableRow, 'f_amount', event.args.value);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4919 fermentableData.f_amount = event.args.value;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4920 if (! to_100) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4921 calcPercentages();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4922 calcFermentables();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4923 calcIBUs();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4924 calcMash();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4925 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4926 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4927 $('#wf_percentage').jqxNumberInput(Perc1dec);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4928 $('#wf_percentage').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4929 var newvalue, rowscount, rowdata, diff, tw, damount, namount, nw, newperc,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4930 oldvalue = Math.round(fermentableData.f_percentage * 10) / 10.0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4931 newvalue = event.args.value;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4932 console.log('percentage changed: ' + newvalue + ' old: ' + oldvalue);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4933 fermentableData.f_percent = newvalue;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4934 rowscount = $('#fermentableGrid').jqxGrid('getdatainformation').rowscount;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4935 if ((oldvalue != newvalue) && (rowscount > 1)) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4936 rowdata = $('#fermentableGrid').jqxGrid('getrowdata', fermentableRow);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4937 if (rowdata.f_adjust_to_total_100) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4938 $('#wf_percentage').val(oldvalue);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4939 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4940 diff = newvalue - oldvalue;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4941 tw = 0; // total weight
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4942 for (i = 0; i < rowscount; i++) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4943 rowdata = $('#fermentableGrid').jqxGrid('getrowdata', i);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4944 if (rowdata.f_added < 4)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4945 tw += Math.round(rowdata.f_amount * 1000) / 1000;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4946 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4947 tw = Math.round(tw * 1000) / 1000;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4948 if (to_100) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4949 // Adjust this row and the 100% row.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4950 damount = Math.round(tw * diff * 10) / 1000;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4951 rowdata = $('#fermentableGrid').jqxGrid('getrowdata', fermentableRow);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4952 namount = Round(rowdata.f_amount + damount, 3);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4953 $('#fermentableGrid').jqxGrid('setcellvalue', fermentableRow, 'f_amount', namount);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4954 $('#wf_amount').val(namount);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4955 $('#fermentableGrid').jqxGrid('setcellvalue', fermentableRow, 'f_percentage', rowdata.f_percentage + diff);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4956 for (i = 0; i < rowscount; i++) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4957 rowdata = $('#fermentableGrid').jqxGrid('getrowdata', i);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4958 if (rowdata.f_adjust_to_total_100) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4959 namount = rowdata.f_amount - damount;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4960 $('#fermentableGrid').jqxGrid('setcellvalue', i, 'f_percentage', rowdata.f_percentage - diff);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4961 $('#fermentableGrid').jqxGrid('setcellvalue', i, 'f_amount', namount);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4962 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4963 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4964 calcFermentables();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4965 calcIBUs();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4966 calcMash();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4967 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4968 // Adjust all the rows.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4969 nw = tw * diff / 100;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4970 for (i = 0; i < rowscount; i++) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4971 rowdata = $('#fermentableGrid').jqxGrid('getrowdata', i);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4972 if (rowdata.f_added < 4) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4973 if (i == fermentableRow) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4974 namount = Math.round((rowdata.f_amount + nw) * 1000) / 1000;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4975 $('#fermentableGrid').jqxGrid('setcellvalue', i, 'f_amount', namount);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4976 // $('#wf_amount').val(namount); // Will crash the script.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4977 $('#fermentableGrid').jqxGrid('setcellvalue', i, 'f_percentage', newvalue);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4978 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4979 namount = Math.round((rowdata.f_amount - (nw / (rowscount - 1))) * 1000) / 1000;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4980 newperc = Math.round((namount / tw) * 1000) / 10.0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4981 $('#fermentableGrid').jqxGrid('setcellvalue', i, 'f_amount', namount);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4982 $('#fermentableGrid').jqxGrid('setcellvalue', i, 'f_percentage', newperc);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4983 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4984 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4985 $('#fermentableGrid').jqxGrid('setcellvalue', i, 'f_percentage', 0);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4986 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4987 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4988 calcFermentables();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4989 calcIBUs();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4990 calcMash();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4991 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4992 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4993 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4994 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4995 $('#wf_max_in_batch').jqxNumberInput(Show1dec);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4996 $('#wf_adjust_to_total_100').jqxCheckBox({ theme: theme, width: 120, height: 23 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4997 $('#wf_adjust_to_total_100').on('checked', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4998 if (fermentableData.f_adjust_to_total_100 == 0) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
4999 if (to_100) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5000 // Reset other flag first.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5001 var i, rowscount = $('#fermentableGrid').jqxGrid('getdatainformation').rowscount;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5002 for (i = 0; i < rowscount; i++) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5003 if (i != fermentableRow) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5004 $('#fermentableGrid').jqxGrid('setcellvalue', i, 'f_adjust_to_total_100', 0);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5005 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5006 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5007 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5008 $('#fermentableGrid').jqxGrid('setcellvalue', fermentableRow, 'f_adjust_to_total_100', 1);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5009 calcFermentables();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5010 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5011 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5012 $('#wf_adjust_to_total_100').on('unchecked', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5013 if (fermentableData.f_adjust_to_total_100 != 0) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5014 $('#fermentableGrid').jqxGrid('setcellvalue', fermentableRow, 'f_adjust_to_total_100', 0);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5015 calcFermentables();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5016 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5017 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5018 $('#wf_added').jqxDropDownList({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5019 theme: theme,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5020 source: AddedAdapter,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5021 valueMember: 'id',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5022 displayMember: 'nl',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5023 width: 180,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5024 height: 23,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5025 autoDropDownHeight: true,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5026 dropDownVerticalAlignment: 'top'
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5027 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5028 $('#wf_added').on('select', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5029 if (event.args) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5030 var index = event.args.index;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5031 $('#fermentableGrid').jqxGrid('setcellvalue', fermentableRow, 'f_added', index);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5032 calcFermentables();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5033 calcIBUs();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5034 calcMash();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5035 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5036 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5037
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5038 // Tab 4, Hops
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5039 $('#est_ibu2').jqxTooltip({ content: 'De bitterheid in IBU. Dit wordt automatisch berekend.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5040 $('#est_ibu2').jqxNumberInput(Smal0dec);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5041 $('#hop_flavour').jqxProgressBar({
633
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
5042 width: 300, height: 23, theme: theme, showText: true, animationDuration: 0,
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5043 colorRanges: [
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5044 { stop: 20, color: '#004D00' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5045 { stop: 40, color: '#008C00' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5046 { stop: 60, color: '#00BF00' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5047 { stop: 80, color: '#00FF00' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5048 { stop: 100, color: '#80FF80' }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5049 ],
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5050 renderText: function(text) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5051 var val = parseInt(text);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5052 if (val < 20)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5053 return 'Weinig';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5054 else if (val < 40)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5055 return 'Matig';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5056 else if (val < 60)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5057 return 'Redelijk';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5058 else if (val < 80)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5059 return 'Veel';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5060 else
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5061 return 'Zeer veel';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5062 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5063 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5064 $('#hop_aroma').jqxProgressBar({
633
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
5065 width: 300, height: 23, theme: theme, showText: true, animationDuration: 0,
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5066 colorRanges: [
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5067 { stop: 20, color: '#004D00' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5068 { stop: 40, color: '#008C00' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5069 { stop: 60, color: '#00BF00' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5070 { stop: 80, color: '#00FF00' },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5071 { stop: 100, color: '#80FF80' }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5072 ],
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5073 renderText: function(text) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5074 var val = parseInt(text);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5075 if (val < 20)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5076 return 'Weinig';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5077 else if (val < 40)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5078 return 'Matig';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5079 else if (val < 60)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5080 return 'Redelijk';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5081 else if (val < 80)
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5082 return 'Veel';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5083 else
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5084 return 'Zeer veel';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5085 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5086 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5087 $('#popupHop').jqxWindow({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5088 width: 800,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5089 height: 300,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5090 position: { x: 230, y: 100 },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5091 resizable: false,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5092 theme: theme,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5093 isModal: true,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5094 autoOpen: false,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5095 cancelButton: $('#HopReady'),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5096 modalOpacity: 0.40
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5097 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5098 $('#HopReady').jqxButton({ template: 'success', width: '90px', theme: theme });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5099 $('#HopReady').click(function() {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5100 var row, rowID = $('#hopGrid').jqxGrid('getrowid', hopRow);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5101 row = {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5102 h_name: $('#wh_name').val(),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5103 h_origin: hopData.h_origin,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5104 h_amount: parseFloat($('#wh_amount').jqxNumberInput('decimal')) / 1000,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5105 h_cost: hopData.h_cost,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5106 h_type: hopData.h_type,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5107 h_form: hopData.h_form,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5108 h_useat: $('#wh_useat').val(),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5109 h_time: hopData.h_time,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5110 h_alpha: hopData.h_alpha,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5111 h_beta: hopData.h_beta,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5112 h_hsi: hopData.h_hsi,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5113 h_humulene: hopData.h_humulene,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5114 h_caryophyllene: hopData.h_caryophyllene,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5115 h_cohumulone: hopData.h_cohumulone,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5116 h_myrcene: hopData.h_myrcene,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5117 h_total_oil: hopData.h_total_oil,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5118 h_inventory: hopData.h_inventory,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5119 h_avail: hopData.h_avail
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5120 };
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5121 $('#hopGrid').jqxGrid('updaterow', rowID, row);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5122 calcIBUs();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5123 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5124 $('#wh_name').jqxInput({ theme: theme, width: 320, height: 23 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5125 $('#wh_instock').jqxCheckBox({ theme: theme, height: 23 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5126 $('#wh_instock').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5127 hopinstock = event.args.checked;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5128 hoplist.dataBind();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5129 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5130 $('#wh_select').jqxDropDownList({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5131 placeHolder: 'Kies hop:',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5132 theme: theme,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5133 source: hoplist,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5134 displayMember: 'name',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5135 width: 150,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5136 height: 23,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5137 dropDownWidth: 500,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5138 dropDownHeight: 500,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5139 renderer: function(index, label, value) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5140 var datarecord = hoplist.records[index];
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5141 return datarecord.origin + ' - ' + datarecord.name + ' / ' + HopFormData[datarecord.form].nl + ' (' + datarecord.alpha + ' % &alpha;)';
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5142 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5143 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5144 $('#wh_select').on('select', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5145 if (event.args) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5146 var datarecord, index = event.args.index;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5147 datarecord = hoplist.records[index];
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5148 $('#wh_name').val(datarecord.name);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5149 hopData.h_name = datarecord.name;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5150 hopData.h_origin = datarecord.origin;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5151 hopData.h_cost = datarecord.cost;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5152 hopData.h_type = datarecord.type;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5153 hopData.h_form = datarecord.form;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5154 hopData.h_alpha = datarecord.alpha;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5155 hopData.h_beta = datarecord.beta;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5156 hopData.h_hsi = datarecord.hsi;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5157 hopData.h_humulene = datarecord.humulene;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5158 hopData.h_caryophyllene = datarecord.caryophyllene;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5159 hopData.h_cohumulone = datarecord.cohumulone;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5160 hopData.h_myrcene = datarecord.myrcene;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5161 hopData.h_total_oil = datarecord.total_oil;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5162 hopData.h_inventory = datarecord.inventory;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5163 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5164 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5165 $('#wh_amount').jqxNumberInput(Spin1dec);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5166 $('#wh_amount').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5167 console.log('amount changed: ' + event.args.value + ' time:' + hopData.h_time + ' alpha:' + hopData.h_alpha);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5168 var ibu, amount = parseFloat(event.args.value) / 1000;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5169 ibu = toIBU(hopData.h_useat, hopData.h_form, preboil_sg, parseFloat($('#batch_size').jqxNumberInput('decimal')),
538
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
5170 amount, parseFloat(hopData.h_time), parseFloat(hopData.h_alpha), $('#ibu_method').val(),
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
5171 dataRecord.brew_whirlpool9, dataRecord.brew_whirlpool7, dataRecord.brew_whirlpool6
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5172 );
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5173 hopData.h_amount = amount;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5174 $('#wh_ibu').val(ibu);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5175 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5176 $('#wh_ibu').jqxNumberInput(Show1dec);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5177 $('#wh_time').jqxNumberInput(PosInt);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5178 $('#wh_time').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5179 var ibu, newtime = parseFloat(event.args.value);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5180 // Check limits and correct
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5181 if (hopData.h_useat == 2) { // Boil
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5182 if (newtime > parseFloat($('#boil_time').jqxNumberInput('decimal'))) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5183 newtime = parseFloat($('#boil_time').jqxNumberInput('decimal'));
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5184 $('#wh_time').val(newtime);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5185 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5186 hopData.h_time = newtime;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5187 } else if (hopData.h_useat == 5) { // Dry hop
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5188 if (newtime > 21) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5189 newtime = 21;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5190 $('#wh_time').val(newtime);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5191 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5192 hopData.h_time = newtime * 1440;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5193 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5194 ibu = toIBU(hopData.h_useat, hopData.h_form, preboil_sg, parseFloat($('#batch_size').jqxNumberInput('decimal')),
538
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
5195 parseFloat(hopData.h_amount), parseFloat(hopData.h_time), parseFloat(hopData.h_alpha), $('#ibu_method').val(),
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
5196 dataRecord.brew_whirlpool9, dataRecord.brew_whirlpool7, dataRecord.brew_whirlpool6);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5197 $('#wh_ibu').val(ibu);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5198 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5199 $('#wh_useat').jqxDropDownList({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5200 theme: theme,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5201 source: HopUseAdapter,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5202 valueMember: 'id',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5203 displayMember: 'nl',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5204 width: 180,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5205 height: 23,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5206 autoDropDownHeight: true,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5207 dropDownVerticalAlignment: 'top'
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5208 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5209 $('#wh_useat').on('select', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5210 if (event.args) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5211 var index = event.args.index;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5212 hopData.h_useat = index;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5213 if ((index == 0) || (index == 1)) { // Mashhop or First wort hop
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5214 hopData.h_time = parseFloat(dataRecord.boil_time);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5215 $('#wh_time').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5216 $('#wh_time').val(hopData.h_time);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5217 } else if (index == 3) { // Aroma
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5218 hopData.h_time = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5219 $('#wh_time').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5220 $('#wh_time').val(0);
538
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
5221 } else if (index == 4) { // Whirlpool
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
5222 hopData.h_time = (parseFloat(dataRecord.brew_whirlpool9) + parseFloat(dataRecord.brew_whirlpool7) + parseFloat(dataRecord.brew_whirlpool6));
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
5223 $('#wh_time').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
5224 $('#wh_time').val(hopData.h_time);
41d21817608e Added the IBU contribution for whirlpool hops.
Michiel Broek <mbroek@mbse.eu>
parents: 525
diff changeset
5225 } else { // Boil, Dry hop
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5226 $('#wh_time').jqxNumberInput({ spinButtons: true, readOnly: false, width: 110 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5227 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5228 if (index == 5) // Dry hop
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5229 $('#wh_pmpt_time').html('Tijd in dagen');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5230 else
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5231 $('#wh_pmpt_time').html('Tijd in minuten');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5232 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5233 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5234
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5235 // Tab 5, Miscs
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5236 $('#popupMisc').jqxWindow({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5237 width: 800,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5238 height: 275,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5239 position: { x: 230, y: 100 },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5240 resizable: false,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5241 theme: theme,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5242 isModal: true,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5243 autoOpen: false,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5244 cancelButton: $('#MiscReady'),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5245 modalOpacity: 0.40
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5246 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5247 $('#MiscReady').jqxButton({ template: 'success', width: '90px', theme: theme });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5248 $('#MiscReady').click(function() {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5249 var row, rowID = $('#miscGrid').jqxGrid('getrowid', miscRow);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5250 console.log('MiscReady row:' + miscRow + ' ID:' + rowID);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5251 row = {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5252 m_name: miscData.m_name,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5253 m_amount: miscData.m_amount,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5254 m_cost: miscData.m_cost,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5255 m_type: miscData.m_type,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5256 m_use_use: miscData.m_use_use,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5257 m_time: miscData.m_time,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5258 m_amount_is_weight: miscData.m_amount_is_weight,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5259 m_inventory: miscData.m_inventory,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5260 m_avail: miscData.m_avail
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5261 };
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5262 $('#miscGrid').jqxGrid('updaterow', rowID, row);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5263 calcMiscs();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5264 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5265 $('#wm_name').jqxInput({ theme: theme, width: 320, height: 23 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5266 $('#wm_instock').jqxCheckBox({ theme: theme, height: 23 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5267 $('#wm_instock').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5268 miscinstock = event.args.checked;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5269 misclist.dataBind();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5270 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5271 $('#wm_select').jqxDropDownList({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5272 placeHolder: 'Kies ingredi&euml;nt:',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5273 theme: theme,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5274 source: misclist,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5275 displayMember: 'name',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5276 width: 150,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5277 height: 23,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5278 dropDownWidth: 500,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5279 dropDownHeight: 500
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5280 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5281 $('#wm_select').on('select', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5282 if (event.args) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5283 var datarecord, index = event.args.index;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5284 datarecord = misclist.records[index];
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5285 $('#wm_name').val(datarecord.name);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5286 miscData.m_name = datarecord.name;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5287 miscData.m_cost = datarecord.cost;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5288 miscData.m_type = datarecord.type;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5289 miscData.m_use_use = datarecord.use_use;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5290 miscData.m_amount_is_weight = datarecord.amount_is_weight;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5291 miscData.m_inventory = datarecord.inventory;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5292 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5293 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5294 $('#wm_amount').jqxNumberInput(Spin2dec);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5295 $('#wm_amount').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5296 console.log('amount changed: ' + event.args.value);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5297 miscData.m_amount = parseFloat(event.args.value) / 1000;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5298 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5299 $('#wm_time').jqxNumberInput(PosInt);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5300 $('#wm_time').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5301 var newtime = parseFloat(event.args.value);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5302
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5303 if (miscData.m_use_use == 2) { // Boil
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5304 if (newtime > parseFloat($('#boil_time').jqxNumberInput('decimal'))) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5305 newtime = parseFloat($('#boil_time').jqxNumberInput('decimal'));
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5306 $('#wm_time').val(newtime);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5307 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5308 miscData.m_time = newtime;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5309 } else if ((miscData.m_use_use == 3) || (miscData.m_use_use == 4)) { // Primary or Secondary
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5310 if (newtime > 21) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5311 newtime = 21;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5312 $('#wm_time').val(newtime);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5313 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5314 miscData.m_time = newtime * 1440;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5315 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5316 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5317 $('#wm_use_use').jqxDropDownList({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5318 theme: theme,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5319 source: MiscUseAdapter,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5320 valueMember: 'id',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5321 displayMember: 'nl',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5322 width: 180,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5323 height: 23,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5324 autoDropDownHeight: true,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5325 dropDownVerticalAlignment: 'top'
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5326 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5327 $('#wm_use_use').on('select', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5328 if (event.args) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5329 var index = event.args.index;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5330 miscData.m_use_use = index;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5331 if ((index == 2) || (index == 3) || (index == 4)) { // Boil, Primary or Secondary
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5332 $('#wm_time').jqxNumberInput({ spinButtons: true, readOnly: false, width: 110 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5333 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5334 $('#wm_time').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5335 $('#wm_time').val(0);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5336 miscData.m_time = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5337 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5338 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5339 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5340
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5341 // Tab 6, Yeasts
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5342 $('#est_fg2').jqxTooltip({ content: 'Het verwachte eind SG. Dit wordt automatisch berekend.' });
622
39902353b159 Workaround for hang during startup. Changed order of displayed fields on the yeast tab. Tooltip text changes. More decimals on the checklist for misc ingredients. More decimals for the starter on product print.
Michiel Broek <mbroek@mbse.eu>
parents: 621
diff changeset
5343 $('#est_abv2').jqxTooltip({ content: 'Verwacht alcohol volume %. Dit wordt automatisch berekend.' });
39902353b159 Workaround for hang during startup. Changed order of displayed fields on the yeast tab. Tooltip text changes. More decimals on the checklist for misc ingredients. More decimals for the starter on product print.
Michiel Broek <mbroek@mbse.eu>
parents: 621
diff changeset
5344 $('#yeast_cells').jqxTooltip({ content: 'Het aantal miljard beschikbare gistcellen zonder eventuele starter.' });
39902353b159 Workaround for hang during startup. Changed order of displayed fields on the yeast tab. Tooltip text changes. More decimals on the checklist for misc ingredients. More decimals for the starter on product print.
Michiel Broek <mbroek@mbse.eu>
parents: 621
diff changeset
5345 $('#need_cells').jqxTooltip({ content: 'Het aantal miljard nodige cellen is afhankelijk van het begin SG, biertype en volume.' });
39902353b159 Workaround for hang during startup. Changed order of displayed fields on the yeast tab. Tooltip text changes. More decimals on the checklist for misc ingredients. More decimals for the starter on product print.
Michiel Broek <mbroek@mbse.eu>
parents: 621
diff changeset
5346 $('#plato_cells').jqxTooltip({ content: 'De berekende pitchrate in miljard cellen per ml per graad Plato.' });
617
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
5347 $('#yeast_prod_date').jqxTooltip({ content: 'Bij korrelgisten is meestal "best voor" datum op het zakje gedrukt.<br>Gebruik die datum maar dan twee jaar eerder als productie datum.<br>Bij White Labs is de productie datum vier maanden voor de "Best by" datum die geprint op het buisje.<br>Bij Wyeast is dit de "manufacture date" die op het pak geprint is.<br>Voor schuine buis, slurry, opkweek en gedroogd is dit de datum dat je de gist geoogst hebt.' });
633
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
5348
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
5349 $('#est_fg2,#plato_cells').jqxNumberInput(Show3dec);
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
5350 $('#est_abv2').jqxNumberInput(Show2dec);
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
5351 $('#yeast_cells,#need_cells').jqxNumberInput(Show1dec);
617
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
5352 $('#yeast_prod_date').jqxDateTimeInput(Dateopts);
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
5353 $('#yeast_prod_date').on('close', function(event) {
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
5354 calcViability();
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
5355 calcFermentables();
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
5356 calcYeast();
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
5357 });
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5358 $('#popupYeast').jqxWindow({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5359 width: 800,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5360 height: 300,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5361 position: { x: 230, y: 100 },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5362 resizable: false,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5363 theme: theme,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5364 isModal: true,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5365 autoOpen: false,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5366 cancelButton: $('#YeastReady'),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5367 modalOpacity: 0.40
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5368 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5369 $('#YeastReady').jqxButton({ template: 'success', width: '90px', theme: theme });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5370 $('#YeastReady').click(function() {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5371 var row, rowID = $('#yeastGrid').jqxGrid('getrowid', yeastRow);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5372 console.log('YeastReady row:' + yeastRow + ' ID:' + rowID);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5373 row = {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5374 y_name: yeastData.y_name,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5375 y_laboratory: yeastData.y_laboratory,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5376 y_product_id: yeastData.y_product_id,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5377 y_amount: yeastData.y_amount,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5378 y_cost: yeastData.y_cost,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5379 y_type: yeastData.y_type,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5380 y_form: yeastData.y_form,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5381 y_flocculation: yeastData.y_flocculation,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5382 y_min_temperature: yeastData.y_min_temperature,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5383 y_max_temperature: yeastData.y_max_temperature,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5384 y_attenuation: yeastData.y_attenuation,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5385 y_use: yeastData.y_use,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5386 y_cells: yeastData.y_cells,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5387 y_tolerance: yeastData.y_tolerance,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5388 y_inventory: yeastData.y_inventory,
554
c62ff53cfc3d Added the new Kveik yeast fields to the product editor. Added auto update when a product is loaded. Added extra lines to the checklist about harvest yeast and pitch temperature.
Michiel Broek <mbroek@mbse.eu>
parents: 552
diff changeset
5389 y_sta1: yeastData.y_sta1,
c62ff53cfc3d Added the new Kveik yeast fields to the product editor. Added auto update when a product is loaded. Added extra lines to the checklist about harvest yeast and pitch temperature.
Michiel Broek <mbroek@mbse.eu>
parents: 552
diff changeset
5390 y_bacteria: yeastData.y_bacteria,
c62ff53cfc3d Added the new Kveik yeast fields to the product editor. Added auto update when a product is loaded. Added extra lines to the checklist about harvest yeast and pitch temperature.
Michiel Broek <mbroek@mbse.eu>
parents: 552
diff changeset
5391 y_harvest_top: yeastData.y_harvest_top,
c62ff53cfc3d Added the new Kveik yeast fields to the product editor. Added auto update when a product is loaded. Added extra lines to the checklist about harvest yeast and pitch temperature.
Michiel Broek <mbroek@mbse.eu>
parents: 552
diff changeset
5392 y_harvest_time: yeastData.y_harvest_time,
c62ff53cfc3d Added the new Kveik yeast fields to the product editor. Added auto update when a product is loaded. Added extra lines to the checklist about harvest yeast and pitch temperature.
Michiel Broek <mbroek@mbse.eu>
parents: 552
diff changeset
5393 y_pitch_temperature: yeastData.y_pitch_temperature,
c62ff53cfc3d Added the new Kveik yeast fields to the product editor. Added auto update when a product is loaded. Added extra lines to the checklist about harvest yeast and pitch temperature.
Michiel Broek <mbroek@mbse.eu>
parents: 552
diff changeset
5394 y_pofpos: yeastData.y_pofpos,
c62ff53cfc3d Added the new Kveik yeast fields to the product editor. Added auto update when a product is loaded. Added extra lines to the checklist about harvest yeast and pitch temperature.
Michiel Broek <mbroek@mbse.eu>
parents: 552
diff changeset
5395 y_zymocide: yeastData.y_zymocide,
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5396 y_avail: yeastData.y_avail
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5397 };
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5398 $('#yeastGrid').jqxGrid('updaterow', rowID, row);
617
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
5399 calcViability();
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5400 calcFermentables();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5401 calcYeast();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5402 });
610
38b22ccb2bf8 Combined a lot of selectors
Michiel Broek <mbroek@mbse.eu>
parents: 609
diff changeset
5403 $('#wy_name,#wy_laboratory,#wy_product_id').jqxInput({ theme: theme, width: 320, height: 23 });
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5404 $('#wy_instock').jqxCheckBox({ theme: theme, height: 23 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5405 $('#wy_instock').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5406 yeastinstock = event.args.checked;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5407 yeastlist.dataBind();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5408 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5409 $('#wy_select').jqxDropDownList({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5410 placeHolder: 'Kies gist:',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5411 theme: theme,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5412 source: yeastlist,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5413 displayMember: 'name',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5414 width: 150,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5415 height: 23,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5416 dropDownWidth: 500,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5417 dropDownHeight: 500,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5418 renderer: function(index, label, value) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5419 var datarecord = yeastlist.records[index];
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5420 return datarecord.laboratory + ' ' + datarecord.product_id + ' ' + datarecord.name;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5421 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5422 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5423 $('#wy_select').on('select', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5424 if (event.args) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5425 var datarecord, index = event.args.index;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5426 datarecord = yeastlist.records[index];
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5427 $('#wy_name').val(datarecord.name);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5428 $('#wy_laboratory').val(datarecord.laboratory);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5429 $('#wy_product_id').val(datarecord.product_id);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5430 yeastData.y_name = datarecord.name;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5431 yeastData.y_cost = datarecord.cost;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5432 yeastData.y_type = datarecord.type;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5433 yeastData.y_form = datarecord.form;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5434 yeastData.y_laboratory = datarecord.laboratory;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5435 yeastData.y_product_id = datarecord.product_id;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5436 yeastData.y_min_temperature = datarecord.min_temperature;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5437 yeastData.y_max_temperature = datarecord.max_temperature;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5438 yeastData.y_flocculation = datarecord.flocculation;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5439 yeastData.y_attenuation = datarecord.attenuation;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5440 yeastData.y_cells = datarecord.cells;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5441 yeastData.y_inventory = datarecord.inventory;
554
c62ff53cfc3d Added the new Kveik yeast fields to the product editor. Added auto update when a product is loaded. Added extra lines to the checklist about harvest yeast and pitch temperature.
Michiel Broek <mbroek@mbse.eu>
parents: 552
diff changeset
5442 yeastData.y_sta1 = datarecord.sta1;
561
dc618b8a9552 Refracto calculation for FG is now a global function using the New Cubic method. Fixed to typos in the prod_edit en rec_edit yeastData varialbles.
Michiel Broek <mbroek@mbse.eu>
parents: 560
diff changeset
5443 yeastData.y_bacteria = datarecord.bacteria;
554
c62ff53cfc3d Added the new Kveik yeast fields to the product editor. Added auto update when a product is loaded. Added extra lines to the checklist about harvest yeast and pitch temperature.
Michiel Broek <mbroek@mbse.eu>
parents: 552
diff changeset
5444 yeastData.y_harvest_top = datarecord.harvest_top;
c62ff53cfc3d Added the new Kveik yeast fields to the product editor. Added auto update when a product is loaded. Added extra lines to the checklist about harvest yeast and pitch temperature.
Michiel Broek <mbroek@mbse.eu>
parents: 552
diff changeset
5445 yeastData.y_harvest_time = datarecord.harvest_time;
c62ff53cfc3d Added the new Kveik yeast fields to the product editor. Added auto update when a product is loaded. Added extra lines to the checklist about harvest yeast and pitch temperature.
Michiel Broek <mbroek@mbse.eu>
parents: 552
diff changeset
5446 yeastData.y_pitch_temperature = datarecord.pitch_temperature;
c62ff53cfc3d Added the new Kveik yeast fields to the product editor. Added auto update when a product is loaded. Added extra lines to the checklist about harvest yeast and pitch temperature.
Michiel Broek <mbroek@mbse.eu>
parents: 552
diff changeset
5447 yeastData.y_pofpos = datarecord.pofpos;
c62ff53cfc3d Added the new Kveik yeast fields to the product editor. Added auto update when a product is loaded. Added extra lines to the checklist about harvest yeast and pitch temperature.
Michiel Broek <mbroek@mbse.eu>
parents: 552
diff changeset
5448 yeastData.y_zymocide = datarecord.zymocide;
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5449 if (yeastData.y_form == 0) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5450 $('#wy_pmpt_amount').html('Pak(ken):');
515
9d771385a8a0 Added dried yeast form. Pitch rate for Kveik initially set at 0.25. Dried Kveik cells set to 9000000000 cells/gram.
Michiel Broek <mbroek@mbse.eu>
parents: 500
diff changeset
5451 } else if (yeastData.y_form == 1 || yeastData.y_form == 6) {
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5452 $('#wy_pmpt_amount').html('Gewicht gram:');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5453 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5454 $('#wy_pmpt_amount').html('Volume ml:');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5455 }
617
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
5456 calcViability();
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5457 calcFermentables();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5458 calcYeast();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5459 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5460 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5461 $('#wy_amount').jqxNumberInput(Spin1dec);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5462 $('#wy_amount').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5463 var amount = parseFloat(event.args.value);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5464 if (yeastData.y_form != 0) // not Liquid
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5465 amount = parseFloat(event.args.value) / 1000;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5466 yeastData.y_amount = amount;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5467 calcFermentables();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5468 calcYeast();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5469 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5470 $('#wy_use').jqxDropDownList({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5471 theme: theme,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5472 source: YeastUseAdapter,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5473 valueMember: 'id',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5474 displayMember: 'nl',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5475 width: 180,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5476 height: 23,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5477 autoDropDownHeight: true,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5478 dropDownVerticalAlignment: 'top'
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5479 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5480 $('#wy_use').on('select', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5481 if (event.args) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5482 var index = event.args.index;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5483 yeastData.y_use = index;
617
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
5484 calcViability();
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5485 calcFermentables();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5486 calcYeast();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5487 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5488 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5489 for (i = 1; i < 5; i++) {
633
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
5490 $('#prop' + i + '_volume').jqxTooltip({ content: 'Het volume van deze starter stap.' });
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
5491 $('#prop' + i + '_irate').jqxTooltip({ content: 'Voor de beste gistgroei, houd de injectie factor tussen de 25 en 100 miljoen cellen per ml.' });
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
5492 $('#prop' + i + '_ncells').jqxTooltip({ content: 'Het aantal miljard nieuwe gistcellen in deze stap.' });
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
5493 $('#prop' + i + '_tcells').jqxTooltip({ content: 'Het totaal aantal miljard gistcellen na deze stap.' });
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
5494 $('#prop' + i + '_growf').jqxTooltip({ content: 'De groeifactor, minstens 1. Ongeroerde starters komen meestal niet boven de 3.' });
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
5495
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5496 $('#prop' + i + '_type').jqxDropDownList({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5497 theme: theme,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5498 source: StarterTypeAdapter,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5499 valueMember: 'id',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5500 displayMember: 'nl',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5501 width: 120,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5502 height: 23,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5503 autoDropDownHeight: true
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5504 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5505 $('#prop' + i + '_volume').jqxNumberInput(Spin3dec);
610
38b22ccb2bf8 Combined a lot of selectors
Michiel Broek <mbroek@mbse.eu>
parents: 609
diff changeset
5506 $('#prop' + i + '_irate,#prop' + i + '_ncells,#prop' + i + '_tcells').jqxNumberInput(Show1dec);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5507 $('#prop' + i + '_growf').jqxNumberInput(Show2dec);
633
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
5508 $('#prop' + i + '_type,#prop' + i + '_volume,#prop' + i + '_irate,#prop' + i + '_ncells,#prop' + i + '_tcells,#prop' + i + '_growf').hide();
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5509 }
619
4938909df593 Fixed starter production date tooltip. Upgraded jqwidgets from version 8.1.4 to 9.0.0
Michiel Broek <mbroek@mbse.eu>
parents: 618
diff changeset
5510 $('#starter_type').jqxTooltip({ content: 'starter_type' });
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5511 $('#starter_type').jqxDropDownList({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5512 theme: theme,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5513 source: StarterTypeAdapter,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5514 valueMember: 'id',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5515 displayMember: 'nl',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5516 width: 120,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5517 height: 23,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5518 autoDropDownHeight: true
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5519 });
518
00e110567fee The default starter SG changed to 1.037. Added several tooltips on the yeast tab.
Michiel Broek <mbroek@mbse.eu>
parents: 515
diff changeset
5520 $('#starter_sg').jqxTooltip({ content: 'Het ideale starter SG moet tussen de 1.030 en 1.040 zijn. Optimaal is 1.037.' });
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5521 $('#starter_sg').jqxNumberInput(SGopts);
617
f962f1e5936e Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
Michiel Broek <mbroek@mbse.eu>
parents: 616
diff changeset
5522 $('#starter_viability').jqxTooltip({ content: 'De gist conditie.' });
622
39902353b159 Workaround for hang during startup. Changed order of displayed fields on the yeast tab. Tooltip text changes. More decimals on the checklist for misc ingredients. More decimals for the starter on product print.
Michiel Broek <mbroek@mbse.eu>
parents: 621
diff changeset
5523 $('#starter_viability').jqxNumberInput(Show0dec);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5524 $('#starter_try').jqxButton({ template: 'primary', width: '100px', height: 23, theme: theme });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5525
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5526 // Tab 7, Mashing
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5527 $('#mash_name').jqxTooltip({ content: 'De omschrijving van dit maisch profiel.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5528 $('#mash_name').jqxInput({ theme: theme, width: 320, height: 23 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5529 $('#mash_select').jqxDropDownList({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5530 placeHolder: 'Kies schema:',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5531 theme: theme,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5532 source: mashlist,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5533 displayMember: 'name',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5534 width: 250,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5535 height: 23,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5536 dropDownWidth: 500,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5537 dropDownHeight: 500,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5538 dropDownHorizontalAlignment: 'right'
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5539 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5540 $('#mash_select').on('select', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5541 if (event.args) {
667
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5542 var infused = 0, data, datarecord, rowIDs, rows, i, row, index = event.args.index;
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5543 // First delete all current steps
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5544 rowIDs = new Array();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5545 rows = $('#mashGrid').jqxGrid('getdisplayrows');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5546 for (i = 0; i < rows.length; i++) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5547 row = rows[i];
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5548 rowIDs.push(row.uid);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5549 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5550 $('#mashGrid').jqxGrid('deleterow', rowIDs);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5551 // Then add the new steps
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5552 datarecord = mashlist.records[index];
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5553 $('#mash_name').val(datarecord.name);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5554 for (i = 0; i < datarecord.steps.length; i++) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5555 data = datarecord.steps[i];
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5556 row = {};
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5557 row['step_name'] = data.step_name;
667
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5558 row['step_type'] = parseInt(data.step_type);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5559 row['step_temp'] = parseFloat(data.step_temp);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5560 row['end_temp'] = parseFloat(data.end_temp);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5561 row['step_time'] = parseFloat(data.step_time);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5562 row['ramp_time'] = parseFloat(data.ramp_time);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5563 row['step_infuse_temp'] = 0.0;
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5564 row['step_infuse_amount'] = 0.0;
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5565 if (mash_infuse == 0 && dataRecord.wg_amount > 0)
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5566 mash_infuse = dataRecord.wg_amount;
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5567 if (data.step_type == 0) { // Infusion
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5568 if (i == 0) {
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5569 row['step_infuse_amount'] = parseFloat(mash_infuse);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5570 } else {
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5571 row['step_infuse_temp'] = 99.0;
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5572 }
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5573 }
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5574 //console.log(i + ' type: ' + row['step_type'] + ' start infusion: ' + parseFloat(row['step_infuse_amount']) + ' mash_infuse: ' + mash_infuse);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5575 infused += parseFloat(row['step_infuse_amount']);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5576 row['step_volume'] = infused;
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5577 if (mashkg > 0)
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5578 row['step_wg_ratio'] = Round(parseFloat(mash_infuse / mashkg), 2);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5579 else
667
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5580 row['step_wg_ratio'] = 0;
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5581 $('#mashGrid').jqxGrid('addrow', null, row);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5582 }
490
6c9ad1317f0a Recalculate mash after changing mash parameters.
Michiel Broek <mbroek@mbse.eu>
parents: 489
diff changeset
5583 calcMash();
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5584 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5585 });
484
2083c274b283 In the product editor mash tab, display the total mash volume and the total mash time.
Michiel Broek <mbroek@mbse.eu>
parents: 479
diff changeset
5586 $('#est_mashvol').jqxTooltip({ content: 'Het totale volume van het maishwater en de mout in de maish pan.' });
2083c274b283 In the product editor mash tab, display the total mash volume and the total mash time.
Michiel Broek <mbroek@mbse.eu>
parents: 479
diff changeset
5587 $('#est_mashvol').jqxNumberInput(Show1dec);
2083c274b283 In the product editor mash tab, display the total mash volume and the total mash time.
Michiel Broek <mbroek@mbse.eu>
parents: 479
diff changeset
5588 $('#est_mashtime').jqxTooltip({ content: 'De totale tijdsduur van het maischen.' });
2083c274b283 In the product editor mash tab, display the total mash volume and the total mash time.
Michiel Broek <mbroek@mbse.eu>
parents: 479
diff changeset
5589 $('#est_mashtime').jqxInput({ theme: theme, width: 70, height: 23 });
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5590 $('#popupMash').jqxWindow({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5591 width: 800,
667
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5592 height: 375,
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5593 position: { x: 230, y: 100 },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5594 resizable: false,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5595 theme: theme,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5596 isModal: true,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5597 autoOpen: false,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5598 cancelButton: $('#MashReady'),
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5599 modalOpacity: 0.40
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5600 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5601 $('#MashReady').jqxButton({ template: 'success', width: '90px', theme: theme });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5602 $('#MashReady').click(function() {
667
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5603 calcFermentables();
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5604 calcWater();
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5605 calcSparge();
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5606 calcMash();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5607 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5608 $('#wstep_name').jqxInput({ theme: theme, width: 320, height: 23 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5609 $('#wstep_name').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5610 var rowdata = $('#mashGrid').jqxGrid('getrowdata', mashRow);
667
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5611 rowdata.step_name = $('#wstep_name').val();
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5612 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5613 $('#wstep_type').jqxDropDownList({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5614 theme: theme,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5615 source: MashStepTypeAdapter,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5616 valueMember: 'id',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5617 displayMember: 'nl',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5618 width: 180,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5619 height: 23,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5620 autoDropDownHeight: true
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5621 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5622 $('#wstep_type').on('select', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5623 if (event.args) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5624 var rowdata, i, rows, row, index = event.args.index;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5625 rowdata = $('#mashGrid').jqxGrid('getrowdata', mashRow);
667
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5626 if (rowdata.step_type != index) {
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5627 rowdata.step_type = index;
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5628 $('#wstep_infuse_amount').hide();
667
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5629 $('#wstep_infuse_temp').hide();
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5630 $('#wstep_pmpt_amount').hide();
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5631 $('#wstep_pmpt_temp').hide();
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5632 if (index == 0) { // Infusion
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5633 if (mashRow == 0) {
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5634 $('#wstep_infuse_amount').show();
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5635 $('#wstep_pmpt_amount').show();
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5636 } else {
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5637 $('#wstep_infuse_temp').show();
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5638 $('#wstep_pmpt_temp').show();
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5639 }
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5640 }
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5641 if (index == 1) { // Temperature
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5642 if (mashRow > 0)
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5643 rowdata.step_infuse_amount = 0;
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5644 rowdata.step_infuse_temp = 0;
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5645 }
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5646 if (index == 2) { // Decoction
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5647 var rowprev = $('#mashGrid').jqxGrid('getrowdata', mashRow-1);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5648 rowdata.step_infuse_temp = 99;
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5649 rowdata.step_infuse_amount = decoctionVol(rowdata.step_volume, rowdata.step_temp, rowprev.end_temp);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5650 console.log('decoction: ' + rowdata.step_infuse_amount + '/' + rowdata.step_infuse_temp);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5651 }
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5652 $('#mashGrid').jqxGrid('updaterow', mashRow, rowdata);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5653 mash_infuse = 0;
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5654 rows = $('#mashGrid').jqxGrid('getrows');
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5655 for (i = 0; i < rows.length; i++) {
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5656 row = rows[i];
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5657 if (row.step_type == 0) // Infusion
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5658 mash_infuse += parseFloat(row.step_infuse_amount);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5659 }
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5660 calcMash();
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5661 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5662 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5663 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5664 $('#wstep_temp').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5665 var rowdata = $('#mashGrid').jqxGrid('getrowdata', mashRow);
667
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5666 if (rowdata.step_type == 2) { // Decoction
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5667 var rowprev = $('#mashGrid').jqxGrid('getrowdata', mashRow-1);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5668 var a = (dataRecord.eq_tun_weight * dataRecord.eq_tun_specific_heat + rowdata.step_volume * SpecificHeatWater) *
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5669 (parseFloat(event.args.value) - rowprev.end_temp);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5670 var b = SpecificHeatWater * (99 - parseFloat(event.args.value));
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5671 if (b > 0) {
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5672 rowdata.step_temp = parseFloat(event.args.value);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5673 rowdata.step_infuse_amount = Round(a / b, 2);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5674 } else
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5675 rowdata.step_infuse_amount = 0;
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5676 console.log('change temp ' + rowdata.step_temp + ' decoction: ' + rowdata.step_infuse_amount + '/' + rowdata.step_infuse_temp);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5677 } else {
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5678 rowdata.step_temp = parseFloat(event.args.value);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5679 }
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5680 });
667
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5681 $('#wstep_temp,#wend_temp,#wstep_infuse_amount,#wstep_infuse_temp').jqxNumberInput(Spin1dec);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5682 $('#wend_temp').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5683 var rowdata = $('#mashGrid').jqxGrid('getrowdata', mashRow);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5684 rowdata.end_temp = parseFloat(event.args.value);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5685 });
610
38b22ccb2bf8 Combined a lot of selectors
Michiel Broek <mbroek@mbse.eu>
parents: 609
diff changeset
5686 $('#wstep_time,#wramp_time').jqxNumberInput(PosInt);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5687 $('#wstep_time').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5688 var rowdata = $('#mashGrid').jqxGrid('getrowdata', mashRow);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5689 rowdata.step_time = parseFloat(event.args.value);
490
6c9ad1317f0a Recalculate mash after changing mash parameters.
Michiel Broek <mbroek@mbse.eu>
parents: 489
diff changeset
5690 calcMash();
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5691 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5692 $('#wramp_time').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5693 var rowdata = $('#mashGrid').jqxGrid('getrowdata', mashRow);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5694 rowdata.ramp_time = parseFloat(event.args.value);
490
6c9ad1317f0a Recalculate mash after changing mash parameters.
Michiel Broek <mbroek@mbse.eu>
parents: 489
diff changeset
5695 calcMash();
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5696 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5697 $('#wstep_infuse_amount').on('change', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5698 var row, i, rows, rowdata = $('#mashGrid').jqxGrid('getrowdata', mashRow);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5699 rowdata.step_infuse_amount = parseFloat(event.args.value);
667
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5700 if (mashRow == 0) {
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5701 rowdata.step_infuse_amount = parseFloat(event.args.value);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5702 mash_infuse = 0;
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5703 rows = $('#mashGrid').jqxGrid('getrows');
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5704 for (i = 0; i < rows.length; i++) {
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5705 row = rows[i];
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5706 if (row.step_type == 0) // Infusion
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5707 mash_infuse += parseFloat(row.step_infuse_amount);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5708 }
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5709 if (dataRecord.w2_amount == 0) {
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5710 dataRecord.w1_amount = mash_infuse;
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5711 $('#w1_amount').val(mash_infuse);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5712 } else {
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5713 var w1_amount = (dataRecord.w1_amount / (dataRecord.w1_amount + dataRecord.w2_amount)) * mash_infuse;
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5714 var w2_amount = (dataRecord.w2_amount / (dataRecord.w1_amount + dataRecord.w2_amount)) * mash_infuse;
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5715 dataRecord.w1_amount = Round(w1_amount, 3);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5716 dataRecord.w2_amount = Round(w2_amount, 3);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5717 $('#w1_amount').val(dataRecord.w1_amount);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5718 $('#w2_amount').val(dataRecord.w2_amount);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5719 }
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5720 $('#wg_amount').val(mash_infuse);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5721 console.log('new infuse amount: ' + mash_infuse);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5722 calcWater();
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5723 // calcMash();
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5724 }
667
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5725 });
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5726 $('#wstep_infuse_temp').on('change', function(event) {
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5727 var prevdata = $('#mashGrid').jqxGrid('getrowdata', mashRow-1);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5728 var rowdata = $('#mashGrid').jqxGrid('getrowdata', mashRow);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5729 rowdata.step_infuse_temp = parseFloat(event.args.value);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5730 var vol = infusionVol(prevdata.step_volume, mashkg, rowdata.step_infuse_temp, rowdata.step_temp, prevdata.end_temp);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5731 console.log('new vol: ' + vol);
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5732 rowdata.step_infuse_amount = vol;
1246550451ca Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.
Michiel Broek <mbroek@mbse.eu>
parents: 662
diff changeset
5733 $('#wstep_infuse_amount').val(vol);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5734 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5735
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5736 // Tab 8, Water
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5737 $('#tgt_bu').jqxNumberInput(Show2wat);
610
38b22ccb2bf8 Combined a lot of selectors
Michiel Broek <mbroek@mbse.eu>
parents: 609
diff changeset
5738 $('#tgt_so4_cl,#got_so4_cl').jqxNumberInput(Show1wat);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5739
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5740 // Water source 1
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5741 $('#w1_name').jqxDropDownList({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5742 placeHolder: 'Kies hoofd water:',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5743 theme: theme,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5744 source: waterlist,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5745 displayMember: 'name',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5746 width: 250,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5747 height: 27,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5748 dropDownWidth: 400,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5749 dropDownHeight: 400
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5750 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5751 $('#w1_name').on('select', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5752 if (event.args) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5753 var datarecord, index = event.args.index;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5754 datarecord = waterlist.records[index];
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5755 dataRecord.w1_name = datarecord.name;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5756 $('#w1_calcium').val(datarecord.calcium);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5757 dataRecord.w1_calcium = datarecord.calcium;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5758 $('#w1_sulfate').val(datarecord.sulfate);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5759 dataRecord.w1_sulfate = datarecord.sulfate;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5760 $('#w1_chloride').val(datarecord.chloride);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5761 dataRecord.w1_chloride = datarecord.chloride;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5762 $('#w1_sodium').val(datarecord.sodium);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5763 dataRecord.w1_sodium = datarecord.sodium;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5764 $('#w1_magnesium').val(datarecord.magnesium);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5765 dataRecord.w1_magnesium = datarecord.magnesium;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5766 $('#w1_total_alkalinity').val(datarecord.total_alkalinity);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5767 dataRecord.w1_total_alkalinity = datarecord.total_alkalinity;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5768 $('#w1_ph').val(datarecord.ph);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5769 dataRecord.w1_ph = datarecord.ph;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5770 $('#w1_cost').val(datarecord.cost);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5771 dataRecord.w1_cost = datarecord.cost;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5772 calcWater();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5773 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5774 });
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
5775 $('#w1_amount,#w1_calcium,#w1_magnesium,#w1_sodium,#w1_total_alkalinity,#w1_chloride,#w1_sulfate').jqxNumberInput(Show1wat);
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
5776 $('#w1_ph').jqxNumberInput(Show2wat);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5777 // Water source 2
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5778 $('#w2_name').jqxDropDownList({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5779 placeHolder: 'Kies meng water:',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5780 theme: theme,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5781 source: waterlist,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5782 displayMember: 'name',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5783 width: 250,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5784 height: 27,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5785 dropDownWidth: 400,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5786 dropDownHeight: 400
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5787 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5788 $('#w2_name').on('select', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5789 if (event.args) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5790 var datarecord, index = event.args.index;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5791 datarecord = waterlist.records[index];
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5792 dataRecord.w2_name = datarecord.name;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5793 $('#w2_calcium').val(datarecord.calcium);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5794 dataRecord.w2_calcium = datarecord.calcium;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5795 $('#w2_sulfate').val(datarecord.sulfate);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5796 dataRecord.w2_sulfate = datarecord.sulfate;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5797 $('#w2_chloride').val(datarecord.chloride);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5798 dataRecord.w2_chloride = datarecord.chloride;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5799 $('#w2_sodium').val(datarecord.sodium);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5800 dataRecord.w2_sodium = datarecord.sodium;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5801 $('#w2_magnesium').val(datarecord.magnesium);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5802 dataRecord.w2_magnesium = datarecord.magnesium;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5803 $('#w2_total_alkalinity').val(datarecord.total_alkalinity);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5804 dataRecord.w2_total_alkalinity = datarecord.total_alkalinity;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5805 $('#w2_ph').val(datarecord.ph);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5806 dataRecord.w2_ph = datarecord.ph;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5807 $('#w2_cost').val(datarecord.cost);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5808 dataRecord.w2_cost = datarecord.cost;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5809 $('#w2_amount').jqxNumberInput({ max: 100000, readOnly: false }); // Set high max to enable the spinbuttons.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5810 calcWater();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5811 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5812 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5813 $('#w2_amount').jqxTooltip({ content: 'De verdeling van het hoofd en meng water. Het totale maisch water volume blijft gelijk.'});
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5814 $('#w2_amount').jqxNumberInput({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5815 inputMode: 'simple', spinMode: 'simple', theme: theme, width: 94, height: 23, min: 0, max: 0, decimalDigits: 1,
612
576128de01e3 Fixed mash infuse amount division
Michiel Broek <mbroek@mbse.eu>
parents: 610
diff changeset
5816 spinButtons: true, spinButtonsStep: 0.1, readOnly: true
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5817 });
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
5818 $('#w2_calcium,#w2_magnesium,#w2_sodium,#w2_total_alkalinity,#w2_chloride,#w2_sulfate').jqxNumberInput(Show1wat);
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
5819 $('#w2_ph').jqxNumberInput(Show2wat);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5820 // Water mixed
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
5821 $('#wg_amount,#wg_calcium,#wg_magnesium,#wg_sodium,#wg_total_alkalinity,#wg_chloride,#wg_sulfate').jqxNumberInput(Show1wat);
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
5822 $('#wg_ph').jqxNumberInput(Show2wat);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5823 // Water treated
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5824 $('#wb_calcium').jqxTooltip({ content: 'De ideale hoeveelheid Calcium is tussen 40 en 150.'});
607
0efba09a694c Added low limit for magnesium of 10 ppm
Michiel Broek <mbroek@mbse.eu>
parents: 602
diff changeset
5825 $('#wb_magnesium').jqxTooltip({ content: 'De ideale hoeveelheid Magnesium is tusse 10 en 30.'});
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5826 $('#wb_sodium').jqxTooltip({ content: 'De ideale hoeveelheid Natrium is lager dan 150.'});
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5827 $('#wb_chloride').jqxTooltip({ content: 'De ideale hoeveelheid Chloride is tussen 50 en 100.'});
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5828 $('#wb_sulfate').jqxTooltip({ content: 'De ideale hoeveelheid Sulfaat is tussen 50 en 350.'});
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
5829 $('#wb_calcium,#wb_magnesium,#wb_sodium,#wb_total_alkalinity,#wb_chloride,#wb_sulfate').jqxNumberInput(Show1wat);
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
5830 $('#wb_ph').jqxNumberInput(Show2wat);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5831 // Water target profile
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5832 $('#pr_name').jqxDropDownList({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5833 placeHolder: 'Kies doel profiel:',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5834 theme: theme,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5835 source: waterprofiles,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5836 displayMember: 'name',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5837 width: 250,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5838 height: 27,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5839 dropDownWidth: 400,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5840 dropDownHeight: 300
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5841 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5842 $('#pr_name').on('select', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5843 if (event.args) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5844 var datarecord, index = event.args.index;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5845 datarecord = waterprofiles.records[index];
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5846 $('#pr_calcium').val(datarecord.calcium);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5847 $('#pr_sulfate').val(datarecord.sulfate);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5848 $('#pr_chloride').val(datarecord.chloride);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5849 $('#pr_sodium').val(datarecord.sodium);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5850 $('#pr_magnesium').val(datarecord.magnesium);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5851 $('#pr_total_alkalinity').val(datarecord.total_alkalinity);
552
ee0db754111e In calcWater() the optimum SO4:Cl ratio is taken from the target profile if set, else it's calculated from the BUGU value. Swapped Cl:SO4 to SO4:Cl ratio presentation. Added remark text next to the Optimal SO4:Cl ratio.
Michiel Broek <mbroek@mbse.eu>
parents: 545
diff changeset
5852 calcWater();
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5853 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5854 });
610
38b22ccb2bf8 Combined a lot of selectors
Michiel Broek <mbroek@mbse.eu>
parents: 609
diff changeset
5855 $('#pr_calcium,#pr_magnesium,#pr_sodium,#pr_total_alkalinity,#pr_chloride,#pr_sulfate').jqxNumberInput(Show1wat);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5856
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5857 // Water agents
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5858 $('#wa_cacl2').jqxTooltip({ content: 'Voor het maken van een ander waterprofiel. Voegt calcium en chloride toe. Voor het verbeteren van zoetere bieren.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5859 $('#wa_caso4').jqxTooltip({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5860 content: 'Gips. Voor het maken van een ander waterprofiel. Voegt calcium en sulfaat toe. Voor het verbeteren van bittere bieren.'
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5861 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5862 $('#wa_mgso4').jqxTooltip({ content: 'Epsom zout. Voor het maken van een ander waterprofiel. Voegt magnesium en sulfaat toe. Gebruik spaarzaam!' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5863 $('#wa_nacl').jqxTooltip({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5864 content: 'Keukenzout. Voor het maken van een ander waterprofiel. Voegt natrium en chloride toe. ' +
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5865 'Voor het accentueren van zoetheid. Bij hoge dosering wordt het bier ziltig.'
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5866 });
610
38b22ccb2bf8 Combined a lot of selectors
Michiel Broek <mbroek@mbse.eu>
parents: 609
diff changeset
5867 $('#wa_cacl2,#wa_caso4,#wa_mgso4,#wa_nacl').jqxNumberInput(Spin1dec);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5868 $('#mash_ph').jqxTooltip({ content: 'Maisch pH tussen 5.2 en 5.6. Gebruik 5.2 voor lichte en 5.5 voor donkere bieren.'});
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5869 $('#mash_ph').jqxNumberInput(SpinpH);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5870 $('#calc_acid').jqxCheckBox({ theme: theme, width: 120, height: 23 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5871 $('#wa_base_name').jqxDropDownList({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5872 theme: theme,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5873 source: BaseTypeAdapter,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5874 valueMember: 'id',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5875 displayMember: 'nl',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5876 width: 170,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5877 height: 23,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5878 autoDropDownHeight: true
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5879 });
633
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
5880 $('#wa_base,#wa_acid').jqxNumberInput(Spin2dec);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5881 $('#wa_base').jqxNumberInput({ symbol: ' gr', symbolPosition: 'right' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5882 $('#wa_acid_name').jqxDropDownList({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5883 theme: theme,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5884 source: AcidTypeAdapter,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5885 valueMember: 'id',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5886 displayMember: 'nl',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5887 width: 170,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5888 height: 23,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5889 autoDropDownHeight: true
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5890 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5891 $('#wa_acid').jqxNumberInput({ symbol: ' ml', symbolPosition: 'right' });
633
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
5892 $('#wa_acid_perc,#sparge_acid_perc').jqxNumberInput(Perc0);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5893 $('#wa_acid_perc').jqxNumberInput({ width: 70, symbol: '%', symbolPosition: 'right' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5894 // Sparge water
610
38b22ccb2bf8 Combined a lot of selectors
Michiel Broek <mbroek@mbse.eu>
parents: 609
diff changeset
5895 $('#sparge_temp,#sparge_volume').jqxNumberInput(Spin1dec);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5896 $('#sparge_ph').jqxNumberInput(SpinpH);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5897 $('#sparge_source').jqxDropDownList({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5898 theme: theme,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5899 source: SpargeSourceAdapter,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5900 valueMember: 'id',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5901 displayMember: 'nl',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5902 width: 110,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5903 height: 23,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5904 autoDropDownHeight: true
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5905 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5906 $('#sparge_acid_amount').jqxNumberInput(Spin2dec);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5907 $('#sparge_acid_amount').jqxNumberInput({ spinButtons: false, readOnly: true, symbol: ' ml', symbolPosition: 'right' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5908 $('#sparge_acid_type').jqxDropDownList({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5909 theme: theme,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5910 source: AcidTypeAdapter,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5911 valueMember: 'id',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5912 displayMember: 'nl',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5913 width: 110,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5914 height: 23,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5915 autoDropDownHeight: true
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5916 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5917 $('#sparge_acid_perc').jqxNumberInput({ symbol: '%', symbolPosition: 'right' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5918
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5919 // Tab 9, Brewday
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5920 $('#brew_date_start').jqxTooltip({ content: 'Brouw datum en tijd. Voor planning laat de tijd op 00:00:00 staan.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5921 $('#brew_date_end').jqxTooltip({ content: 'End datum en tijd van de brouw. Leeg laten als er nog niet gebrouwen is.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5922 $('#brew_mash_ph').jqxTooltip({ content: 'De gemeten pH tijdens het maischen eventueel na correctie.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5923 $('#est_mash_ph').jqxTooltip({ content: 'De gewenste pH tijdens het maischen.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5924 $('#brew_preboil_ph').jqxTooltip({ content: 'De gemeten pH in de kookketel na het spoelen en voor de kook.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5925 $('#brew_aboil_ph').jqxTooltip({ content: 'De gemeten pH na het koken.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5926 $('#brew_mash_sg').jqxTooltip({ content: 'Het bereikte SG na het maischen.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5927 $('#est_mash_sg').jqxTooltip({ content: 'Het berekende verwachte SG na het maischen.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5928 $('#brew_preboil_sg').jqxTooltip({ content: 'Het gemeten SG in de kookketel na het spoelen en voor het koken.' });
633
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
5929 $('#est_pre_sg').jqxTooltip({ content: 'Het berekende SG in de kookketel na het spoelen en voor het koken.' });
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
5930 $('#brew_aboil_sg').jqxTooltip({ content: 'Het gemeten SG in de kookketel na het koken.' });
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
5931 $('#est_og3').jqxTooltip({ content: 'Het gewenste SG in de kookketel na het koken zonder eventuele suikers die tijdens de vergisting toegevoegd worden.' });
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
5932 $('#brew_mash_efficiency').jqxTooltip({ content: 'Het behaalde maisch rendement.' });
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
5933 $('#brew_preboil_volume').jqxTooltip({ content: 'Het gemeten volume van het wort voor het koken.' });
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
5934 $('#est_pre_vol').jqxTooltip({ content: 'Het berekende volume van het wort voor het koken.' });
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
5935 $('#brew_aboil_volume').jqxTooltip({ content: 'Het gemeten volume van het wort na het koken.' });
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
5936 $('#est_a_vol').jqxTooltip({ content: 'Het gewenste volume na het koken.' });
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
5937 $('#brew_preboil_efficiency').jqxTooltip({ content: 'Het berekende rendement voor het koken.' });
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
5938 $('#brew_aboil_efficiency').jqxTooltip({ content: 'Het bereikte rendement na het koken.' });
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
5939 $('#brew_sparge_temperature').jqxTooltip({ content: 'De spoelwater temperatuur, in te stellen in de Water tab.' });
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
5940 $('#brew_sparge_volume').jqxTooltip({ content: 'Het spoelwater voorraad volume, in te stellen in de Water tab.' });
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
5941 $('#brew_date_start,#brew_date_end').jqxDateTimeInput(DateTimeopts);
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
5942 $('#brew_date_start,#brew_date_end').on('close', function(event) { calcStage(); });
662
4bb005694ce7 Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.
Michiel Broek <mbroek@mbse.eu>
parents: 660
diff changeset
5943 $('#est_mash_ph').jqxNumberInput(Show2wat);
633
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
5944 $('#brew_mash_ph,#brew_preboil_ph,#brew_aboil_ph').jqxNumberInput(SpinpH);
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
5945 $('#brew_mash_sg').on('valueChanged', function() { calcMashEfficiency(); });
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5946 $('#brew_preboil_sg').on('valueChanged', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5947 dataRecord.brew_preboil_sg = event.args.value;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5948 calcEfficiencyBeforeBoil();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5949 });
610
38b22ccb2bf8 Combined a lot of selectors
Michiel Broek <mbroek@mbse.eu>
parents: 609
diff changeset
5950 $('#brew_mash_sg,#brew_preboil_sg,#brew_aboil_sg').jqxNumberInput(SGopts);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5951 $('#brew_aboil_sg').on('valueChanged', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5952 dataRecord.brew_aboil_sg = event.args.value;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5953 calcEfficiencyAfterBoil();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5954 calcFermentables();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5955 calcIBUs();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5956 });
610
38b22ccb2bf8 Combined a lot of selectors
Michiel Broek <mbroek@mbse.eu>
parents: 609
diff changeset
5957 $('#est_mash_sg,#est_pre_sg,#est_og3').jqxNumberInput(Show3wat);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5958 $('#brew_mash_efficiency').jqxNumberInput(Show1dec);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5959 $('#brew_preboil_volume').on('valueChanged', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5960 dataRecord.brew_preboil_volume = event.args.value;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5961 calcEfficiencyBeforeBoil();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5962 });
610
38b22ccb2bf8 Combined a lot of selectors
Michiel Broek <mbroek@mbse.eu>
parents: 609
diff changeset
5963 $('#brew_preboil_volume,#brew_aboil_volume').jqxNumberInput(Spin1dec);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5964 $('#brew_aboil_volume').on('valueChanged', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5965 dataRecord.brew_aboil_volume = event.args.value;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5966 calcEfficiencyAfterBoil();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5967 calcFermentables();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5968 calcIBUs();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
5969 });
646
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
5970 $('#ketel_volume').jqxNumberInput(Show1dec);
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
5971 $('#ketel_cm').jqxNumberInput(Spin1dec);
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
5972 $('#ketel_cm').on('change', function(event) {
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
5973 k_cm = parseFloat(event.args.value);
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
5974 k_vol = kettle_vol(k_cm, dataRecord.eq_kettle_volume, dataRecord.eq_kettle_height);
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
5975 $('#ketel_volume').val(k_vol);
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
5976 });
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
5977 $('#volumeReady').jqxButton({ template: 'success', width: '90px', theme: theme });
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
5978 $('#volumeReady').click(function() {
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
5979 /* Is it pre or after boil */
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
5980 console.log('volumeReady ' + k_what + ' volume: ' + Round(k_vol, 1));
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
5981 if (k_what == 0) {
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
5982 dataRecord.brew_preboil_volume = Round(k_vol, 1);
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
5983 $('#brew_preboil_volume').val(Round(k_vol, 1));
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
5984 } else if (k_what == 1) {
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
5985 dataRecord.brew_aboil_volume = Round(k_vol, 1);
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
5986 $('#brew_aboil_volume').val(Round(k_vol, 1));
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
5987 }
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
5988 });
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
5989 $('#but_pre_boil').jqxButton({ template: 'success', width: '23px', height: 23, theme: theme });
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
5990 $('#but_pre_boil').bind('click', function() {
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
5991 /* If we already have measured a value, use that. Else use the estimated value. */
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
5992 if (dataRecord.brew_preboil_volume > 0)
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
5993 k_cm = kettle_cm(dataRecord.brew_preboil_volume, dataRecord.eq_kettle_volume, dataRecord.eq_kettle_height);
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
5994 else
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
5995 k_cm = kettle_cm(dataRecord.boil_size * 1.04, dataRecord.eq_kettle_volume, dataRecord.eq_kettle_height);
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
5996 k_vol = kettle_vol(k_cm, dataRecord.eq_kettle_volume, dataRecord.eq_kettle_height);
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
5997 k_what = 0;
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
5998 $('#ketel_cm').val(k_cm);
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
5999 $('#ketel_volume').val(k_vol);
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
6000 $('#volumeWindow').jqxWindow('open');
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
6001 });
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
6002 $('#but_after_boil').jqxButton({ template: 'success', width: 23, height: 23, theme: theme });
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
6003 $('#but_after_boil').bind('click', function() {
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
6004 if (dataRecord.brew_aboil_volume > 0)
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
6005 k_cm = kettle_cm(dataRecord.brew_aboil_volume, dataRecord.eq_kettle_volume, dataRecord.eq_kettle_height);
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
6006 else
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
6007 k_cm = kettle_cm(dataRecord.batch_size * 1.04, dataRecord.eq_kettle_volume, dataRecord.eq_kettle_height);
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
6008 k_vol = kettle_vol(k_cm, dataRecord.eq_kettle_volume, dataRecord.eq_kettle_height);
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
6009 k_what = 1;
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
6010 $('#ketel_cm').val(k_cm);
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
6011 $('#ketel_volume').val(k_vol);
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
6012 $('#volumeWindow').jqxWindow('open');
2246d830a42a Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.
Michiel Broek <mbroek@mbse.eu>
parents: 644
diff changeset
6013 });
610
38b22ccb2bf8 Combined a lot of selectors
Michiel Broek <mbroek@mbse.eu>
parents: 609
diff changeset
6014 $('#est_pre_vol,#est_a_vol').jqxNumberInput(Show1wat);
38b22ccb2bf8 Combined a lot of selectors
Michiel Broek <mbroek@mbse.eu>
parents: 609
diff changeset
6015 $('#brew_preboil_efficiency,#brew_aboil_efficiency,#brew_sparge_temperature,#brew_sparge_volume,#brew_sparge_est').jqxNumberInput(Show1dec);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6016 $('#brew_cooling_to').jqxNumberInput(Spin1dec);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6017 $('#brew_sparge_ph').jqxNumberInput(SpinpH);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6018 $('#brew_cooling_method').jqxDropDownList({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6019 theme: theme,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6020 source: CoolingTypeAdapter,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6021 valueMember: 'id',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6022 displayMember: 'nl',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6023 width: 180,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6024 height: 23,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6025 autoDropDownHeight: true
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6026 });
633
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
6027 $('#brew_cooling_time,#brew_whirlpool9,#brew_whirlpool7,#brew_whirlpool6,#brew_whirlpool2,#brew_aeration_time,#brew_aeration_speed').jqxNumberInput(PosInt);
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
6028 $('#brew_cooling_time,#brew_aeration_time,#brew_aeration_speed').jqxNumberInput({ max: 1440 });
610
38b22ccb2bf8 Combined a lot of selectors
Michiel Broek <mbroek@mbse.eu>
parents: 609
diff changeset
6029 $('#brew_whirlpool9,#brew_whirlpool7,#brew_whirlpool6,#brew_whirlpool2').jqxNumberInput({ max: 120 });
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6030 $('#brew_aeration_type').jqxDropDownList({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6031 theme: theme,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6032 source: AerationTypeAdapter,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6033 valueMember: 'id',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6034 displayMember: 'nl',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6035 width: 180,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6036 height: 23,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6037 autoDropDownHeight: true
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6038 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6039 $('#brew_fermenter_volume').jqxNumberInput(Show1dec);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6040 $('#brew_fermenter_sg').jqxNumberInput(Show3dec);
610
38b22ccb2bf8 Combined a lot of selectors
Michiel Broek <mbroek@mbse.eu>
parents: 609
diff changeset
6041 $('#brew_fermenter_extrawater,#brew_fermenter_tcloss').jqxNumberInput(Spin1dec);
38b22ccb2bf8 Combined a lot of selectors
Michiel Broek <mbroek@mbse.eu>
parents: 609
diff changeset
6042 $('#brew_fermenter_ibu,#brew_fermenter_color').jqxNumberInput(Show0dec);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6043 $('#BLog').jqxButton({ template: 'info', width: '150px', theme: theme });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6044 $('#BLog').click(function() {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6045 // Open log in a new tab.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6046 window.open('log_brew.php?code=' + dataRecord.code + '&name=' + dataRecord.name);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6047 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6048
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6049 // Tab 10, Fermentation
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6050 // Note, fermentation temps changes must do calcCarbonation()
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6051 $('#brew_fermenter_sg2').jqxTooltip({ content: 'Het behaalde SG in het gistvat, overgenomen van de brouwdag.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6052 $('#primary_start_temp').jqxTooltip({ content: 'De begintemperatuur van de hoofdvergisting.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6053 $('#primary_max_temp').jqxTooltip({ content: 'De hoogst bereikte piek temperatuur tijdens de hoofgvergisting.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6054 $('#primary_end_temp').jqxTooltip({ content: 'De eind temperatuur van de hoofdvergisting.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6055 $('#primary_end_sg').jqxTooltip({ content: 'Het gemeten SG aan het eind van de hoofdvergisting.' });
633
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
6056 $('#primary_end_brix,#secondary_end_brix,#final_brix').jqxTooltip({ content: 'Hulpfinctie: de afgelezen &deg;Brix RI waarde met een refractometer.' });
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6057 $('#primary_svg').jqxTooltip({ content: 'De schijnbare vergisting graad behaald na de hoofdgisting.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6058 $('#primary_end_date').jqxTooltip({ content: 'De eind datum van de hoofdvergisting en eventueel overhevelen.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6059 $('#secondary_end_sg').jqxTooltip({ content: 'Het gemeten SG aan het eind van de navergisting.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6060 $('#secondary_svg').jqxTooltip({ content: 'De schijnbare vergisting graad behaald na de nagisting.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6061 $('#secondary_end_date').jqxTooltip({ content: 'De eind datum van de navergisting en het begin van het lageren.' });
633
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
6062 $('#est_fg3').jqxTooltip({ content: 'Het verwachte eind SG. Dit wordt automatisch berekend.' });
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
6063
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
6064 $('#primary_end_sg,#secondary_end_sg').jqxNumberInput(SGopts);
610
38b22ccb2bf8 Combined a lot of selectors
Michiel Broek <mbroek@mbse.eu>
parents: 609
diff changeset
6065 $('#primary_end_date,#secondary_end_date').jqxDateTimeInput(Dateopts);
38b22ccb2bf8 Combined a lot of selectors
Michiel Broek <mbroek@mbse.eu>
parents: 609
diff changeset
6066 $('#primary_end_date,#secondary_end_date').on('close', function(event) { calcStage(); });
38b22ccb2bf8 Combined a lot of selectors
Michiel Broek <mbroek@mbse.eu>
parents: 609
diff changeset
6067 $('#primary_start_temp,#primary_max_temp,#primary_end_temp,#secondary_temp,#tertiary_temp').jqxNumberInput(YeastT);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6068 $('#fg').jqxNumberInput(Spin3dec);
610
38b22ccb2bf8 Combined a lot of selectors
Michiel Broek <mbroek@mbse.eu>
parents: 609
diff changeset
6069 $('#brew_fermenter_sg2,#est_fg3').jqxNumberInput(Show3dec);
38b22ccb2bf8 Combined a lot of selectors
Michiel Broek <mbroek@mbse.eu>
parents: 609
diff changeset
6070 $('#primary_end_brix,#secondary_end_brix,#final_brix').jqxNumberInput(Spin1dec);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6071 $('#final_abv').jqxNumberInput(Show2dec);
610
38b22ccb2bf8 Combined a lot of selectors
Michiel Broek <mbroek@mbse.eu>
parents: 609
diff changeset
6072 $('#primary_svg,#secondary_svg,#final_svg').jqxNumberInput(Show1dec);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6073 $('#FLog').jqxButton({ template: 'info', width: '150px', theme: theme });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6074 $('#FLog').click(function() {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6075 // Open log in a new tab.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6076 window.open('log_fermentation.php?code=' + dataRecord.code + '&name=' + dataRecord.name);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6077 });
602
10b61aacb1c1 New products field log_ispindel. Add check for ispindel log to crontasks.php Added log_ispindel to prod_edit, pprod_divide, prod_new and prod_duplicate. Renamed some log_fermentation vergisting names into klimaatkast.
Michiel Broek <mbroek@mbse.eu>
parents: 586
diff changeset
6078 $('#ILog').jqxButton({ template: 'info', width: '150px', theme: theme });
10b61aacb1c1 New products field log_ispindel. Add check for ispindel log to crontasks.php Added log_ispindel to prod_edit, pprod_divide, prod_new and prod_duplicate. Renamed some log_fermentation vergisting names into klimaatkast.
Michiel Broek <mbroek@mbse.eu>
parents: 586
diff changeset
6079 $('#ILog').click(function() {
10b61aacb1c1 New products field log_ispindel. Add check for ispindel log to crontasks.php Added log_ispindel to prod_edit, pprod_divide, prod_new and prod_duplicate. Renamed some log_fermentation vergisting names into klimaatkast.
Michiel Broek <mbroek@mbse.eu>
parents: 586
diff changeset
6080 // Open log in a new tab.
10b61aacb1c1 New products field log_ispindel. Add check for ispindel log to crontasks.php Added log_ispindel to prod_edit, pprod_divide, prod_new and prod_duplicate. Renamed some log_fermentation vergisting names into klimaatkast.
Michiel Broek <mbroek@mbse.eu>
parents: 586
diff changeset
6081 window.open('log_ispindel.php?code=' + dataRecord.code + '&name=' + dataRecord.name);
10b61aacb1c1 New products field log_ispindel. Add check for ispindel log to crontasks.php Added log_ispindel to prod_edit, pprod_divide, prod_new and prod_duplicate. Renamed some log_fermentation vergisting names into klimaatkast.
Michiel Broek <mbroek@mbse.eu>
parents: 586
diff changeset
6082 });
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6083
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6084 // Tab 11, Packaging
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6085 // TODO: high gravity packaging, extra water and recalc abv, color and ibu.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6086 $('#package_date').jqxTooltip({ content: 'De verpakkings datum van dit bier.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6087 $('#package_volume').jqxTooltip({ content: 'Het beschikbare volume om te bottelen of op fust te zetten.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6088 $('#package_infuse_amount').jqxTooltip({ content: 'De hoeveelheid water of drank extra toe te voegen.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6089 $('#package_infuse_abv').jqxTooltip({ content: 'De hoeveelheid alcohol in de drank, of 0.0 als het water is.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6090 $('#package_infuse_notes').jqxTooltip({ content: 'Omschrijving van de extra toevoeging.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6091 $('#package_abv').jqxTooltip({ content: 'De uiteindelijke hoeveelheid alcohol volume %.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6092 $('#package_ph').jqxTooltip({ content: 'De gemeten pH vlak voor het verpakken.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6093 $('#st_carb_min2').jqxTooltip({ content: 'Het minimum aanbevolen koolzuur volume voor deze bierstijl.'});
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6094 $('#st_carb_max2').jqxTooltip({ content: 'Het maximum aamnevolen koolzuur volume voor deze bierstijl.'});
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6095 $('#bottle_amount').jqxTooltip({ content: 'De totale hoeveelheid te bottelen bier.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6096 $('#keg_amount').jqxTooltip({ content: 'De totale hoeveelheid op fust te zetten bier.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6097 $('#bottle_carbonation').jqxTooltip({ content: 'Het gewenste CO2 volume in de flessen.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6098 $('#keg_carbonation').jqxTooltip({ content: 'Het gewenste CO2 volume door de suiker in de fusten.' });
633
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
6099 $('#bottle_priming_water,#keg_priming_water').jqxTooltip({ content: 'De hoeveelheid water om de suiker op te lossen.' });
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
6100 $('#bottle_pressure').jqxTooltip({ content: 'De maximaal te verwachten druk tijdens het hergisten.' });
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
6101 $('#package_date').jqxDateTimeInput(Dateopts);
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
6102 $('#package_date').on('close', function(event) { calcStage(); });
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
6103 $('#package_infuse_amount').jqxNumberInput(Spin3dec);
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
6104 $('#package_infuse_notes').jqxInput({ theme: theme, width: 640, height: 23 });
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
6105 $('#package_abv').jqxNumberInput(Show2dec);
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
6106 $('#package_ph').jqxNumberInput(SpinpH);
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
6107 $('#st_carb_min2,#st_carb_max2').jqxNumberInput(Smal1dec);
ec4601ab3ed2 Fixed loading of the product edit page. A bit faster loading.
Michiel Broek <mbroek@mbse.eu>
parents: 623
diff changeset
6108 $('#package_volume,#package_infuse_abv,#bottle_amount,#keg_amount').jqxNumberInput(Spin1dec);
610
38b22ccb2bf8 Combined a lot of selectors
Michiel Broek <mbroek@mbse.eu>
parents: 609
diff changeset
6109 $('#bottle_carbonation,#keg_carbonation').jqxNumberInput(Spin2dec);
38b22ccb2bf8 Combined a lot of selectors
Michiel Broek <mbroek@mbse.eu>
parents: 609
diff changeset
6110 $('#bottle_carbonation,#keg_carbonation').jqxNumberInput({ max: 5 });
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6111 $('#bottle_priming_sugar').jqxDropDownList({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6112 placeHolder: 'Kies suiker:',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6113 theme: theme,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6114 source: fermentablesugars,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6115 displayMember: 'name',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6116 width: 200,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6117 height: 23,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6118 dropDownWidth: 300,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6119 dropDownHeight: 400
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6120 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6121 $('#bottle_priming_sugar').on('select', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6122 if (event.args) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6123 var rowID, index, editrow = -1, datarecord, rows, i, row = {};
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6124 index = event.args.index;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6125 datarecord = fermentablesugars.records[index];
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6126 rows = $('#fermentableGrid').jqxGrid('getrows');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6127 for (i = 0; i < rows.length; i++) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6128 if (rows[i].f_added == 4) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6129 editrow = i;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6130 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6131 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6132 row['f_name'] = datarecord.name;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6133 row['f_origin'] = datarecord.origin;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6134 row['f_supplier'] = datarecord.supplier;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6135 row['f_amount'] = parseFloat($('#bottle_priming_total').jqxNumberInput('decimal')) / 1000;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6136 row['f_cost'] = datarecord.cost;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6137 row['f_type'] = datarecord.type;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6138 row['f_yield'] = datarecord.yield;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6139 row['f_color'] = datarecord.color;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6140 row['f_coarse_fine_diff'] = datarecord.coarse_fine_diff;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6141 row['f_moisture'] = datarecord.moisture;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6142 row['f_diastatic_power'] = datarecord.diastatic_power;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6143 row['f_protein'] = datarecord.protein;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6144 row['f_max_in_batch'] = datarecord.max_in_batch;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6145 row['f_graintype'] = datarecord.graintype;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6146 row['f_added'] = 4;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6147 row['f_dissolved_protein'] = datarecord.dissolved_protein;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6148 row['f_recommend_mash'] = datarecord.recommend_mash;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6149 row['f_add_after_boil'] = 1;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6150 row['f_adjust_to_total_100'] = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6151 row['f_percentage'] = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6152 row['f_di_ph'] = datarecord.di_ph;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6153 row['f_acid_to_ph_57'] = datarecord.acid_to_ph_57;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6154 row['f_inventory'] = datarecord.inventory;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6155 if (editrow >= 0) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6156 rowID = $('#fermentableGrid').jqxGrid('getrowid', editrow);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6157 $('#fermentableGrid').jqxGrid('updaterow', rowID, row);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6158 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6159 $('#fermentableGrid').jqxGrid('addrow', null, row);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6160 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6161 calcCarbonation();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6162 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6163 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6164 $('#keg_priming_sugar').jqxDropDownList({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6165 placeHolder: 'Kies suiker:',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6166 theme: theme,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6167 source: fermentablesugars,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6168 displayMember: 'name',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6169 width: 200,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6170 height: 23,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6171 dropDownWidth: 300,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6172 dropDownHeight: 400
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6173 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6174 $('#keg_priming_sugar').on('select', function(event) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6175 if (event.args) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6176 var rowID, index, editrow = -1, datarecord, rows, i, row = {};
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6177 index = event.args.index;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6178 datarecord = fermentablesugars.records[index];
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6179 rows = $('#fermentableGrid').jqxGrid('getrows');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6180 for (i = 0; i < rows.length; i++) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6181 if (rows[i].f_added == 5) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6182 editrow = i;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6183 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6184 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6185 row['f_name'] = datarecord.name;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6186 row['f_origin'] = datarecord.origin;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6187 row['f_supplier'] = datarecord.supplier;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6188 row['f_amount'] = parseFloat($('#keg_priming_total').jqxNumberInput('decimal')) / 1000;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6189 row['f_cost'] = datarecord.cost;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6190 row['f_type'] = datarecord.type;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6191 row['f_yield'] = datarecord.yield;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6192 row['f_color'] = datarecord.color;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6193 row['f_coarse_fine_diff'] = datarecord.coarse_fine_diff;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6194 row['f_moisture'] = datarecord.moisture;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6195 row['f_diastatic_power'] = datarecord.diastatic_power;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6196 row['f_protein'] = datarecord.protein;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6197 row['f_max_in_batch'] = datarecord.max_in_batch;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6198 row['f_graintype'] = datarecord.graintype;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6199 row['f_added'] = 5;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6200 row['f_dissolved_protein'] = datarecord.dissolved_protein;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6201 row['f_recommend_mash'] = datarecord.recommend_mash;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6202 row['f_add_after_boil'] = 1;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6203 row['f_adjust_to_total_100'] = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6204 row['f_percentage'] = 0;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6205 row['f_di_ph'] = datarecord.di_ph;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6206 row['f_acid_to_ph_57'] = datarecord.acid_to_ph_57;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6207 row['f_inventory'] = datarecord.inventory;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6208 if (editrow >= 0) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6209 rowID = $('#fermentableGrid').jqxGrid('getrowid', editrow);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6210 $('#fermentableGrid').jqxGrid('updaterow', rowID, row);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6211 } else {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6212 $('#fermentableGrid').jqxGrid('addrow', null, row);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6213 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6214 calcCarbonation();
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6215 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6216 });
610
38b22ccb2bf8 Combined a lot of selectors
Michiel Broek <mbroek@mbse.eu>
parents: 609
diff changeset
6217 $('#bottle_priming_water,#keg_priming_water').jqxNumberInput(Spin3dec);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6218 $('#keg_forced_carb').jqxCheckBox({ theme: theme, width: 120, height: 23 });
610
38b22ccb2bf8 Combined a lot of selectors
Michiel Broek <mbroek@mbse.eu>
parents: 609
diff changeset
6219 $('#bottle_priming_amount,#keg_priming_amount,#bottle_priming_total,#bottle_pressure,#keg_priming_total,#keg_pressure').jqxNumberInput(Show1dec);
38b22ccb2bf8 Combined a lot of selectors
Michiel Broek <mbroek@mbse.eu>
parents: 609
diff changeset
6220 $('#bottle_abv,#keg_abv').jqxNumberInput(Show2dec);
38b22ccb2bf8 Combined a lot of selectors
Michiel Broek <mbroek@mbse.eu>
parents: 609
diff changeset
6221 $('#bottle_carbonation_temp,#keg_carbonation_temp').jqxNumberInput(YeastT);
615
9034e65b0d7a Added CO2 carbonation log to the products database. Added button in the packaging tab.
Michiel Broek <mbroek@mbse.eu>
parents: 613
diff changeset
6222 $('#CLog').jqxButton({ template: 'info', width: '150px', theme: theme });
9034e65b0d7a Added CO2 carbonation log to the products database. Added button in the packaging tab.
Michiel Broek <mbroek@mbse.eu>
parents: 613
diff changeset
6223 $('#CLog').click(function() {
9034e65b0d7a Added CO2 carbonation log to the products database. Added button in the packaging tab.
Michiel Broek <mbroek@mbse.eu>
parents: 613
diff changeset
6224 // Open log in a new tab.
9034e65b0d7a Added CO2 carbonation log to the products database. Added button in the packaging tab.
Michiel Broek <mbroek@mbse.eu>
parents: 613
diff changeset
6225 window.open('log_co2pressure.php?code=' + dataRecord.code + '&name=' + dataRecord.name);
9034e65b0d7a Added CO2 carbonation log to the products database. Added button in the packaging tab.
Michiel Broek <mbroek@mbse.eu>
parents: 613
diff changeset
6226 });
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6227
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6228 // Tab 12, Tasting
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6229 $('#taste_date').jqxTooltip({ content: 'De proef datum van dit bier.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6230 $('#taste_date').jqxDateTimeInput(Dateopts);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6231 $('#taste_date').on('close', function(event) { calcStage(); });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6232 $('#taste_rate').jqxTooltip({ content: 'Het cijfer voor dit bier van 1 tot 10.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6233 $('#taste_rate').jqxNumberInput(Spin1dec);
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6234 $('#taste_rate').jqxNumberInput({ max: 10 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6235 $('#taste_color').jqxTooltip({ content: 'De kleur van het bier.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6236 $('#taste_transparency').jqxTooltip({ content: 'De helderheid van het bier.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6237 $('#taste_head').jqxTooltip({ content: 'Het schuim op het bier.' });
610
38b22ccb2bf8 Combined a lot of selectors
Michiel Broek <mbroek@mbse.eu>
parents: 609
diff changeset
6238 $('#taste_color,#taste_transparency,#taste_head').jqxInput({ theme: theme, width: 320, height: 23 });
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6239 $('#taste_aroma').jqxTooltip({ content: 'Het aroma van het bier.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6240 $('#taste_taste').jqxTooltip({ content: 'De smaak van het bier.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6241 $('#taste_aftertaste').jqxTooltip({ content: 'De nasmaak van het bier.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6242 $('#taste_mouthfeel').jqxTooltip({ content: 'Het mondgevoelvan het bier.' });
610
38b22ccb2bf8 Combined a lot of selectors
Michiel Broek <mbroek@mbse.eu>
parents: 609
diff changeset
6243 $('#taste_aroma,#taste_taste,#taste_aftertaste,#taste_mouthfeel').jqxInput({ theme: theme, width: 960, height: 23 });
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6244 $('#taste_notes').jqxTooltip({ content: 'Het oordeel en opmerkingen over dit bier.' });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6245 $('#taste_notes').jqxInput({ theme: theme, width: 960, height: 100 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6246
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6247 $('#jqxTabs').jqxTabs({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6248 theme: theme,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6249 width: 1280,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6250 height: 660,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6251 autoHeight: false,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6252 position: 'top'
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6253 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6254
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6255 // Buttons below
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6256 $('#Export').jqxButton({ template: 'info', width: '80px', theme: theme });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6257 $('#Export').bind('click', function() {
489
18e5cfe5d126 Load new url in database write callback
Michiel Broek <mbroek@mbse.eu>
parents: 484
diff changeset
6258 saveRecord(0);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6259 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6260
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6261 $('#Delete').jqxButton({ template: 'danger', width: '80px', theme: theme });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6262 $('#Delete').bind('click', function() {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6263 // Open a popup to confirm this action.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6264 $('#eventWindow').jqxWindow('open');
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6265 $('#delOk').click(function() {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6266 var data = 'delete=true&' + $.param({ uuid: dataRecord.uuid });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6267 $.ajax({
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6268 dataType: 'json',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6269 url: url,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6270 cache: false,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6271 data: data,
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6272 type: 'POST',
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6273 success: function(data, status, xhr) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6274 // delete command is executed.
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6275 window.location.href = my_return;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6276 },
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6277 error: function(jqXHR, textStatus, errorThrown) {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6278 }
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6279 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6280 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6281 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6282
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6283 $('#Cancel').jqxButton({ template: 'primary', width: '80px', theme: theme });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6284 $('#Cancel').bind('click', function() {
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6285 window.location.href = my_return;
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6286 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6287
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6288 $('#Save').jqxButton({ template: 'success', width: '80px', theme: theme });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6289 $('#Save').bind('click', function() {
489
18e5cfe5d126 Load new url in database write callback
Michiel Broek <mbroek@mbse.eu>
parents: 484
diff changeset
6290 saveRecord(1);
478
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6291 });
0a270fee6aa0 Code cleanup using gjslint
Michiel Broek <mbroek@mbse.eu>
parents: 470
diff changeset
6292 createDelElements();
111
8c4ba91adf58 Basic screens for brew products.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
6293 });
8c4ba91adf58 Basic screens for brew products.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
6294

mercurial