##// END OF EJS Templates
fixes code view issue on chrome
marcink -
r1475:aa805ee6 beta
parent child Browse files
Show More
@@ -1,123 +1,127 b''
1 div.codeblock {
1 div.codeblock {
2 overflow: auto;
2 overflow: auto;
3 padding: 0px;
3 padding: 0px;
4 border: 1px solid #ccc;
4 border: 1px solid #ccc;
5 background: #f8f8f8;
5 background: #f8f8f8;
6 font-size: 100%;
6 font-size: 100%;
7 line-height: 100%;
7 line-height: 100%;
8 /* new */
8 /* new */
9 line-height: 125%;
9 line-height: 125%;
10 }
10 }
11 div.codeblock .code-header{
11 div.codeblock .code-header{
12 border-bottom: 1px solid #CCCCCC;
12 border-bottom: 1px solid #CCCCCC;
13 background: #EEEEEE;
13 background: #EEEEEE;
14 padding:10px 0 10px 0;
14 padding:10px 0 10px 0;
15 }
15 }
16 div.codeblock .code-header .revision{
16 div.codeblock .code-header .revision{
17 margin-left:25px;
17 margin-left:25px;
18 font-weight: bold;
18 font-weight: bold;
19 }
19 }
20 div.codeblock .code-header .commit{
20 div.codeblock .code-header .commit{
21 margin-left:25px;
21 margin-left:25px;
22 font-weight: normal;
22 font-weight: normal;
23 white-space:pre;
23 white-space:pre;
24 }
24 }
25
25
26 div.codeblock .code-body table{
26 div.codeblock .code-body table{
27 width: 0 !important;
27 width: 0 !important;
28 border: 0px !important;
29 }
30 div.codeblock .code-body table td {
31 border: 0px !important;
28 }
32 }
29 div.code-body {
33 div.code-body {
30 background-color: #FFFFFF;
34 background-color: #FFFFFF;
31 }
35 }
32 div.code-body pre .match{
36 div.code-body pre .match{
33 background-color: #FAFFA6;
37 background-color: #FAFFA6;
34 }
38 }
35 div.code-body pre .break{
39 div.code-body pre .break{
36 background-color: #DDE7EF;
40 background-color: #DDE7EF;
37 width: 100%;
41 width: 100%;
38 color: #747474;
42 color: #747474;
39 display: block;
43 display: block;
40
44
41 }
45 }
42 div.annotatediv{
46 div.annotatediv{
43 margin-left:2px;
47 margin-left:2px;
44 margin-right:4px;
48 margin-right:4px;
45 }
49 }
46 .code-highlight {
50 .code-highlight {
47 padding: 0px;
51 padding: 0px;
48 margin-top: 5px;
52 margin-top: 5px;
49 margin-bottom: 5px;
53 margin-bottom: 5px;
50 border-left: 2px solid #ccc;
54 border-left: 2px solid #ccc;
51 }
55 }
52 .code-highlight pre, .linenodiv pre {
56 .code-highlight pre, .linenodiv pre {
53 padding: 5px;
57 padding: 5px;
54 margin: 0;
58 margin: 0;
55 }
59 }
56 .code-highlight pre div:target {
60 .code-highlight pre div:target {
57 background-color: #FFFFBE !important;
61 background-color: #FFFFBE !important;
58 }
62 }
59
63
60 .linenos a { text-decoration: none; }
64 .linenos a { text-decoration: none; }
61
65
62 .code { display: block; }
66 .code { display: block; }
63 .code-highlight .hll { background-color: #ffffcc }
67 .code-highlight .hll { background-color: #ffffcc }
64 .code-highlight .c { color: #408080; font-style: italic } /* Comment */
68 .code-highlight .c { color: #408080; font-style: italic } /* Comment */
65 .code-highlight .err { border: 1px solid #FF0000 } /* Error */
69 .code-highlight .err { border: 1px solid #FF0000 } /* Error */
66 .code-highlight .k { color: #008000; font-weight: bold } /* Keyword */
70 .code-highlight .k { color: #008000; font-weight: bold } /* Keyword */
67 .code-highlight .o { color: #666666 } /* Operator */
71 .code-highlight .o { color: #666666 } /* Operator */
68 .code-highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */
72 .code-highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */
69 .code-highlight .cp { color: #BC7A00 } /* Comment.Preproc */
73 .code-highlight .cp { color: #BC7A00 } /* Comment.Preproc */
70 .code-highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */
74 .code-highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */
71 .code-highlight .cs { color: #408080; font-style: italic } /* Comment.Special */
75 .code-highlight .cs { color: #408080; font-style: italic } /* Comment.Special */
72 .code-highlight .gd { color: #A00000 } /* Generic.Deleted */
76 .code-highlight .gd { color: #A00000 } /* Generic.Deleted */
73 .code-highlight .ge { font-style: italic } /* Generic.Emph */
77 .code-highlight .ge { font-style: italic } /* Generic.Emph */
74 .code-highlight .gr { color: #FF0000 } /* Generic.Error */
78 .code-highlight .gr { color: #FF0000 } /* Generic.Error */
75 .code-highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
79 .code-highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
76 .code-highlight .gi { color: #00A000 } /* Generic.Inserted */
80 .code-highlight .gi { color: #00A000 } /* Generic.Inserted */
77 .code-highlight .go { color: #808080 } /* Generic.Output */
81 .code-highlight .go { color: #808080 } /* Generic.Output */
78 .code-highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
82 .code-highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
79 .code-highlight .gs { font-weight: bold } /* Generic.Strong */
83 .code-highlight .gs { font-weight: bold } /* Generic.Strong */
80 .code-highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
84 .code-highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
81 .code-highlight .gt { color: #0040D0 } /* Generic.Traceback */
85 .code-highlight .gt { color: #0040D0 } /* Generic.Traceback */
82 .code-highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
86 .code-highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
83 .code-highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
87 .code-highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
84 .code-highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
88 .code-highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
85 .code-highlight .kp { color: #008000 } /* Keyword.Pseudo */
89 .code-highlight .kp { color: #008000 } /* Keyword.Pseudo */
86 .code-highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
90 .code-highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
87 .code-highlight .kt { color: #B00040 } /* Keyword.Type */
91 .code-highlight .kt { color: #B00040 } /* Keyword.Type */
88 .code-highlight .m { color: #666666 } /* Literal.Number */
92 .code-highlight .m { color: #666666 } /* Literal.Number */
89 .code-highlight .s { color: #BA2121 } /* Literal.String */
93 .code-highlight .s { color: #BA2121 } /* Literal.String */
90 .code-highlight .na { color: #7D9029 } /* Name.Attribute */
94 .code-highlight .na { color: #7D9029 } /* Name.Attribute */
91 .code-highlight .nb { color: #008000 } /* Name.Builtin */
95 .code-highlight .nb { color: #008000 } /* Name.Builtin */
92 .code-highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */
96 .code-highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */
93 .code-highlight .no { color: #880000 } /* Name.Constant */
97 .code-highlight .no { color: #880000 } /* Name.Constant */
94 .code-highlight .nd { color: #AA22FF } /* Name.Decorator */
98 .code-highlight .nd { color: #AA22FF } /* Name.Decorator */
95 .code-highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */
99 .code-highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */
96 .code-highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
100 .code-highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
97 .code-highlight .nf { color: #0000FF } /* Name.Function */
101 .code-highlight .nf { color: #0000FF } /* Name.Function */
98 .code-highlight .nl { color: #A0A000 } /* Name.Label */
102 .code-highlight .nl { color: #A0A000 } /* Name.Label */
99 .code-highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
103 .code-highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
100 .code-highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */
104 .code-highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */
101 .code-highlight .nv { color: #19177C } /* Name.Variable */
105 .code-highlight .nv { color: #19177C } /* Name.Variable */
102 .code-highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
106 .code-highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
103 .code-highlight .w { color: #bbbbbb } /* Text.Whitespace */
107 .code-highlight .w { color: #bbbbbb } /* Text.Whitespace */
104 .code-highlight .mf { color: #666666 } /* Literal.Number.Float */
108 .code-highlight .mf { color: #666666 } /* Literal.Number.Float */
105 .code-highlight .mh { color: #666666 } /* Literal.Number.Hex */
109 .code-highlight .mh { color: #666666 } /* Literal.Number.Hex */
106 .code-highlight .mi { color: #666666 } /* Literal.Number.Integer */
110 .code-highlight .mi { color: #666666 } /* Literal.Number.Integer */
107 .code-highlight .mo { color: #666666 } /* Literal.Number.Oct */
111 .code-highlight .mo { color: #666666 } /* Literal.Number.Oct */
108 .code-highlight .sb { color: #BA2121 } /* Literal.String.Backtick */
112 .code-highlight .sb { color: #BA2121 } /* Literal.String.Backtick */
109 .code-highlight .sc { color: #BA2121 } /* Literal.String.Char */
113 .code-highlight .sc { color: #BA2121 } /* Literal.String.Char */
110 .code-highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
114 .code-highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
111 .code-highlight .s2 { color: #BA2121 } /* Literal.String.Double */
115 .code-highlight .s2 { color: #BA2121 } /* Literal.String.Double */
112 .code-highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
116 .code-highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
113 .code-highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */
117 .code-highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */
114 .code-highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
118 .code-highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
115 .code-highlight .sx { color: #008000 } /* Literal.String.Other */
119 .code-highlight .sx { color: #008000 } /* Literal.String.Other */
116 .code-highlight .sr { color: #BB6688 } /* Literal.String.Regex */
120 .code-highlight .sr { color: #BB6688 } /* Literal.String.Regex */
117 .code-highlight .s1 { color: #BA2121 } /* Literal.String.Single */
121 .code-highlight .s1 { color: #BA2121 } /* Literal.String.Single */
118 .code-highlight .ss { color: #19177C } /* Literal.String.Symbol */
122 .code-highlight .ss { color: #19177C } /* Literal.String.Symbol */
119 .code-highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */
123 .code-highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */
120 .code-highlight .vc { color: #19177C } /* Name.Variable.Class */
124 .code-highlight .vc { color: #19177C } /* Name.Variable.Class */
121 .code-highlight .vg { color: #19177C } /* Name.Variable.Global */
125 .code-highlight .vg { color: #19177C } /* Name.Variable.Global */
122 .code-highlight .vi { color: #19177C } /* Name.Variable.Instance */
126 .code-highlight .vi { color: #19177C } /* Name.Variable.Instance */
123 .code-highlight .il { color: #666666 } /* Literal.Number.Integer.Long */
127 .code-highlight .il { color: #666666 } /* Literal.Number.Integer.Long */
@@ -1,246 +1,244 b''
1 <%page args="parent" />
1 <%page args="parent" />
2 <%def name="get_sort(name)">
2 <%def name="get_sort(name)">
3 <%name_slug = name.lower().replace(' ','_') %>
3 <%name_slug = name.lower().replace(' ','_') %>
4
4
5 %if name_slug == c.sort_slug:
5 %if name_slug == c.sort_slug:
6 %if c.sort_by.startswith('-'):
6 %if c.sort_by.startswith('-'):
7 <a href="?sort=${name_slug}">${name}&uarr;</a>
7 <a href="?sort=${name_slug}">${name}&uarr;</a>
8 %else:
8 %else:
9 <a href="?sort=-${name_slug}">${name}&darr;</a>
9 <a href="?sort=-${name_slug}">${name}&darr;</a>
10 %endif:
10 %endif:
11 %else:
11 %else:
12 <a href="?sort=${name_slug}">${name}</a>
12 <a href="?sort=${name_slug}">${name}</a>
13 %endif
13 %endif
14 </%def>
14 </%def>
15
15
16 <div class="box">
16 <div class="box">
17 <!-- box / title -->
17 <!-- box / title -->
18 <div class="title">
18 <div class="title">
19 <h5><input class="top-right-rounded-corner top-left-rounded-corner
19 <h5>
20 bottom-left-rounded-corner bottom-right-rounded-corner"
20 <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...')}"/>
21 id="q_filter" size="15" type="text" name="filter"
22 value="${_('quick filter...')}"/>
23 ${parent.breadcrumbs()} <span id="repo_count"></span> ${_('repositories')}
21 ${parent.breadcrumbs()} <span id="repo_count"></span> ${_('repositories')}
24 </h5>
22 </h5>
25 %if c.rhodecode_user.username != 'default':
23 %if c.rhodecode_user.username != 'default':
26 %if h.HasPermissionAny('hg.admin','hg.create.repository')():
24 %if h.HasPermissionAny('hg.admin','hg.create.repository')():
27 <ul class="links">
25 <ul class="links">
28 <li>
26 <li>
29 <span>${h.link_to(_('ADD NEW REPOSITORY'),h.url('admin_settings_create_repository'))}</span>
27 <span>${h.link_to(_('ADD NEW REPOSITORY'),h.url('admin_settings_create_repository'))}</span>
30 </li>
28 </li>
31 </ul>
29 </ul>
32 %endif
30 %endif
33 %endif
31 %endif
34 </div>
32 </div>
35 <!-- end box / title -->
33 <!-- end box / title -->
36 <div class="table">
34 <div class="table">
37 % if c.groups:
35 % if c.groups:
38 <table>
36 <table>
39 <thead>
37 <thead>
40 <tr>
38 <tr>
41 <th class="left"><a href="#">${_('Group name')}</a></th>
39 <th class="left"><a href="#">${_('Group name')}</a></th>
42 <th class="left"><a href="#">${_('Description')}</a></th>
40 <th class="left"><a href="#">${_('Description')}</a></th>
43 ##<th class="left"><a href="#">${_('Number of repositories')}</a></th>
41 ##<th class="left"><a href="#">${_('Number of repositories')}</a></th>
44 </tr>
42 </tr>
45 </thead>
43 </thead>
46
44
47 ## REPO GROUPS
45 ## REPO GROUPS
48
46
49 % for gr in c.groups:
47 % for gr in c.groups:
50 <tr>
48 <tr>
51 <td>
49 <td>
52 <div style="white-space: nowrap">
50 <div style="white-space: nowrap">
53 <img class="icon" alt="${_('Repositories group')}" src="${h.url('/images/icons/database_link.png')}"/>
51 <img class="icon" alt="${_('Repositories group')}" src="${h.url('/images/icons/database_link.png')}"/>
54 ${h.link_to(gr.group_name,url('repos_group',id=gr.group_id))}
52 ${h.link_to(gr.group_name,url('repos_group',id=gr.group_id))}
55 </div>
53 </div>
56 </td>
54 </td>
57 <td>${gr.group_description}</td>
55 <td>${gr.group_description}</td>
58 ##<td><b>${gr.repositories.count()}</b></td>
56 ##<td><b>${gr.repositories.count()}</b></td>
59 </tr>
57 </tr>
60 % endfor
58 % endfor
61
59
62 </table>
60 </table>
63 <div style="height: 20px"></div>
61 <div style="height: 20px"></div>
64 % endif
62 % endif
65 <div id="welcome" style="display:none;text-align:center">
63 <div id="welcome" style="display:none;text-align:center">
66 <h1><a href="${h.url('home')}">${c.rhodecode_name} ${c.rhodecode_version}</a></h1>
64 <h1><a href="${h.url('home')}">${c.rhodecode_name} ${c.rhodecode_version}</a></h1>
67 </div>
65 </div>
68 <table id="repos_list">
66 <table id="repos_list">
69 <thead>
67 <thead>
70 <tr>
68 <tr>
71 <th class="left"></th>
69 <th class="left"></th>
72 <th class="left">${get_sort(_('Name'))}</th>
70 <th class="left">${get_sort(_('Name'))}</th>
73 <th class="left">${get_sort(_('Description'))}</th>
71 <th class="left">${get_sort(_('Description'))}</th>
74 <th class="left">${get_sort(_('Last change'))}</th>
72 <th class="left">${get_sort(_('Last change'))}</th>
75 <th class="left">${get_sort(_('Tip'))}</th>
73 <th class="left">${get_sort(_('Tip'))}</th>
76 <th class="left">${get_sort(_('Owner'))}</th>
74 <th class="left">${get_sort(_('Owner'))}</th>
77 <th class="left">${_('RSS')}</th>
75 <th class="left">${_('RSS')}</th>
78 <th class="left">${_('Atom')}</th>
76 <th class="left">${_('Atom')}</th>
79 </tr>
77 </tr>
80 </thead>
78 </thead>
81 <tbody>
79 <tbody>
82 %for cnt,repo in enumerate(c.repos_list):
80 %for cnt,repo in enumerate(c.repos_list):
83 <tr class="parity${cnt%2}">
81 <tr class="parity${cnt%2}">
84 <td class="quick_repo_menu">
82 <td class="quick_repo_menu">
85 <ul class="menu_items hidden">
83 <ul class="menu_items hidden">
86 <li>
84 <li>
87 <a title="${_('Summary')}" href="${h.url('summary_home',repo_name=repo['name'])}">
85 <a title="${_('Summary')}" href="${h.url('summary_home',repo_name=repo['name'])}">
88 <span class="icon">
86 <span class="icon">
89 <img src="${h.url('/images/icons/clipboard_16.png')}" alt="${_('Summary')}" />
87 <img src="${h.url('/images/icons/clipboard_16.png')}" alt="${_('Summary')}" />
90 </span>
88 </span>
91 <span>${_('Summary')}</span>
89 <span>${_('Summary')}</span>
92 </a>
90 </a>
93 </li>
91 </li>
94 <li>
92 <li>
95 <a title="${_('Changelog')}" href="${h.url('changelog_home',repo_name=repo['name'])}">
93 <a title="${_('Changelog')}" href="${h.url('changelog_home',repo_name=repo['name'])}">
96 <span class="icon">
94 <span class="icon">
97 <img src="${h.url('/images/icons/time.png')}" alt="${_('Changelog')}" />
95 <img src="${h.url('/images/icons/time.png')}" alt="${_('Changelog')}" />
98 </span>
96 </span>
99 <span>${_('Changelog')}</span>
97 <span>${_('Changelog')}</span>
100 </a>
98 </a>
101 </li>
99 </li>
102 <li>
100 <li>
103 <a title="${_('Files')}" href="${h.url('files_home',repo_name=repo['name'])}">
101 <a title="${_('Files')}" href="${h.url('files_home',repo_name=repo['name'])}">
104 <span class="icon">
102 <span class="icon">
105 <img src="${h.url('/images/icons/file.png')}" alt="${_('Files')}" />
103 <img src="${h.url('/images/icons/file.png')}" alt="${_('Files')}" />
106 </span>
104 </span>
107 <span>${_('Files')}</span>
105 <span>${_('Files')}</span>
108 </a>
106 </a>
109 </li>
107 </li>
110 </ul>
108 </ul>
111 </td>
109 </td>
112 <td>
110 <td>
113 ## TYPE OF REPO
111 ## TYPE OF REPO
114 <div style="white-space: nowrap">
112 <div style="white-space: nowrap">
115 %if repo['dbrepo']['repo_type'] =='hg':
113 %if repo['dbrepo']['repo_type'] =='hg':
116 <img class="icon" title="${_('Mercurial repository')}" alt="${_('Mercurial repository')}" src="${h.url('/images/icons/hgicon.png')}"/>
114 <img class="icon" title="${_('Mercurial repository')}" alt="${_('Mercurial repository')}" src="${h.url('/images/icons/hgicon.png')}"/>
117 %elif repo['dbrepo']['repo_type'] =='git':
115 %elif repo['dbrepo']['repo_type'] =='git':
118 <img class="icon" title="${_('Git repository')}" alt="${_('Git repository')}" src="${h.url('/images/icons/giticon.png')}"/>
116 <img class="icon" title="${_('Git repository')}" alt="${_('Git repository')}" src="${h.url('/images/icons/giticon.png')}"/>
119 %endif
117 %endif
120
118
121 ##PRIVATE/PUBLIC
119 ##PRIVATE/PUBLIC
122 %if repo['dbrepo']['private']:
120 %if repo['dbrepo']['private']:
123 <img class="icon" title="${_('private repository')}" alt="${_('private repository')}" src="${h.url('/images/icons/lock.png')}"/>
121 <img class="icon" title="${_('private repository')}" alt="${_('private repository')}" src="${h.url('/images/icons/lock.png')}"/>
124 %else:
122 %else:
125 <img class="icon" title="${_('public repository')}" alt="${_('public repository')}" src="${h.url('/images/icons/lock_open.png')}"/>
123 <img class="icon" title="${_('public repository')}" alt="${_('public repository')}" src="${h.url('/images/icons/lock_open.png')}"/>
126 %endif
124 %endif
127
125
128 ##NAME
126 ##NAME
129 ${h.link_to(repo['name'],
127 ${h.link_to(repo['name'],
130 h.url('summary_home',repo_name=repo['name']),class_="repo_name")}
128 h.url('summary_home',repo_name=repo['name']),class_="repo_name")}
131 %if repo['dbrepo_fork']:
129 %if repo['dbrepo_fork']:
132 <a href="${h.url('summary_home',repo_name=repo['dbrepo_fork']['repo_name'])}">
130 <a href="${h.url('summary_home',repo_name=repo['dbrepo_fork']['repo_name'])}">
133 <img class="icon" alt="${_('fork')}"
131 <img class="icon" alt="${_('fork')}"
134 title="${_('Fork of')} ${repo['dbrepo_fork']['repo_name']}"
132 title="${_('Fork of')} ${repo['dbrepo_fork']['repo_name']}"
135 src="${h.url('/images/icons/arrow_divide.png')}"/></a>
133 src="${h.url('/images/icons/arrow_divide.png')}"/></a>
136 %endif
134 %endif
137 </div>
135 </div>
138 </td>
136 </td>
139 ##DESCRIPTION
137 ##DESCRIPTION
140 <td><span class="tooltip" title="${h.tooltip(repo['description'])}">
138 <td><span class="tooltip" title="${h.tooltip(repo['description'])}">
141 ${h.truncate(repo['description'],60)}</span>
139 ${h.truncate(repo['description'],60)}</span>
142 </td>
140 </td>
143 ##LAST CHANGE
141 ##LAST CHANGE
144 <td>
142 <td>
145 <span class="tooltip" title="${repo['last_change']}">
143 <span class="tooltip" title="${repo['last_change']}">
146 ${h.age(repo['last_change'])}</span>
144 ${h.age(repo['last_change'])}</span>
147 </td>
145 </td>
148 <td>
146 <td>
149 %if repo['rev']>=0:
147 %if repo['rev']>=0:
150 ${h.link_to('r%s:%s' % (repo['rev'],h.short_id(repo['tip'])),
148 ${h.link_to('r%s:%s' % (repo['rev'],h.short_id(repo['tip'])),
151 h.url('changeset_home',repo_name=repo['name'],revision=repo['tip']),
149 h.url('changeset_home',repo_name=repo['name'],revision=repo['tip']),
152 class_="tooltip",
150 class_="tooltip",
153 title=h.tooltip('%s\n%s' % (repo['author'],repo['last_msg'])))}
151 title=h.tooltip('%s\n%s' % (repo['author'],repo['last_msg'])))}
154 %else:
152 %else:
155 ${_('No changesets yet')}
153 ${_('No changesets yet')}
156 %endif
154 %endif
157 </td>
155 </td>
158 <td title="${repo['contact']}">${h.person(repo['contact'])}</td>
156 <td title="${repo['contact']}">${h.person(repo['contact'])}</td>
159 <td>
157 <td>
160 %if c.rhodecode_user.username != 'default':
158 %if c.rhodecode_user.username != 'default':
161 <a title="${_('Subscribe to %s rss feed')%repo['name']}" class="rss_icon" href="${h.url('rss_feed_home',repo_name=repo['name'],api_key=c.rhodecode_user.api_key)}"></a>
159 <a title="${_('Subscribe to %s rss feed')%repo['name']}" class="rss_icon" href="${h.url('rss_feed_home',repo_name=repo['name'],api_key=c.rhodecode_user.api_key)}"></a>
162 %else:
160 %else:
163 <a title="${_('Subscribe to %s rss feed')%repo['name']}" class="rss_icon" href="${h.url('rss_feed_home',repo_name=repo['name'])}"></a>
161 <a title="${_('Subscribe to %s rss feed')%repo['name']}" class="rss_icon" href="${h.url('rss_feed_home',repo_name=repo['name'])}"></a>
164 %endif:
162 %endif:
165 </td>
163 </td>
166 <td>
164 <td>
167 %if c.rhodecode_user.username != 'default':
165 %if c.rhodecode_user.username != 'default':
168 <a title="${_('Subscribe to %s atom feed')%repo['name']}" class="atom_icon" href="${h.url('atom_feed_home',repo_name=repo['name'],api_key=c.rhodecode_user.api_key)}"></a>
166 <a title="${_('Subscribe to %s atom feed')%repo['name']}" class="atom_icon" href="${h.url('atom_feed_home',repo_name=repo['name'],api_key=c.rhodecode_user.api_key)}"></a>
169 %else:
167 %else:
170 <a title="${_('Subscribe to %s atom feed')%repo['name']}" class="atom_icon" href="${h.url('atom_feed_home',repo_name=repo['name'])}"></a>
168 <a title="${_('Subscribe to %s atom feed')%repo['name']}" class="atom_icon" href="${h.url('atom_feed_home',repo_name=repo['name'])}"></a>
171 %endif:
169 %endif:
172 </td>
170 </td>
173 </tr>
171 </tr>
174 %endfor
172 %endfor
175
173
176 </tbody>
174 </tbody>
177 </table>
175 </table>
178 </div>
176 </div>
179 </div>
177 </div>
180
178
181
179
182 <script type="text/javascript">
180 <script type="text/javascript">
183 var D = YAHOO.util.Dom;
181 var D = YAHOO.util.Dom;
184 var E = YAHOO.util.Event;
182 var E = YAHOO.util.Event;
185 var S = YAHOO.util.Selector;
183 var S = YAHOO.util.Selector;
186
184
187 var q_filter = D.get('q_filter');
185 var q_filter = D.get('q_filter');
188 var F = YAHOO.namespace('q_filter');
186 var F = YAHOO.namespace('q_filter');
189
187
190 E.on(q_filter,'click',function(){
188 E.on(q_filter,'click',function(){
191 q_filter.value = '';
189 q_filter.value = '';
192 });
190 });
193
191
194 F.filterTimeout = null;
192 F.filterTimeout = null;
195
193
196 function set_count(count){
194 function set_count(count){
197
195
198 if(count == 0){
196 if(count == 0){
199 YUD.setStyle('repos_list','display','none');
197 YUD.setStyle('repos_list','display','none');
200 YUD.setStyle('welcome','display','');
198 YUD.setStyle('welcome','display','');
201 }
199 }
202 else{
200 else{
203 YUD.setStyle('repos_list','display','');
201 YUD.setStyle('repos_list','display','');
204 YUD.setStyle('welcome','display','none');
202 YUD.setStyle('welcome','display','none');
205 }
203 }
206 YUD.get('repo_count').innerHTML = count;
204 YUD.get('repo_count').innerHTML = count;
207
205
208 }
206 }
209
207
210
208
211 //set initial count for repos
209 //set initial count for repos
212 var nodes = S.query('div.table tr td div a.repo_name');
210 var nodes = S.query('div.table tr td div a.repo_name');
213
211
214 set_count(nodes.length)
212 set_count(nodes.length)
215 F.updateFilter = function() {
213 F.updateFilter = function() {
216 // Reset timeout
214 // Reset timeout
217 F.filterTimeout = null;
215 F.filterTimeout = null;
218
216
219 var obsolete = [];
217 var obsolete = [];
220 nodes = S.query('div.table tr td div a.repo_name');
218 nodes = S.query('div.table tr td div a.repo_name');
221 var req = q_filter.value.toLowerCase();
219 var req = q_filter.value.toLowerCase();
222 for (n in nodes){
220 for (n in nodes){
223 D.setStyle(nodes[n].parentNode.parentNode.parentNode,'display','')
221 D.setStyle(nodes[n].parentNode.parentNode.parentNode,'display','')
224 }
222 }
225 if (req){
223 if (req){
226 for (n in nodes){
224 for (n in nodes){
227 if (nodes[n].innerHTML.toLowerCase().indexOf(req) == -1) {
225 if (nodes[n].innerHTML.toLowerCase().indexOf(req) == -1) {
228 obsolete.push(nodes[n]);
226 obsolete.push(nodes[n]);
229 }
227 }
230 }
228 }
231 if(obsolete){
229 if(obsolete){
232 for (n in obsolete){
230 for (n in obsolete){
233 D.setStyle(obsolete[n].parentNode.parentNode.parentNode,'display','none');
231 D.setStyle(obsolete[n].parentNode.parentNode.parentNode,'display','none');
234 }
232 }
235 }
233 }
236 }
234 }
237 // set new count into dashboard
235 // set new count into dashboard
238 set_count(nodes.length - obsolete.length)
236 set_count(nodes.length - obsolete.length)
239 }
237 }
240
238
241 E.on(q_filter,'keyup',function(e){
239 E.on(q_filter,'keyup',function(e){
242 clearTimeout(F.filterTimeout);
240 clearTimeout(F.filterTimeout);
243 F.filterTimeout = setTimeout(F.updateFilter,600);
241 F.filterTimeout = setTimeout(F.updateFilter,600);
244 });
242 });
245
243
246 </script>
244 </script>
General Comments 0
You need to be logged in to leave comments. Login now