OLD | NEW |
| (Empty) |
1 {% extends "layout.html" %} | |
2 | |
3 {% macro DisplayGraph(name, layout, width, height, color, data_variable, options
) %} | |
4 <div><canvas id="canvas{{ name }}" height="{{ height }}" width="{{ width }}"><
/canvas></div> | |
5 <script> | |
6 var options{{ name }} = { | |
7 "colorScheme": PlotKit.Base.palette(PlotKit.Base.baseColors()[{{ color }}]
), | |
8 {% for k, v in options.iteritems() %}"{{ k }}": {{ v }}, | |
9 {% endfor %} | |
10 }; | |
11 | |
12 function draw{{ name }}() { | |
13 var layout = new PlotKit.Layout("{{ layout }}", options{{ name }}); | |
14 layout.addDataset("data", {{ data_variable }}); | |
15 layout.evaluate(); | |
16 var canvas = MochiKit.DOM.getElement("canvas{{ name }}"); | |
17 var plotter = new PlotKit.SweetCanvasRenderer(canvas, layout, options{{ na
me }}); | |
18 plotter.render(); | |
19 } | |
20 | |
21 MochiKit.DOM.addLoadEvent(draw{{ name }}); | |
22 </script> | |
23 {% endmacro %} | |
24 | |
25 {% block header -%} | |
26 {{ super() }} | |
27 <script type="text/javascript" src="/mochikit/MochiKit.js"></script> | |
28 <script type="text/javascript" src="/plotkit/Base.js"></script> | |
29 <script type="text/javascript" src="/plotkit/Layout.js"></script> | |
30 <script type="text/javascript" src="/plotkit/Canvas.js"></script> | |
31 <script type="text/javascript" src="/plotkit/SweetCanvas.js"></script> | |
32 {% endblock header %} | |
33 | |
34 {% block content %} | |
35 <script> | |
36 var averageTime = [ | |
37 {% for val in builderTimes %}[{{ loop.index0 }}, {{ val }}]{% if not loop.la
st %}, | |
38 {% endif %}{% endfor %}]; | |
39 | |
40 var ratioFailures = [ | |
41 {% for val in builderFailures %}[{{ loop.index0 }}, {{ val*100.0 }}]{% if no
t loop.last %}, | |
42 {% endif %}{% endfor %}]; | |
43 | |
44 var nameMapping = [ | |
45 {% for val in builderNames %}{v:{{ loop.index0 }}, label:A({href:"./stats/{{
val|quote }}", text:"aaa"}, "{{ val }}")}{% if not loop.last %}, | |
46 {% endif %}{% endfor %}]; | |
47 </script> | |
48 <center> | |
49 <table> | |
50 <tr> | |
51 <td width=200></td> | |
52 <td width=500><h2> Average time to cycle </h2></td> | |
53 <td width=500><h2> Percentage of failures </h2></td> | |
54 </tr> | |
55 </table> | |
56 <table> | |
57 <tr> | |
58 <td>{{ DisplayGraph("averageTimeBar", "bar", 700, (builderNames|length)*15
, 0, "averageTime", {"xTicks": "nameMapping", "barOrientation": "'horizontal'",
"padding": "{left: 200, right:5, top: 5, bottom: 10}"}) }}</td> | |
59 <td>{{ DisplayGraph("ratioFailuresBar", "bar", 500, (builderNames|length)*
15, 1, "ratioFailures", {"yAxis": "[0.00, 100.00]", "yTicks": "[{v:0, label:'0'}
,{v:10, label:'10'},{v:20, label:'20'}, {v:30, label:'30'},{v:40, label:'40'},{v
:50, label:'50'}, {v:60, label:'60'},{v:70, label:'70'},{v:80, label:'80'}, {v:9
0, label:'90'},{v:100, label:'100'}]", "drawYAxis": "false", "barOrientation": "
'horizontal'", "padding": "{left: 2, right: 20, top: 5, bottom: 10}"}) }}</td> | |
60 </tr> | |
61 </table> | |
62 </center> | |
63 {% endblock content %} | |
OLD | NEW |