Added distribution chart in the package page.
[ppastats.git] / www / js / ppastats.js
1 function ppastats_chart(ddts) {
2     var data_chart = [];
3     var max_date = null;
4     var min_date = null;
5     
6     $.each(ddts, function(i, item) {
7         var tm = item["time"];
8         var d = new Date(tm[0], tm[1]-1, tm[2]);
9         var entry = [d, item["value"]];
10         data_chart.push(entry);
11         
12         if (max_date == null || max_date < d) {
13             max_date = d;
14         }
15         
16         if (min_date == null || min_date > d) { 
17             min_date = d;
18         }
19     });
20     
21     var plot1 = $.jqplot ('chart', [data_chart], {
22         title: 'Daily Download Count',
23         axes: {
24             xaxis: {
25                 renderer:$.jqplot.DateAxisRenderer,
26                 tickOptions:{formatString:'%Y/%m/%d'},
27                 min: min_date,
28                 max: max_date
29             },
30             yaxis: {
31                 min: 0
32             }
33         },
34         series: [{lineWidth:1,showMarker:false}]
35     });
36 }
37
38 function ppastats_distros(distros) {
39     var data_chart = [];
40     var max_date = null;
41     var min_date = null;
42     var series_opt = [];
43     
44     $.each(distros, function(i, distro) {
45         var arr = [];
46
47         $.each(distro["ddts"], function(j, item) {
48             var tm = item["time"];
49             var d = new Date(tm[0], tm[1]-1, tm[2]);
50             var entry = [d, item["value"]];
51             arr.push(entry);
52             
53             if (max_date == null || max_date < d) {
54                 max_date = d;
55             }
56             
57             if (min_date == null || min_date > d) { 
58                 min_date = d;
59             }
60         });
61         data_chart[i] = arr;
62         series_opt[i] = {label: distro["name"]};
63     });
64     
65     var plot1 = $.jqplot ('chart_distro', data_chart, {
66         title: 'Daily Download Count by Ubuntu Distribution',
67         axes: {
68             xaxis: {
69                 renderer:$.jqplot.DateAxisRenderer,
70                 tickOptions:{formatString:'%Y/%m/%d'},
71                 min: min_date,
72                 max: max_date
73             },
74             yaxis: {
75                 min: 0
76             }
77         },
78         seriesDefaults: {
79             lineWidth:1,
80             showMarker:false
81         },
82         legend: {
83             show: true
84         },
85         series: series_opt
86     });
87 }
88
89
90 function ppastats_pkg() {
91     $(document).ready(function() {
92         $("#ppa_owner").html(data["ppa_owner"]);
93         $("#ppa_name").html(data["ppa_name"]);
94         $("#pkg_name").html(data["name"]);
95         
96         $.each(data["versions"], function(i, v) {
97             var v_url = data["name"]+"_"+v+".html";
98             
99             $("#versions").append("<li><a href='"+v_url+"'>"+v+"</a></li>");
100         });
101
102         $("#distros").append("<ul>");
103         $.each(data["distros"], function(i, d) {
104             $("#distros ul").append("<li><em>"+d["name"]+"</em>: "+d["count"]+"</li>");
105         });
106
107
108         ppastats_chart(data["ddts"]);
109         ppastats_distros(data["distros"]);
110     });
111 }
112
113 function ppastats_ver() {
114     $(document).ready(function() {
115         var pkg_url = data["pkg_name"]+".html";
116         
117         $("#ppa_owner").html(data["ppa_owner"]);
118         $("#ppa_name").html(data["ppa_name"]);
119         $("#pkg_name").html("<a href='"+pkg_url+"'>"+data["pkg_name"]+"</a>");
120         $("#version").append(" "+data["name"]);
121         
122         $.each(data["distros"], function(i, distro) {
123             $.each(distro["archs"], function(i, arch) {
124                 $("#distros").append("<li><em>"+distro["name"]+"_"+arch["name"]+"</em>: "+arch["count"]+"</li");
125             });
126         });
127
128         ppastats_chart(data["ddts"]);
129     });
130 }
131                       
132 function ppastats_ppa() {
133     $(document).ready(function() {
134         var max_date = null;
135         var min_date = null;
136         var pkg_url = data["pkg_name"]+".html";
137         
138         $("#ppa_name").html(data["ppa_owner"]+"/"+data["ppa_name"]);
139
140         $.each(data["packages"], function(i, item) {
141             var url = item["name"]+".html";
142             $("#pkgs").append("<li><a href='"+url+"'>"+item["name"]+"</a>: "+item["count"]+"</li>");
143         });
144
145         ppastats_chart(data["ddts"]);
146     });
147 }
148                       
149