nickjillings@1864: /* nickjillings@1864: * Analysis script for WAET nickjillings@1864: */ nickjillings@1864: nickjillings@1864: var chartContext; nickjillings@1864: window.onload = function() { nickjillings@1864: // Load the Visualization API and the corechart package. nickjillings@1864: google.charts.load('current', {'packages':['corechart']}); nickjillings@1864: chartContext = new Chart(); nickjillings@1864: } nickjillings@1864: nickjillings@1864: function Chart() { nickjillings@1867: this.valueData = null; nickjillings@1867: this.commentData = null; nickjillings@1867: this.loadStatus = 0; nickjillings@1864: nickjillings@1867: var XMLHttp = new XMLHttpRequest(); nickjillings@1867: XMLHttp.parent = this; nickjillings@1867: XMLHttp.open("GET","../scripts/score_parser.php?format=JSON",true); nickjillings@1867: XMLHttp.onload = function() { nickjillings@1867: // Now we have the JSON data, extract nickjillings@1867: this.parent.valueData = JSON.parse(this.responseText); nickjillings@1867: this.parent.loadStatus++; nickjillings@1864: } nickjillings@1867: XMLHttp.send(); nickjillings@1867: var XMLHttp2 = new XMLHttpRequest(); nickjillings@1867: XMLHttp2.parent = this; nickjillings@1867: XMLHttp2.open("GET","../scripts/comment_parser.php?format=JSON",true); nickjillings@1867: XMLHttp2.onload = function() { nickjillings@1867: // Now we have the JSON data, extract nickjillings@1867: this.parent.commentData = JSON.parse(this.responseText); nickjillings@1867: this.parent.loadStatus++; nickjillings@1867: } nickjillings@1867: XMLHttp2.send(); nickjillings@1864: nickjillings@1864: this.drawMean = function() { nickjillings@1864: // First we must get the value data nickjillings@1867: if (this.valueData == null) { nickjillings@1867: console.log("Error - Data not loaded"); nickjillings@1867: return; nickjillings@1867: } nickjillings@1867: // We create one plot per page nickjillings@1867: for (var page of this.valueData.pages) { nickjillings@1867: // First, create the chart resulting point nickjillings@1867: var inject = document.createElement("div"); nickjillings@1867: document.getElementById("test-pages").appendChild(inject); nickjillings@1867: nickjillings@1867: // Create the data table nickjillings@1867: var data = new google.visualization.DataTable(); nickjillings@1867: data.addColumn('string','id'); nickjillings@1867: // Get axis labels nickjillings@1867: for (var axis of page.elements[0].axis) { nickjillings@1867: data.addColumn('number',axis.name); nickjillings@1867: } nickjillings@1867: var rows = []; // Rows is an array of tuples [col1, col2, col3 ... colN]; nickjillings@1867: for (var element of page.elements) { nickjillings@1867: var entry = [element.id]; nickjillings@1867: for (var i=0; i