Mercurial > kallithea
comparison rhodecode/templates/index.html @ 1512:bf263968da47
merge beta in stable branch
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Fri, 07 Oct 2011 01:08:50 +0200 |
parents | 3d9da7893fdb fc286aed92fe |
children | 82a88013a3fd |
comparison
equal
deleted
inserted
replaced
1329:e058df3ff2b4 | 1512:bf263968da47 |
---|---|
8 </%def> | 8 </%def> |
9 <%def name="page_nav()"> | 9 <%def name="page_nav()"> |
10 ${self.menu('home')} | 10 ${self.menu('home')} |
11 </%def> | 11 </%def> |
12 <%def name="main()"> | 12 <%def name="main()"> |
13 <%def name="get_sort(name)"> | 13 <%include file="index_base.html" args="parent=self"/> |
14 <%name_slug = name.lower().replace(' ','_') %> | |
15 | |
16 %if name_slug == c.sort_slug: | |
17 %if c.sort_by.startswith('-'): | |
18 <a href="?sort=${name_slug}">${name}↑</a> | |
19 %else: | |
20 <a href="?sort=-${name_slug}">${name}↓</a> | |
21 %endif: | |
22 %else: | |
23 <a href="?sort=${name_slug}">${name}</a> | |
24 %endif | |
25 </%def> | |
26 | |
27 <div class="box"> | |
28 <!-- box / title --> | |
29 <div class="title"> | |
30 <h5>${_('Dashboard')} | |
31 <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...')}"/> | |
32 </h5> | |
33 %if c.rhodecode_user.username != 'default': | |
34 %if h.HasPermissionAny('hg.admin','hg.create.repository')(): | |
35 <ul class="links"> | |
36 <li> | |
37 <span>${h.link_to(_('ADD NEW REPOSITORY'),h.url('admin_settings_create_repository'))}</span> | |
38 </li> | |
39 </ul> | |
40 %endif | |
41 %endif | |
42 </div> | |
43 <!-- end box / title --> | |
44 <div class="table"> | |
45 <table> | |
46 <thead> | |
47 <tr> | |
48 <th class="left">${get_sort(_('Name'))}</th> | |
49 <th class="left">${get_sort(_('Description'))}</th> | |
50 <th class="left">${get_sort(_('Last change'))}</th> | |
51 <th class="left">${get_sort(_('Tip'))}</th> | |
52 <th class="left">${get_sort(_('Owner'))}</th> | |
53 <th class="left">${_('RSS')}</th> | |
54 <th class="left">${_('Atom')}</th> | |
55 </tr> | |
56 </thead> | |
57 <tbody> | |
58 %for cnt,repo in enumerate(c.repos_list): | |
59 <tr class="parity${cnt%2}"> | |
60 <td> | |
61 <div style="white-space: nowrap"> | |
62 ## TYPE OF REPO | |
63 %if repo['repo'].dbrepo.repo_type =='hg': | |
64 <img class="icon" title="${_('Mercurial repository')}" alt="${_('Mercurial repository')}" src="${h.url("/images/icons/hgicon.png")}"/> | |
65 %elif repo['repo'].dbrepo.repo_type =='git': | |
66 <img class="icon" title="${_('Git repository')}" alt="${_('Git repository')}" src="${h.url("/images/icons/giticon.png")}"/> | |
67 %else: | |
68 | |
69 %endif | |
70 | |
71 ##PRIVATE/PUBLIC | |
72 %if repo['repo'].dbrepo.private: | |
73 <img class="icon" title="${_('private repository')}" alt="${_('private repository')}" src="${h.url("/images/icons/lock.png")}"/> | |
74 %else: | |
75 <img class="icon" title="${_('public repository')}" alt="${_('public repository')}" src="${h.url("/images/icons/lock_open.png")}"/> | |
76 %endif | |
77 | |
78 ##NAME | |
79 ${h.link_to(repo['name'], | |
80 h.url('summary_home',repo_name=repo['name']),class_="repo_name")} | |
81 %if repo['repo'].dbrepo.fork: | |
82 <a href="${h.url('summary_home',repo_name=repo['repo'].dbrepo.fork.repo_name)}"> | |
83 <img class="icon" alt="${_('fork')}" | |
84 title="${_('Fork of')} ${repo['repo'].dbrepo.fork.repo_name}" | |
85 src="${h.url("/images/icons/arrow_divide.png")}"/></a> | |
86 %endif | |
87 </div> | |
88 </td> | |
89 ##DESCRIPTION | |
90 <td><span class="tooltip" title="${h.tooltip(repo['description'])}"> | |
91 ${h.truncate(repo['description'],60)}</span> | |
92 </td> | |
93 ##LAST CHANGE | |
94 <td> | |
95 <span class="tooltip" title="${repo['last_change']}"> | |
96 ${h.age(repo['last_change'])}</span> | |
97 </td> | |
98 <td> | |
99 %if repo['rev']>=0: | |
100 ${h.link_to('r%s:%s' % (repo['rev'],h.short_id(repo['tip'])), | |
101 h.url('changeset_home',repo_name=repo['name'],revision=repo['tip']), | |
102 class_="tooltip", | |
103 title=h.tooltip(repo['last_msg']))} | |
104 %else: | |
105 ${_('No changesets yet')} | |
106 %endif | |
107 </td> | |
108 <td title="${repo['contact']}">${h.person(repo['contact'])}</td> | |
109 <td> | |
110 <a title="${_('Subscribe to %s rss feed')%repo['name']}" class="rss_icon" href="${h.url('rss_feed_home',repo_name=repo['name'])}"></a> | |
111 </td> | |
112 <td> | |
113 <a title="${_('Subscribe to %s atom feed')%repo['name']}" class="atom_icon" href="${h.url('atom_feed_home',repo_name=repo['name'])}"></a> | |
114 </td> | |
115 </tr> | |
116 %endfor | |
117 </tbody> | |
118 </table> | |
119 </div> | |
120 </div> | |
121 | |
122 | |
123 <script type="text/javascript"> | |
124 var D = YAHOO.util.Dom; | |
125 var E = YAHOO.util.Event; | |
126 var S = YAHOO.util.Selector; | |
127 | |
128 var q_filter = D.get('q_filter'); | |
129 var F = YAHOO.namespace('q_filter'); | |
130 | |
131 E.on(q_filter,'click',function(){ | |
132 q_filter.value = ''; | |
133 }); | |
134 | |
135 F.filterTimeout = null; | |
136 | |
137 F.updateFilter = function() { | |
138 // Reset timeout | |
139 F.filterTimeout = null; | |
140 | |
141 var obsolete = []; | |
142 var nodes = S.query('div.table tr td div a.repo_name'); | |
143 var req = D.get('q_filter').value; | |
144 for (n in nodes){ | |
145 D.setStyle(nodes[n].parentNode.parentNode.parentNode,'display','') | |
146 } | |
147 if (req){ | |
148 for (n in nodes){ | |
149 if (nodes[n].innerHTML.toLowerCase().indexOf(req) == -1) { | |
150 obsolete.push(nodes[n]); | |
151 } | |
152 } | |
153 if(obsolete){ | |
154 for (n in obsolete){ | |
155 D.setStyle(obsolete[n].parentNode.parentNode.parentNode,'display','none'); | |
156 } | |
157 } | |
158 } | |
159 } | |
160 | |
161 E.on(q_filter,'keyup',function(e){ | |
162 clearTimeout(F.filterTimeout); | |
163 setTimeout(F.updateFilter,600); | |
164 }); | |
165 | |
166 </script> | |
167 | |
168 </%def> | 14 </%def> |