1<script type="text/javascript">
2  chartsDrawing += 1;
3  google.charts.setOnLoadCallback(drawChart_{{ chart_elem_id }});
4  function drawChart_{{ chart_elem_id }}() {
5    var data = new google.visualization.DataTable();
6
7    // Chart options
8    var options = {
9      theme : 'material',
10      legend: 'none',
11      hAxis: { format: '', title: 'Commit number',
12               minValue: {{ chart_opts.haxis.min }},
13               maxValue: {{ chart_opts.haxis.max }} },
14      {% if measurement.type == 'time' %}
15      vAxis: { format: 'h:mm:ss' },
16      {% else %}
17      vAxis: { format: '' },
18      {% endif %}
19      pointSize: 5,
20      chartArea: { left: 80, right: 15 },
21    };
22
23    // Define data columns
24    data.addColumn('number', 'Commit');
25    data.addColumn('{{ measurement.value_type.gv_data_type }}',
26                   '{{ measurement.value_type.quantity }}');
27    // Add data rows
28    data.addRows([
29      {% for sample in measurement.samples %}
30        [{{ sample.commit_num }}, {{ sample.mean.gv_value() }}],
31      {% endfor %}
32    ]);
33
34    // Finally, draw the chart
35    chart_div = document.getElementById('{{ chart_elem_id }}');
36    var chart = new google.visualization.LineChart(chart_div);
37    google.visualization.events.addListener(chart, 'ready', function () {
38      //chart_div = document.getElementById('{{ chart_elem_id }}');
39      //chart_div.innerHTML = '<img src="' + chart.getImageURI() + '">';
40      png_div = document.getElementById('{{ chart_elem_id }}_png');
41      png_div.outerHTML = '<a id="{{ chart_elem_id }}_png" href="' + chart.getImageURI() + '">PNG</a>';
42      console.log("CHART READY: {{ chart_elem_id }}");
43      chartsDrawing -= 1;
44      if (chartsDrawing == 0)
45        console.log("ALL CHARTS READY");
46    });
47    chart.draw(data, options);
48}
49</script>
50
51