www/js/mon_co2meter.js

changeset 526
2991acd35cdb
parent 507
17f244137a9b
child 678
14322825cb3d
--- a/www/js/mon_co2meter.js	Fri Oct 18 20:49:07 2019 +0200
+++ b/www/js/mon_co2meter.js	Sat Oct 19 12:17:29 2019 +0200
@@ -21,203 +21,202 @@
  *****************************************************************************/
 
 
-$(document).ready(function () {
+$(document).ready(function() {
 
-	var record = {},
-	blank = {},
-	newProduct = false,
-	schedule = 0,
+ var record = {},
+ blank = {},
+ newProduct = false,
+ schedule = 0,
 
-	productSource = {
-		datatype: "json",
-		cache: false,
-		datafields: [
-			{ name: 'code', type: 'string' },
-			{ name: 'name', type: 'string' },
-			{ name: 'uuid', type: 'string' }
-		],
-		id: 'code',
-		url: "includes/db_product.php?select=ferment"
-	},
-	productlist = new $.jqx.dataAdapter(productSource, {
-		beforeLoadComplete: function (records) {
-			var row, i, data = new Array();
-			// Create a dummy beer on top to store in idle meters.
-			blank['code'] = "Free";	 // Will override this later.
-			blank['name'] = 'Dummy';
-			blank['uuid'] = '66ecccbf-e942-4a35-af49-8b02314561a5';
-			data.push(blank);
-			for (i = 0; i < records.length; i++) {
-				row = records[i];
-				data.push(row);
-			}
-			return data;
-		},
-        	loadError: function(jqXHR, status, error) {
-                	$('#err').text(status + ' ' + error);
-		},
-	}),
-        gaugeoptionst = {
-                min: 10, max: 40, width: 375, height: 375,
-                ranges: [{ startValue: 10, endValue: 20, style: { fill: '#3399FF', stroke: '#3399FF' }, endWidth: 10, startWidth: 10 },
-                         { startValue: 20, endValue: 28, style: { fill: '#00CC33', stroke: '#00CC33' }, endWidth: 10, startWidth: 10 },
-                         { startValue: 28, endValue: 40, style: { fill: '#FC6A6A', stroke: '#FC6A6A' }, endWidth: 10, startWidth: 10 }],
-                ticksMinor: { interval: 1, size: '5%' },
-                ticksMajor: { interval: 5, size: '9%' },
-                labels: { interval: 5 },
-                style: { fill: '#eeeeee', stroke: '#666666' },
-                value: 0,
-                colorScheme: 'scheme05'
-        },
-        gaugeoptionsp = {
-                min: 0, max: 6, width: 375, height: 375,
-                ranges: [{ startValue: 0, endValue: 3, style: { fill: '#00CC33', stroke: '#00CC33' }, endWidth: 10, startWidth: 10 },
-                         { startValue: 3, endValue: 6, style: { fill: '#FC6A6A', stroke: '#FC6A6A' }, endWidth: 10, startWidth: 10 }],
-                ticksMinor: { interval: 0.2, size: '5%' },
-                ticksMajor: { interval: 1, size: '9%' },
-                labels: { interval: 1 },
-                style: { fill: '#eeeeee', stroke: '#666666' },
-                value: 0,
-                colorScheme: 'scheme05'
-        },
-        url = "getco2meter.php?uuid='" + my_uuid + "'",
-        source = {
-                datatype: "json",
-                datafields: [
-                        { name: 'record', type: 'int' },
-                        { name: 'uuid', type: 'string' },
-                        { name: 'alias', type: 'string' },
-                        { name: 'node', type: 'string' },
-                        { name: 'online', type: 'int' },
-                        { name: 'beercode', type: 'string' },
-                        { name: 'beername', type: 'string' },
-			{ name: 'beeruuid', type: 'string' },
-			{ name: 'mode', type: 'string' },
-			{ name: 'alarm', type: 'int' },
-                        { name: 'temperature_state', type: 'string' },
-                        { name: 'temperature', type: 'float' },
-                        { name: 'pressure_state', type: 'string' },
-                        { name: 'pressure_bar', type: 'float' }
-                ],
-                id: 'record',
-                url: url
-        },
-        dataAdapter = new $.jqx.dataAdapter(source, {
-                loadComplete: function (records) {
-                        record = dataAdapter.records[0];
-                        var oline = (record.online) ? "On-line" : "Off-line";
-                        $("#info_uuid").html(record.uuid);
-                        $("#info_system").html(record.node +  "/" + record.alias);
-                        $("#info_online").html(oline);
-			$("#info_beer").html(record.beercode + " - " + record.beername);
-                        $("#info_mode").html(record.mode);
-                        blank['name'] = record.alias;
-                        blank['code'] = record.alias.toUpperCase();
-                        blank['uuid'] = record.uuid;
+ productSource = {
+  datatype: 'json',
+  cache: false,
+  datafields: [
+   { name: 'code', type: 'string' },
+   { name: 'name', type: 'string' },
+   { name: 'uuid', type: 'string' }
+  ],
+  id: 'code',
+  url: 'includes/db_product.php?select=ferment'
+ },
+ productlist = new $.jqx.dataAdapter(productSource, {
+  beforeLoadComplete: function(records) {
+   var row, i, data = new Array();
+   // Create a dummy beer on top to store in idle meters.
+   blank['code'] = 'Free';  // Will override this later.
+   blank['name'] = 'Dummy';
+   blank['uuid'] = '66ecccbf-e942-4a35-af49-8b02314561a5';
+   data.push(blank);
+   for (i = 0; i < records.length; i++) {
+    row = records[i];
+    data.push(row);
+   }
+   return data;
+  },
+  loadError: function(jqXHR, status, error) {
+   $('#err').text(status + ' ' + error);
+  },
+ }),
+ gaugeoptionst = {
+  min: 10, max: 40, width: 375, height: 375,
+  ranges: [{ startValue: 10, endValue: 20, style: { fill: '#3399FF', stroke: '#3399FF' }, endWidth: 10, startWidth: 10 },
+           { startValue: 20, endValue: 28, style: { fill: '#00CC33', stroke: '#00CC33' }, endWidth: 10, startWidth: 10 },
+           { startValue: 28, endValue: 40, style: { fill: '#FC6A6A', stroke: '#FC6A6A' }, endWidth: 10, startWidth: 10 }],
+  ticksMinor: { interval: 1, size: '5%' },
+  ticksMajor: { interval: 5, size: '9%' },
+  labels: { interval: 5 },
+  style: { fill: '#eeeeee', stroke: '#666666' },
+  value: 0,
+  colorScheme: 'scheme05'
+ },
+ gaugeoptionsp = {
+  min: 0, max: 6, width: 375, height: 375,
+  ranges: [{ startValue: 0, endValue: 3, style: { fill: '#00CC33', stroke: '#00CC33' }, endWidth: 10, startWidth: 10 },
+           { startValue: 3, endValue: 6, style: { fill: '#FC6A6A', stroke: '#FC6A6A' }, endWidth: 10, startWidth: 10 }],
+  ticksMinor: { interval: 0.2, size: '5%' },
+  ticksMajor: { interval: 1, size: '9%' },
+  labels: { interval: 1 },
+  style: { fill: '#eeeeee', stroke: '#666666' },
+  value: 0,
+  colorScheme: 'scheme05'
+ },
+ url = 'getco2meter.php?uuid="' + my_uuid + '"',
+ source = {
+  datatype: 'json',
+  datafields: [
+   { name: 'record', type: 'int' },
+   { name: 'uuid', type: 'string' },
+   { name: 'alias', type: 'string' },
+   { name: 'node', type: 'string' },
+   { name: 'online', type: 'int' },
+   { name: 'beercode', type: 'string' },
+   { name: 'beername', type: 'string' },
+   { name: 'beeruuid', type: 'string' },
+   { name: 'mode', type: 'string' },
+   { name: 'alarm', type: 'int' },
+   { name: 'temperature_state', type: 'string' },
+   { name: 'temperature', type: 'float' },
+   { name: 'pressure_state', type: 'string' },
+   { name: 'pressure_bar', type: 'float' }
+  ],
+  id: 'record',
+  url: url
+ },
+ dataAdapter = new $.jqx.dataAdapter(source, {
+  loadComplete: function(records) {
+   record = dataAdapter.records[0];
+   var oline = (record.online) ? 'On-line' : 'Off-line';
+   $('#info_uuid').html(record.uuid);
+   $('#info_system').html(record.node + '/' + record.alias);
+   $('#info_online').html(oline);
+   $('#info_beer').html(record.beercode + ' - ' + record.beername);
+   $('#info_mode').html(record.mode);
+   blank['name'] = record.alias;
+   blank['code'] = record.alias.toUpperCase();
+   blank['uuid'] = record.uuid;
 
-                        if (record.online && (record.mode != "OFF")) {
-                                $("#co2meter_powerled").html('<div class="LEDblue_on"></div>Power');
-                                $("#select_beer").jqxDropDownList({ disabled: true });
-                                $("#select_beer").jqxDropDownList('clearSelection');
-                                $("#select_beer").hide();
-                        } else {
-                                $("#co2meter_powerled").html('<div class="LEDblue_off"></div>Power');
-                                $("#select_beer").show();
-                                $("#select_beer").jqxDropDownList({ disabled: false });
-
-                        }
-			if (record.online && (record.alarm != "0")) {
-                                $("#co2meter_alarmled").html('<div class="LEDred_on"></div>Alarm');
-                        } else {
-                                $("#co2meter_alarmled").html('<div class="LEDred_off"></div>Alarm');
-                        }
+   if (record.online && (record.mode != 'OFF')) {
+    $('#co2meter_powerled').html('<div class="LEDblue_on"></div>Power');
+    $('#select_beer').jqxDropDownList({ disabled: true });
+    $('#select_beer').jqxDropDownList('clearSelection');
+    $('#select_beer').hide();
+   } else {
+    $('#co2meter_powerled').html('<div class="LEDblue_off"></div>Power');
+    $('#select_beer').show();
+    $('#select_beer').jqxDropDownList({ disabled: false });
+   }
+   if (record.online && (record.alarm != '0')) {
+    $('#co2meter_alarmled').html('<div class="LEDred_on"></div>Alarm');
+   } else {
+    $('#co2meter_alarmled').html('<div class="LEDred_off"></div>Alarm');
+   }
 
-                        $("#gaugeContainer_temperature").jqxGauge({ caption: { value: 'Temp: '+record.temperature.toFixed(3) }});
-                        $('#gaugeContainer_temperature').jqxGauge({ value: record.temperature });
-                        if (record.temperature_state == "OK") {
-                                $("#gaugeContainer_temperature").jqxGauge({ disabled: false });
-                        } else {
-                                $("#gaugeContainer_temperature").jqxGauge({ disabled: true });
-                        }
-                        $("#gaugeContainer_pressure").jqxGauge({ caption: { value: 'Bar: '+record.pressure_bar.toFixed(2) }});
-                        $('#gaugeContainer_pressure').jqxGauge({ value: record.pressure_bar });
-                        if (record.pressure_state == "OK") {
-                                $("#gaugeContainer_pressure").jqxGauge({ disabled: false });
-                        } else {
-                                $("#gaugeContainer_pressure").jqxGauge({ disabled: true });
-                        }
-                }
-        });
+   $('#gaugeContainer_temperature').jqxGauge({ caption: { value: 'Temp: ' + record.temperature.toFixed(3) }});
+   $('#gaugeContainer_temperature').jqxGauge({ value: record.temperature });
+   if (record.temperature_state == 'OK') {
+    $('#gaugeContainer_temperature').jqxGauge({ disabled: false });
+   } else {
+    $('#gaugeContainer_temperature').jqxGauge({ disabled: true });
+   }
+   $('#gaugeContainer_pressure').jqxGauge({ caption: { value: 'Bar: ' + record.pressure_bar.toFixed(2) }});
+   $('#gaugeContainer_pressure').jqxGauge({ value: record.pressure_bar });
+   if (record.pressure_state == 'OK') {
+    $('#gaugeContainer_pressure').jqxGauge({ disabled: false });
+   } else {
+    $('#gaugeContainer_pressure').jqxGauge({ disabled: true });
+   }
+  }
+ });
 
-	$("#select_beer").jqxDropDownList({
-		placeHolder: "Kies bier:",
-		theme: theme,
-		source: productlist,
-		displayMember: "code",
-		width: 150,
-		height: 24,
-		dropDownWidth: 500,
-		autoDropDownHeight: true,
-		renderer: function (index, label, value) {
-			var datarecord = productlist.records[index];
-			return datarecord.code + " - " + datarecord.name;
-		}
-	});
+ $('#select_beer').jqxDropDownList({
+  placeHolder: 'Kies bier:',
+  theme: theme,
+  source: productlist,
+  displayMember: 'code',
+  width: 150,
+  height: 24,
+  dropDownWidth: 500,
+  autoDropDownHeight: true,
+  renderer: function(index, label, value) {
+   var datarecord = productlist.records[index];
+   return datarecord.code + ' - ' + datarecord.name;
+  }
+ });
+
+ $('#gaugeContainer_temperature').jqxGauge(gaugeoptionst);
+ $('#gaugeContainer_temperature').jqxGauge({ caption: { value: 'Temp: 00.000' }});
+ $('#gaugeContainer_pressure').jqxGauge(gaugeoptionsp);
+ $('#gaugeContainer_pressure').jqxGauge({ caption: { value: 'Bar: 00.000' }});
 
-	$("#gaugeContainer_temperature").jqxGauge( gaugeoptionst );
-	$("#gaugeContainer_temperature").jqxGauge( { caption: { value: 'Temp: 00.000' }} );
-	$("#gaugeContainer_pressure").jqxGauge( gaugeoptionsp );
-	$("#gaugeContainer_pressure").jqxGauge( { caption: { value: 'Bar: 00.000' }} );
-
-	function sendProduct(code, name, uuid) {
+ function sendProduct(code, name, uuid) {
 
-		console.log("sendProduct("+code+", "+name+", "+uuid+")");
-		var data  = 'uuid='+record.uuid+'&beeruuid='+uuid+'&beercode='+code+'&beername='+name;
-		$.ajax({
-			url: "cmd_co2meter.php",
-			data: data,
-			type: "POST",
-			success: function(data) {},
-			error: function(jqXHR, textStatus, errorThrown) { console.log("sendProduct() error"); }
-		});
-	}
+  console.log('sendProduct(' + code + ', ' + name + ', ' + uuid + ')');
+  var data = 'uuid=' + record.uuid + '&beeruuid=' + uuid + '&beercode=' + code + '&beername=' + name;
+  $.ajax({
+   url: 'cmd_co2meter.php',
+   data: data,
+   type: 'POST',
+   success: function(data) {},
+   error: function(jqXHR, textStatus, errorThrown) { console.log('sendProduct() error'); }
+  });
+ }
 
-	// Get the data immediatly and then at regular intervals to refresh.
-	dataAdapter.dataBind();
-	setInterval(function() {
-		var skip = false;
-		if (newProduct) {
-			sendProduct(record.beercode, record.beername, record.beeruuid);
-			newProduct = false;
-			skip = true;
-		}
-		if (skip) {
-			schedule = 4;	// 2 seconds wait to get the results
-		} else {
-			if (schedule > 0)
-				schedule--;
-		}
+ // Get the data immediatly and then at regular intervals to refresh.
+ dataAdapter.dataBind();
+ setInterval(function() {
+  var skip = false;
+  if (newProduct) {
+   sendProduct(record.beercode, record.beername, record.beeruuid);
+   newProduct = false;
+   skip = true;
+  }
+  if (skip) {
+   schedule = 4; // 2 seconds wait to get the results
+  } else {
+   if (schedule > 0)
+    schedule--;
+  }
 
-		if (schedule <= 0) {
-			dataAdapter.dataBind();
-			schedule = 20;
-		}
-	}, 500);
+  if (schedule <= 0) {
+   dataAdapter.dataBind();
+   schedule = 20;
+  }
+ }, 500);
 
-	$("#select_beer").on('select', function (event) {
-		if (event.args) {
-			var index = event.args.index,
-			datarecord = productlist.records[index];
-			record.beercode = datarecord.code;
-			record.beername = datarecord.name;
-			record.beeruuid = datarecord.uuid;
-			newProduct = true;
-		}
-	});
+ $('#select_beer').on('select', function(event) {
+  if (event.args) {
+   var index = event.args.index,
+   datarecord = productlist.records[index];
+   record.beercode = datarecord.code;
+   record.beername = datarecord.name;
+   record.beeruuid = datarecord.uuid;
+   newProduct = true;
+  }
+ });
 
-	// The chart button.
-   	$("#FLog").jqxButton({ template: "primary", width: '150px', theme: theme });
-	$("#FLog").click(function () {
-		window.open('log_co2pressure.php?code=' + record.beercode + '&name=' + record.beername);
-	});
+ // The chart button.
+ $('#FLog').jqxButton({ template: 'primary', width: '150px', theme: theme });
+ $('#FLog').click(function() {
+  window.open('log_co2pressure.php?code=' + record.beercode + '&name=' + record.beername);
+ });
 });

mercurial