20 * Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. |
20 * Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. |
21 *****************************************************************************/ |
21 *****************************************************************************/ |
22 |
22 |
23 |
23 |
24 function createDelElements() { |
24 function createDelElements() { |
25 $('#eventWindow').jqxWindow({ |
25 $('#eventWindow').jqxWindow({ |
26 theme: theme, |
26 theme: theme, |
27 position: { x: 490, y: 210 }, |
27 position: { x: 490, y: 210 }, |
28 width: 300, |
28 width: 300, |
29 height: 175, |
29 height: 175, |
30 resizable: false, |
30 resizable: false, |
31 isModal: true, |
31 isModal: true, |
32 modalOpacity: 0.4, |
32 modalOpacity: 0.4, |
33 okButton: $('#delOk'), |
33 okButton: $('#delOk'), |
34 cancelButton: $('#delCancel'), |
34 cancelButton: $('#delCancel'), |
35 initContent: function () { |
35 initContent: function() { |
36 $('#delOk').jqxButton({ template: "danger", width: '65px', theme: theme }); |
36 $('#delOk').jqxButton({ template: 'danger', width: '65px', theme: theme }); |
37 $('#delCancel').jqxButton({ template: "success", width: '65px', theme: theme }); |
37 $('#delCancel').jqxButton({ template: 'success', width: '65px', theme: theme }); |
38 $('#delCancel').focus(); |
38 $('#delCancel').focus(); |
39 } |
39 } |
40 }); |
40 }); |
41 $('#eventWindow').jqxWindow('hide'); |
41 $('#eventWindow').jqxWindow('hide'); |
42 } |
42 } |
43 |
43 |
44 |
44 |
45 $(document).ready(function () { |
45 $(document).ready(function() { |
46 |
46 |
47 // tooltips |
47 // tooltips |
48 $("#name").jqxTooltip({ content: 'De unieke naam van dit brouwwater.' }); |
48 $('#name').jqxTooltip({ content: 'De unieke naam van dit brouwwater.' }); |
49 $("#notes").jqxTooltip({ content: 'Extra opmerkingen over dit water.' }); |
49 $('#notes').jqxTooltip({ content: 'Extra opmerkingen over dit water.' }); |
50 $("#unlimited_stock").jqxTooltip({ content: 'Onbeperkte voorraad zoals kraanwater en bronnen.' }); |
50 $('#unlimited_stock').jqxTooltip({ content: 'Onbeperkte voorraad zoals kraanwater en bronnen.' }); |
51 $("#calcium").jqxTooltip({ content: 'Calcium (Ca).' }); |
51 $('#calcium').jqxTooltip({ content: 'Calcium (Ca).' }); |
52 $("#bicarbonate").jqxTooltip({ content: 'Bicarbonaat (HCO3). Berekend meteen de Totale alkaliteit.' }); |
52 $('#bicarbonate').jqxTooltip({ content: 'Bicarbonaat (HCO3). Berekend meteen de Totale alkaliteit.' }); |
53 $("#sulfate").jqxTooltip({ content: 'Calcium Sulfaat (CaSO4).' }); |
53 $('#sulfate').jqxTooltip({ content: 'Calcium Sulfaat (CaSO4).' }); |
54 $("#chloride").jqxTooltip({ content: 'Chloride (Cl).' }); |
54 $('#chloride').jqxTooltip({ content: 'Chloride (Cl).' }); |
55 $("#sodium").jqxTooltip({ content: 'Natrium, oftewel keukenzout (Na). In berekeningen ook vaak als Sodium.' }); |
55 $('#sodium').jqxTooltip({ content: 'Natrium, oftewel keukenzout (Na). In berekeningen ook vaak als Sodium.' }); |
56 $("#magnesium").jqxTooltip({ content: 'Magnesium (Mg).' }); |
56 $('#magnesium').jqxTooltip({ content: 'Magnesium (Mg).' }); |
57 $("#ph").jqxTooltip({ content: 'De zuurgraad (pH).' }); |
57 $('#ph').jqxTooltip({ content: 'De zuurgraad (pH).' }); |
58 $("#total_alkalinity").jqxTooltip({ content: 'Totale alkaliniteit. Berekend meteen de Bicarbonaat.' }); |
58 $('#total_alkalinity').jqxTooltip({ content: 'Totale alkaliniteit. Berekend meteen de Bicarbonaat.' }); |
59 $("#inventory").jqxTooltip({ content: 'Voorraad in liters.' }); |
59 $('#inventory').jqxTooltip({ content: 'Voorraad in liters.' }); |
60 $("#cost").jqxTooltip({ content: 'Kostprijs per liter. 5 cijfers achter de comma zodat het kraanwater er ook in kan.' }); |
60 $('#cost').jqxTooltip({ content: 'Kostprijs per liter. 5 cijfers achter de comma zodat het kraanwater er ook in kan.' }); |
61 |
61 |
62 var dataRecord = {}, |
62 var dataRecord = {}, |
63 url = 'includes/db_inventory_water.php', |
63 url = 'includes/db_inventory_water.php', |
64 // prepare the data |
64 // prepare the data |
65 source = { |
65 source = { |
66 datatype: "json", |
66 datatype: 'json', |
67 cache: false, |
67 cache: false, |
68 datafields: [ |
68 datafields: [ |
69 { name: 'record', type: 'number' }, |
69 { name: 'record', type: 'number' }, |
70 { name: 'name', type: 'string' }, |
70 { name: 'name', type: 'string' }, |
71 { name: 'unlimited_stock', type: 'int' }, |
71 { name: 'unlimited_stock', type: 'int' }, |
72 { name: 'calcium', type: 'float' }, |
72 { name: 'calcium', type: 'float' }, |
73 { name: 'bicarbonate', type: 'float' }, |
73 { name: 'bicarbonate', type: 'float' }, |
74 { name: 'sulfate', type: 'float' }, |
74 { name: 'sulfate', type: 'float' }, |
75 { name: 'chloride', type: 'float' }, |
75 { name: 'chloride', type: 'float' }, |
76 { name: 'sodium', type: 'float' }, |
76 { name: 'sodium', type: 'float' }, |
77 { name: 'magnesium', type: 'float' }, |
77 { name: 'magnesium', type: 'float' }, |
78 { name: 'ph', type: 'float' }, |
78 { name: 'ph', type: 'float' }, |
79 { name: 'notes', type: 'string' }, |
79 { name: 'notes', type: 'string' }, |
80 { name: 'total_alkalinity', type: 'float' }, |
80 { name: 'total_alkalinity', type: 'float' }, |
81 { name: 'inventory', type: 'float' }, |
81 { name: 'inventory', type: 'float' }, |
82 { name: 'cost', type: 'float' } |
82 { name: 'cost', type: 'float' } |
83 ], |
83 ], |
84 id: 'record', |
84 id: 'record', |
85 url: url, |
85 url: url, |
86 deleterow: function (rowid, commit) { |
86 deleterow: function(rowid, commit) { |
87 // synchronize with the server - send delete command |
87 // synchronize with the server - send delete command |
88 var data = "delete=true&" + $.param({ record: rowid }); |
88 var data = 'delete=true&' + $.param({ record: rowid }); |
89 $.ajax({ |
89 $.ajax({ |
90 dataType: 'json', |
90 dataType: 'json', |
91 url: url, |
91 url: url, |
92 cache: false, |
92 cache: false, |
93 data: data, |
93 data: data, |
94 type: "POST", |
94 type: 'POST', |
95 success: function (data, status, xhr) { |
95 success: function(data, status, xhr) { |
96 commit(true); |
96 commit(true); |
97 location.reload( true ); |
97 location.reload(true); |
98 }, |
98 }, |
99 error: function (jqXHR, textStatus, errorThrown) { |
99 error: function(jqXHR, textStatus, errorThrown) { |
100 commit(false); |
100 commit(false); |
101 } |
101 } |
102 }); |
102 }); |
103 }, |
103 }, |
104 addrow: function (rowid, rowdata, position, commit) { |
104 addrow: function(rowid, rowdata, position, commit) { |
105 var data = "insert=true&" + $.param(rowdata); |
105 var data = 'insert=true&' + $.param(rowdata); |
106 $.ajax({ |
106 $.ajax({ |
107 dataType: 'json', |
107 dataType: 'json', |
108 url: url, |
108 url: url, |
109 cache: false, |
109 cache: false, |
110 data: data, |
110 data: data, |
111 type: "POST", |
111 type: 'POST', |
112 success: function (data, status, xhr) { |
112 success: function(data, status, xhr) { |
113 commit(true); |
113 commit(true); |
114 location.reload( true ); |
114 location.reload(true); |
115 }, |
115 }, |
116 error: function(jqXHR, textStatus, errorThrown) { |
116 error: function(jqXHR, textStatus, errorThrown) { |
117 commit(false); |
117 commit(false); |
118 } |
118 } |
119 }); |
119 }); |
120 }, |
120 }, |
121 updaterow: function (rowid, rowdata, commit) { |
121 updaterow: function(rowid, rowdata, commit) { |
122 var data = "update=true&" + $.param(rowdata); |
122 var data = 'update=true&' + $.param(rowdata); |
123 $.ajax({ |
123 $.ajax({ |
124 dataType: 'json', |
124 dataType: 'json', |
125 url: url, |
125 url: url, |
126 cache: false, |
126 cache: false, |
127 data: data, |
127 data: data, |
128 type: "POST", |
128 type: 'POST', |
129 success: function (data, status, xhr) { |
129 success: function(data, status, xhr) { |
130 commit(true); |
130 commit(true); |
131 location.reload( true ); |
131 location.reload(true); |
132 }, |
132 }, |
133 error: function(jqXHR, textStatus, errorThrown) { |
133 error: function(jqXHR, textStatus, errorThrown) { |
134 commit(false); |
134 commit(false); |
135 } |
135 } |
136 }); |
136 }); |
137 } |
137 } |
138 }, |
138 }, |
139 dataAdapter = new $.jqx.dataAdapter(source), |
139 dataAdapter = new $.jqx.dataAdapter(source), |
140 editrow = -1; |
140 editrow = -1; |
141 |
141 |
142 // initialize the input fields. |
142 // initialize the input fields. |
143 $("#name").jqxInput({ theme: theme, width: 640, height: 23 }); |
143 $('#name').jqxInput({ theme: theme, width: 640, height: 23 }); |
144 $("#notes").jqxInput({ theme: theme, width: 640, height: 100 }); |
144 $('#notes').jqxInput({ theme: theme, width: 640, height: 100 }); |
145 $("#unlimited_stock").jqxCheckBox({ theme: theme, width: 120, height: 23 }); |
145 $('#unlimited_stock').jqxCheckBox({ theme: theme, width: 120, height: 23 }); |
146 $("#calcium").jqxNumberInput( Spin1dec ); |
146 $('#calcium').jqxNumberInput(Spin1dec); |
147 $("#bicarbonate").jqxNumberInput( Spin1dec ); |
147 $('#bicarbonate').jqxNumberInput(Spin1dec); |
148 $("#sulfate").jqxNumberInput( Spin1dec ); |
148 $('#sulfate').jqxNumberInput(Spin1dec); |
149 $("#chloride").jqxNumberInput( Spin1dec ); |
149 $('#chloride').jqxNumberInput(Spin1dec); |
150 $("#sodium").jqxNumberInput( Spin1dec ); |
150 $('#sodium').jqxNumberInput(Spin1dec); |
151 $("#magnesium").jqxNumberInput( Spin1dec ); |
151 $('#magnesium').jqxNumberInput(Spin1dec); |
152 $("#ph").jqxNumberInput( Spin2pH ); |
152 $('#ph').jqxNumberInput(Spin2pH); |
153 $("#total_alkalinity").jqxNumberInput( Spin1dec ); |
153 $('#total_alkalinity').jqxNumberInput(Spin1dec); |
154 $("#inventory").jqxNumberInput( Spin1dec ); |
154 $('#inventory').jqxNumberInput(Spin1dec); |
155 $("#cost").jqxNumberInput({inputMode: 'simple', theme: theme, width: 110, height: 23, min: 0, decimalDigits: 5, spinButtons: true }); |
155 $('#cost').jqxNumberInput({inputMode: 'simple', theme: theme, width: 110, height: 23, min: 0, decimalDigits: 5, spinButtons: true }); |
156 |
156 |
157 // initialize jqxGrid |
157 // initialize jqxGrid |
158 $("#jqxgrid").jqxGrid({ |
158 $('#jqxgrid').jqxGrid({ |
159 width: 1280, |
159 width: 1280, |
160 height: 630, |
160 height: 630, |
161 source: dataAdapter, |
161 source: dataAdapter, |
162 theme: theme, |
162 theme: theme, |
163 showstatusbar: true, |
163 showstatusbar: true, |
164 renderstatusbar: function (statusbar) { |
164 renderstatusbar: function(statusbar) { |
165 var addButton, container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>"); |
165 var addButton, container = $('<div style="overflow: hidden; position: relative; margin: 5px;"></div>'); |
166 addButton = $("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Nieuw</span></div>"); |
166 addButton = $('<div style="float: right; margin-right: 15px;"><img style="position: relative; margin-top: 2px;" ' + |
167 container.append(addButton); |
167 'src="images/add.png"/><span style="margin-left: 4px; position: relative; top: -3px;">Nieuw</span></div>'); |
168 statusbar.append(container); |
168 container.append(addButton); |
169 addButton.jqxButton({ theme: theme, width: 90, height: 20 }); |
169 statusbar.append(container); |
170 // add new row. |
170 addButton.jqxButton({ theme: theme, width: 90, height: 20 }); |
171 addButton.click(function (event) { |
171 // add new row. |
172 editrow = -1; |
172 addButton.click(function(event) { |
173 $("#popupWindow").jqxWindow({ position: { x: 110, y: 30 } }); |
173 editrow = -1; |
174 $("#name").val('Nieuw brouwwater'); |
174 $('#popupWindow').jqxWindow({ position: { x: 110, y: 30 } }); |
175 $("#unlimited_stock").val(0); |
175 $('#name').val('Nieuw brouwwater'); |
176 $("#calcium").val(0); |
176 $('#unlimited_stock').val(0); |
177 $("#bicarbonate").val(0); |
177 $('#calcium').val(0); |
178 $("#sulfate").val(0); |
178 $('#bicarbonate').val(0); |
179 $("#chloride").val(0); |
179 $('#sulfate').val(0); |
180 $("#sodium").val(0); |
180 $('#chloride').val(0); |
181 $("#magnesium").val(0); |
181 $('#sodium').val(0); |
182 $("#ph").val(7); |
182 $('#magnesium').val(0); |
183 $("#notes").val(''); |
183 $('#ph').val(7); |
184 $("#total_alkalinity").val(0); |
184 $('#notes').val(''); |
185 $("#inventory").val(0); |
185 $('#total_alkalinity').val(0); |
186 $("#cost").val(0); |
186 $('#inventory').val(0); |
187 $("#popupWindow").jqxWindow('open'); |
187 $('#cost').val(0); |
188 }); |
188 $('#popupWindow').jqxWindow('open'); |
189 }, |
189 }); |
190 filterable: false, |
190 }, |
191 columns: [ |
191 filterable: false, |
192 { text: 'Water leverancier', datafield: 'name', width: 225 }, |
192 columns: [ |
193 { text: 'Opmerkingen', datafield: 'notes' }, |
193 { text: 'Water leverancier', datafield: 'name', width: 225 }, |
194 { text: 'Onbeperkt', datafield: 'unlimited_stock', columntype: 'checkbox', width: 80 }, |
194 { text: 'Opmerkingen', datafield: 'notes' }, |
195 { text: 'Voorraad', datafield: 'inventory', width: 100, align: 'right', cellsalign: 'right', cellsformat: 'f1', |
195 { text: 'Onbeperkt', datafield: 'unlimited_stock', columntype: 'checkbox', width: 80 }, |
196 cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { |
196 { text: 'Voorraad', datafield: 'inventory', width: 100, align: 'right', cellsalign: 'right', cellsformat: 'f1', |
197 var amount = ""; |
197 cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) { |
198 if (value > 0 && rowdata.unlimited_stock == 0) |
198 var amount = ''; |
199 amount = dataAdapter.formatNumber(value,"f1")+" L"; |
199 if (value > 0 && rowdata.unlimited_stock == 0) |
200 return "<span style='margin: 3px; margin-top: 6px; float: right;'>" + amount + "</span>"; |
200 amount = dataAdapter.formatNumber(value, 'f1') + ' L'; |
201 } |
201 return '<span style="margin: 3px; margin-top: 6px; float: right;">' + amount + '</span>'; |
202 }, |
202 } |
203 { text: '', datafield: 'Edit', width: 100, align: 'center', columntype: 'button', |
203 }, |
204 cellsrenderer: function () { |
204 { text: '', datafield: 'Edit', width: 100, align: 'center', columntype: 'button', |
205 return "Wijzig"; |
205 cellsrenderer: function() { |
206 }, buttonclick: function (row) { |
206 return 'Wijzig'; |
207 // open the popup window when the user clicks a button. |
207 }, buttonclick: function(row) { |
208 editrow = row; |
208 // open the popup window when the user clicks a button. |
209 $("#popupWindow").jqxWindow({ position: { x: 110, y: 30 } }); |
209 editrow = row; |
210 // get the clicked row's data and initialize the input fields. |
210 $('#popupWindow').jqxWindow({ position: { x: 110, y: 30 } }); |
211 dataRecord = $("#jqxgrid").jqxGrid('getrowdata', editrow); |
211 // get the clicked row's data and initialize the input fields. |
212 $("#name").val(dataRecord.name); |
212 dataRecord = $('#jqxgrid').jqxGrid('getrowdata', editrow); |
213 $("#unlimited_stock").val(dataRecord.unlimited_stock); |
213 $('#name').val(dataRecord.name); |
214 $("#calcium").val(dataRecord.calcium); |
214 $('#unlimited_stock').val(dataRecord.unlimited_stock); |
215 $("#bicarbonate").val(dataRecord.bicarbonate); |
215 $('#calcium').val(dataRecord.calcium); |
216 $("#sulfate").val(dataRecord.sulfate); |
216 $('#bicarbonate').val(dataRecord.bicarbonate); |
217 $("#chloride").val(dataRecord.chloride); |
217 $('#sulfate').val(dataRecord.sulfate); |
218 $("#sodium").val(dataRecord.sodium); |
218 $('#chloride').val(dataRecord.chloride); |
219 $("#magnesium").val(dataRecord.magnesium); |
219 $('#sodium').val(dataRecord.sodium); |
220 $("#ph").val(dataRecord.ph); |
220 $('#magnesium').val(dataRecord.magnesium); |
221 $("#notes").val(dataRecord.notes); |
221 $('#ph').val(dataRecord.ph); |
222 $("#total_alkalinity").val(dataRecord.total_alkalinity); |
222 $('#notes').val(dataRecord.notes); |
223 $("#inventory").val(dataRecord.inventory); |
223 $('#total_alkalinity').val(dataRecord.total_alkalinity); |
224 $("#cost").val(dataRecord.cost); |
224 $('#inventory').val(dataRecord.inventory); |
225 // show the popup window. |
225 $('#cost').val(dataRecord.cost); |
226 $("#popupWindow").jqxWindow('open'); |
226 // show the popup window. |
227 } |
227 $('#popupWindow').jqxWindow('open'); |
228 } |
228 } |
229 ] |
229 } |
230 }); |
230 ] |
231 |
231 }); |
232 $("#total_alkalinity").on('change', function (event) { |
232 |
233 dataRecord.bicarbonate = parseFloat(event.args.value) * 1.22; |
233 $('#total_alkalinity').on('change', function(event) { |
234 $("#bicarbonate").val(dataRecord.bicarbonate); |
234 dataRecord.bicarbonate = parseFloat(event.args.value) * 1.22; |
235 }); |
235 $('#bicarbonate').val(dataRecord.bicarbonate); |
236 $("#bicarbonate").on('change', function (event) { |
236 }); |
237 dataRecord.total_alkalinity = parseFloat(event.args.value) * 50 / 61; |
237 $('#bicarbonate').on('change', function(event) { |
238 $("#total_alkalinity").val(dataRecord.total_alkalinity); |
238 dataRecord.total_alkalinity = parseFloat(event.args.value) * 50 / 61; |
239 }); |
239 $('#total_alkalinity').val(dataRecord.total_alkalinity); |
240 |
240 }); |
241 // initialize the popup window and buttons. |
241 |
242 $("#popupWindow").jqxWindow({ |
242 // initialize the popup window and buttons. |
243 width: 1050, |
243 $('#popupWindow').jqxWindow({ |
244 height: 550, |
244 width: 1050, |
245 resizable: false, |
245 height: 550, |
246 theme: theme, |
246 resizable: false, |
247 isModal: true, |
247 theme: theme, |
248 autoOpen: false, |
248 isModal: true, |
249 cancelButton: $("#Cancel"), |
249 autoOpen: false, |
250 modalOpacity: 0.40 |
250 cancelButton: $('#Cancel'), |
251 }); |
251 modalOpacity: 0.40 |
252 $("#popupWindow").on('open', function () { |
252 }); |
253 $("#name").jqxInput('selectAll'); |
253 $('#popupWindow').on('open', function() { |
254 }); |
254 $('#name').jqxInput('selectAll'); |
255 $("#Delete").jqxButton({ template: "danger", width: '90px', theme: theme }); |
255 }); |
256 $("#Delete").click(function () { |
256 $('#Delete').jqxButton({ template: 'danger', width: '90px', theme: theme }); |
257 if (editrow >= 0) { |
257 $('#Delete').click(function() { |
258 // Open a popup to confirm this action. |
258 if (editrow >= 0) { |
259 $('#eventWindow').jqxWindow('open'); |
259 // Open a popup to confirm this action. |
260 $("#delOk").click(function () { |
260 $('#eventWindow').jqxWindow('open'); |
261 var rowID = $('#jqxgrid').jqxGrid('getrowid', editrow); |
261 $('#delOk').click(function() { |
262 $("#jqxgrid").jqxGrid('deleterow', rowID); |
262 var rowID = $('#jqxgrid').jqxGrid('getrowid', editrow); |
263 }); |
263 $('#jqxgrid').jqxGrid('deleterow', rowID); |
264 } |
264 }); |
265 $("#popupWindow").jqxWindow('hide'); |
265 } |
266 }); |
266 $('#popupWindow').jqxWindow('hide'); |
267 $("#Cancel").jqxButton({ template: "primary", width: '90px', theme: theme }); |
267 }); |
268 $("#Save").jqxButton({ template: "success", width: '90px', theme: theme }); |
268 $('#Cancel').jqxButton({ template: 'primary', width: '90px', theme: theme }); |
269 // update the edited row when the user clicks the 'Save' button. |
269 $('#Save').jqxButton({ template: 'success', width: '90px', theme: theme }); |
270 $("#Save").click(function () { |
270 // update the edited row when the user clicks the 'Save' button. |
271 var row, rowID = -1; |
271 $('#Save').click(function() { |
272 if (editrow >= 0) { |
272 var row, rowID = -1; |
273 rowID = $('#jqxgrid').jqxGrid('getrowid', editrow); |
273 if (editrow >= 0) { |
274 } |
274 rowID = $('#jqxgrid').jqxGrid('getrowid', editrow); |
275 row = { |
275 } |
276 record: rowID, |
276 row = { |
277 name: $("#name").val(), |
277 record: rowID, |
278 unlimited_stock: $("#unlimited_stock").val(), |
278 name: $('#name').val(), |
279 calcium: parseFloat($("#calcium").jqxNumberInput('decimal')), |
279 unlimited_stock: $('#unlimited_stock').val(), |
280 bicarbonate: parseFloat($("#bicarbonate").jqxNumberInput('decimal')), |
280 calcium: parseFloat($('#calcium').jqxNumberInput('decimal')), |
281 sulfate: parseFloat($("#sulfate").jqxNumberInput('decimal')), |
281 bicarbonate: parseFloat($('#bicarbonate').jqxNumberInput('decimal')), |
282 chloride: parseFloat($("#chloride").jqxNumberInput('decimal')), |
282 sulfate: parseFloat($('#sulfate').jqxNumberInput('decimal')), |
283 sodium: parseFloat($("#sodium").jqxNumberInput('decimal')), |
283 chloride: parseFloat($('#chloride').jqxNumberInput('decimal')), |
284 magnesium: parseFloat($("#magnesium").jqxNumberInput('decimal')), |
284 sodium: parseFloat($('#sodium').jqxNumberInput('decimal')), |
285 ph: parseFloat($("#ph").jqxNumberInput('decimal')), |
285 magnesium: parseFloat($('#magnesium').jqxNumberInput('decimal')), |
286 notes: $("#notes").val(), |
286 ph: parseFloat($('#ph').jqxNumberInput('decimal')), |
287 total_alkalinity: parseFloat($("#total_alkalinity").jqxNumberInput('decimal')), |
287 notes: $('#notes').val(), |
288 inventory: parseFloat($("#inventory").jqxNumberInput('decimal')), |
288 total_alkalinity: parseFloat($('#total_alkalinity').jqxNumberInput('decimal')), |
289 cost: parseFloat($("#cost").jqxNumberInput('decimal')) |
289 inventory: parseFloat($('#inventory').jqxNumberInput('decimal')), |
290 }; |
290 cost: parseFloat($('#cost').jqxNumberInput('decimal')) |
291 if (editrow >= 0) { |
291 }; |
292 $('#jqxgrid').jqxGrid('updaterow', rowID, row); |
292 if (editrow >= 0) { |
293 } else { |
293 $('#jqxgrid').jqxGrid('updaterow', rowID, row); |
294 $('#jqxgrid').jqxGrid('addrow', null, row); |
294 } else { |
295 } |
295 $('#jqxgrid').jqxGrid('addrow', null, row); |
296 $("#popupWindow").jqxWindow('hide'); |
296 } |
297 }); |
297 $('#popupWindow').jqxWindow('hide'); |
298 createDelElements(); |
298 }); |
|
299 createDelElements(); |
299 }); |
300 }); |
300 |
301 |