From ae0cbd8742d2a6f92f22c444fedff60985091d81 Mon Sep 17 00:00:00 2001 From: Hrishi Hiraskar Date: Thu, 27 Oct 2016 20:09:25 +0530 Subject: Integrated SendLog python server --- src/main/webapp/chart.js | 133 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 133 insertions(+) create mode 100755 src/main/webapp/chart.js (limited to 'src/main/webapp/chart.js') diff --git a/src/main/webapp/chart.js b/src/main/webapp/chart.js new file mode 100755 index 0000000..5035c64 --- /dev/null +++ b/src/main/webapp/chart.js @@ -0,0 +1,133 @@ +var chart_id_list = []; +var points_list = []; +var series_list = []; +var INTERVAL = 10; +var RANGE = 30; +var eventSource; +var clientID; +var interval; +var isDone = false; + +var create_new_chart = function(id){ + // Function to create a new chart + $('#charts').append("
"); + $('#chart-'+id.toString()).highcharts({ + chart: { + type: 'line', + animation: false + }, + title : { + text: 'Figure '+id.toString() + }, + xAxis : { + title: { + text: 'x' + }, + tickInterval: 2 + }, + yAxis : { + title: { + text: 'y' + }, + plotLines: [{ + width: 1, + color: '#808080' + }] + }, + plotOptions : { + marker: { + enabled: false, + } + }, + legend : { + enabled: false + }, + exporting : { + enabled: false + }, + series : [] + }); + chart_id_list.push(id); + points_list.push(new Queue()); + series_list.push([]); +} + +function chart_init(wnd){ + // Start listening to server + chart_reset(); + eventSource = new EventSource("/SendLog?id="+clientID); + eventSource.addEventListener("log", function(event){ + var data = event.data.split(' '); + var figure_id = parseInt(data[2]), + line_id = parseInt(data[6]), + x = parseFloat(data[8]), + y = parseFloat(data[9]), + z = parseFloat(data[10]); + if(chart_id_list.indexOf(figure_id)<0) + create_new_chart(figure_id); + var index = chart_id_list.indexOf(figure_id); + points_list[index].enqueue([line_id,x,y]); + }, false); + // Error + eventSource.addEventListener("ERROR", function(event){ + eventSource.close(); // Close connection + console.log("Error: "+event.data); + chart_reset(); + if(event.data=="Empty diagram") alert(event.data); + else alert("Some Error occured!"); + wnd.destroy(); + isDone = true; + }, false); + // Stop listening + eventSource.addEventListener("DONE", function(event){ + eventSource.close(); // Close connection + console.log("Done"); + isDone = true; + }, false); + + interval = setInterval(function(){ + for(var i=0;i1.5*RANGE) + series.removePoint(0, false); + series.addPoint([x,y], false); + } + // Shift chart axis to display new values + if(x>RANGE) chart.xAxis[0].setExtremes(Math.floor(x-RANGE),Math.floor(x)); + // Draw the chart + chart.redraw(); + } + }, INTERVAL); +} + +function chart_reset(){ + clearInterval(interval); + chart_id_list = []; + points_list = []; + series_list = []; +} \ No newline at end of file -- cgit