www-thermferm/liveview.php

changeset 295
e88d182657ca
parent 294
e07b08283d96
child 296
0569f28b0806
--- a/www-thermferm/liveview.php	Sun Nov 02 13:47:57 2014 +0100
+++ b/www-thermferm/liveview.php	Sun Nov 02 18:00:05 2014 +0100
@@ -26,11 +26,11 @@
 
 
 
-function showunit($unit, $unr)
+function showunit($unit, $unr, $name)
 {
     global $my_style;
 
-    $outstr = '    <!--  showunit(' . $unit . ', ' . $unr . ')  -->' . PHP_EOL;
+    $outstr = '    <!--  showunit(' . $unit . ', ' . $unr . ', ' . $name . ')  -->' . PHP_EOL;
     $air_state = $beer_state = 1;
     $answer = send_cmd("UNIT GET ".$unit);
     $arr = explode("\r\n", $answer);
@@ -103,6 +103,9 @@
 	$outstr .= '    <script type="text/javascript">'.PHP_EOL;
 	$outstr .= '     $(document).ready(function () {'.PHP_EOL;
 
+	$outstr .= '       function getExportServer'.$unr.'() {'.PHP_EOL;
+	$outstr .= '         return "http://www.jqwidgets.com/export_server/export.php";'.PHP_EOL;
+	$outstr .= '       }'.PHP_EOL;
 	$outstr .= '       var source'.$unr.' ='.PHP_EOL;
 	$outstr .= '       {'.PHP_EOL;
 	$outstr .= '          datatype: "json",'.PHP_EOL;
@@ -130,10 +133,10 @@
 	$outstr .= '       });'.PHP_EOL;
 
 	$outstr .= '       var settings'.$unr.' = {'.PHP_EOL;
-	$outstr .= '         title: "Fermentation history",'.PHP_EOL;
+	$outstr .= '         title: "'.$name.' fermentation history",'.PHP_EOL;
 	$outstr .= '         description: "",'.PHP_EOL;
 	$outstr .= '         padding: { left: 5, top: 5, right: 5, bottom: 5 },'.PHP_EOL;
-	$outstr .= '         titlePadding: { left: 90, top: 0, right: 0, bottom: 10 },'.PHP_EOL;
+	$outstr .= '         titlePadding: { left: 0, top: 0, right: 0, bottom: 10 },'.PHP_EOL;
 	$outstr .= '         source: dataAdapter'.$unr.','.PHP_EOL;
 	$outstr .= '         categoryAxis:'.PHP_EOL;
 	$outstr .= '           {'.PHP_EOL;
@@ -182,6 +185,31 @@
 //	$outstr .= '         $("#fermentor_chart_'.$unit.'").jqxChart("update");'.PHP_EOL;
 //	$outstr .= '       }, 3000);'.PHP_EOL;
 
+	$outstr .= '       $("#print_'.$unr.'").click(function () {'.PHP_EOL;
+	$outstr .= '         var content = $("#fermentor_chart_'.$unit.'")[0].outerHTML;'.PHP_EOL;
+	$outstr .= '         var newWindow = window.open("", "", "width=750, height=400"),'.PHP_EOL;
+	$outstr .= '         document = newWindow.document.open(),'.PHP_EOL;
+	$outstr .= '         pageContent ='.PHP_EOL;
+	$outstr .= '         \'<!DOCTYPE html>\' +'.PHP_EOL;
+	$outstr .= '         \'<html>\' +'.PHP_EOL;
+	$outstr .= '         \'<head>\' +'.PHP_EOL;
+	$outstr .= '         \'<link rel="stylesheet" href="jqwidgets/styles/jqx.base.css" type="text/css" />\' +'.PHP_EOL;
+	$outstr .= '         \'<meta charset="utf-8" />\' +'.PHP_EOL;
+	$outstr .= '         \'<title>jQWidgets Chart</title>\' +'.PHP_EOL;
+	$outstr .= '         \'</head>\' +'.PHP_EOL;
+	$outstr .= '         \'<body>\' + content + \'</body></html>\';'.PHP_EOL;
+	$outstr .= '         document.write(pageContent);'.PHP_EOL;
+	$outstr .= '         document.close();'.PHP_EOL;
+	$outstr .= '         newWindow.print();'.PHP_EOL;
+	$outstr .= '       });'.PHP_EOL;
+	$outstr .= '       $("#print_'.$unr.'").jqxButton({ width: 100, height: 25, theme: "ui-redmond" });'.PHP_EOL;
+
+	$outstr .= '       $("#pngButton_'.$unr.'").click(function () {'.PHP_EOL;
+			      	// call the export server to create a PNG image
+	$outstr .= '       	$("#fermentor_chart_'.$unit.'").jqxChart("saveAsPNG", "Chart_'.$name.'.png", getExportServer'.$unr.'());'.PHP_EOL;
+	$outstr .= '       });'.PHP_EOL;
+	$outstr .= '       $("#pngButton_'.$unr.'").jqxButton({ width: 100, height: 25, theme: "ui-redmond" });'.PHP_EOL;
+
 	$outstr .= '       setInterval(function(){'.PHP_EOL;
 	$outstr .= '         $.getJSON("getstate.php?uuid='.$unit.'", function(data) {'.PHP_EOL;
 	$outstr .= '           $("#load_air_'.$unr.'").html(data.air_temperature);'.PHP_EOL;
@@ -381,6 +409,13 @@
 	$outstr .= '      </div>'.PHP_EOL;
 	$outstr .= '     </div> <!-- fermentor_panel_control -->'.PHP_EOL;
 
+	$outstr .= '     <div id="fermentor_panel_buttons">'.PHP_EOL;
+	$outstr .= '     <div style="margin-top: 2px; margin-left: 10px;">'.PHP_EOL;
+	$outstr .= '      <input style="float: left;" id="print_'.$unr.'" type="button" value="Print Graph" />'.PHP_EOL;
+	$outstr .= '      <input style="float: left; margin-left: 15px;" id="pngButton_'.$unr.'" type="button" value="Save Graph" />'.PHP_EOL;
+	$outstr .= '     </div>'.PHP_EOL;
+	$outstr .= '     </div> <!-- fermentor_panel_buttons -->'.PHP_EOL;
+
 	$outstr .= '    </div> <!-- fermentor -->'.PHP_EOL;
     }
 
@@ -417,7 +452,7 @@
 		if (strcmp($arr[$i], ".") == 0)
 		    break;
 		$parts = explode(",", $arr[$i]);
-		$outstr .= showunit($parts[0], $i);
+		$outstr .= showunit($parts[0], $i, $parts[1]);
 		$i++;
 	    }
 	}

mercurial