|
@@ -0,0 +1,44 @@
|
|
|
+app.controller('temperature', function($scope, temperatureService, $interval) {
|
|
|
+ $.getScript("https://www.google.com/jsapi", function() {
|
|
|
+ //google.load('visualization', '1.1', {packages: ['line'], callback:function(){
|
|
|
+ google.load('visualization', '1', {packages: ['corechart'], callback: function() {
|
|
|
+ google.setOnLoadCallback(InitChart);
|
|
|
+ }});
|
|
|
+ });
|
|
|
+
|
|
|
+ var chart;
|
|
|
+
|
|
|
+ var chartOptions = {
|
|
|
+ chart: {
|
|
|
+ title: 'Temperature Logs',
|
|
|
+ },
|
|
|
+ height: 400,
|
|
|
+ backgroundColor: 'transparent',
|
|
|
+ legend:{position:'none'}
|
|
|
+ };
|
|
|
+
|
|
|
+ function InitChart() {
|
|
|
+ chart = new google.visualization.LineChart(document.getElementById('linechart'));
|
|
|
+ StartGettingData();
|
|
|
+ }
|
|
|
+
|
|
|
+ function DrawChart(data){
|
|
|
+ var chartData = new google.visualization.DataTable();
|
|
|
+ chartData.addColumn('date', 'Timestamp');
|
|
|
+ chartData.addColumn('number', 'Reading');
|
|
|
+ angular.forEach(data, function(datum){
|
|
|
+ chartData.addRow([new Date(datum.Timestamp*1000), parseFloat(datum.Reading)]);
|
|
|
+ });
|
|
|
+ chart.draw(chartData, chartOptions);
|
|
|
+ }
|
|
|
+
|
|
|
+ function StartGettingData(){
|
|
|
+ GetData();
|
|
|
+ $interval(GetData, 60000);
|
|
|
+ }
|
|
|
+
|
|
|
+ function GetData(){
|
|
|
+ temperatureService.getReadings().then(DrawChart);
|
|
|
+ }
|
|
|
+});
|
|
|
+
|