2 // TODO this is entire thing sucks
4 var searchMap = (function() {
5 var searchSplit, searchMap = {};
7 if ( !location.search ){
11 searchSplit = location.search.replace(/^\?/, "").split( /&|;/ );
13 for( var i = 0; i < searchSplit.length; i++ ) {
14 var kv = searchSplit[i].split(/=/);
15 searchMap[ kv[0] ] = kv[1];
21 $.get("../", searchMap, function(data) {
22 $.each(data, function( i, avg ) {
23 var tablename = avg.point + " " + avg.agent + " " + avg.agent_version + " " + avg.pathname,
24 $table = $( "table > caption:contains(" + tablename + ")").parent();
26 if( !$table.length ) {
27 $table = $( "<table></table>", {
28 "data-pathname": avg.pathname,
29 "data-point": avg.point,
30 "data-agent": avg.agent,
31 "data-agent-version": avg.agent_version
34 $table.append( "<caption>" + tablename + "</caption>");
35 $table.append( "<thead><tr></tr></thead>" );
36 $table.append( "<tbody><tr></tr></tbody>" );
39 // TODO assume time ordering in the data set
40 var $heading = $table.find("thead > tr > th:contains(" + avg.day + ")");
42 if( !$heading.length ) {
43 $heading = $("<th></th>", {
48 $table.find("thead > tr").append($heading);
51 var $rowHeading = $table.find("tbody > tr > th:contains(" + avg.point + ")" ),
52 $row = $table.find( "tbody > tr" );
54 if( !$rowHeading.length ) {
55 $rowHeading = $("<th></th>", {
60 $row.append( $rowHeading );
63 $row.append( "<td>" + avg.avg_value + "</td>" );
65 $("#tables").append($table);
68 $("#tables table").visualize({ type: "bar", width: 400, height: 400 }).appendTo("#graphs");