comparison rhodecode/templates/summary/summary.html @ 943:1f28cf5384bf beta

Implemented dynamic download links in summary page
author Marcin Kuzminski <marcin@python-works.com>
date Fri, 14 Jan 2011 12:24:57 +0100
parents 32318ec7bfc1
children bec32ac08c9a
comparison
equal deleted inserted replaced
942:32318ec7bfc1 943:1f28cf5384bf
128 <label>${_('Download')}:</label> 128 <label>${_('Download')}:</label>
129 </div> 129 </div>
130 <div class="input-short"> 130 <div class="input-short">
131 131
132 ${h.select('download_options','tip',c.download_options)} 132 ${h.select('download_options','tip',c.download_options)}
133
134 %for cnt,archive in enumerate(c.repo_info._get_archives()): 133 %for cnt,archive in enumerate(c.repo_info._get_archives()):
135 %if cnt >=1: 134 %if cnt >=1:
136 | 135 |
137 %endif 136 %endif
138 ${h.link_to(archive['type'], 137 <span class="tooltip" title="${_('Download %s as %s') %('tip',archive['type'])}"
138 id="${archive['type']+'_link'}">${h.link_to(archive['type'],
139 h.url('files_archive_home',repo_name=c.repo_info.name, 139 h.url('files_archive_home',repo_name=c.repo_info.name,
140 fname='tip'+archive['extension']),class_="archive_icon")} 140 fname='tip'+archive['extension']),class_="archive_icon")}</span>
141 %endfor 141 %endfor
142 </div> 142 </div>
143 </div> 143 </div>
144 144
145 <div class="field"> 145 <div class="field">
151 ${h.link_to(_('Atom'),h.url('atom_feed_home',repo_name=c.repo_info.name),class_='atom_icon')} 151 ${h.link_to(_('Atom'),h.url('atom_feed_home',repo_name=c.repo_info.name),class_='atom_icon')}
152 </div> 152 </div>
153 </div> 153 </div>
154 </div> 154 </div>
155 </div> 155 </div>
156 <script type="text/javascript"> 156 <script type="text/javascript">
157 YUE.onDOMReady(function(e){ 157 YUE.onDOMReady(function(e){
158 id = 'clone_url'; 158 id = 'clone_url';
159 YUE.on(id,'click',function(e){ 159 YUE.on(id,'click',function(e){
160 YUD.get('clone_url').select(); 160 YUD.get('clone_url').select();
161 }) 161 })
162 }) 162 })
163 var data = ${c.trending_languages|n}; 163 var data = ${c.trending_languages|n};
164 var total = 0; 164 var total = 0;
165 var no_data = true; 165 var no_data = true;
166 for (k in data){ 166 for (k in data){
167 total += data[k]; 167 total += data[k];
168 no_data = false; 168 no_data = false;
169 } 169 }
170 var tbl = document.createElement('table'); 170 var tbl = document.createElement('table');
171 tbl.setAttribute('class','trending_language_tbl'); 171 tbl.setAttribute('class','trending_language_tbl');
172 var cnt =0; 172 var cnt =0;
173 for (k in data){ 173 for (k in data){
174 cnt+=1; 174 cnt+=1;
175 var hide = cnt>2; 175 var hide = cnt>2;
176 var tr = document.createElement('tr'); 176 var tr = document.createElement('tr');
177 if (hide){ 177 if (hide){
178 tr.setAttribute('style','display:none'); 178 tr.setAttribute('style','display:none');
179 tr.setAttribute('class','stats_hidden'); 179 tr.setAttribute('class','stats_hidden');
180 } 180 }
181 var percentage = Math.round((data[k]/total*100),2); 181 var percentage = Math.round((data[k]/total*100),2);
182 var value = data[k]; 182 var value = data[k];
183 var td1 = document.createElement('td'); 183 var td1 = document.createElement('td');
184 td1.width=150; 184 td1.width=150;
185 var trending_language_label = document.createElement('div'); 185 var trending_language_label = document.createElement('div');
186 trending_language_label.innerHTML = k; 186 trending_language_label.innerHTML = k;
187 td1.appendChild(trending_language_label); 187 td1.appendChild(trending_language_label);
188 188
189 var td2 = document.createElement('td'); 189 var td2 = document.createElement('td');
190 td2.setAttribute('style','padding-right:14px !important'); 190 td2.setAttribute('style','padding-right:14px !important');
191 var trending_language = document.createElement('div'); 191 var trending_language = document.createElement('div');
192 var nr_files = value+" ${_('files')}"; 192 var nr_files = value+" ${_('files')}";
193 193
194 trending_language.title = k+" "+nr_files; 194 trending_language.title = k+" "+nr_files;
195 195
196 if (percentage>20){ 196 if (percentage>20){
197 trending_language.innerHTML = "<b style='font-size:0.8em'>"+percentage+"% "+nr_files+ "</b>"; 197 trending_language.innerHTML = "<b style='font-size:0.8em'>"+percentage+"% "+nr_files+ "</b>";
198 } 198 }
199 else{ 199 else{
200 trending_language.innerHTML = "<b style='font-size:0.8em'>"+percentage+"%</b>"; 200 trending_language.innerHTML = "<b style='font-size:0.8em'>"+percentage+"%</b>";
201 } 201 }
202 202
203 trending_language.setAttribute("class", 'trending_language top-right-rounded-corner bottom-right-rounded-corner'); 203 trending_language.setAttribute("class", 'trending_language top-right-rounded-corner bottom-right-rounded-corner');
204 trending_language.style.width=percentage+"%"; 204 trending_language.style.width=percentage+"%";
205 td2.appendChild(trending_language); 205 td2.appendChild(trending_language);
206 206
207 tr.appendChild(td1); 207 tr.appendChild(td1);
208 tr.appendChild(td2); 208 tr.appendChild(td2);
209 tbl.appendChild(tr); 209 tbl.appendChild(tr);
210 if(cnt == 2){ 210 if(cnt == 2){
211 var show_more = document.createElement('tr'); 211 var show_more = document.createElement('tr');
212 var td=document.createElement('td'); 212 var td=document.createElement('td');
213 lnk = document.createElement('a'); 213 lnk = document.createElement('a');
214 lnk.href='#'; 214 lnk.href='#';
215 lnk.innerHTML = "${_("show more")}"; 215 lnk.innerHTML = "${_("show more")}";
216 lnk.id='code_stats_show_more'; 216 lnk.id='code_stats_show_more';
217 td.appendChild(lnk); 217 td.appendChild(lnk);
218 show_more.appendChild(td); 218 show_more.appendChild(td);
219 show_more.appendChild(document.createElement('td')); 219 show_more.appendChild(document.createElement('td'));
220 tbl.appendChild(show_more); 220 tbl.appendChild(show_more);
221 } 221 }
222 222
223 } 223 }
224 if(no_data){ 224 if(no_data){
225 var tr = document.createElement('tr'); 225 var tr = document.createElement('tr');
226 var td1 = document.createElement('td'); 226 var td1 = document.createElement('td');
227 td1.innerHTML = "${c.no_data_msg}"; 227 td1.innerHTML = "${c.no_data_msg}";
228 tr.appendChild(td1); 228 tr.appendChild(td1);
229 tbl.appendChild(tr); 229 tbl.appendChild(tr);
230 } 230 }
231 YUD.get('lang_stats').appendChild(tbl); 231 YUD.get('lang_stats').appendChild(tbl);
232 YUE.on('code_stats_show_more','click',function(){ 232 YUE.on('code_stats_show_more','click',function(){
233 l = YUD.getElementsByClassName('stats_hidden') 233 l = YUD.getElementsByClassName('stats_hidden')
234 for (e in l){ 234 for (e in l){
235 YUD.setStyle(l[e],'display',''); 235 YUD.setStyle(l[e],'display','');
236 }; 236 };
237 YUD.setStyle(YUD.get('code_stats_show_more'), 237 YUD.setStyle(YUD.get('code_stats_show_more'),
238 'display','none'); 238 'display','none');
239 }) 239 })
240 240
241
242 YUE.on('download_options','change',function(e){
243 var new_cs = e.target.options[e.target.selectedIndex];
244 var tmpl_links = {}
245 %for cnt,archive in enumerate(c.repo_info._get_archives()):
246 tmpl_links['${archive['type']}'] = '${h.link_to(archive['type'],
247 h.url('files_archive_home',repo_name=c.repo_info.name,
248 fname='__CS__'+archive['extension']),class_="archive_icon")}';
249 %endfor
241 250
242 YUE.on('download_options','change',function(e){ 251
243 var new_cs = e.target.options[e.target.selectedIndex].value; 252 for(k in tmpl_links){
244 }) 253 var s = YUD.get(k+'_link')
245 254 title_tmpl = "${_('Download %s as %s') % ('__CS_NAME__',archive['type'])}";
246 </script> 255 s.title = title_tmpl.replace('__CS_NAME__',new_cs.text)
256 s.innerHTML = tmpl_links[k].replace('__CS__',new_cs.value);
257 }
258
259 })
260
261 </script>
247 </div> 262 </div>
248 263
249 <div class="box box-right" style="min-height:455px"> 264 <div class="box box-right" style="min-height:455px">
250 <!-- box / title --> 265 <!-- box / title -->
251 <div class="title"> 266 <div class="title">