[REF] small code cleanups... removing old commented code, and small tweaks (addon...
[odoo/odoo.git] / addons / web_graph / static / src / js / charts.js
1
2 function draw_chart (mode, pivot) {
3     var values = _.map(pivot.rows.main.children, function (pt) {
4         var val = pivot.get_value(pt.id, pivot.cols.main.id);
5         return {x: pt.title, y: val};
6     });
7
8     switch (mode) {
9         case 'bar_chart':
10             bar_chart(values);
11             break;
12         case 'line_chart':
13             line_chart(values);
14             break;
15         case 'pie_chart':
16             pie_chart(values);
17             break;
18     }
19 }
20
21 function bar_chart (data) {
22     nv.addGraph(function () {
23       var chart = nv.models.discreteBarChart()
24             .tooltips(false)
25             .showValues(true)
26             .staggerLabels(true)
27             .width(650)
28             .height(400);
29
30         d3.select('.graph_main_content svg')
31             .datum([{key: 'Bar chart', values:data}])
32             .attr('width', 650)
33             .attr('height', 400)
34             .call(chart);
35
36         nv.utils.windowResize(chart.update);
37         return chart;
38     });
39 };
40
41 function line_chart (data) {
42     nv.addGraph(function () {
43         var chart = nv.models.lineChart()
44             .x(function (d,u) { return u; })
45             .width(600)
46             .height(300)
47             .margin({top: 30, right: 20, bottom: 20, left: 60});
48
49         d3.select('.graph_main_content svg')
50             .attr('width', 600)
51             .attr('height', 300)
52             .datum([{key: 'Bar chart', values: data}])
53             .call(chart);
54
55         return chart;
56       });
57 };
58
59 function pie_chart(data) {
60     nv.addGraph(function () {
61         var chart = nv.models.pieChart()
62             .color(d3.scale.category10().range())
63             .width(650)
64             .height(400);
65
66         d3.select('.graph_main_content svg')
67             .datum(data)
68             .transition().duration(1200)
69             .attr('width', 650)
70             .attr('height', 400)
71             .call(chart);
72
73         nv.utils.windowResize(chart.update);
74         return chart;
75     });
76 };
77