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