www/js/log_co2pressure.js

changeset 507
17f244137a9b
child 527
9dfefad3ae1d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/www/js/log_co2pressure.js	Fri Oct 11 22:48:43 2019 +0200
@@ -0,0 +1,141 @@
+/*****************************************************************************
+ * Copyright (C) 2019
+ *
+ * Michiel Broek <mbroek at mbse dot eu>
+ *
+ * This file is part of BMS
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2, or (at your option) any
+ * later version.
+ *
+ * Brewery Managment System  is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with ThermFerm; see the file COPYING.  If not, write to the Free
+ * Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ *****************************************************************************/
+
+
+$(document).ready(function () {
+
+	$('#jqxMenu').jqxMenu('destroy');
+
+	$("#jqxLoader").jqxLoader({
+		width: 250,
+		height: 150,
+		isModal: true,
+		text: "Opmaken grafiek ...",
+		theme: theme
+	});
+	$('#jqxLoader').jqxLoader('open');
+
+	function getExportServer() {
+		return "https://www.jqwidgets.com/export_server/export.php";
+	}
+
+	var sourceA = {
+		datatype: "json",
+		datafields: [
+			{ name: "date", type: "date", format: "yyyy-MM-dd HH:mm" },
+			{ name: "temperature", type: "float" },
+			{ name: "pressure", type: "float" },
+			{ name: "uuid", type: "string" }
+		],
+		url: 'getco2pressurelog.php?code=' + my_code + '&name=' + my_name
+	},
+	dataAdapter = new $.jqx.dataAdapter(sourceA, {
+		autoBind: true,
+		async: false,
+		loadComplete: function () {
+			$('#jqxLoader').jqxLoader('close');
+		},
+		loadError: function (jqXHR, status, error) {
+		}
+	}),
+	settings = {
+		 title: my_code + ' "' + my_name + '"',
+		 description: "",
+		 source: dataAdapter,
+		 xAxis: {
+			 dataField: 'date',
+			 type: 'date',
+			 formatFunction: function (value) {
+				 return value.getDate() + '-' + (value.getMonth() + 1) + '-' + value.getFullYear();
+			 },
+			 toolTipFormatFunction: function (value) {
+				 var h = value.getHours(),
+				 m = value.getMinutes();
+				 return value.getDate() + '-' + (value.getMonth() + 1) + '-' + value.getFullYear()
+					 + ' ' + (h < 10 ? '0' + h : h) + ':' + (m < 10 ? '0' + m : m);
+			 },
+			 textRotationAngle: 45,
+			 howGridLines: false
+		 },
+		 colorScheme: 'scheme01',
+		 seriesGroups: [
+			{
+                                type: "area",
+                                valueAxis: {
+                                        minValue: 0,
+                                        displayValueAxis: false,
+                                        description: "Druk in bar"
+                                },
+                                series: [
+                                        { dataField: "pressure", lineWidth: 1, displayText: "Druk", opacity: 0.4 }
+                                ]
+                        },
+			{
+				type: 'spline',
+				valueAxis: {
+					minValue: 0,
+					description: 'Graden C'
+				},
+				series: [
+					{ dataField: "temperature", lineWidth: 1, displayText: "Temperatuur" }
+				]
+			}
+		 ]
+	};
+	$("#pressure_chart").jqxChart(settings);
+
+	$("#print").click(function () {
+		var content = $("#pressure_chart")[0].outerHTML,
+		newWindow = window.open("", "", "width=865, height=425"),
+		document = newWindow.document.open(),
+		pageContent =
+			'<!DOCTYPE html>' +
+			'<html>' +
+			'<head>' +
+			'<link rel="stylesheet" href="jqwidgets/styles/jqx.base.css" type="text/css" />' +
+			'<meta charset="utf-8" />' +
+			'<title>' + my_code + ' ' + my_name + ' hergisting</title>' +
+			'</head>' +
+			'<body>' + content + '</body></html>';
+		document.write(pageContent);
+		document.close();
+		newWindow.print();
+	});
+	$("#print").jqxButton({ template: "primary", width: 125, theme: theme });
+
+
+	$("#pdfButton").click(function () {
+		$("#pressure_chart").jqxChart("saveAsPDF", "hergisting_"+my_code+".pdf", getExportServer());
+	});
+	$("#pdfButton").jqxButton({ template: "primary", width: 125, theme: theme });
+
+	$("#pngButton").click(function () {
+		$("#pressure_chart").jqxChart("saveAsPNG", "hergisting_"+my_code+".png", getExportServer());
+	});
+	$("#pngButton").jqxButton({ template: "primary", width: 125, theme: theme });
+
+	$("#Close").jqxButton({ template: "success", width: 125, theme: theme });
+	$("#Close").click(function () {
+		window.close();
+	});
+});
+

mercurial