58 datatype: "json", |
58 datatype: "json", |
59 cache: false, |
59 cache: false, |
60 datafields: [ |
60 datafields: [ |
61 { name: 'code', type: 'string' }, |
61 { name: 'code', type: 'string' }, |
62 { name: 'name', type: 'string' }, |
62 { name: 'name', type: 'string' }, |
|
63 { name: 'uuid', type: 'string' }, |
63 { name: 'stage', type: 'string' }, |
64 { name: 'stage', type: 'string' }, |
64 ], |
65 ], |
65 id: 'code', |
66 id: 'code', |
66 url: "includes/db_product.php?select=ferment" |
67 url: "includes/db_product.php?select=ferment" |
67 }; |
68 }; |
69 beforeLoadComplete: function (records) { |
70 beforeLoadComplete: function (records) { |
70 var data = new Array(); |
71 var data = new Array(); |
71 // Create a dummy beer on top to store in idle fermenters. |
72 // Create a dummy beer on top to store in idle fermenters. |
72 blank['code'] = "Free"; // Will override this later. |
73 blank['code'] = "Free"; // Will override this later. |
73 blank['name'] = 'Dummy'; |
74 blank['name'] = 'Dummy'; |
|
75 blank['uuid'] = '66ecccbf-e942-4a35-af49-8b02314561a5'; |
74 blank['stage'] = "Ready"; |
76 blank['stage'] = "Ready"; |
75 data.push(blank); |
77 data.push(blank); |
76 for (var i = 0; i < records.length; i++) { |
78 for (var i = 0; i < records.length; i++) { |
77 var row = records[i]; |
79 var row = records[i]; |
78 data.push(row); |
80 data.push(row); |
117 }; |
119 }; |
118 var profilelist = new $.jqx.dataAdapter(profileSource, { |
120 var profilelist = new $.jqx.dataAdapter(profileSource, { |
119 beforeLoadComplete: function (records) { |
121 beforeLoadComplete: function (records) { |
120 var data = new Array(); |
122 var data = new Array(); |
121 var empty = {}; |
123 var empty = {}; |
122 // Create a dummy beer on top to store in idle fermenters. |
124 // Create a dummy profile on top of the list. |
123 empty['record'] = -1; |
125 empty['record'] = -1; |
124 empty['uuid'] = ''; |
126 empty['uuid'] = ''; |
125 empty['name'] = 'Wis profiel'; |
127 empty['name'] = 'Wis profiel'; |
126 empty['inittemp_lo'] = 20; |
128 empty['inittemp_lo'] = 20; |
127 empty['inittemp_hi'] = 20; |
129 empty['inittemp_hi'] = 20; |
254 console.log("sendBase() error"); |
256 console.log("sendBase() error"); |
255 } |
257 } |
256 }); |
258 }); |
257 } |
259 } |
258 |
260 |
259 function sendProduct(code, name) { |
261 function sendProduct(code, name, uuid) { |
260 |
262 |
261 console.log("sendProduct("+code+", "+name+")"); |
263 console.log("sendProduct("+code+", "+name+", "+uuid+")"); |
262 var data = 'node='+record.node+'&alias='+record.alias+'&payload='; |
264 var data = 'node='+record.node+'&alias='+record.alias+'&payload='; |
263 data += '{"product":{"code":"'+code+'","name":"'+name+'"}}'; |
265 data += '{"product":{"code":"'+code+'","name":"'+name+'","uuid":"'+uuid+'"}}'; |
264 $.ajax({ |
266 $.ajax({ |
265 url: "cmd_fermenter.php", |
267 url: "cmd_fermenter.php", |
266 data: data, |
268 data: data, |
267 type: "POST", |
269 type: "POST", |
268 success: function(data) { |
270 success: function(data) { |
349 $("#info_mode").jqxDropDownList('selectItem', record.mode); |
351 $("#info_mode").jqxDropDownList('selectItem', record.mode); |
350 $("#info_stage").jqxDropDownList('selectItem', record.stage); |
352 $("#info_stage").jqxDropDownList('selectItem', record.stage); |
351 $("#info_profile").html(record.profile_name); |
353 $("#info_profile").html(record.profile_name); |
352 blank['name'] = record.alias; |
354 blank['name'] = record.alias; |
353 blank['code'] = record.alias.toUpperCase(); |
355 blank['code'] = record.alias.toUpperCase(); |
|
356 blank['uuid'] = record.uuid; |
354 if (record.profile_name == "") |
357 if (record.profile_name == "") |
355 $("#info_mode").jqxDropDownList('disableItem', "PROFILE"); |
358 $("#info_mode").jqxDropDownList('disableItem', "PROFILE"); |
356 else |
359 else |
357 $("#info_mode").jqxDropDownList('enableItem', "PROFILE"); |
360 $("#info_mode").jqxDropDownList('enableItem', "PROFILE"); |
358 $("#target_lo").val(record.setpoint_low); |
361 $("#target_lo").val(record.setpoint_low); |
501 sendSwitch(record.heater_state, record.cooler_state, record.fan_state, record.light_state); |
504 sendSwitch(record.heater_state, record.cooler_state, record.fan_state, record.light_state); |
502 newSwitch = false; |
505 newSwitch = false; |
503 skip = true; |
506 skip = true; |
504 } |
507 } |
505 if (newProduct) { |
508 if (newProduct) { |
506 sendProduct(record.code, record.name); |
509 sendProduct(record.beercode, record.beername, record.beeruuid); |
507 newProduct = false; |
510 newProduct = false; |
508 skip = true; |
511 skip = true; |
509 } |
512 } |
510 if (newProfile) { |
513 if (newProfile) { |
511 sendProfile(ppayload); |
514 sendProfile(ppayload); |
538 }); |
541 }); |
539 $("#select_beer").on('select', function (event) { |
542 $("#select_beer").on('select', function (event) { |
540 if (event.args) { |
543 if (event.args) { |
541 var index = event.args.index; |
544 var index = event.args.index; |
542 var datarecord = productlist.records[index]; |
545 var datarecord = productlist.records[index]; |
543 record.code = datarecord.code; |
546 record.beercode = datarecord.code; |
544 record.name = datarecord.name; |
547 record.beername = datarecord.name; |
|
548 record.beeruuid = datarecord.uuid; |
545 newProduct = true; |
549 newProduct = true; |
546 } |
550 } |
547 }); |
551 }); |
548 $("#select_profile").on('select', function (event) { |
552 $("#select_profile").on('select', function (event) { |
549 if (event.args) { |
553 if (event.args) { |