168 { name: 'f_added', type: 'string' }, |
168 { name: 'f_added', type: 'string' }, |
169 { name: 'f_dissolved_protein', type: 'float' }, |
169 { name: 'f_dissolved_protein', type: 'float' }, |
170 { name: 'f_recommend_mash', type: 'bool' }, |
170 { name: 'f_recommend_mash', type: 'bool' }, |
171 { name: 'f_add_after_boil', type: 'bool' }, |
171 { name: 'f_add_after_boil', type: 'bool' }, |
172 { name: 'f_adjust_to_total_100', type: 'bool' }, |
172 { name: 'f_adjust_to_total_100', type: 'bool' }, |
|
173 { name: 'f_percentage', type: 'float' }, |
173 { name: 'f_di_ph', type: 'float' } |
174 { name: 'f_di_ph', type: 'float' } |
174 ], |
175 ], |
175 addrow: function (rowid, rowdata, position, commit) { |
176 addrow: function (rowid, rowdata, position, commit) { |
176 commit(true); |
177 commit(true); |
177 }, |
178 }, |
185 var fermentableInvSource = { |
186 var fermentableInvSource = { |
186 datatype: "json", |
187 datatype: "json", |
187 datafields: [ |
188 datafields: [ |
188 { name: 'record', type: 'number' }, |
189 { name: 'record', type: 'number' }, |
189 { name: 'name', type: 'string' }, |
190 { name: 'name', type: 'string' }, |
190 { name: 'cost', type: 'float' }, |
|
191 { name: 'type', type: 'string' }, |
191 { name: 'type', type: 'string' }, |
192 { name: 'yield', type: 'float' }, |
192 { name: 'yield', type: 'float' }, |
193 { name: 'color', type: 'float' }, |
193 { name: 'color', type: 'float' }, |
|
194 { name: 'add_after_boil', type: 'bool' }, |
|
195 { name: 'origin', type: 'string' }, |
|
196 { name: 'supplier', type: 'string' }, |
194 { name: 'coarse_fine_diff', type: 'float' }, |
197 { name: 'coarse_fine_diff', type: 'float' }, |
195 { name: 'moisture', type: 'float' }, |
198 { name: 'moisture', type: 'float' }, |
196 { name: 'diastatic_power', type: 'float' }, |
199 { name: 'diastatic_power', type: 'float' }, |
197 { name: 'protein', type: 'float' }, |
200 { name: 'protein', type: 'float' }, |
198 { name: 'max_in_batch', type: 'float' }, |
201 { name: 'max_in_batch', type: 'float' }, |
|
202 { name: 'recommend_mash', type: 'bool' }, |
199 { name: 'graintype', type: 'string' }, |
203 { name: 'graintype', type: 'string' }, |
200 { name: 'added', type: 'string' }, |
204 { name: 'di_ph', type: 'float' }, |
201 { name: 'dissolved_protein', type: 'float' }, |
205 { name: 'inventory', type: 'float' }, |
202 { name: 'adjust_to_total_100', type: 'bool' }, |
206 { name: 'cost', type: 'float' } |
203 { name: 'di_ph', type: 'float' } |
|
204 ], |
207 ], |
205 url: fermentableUrl, |
208 url: fermentableUrl, |
206 async: true |
209 async: true |
207 }; |
210 }; |
208 var fermentablelist = new $.jqx.dataAdapter(fermentableInvSource); |
211 var fermentablelist = new $.jqx.dataAdapter(fermentableInvSource); |
219 showtoolbar: true, |
222 showtoolbar: true, |
220 rendertoolbar: function (toolbar) { |
223 rendertoolbar: function (toolbar) { |
221 var me = this; |
224 var me = this; |
222 var container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>"); |
225 var container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>"); |
223 toolbar.append(container); |
226 toolbar.append(container); |
224 container.append('<div style="float: left; margin-left: 165px;" id="addrowbutton"></div>'); |
227 container.append('<div style="float: left; margin-left: 165px;" id="faddrowbutton"></div>'); |
225 container.append('<input style="float: left; margin-left: 230px;" id="deleterowbutton" type="button" value="Verwijder mout" />'); |
228 container.append('<input style="float: left; margin-left: 230px;" id="fdeleterowbutton" type="button" value="Verwijder mout" />'); |
226 // add fermentable from dropdownlist. |
229 // add fermentable from dropdownlist. |
227 $("#addrowbutton").jqxDropDownList({ |
230 $("#faddrowbutton").jqxDropDownList({ |
228 placeHolder: "Kies mout:", |
231 placeHolder: "Kies mout:", |
229 theme: theme, |
232 theme: theme, |
230 source: fermentablelist, |
233 source: fermentablelist, |
231 displayMember: "name", |
234 displayMember: "name", |
232 width: 150, |
235 width: 150, |
233 height: 27, |
236 height: 27, |
234 dropDownWidth: 300 |
237 dropDownWidth: 300 |
235 }); |
238 }); |
236 $("#addrowbutton").on('select', function (event) { |
239 $("#faddrowbutton").on('select', function (event) { |
237 if (event.args) { |
240 if (event.args) { |
238 var index = event.args.index; |
241 var index = event.args.index; |
239 var datarecord = fermentablelist.records[index]; |
242 var datarecord = fermentablelist.records[index]; |
240 var row = {}; |
243 var row = {}; |
241 row["f_name"] = datarecord.name; |
244 row["f_name"] = datarecord.name; |
|
245 row["f_origin"] = datarecord.origin; |
|
246 row["f_supplier"] = datarecord.supplier; |
242 row["f_amount"] = 0; |
247 row["f_amount"] = 0; |
243 row["f_cost"] = datarecord.cost; |
248 row["f_cost"] = datarecord.cost; |
|
249 row["f_type"] = datarecord.type; |
|
250 row["f_yield"] = datarecord.yield; |
|
251 row["f_color"] = datarecord.color; |
|
252 row["f_coarse_fine_diff"] = datarecord.coarse_fine_diff; |
|
253 row["f_moisture"] = datarecord.moisture; |
|
254 row["f_diastatic_power"] = datarecord.diastatic_power; |
|
255 row["f_protein"] = datarecord.protein; |
|
256 row["f_max_in_batch"] = datarecord.max_in_batch; |
|
257 row["f_graintype"] = datarecord.graintype; |
|
258 if (datarecord.type == "Sugar") { |
|
259 row["f_added"] = "Boil"; |
|
260 } else { |
|
261 row["f_added"] = "Mash"; |
|
262 } |
|
263 row["f_dissolved_protein"] = 0; |
|
264 row["f_recommend_mash"] = datarecord.recommend_mash; |
|
265 row["f_add_after_boil"] = datarecord.add_after_boil; |
|
266 row["f_adjust_to_total_100"] = 0; |
|
267 row["f_percentage"] = 0; |
|
268 row["f_di_ph"] = datarecord.di_ph; |
244 var commit = $("#fermentableGrid").jqxGrid('addrow', null, row); |
269 var commit = $("#fermentableGrid").jqxGrid('addrow', null, row); |
245 } |
270 } |
246 }); |
271 }); |
247 |
272 |
248 // delete selected fermentable. |
273 // delete selected fermentable. |
249 // Precentage aanpassen basis mout. |
274 // Precentage aanpassen basis mout. |
250 $("#deleterowbutton").jqxButton({ theme: theme, height: 27, width: 150 }); |
275 $("#fdeleterowbutton").jqxButton({ theme: theme, height: 27, width: 150 }); |
251 $("#deleterowbutton").on('click', function () { |
276 $("#fdeleterowbutton").on('click', function () { |
252 var selectedrowindex = $("#fermentableGrid").jqxGrid('getselectedrowindex'); |
277 var selectedrowindex = $("#fermentableGrid").jqxGrid('getselectedrowindex'); |
253 var rowscount = $("#fermentableGrid").jqxGrid('getdatainformation').rowscount; |
278 var rowscount = $("#fermentableGrid").jqxGrid('getdatainformation').rowscount; |
254 if (selectedrowindex >= 0 && selectedrowindex < rowscount) { |
279 if (selectedrowindex >= 0 && selectedrowindex < rowscount) { |
255 var id = $("#fermentableGrid").jqxGrid('getrowid', selectedrowindex); |
280 var id = $("#fermentableGrid").jqxGrid('getrowid', selectedrowindex); |
256 var commit = $("#fermentableGrid").jqxGrid('deleterow', id); |
281 var commit = $("#fermentableGrid").jqxGrid('deleterow', id); |
258 }); |
283 }); |
259 }, |
284 }, |
260 columns: [ |
285 columns: [ |
261 { text: 'Mout/suiker', editable: false, datafield: 'f_name' }, |
286 { text: 'Mout/suiker', editable: false, datafield: 'f_name' }, |
262 { text: 'Type', editable: false, width: 100, datafield: 'f_type' }, |
287 { text: 'Type', editable: false, width: 100, datafield: 'f_type' }, |
|
288 { text: 'Opbrengst', datafield: 'f_yield', width: 80, align: 'right', cellsalign: 'right', cellsformat: 'p1' }, |
263 { text: 'Gewicht', datafield: 'f_amount', width: 110, align: 'right', cellsalign: 'right', cellsformat: 'f3', |
289 { text: 'Gewicht', datafield: 'f_amount', width: 110, align: 'right', cellsalign: 'right', cellsformat: 'f3', |
264 columntype: 'numberinput', |
290 columntype: 'numberinput', |
265 validation: function (cell, value) { |
291 validation: function (cell, value) { |
266 if (value < 0 || value > 100000000000 ) { |
292 if (value < 0 || value > 100000000000 ) { |
267 return { result: false, message: "Volume moet 0-~ zijn" }; |
293 return { result: false, message: "Volume moet 0-~ zijn" }; |
268 } |
294 } |
269 return true; |
295 return true; |
270 } |
296 } |
271 } |
297 }, |
|
298 { text: 'Procent', datafield: 'f_percentage', width: 110, align: 'right', cellsalign: 'right', cellsformat: 'p3', |
|
299 columntype: 'numberinput', |
|
300 validation: function (cell, value) { |
|
301 if (value < 0 || value > 100) { |
|
302 return { result: false, message: "Percentage moet 0-100 zijn" }; |
|
303 } |
|
304 return true; |
|
305 } |
|
306 }, |
|
307 { text: '100%', datafield: 'f_adjust_to_total_100', columntype: 'checkbox', width: 80 } |
272 ] |
308 ] |
273 }) |
309 }) |
274 }; |
310 }; |
275 |
311 |
276 // Inline hops editor |
312 // Inline hops editor |
340 showtoolbar: true, |
376 showtoolbar: true, |
341 rendertoolbar: function (toolbar) { |
377 rendertoolbar: function (toolbar) { |
342 var me = this; |
378 var me = this; |
343 var container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>"); |
379 var container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>"); |
344 toolbar.append(container); |
380 toolbar.append(container); |
345 container.append('<div style="float: left; margin-left: 165px;" id="addrowbutton"></div>'); |
381 container.append('<div style="float: left; margin-left: 165px;" id="waddrowbutton"></div>'); |
346 container.append('<input style="float: left; margin-left: 230px;" id="deleterowbutton" type="button" value="Verwijder water" />'); |
382 container.append('<input style="float: left; margin-left: 230px;" id="wdeleterowbutton" type="button" value="Verwijder water" />'); |
347 // add water from dropdownlist. |
383 // add water from dropdownlist. |
348 $("#addrowbutton").jqxDropDownList({ |
384 $("#waddrowbutton").jqxDropDownList({ |
349 placeHolder: "Kies water:", |
385 placeHolder: "Kies water:", |
350 theme: theme, |
386 theme: theme, |
351 source: waterlist, |
387 source: waterlist, |
352 displayMember: "name", |
388 displayMember: "name", |
353 width: 150, |
389 width: 150, |
354 height: 27, |
390 height: 27, |
355 dropDownWidth: 300 |
391 dropDownWidth: 300 |
356 }); |
392 }); |
357 $("#addrowbutton").on('select', function (event) { |
393 $("#waddrowbutton").on('select', function (event) { |
358 if (event.args) { |
394 if (event.args) { |
359 var index = event.args.index; |
395 var index = event.args.index; |
360 var datarecord = waterlist.records[index]; |
396 var datarecord = waterlist.records[index]; |
361 var row = {}; |
397 var row = {}; |
362 row["w_name"] = datarecord.name; |
398 row["w_name"] = datarecord.name; |
374 } |
410 } |
375 }); |
411 }); |
376 |
412 |
377 // delete selected water. |
413 // delete selected water. |
378 // Overgebleven waters in volume verhogen met het verwijderde water. |
414 // Overgebleven waters in volume verhogen met het verwijderde water. |
379 $("#deleterowbutton").jqxButton({ theme: theme, height: 27, width: 150 }); |
415 $("#wdeleterowbutton").jqxButton({ theme: theme, height: 27, width: 150 }); |
380 $("#deleterowbutton").on('click', function () { |
416 $("#wdeleterowbutton").on('click', function () { |
381 var selectedrowindex = $("#waterGrid").jqxGrid('getselectedrowindex'); |
417 var selectedrowindex = $("#waterGrid").jqxGrid('getselectedrowindex'); |
382 var rowscount = $("#waterGrid").jqxGrid('getdatainformation').rowscount; |
418 var rowscount = $("#waterGrid").jqxGrid('getdatainformation').rowscount; |
383 if (selectedrowindex >= 0 && selectedrowindex < rowscount) { |
419 if (selectedrowindex >= 0 && selectedrowindex < rowscount) { |
384 var id = $("#waterGrid").jqxGrid('getrowid', selectedrowindex); |
420 var id = $("#waterGrid").jqxGrid('getrowid', selectedrowindex); |
385 var commit = $("#waterGrid").jqxGrid('deleterow', id); |
421 var commit = $("#waterGrid").jqxGrid('deleterow', id); |