bc10bc9cbc48e6b5502deb438d33d9828d77df2d
[ppastats.git] / themes / default / 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 function ppastats_pkg(json_url) {
90     $(document).ready(function() {
91         $.getJSON(json_url, function(data) {
92             $("#ppa_owner").html(data["ppa_owner"]);
93             $("#ppa_name").html(data["ppa_name"]);
94             $("#pkg_name").html(data["name"]);
95             
96             $("#versions").append("<ul>");
97             $.each(data["versions"], function(i, v) {
98                 var v_url = data["name"]+"_"+v+".html";
99                 
100                 $("#versions ul").append("<li><a href='"+v_url+"'>"+v+"</a></li>");
101             });
102             
103             $("#distros").append("<ul>");
104             $.each(data["distros"], function(i, d) {
105                 $("#distros ul").append("<li>"+d["name"]+": "+d["count"]+"</li>");
106             });
107             
108             
109             ppastats_chart(data["ddts"]);
110             ppastats_distros(data["distros"]);
111         });
112     });
113 }
114
115 function ppastats_ver() {
116     $(document).ready(function() {
117         var pkg_url = data["pkg_name"]+".html";
118         
119         $("#ppa_owner").html(data["ppa_owner"]);
120         $("#ppa_name").html(data["ppa_name"]);
121         $("#pkg_name").html("<a href='"+pkg_url+"'>"+data["pkg_name"]+"</a>");
122         $("#version").append(" "+data["name"]);
123         
124         $("#distros").append("<ul>");
125         $.each(data["distros"], function(i, distro) {
126             $.each(distro["archs"], function(i, arch) {
127                 $("#distros ul").append("<li>"+distro["name"]+"_"+arch["name"]+": "+arch["count"]+"</li");
128             });
129         });
130
131         ppastats_chart(data["ddts"]);
132
133         $("#date_created").append(data["date_created"]);
134     });
135 }
136                       
137 function ppastats_ppa() {
138     $(document).ready(function() {
139         var max_date = null;
140         var min_date = null;
141         var pkg_url;
142
143         $.getJSON("index.json", function(data) {
144             pkg_url = data["pkg_name"]+".html";
145             
146             $("#ppa_name").html(data["ppa_owner"]+"/"+data["ppa_name"]);
147             
148             $.each(data["packages"], function(i, item) {
149                 var url = item["name"]+".html";
150                 $("#pkgs").append("<li><a href='"+url+"'>"+item["name"]+"</a>: "+item["count"]+"</li>");
151             });
152             
153             ppastats_chart(data["ddts"]);
154         });
155     });
156 }