##// END OF EJS Templates
annotations: fixed UI problems in annotation view for newer browsers.
marcink -
r1412:434b986f default
parent child Browse files
Show More
@@ -111,7 +111,7 b' def filenode_as_annotated_lines_tokens(f'
111 ]
111 ]
112 """
112 """
113
113
114 commit_cache = {} # cache commit_getter lookups
114 commit_cache = {} # cache commit_getter lookups
115
115
116 def _get_annotation(commit_id, commit_getter):
116 def _get_annotation(commit_id, commit_getter):
117 if commit_id not in commit_cache:
117 if commit_id not in commit_cache:
@@ -969,17 +969,6 b' table.cb {'
969 tr {
969 tr {
970 &.cb-annotate {
970 &.cb-annotate {
971 border-top: 1px solid #eee;
971 border-top: 1px solid #eee;
972
973 &+ .cb-line {
974 border-top: 1px solid #eee;
975 }
976
977 &:first-child {
978 border-top: none;
979 &+ .cb-line {
980 border-top: none;
981 }
982 }
983 }
972 }
984
973
985 &.cb-hunk {
974 &.cb-hunk {
@@ -1114,7 +1103,9 b' table.cb {'
1114 background: #ffdddd;
1103 background: #ffdddd;
1115 }
1104 }
1116 }
1105 }
1117
1106 &.cb-annotate-message-spacer {
1107 width:8px;
1108 }
1118 &.cb-annotate-info {
1109 &.cb-annotate-info {
1119 width: 320px;
1110 width: 320px;
1120 min-width: 320px;
1111 min-width: 320px;
@@ -1122,22 +1113,23 b' table.cb {'
1122 padding: 5px 2px;
1113 padding: 5px 2px;
1123 font-size: 13px;
1114 font-size: 13px;
1124
1115
1125 strong.cb-annotate-message {
1116 .cb-annotate-message {
1126 padding: 5px 0;
1117 padding: 2px 0px 0px 0px;
1127 white-space: pre-line;
1118 white-space: pre-line;
1128 display: inline-block;
1119 overflow: hidden;
1129 }
1120 }
1130 .rc-user {
1121 .rc-user {
1131 float: none;
1122 float: none;
1132 padding: 0 6px 0 17px;
1123 padding: 0 6px 0 17px;
1133 min-width: auto;
1124 min-width: unset;
1134 min-height: auto;
1125 min-height: unset;
1135 }
1126 }
1136 }
1127 }
1137
1128
1138 &.cb-annotate-revision {
1129 &.cb-annotate-revision {
1139 cursor: pointer;
1130 cursor: pointer;
1140 text-align: right;
1131 text-align: right;
1132 padding: 1px 3px 0px 3px;
1141 }
1133 }
1142 }
1134 }
1143 }
1135 }
@@ -1,16 +1,50 b''
1 <%def name="render_line(line_num, tokens,
1 <%def name="render_line(line_num, tokens,
2 annotation=None,
2 annotation=None,
3 bgcolor=None)">
3 bgcolor=None, show_annotation=None)">
4 <%
4 <%
5 from rhodecode.lib.codeblocks import render_tokenstream
5 from rhodecode.lib.codeblocks import render_tokenstream
6 # avoid module lookup for performance
6 # avoid module lookup for performance
7 html_escape = h.html_escape
7 html_escape = h.html_escape
8 %>
8 %>
9 <tr class="cb-line cb-line-fresh"
9 <tr class="cb-line cb-line-fresh ${'cb-annotate' if show_annotation else ''}"
10 %if annotation:
10 %if annotation:
11 data-revision="${annotation.revision}"
11 data-revision="${annotation.revision}"
12 %endif
12 %endif
13 >
13 >
14
15 % if annotation:
16 % if show_annotation:
17 <td class="cb-annotate-info tooltip"
18 title="Author: ${annotation.author | entity}<br>Date: ${annotation.date}<br>Message: ${annotation.message | entity}"
19 >
20 ${h.gravatar_with_user(annotation.author, 16) | n}
21 <div class="cb-annotate-message truncate-wrap">${h.chop_at_smart(annotation.message, '\n', suffix_if_chopped='...')}</div>
22 </td>
23 <td class="cb-annotate-message-spacer"></td>
24 <td
25 class="cb-annotate-revision"
26 data-revision="${annotation.revision}"
27 onclick="$('[data-revision=${annotation.revision}]').toggleClass('cb-line-fresh')"
28 style="background: ${bgcolor}">
29 <a class="cb-annotate" href="${h.url('changeset_home',repo_name=c.repo_name,revision=annotation.raw_id)}">
30 r${annotation.revision}
31 </a>
32 </td>
33 % else:
34 <td></td>
35 <td class="cb-annotate-message-spacer"></td>
36 <td
37 class="cb-annotate-revision"
38 data-revision="${annotation.revision}"
39 onclick="$('[data-revision=${annotation.revision}]').toggleClass('cb-line-fresh')"
40 style="background: ${bgcolor}">
41 </td>
42 % endif
43 % else:
44 <td colspan="3"></td>
45 % endif
46
47
14 <td class="cb-lineno" id="L${line_num}">
48 <td class="cb-lineno" id="L${line_num}">
15 <a data-line-no="${line_num}" href="#L${line_num}"></a>
49 <a data-line-no="${line_num}" href="#L${line_num}"></a>
16 </td>
50 </td>
@@ -27,40 +61,11 b''
27 </%def>
61 </%def>
28
62
29 <%def name="render_annotation_lines(annotation, lines, color_hasher)">
63 <%def name="render_annotation_lines(annotation, lines, color_hasher)">
30 <%
64 % for line_num, tokens in lines:
31 rowspan = len(lines) + 1 # span the line's <tr> and annotation <tr>
32 %>
33 %if not annotation:
34 <tr class="cb-annotate">
35 <td class="cb-annotate-message" rowspan="${rowspan}"></td>
36 <td class="cb-annotate-revision" rowspan="${rowspan}"></td>
37 </tr>
38 %else:
39 <tr class="cb-annotate">
40 <td class="cb-annotate-info tooltip"
41 rowspan="${rowspan}"
42 title="Author: ${annotation.author | entity}<br>Date: ${annotation.date}<br>Message: ${annotation.message | entity}"
43 >
44 ${h.gravatar_with_user(annotation.author, 16) | n}
45 <strong class="cb-annotate-message">${h.truncate(annotation.message, len(lines) * 30)}</strong>
46 </td>
47 <td
48 class="cb-annotate-revision"
49 rowspan="${rowspan}"
50 data-revision="${annotation.revision}"
51 onclick="$('[data-revision=${annotation.revision}]').toggleClass('cb-line-fresh')"
52 style="background: ${color_hasher(annotation.raw_id)}">
53 <a href="${h.url('changeset_home',repo_name=c.repo_name,revision=annotation.raw_id)}">
54 r${annotation.revision}
55 </a>
56 </td>
57 </tr>
58 %endif
59
60 %for line_num, tokens in lines:
61 ${render_line(line_num, tokens,
65 ${render_line(line_num, tokens,
62 bgcolor=color_hasher(annotation and annotation.raw_id or ''),
66 bgcolor=color_hasher(annotation and annotation.raw_id or ''),
63 annotation=annotation,
67 annotation=annotation, show_annotation=loop.first
64 )}
68 )}
65 %endfor
69 % endfor
70
66 </%def>
71 </%def>
General Comments 0
You need to be logged in to leave comments. Login now