www/js/log_fermentation.js

Sat, 05 Jan 2019 17:10:39 +0100

author
Michiel Broek <mbroek@mbse.eu>
date
Sat, 05 Jan 2019 17:10:39 +0100
changeset 172
684c651dd165
child 179
8adaeecd9dc8
permissions
-rw-r--r--

Added fermentation graph screen

172
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1 /*****************************************************************************
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
2 * Copyright (C) 2019
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
3 *
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
4 * Michiel Broek <mbroek at mbse dot eu>
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
5 *
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
6 * This file is part of BMS
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
7 *
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
8 * This is free software; you can redistribute it and/or modify it
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
9 * under the terms of the GNU General Public License as published by the
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
10 * Free Software Foundation; either version 2, or (at your option) any
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
11 * later version.
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
12 *
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
13 * Brewery Managment System is distributed in the hope that it will be useful,
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
16 * General Public License for more details.
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
17 *
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
18 * You should have received a copy of the GNU General Public License
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
19 * along with ThermFerm; see the file COPYING. If not, write to the Free
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
20 * Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
21 *****************************************************************************/
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
22
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
23
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
24 $(document).ready(function () {
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
25
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
26 $("#jqxLoader").jqxLoader({
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
27 width: 250,
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
28 height: 150,
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
29 isModal: true,
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
30 text: "Opmaken grafiek ...",
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
31 theme: theme
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
32 });
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
33 $('#jqxLoader').jqxLoader('open');
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
34
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
35 function getExportServer() {
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
36 return "https://www.jqwidgets.com/export_server/export.php";
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
37 }
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
38
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
39 var sourceA = {
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
40 datatype: "json",
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
41 datafields: [
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
42 { name: "date", type: "date", format: "yyyy-MM-dd HH:mm" },
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
43 { name: "air", type: "float" },
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
44 { name: "beer", type: "float" },
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
45 { name: "tlo", type: "float" },
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
46 { name: "thi", type: "float" },
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
47 { name: "heater", type: "int" },
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
48 { name: "cooler", type: "int" },
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
49 { name: "room", type: "float" },
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
50 { name: "chiller", type: "float" }
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
51 ],
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
52 url: 'getfermentlog.php?code=' + my_code
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
53 };
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
54 var dataAdapter = new $.jqx.dataAdapter(sourceA, {
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
55 autoBind: true,
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
56 async: false,
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
57 loadComplete: function () {
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
58 $('#jqxLoader').jqxLoader('close');
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
59 },
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
60 loadError: function (jqXHR, status, error) {
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
61 }
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
62 });
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
63
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
64 var settings = {
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
65 title: my_code + ' "' + my_name + '"',
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
66 description: "",
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
67 source: dataAdapter,
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
68 xAxis: {
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
69 dataField: 'date',
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
70 type: 'date',
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
71 formatFunction: function (value) {
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
72 return value.getDate() + '-' + (value.getMonth() + 1) + '-' + value.getFullYear();
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
73 },
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
74 toolTipFormatFunction: function (value) {
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
75 var h = value.getHours();
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
76 var m = value.getMinutes();
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
77 return value.getDate() + '-' + (value.getMonth() + 1) + '-' + value.getFullYear()
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
78 + ' ' + (h < 10 ? '0' + h : h) + ':' + (m < 10 ? '0' + m : m);
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
79 },
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
80 textRotationAngle: 45,
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
81 howGridLines: false,
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
82 rangeSelector: {
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
83 size: 90,
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
84 dataField: 'beer',
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
85 serieType: 'line',
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
86 gridLines: {visible: false},
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
87 }
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
88 },
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
89 colorScheme: 'scheme01',
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
90 seriesGroups: [
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
91 {
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
92 type: "line",
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
93 valueAxis: {
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
94 minValue: 0,
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
95 maxValue: 100,
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
96 displayValueAxis: false,
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
97 description: "Heat/Cool %"
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
98 },
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
99 series: [
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
100 { dataField: "cooler", lineWidth: 1, displayText: "Cool %", opacity: 0.3 },
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
101 { dataField: "heater", lineWidth: 1, displayText: "Heat %", opacity: 0.3 }
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
102 ]
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
103 },
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
104 {
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
105 type: 'spline',
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
106 valueAxis: {
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
107 minValue: 0,
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
108 description: 'Graden C'
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
109 },
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
110 series: [
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
111 { dataField: "air", lineWidth: 1, displayText: "Air" },
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
112 { dataField: "beer", lineWidth: 2, displayText: "Beer" },
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
113 { dataField: "tlo", lineWidth: 1, displayText: "Target Lo", opacity: 0.7 },
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
114 { dataField: "thi", lineWidth: 1, displayText: "Target Hi", opacity: 0.7 },
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
115 { dataField: "room", lineWidth: 1, displayText: "Room", opacity: 0.5 },
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
116 { dataField: "chiller", lineWidth: 1, displayText: "Chiller", color: '#0000bb' }
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
117 ]
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
118 }
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
119 ]
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
120 };
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
121 $("#fermentor_chart").jqxChart(settings);
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
122
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
123 $("#print").click(function () {
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
124 var content = $("#fermentor_chart")[0].outerHTML;
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
125 var newWindow = window.open("", "", "width=865, height=425"),
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
126 document = newWindow.document.open(),
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
127 pageContent =
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
128 '<!DOCTYPE html>' +
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
129 '<html>' +
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
130 '<head>' +
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
131 '<link rel="stylesheet" href="jqwidgets/styles/jqx.base.css" type="text/css" />' +
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
132 '<meta charset="utf-8" />' +
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
133 '<title>jQWidgets Chart</title>' +
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
134 '</head>' +
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
135 '<body>' + content + '</body></html>';
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
136 document.write(pageContent);
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
137 document.close();
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
138 newWindow.print();
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
139 });
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
140 $("#print").jqxButton({ template: "info", width: 125, theme: theme });
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
141
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
142
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
143 $("#pdfButton").click(function () {
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
144 $("#fermentor_chart").jqxChart("saveAsPDF", "vergisting_"+my_code+".pdf", getExportServer());
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
145 });
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
146 $("#pdfButton").jqxButton({ template: "info", width: 125, theme: theme });
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
147
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
148 $("#pngButton").click(function () {
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
149 $("#fermentor_chart").jqxChart("saveAsPNG", "vergisting_"+my_code+".png", getExportServer());
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
150 });
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
151 $("#pngButton").jqxButton({ template: "info", width: 125, theme: theme });
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
152
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
153 $("#Close").jqxButton({ template: "success", width: 125, theme: theme });
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
154 $("#Close").click(function () {
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
155 window.close();
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
156 });
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
157 });
684c651dd165 Added fermentation graph screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
158

mercurial