##// END OF EJS Templates
ui: fixed tags display
marcink -
r3766:b8080b96 new-ui
parent child Browse files
Show More
@@ -1,484 +1,492 b''
1 1 // summary.less
2 2 // For use in RhodeCode applications;
3 3 // Used for headers and file detail summary screens.
4 4
5 5 .summary {
6 6 clear: both;
7 7 float: none;
8 8 position: relative;
9 9 width: 100%;
10 10 margin: 0;
11 11 padding: 0;
12 12 background: #FCFCFC;
13 13 border: 1px solid #EAEAEA;
14 14 border-radius: @border-radius;
15 15 margin-bottom: 20px;
16 16
17 17 .summary-detail-header {
18 18 display: block;
19 19 width: 100%;
20 20 margin-bottom: 10px;
21 21 padding: 0 0 .5em 0;
22 22 border-bottom: @border-thickness solid @border-default-color;
23 23
24 24 .breadcrumbs {
25 25 display: inline;
26 26 margin: 0;
27 27 padding: 0;
28 28 }
29 29
30 30 h4 {
31 31 margin: 0 1em 0 0;
32 32 padding: 10px 0 5px 20px;
33 33 line-height: 1.2em;
34 34 font-size: @basefontsize;
35 35 }
36 36
37 37 .action_link {
38 38 float: right;
39 39 }
40 40
41 41 .new-file {
42 42 float: right;
43 43 margin-top: -1.5em;
44 44 }
45 45 }
46 46
47 47 .summary-detail {
48 48 float: none;
49 49 position: relative;
50 50 width: 100%;
51 51 margin: 0;
52 52 padding: 0 0 20px 0;
53 53
54 54 .file_diff_buttons {
55 55 margin-top: @space;
56 56 }
57 57
58 58 // commit message
59 59 .commit {
60 60 white-space: pre-wrap;
61 61 }
62 62
63 63 .left-clone {
64 64 float: left;
65 65 height: 30px;
66 66 margin: 0;
67 67 padding: 0;
68 68 width: 130px;
69 69 font-weight: @text-semibold-weight;
70 70 font-family: @text-semibold;
71 71 }
72 72 .left-clone select {
73 73 width: 130px;
74 74 margin-right: 0;
75 75 background-color: @grey7;
76 76 border-color: @grey4;
77 77 color: #5C5C5C;
78 78 border-top-right-radius: 0;
79 79 border-bottom-right-radius: 0;
80 80 }
81 81
82 82 .right-clone {
83 83 float: left;
84 84 width: ~"calc(100% - 170px)";
85 85
86 86 .clipboard-action {
87 87 margin-left: -30px;
88 88 }
89 89 }
90 90
91 91 .clone_url_input {
92 92 width: ~"calc(100% - 90px)";
93 93 padding: 6px 30px 6px 10px;
94 94 height: 14px;
95 95 box-shadow: 0 1px 1px 0 rgba(0,0,0,0.07);
96 96 border-top-left-radius: 0;
97 97 border-bottom-left-radius: 0;
98 98 margin-left: -1px;
99 99 }
100 100
101 101 &.directory {
102 102 margin-bottom: 0;
103 103 }
104 104
105 105 .desc {
106 106 white-space: pre-wrap;
107 107 }
108 108 .disabled {
109 109 opacity: .5;
110 110 cursor: inherit;
111 111 }
112 112 .help-block {
113 113 color: inherit;
114 114 margin: 0;
115 115 }
116 116 }
117 117
118 118 .sidebar-right {
119 119 float: left;
120 120 width: 24%;
121 121 margin: 0;
122 122 padding: 0;
123 123
124 124 ul {
125 125 margin-left: 0;
126 126 padding-left: 0;
127 127
128 128 li {
129 129 list-style-type: none;
130 130 }
131 131 }
132 132 }
133 133
134 134 #clone_by_name, #clone_by_id{
135 135 display: inline-block;
136 136 margin-left: 0px;
137 137 }
138 138
139 139 .codeblock {
140 140 border: none;
141 141 background-color: transparent;
142 142 }
143 143
144 144 .code-body {
145 145 border: @border-thickness solid @border-default-color;
146 146 .border-radius(@border-radius);
147 147 }
148 148
149 149 .btn-collapse {
150 150 clear: both;
151 151 float: none;
152 152 background: #F7F7F7;
153 153 text-align: center;
154 154 color: #949494;
155 155 font-size: 11px;
156 156
157 157 &:hover {
158 158 background: #f1f1f1;
159 159 color: #2B2B2D;
160 160 }
161 161 }
162 162 }
163 163
164 164 // this is used outside of just the summary
165 165 .fieldset, // similar to form fieldset
166 166 .summary .sidebar-right-content { // these have to match
167 167 clear: both;
168 168 float: none;
169 169 position: relative;
170 170 display:block;
171 171 width: 100%;
172 172 min-height: 20px;
173 173 margin-bottom: 10px;
174 174 padding: 0;
175 175 line-height: 1.2em;
176 176
177 177 &:after { // clearfix
178 178 content: "";
179 179 clear: both;
180 180 width: 100%;
181 181 height: 1em;
182 182 }
183 183 }
184 184
185 185 .summary .sidebar-right-content {
186 186 margin-bottom: 0;
187 187
188 188 .rc-user {
189 189 min-width: 0;
190 190 }
191 191
192 192 li {
193 193 list-style: none;
194 194 line-height: normal;
195 195 }
196 196 }
197 197
198 198 .summary {
199 199 .fieldset {
200 200 margin-bottom: 0;
201 201 }
202 202 }
203 203
204 204 .fieldset {
205 205
206 206 .left-label { // similar to form legend
207 207 display: block;
208 208 margin: 0;
209 209 padding: 0;
210 210 font-weight: @text-semibold-weight;
211 211 font-family: @text-semibold;
212 212 }
213 213
214 214 .left-label-summary {
215 215 padding-left: 20px;
216 216 margin-bottom: 5px;
217 217
218 218 p {
219 219 margin-bottom: 5px;
220 220 color: @grey1;
221 221 float: left;
222 222 width: 130px;
223 223
224 224 &.spacing {
225 225 margin-top: 10px;
226 226 }
227 227 }
228 228
229 229 .right-label-summary {
230 230 float: left;
231 231 margin-top: 7px;
232 232 width: ~"calc(100% - 160px)";
233 233 }
234 234 }
235 235
236 236 .left-label-summary-files {
237 237 padding-left: 45px;
238 238 margin-top: 5px;
239 239
240 240 p {
241 241 margin-bottom: 5px;
242 242 color: @grey1;
243 243 float: left;
244 244 width: 130px;
245 245
246 246 &.spacing {
247 247 margin-top: 10px;
248 248 }
249 249 }
250 250
251 251 .right-label-summary {
252 252 float: left;
253 253 margin-top: 7px;
254 254 }
255 255 }
256 256
257 257 .left-content {
258 258 width: ~"calc(60% - 20px)";
259 259 float: left;
260 260 margin: 15px 0 15px 20px;
261 261
262 262 .rc-user {
263 263 min-width: auto;
264 264 max-width: none;
265 265 min-height: auto;
266 266 padding-right: 5px;
267 267 }
268 268
269 269 .left-content-avatar {
270 270 width: 45px;
271 271 float: left;
272 272 margin-top: 8px;
273 273 }
274 274
275 275 .left-content-message {
276 276 float: left;
277 277 width: ~"calc(100% - 45px)";
278 278 }
279 279 }
280 280
281 281 .right-content { // similar to form fields
282 282 float: left;
283 283 display: block;
284 284 width: ~"calc(40% - 20px)";
285 285 text-align: right;
286 286 margin: 15px 20px 15px 0;
287 287
288 288 .truncate-wrap,
289 289 .truncate {
290 290 max-width: 100%;
291 291 width: 100%;
292 292 }
293 293
294 294 .commit-long {
295 295 overflow-x: auto;
296 296 }
297 297
298 298 .commit-info {
299 299 margin-top: 7px;
300 300 }
301 301
302 .tag, .tagtag, .branchtag, .booktag, .metatag, .perm_tag {
302 .summary-tag,
303 .summary-tagtag,
304 .summary-branchtag,
305 .summary-booktag,
306 .summary-metatag,
307 .summary-perm_tag {
303 308 background:transparent;
304 309 border: none;
305 310 box-shadow: none;
306 311 margin-left: 10px;
307 312 font-size: 13px;
308 313 }
309 314
310 .tag span, .tag i {
315 .summary-tag span,
316 .summary-tag i,
317 .summary-tag a {
311 318 color: @grey1;
312 319 }
320
313 321 }
314 322 .commit {
315 323 color: @grey1;
316 324 margin-bottom: 5px;
317 325 white-space: pre;
318 326 }
319 327 .commit.truncate-wrap {
320 328 overflow:hidden;
321 329 text-overflow: ellipsis;
322 330 }
323 331 .commit-author {
324 332 color: @grey1;
325 333 }
326 334 .commit-date {
327 335 color: @grey4;
328 336 }
329 337 .fieldset-text-line {
330 338 line-height: 36px;
331 339 }
332 340 }
333 341
334 342 // expand commit message
335 343 #message_expand {
336 344 clear: both;
337 345 display: block;
338 346 color: @rcblue;
339 347 cursor: pointer;
340 348 }
341 349
342 350 #trimmed_message_box {
343 351 max-height: floor(2 * @basefontsize * 1.2); // 2 lines * line-height
344 352 overflow: hidden;
345 353 }
346 354
347 355 // show/hide comments button
348 356 .show-inline-comments {
349 357 display: inline;
350 358 cursor: pointer;
351 359
352 360 .comments-show { display: inline; }
353 361 .comments-hide { display: none; }
354 362
355 363 &.comments-visible {
356 364 .comments-show { display: none; }
357 365 .comments-hide { display: inline; }
358 366 }
359 367 }
360 368
361 369 // Quick Start section
362 370
363 371 .empty-repo {
364 372 border: 1px solid #EAEAEA;
365 373 border-bottom: 0;
366 374 border-radius: @border-radius;
367 375 padding: 0 20px;
368 376 }
369 377
370 378 .empty-repo h3, .quick_start p {
371 379 margin-bottom: 10px;
372 380 }
373 381
374 382 .quick_start pre {
375 383 background: #FCFEFF;
376 384 border: 1px solid #CBDBEB;
377 385 box-shadow: @button-shadow;
378 386 padding: 10px 15px;
379 387 border-radius: 4px;
380 388 color: @grey2;
381 389 }
382 390
383 391 .clear-fix {
384 392 clear: both;
385 393 }
386 394
387 395 .quick_start {
388 396 display: block;
389 397 position: relative;
390 398 border: 1px solid #EAEAEA;
391 399 border-top: 0;
392 400 border-radius: @border-radius;
393 401 padding: 0 20px;
394 402
395 403 // adds some space to make copy and paste easier
396 404 .left-label,
397 405 .right-content {
398 406 line-height: 1.6em;
399 407 }
400 408 }
401 409
402 410
403 411 .submodule {
404 412 .summary-detail {
405 413 width: 100%;
406 414
407 415 .btn-collapse {
408 416 display: none;
409 417 }
410 418 }
411 419 }
412 420
413 421 .codeblock-header {
414 422 float: left;
415 423 display: block;
416 424 width: 100%;
417 425 margin: 0;
418 426
419 427 .file-filename {
420 428 float:left;
421 429 padding: 10px;
422 430 }
423 431
424 432 .file-stats {
425 433 padding: 10px;
426 434 float:right;
427 435 }
428 436
429 437
430 438 .stats-first-item {
431 439 padding: 0px 0px 0px 3px;
432 440 }
433 441
434 442 .stats-info {
435 443 font-size: 11px;
436 444 color: @grey4;
437 445 }
438 446
439 447 .buttons {
440 448 float: right;
441 449 text-align: right;
442 450 color: @grey4;
443 451 padding: 10px;
444 452 }
445 453
446 454 .file-container {
447 455 display: inline-block;
448 456 width: 100%;
449 457 }
450 458
451 459 }
452 460
453 461 #summary-menu-stats {
454 462
455 463 .stats-bullet {
456 464 color: @grey3;
457 465 min-width: 3em;
458 466 }
459 467
460 468 .repo-size {
461 469 margin-bottom: .5em;
462 470 }
463 471
464 472 }
465 473
466 474 .rctable.repo_summary {
467 475 border: 1px solid #eaeaea;
468 476 border-radius: 2px;
469 477 border-collapse: inherit;
470 478 border-bottom: 0;
471 479
472 480 th {
473 481 background: @grey7;
474 482 border-bottom: 0;
475 483 }
476 484
477 485 td {
478 486 border-color: #eaeaea;
479 487 }
480 488
481 489 td.td-status {
482 490 padding: 0 0 0 10px;
483 491 }
484 492 }
@@ -1,252 +1,252 b''
1 1 <%namespace name="base" file="/base/base.mako"/>
2 2
3 3 <%def name="refs_counters(branches, closed_branches, tags, bookmarks)">
4 <span class="branchtag tag">
4 <span class="summary-branchtag summary-tag">
5 5 <a href="${h.route_path('branches_home',repo_name=c.repo_name)}" class="childs">
6 6 <i class="icon-branch"></i>
7 7 % if len(branches) == 1:
8 8 <span>${len(branches)}</span> ${_('Branch')}
9 9 % else:
10 10 <span>${len(branches)}</span> ${_('Branches')}
11 11 % endif
12 12 </a>
13 13 </span>
14 14
15 15 %if closed_branches:
16 <span class="branchtag tag">
16 <span class="summary-branchtag summary-tag">
17 17 <a href="${h.route_path('branches_home',repo_name=c.repo_name)}" class="childs">
18 18 <i class="icon-branch"></i>
19 19 % if len(closed_branches) == 1:
20 20 <span>${len(closed_branches)}</span> ${_('Closed Branch')}
21 21 % else:
22 22 <span>${len(closed_branches)}</span> ${_('Closed Branches')}
23 23 % endif
24 24 </a>
25 25 </span>
26 26 %endif
27 27
28 <span class="tagtag tag">
28 <span class="summary-tagtag summary-tag">
29 29 <a href="${h.route_path('tags_home',repo_name=c.repo_name)}" class="childs">
30 30 <i class="icon-tag"></i>
31 31 % if len(tags) == 1:
32 32 <span>${len(tags)}</span> ${_('Tag')}
33 33 % else:
34 34 <span>${len(tags)}</span> ${_('Tags')}
35 35 % endif
36 36 </a>
37 37 </span>
38 38
39 39 %if bookmarks:
40 <span class="booktag tag">
40 <span class="summary-booktag summary-tag">
41 41 <a href="${h.route_path('bookmarks_home',repo_name=c.repo_name)}" class="childs">
42 42 <i class="icon-bookmark"></i>
43 43 % if len(bookmarks) == 1:
44 44 <span>${len(bookmarks)}</span> ${_('Bookmark')}
45 45 % else:
46 46 <span>${len(bookmarks)}</span> ${_('Bookmarks')}
47 47 % endif
48 48 </a>
49 49 </span>
50 50 %endif
51 51 </%def>
52 52
53 53 <%def name="summary_detail(breadcrumbs_links, show_downloads=True)">
54 54 <% summary = lambda n:{False:'summary-short'}.get(n) %>
55 55
56 56 <div id="summary-menu-stats" class="summary-detail">
57 57 <div class="fieldset">
58 58 <div class="left-content">
59 59 <div class="left-clone">
60 60 <select id="clone_option" name="clone_option">
61 61 <option value="http" selected="selected">HTTP</option>
62 62 <option value="http_id">HTTP UID</option>
63 63 % if c.ssh_enabled:
64 64 <option value="ssh">SSH</option>
65 65 % endif
66 66 </select>
67 67 </div>
68 68
69 69 <div class="right-clone">
70 70 <%
71 71 maybe_disabled = ''
72 72 if h.is_svn_without_proxy(c.rhodecode_db_repo):
73 73 maybe_disabled = 'disabled'
74 74 %>
75 75
76 76 <span id="clone_option_http">
77 77 <input type="text" class="input-monospace clone_url_input" ${maybe_disabled} readonly="readonly" value="${c.clone_repo_url}"/>
78 78 <i class="tooltip icon-clipboard clipboard-action" data-clipboard-text="${c.clone_repo_url}" title="${_('Copy the clone url')}"></i>
79 79 </span>
80 80
81 81 <span style="display: none;" id="clone_option_http_id">
82 82 <input type="text" class="input-monospace clone_url_input" ${maybe_disabled} readonly="readonly" value="${c.clone_repo_url_id}"/>
83 83 <i class="tooltip icon-clipboard clipboard-action" data-clipboard-text="${c.clone_repo_url_id}" title="${_('Copy the clone by id url')}"></i>
84 84 </span>
85 85
86 86 <span style="display: none;" id="clone_option_ssh">
87 87 <input type="text" class="input-monospace clone_url_input" ${maybe_disabled} readonly="readonly" value="${c.clone_repo_url_ssh}"/>
88 88 <i class="tooltip icon-clipboard clipboard-action" data-clipboard-text="${c.clone_repo_url_ssh}" title="${_('Copy the clone by ssh url')}"></i>
89 89 </span>
90 90
91 91 % if maybe_disabled:
92 92 <p class="help-block">${_('SVN Protocol is disabled. To enable it, see the')} <a href="${h.route_url('enterprise_svn_setup')}" target="_blank">${_('documentation here')}</a>.</p>
93 93 % endif
94 94 </div>
95 95 </div>
96 96
97 97 <div class="right-content">
98 98 <div class="commit-info">
99 99 <div class="tags">
100 100 <% commit_rev = c.rhodecode_db_repo.changeset_cache.get('revision') %>
101 101 % if c.rhodecode_repo:
102 102 ${refs_counters(
103 103 c.rhodecode_repo.branches,
104 104 c.rhodecode_repo.branches_closed,
105 105 c.rhodecode_repo.tags,
106 106 c.rhodecode_repo.bookmarks)}
107 107 % else:
108 108 ## missing requirements can make c.rhodecode_repo None
109 109 ${refs_counters([], [], [], [])}
110 110 % endif
111 111
112 112 ## commits
113 <span class="tag">
113 <span class="summary-tag">
114 114 % if commit_rev == -1:
115 115 <i class="icon-history"></i>
116 116 % if commit_rev == -1:
117 117 <span>0</span> ${_('Commit')}
118 118 % else:
119 119 <span>0</span> ${_('Commits')}
120 120 % endif
121 121 % else:
122 122 <a href="${h.route_path('repo_commits', repo_name=c.repo_name)}">
123 123 <i class="icon-history"></i>
124 124 % if commit_rev == 1:
125 125 <span>${commit_rev}</span> ${_('Commit')}
126 126 % else:
127 127 <span>${commit_rev}</span> ${_('Commits')}
128 128 % endif
129 129 </a>
130 130 % endif
131 131 </span>
132 132
133 133 ## forks
134 <span class="tag">
134 <span class="summary-tag">
135 135 <a title="${_('Number of Repository Forks')}" href="${h.route_path('repo_forks_show_all', repo_name=c.repo_name)}">
136 136 <i class="icon-code-fork"></i>
137 137 <span>${c.repository_forks}</span> ${_ungettext('Fork', 'Forks', c.repository_forks)}</a>
138 138 </span>
139 139 </div>
140 140 </div>
141 141 </div>
142 142 </div>
143 143 ## owner, description, downloads, statistics
144 144
145 145 ## Owner
146 146 <div class="fieldset collapsable-content" data-toggle="summary-details" style="display: none;">
147 147 <div class="left-label-summary">
148 148 <p>${_('Owner')}</p>
149 149 <div class="right-label-summary">
150 150 ${base.gravatar_with_user(c.rhodecode_db_repo.user.email, 16)}
151 151 </div>
152 152
153 153 </div>
154 154 </div>
155 155
156 156 ## Description
157 157 <div class="fieldset collapsable-content" data-toggle="summary-details" style="display: none;">
158 158 <div class="left-label-summary">
159 159 <p>${_('Description')}</p>
160 160
161 161 <div class="right-label-summary input ${summary(c.show_stats)}">
162 162 <%namespace name="dt" file="/data_table/_dt_elements.mako"/>
163 163 ${dt.repo_desc(c.rhodecode_db_repo.description_safe, c.visual.stylify_metatags)}
164 164 </div>
165 165 </div>
166 166 </div>
167 167
168 168 ## Downloads
169 169 % if show_downloads:
170 170 <div class="fieldset collapsable-content" data-toggle="summary-details" style="display: none;">
171 171 <div class="left-label-summary">
172 172 <p>${_('Downloads')}</p>
173 173
174 174 <div class="right-label-summary input ${summary(c.show_stats)} downloads">
175 175 % if c.rhodecode_repo and len(c.rhodecode_repo.commit_ids) == 0:
176 176 <span class="disabled">
177 177 ${_('There are no downloads yet')}
178 178 </span>
179 179 % elif not c.enable_downloads:
180 180 <span class="disabled">
181 181 ${_('Downloads are disabled for this repository')}.
182 182 </span>
183 183 % if c.is_super_admin:
184 184 ${h.link_to(_('Enable downloads'),h.route_path('edit_repo',repo_name=c.repo_name, _anchor='repo_enable_downloads'))}
185 185 % endif
186 186 % else:
187 187 <span class="enabled">
188 188 <a id="archive_link" class="btn btn-small" href="${h.route_path('repo_archivefile',repo_name=c.rhodecode_db_repo.repo_name,fname='tip.zip')}">
189 189 <i class="icon-archive"></i> tip.zip
190 190 ## replaced by some JS on select
191 191 </a>
192 192 </span>
193 193 ${h.hidden('download_options')}
194 194 % endif
195 195 </div>
196 196 </div>
197 197 </div>
198 198 % endif
199 199
200 200 ## Repo size
201 201 <div class="fieldset collapsable-content" data-toggle="summary-details" style="display: none;">
202 202 <div class="left-label-summary">
203 203 <p>${_('Repository size')}</p>
204 204
205 205 <div class="right-label-summary">
206 206 <div class="tags">
207 207 ## repo size
208 208 % if commit_rev == -1:
209 209 <span class="stats-bullet">0 B</span>
210 210 % else:
211 211 <span>
212 212 <a href="#showSize" onclick="calculateSize(); $(this).hide(); return false" id="show-repo-size">Show repository size</a>
213 213 </span>
214 214 <span class="stats-bullet" id="repo_size_container" style="display:none">
215 215 ${_('Calculating Repository Size...')}
216 216 </span>
217 217 % endif
218 218 </div>
219 219 </div>
220 220 </div>
221 221 </div>
222 222
223 223 ## Statistics
224 224 <div class="fieldset collapsable-content" data-toggle="summary-details" style="display: none;">
225 225 <div class="left-label-summary">
226 226 <p>${_('Code Statistics')}</p>
227 227
228 228 <div class="right-label-summary input ${summary(c.show_stats)} statistics">
229 229 % if c.show_stats:
230 230 <div id="lang_stats" class="enabled">
231 231 <a href="#showSize" onclick="calculateSize(); $('#show-repo-size').hide(); $(this).hide(); return false" id="show-repo-size">Show code statistics</a>
232 232 </div>
233 233 % else:
234 234 <span class="disabled">
235 235 ${_('Statistics are disabled for this repository')}.
236 236 </span>
237 237 % if c.is_super_admin:
238 238 ${h.link_to(_('Enable statistics'),h.route_path('edit_repo',repo_name=c.repo_name, _anchor='repo_enable_statistics'))}
239 239 % endif
240 240 % endif
241 241 </div>
242 242
243 243 </div>
244 244 </div>
245 245
246 246
247 247 </div><!--end summary-detail-->
248 248
249 249 <div id="summary_details_expand" class="btn-collapse" data-toggle="summary-details">
250 250 ${_('Show More')}
251 251 </div>
252 252 </%def>
General Comments 0
You need to be logged in to leave comments. Login now