@@ -2309,4 +2309,11 @@ div#legend_container table td,div#legend
border:none !important;
height:20px !important;
padding:0 !important;
}
\ No newline at end of file
#q_filter{
border: 0px;
color:#CDCDCD;
padding-left:3px
@@ -270,8 +270,10 @@
##<script type="text/javascript" src="/js/yui/container/container.js"></script>
##<script type="text/javascript" src="/js/yui/datasource/datasource.js"></script>
##<script type="text/javascript" src="/js/yui/autocomplete/autocomplete.js"></script>
##<script type="text/javascript" src="/js/yui/selector/selector-min.js"></script>
<script type="text/javascript" src="/js/yui2.js"></script>
<script type="text/javascript" src="/js/yui/selector/selector-min.js"></script>
<!--[if IE]><script language="javascript" type="text/javascript" src="/js/excanvas.min.js"></script><![endif]-->
<script type="text/javascript" src="/js/yui.flot.js"></script>
</%def>
@@ -27,7 +27,9 @@
<div class="box">
<!-- box / title -->
<div class="title">
<h5>${_('Dashboard')}</h5>
<h5>${_('Dashboard')}
<input class="top-right-rounded-corner top-left-rounded-corner bottom-left-rounded-corner bottom-right-rounded-corner" id="q_filter" size="15" type="text" name="filter" value="${_('quick filter...')}"/>
</h5>
%if h.HasPermissionAny('hg.admin','hg.create.repository')():
<ul class="links">
<li>
@@ -38,7 +40,7 @@
</div>
<!-- end box / title -->
<div class="table">
<table>
<thead>
<tr>
<th class="left">${get_sort(_('Name'))}</th>
@@ -50,61 +52,108 @@
<th class="left">${_('Atom')}</th>
</tr>
</thead>
<tbody>
%for cnt,repo in enumerate(c.repos_list):
%if h.HasRepoPermissionAny('repository.write','repository.read','repository.admin')(repo['name'],'main page check'):
<tr class="parity${cnt%2}">
<td>
%if repo['repo'].dbrepo.repo_type =='hg':
<img class="icon" title="${_('Mercurial repository')}" alt="${_('Mercurial repository')}" src="/images/icons/hgicon.png"/>
%elif repo['repo'].dbrepo.repo_type =='git':
<img class="icon" title="${_('Git repository')}" alt="${_('Git repository')}" src="/images/icons/giticon.png"/>
%else:
%endif
%if repo['repo'].dbrepo.private:
<img class="icon" title="${_('private repository')}" alt="${_('private repository')}" src="/images/icons/lock.png"/>
<img class="icon" title="${_('public repository')}" alt="${_('public repository')}" src="/images/icons/lock_open.png"/>
${h.link_to(repo['name'],
h.url('summary_home',repo_name=repo['name']))}
%if repo['repo'].dbrepo.fork:
<a href="${h.url('summary_home',repo_name=repo['repo'].dbrepo.fork.repo_name)}">
<img class="icon" alt="${_('fork')}"
title="${_('Fork of')} ${repo['repo'].dbrepo.fork.repo_name}"
src="/images/icons/arrow_divide.png"/></a>
</td>
<td><span class="tooltip" tooltip_title="${repo['description']}">
${h.truncate(repo['description'],60)}</span>
<td><span class="tooltip" tooltip_title="${repo['last_change']}">
${h.age(repo['last_change'])} </span>
%if repo['rev']>=0:
${h.link_to('r%s:%s' % (repo['rev'],h.short_id(repo['tip'])),
h.url('changeset_home',repo_name=repo['name'],revision=repo['tip']),
class_="tooltip",
tooltip_title=h.tooltip(repo['last_msg']))}
${_('No changesets yet')}
<td title="${repo['contact']}">${h.person(repo['contact'])}</td>
<a title="${_('Subscribe to %s rss feed')%repo['name']}" class="rss_icon" href="${h.url('rss_feed_home',repo_name=repo['name'])}"></a>
<a title="${_('Subscribe to %s atom feed')%repo['name']}" class="atom_icon" href="${h.url('atom_feed_home',repo_name=repo['name'])}"></a>
%endfor
</tbody>
</table>
h.url('summary_home',repo_name=repo['name']),class_="repo_name")}
<script type="text/javascript">
var D = YAHOO.util.Dom;
var E = YAHOO.util.Event;
var S = YAHOO.util.Selector;
var q_filter = D.get('q_filter');
var F = YAHOO.namespace('q_filter');
E.on(q_filter,'click',function(){
q_filter.value = '';
});
F.filterTimeout = null;
F.updateFilter = function() {
// Reset timeout
var obsolete = [];
var nodes = S.query('div.table tr td a.repo_name');
var req = D.get('q_filter').value;
for (n in nodes){
D.setStyle(nodes[n].parentNode.parentNode,'display','')
if (req){
if (nodes[n].innerHTML.toLowerCase().indexOf(req) == -1) {
obsolete.push(nodes[n]);
if(obsolete){
for (n in obsolete){
D.setStyle(obsolete[n].parentNode.parentNode,'display','none');
E.on(q_filter,'keyup',function(e){
clearTimeout(F.filterTimeout);
setTimeout(F.updateFilter,600);
</script>
Status change: