Mercurial > kallithea
changeset 646:fdb984a94d5b beta
#43 main page quick filter
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Wed, 03 Nov 2010 01:06:54 +0100 |
parents | a7beacb093a3 |
children | 5e209dcd3821 |
files | rhodecode/public/css/style.css rhodecode/templates/base/base.html rhodecode/templates/index.html |
diffstat | 3 files changed, 117 insertions(+), 59 deletions(-) [+] |
line wrap: on
line diff
--- a/rhodecode/public/css/style.css Tue Nov 02 23:37:39 2010 +0100 +++ b/rhodecode/public/css/style.css Wed Nov 03 01:06:54 2010 +0100 @@ -2309,4 +2309,11 @@ border:none !important; height:20px !important; padding:0 !important; -} \ No newline at end of file +} + +#q_filter{ +border: 0px; +color:#CDCDCD; +padding-left:3px +} +
--- a/rhodecode/templates/base/base.html Tue Nov 02 23:37:39 2010 +0100 +++ b/rhodecode/templates/base/base.html Wed Nov 03 01:06:54 2010 +0100 @@ -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>
--- a/rhodecode/templates/index.html Tue Nov 02 23:37:39 2010 +0100 +++ b/rhodecode/templates/index.html Wed Nov 03 01:06:54 2010 +0100 @@ -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> + <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"/> - %else: - <img class="icon" title="${_('public repository')}" alt="${_('public repository')}" src="/images/icons/lock_open.png"/> - %endif - ${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> - %endif - </td> - <td><span class="tooltip" tooltip_title="${repo['description']}"> - ${h.truncate(repo['description'],60)}</span> - </td> - <td><span class="tooltip" tooltip_title="${repo['last_change']}"> - ${h.age(repo['last_change'])} </span> - </td> - <td> - %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']))} - %else: - ${_('No changesets yet')} - %endif - </td> - <td title="${repo['contact']}">${h.person(repo['contact'])}</td> - <td> - <a title="${_('Subscribe to %s rss feed')%repo['name']}" class="rss_icon" href="${h.url('rss_feed_home',repo_name=repo['name'])}"></a> - </td> - <td> - <a title="${_('Subscribe to %s atom feed')%repo['name']}" class="atom_icon" href="${h.url('atom_feed_home',repo_name=repo['name'])}"></a> - </td> - </tr> - %endif - %endfor - </tbody> - </table> + <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"/> + %else: + <img class="icon" title="${_('public repository')}" alt="${_('public repository')}" src="/images/icons/lock_open.png"/> + %endif + ${h.link_to(repo['name'], + h.url('summary_home',repo_name=repo['name']),class_="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> + %endif + </td> + <td><span class="tooltip" tooltip_title="${repo['description']}"> + ${h.truncate(repo['description'],60)}</span> + </td> + <td><span class="tooltip" tooltip_title="${repo['last_change']}"> + ${h.age(repo['last_change'])} </span> + </td> + <td> + %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']))} + %else: + ${_('No changesets yet')} + %endif + </td> + <td title="${repo['contact']}">${h.person(repo['contact'])}</td> + <td> + <a title="${_('Subscribe to %s rss feed')%repo['name']}" class="rss_icon" href="${h.url('rss_feed_home',repo_name=repo['name'])}"></a> + </td> + <td> + <a title="${_('Subscribe to %s atom feed')%repo['name']}" class="atom_icon" href="${h.url('atom_feed_home',repo_name=repo['name'])}"></a> + </td> + </tr> + %endif + %endfor + </tbody> + </table> </div> - </div> + </div> + + + <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 + F.filterTimeout = null; + + 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){ + for (n in nodes){ + 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> + </%def>