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;i