##// END OF EJS Templates
styling: gravatar improvements for special cases
lisaq -
r8:d9e065f6 default
parent child Browse files
Show More
@@ -1,600 +1,605 b''
1 // Default styles
1 // Default styles
2
2
3 .diff-collapse {
3 .diff-collapse {
4 margin: @padding 0;
4 margin: @padding 0;
5 text-align: right;
5 text-align: right;
6 }
6 }
7
7
8 .diff-container {
8 .diff-container {
9 margin-bottom: @space;
9 margin-bottom: @space;
10
10
11 .diffblock {
11 .diffblock {
12 margin-bottom: @space;
12 margin-bottom: @space;
13 }
13 }
14
14
15 &.hidden {
15 &.hidden {
16 display: none;
16 display: none;
17 overflow: hidden;
17 overflow: hidden;
18 }
18 }
19 }
19 }
20
20
21 .compare_view_files {
21 .compare_view_files {
22
22
23 .diff-container {
23 .diff-container {
24
24
25 .diffblock {
25 .diffblock {
26 margin-bottom: 0;
26 margin-bottom: 0;
27 }
27 }
28 }
28 }
29 }
29 }
30
30
31 div.diffblock .sidebyside {
31 div.diffblock .sidebyside {
32 background: #ffffff;
32 background: #ffffff;
33 }
33 }
34
34
35 div.diffblock {
35 div.diffblock {
36 overflow-x: auto;
36 overflow-x: auto;
37 overflow-y: hidden;
37 overflow-y: hidden;
38 clear: both;
38 clear: both;
39 padding: 0px;
39 padding: 0px;
40 background: @grey6;
40 background: @grey6;
41 border: @border-thickness solid @grey5;
41 border: @border-thickness solid @grey5;
42 -webkit-border-radius: @border-radius @border-radius 0px 0px;
42 -webkit-border-radius: @border-radius @border-radius 0px 0px;
43 border-radius: @border-radius @border-radius 0px 0px;
43 border-radius: @border-radius @border-radius 0px 0px;
44
44
45
45
46 .comments-number {
46 .comments-number {
47 float: right;
47 float: right;
48 }
48 }
49
49
50 // BEGIN CODE-HEADER STYLES
50 // BEGIN CODE-HEADER STYLES
51
51
52 .code-header {
52 .code-header {
53 background: @grey6;
53 background: @grey6;
54 padding: 10px 0 10px 0;
54 padding: 10px 0 10px 0;
55 height: auto;
55 height: auto;
56 width: 100%;
56 width: 100%;
57
57
58 .hash {
58 .hash {
59 float: left;
59 float: left;
60 padding: 2px 0 0 2px;
60 padding: 2px 0 0 2px;
61 }
61 }
62
62
63 .date {
63 .date {
64 float: left;
64 float: left;
65 text-transform: uppercase;
65 text-transform: uppercase;
66 padding: 4px 0px 0px 2px;
66 padding: 4px 0px 0px 2px;
67 }
67 }
68
68
69 div {
69 div {
70 margin-left: 4px;
70 margin-left: 4px;
71 }
71 }
72
72
73 div.compare_header {
73 div.compare_header {
74 min-height: 40px;
74 min-height: 40px;
75 margin: 0;
75 margin: 0;
76 padding: 0 @padding;
76 padding: 0 @padding;
77
77
78 .drop-menu {
78 .drop-menu {
79 float:left;
79 float:left;
80 display: block;
80 display: block;
81 margin:0 0 @padding 0;
81 margin:0 0 @padding 0;
82 }
82 }
83
83
84 .compare-label {
84 .compare-label {
85 float: left;
85 float: left;
86 clear: both;
86 clear: both;
87 display: inline-block;
87 display: inline-block;
88 min-width: 5em;
88 min-width: 5em;
89 margin: 0;
89 margin: 0;
90 padding: @button-padding @button-padding @button-padding 0;
90 padding: @button-padding @button-padding @button-padding 0;
91 font-family: @text-semibold;
91 font-family: @text-semibold;
92 }
92 }
93
93
94 .compare-buttons {
94 .compare-buttons {
95 float: left;
95 float: left;
96 margin: 0;
96 margin: 0;
97 padding: 0 0 @padding;
97 padding: 0 0 @padding;
98
98
99 .btn {
99 .btn {
100 margin: 0 @padding 0 0;
100 margin: 0 @padding 0 0;
101 }
101 }
102 }
102 }
103 }
103 }
104
104
105 }
105 }
106
106
107 .parents {
107 .parents {
108 float: left;
108 float: left;
109 width: 100px;
109 width: 100px;
110 font-weight: 400;
110 font-weight: 400;
111 vertical-align: middle;
111 vertical-align: middle;
112 padding: 0px 2px 0px 2px;
112 padding: 0px 2px 0px 2px;
113 background-color: @grey6;
113 background-color: @grey6;
114
114
115 #parent_link {
115 #parent_link {
116 margin: 00px 2px;
116 margin: 00px 2px;
117
117
118 &.double {
118 &.double {
119 margin: 0px 2px;
119 margin: 0px 2px;
120 }
120 }
121
121
122 &.disabled{
122 &.disabled{
123 margin-right: @padding;
123 margin-right: @padding;
124 }
124 }
125 }
125 }
126 }
126 }
127
127
128 .children {
128 .children {
129 float: right;
129 float: right;
130 width: 100px;
130 width: 100px;
131 font-weight: 400;
131 font-weight: 400;
132 vertical-align: middle;
132 vertical-align: middle;
133 text-align: right;
133 text-align: right;
134 padding: 0px 2px 0px 2px;
134 padding: 0px 2px 0px 2px;
135 background-color: @grey6;
135 background-color: @grey6;
136
136
137 #child_link {
137 #child_link {
138 margin: 0px 2px;
138 margin: 0px 2px;
139
139
140 &.double {
140 &.double {
141 margin: 0px 2px;
141 margin: 0px 2px;
142 }
142 }
143
143
144 &.disabled{
144 &.disabled{
145 margin-right: @padding;
145 margin-right: @padding;
146 }
146 }
147 }
147 }
148 }
148 }
149
149
150 .changeset_header {
150 .changeset_header {
151 height: 16px;
151 height: 16px;
152
152
153 & > div{
153 & > div{
154 margin-right: @padding;
154 margin-right: @padding;
155 }
155 }
156 }
156 }
157
157
158 .changeset_file {
158 .changeset_file {
159 text-align: left;
159 text-align: left;
160 float: left;
160 float: left;
161 padding: 0;
161 padding: 0;
162
162
163 a{
163 a{
164 display: inline-block;
164 display: inline-block;
165 margin-right: 0.5em;
165 margin-right: 0.5em;
166 }
166 }
167
167
168 #selected_mode{
168 #selected_mode{
169 margin-left: 0;
169 margin-left: 0;
170 }
170 }
171 }
171 }
172
172
173 .diff-menu-wrapper {
173 .diff-menu-wrapper {
174 float: left;
174 float: left;
175 }
175 }
176
176
177 .diff-menu {
177 .diff-menu {
178 position: absolute;
178 position: absolute;
179 background: none repeat scroll 0 0 #FFFFFF;
179 background: none repeat scroll 0 0 #FFFFFF;
180 border-color: #003367 @grey3 @grey3;
180 border-color: #003367 @grey3 @grey3;
181 border-right: 1px solid @grey3;
181 border-right: 1px solid @grey3;
182 border-style: solid solid solid;
182 border-style: solid solid solid;
183 border-width: @border-thickness;
183 border-width: @border-thickness;
184 box-shadow: 2px 8px 4px rgba(0, 0, 0, 0.2);
184 box-shadow: 2px 8px 4px rgba(0, 0, 0, 0.2);
185 margin-top: 5px;
185 margin-top: 5px;
186 margin-left: 1px;
186 margin-left: 1px;
187 }
187 }
188
188
189 .diff-actions, .editor-actions {
189 .diff-actions, .editor-actions {
190 float: left;
190 float: left;
191
191
192 input{
192 input{
193 margin: 0 0.5em 0 0;
193 margin: 0 0.5em 0 0;
194 }
194 }
195 }
195 }
196
196
197 // END CODE-HEADER STYLES
197 // END CODE-HEADER STYLES
198
198
199 // BEGIN CODE-BODY STYLES
199 // BEGIN CODE-BODY STYLES
200
200
201 .code-body {
201 .code-body {
202 background: white;
202 background: white;
203 padding: 0;
203 padding: 0;
204 background-color: #ffffff;
204 background-color: #ffffff;
205 position: relative;
205 position: relative;
206 max-width: none;
206 max-width: none;
207 box-sizing: border-box;
207 box-sizing: border-box;
208 // TODO: johbo: Parent has overflow: auto, this forces the child here
208 // TODO: johbo: Parent has overflow: auto, this forces the child here
209 // to have the intended size and to scroll. Should be simplified.
209 // to have the intended size and to scroll. Should be simplified.
210 width: 100%;
210 width: 100%;
211 overflow-x: auto;
211 overflow-x: auto;
212 }
212 }
213
213
214 pre.raw {
214 pre.raw {
215 background: white;
215 background: white;
216 color: @grey1;
216 color: @grey1;
217 }
217 }
218 // END CODE-BODY STYLES
218 // END CODE-BODY STYLES
219
219
220 }
220 }
221
221
222
222
223 table.code-difftable {
223 table.code-difftable {
224 border-collapse: collapse;
224 border-collapse: collapse;
225 width: 99%;
225 width: 99%;
226 border-radius: 0px !important;
226 border-radius: 0px !important;
227
227
228 td {
228 td {
229 padding: 0 !important;
229 padding: 0 !important;
230 background: none !important;
230 background: none !important;
231 border: 0 !important;
231 border: 0 !important;
232 }
232 }
233
233
234 .context {
234 .context {
235 background: none repeat scroll 0 0 #DDE7EF;
235 background: none repeat scroll 0 0 #DDE7EF;
236 }
236 }
237
237
238 .add {
238 .add {
239 background: none repeat scroll 0 0 #DDFFDD;
239 background: none repeat scroll 0 0 #DDFFDD;
240
240
241 ins {
241 ins {
242 background: none repeat scroll 0 0 #AAFFAA;
242 background: none repeat scroll 0 0 #AAFFAA;
243 text-decoration: none;
243 text-decoration: none;
244 }
244 }
245 }
245 }
246
246
247 .del {
247 .del {
248 background: none repeat scroll 0 0 #FFDDDD;
248 background: none repeat scroll 0 0 #FFDDDD;
249
249
250 del {
250 del {
251 background: none repeat scroll 0 0 #FFAAAA;
251 background: none repeat scroll 0 0 #FFAAAA;
252 text-decoration: none;
252 text-decoration: none;
253 }
253 }
254 }
254 }
255
255
256 /** LINE NUMBERS **/
256 /** LINE NUMBERS **/
257 .lineno {
257 .lineno {
258 padding-left: 2px;
258 padding-left: 2px;
259 padding-right: 2px;
259 padding-right: 2px;
260 text-align: right;
260 text-align: right;
261 width: 32px;
261 width: 32px;
262 -moz-user-select: none;
262 -moz-user-select: none;
263 -webkit-user-select: none;
263 -webkit-user-select: none;
264 border-right: @border-thickness solid @grey5 !important;
264 border-right: @border-thickness solid @grey5 !important;
265 border-left: 0px solid #CCC !important;
265 border-left: 0px solid #CCC !important;
266 border-top: 0px solid #CCC !important;
266 border-top: 0px solid #CCC !important;
267 border-bottom: none !important;
267 border-bottom: none !important;
268
268
269 a {
269 a {
270 &:extend(pre);
270 &:extend(pre);
271 text-align: right;
271 text-align: right;
272 padding-right: 2px;
272 padding-right: 2px;
273 cursor: pointer;
273 cursor: pointer;
274 display: block;
274 display: block;
275 width: 32px;
275 width: 32px;
276 }
276 }
277 }
277 }
278
278
279 .context {
279 .context {
280 cursor: auto;
280 cursor: auto;
281 &:extend(pre);
281 &:extend(pre);
282 }
282 }
283
283
284 .lineno-inline {
284 .lineno-inline {
285 background: none repeat scroll 0 0 #FFF !important;
285 background: none repeat scroll 0 0 #FFF !important;
286 padding-left: 2px;
286 padding-left: 2px;
287 padding-right: 2px;
287 padding-right: 2px;
288 text-align: right;
288 text-align: right;
289 width: 30px;
289 width: 30px;
290 -moz-user-select: none;
290 -moz-user-select: none;
291 -webkit-user-select: none;
291 -webkit-user-select: none;
292 }
292 }
293
293
294 /** CODE **/
294 /** CODE **/
295 .code {
295 .code {
296 display: block;
296 display: block;
297 width: 100%;
297 width: 100%;
298
298
299 td {
299 td {
300 margin: 0;
300 margin: 0;
301 padding: 0;
301 padding: 0;
302 }
302 }
303
303
304 pre {
304 pre {
305 margin: 0;
305 margin: 0;
306 padding: 0;
306 padding: 0;
307 margin-left: .5em;
307 margin-left: .5em;
308 }
308 }
309 }
309 }
310 }
310 }
311
311
312
312
313 // Comments
313 // Comments
314
314
315 div.comment:target {
315 div.comment:target {
316 border-left: 6px solid @comment-highlight-color;
316 border-left: 6px solid @comment-highlight-color;
317 padding-left: 3px;
317 padding-left: 3px;
318 margin-left: -9px;
318 margin-left: -9px;
319 }
319 }
320
320
321 //TODO: anderson: can't get an absolute number out of anything, so had to put the
321 //TODO: anderson: can't get an absolute number out of anything, so had to put the
322 //current values that might change. But to make it clear I put as a calculation
322 //current values that might change. But to make it clear I put as a calculation
323 @comment-max-width: 1065px;
323 @comment-max-width: 1065px;
324 @pr-extra-margin: 34px;
324 @pr-extra-margin: 34px;
325 @pr-border-spacing: 4px;
325 @pr-border-spacing: 4px;
326 @pr-comment-width: @comment-max-width - @pr-extra-margin - @pr-border-spacing;
326 @pr-comment-width: @comment-max-width - @pr-extra-margin - @pr-border-spacing;
327
327
328 // Pull Request
328 // Pull Request
329 .cs_files .code-difftable {
329 .cs_files .code-difftable {
330 border: @border-thickness solid @grey5; //borders only on PRs
330 border: @border-thickness solid @grey5; //borders only on PRs
331
331
332 .comment-inline-form,
332 .comment-inline-form,
333 div.comment {
333 div.comment {
334 width: @pr-comment-width;
334 width: @pr-comment-width;
335 }
335 }
336 }
336 }
337
337
338 // Changeset
338 // Changeset
339 .code-difftable {
339 .code-difftable {
340 .comment-inline-form,
340 .comment-inline-form,
341 div.comment {
341 div.comment {
342 width: @comment-max-width;
342 width: @comment-max-width;
343 }
343 }
344 }
344 }
345
345
346 //Style page
346 //Style page
347 @style-extra-margin: @sidebar-width + (@sidebarpadding * 3) + @padding;
347 @style-extra-margin: @sidebar-width + (@sidebarpadding * 3) + @padding;
348 #style-page .code-difftable{
348 #style-page .code-difftable{
349 .comment-inline-form,
349 .comment-inline-form,
350 div.comment {
350 div.comment {
351 width: @comment-max-width - @style-extra-margin;
351 width: @comment-max-width - @style-extra-margin;
352 }
352 }
353 }
353 }
354
354
355 #context-bar > h2 {
355 #context-bar > h2 {
356 font-size: 20px;
356 font-size: 20px;
357 }
357 }
358
358
359 #context-bar > h2> a {
359 #context-bar > h2> a {
360 font-size: 20px;
360 font-size: 20px;
361 }
361 }
362 // end of defaults
362 // end of defaults
363
363
364 .file_diff_buttons {
364 .file_diff_buttons {
365 padding: 0 0 @padding;
365 padding: 0 0 @padding;
366
366
367 .drop-menu {
367 .drop-menu {
368 float: left;
368 float: left;
369 margin: 0 @padding 0 0;
369 margin: 0 @padding 0 0;
370 }
370 }
371 .btn {
371 .btn {
372 margin: 0 @padding 0 0;
372 margin: 0 @padding 0 0;
373 }
373 }
374 }
374 }
375
375
376 .code-body.textarea.editor {
376 .code-body.textarea.editor {
377 max-width: none;
377 max-width: none;
378 padding: 15px;
378 padding: 15px;
379 }
379 }
380
380
381 td.injected_diff{
381 td.injected_diff{
382 max-width: 1178px;
382 max-width: 1178px;
383 overflow-x: auto;
383 overflow-x: auto;
384 overflow-y: hidden;
384 overflow-y: hidden;
385
385
386 div.diff-container,
386 div.diff-container,
387 div.diffblock{
387 div.diffblock{
388 max-width: 100%;
388 max-width: 100%;
389 }
389 }
390
390
391 div.code-body {
391 div.code-body {
392 max-width: 1124px;
392 max-width: 1124px;
393 overflow-x: auto;
393 overflow-x: auto;
394 padding: 0;
394 padding: 0;
395 }
395 }
396 div.diffblock {
396 div.diffblock {
397 border: none;
397 border: none;
398 }
398 }
399
399
400 &.inline-form {
400 &.inline-form {
401 width: 99%
401 width: 99%
402 }
402 }
403 }
403 }
404
404
405
405
406 table.code-difftable {
406 table.code-difftable {
407 width: 100%;
407 width: 100%;
408 }
408 }
409
409
410 /** PYGMENTS COLORING **/
410 /** PYGMENTS COLORING **/
411 div.codeblock {
411 div.codeblock {
412
412
413 // TODO: johbo: Added interim to get rid of the margin around
413 // TODO: johbo: Added interim to get rid of the margin around
414 // Select2 widgets. This needs further cleanup.
414 // Select2 widgets. This needs further cleanup.
415 margin-top: @padding;
415 margin-top: @padding;
416
416
417 overflow: auto;
417 overflow: auto;
418 padding: 0px;
418 padding: 0px;
419 border: @border-thickness solid @grey5;
419 border: @border-thickness solid @grey5;
420 background: @grey6;
420 background: @grey6;
421 .border-radius(@border-radius);
421 .border-radius(@border-radius);
422
422
423 #remove_gist {
423 #remove_gist {
424 float: right;
424 float: right;
425 }
425 }
426
426
427 .author {
427 .author {
428 clear: both;
428 clear: both;
429 vertical-align: middle;
429 vertical-align: middle;
430 font-family: @text-bold;
430 font-family: @text-bold;
431 }
431 }
432
432
433 .btn-mini {
433 .btn-mini {
434 float: left;
434 float: left;
435 margin: 0 5px 0 0;
435 margin: 0 5px 0 0;
436 }
436 }
437
437
438 .code-header {
438 .code-header {
439 padding: @padding;
439 padding: @padding;
440 border-bottom: @border-thickness solid @grey5;
440 border-bottom: @border-thickness solid @grey5;
441
441
442 .rc-user {
443 min-width: 0;
444 margin-right: .5em;
445 }
446
442 .stats {
447 .stats {
443 clear: both;
448 clear: both;
444 margin: 0 0 @padding 0;
449 margin: 0 0 @padding 0;
445 padding: 0;
450 padding: 0;
446 .left {
451 .left {
447 float: left;
452 float: left;
448 clear: left;
453 clear: left;
449 max-width: 75%;
454 max-width: 75%;
450 margin: 0 0 @padding 0;
455 margin: 0 0 @padding 0;
451
456
452 &.item {
457 &.item {
453 margin-right: @padding;
458 margin-right: @padding;
454 &.last { border-right: none; }
459 &.last { border-right: none; }
455 }
460 }
456 }
461 }
457 .buttons { float: right; }
462 .buttons { float: right; }
458 .author {
463 .author {
459 height: 25px; margin-left: 15px; font-weight: bold;
464 height: 25px; margin-left: 15px; font-weight: bold;
460 }
465 }
461 }
466 }
462
467
463 .commit {
468 .commit {
464 margin: 5px 0 0 26px;
469 margin: 5px 0 0 26px;
465 font-weight: normal;
470 font-weight: normal;
466 white-space: pre-wrap;
471 white-space: pre-wrap;
467 }
472 }
468 }
473 }
469
474
470 .message {
475 .message {
471 position: relative;
476 position: relative;
472 margin: @padding;
477 margin: @padding;
473
478
474 .codeblock-label {
479 .codeblock-label {
475 margin: 0 0 1em 0;
480 margin: 0 0 1em 0;
476 }
481 }
477 }
482 }
478
483
479 .code-body {
484 .code-body {
480 padding: @padding;
485 padding: @padding;
481 background-color: #ffffff;
486 background-color: #ffffff;
482 min-width: 100%;
487 min-width: 100%;
483 box-sizing: border-box;
488 box-sizing: border-box;
484 // TODO: johbo: Parent has overflow: auto, this forces the child here
489 // TODO: johbo: Parent has overflow: auto, this forces the child here
485 // to have the intended size and to scroll. Should be simplified.
490 // to have the intended size and to scroll. Should be simplified.
486 width: 100%;
491 width: 100%;
487 overflow-x: auto;
492 overflow-x: auto;
488 }
493 }
489 }
494 }
490
495
491 .code-highlighttable,
496 .code-highlighttable,
492 div.codeblock .code-body table {
497 div.codeblock .code-body table {
493 width: 0 !important;
498 width: 0 !important;
494 border: 0px !important;
499 border: 0px !important;
495 margin: 0;
500 margin: 0;
496 letter-spacing: normal;
501 letter-spacing: normal;
497
502
498
503
499 td {
504 td {
500 border: 0px !important;
505 border: 0px !important;
501 vertical-align: top;
506 vertical-align: top;
502 }
507 }
503 }
508 }
504
509
505 div.codeblock .code-header .search-path { padding: 0 0 0 10px; }
510 div.codeblock .code-header .search-path { padding: 0 0 0 10px; }
506 div.search-code-body {
511 div.search-code-body {
507 background-color: #ffffff; padding: 5px 0 5px 10px;
512 background-color: #ffffff; padding: 5px 0 5px 10px;
508 pre {
513 pre {
509 .match { background-color: #faffa6;}
514 .match { background-color: #faffa6;}
510 .break { display: block; width: 100%; background-color: #DDE7EF; color: #747474; }
515 .break { display: block; width: 100%; background-color: #DDE7EF; color: #747474; }
511 }
516 }
512 }
517 }
513
518
514 div.annotatediv { margin-left: 2px; margin-right: 4px; }
519 div.annotatediv { margin-left: 2px; margin-right: 4px; }
515 .code-highlight {
520 .code-highlight {
516 margin: 0; padding: 0; border-left: @border-thickness solid @grey5;
521 margin: 0; padding: 0; border-left: @border-thickness solid @grey5;
517 pre, .linenodiv pre { padding: 0 5px; margin: 0; }
522 pre, .linenodiv pre { padding: 0 5px; margin: 0; }
518 pre div:target {background-color: @comment-highlight-color !important;}
523 pre div:target {background-color: @comment-highlight-color !important;}
519 }
524 }
520
525
521 .linenos a { text-decoration: none; }
526 .linenos a { text-decoration: none; }
522
527
523 .CodeMirror-selected { background: @rchighlightblue; }
528 .CodeMirror-selected { background: @rchighlightblue; }
524 .CodeMirror-focused .CodeMirror-selected { background: @rchighlightblue; }
529 .CodeMirror-focused .CodeMirror-selected { background: @rchighlightblue; }
525 .CodeMirror ::selection { background: @rchighlightblue; }
530 .CodeMirror ::selection { background: @rchighlightblue; }
526 .CodeMirror ::-moz-selection { background: @rchighlightblue; }
531 .CodeMirror ::-moz-selection { background: @rchighlightblue; }
527
532
528 .code { display: block; border:0px !important; }
533 .code { display: block; border:0px !important; }
529 .code-highlight,
534 .code-highlight,
530 .codehilite {
535 .codehilite {
531 .hll { background-color: #ffffcc }
536 .hll { background-color: #ffffcc }
532 .c { color: #408080; font-style: italic } /* Comment */
537 .c { color: #408080; font-style: italic } /* Comment */
533 .err, .codehilite .err { border: @border-thickness solid #FF0000 } /* Error */
538 .err, .codehilite .err { border: @border-thickness solid #FF0000 } /* Error */
534 .k { color: #008000; font-weight: bold } /* Keyword */
539 .k { color: #008000; font-weight: bold } /* Keyword */
535 .o { color: #666666 } /* Operator */
540 .o { color: #666666 } /* Operator */
536 .cm { color: #408080; font-style: italic } /* Comment.Multiline */
541 .cm { color: #408080; font-style: italic } /* Comment.Multiline */
537 .cp { color: #BC7A00 } /* Comment.Preproc */
542 .cp { color: #BC7A00 } /* Comment.Preproc */
538 .c1 { color: #408080; font-style: italic } /* Comment.Single */
543 .c1 { color: #408080; font-style: italic } /* Comment.Single */
539 .cs { color: #408080; font-style: italic } /* Comment.Special */
544 .cs { color: #408080; font-style: italic } /* Comment.Special */
540 .gd { color: #A00000 } /* Generic.Deleted */
545 .gd { color: #A00000 } /* Generic.Deleted */
541 .ge { font-style: italic } /* Generic.Emph */
546 .ge { font-style: italic } /* Generic.Emph */
542 .gr { color: #FF0000 } /* Generic.Error */
547 .gr { color: #FF0000 } /* Generic.Error */
543 .gh { color: #000080; font-weight: bold } /* Generic.Heading */
548 .gh { color: #000080; font-weight: bold } /* Generic.Heading */
544 .gi { color: #00A000 } /* Generic.Inserted */
549 .gi { color: #00A000 } /* Generic.Inserted */
545 .go { color: #808080 } /* Generic.Output */
550 .go { color: #808080 } /* Generic.Output */
546 .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
551 .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
547 .gs { font-weight: bold } /* Generic.Strong */
552 .gs { font-weight: bold } /* Generic.Strong */
548 .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
553 .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
549 .gt { color: #0040D0 } /* Generic.Traceback */
554 .gt { color: #0040D0 } /* Generic.Traceback */
550 .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
555 .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
551 .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
556 .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
552 .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
557 .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
553 .kp { color: #008000 } /* Keyword.Pseudo */
558 .kp { color: #008000 } /* Keyword.Pseudo */
554 .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
559 .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
555 .kt { color: #B00040 } /* Keyword.Type */
560 .kt { color: #B00040 } /* Keyword.Type */
556 .m { color: #666666 } /* Literal.Number */
561 .m { color: #666666 } /* Literal.Number */
557 .s { color: #BA2121 } /* Literal.String */
562 .s { color: #BA2121 } /* Literal.String */
558 .na { color: #7D9029 } /* Name.Attribute */
563 .na { color: #7D9029 } /* Name.Attribute */
559 .nb { color: #008000 } /* Name.Builtin */
564 .nb { color: #008000 } /* Name.Builtin */
560 .nc { color: #0000FF; font-weight: bold } /* Name.Class */
565 .nc { color: #0000FF; font-weight: bold } /* Name.Class */
561 .no { color: #880000 } /* Name.Constant */
566 .no { color: #880000 } /* Name.Constant */
562 .nd { color: #AA22FF } /* Name.Decorator */
567 .nd { color: #AA22FF } /* Name.Decorator */
563 .ni { color: #999999; font-weight: bold } /* Name.Entity */
568 .ni { color: #999999; font-weight: bold } /* Name.Entity */
564 .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
569 .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
565 .nf { color: #0000FF } /* Name.Function */
570 .nf { color: #0000FF } /* Name.Function */
566 .nl { color: #A0A000 } /* Name.Label */
571 .nl { color: #A0A000 } /* Name.Label */
567 .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
572 .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
568 .nt { color: #008000; font-weight: bold } /* Name.Tag */
573 .nt { color: #008000; font-weight: bold } /* Name.Tag */
569 .nv { color: #19177C } /* Name.Variable */
574 .nv { color: #19177C } /* Name.Variable */
570 .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
575 .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
571 .w { color: #bbbbbb } /* Text.Whitespace */
576 .w { color: #bbbbbb } /* Text.Whitespace */
572 .mf { color: #666666 } /* Literal.Number.Float */
577 .mf { color: #666666 } /* Literal.Number.Float */
573 .mh { color: #666666 } /* Literal.Number.Hex */
578 .mh { color: #666666 } /* Literal.Number.Hex */
574 .mi { color: #666666 } /* Literal.Number.Integer */
579 .mi { color: #666666 } /* Literal.Number.Integer */
575 .mo { color: #666666 } /* Literal.Number.Oct */
580 .mo { color: #666666 } /* Literal.Number.Oct */
576 .sb { color: #BA2121 } /* Literal.String.Backtick */
581 .sb { color: #BA2121 } /* Literal.String.Backtick */
577 .sc { color: #BA2121 } /* Literal.String.Char */
582 .sc { color: #BA2121 } /* Literal.String.Char */
578 .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
583 .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
579 .s2 { color: #BA2121 } /* Literal.String.Double */
584 .s2 { color: #BA2121 } /* Literal.String.Double */
580 .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
585 .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
581 .sh { color: #BA2121 } /* Literal.String.Heredoc */
586 .sh { color: #BA2121 } /* Literal.String.Heredoc */
582 .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
587 .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
583 .sx { color: #008000 } /* Literal.String.Other */
588 .sx { color: #008000 } /* Literal.String.Other */
584 .sr { color: #BB6688 } /* Literal.String.Regex */
589 .sr { color: #BB6688 } /* Literal.String.Regex */
585 .s1 { color: #BA2121 } /* Literal.String.Single */
590 .s1 { color: #BA2121 } /* Literal.String.Single */
586 .ss { color: #19177C } /* Literal.String.Symbol */
591 .ss { color: #19177C } /* Literal.String.Symbol */
587 .bp { color: #008000 } /* Name.Builtin.Pseudo */
592 .bp { color: #008000 } /* Name.Builtin.Pseudo */
588 .vc { color: #19177C } /* Name.Variable.Class */
593 .vc { color: #19177C } /* Name.Variable.Class */
589 .vg { color: #19177C } /* Name.Variable.Global */
594 .vg { color: #19177C } /* Name.Variable.Global */
590 .vi { color: #19177C } /* Name.Variable.Instance */
595 .vi { color: #19177C } /* Name.Variable.Instance */
591 .il { color: #666666 } /* Literal.Number.Integer.Long */
596 .il { color: #666666 } /* Literal.Number.Integer.Long */
592 }
597 }
593
598
594 /* customized pre blocks for markdown/rst */
599 /* customized pre blocks for markdown/rst */
595 pre.literal-block, .codehilite pre{
600 pre.literal-block, .codehilite pre{
596 padding: @padding;
601 padding: @padding;
597 border: 1px solid @grey6;
602 border: 1px solid @grey6;
598 .border-radius(@border-radius);
603 .border-radius(@border-radius);
599 background-color: @grey7;
604 background-color: @grey7;
600 }
605 }
@@ -1,356 +1,361 b''
1 // comments.less
1 // comments.less
2 // For use in RhodeCode applications;
2 // For use in RhodeCode applications;
3 // see style guide documentation for guidelines.
3 // see style guide documentation for guidelines.
4
4
5
5
6 // Comments
6 // Comments
7 .comments {
7 .comments {
8 width: 100%;
8 width: 100%;
9 }
9 }
10
10
11 tr.inline-comments div {
11 tr.inline-comments div {
12 max-width: 100%;
12 max-width: 100%;
13
13
14 p {
14 p {
15 white-space: normal;
15 white-space: normal;
16 }
16 }
17
17
18 code, pre, .code, dd {
18 code, pre, .code, dd {
19 overflow-x: auto;
19 overflow-x: auto;
20 width: 1062px;
20 width: 1062px;
21 }
21 }
22
22
23 dd {
23 dd {
24 width: auto;
24 width: auto;
25 }
25 }
26 }
26 }
27
27
28 #injected_page_comments {
28 #injected_page_comments {
29 .comment-previous-link,
29 .comment-previous-link,
30 .comment-next-link,
30 .comment-next-link,
31 .comment-links-divider {
31 .comment-links-divider {
32 display: none;
32 display: none;
33 }
33 }
34 }
34 }
35
35
36 .add-comment {
36 .add-comment {
37 margin-bottom: 10px;
37 margin-bottom: 10px;
38 }
38 }
39 .hide-comment-button .add-comment {
39 .hide-comment-button .add-comment {
40 display: none;
40 display: none;
41 }
41 }
42
42
43 .comment-bubble {
43 .comment-bubble {
44 color: @grey4;
44 color: @grey4;
45 margin-top: 4px;
45 margin-top: 4px;
46 margin-right: 30px;
46 margin-right: 30px;
47 visibility: hidden;
47 visibility: hidden;
48 }
48 }
49
49
50 .comment {
50 .comment {
51 margin: @padding 0;
51 margin: @padding 0;
52 padding: 4px 0 0 0;
52 padding: 4px 0 0 0;
53 line-height: 1em;
53 line-height: 1em;
54
54
55 .rc-user {
56 min-width: 0;
57 margin: -2px .5em 0 0;
58 }
59
55 .meta {
60 .meta {
56 position: relative;
61 position: relative;
57 width: 100%;
62 width: 100%;
58 margin: 0 0 .5em 0;
63 margin: 0 0 .5em 0;
59
64
60 &:hover .permalink {
65 &:hover .permalink {
61 visibility: visible;
66 visibility: visible;
62 color: @rcblue;
67 color: @rcblue;
63 }
68 }
64 }
69 }
65
70
66 .author,
71 .author,
67 .date {
72 .date {
68 display: inline;
73 display: inline;
69 margin: 0 .5 0 0;
74 margin: 0 .5 0 0;
70 padding: 0 .5 0 0;
75 padding: 0 .5 0 0;
71
76
72 &:after {
77 &:after {
73 content: ' | ';
78 content: ' | ';
74 color: @grey5;
79 color: @grey5;
75 }
80 }
76 }
81 }
77
82
78 .status-change,
83 .status-change,
79 .permalink,
84 .permalink,
80 .changeset-status-lbl {
85 .changeset-status-lbl {
81 display: inline;
86 display: inline;
82 }
87 }
83
88
84 .permalink {
89 .permalink {
85 visibility: hidden;
90 visibility: hidden;
86 }
91 }
87
92
88 .comment-links-divider {
93 .comment-links-divider {
89 display: inline;
94 display: inline;
90 }
95 }
91
96
92 .comment-links-block {
97 .comment-links-block {
93 float:right;
98 float:right;
94 text-align: right;
99 text-align: right;
95 min-width: 85px;
100 min-width: 85px;
96
101
97 [class^="icon-"]:before,
102 [class^="icon-"]:before,
98 [class*=" icon-"]:before {
103 [class*=" icon-"]:before {
99 margin-left: 0;
104 margin-left: 0;
100 margin-right: 0;
105 margin-right: 0;
101 }
106 }
102 }
107 }
103
108
104 .comment-previous-link {
109 .comment-previous-link {
105 display: inline-block;
110 display: inline-block;
106
111
107 .arrow_comment_link{
112 .arrow_comment_link{
108 cursor: pointer;
113 cursor: pointer;
109 i {
114 i {
110 font-size:10px;
115 font-size:10px;
111 }
116 }
112 }
117 }
113 .arrow_comment_link.disabled {
118 .arrow_comment_link.disabled {
114 cursor: default;
119 cursor: default;
115 color: @grey5;
120 color: @grey5;
116 }
121 }
117 }
122 }
118
123
119 .comment-next-link {
124 .comment-next-link {
120 display: inline-block;
125 display: inline-block;
121
126
122 .arrow_comment_link{
127 .arrow_comment_link{
123 cursor: pointer;
128 cursor: pointer;
124 i {
129 i {
125 font-size:10px;
130 font-size:10px;
126 }
131 }
127 }
132 }
128 .arrow_comment_link.disabled {
133 .arrow_comment_link.disabled {
129 cursor: default;
134 cursor: default;
130 color: @grey5;
135 color: @grey5;
131 }
136 }
132 }
137 }
133
138
134 .flag_status {
139 .flag_status {
135 display: inline-block;
140 display: inline-block;
136 margin: -2px .5em 0 .25em
141 margin: -2px .5em 0 .25em
137 }
142 }
138
143
139 .delete-comment {
144 .delete-comment {
140 display: inline-block;
145 display: inline-block;
141 color: @rcblue;
146 color: @rcblue;
142
147
143 &:hover {
148 &:hover {
144 cursor: pointer;
149 cursor: pointer;
145 }
150 }
146 }
151 }
147
152
148
153
149 .text {
154 .text {
150 clear: both;
155 clear: both;
151 border: @border-thickness solid @grey5;
156 border: @border-thickness solid @grey5;
152 .border-radius(@border-radius);
157 .border-radius(@border-radius);
153 .box-sizing(border-box);
158 .box-sizing(border-box);
154
159
155 .markdown-block p,
160 .markdown-block p,
156 .rst-block p {
161 .rst-block p {
157 margin: .5em 0 !important;
162 margin: .5em 0 !important;
158 // TODO: lisa: This is needed because of other rst !important rules :[
163 // TODO: lisa: This is needed because of other rst !important rules :[
159 }
164 }
160 }
165 }
161 }
166 }
162
167
163 .show-outdated-comments {
168 .show-outdated-comments {
164 display: inline;
169 display: inline;
165 color: @rcblue;
170 color: @rcblue;
166 }
171 }
167
172
168 .outdated {
173 .outdated {
169 display: none;
174 display: none;
170 opacity: 0.6;
175 opacity: 0.6;
171
176
172 .comment {
177 .comment {
173 margin: 0 0 @padding;
178 margin: 0 0 @padding;
174
179
175 .date:after {
180 .date:after {
176 content: none;
181 content: none;
177 }
182 }
178 }
183 }
179 .outdated_comment_block {
184 .outdated_comment_block {
180 padding: 0 0 @space 0;
185 padding: 0 0 @space 0;
181 }
186 }
182 }
187 }
183
188
184 // Comment Form
189 // Comment Form
185 div.comment-form {
190 div.comment-form {
186 margin-top: 20px;
191 margin-top: 20px;
187 }
192 }
188
193
189 .comment-form strong {
194 .comment-form strong {
190 display: block;
195 display: block;
191 margin-bottom: 15px;
196 margin-bottom: 15px;
192 }
197 }
193
198
194 .comment-form textarea {
199 .comment-form textarea {
195 width: 100%;
200 width: 100%;
196 height: 100px;
201 height: 100px;
197 font-family: 'Monaco', 'Courier', 'Courier New', monospace;
202 font-family: 'Monaco', 'Courier', 'Courier New', monospace;
198 }
203 }
199
204
200 form.comment-form {
205 form.comment-form {
201 margin-top: 10px;
206 margin-top: 10px;
202 margin-left: 10px;
207 margin-left: 10px;
203 }
208 }
204
209
205 .comment-inline-form .comment-block-ta,
210 .comment-inline-form .comment-block-ta,
206 .comment-form .comment-block-ta,
211 .comment-form .comment-block-ta,
207 .comment-form .preview-box {
212 .comment-form .preview-box {
208 border: @border-thickness solid @grey5;
213 border: @border-thickness solid @grey5;
209 .border-radius(@border-radius);
214 .border-radius(@border-radius);
210 .box-sizing(border-box);
215 .box-sizing(border-box);
211 background-color: white;
216 background-color: white;
212 }
217 }
213
218
214 .comment-form-submit {
219 .comment-form-submit {
215 margin-top: 5px;
220 margin-top: 5px;
216 margin-left: 525px;
221 margin-left: 525px;
217 }
222 }
218
223
219 .file-comments {
224 .file-comments {
220 display: none;
225 display: none;
221 }
226 }
222
227
223 .comment-form .preview-box.unloaded,
228 .comment-form .preview-box.unloaded,
224 .comment-inline-form .preview-box.unloaded {
229 .comment-inline-form .preview-box.unloaded {
225 height: 50px;
230 height: 50px;
226 text-align: center;
231 text-align: center;
227 padding: 20px;
232 padding: 20px;
228 background-color: white;
233 background-color: white;
229 }
234 }
230
235
231 .comment-footer {
236 .comment-footer {
232 position: relative;
237 position: relative;
233 width: 100%;
238 width: 100%;
234 min-height: 42px;
239 min-height: 42px;
235
240
236 .status_box,
241 .status_box,
237 .cancel-button {
242 .cancel-button {
238 float: left;
243 float: left;
239 display: inline-block;
244 display: inline-block;
240 }
245 }
241
246
242 .action-buttons {
247 .action-buttons {
243 float: right;
248 float: right;
244 display: inline-block;
249 display: inline-block;
245 }
250 }
246 }
251 }
247
252
248 .comment-form {
253 .comment-form {
249
254
250 .comment {
255 .comment {
251 margin-left: 10px;
256 margin-left: 10px;
252 }
257 }
253
258
254 .comment-help {
259 .comment-help {
255 color: @grey4;
260 color: @grey4;
256 padding: 5px 0 5px 0;
261 padding: 5px 0 5px 0;
257 }
262 }
258
263
259 .comment-title {
264 .comment-title {
260 padding: 5px 0 5px 0;
265 padding: 5px 0 5px 0;
261 }
266 }
262
267
263 .comment-button {
268 .comment-button {
264 display: inline-block;
269 display: inline-block;
265 }
270 }
266
271
267 .comment-button .comment-button-input {
272 .comment-button .comment-button-input {
268 margin-right: 0;
273 margin-right: 0;
269 }
274 }
270
275
271 .comment-footer {
276 .comment-footer {
272 margin-bottom: 110px;
277 margin-bottom: 110px;
273 }
278 }
274 }
279 }
275
280
276
281
277 .comment-form-login {
282 .comment-form-login {
278 .comment-help {
283 .comment-help {
279 padding: 0.9em; //same as the button
284 padding: 0.9em; //same as the button
280 }
285 }
281
286
282 div.clearfix {
287 div.clearfix {
283 clear: both;
288 clear: both;
284 width: 100%;
289 width: 100%;
285 display: block;
290 display: block;
286 }
291 }
287 }
292 }
288
293
289 .preview-box {
294 .preview-box {
290 padding: 10px;
295 padding: 10px;
291 min-height: 100px;
296 min-height: 100px;
292 margin-bottom: 15px;
297 margin-bottom: 15px;
293 background-color: white;
298 background-color: white;
294 border: @border-thickness solid #ccc;
299 border: @border-thickness solid #ccc;
295 .border-radius(@border-radius);
300 .border-radius(@border-radius);
296 .box-sizing(border-box);
301 .box-sizing(border-box);
297 }
302 }
298
303
299 .add-another-button {
304 .add-another-button {
300 margin-left: 10px;
305 margin-left: 10px;
301 margin-top: 10px;
306 margin-top: 10px;
302 margin-bottom: 10px;
307 margin-bottom: 10px;
303 }
308 }
304
309
305 .comment .buttons {
310 .comment .buttons {
306 float: right;
311 float: right;
307 margin: -1px 0px 0px 0px;
312 margin: -1px 0px 0px 0px;
308 }
313 }
309
314
310 // Inline Comment Form
315 // Inline Comment Form
311 .injected_diff .comment-inline-form,
316 .injected_diff .comment-inline-form,
312 .comment-inline-form {
317 .comment-inline-form {
313 background-color: @grey6;
318 background-color: @grey6;
314 margin-top: 10px;
319 margin-top: 10px;
315 margin-bottom: 20px;
320 margin-bottom: 20px;
316 }
321 }
317
322
318 .inline-form {
323 .inline-form {
319 padding: 10px 7px;
324 padding: 10px 7px;
320 }
325 }
321
326
322 .inline-form div {
327 .inline-form div {
323 max-width: 100%;
328 max-width: 100%;
324 }
329 }
325
330
326 .overlay {
331 .overlay {
327 display: none;
332 display: none;
328 position: absolute;
333 position: absolute;
329 width: 100%;
334 width: 100%;
330 text-align: center;
335 text-align: center;
331 vertical-align: middle;
336 vertical-align: middle;
332 font-size: 16px;
337 font-size: 16px;
333 background: none repeat scroll 0 0 white;
338 background: none repeat scroll 0 0 white;
334
339
335 &.submitting {
340 &.submitting {
336 display: block;
341 display: block;
337 opacity: 0.5;
342 opacity: 0.5;
338 z-index: 100;
343 z-index: 100;
339 }
344 }
340 }
345 }
341 .comment-inline-form .overlay.submitting .overlay-text {
346 .comment-inline-form .overlay.submitting .overlay-text {
342 margin-top: 5%;
347 margin-top: 5%;
343 }
348 }
344
349
345 .comment-inline-form .clearfix,
350 .comment-inline-form .clearfix,
346 .comment-form .clearfix {
351 .comment-form .clearfix {
347 .border-radius(@border-radius);
352 .border-radius(@border-radius);
348 margin: 0px;
353 margin: 0px;
349 }
354 }
350
355
351 .hide-inline-form-button {
356 .hide-inline-form-button {
352 margin-left: 5px;
357 margin-left: 5px;
353 }
358 }
354 .comment-button .hide-inline-form {
359 .comment-button .hide-inline-form {
355 background: white;
360 background: white;
356 }
361 }
@@ -1,2076 +1,2087 b''
1 //Primary CSS
1 //Primary CSS
2
2
3 //--- IMPORTS ------------------//
3 //--- IMPORTS ------------------//
4
4
5 @import 'helpers';
5 @import 'helpers';
6 @import 'mixins';
6 @import 'mixins';
7 @import 'rcicons';
7 @import 'rcicons';
8 @import 'fonts';
8 @import 'fonts';
9 @import 'variables';
9 @import 'variables';
10 @import 'bootstrap-variables';
10 @import 'bootstrap-variables';
11 @import 'form-bootstrap';
11 @import 'form-bootstrap';
12 @import 'codemirror';
12 @import 'codemirror';
13 @import 'legacy_code_styles';
13 @import 'legacy_code_styles';
14 @import 'progress-bar';
14 @import 'progress-bar';
15
15
16 @import 'type';
16 @import 'type';
17 @import 'alerts';
17 @import 'alerts';
18 @import 'buttons';
18 @import 'buttons';
19 @import 'tags';
19 @import 'tags';
20 @import 'code-block';
20 @import 'code-block';
21 @import 'examples';
21 @import 'examples';
22 @import 'login';
22 @import 'login';
23 @import 'main-content';
23 @import 'main-content';
24 @import 'select2';
24 @import 'select2';
25 @import 'comments';
25 @import 'comments';
26 @import 'panels-bootstrap';
26 @import 'panels-bootstrap';
27 @import 'panels';
27 @import 'panels';
28
28
29
29
30 //--- BASE ------------------//
30 //--- BASE ------------------//
31 .noscript-error {
31 .noscript-error {
32 top: 0;
32 top: 0;
33 left: 0;
33 left: 0;
34 width: 100%;
34 width: 100%;
35 z-index: 101;
35 z-index: 101;
36 text-align: center;
36 text-align: center;
37 font-family: @text-semibold;
37 font-family: @text-semibold;
38 font-size: 120%;
38 font-size: 120%;
39 color: white;
39 color: white;
40 background-color: @alert2;
40 background-color: @alert2;
41 padding: 5px 0 5px 0;
41 padding: 5px 0 5px 0;
42 }
42 }
43
43
44 html {
44 html {
45 display: table;
45 display: table;
46 height: 100%;
46 height: 100%;
47 width: 100%;
47 width: 100%;
48 }
48 }
49
49
50 body {
50 body {
51 display: table-cell;
51 display: table-cell;
52 width: 100%;
52 width: 100%;
53 }
53 }
54
54
55 //--- LAYOUT ------------------//
55 //--- LAYOUT ------------------//
56
56
57 .hidden{
57 .hidden{
58 display: none !important;
58 display: none !important;
59 }
59 }
60
60
61 .box{
61 .box{
62 float: left;
62 float: left;
63 width: 100%;
63 width: 100%;
64 }
64 }
65
65
66 .browser-header {
66 .browser-header {
67 clear: both;
67 clear: both;
68 }
68 }
69 .main {
69 .main {
70 clear: both;
70 clear: both;
71 padding:0 0 @pagepadding;
71 padding:0 0 @pagepadding;
72 height: auto;
72 height: auto;
73
73
74 &:after { //clearfix
74 &:after { //clearfix
75 content:"";
75 content:"";
76 clear:both;
76 clear:both;
77 width:100%;
77 width:100%;
78 display:block;
78 display:block;
79 }
79 }
80 }
80 }
81
81
82 .action-link{
82 .action-link{
83 margin-left: @padding;
83 margin-left: @padding;
84 padding-left: @padding;
84 padding-left: @padding;
85 border-left: @border-thickness solid @border-default-color;
85 border-left: @border-thickness solid @border-default-color;
86 }
86 }
87
87
88 input + .action-link, .action-link.first{
88 input + .action-link, .action-link.first{
89 border-left: none;
89 border-left: none;
90 }
90 }
91
91
92 .action-link.last{
92 .action-link.last{
93 margin-right: @padding;
93 margin-right: @padding;
94 padding-right: @padding;
94 padding-right: @padding;
95 }
95 }
96
96
97 .action-link.active,
97 .action-link.active,
98 .action-link.active a{
98 .action-link.active a{
99 color: @grey4;
99 color: @grey4;
100 }
100 }
101
101
102 ul.simple-list{
102 ul.simple-list{
103 list-style: none;
103 list-style: none;
104 margin: 0;
104 margin: 0;
105 padding: 0;
105 padding: 0;
106 }
106 }
107
107
108 .main-content {
108 .main-content {
109 padding-bottom: @pagepadding;
109 padding-bottom: @pagepadding;
110 }
110 }
111
111
112 .wrapper {
112 .wrapper {
113 position: relative;
113 position: relative;
114 max-width: @wrapper-maxwidth;
114 max-width: @wrapper-maxwidth;
115 margin: 0 auto;
115 margin: 0 auto;
116 }
116 }
117
117
118 #content {
118 #content {
119 clear: both;
119 clear: both;
120 padding: 0 @contentpadding;
120 padding: 0 @contentpadding;
121 }
121 }
122
122
123 .advanced-settings-fields{
123 .advanced-settings-fields{
124 input{
124 input{
125 margin-left: @textmargin;
125 margin-left: @textmargin;
126 margin-right: @padding/2;
126 margin-right: @padding/2;
127 }
127 }
128 }
128 }
129
129
130 .cs_files_title {
130 .cs_files_title {
131 margin: @pagepadding 0 0;
131 margin: @pagepadding 0 0;
132 }
132 }
133
133
134 input.inline[type="file"] {
134 input.inline[type="file"] {
135 display: inline;
135 display: inline;
136 }
136 }
137
137
138 .error_page {
138 .error_page {
139 margin: 10% auto;
139 margin: 10% auto;
140
140
141 h1 {
141 h1 {
142 color: @grey2;
142 color: @grey2;
143 }
143 }
144
144
145 .error-branding {
145 .error-branding {
146 font-family: @text-semibold;
146 font-family: @text-semibold;
147 color: @grey4;
147 color: @grey4;
148 }
148 }
149
149
150 .error_message {
150 .error_message {
151 font-family: @text-regular;
151 font-family: @text-regular;
152 }
152 }
153
153
154 .sidebar {
154 .sidebar {
155 min-height: 275px;
155 min-height: 275px;
156 margin: 0;
156 margin: 0;
157 padding: 0 0 @sidebarpadding @sidebarpadding;
157 padding: 0 0 @sidebarpadding @sidebarpadding;
158 border: none;
158 border: none;
159 }
159 }
160
160
161 .main-content {
161 .main-content {
162 position: relative;
162 position: relative;
163 margin: 0 @sidebarpadding @sidebarpadding;
163 margin: 0 @sidebarpadding @sidebarpadding;
164 padding: 0 0 0 @sidebarpadding;
164 padding: 0 0 0 @sidebarpadding;
165 border-left: @border-thickness solid @grey5;
165 border-left: @border-thickness solid @grey5;
166
166
167 @media (max-width:767px) {
167 @media (max-width:767px) {
168 clear: both;
168 clear: both;
169 width: 100%;
169 width: 100%;
170 margin: 0;
170 margin: 0;
171 border: none;
171 border: none;
172 }
172 }
173 }
173 }
174
174
175 .inner-column {
175 .inner-column {
176 float: left;
176 float: left;
177 width: 29.75%;
177 width: 29.75%;
178 min-height: 150px;
178 min-height: 150px;
179 margin: @sidebarpadding 2% 0 0;
179 margin: @sidebarpadding 2% 0 0;
180 padding: 0 2% 0 0;
180 padding: 0 2% 0 0;
181 border-right: @border-thickness solid @grey5;
181 border-right: @border-thickness solid @grey5;
182
182
183 @media (max-width:767px) {
183 @media (max-width:767px) {
184 clear: both;
184 clear: both;
185 width: 100%;
185 width: 100%;
186 border: none;
186 border: none;
187 }
187 }
188
188
189 ul {
189 ul {
190 padding-left: 1.25em;
190 padding-left: 1.25em;
191 }
191 }
192
192
193 &:last-child {
193 &:last-child {
194 margin: @sidebarpadding 0 0;
194 margin: @sidebarpadding 0 0;
195 border: none;
195 border: none;
196 }
196 }
197
197
198 h4 {
198 h4 {
199 margin: 0 0 @padding;
199 margin: 0 0 @padding;
200 font-family: @text-semibold;
200 font-family: @text-semibold;
201 }
201 }
202 }
202 }
203 }
203 }
204 .error-page-logo {
204 .error-page-logo {
205 width: 130px;
205 width: 130px;
206 height: 160px;
206 height: 160px;
207 }
207 }
208
208
209 // HEADER
209 // HEADER
210 .header {
210 .header {
211
211
212 // TODO: johbo: Fix login pages, so that they work without a min-height
212 // TODO: johbo: Fix login pages, so that they work without a min-height
213 // for the header and then remove the min-height. I chose a smaller value
213 // for the header and then remove the min-height. I chose a smaller value
214 // intentionally here to avoid rendering issues in the main navigation.
214 // intentionally here to avoid rendering issues in the main navigation.
215 min-height: 49px;
215 min-height: 49px;
216
216
217 position: relative;
217 position: relative;
218 vertical-align: bottom;
218 vertical-align: bottom;
219 padding: 0 @header-padding;
219 padding: 0 @header-padding;
220 background-color: @grey2;
220 background-color: @grey2;
221 color: @grey5;
221 color: @grey5;
222
222
223 .title {
223 .title {
224 overflow: visible;
224 overflow: visible;
225 }
225 }
226
226
227 &:before,
227 &:before,
228 &:after {
228 &:after {
229 content: "";
229 content: "";
230 clear: both;
230 clear: both;
231 width: 100%;
231 width: 100%;
232 }
232 }
233
233
234 // TODO: johbo: Avoids breaking "Repositories" chooser
234 // TODO: johbo: Avoids breaking "Repositories" chooser
235 .select2-container .select2-choice .select2-arrow {
235 .select2-container .select2-choice .select2-arrow {
236 display: none;
236 display: none;
237 }
237 }
238 }
238 }
239
239
240 #header-inner {
240 #header-inner {
241 &.title {
241 &.title {
242 margin: 0;
242 margin: 0;
243 }
243 }
244 &:before,
244 &:before,
245 &:after {
245 &:after {
246 content: "";
246 content: "";
247 clear: both;
247 clear: both;
248 }
248 }
249 }
249 }
250
250
251 // Gists
251 // Gists
252 #files_data {
252 #files_data {
253 clear: both; //for firefox
253 clear: both; //for firefox
254 }
254 }
255 #gistid {
255 #gistid {
256 margin-right: @padding;
256 margin-right: @padding;
257 }
257 }
258
258
259 // Global Settings Editor
259 // Global Settings Editor
260 .textarea.editor {
260 .textarea.editor {
261 float: left;
261 float: left;
262 position: relative;
262 position: relative;
263 max-width: @texteditor-width;
263 max-width: @texteditor-width;
264
264
265 select {
265 select {
266 position: absolute;
266 position: absolute;
267 top:10px;
267 top:10px;
268 right:0;
268 right:0;
269 }
269 }
270
270
271 .CodeMirror {
271 .CodeMirror {
272 margin: 0;
272 margin: 0;
273 }
273 }
274
274
275 .help-block {
275 .help-block {
276 margin: 0 0 @padding;
276 margin: 0 0 @padding;
277 padding:.5em;
277 padding:.5em;
278 background-color: @grey6;
278 background-color: @grey6;
279 }
279 }
280 }
280 }
281
281
282 ul.auth_plugins {
282 ul.auth_plugins {
283 margin: @padding 0 @padding @legend-width;
283 margin: @padding 0 @padding @legend-width;
284 padding: 0;
284 padding: 0;
285
285
286 li {
286 li {
287 margin-bottom: @padding;
287 margin-bottom: @padding;
288 line-height: 1em;
288 line-height: 1em;
289 list-style-type: none;
289 list-style-type: none;
290
290
291 .auth_buttons .btn {
291 .auth_buttons .btn {
292 margin-right: @padding;
292 margin-right: @padding;
293 }
293 }
294
294
295 &:before { content: none; }
295 &:before { content: none; }
296 }
296 }
297 }
297 }
298
298
299 // Pull Requests
299 // Pull Requests
300
300
301 .pullrequestlist {
301 .pullrequestlist {
302 max-width: @pullrequest-width;
302 max-width: @pullrequest-width;
303 margin-bottom: @space;
303 margin-bottom: @space;
304
304
305 // Tweaks for "My Account" / "Pull requests"
305 // Tweaks for "My Account" / "Pull requests"
306 .prwrapper {
306 .prwrapper {
307 clear: left;
307 clear: left;
308
308
309 .pr {
309 .pr {
310 margin: 0;
310 margin: 0;
311 padding: 0;
311 padding: 0;
312 border-bottom: none;
312 border-bottom: none;
313 }
313 }
314
314
315 // TODO: johbo: Replace with something that makes up an inline form or
315 // TODO: johbo: Replace with something that makes up an inline form or
316 // similar.
316 // similar.
317 .repolist_actions {
317 .repolist_actions {
318 display: inline-block;
318 display: inline-block;
319 }
319 }
320 }
320 }
321
321
322 }
322 }
323
323
324 .pullrequests_section_head {
324 .pullrequests_section_head {
325 display: block;
325 display: block;
326 clear: both;
326 clear: both;
327 margin: @padding 0;
327 margin: @padding 0;
328 font-family: @text-bold;
328 font-family: @text-bold;
329 }
329 }
330
330
331 .pr-origininfo, .pr-targetinfo {
331 .pr-origininfo, .pr-targetinfo {
332 position: relative;
332 position: relative;
333
333
334 .tag {
334 .tag {
335 display: inline-block;
335 display: inline-block;
336 margin: 0 1em .5em 0;
336 margin: 0 1em .5em 0;
337 }
337 }
338
338
339 .clone-url {
339 .clone-url {
340 display: inline-block;
340 display: inline-block;
341 margin: 0 0 .5em 0;
341 margin: 0 0 .5em 0;
342 padding: 0;
342 padding: 0;
343 line-height: 1.2em;
343 line-height: 1.2em;
344 }
344 }
345 }
345 }
346
346
347 .pr-pullinfo {
347 .pr-pullinfo {
348 clear: both;
348 clear: both;
349 margin: .5em 0;
349 margin: .5em 0;
350 }
350 }
351
351
352 #pr-title-input {
352 #pr-title-input {
353 width: 72%;
353 width: 72%;
354 font-size: 1em;
354 font-size: 1em;
355 font-family: @text-bold;
355 font-family: @text-bold;
356 margin: 0;
356 margin: 0;
357 padding: 0 0 0 @padding/4;
357 padding: 0 0 0 @padding/4;
358 line-height: 1.7em;
358 line-height: 1.7em;
359 color: @text-color;
359 color: @text-color;
360 letter-spacing: .02em;
360 letter-spacing: .02em;
361 }
361 }
362
362
363 #pullrequest_title {
363 #pullrequest_title {
364 width: 100%;
364 width: 100%;
365 box-sizing: border-box;
365 box-sizing: border-box;
366 }
366 }
367
367
368 #pr_open_message {
368 #pr_open_message {
369 border: @border-thickness solid #fff;
369 border: @border-thickness solid #fff;
370 border-radius: @border-radius;
370 border-radius: @border-radius;
371 padding: @padding-large-vertical @padding-large-vertical @padding-large-vertical 0;
371 padding: @padding-large-vertical @padding-large-vertical @padding-large-vertical 0;
372 text-align: right;
372 text-align: right;
373 overflow: hidden;
373 overflow: hidden;
374 }
374 }
375
375
376 .pr-submit-button {
376 .pr-submit-button {
377 float: right;
377 float: right;
378 margin: 0 0 0 5px;
378 margin: 0 0 0 5px;
379 }
379 }
380
380
381 .pr-spacing-container {
381 .pr-spacing-container {
382 padding: 20px;
382 padding: 20px;
383 clear: both
383 clear: both
384 }
384 }
385
385
386 #pr-description-input {
386 #pr-description-input {
387 margin-bottom: 0;
387 margin-bottom: 0;
388 }
388 }
389
389
390 .pr-description-label {
390 .pr-description-label {
391 vertical-align: top;
391 vertical-align: top;
392 }
392 }
393
393
394 .perms_section_head {
394 .perms_section_head {
395 min-width: 625px;
395 min-width: 625px;
396
396
397 h2 {
397 h2 {
398 margin-bottom: 0;
398 margin-bottom: 0;
399 }
399 }
400
400
401 .label-checkbox {
401 .label-checkbox {
402 float: left;
402 float: left;
403 }
403 }
404
404
405 &.field {
405 &.field {
406 margin: @space 0 @padding;
406 margin: @space 0 @padding;
407 }
407 }
408
408
409 &:first-child.field {
409 &:first-child.field {
410 margin-top: 0;
410 margin-top: 0;
411
411
412 .label {
412 .label {
413 margin-top: 0;
413 margin-top: 0;
414 padding-top: 0;
414 padding-top: 0;
415 }
415 }
416
416
417 .radios {
417 .radios {
418 padding-top: 0;
418 padding-top: 0;
419 }
419 }
420 }
420 }
421
421
422 .radios {
422 .radios {
423 float: right;
423 float: right;
424 position: relative;
424 position: relative;
425 width: 405px;
425 width: 405px;
426 }
426 }
427 }
427 }
428
428
429 //--- MODULES ------------------//
429 //--- MODULES ------------------//
430
430
431
431
432 // Fixed Sidebar Column
432 // Fixed Sidebar Column
433 .sidebar-col-wrapper {
433 .sidebar-col-wrapper {
434 padding-left: @sidebar-all-width;
434 padding-left: @sidebar-all-width;
435
435
436 .sidebar {
436 .sidebar {
437 width: @sidebar-width;
437 width: @sidebar-width;
438 margin-left: -@sidebar-all-width;
438 margin-left: -@sidebar-all-width;
439 }
439 }
440 }
440 }
441
441
442 .sidebar-col-wrapper.scw-small {
442 .sidebar-col-wrapper.scw-small {
443 padding-left: @sidebar-small-all-width;
443 padding-left: @sidebar-small-all-width;
444
444
445 .sidebar {
445 .sidebar {
446 width: @sidebar-small-width;
446 width: @sidebar-small-width;
447 margin-left: -@sidebar-small-all-width;
447 margin-left: -@sidebar-small-all-width;
448 }
448 }
449 }
449 }
450
450
451
451
452 // FOOTER
452 // FOOTER
453 #footer {
453 #footer {
454 padding: 0;
454 padding: 0;
455 text-align: center;
455 text-align: center;
456 vertical-align: middle;
456 vertical-align: middle;
457 color: @grey2;
457 color: @grey2;
458 background-color: @grey6;
458 background-color: @grey6;
459
459
460 p {
460 p {
461 margin: 0;
461 margin: 0;
462 padding: 1em;
462 padding: 1em;
463 line-height: 1em;
463 line-height: 1em;
464 }
464 }
465
465
466 .server-instance { //server instance
466 .server-instance { //server instance
467 display: none;
467 display: none;
468 }
468 }
469
469
470 .title {
470 .title {
471 float: none;
471 float: none;
472 margin: 0 auto;
472 margin: 0 auto;
473 }
473 }
474 }
474 }
475
475
476 button.close {
476 button.close {
477 padding: 0;
477 padding: 0;
478 cursor: pointer;
478 cursor: pointer;
479 background: transparent;
479 background: transparent;
480 border: 0;
480 border: 0;
481 .box-shadow(none);
481 .box-shadow(none);
482 -webkit-appearance: none;
482 -webkit-appearance: none;
483 }
483 }
484
484
485 .close {
485 .close {
486 float: right;
486 float: right;
487 font-size: 21px;
487 font-size: 21px;
488 font-family: @text-bootstrap;
488 font-family: @text-bootstrap;
489 line-height: 1em;
489 line-height: 1em;
490 font-weight: bold;
490 font-weight: bold;
491 color: @grey2;
491 color: @grey2;
492
492
493 &:hover,
493 &:hover,
494 &:focus {
494 &:focus {
495 color: @grey1;
495 color: @grey1;
496 text-decoration: none;
496 text-decoration: none;
497 cursor: pointer;
497 cursor: pointer;
498 }
498 }
499 }
499 }
500
500
501 // GRID
501 // GRID
502 .sorting,
502 .sorting,
503 .sorting_desc,
503 .sorting_desc,
504 .sorting_asc {
504 .sorting_asc {
505 cursor: pointer;
505 cursor: pointer;
506 }
506 }
507 .sorting_desc:after {
507 .sorting_desc:after {
508 content: "\00A0\25B2";
508 content: "\00A0\25B2";
509 font-size: .75em;
509 font-size: .75em;
510 }
510 }
511 .sorting_asc:after {
511 .sorting_asc:after {
512 content: "\00A0\25BC";
512 content: "\00A0\25BC";
513 font-size: .68em;
513 font-size: .68em;
514 }
514 }
515
515
516
516
517 .user_auth_tokens {
517 .user_auth_tokens {
518
518
519 &.truncate {
519 &.truncate {
520 white-space: nowrap;
520 white-space: nowrap;
521 overflow: hidden;
521 overflow: hidden;
522 text-overflow: ellipsis;
522 text-overflow: ellipsis;
523 }
523 }
524
524
525 .fields .field .input {
525 .fields .field .input {
526 margin: 0;
526 margin: 0;
527 }
527 }
528
528
529 input#description {
529 input#description {
530 width: 100px;
530 width: 100px;
531 margin: 0;
531 margin: 0;
532 }
532 }
533
533
534 .drop-menu {
534 .drop-menu {
535 // TODO: johbo: Remove this, should work out of the box when
535 // TODO: johbo: Remove this, should work out of the box when
536 // having multiple inputs inline
536 // having multiple inputs inline
537 margin: 0 0 0 5px;
537 margin: 0 0 0 5px;
538 }
538 }
539 }
539 }
540 #user_list_table {
540 #user_list_table {
541 .closed {
541 .closed {
542 background-color: @grey6;
542 background-color: @grey6;
543 }
543 }
544 }
544 }
545
545
546
546
547 input {
547 input {
548 &.disabled {
548 &.disabled {
549 opacity: .5;
549 opacity: .5;
550 }
550 }
551 }
551 }
552
552
553 // remove extra padding in firefox
553 // remove extra padding in firefox
554 input::-moz-focus-inner { border:0; padding:0 }
554 input::-moz-focus-inner { border:0; padding:0 }
555
555
556 .adjacent input {
556 .adjacent input {
557 margin-bottom: @padding;
557 margin-bottom: @padding;
558 }
558 }
559
559
560 .permissions_boxes {
560 .permissions_boxes {
561 display: block;
561 display: block;
562 }
562 }
563
563
564 //TODO: lisa: this should be in tables
564 //TODO: lisa: this should be in tables
565 .show_more_col {
565 .show_more_col {
566 width: 20px;
566 width: 20px;
567 }
567 }
568
568
569 //FORMS
569 //FORMS
570
570
571 .medium-inline,
571 .medium-inline,
572 input#description.medium-inline {
572 input#description.medium-inline {
573 display: inline;
573 display: inline;
574 width: @medium-inline-input-width;
574 width: @medium-inline-input-width;
575 min-width: 100px;
575 min-width: 100px;
576 }
576 }
577
577
578 select {
578 select {
579 //reset
579 //reset
580 -webkit-appearance: none;
580 -webkit-appearance: none;
581 -moz-appearance: none;
581 -moz-appearance: none;
582
582
583 display: inline-block;
583 display: inline-block;
584 height: 28px;
584 height: 28px;
585 width: auto;
585 width: auto;
586 margin: 0 @padding @padding 0;
586 margin: 0 @padding @padding 0;
587 padding: 0 18px 0 8px;
587 padding: 0 18px 0 8px;
588 line-height:1em;
588 line-height:1em;
589 font-size: @basefontsize;
589 font-size: @basefontsize;
590 border: @border-thickness solid @rcblue;
590 border: @border-thickness solid @rcblue;
591 background:white url("../images/dt-arrow-dn.png") no-repeat 100% 50%;
591 background:white url("../images/dt-arrow-dn.png") no-repeat 100% 50%;
592 color: @rcblue;
592 color: @rcblue;
593
593
594 &:after {
594 &:after {
595 content: "\00A0\25BE";
595 content: "\00A0\25BE";
596 }
596 }
597
597
598 &:focus {
598 &:focus {
599 outline: none;
599 outline: none;
600 }
600 }
601 }
601 }
602
602
603 option {
603 option {
604 &:focus {
604 &:focus {
605 outline: none;
605 outline: none;
606 }
606 }
607 }
607 }
608
608
609 input,
609 input,
610 textarea {
610 textarea {
611 padding: @input-padding;
611 padding: @input-padding;
612 border: @input-border-thickness solid @border-highlight-color;
612 border: @input-border-thickness solid @border-highlight-color;
613 .border-radius (@border-radius);
613 .border-radius (@border-radius);
614 font-family: @text-light;
614 font-family: @text-light;
615 font-size: @basefontsize;
615 font-size: @basefontsize;
616
616
617 &.input-sm {
617 &.input-sm {
618 padding: 5px;
618 padding: 5px;
619 }
619 }
620
620
621 &#description {
621 &#description {
622 min-width: @input-description-minwidth;
622 min-width: @input-description-minwidth;
623 min-height: 1em;
623 min-height: 1em;
624 padding: 10px;
624 padding: 10px;
625 }
625 }
626 }
626 }
627
627
628 .field-sm {
628 .field-sm {
629 input,
629 input,
630 textarea {
630 textarea {
631 padding: 5px;
631 padding: 5px;
632 }
632 }
633 }
633 }
634
634
635 textarea {
635 textarea {
636 display: block;
636 display: block;
637 clear: both;
637 clear: both;
638 width: 100%;
638 width: 100%;
639 min-height: 100px;
639 min-height: 100px;
640 margin-bottom: @padding;
640 margin-bottom: @padding;
641 .box-sizing(border-box);
641 .box-sizing(border-box);
642 overflow: auto;
642 overflow: auto;
643 }
643 }
644
644
645 label {
645 label {
646 font-family: @text-light;
646 font-family: @text-light;
647 }
647 }
648
648
649 // GRAVATARS
649 // GRAVATARS
650 // centers gravatar on username to the right
650 // centers gravatar on username to the right
651
651
652 .gravatar {
652 .gravatar {
653 display: inline;
653 display: inline;
654 min-width: 16px;
654 min-width: 16px;
655 min-height: 16px;
655 min-height: 16px;
656 margin: -5px 0;
656 margin: -5px 0;
657 padding: 0;
657 padding: 0;
658 line-height: 1em;
658 line-height: 1em;
659 border: 1px solid @grey4;
659 border: 1px solid @grey4;
660
660
661 &.gravatar-large {
661 &.gravatar-large {
662 margin: -0.5em .25em -0.5em 0;
662 margin: -0.5em .25em -0.5em 0;
663 }
663 }
664
664
665 & + .user {
665 & + .user {
666 display: inline;
666 display: inline;
667 margin: 0;
667 margin: 0;
668 padding: 0 0 0 .17em;
668 padding: 0 0 0 .17em;
669 line-height: 1em;
669 line-height: 1em;
670 }
670 }
671 }
671 }
672
672
673 .rc-user { // gravatar + user wrapper
673 .rc-user { // gravatar + user wrapper
674 float: left;
674 position: relative;
675 position: relative;
675 min-width: 100px;
676 min-width: 100px;
676 max-width: 200px;
677 max-width: 200px;
677 min-height: (@gravatar-size + @border-thickness * 2); // account for border
678 min-height: (@gravatar-size + @border-thickness * 2); // account for border
678 display: block;
679 display: block;
679 padding: 0 0 0 (@gravatar-size + @basefontsize/2 + @border-thickness * 2);
680 padding: 0 0 0 (@gravatar-size + @basefontsize/2 + @border-thickness * 2);
680
681
681
682
682 .gravatar {
683 .gravatar {
683 display: block;
684 display: block;
684 position: absolute;
685 position: absolute;
685 top: 0;
686 top: 0;
686 left: 0;
687 left: 0;
687 min-width: @gravatar-size;
688 min-width: @gravatar-size;
688 min-height: @gravatar-size;
689 min-height: @gravatar-size;
689 margin: 0;
690 margin: 0;
690 }
691 }
691
692
692 .user {
693 .user {
693 display: block;
694 display: block;
694 max-width: 175px;
695 max-width: 175px;
695 padding-top: 2px;
696 padding-top: 2px;
696 overflow: hidden;
697 overflow: hidden;
697 text-overflow: ellipsis;
698 text-overflow: ellipsis;
698 }
699 }
699 }
700 }
700
701
701 .gist-gravatar,
702 .gist-gravatar,
702 .journal_container {
703 .journal_container {
703 .gravatar-large {
704 .gravatar-large {
704 margin: 0 .5em -10px 0;
705 margin: 0 .5em -10px 0;
705 }
706 }
706 }
707 }
707
708
708
709
709 // ADMIN SETTINGS
710 // ADMIN SETTINGS
710
711
711 // Tag Patterns
712 // Tag Patterns
712 .tag_patterns {
713 .tag_patterns {
713 .tag_input {
714 .tag_input {
714 margin-bottom: @padding;
715 margin-bottom: @padding;
715 }
716 }
716 }
717 }
717
718
718 .locked_input {
719 .locked_input {
719 position: relative;
720 position: relative;
720
721
721 input {
722 input {
722 display: inline;
723 display: inline;
723 margin-top: 3px;
724 margin-top: 3px;
724 }
725 }
725
726
726 br {
727 br {
727 display: none;
728 display: none;
728 }
729 }
729
730
730 .error-message {
731 .error-message {
731 float: left;
732 float: left;
732 width: 100%;
733 width: 100%;
733 }
734 }
734
735
735 .lock_input_button {
736 .lock_input_button {
736 display: inline;
737 display: inline;
737 }
738 }
738
739
739 .help-block {
740 .help-block {
740 clear: both;
741 clear: both;
741 }
742 }
742 }
743 }
743
744
744 // Notifications
745 // Notifications
745
746
746 .notifications_buttons {
747 .notifications_buttons {
747 margin: 0 0 @space 0;
748 margin: 0 0 @space 0;
748 padding: 0;
749 padding: 0;
749
750
750 .btn {
751 .btn {
751 display: inline-block;
752 display: inline-block;
752 }
753 }
753 }
754 }
754
755
755 .notification-list {
756 .notification-list {
756
757
757 div {
758 div {
758 display: inline-block;
759 display: inline-block;
759 vertical-align: middle;
760 vertical-align: middle;
760 }
761 }
761
762
762 .container {
763 .container {
763 display: block;
764 display: block;
764 margin: 0 0 @padding 0;
765 margin: 0 0 @padding 0;
765 }
766 }
766
767
767 .delete-notifications {
768 .delete-notifications {
768 margin-left: @padding;
769 margin-left: @padding;
769 text-align: right;
770 text-align: right;
770 cursor: pointer;
771 cursor: pointer;
771 }
772 }
772
773
773 .read-notifications {
774 .read-notifications {
774 margin-left: @padding/2;
775 margin-left: @padding/2;
775 text-align: right;
776 text-align: right;
776 width: 35px;
777 width: 35px;
777 cursor: pointer;
778 cursor: pointer;
778 }
779 }
779
780
780 .icon-minus-sign {
781 .icon-minus-sign {
781 color: @alert2;
782 color: @alert2;
782 }
783 }
783
784
784 .icon-ok-sign {
785 .icon-ok-sign {
785 color: @alert1;
786 color: @alert1;
786 }
787 }
787 }
788 }
788
789
789 .user_settings {
790 .user_settings {
790 float: left;
791 float: left;
791 clear: both;
792 clear: both;
792 display: block;
793 display: block;
793 width: 100%;
794 width: 100%;
794
795
795 .gravatar_box {
796 .gravatar_box {
796 margin-bottom: @padding;
797 margin-bottom: @padding;
797
798
798 &:after {
799 &:after {
799 content: " ";
800 content: " ";
800 clear: both;
801 clear: both;
801 width: 100%;
802 width: 100%;
802 }
803 }
803 }
804 }
804
805
805 .fields .field {
806 .fields .field {
806 clear: both;
807 clear: both;
807 }
808 }
808 }
809 }
809
810
810 .advanced_settings {
811 .advanced_settings {
811 margin-bottom: @space;
812 margin-bottom: @space;
812
813
813 .help-block {
814 .help-block {
814 margin-left: 0;
815 margin-left: 0;
815 }
816 }
816
817
817 button + .help-block {
818 button + .help-block {
818 margin-top: @padding;
819 margin-top: @padding;
819 }
820 }
820 }
821 }
821
822
822 // admin settings radio buttons and labels
823 // admin settings radio buttons and labels
823 .label-2 {
824 .label-2 {
824 float: left;
825 float: left;
825 width: @label2-width;
826 width: @label2-width;
826
827
827 label {
828 label {
828 color: @grey1;
829 color: @grey1;
829 }
830 }
830 }
831 }
831 .checkboxes {
832 .checkboxes {
832 float: left;
833 float: left;
833 width: @checkboxes-width;
834 width: @checkboxes-width;
834 margin-bottom: @padding;
835 margin-bottom: @padding;
835
836
836 .checkbox {
837 .checkbox {
837 width: 100%;
838 width: 100%;
838
839
839 label {
840 label {
840 margin: 0;
841 margin: 0;
841 padding: 0;
842 padding: 0;
842 }
843 }
843 }
844 }
844
845
845 .checkbox + .checkbox {
846 .checkbox + .checkbox {
846 display: inline-block;
847 display: inline-block;
847 }
848 }
848
849
849 label {
850 label {
850 margin-right: 1em;
851 margin-right: 1em;
851 }
852 }
852 }
853 }
853
854
854 // CHANGELOG
855 // CHANGELOG
855 .container_header {
856 .container_header {
856 float: left;
857 float: left;
857 display: block;
858 display: block;
858 width: 100%;
859 width: 100%;
859 margin: @padding 0 @padding;
860 margin: @padding 0 @padding;
860
861
861 #filter_changelog {
862 #filter_changelog {
862 float: left;
863 float: left;
863 margin-right: @padding;
864 margin-right: @padding;
864 }
865 }
865
866
866 .breadcrumbs_light {
867 .breadcrumbs_light {
867 display: inline-block;
868 display: inline-block;
868 }
869 }
869 }
870 }
870
871
871 .info_box {
872 .info_box {
872 float: right;
873 float: right;
873 }
874 }
874
875
875
876
876 #graph_nodes {
877 #graph_nodes {
877 padding-top: 43px;
878 padding-top: 43px;
878 }
879 }
879
880
880 #graph_content{
881 #graph_content{
881
882
882 // adjust for table headers so that graph renders properly
883 // adjust for table headers so that graph renders properly
883 // #graph_nodes padding - table cell padding
884 // #graph_nodes padding - table cell padding
884 padding-top: (@space - (@basefontsize * 2.4));
885 padding-top: (@space - (@basefontsize * 2.4));
885
886
886 &.graph_full_width {
887 &.graph_full_width {
887 width: 100%;
888 width: 100%;
888 max-width: 100%;
889 max-width: 100%;
889 }
890 }
890 }
891 }
891
892
892 #graph {
893 #graph {
893 .flag_status {
894 .flag_status {
894 margin: 0;
895 margin: 0;
895 }
896 }
896
897
897 .pagination-left {
898 .pagination-left {
898 float: left;
899 float: left;
899 clear: both;
900 clear: both;
900 }
901 }
901
902
902 .log-container {
903 .log-container {
903 max-width: 345px;
904 max-width: 345px;
904
905
905 .message{
906 .message{
906 max-width: 340px;
907 max-width: 340px;
907 }
908 }
908 }
909 }
909
910
910 .graph-col-wrapper {
911 .graph-col-wrapper {
911 padding-left: 110px;
912 padding-left: 110px;
912
913
913 #graph_nodes {
914 #graph_nodes {
914 width: 100px;
915 width: 100px;
915 margin-left: -110px;
916 margin-left: -110px;
916 float: left;
917 float: left;
917 clear: left;
918 clear: left;
918 }
919 }
919 }
920 }
920 }
921 }
921
922
922 #filter_changelog {
923 #filter_changelog {
923 float: left;
924 float: left;
924 }
925 }
925
926
926
927
927 //--- THEME ------------------//
928 //--- THEME ------------------//
928
929
929 #logo {
930 #logo {
930 float: left;
931 float: left;
931 margin: 9px 0 0 0;
932 margin: 9px 0 0 0;
932
933
933 .header {
934 .header {
934 background-color: transparent;
935 background-color: transparent;
935 }
936 }
936
937
937 a {
938 a {
938 display: inline-block;
939 display: inline-block;
939 }
940 }
940
941
941 img {
942 img {
942 height:30px;
943 height:30px;
943 }
944 }
944 }
945 }
945
946
946 .logo-wrapper {
947 .logo-wrapper {
947 float:left;
948 float:left;
948 }
949 }
949
950
950 .branding{
951 .branding{
951 float: left;
952 float: left;
952 padding: 9px 2px;
953 padding: 9px 2px;
953 line-height: 1em;
954 line-height: 1em;
954 font-size: @navigation-fontsize;
955 font-size: @navigation-fontsize;
955 }
956 }
956
957
957 img {
958 img {
958 border: none;
959 border: none;
959 outline: none;
960 outline: none;
960 }
961 }
961 user-profile-header
962 user-profile-header
962 label {
963 label {
963
964
964 input[type="checkbox"] {
965 input[type="checkbox"] {
965 margin-right: 1em;
966 margin-right: 1em;
966 }
967 }
967 input[type="radio"] {
968 input[type="radio"] {
968 margin-right: 1em;
969 margin-right: 1em;
969 }
970 }
970 }
971 }
971
972
972 .flag_status {
973 .flag_status {
973 margin: 2px 8px 6px 2px;
974 margin: 2px 8px 6px 2px;
974 &.under_review {
975 &.under_review {
975 .circle(5px, @alert3);
976 .circle(5px, @alert3);
976 }
977 }
977 &.approved {
978 &.approved {
978 .circle(5px, @alert1);
979 .circle(5px, @alert1);
979 }
980 }
980 &.rejected,
981 &.rejected,
981 &.forced_closed{
982 &.forced_closed{
982 .circle(5px, @alert2);
983 .circle(5px, @alert2);
983 }
984 }
984 &.not_reviewed {
985 &.not_reviewed {
985 .circle(5px, @grey5);
986 .circle(5px, @grey5);
986 }
987 }
987 }
988 }
988
989
989 .flag_status_comment_box {
990 .flag_status_comment_box {
990 margin: 5px 6px 0px 2px;
991 margin: 5px 6px 0px 2px;
991 }
992 }
992 .test_pattern_preview {
993 .test_pattern_preview {
993 margin: @space 0;
994 margin: @space 0;
994
995
995 p {
996 p {
996 margin-bottom: 0;
997 margin-bottom: 0;
997 border-bottom: @border-thickness solid @border-default-color;
998 border-bottom: @border-thickness solid @border-default-color;
998 color: @grey3;
999 color: @grey3;
999 }
1000 }
1000
1001
1001 .btn {
1002 .btn {
1002 margin-bottom: @padding;
1003 margin-bottom: @padding;
1003 }
1004 }
1004 }
1005 }
1005 #test_pattern_result {
1006 #test_pattern_result {
1006 display: none;
1007 display: none;
1007 &:extend(pre);
1008 &:extend(pre);
1008 padding: .9em;
1009 padding: .9em;
1009 color: @grey3;
1010 color: @grey3;
1010 background-color: @grey7;
1011 background-color: @grey7;
1011 border-right: @border-thickness solid @border-default-color;
1012 border-right: @border-thickness solid @border-default-color;
1012 border-bottom: @border-thickness solid @border-default-color;
1013 border-bottom: @border-thickness solid @border-default-color;
1013 border-left: @border-thickness solid @border-default-color;
1014 border-left: @border-thickness solid @border-default-color;
1014 }
1015 }
1015
1016
1016 #repo_vcs_settings {
1017 #repo_vcs_settings {
1017 #inherit_overlay_vcs_default {
1018 #inherit_overlay_vcs_default {
1018 display: none;
1019 display: none;
1019 }
1020 }
1020 #inherit_overlay_vcs_custom {
1021 #inherit_overlay_vcs_custom {
1021 display: custom;
1022 display: custom;
1022 }
1023 }
1023 &.inherited {
1024 &.inherited {
1024 #inherit_overlay_vcs_default {
1025 #inherit_overlay_vcs_default {
1025 display: block;
1026 display: block;
1026 }
1027 }
1027 #inherit_overlay_vcs_custom {
1028 #inherit_overlay_vcs_custom {
1028 display: none;
1029 display: none;
1029 }
1030 }
1030 }
1031 }
1031 }
1032 }
1032
1033
1033 .issue-tracker-link {
1034 .issue-tracker-link {
1034 color: @rcblue;
1035 color: @rcblue;
1035 }
1036 }
1036
1037
1037 // Issue Tracker Table Show/Hide
1038 // Issue Tracker Table Show/Hide
1038 #repo_issue_tracker {
1039 #repo_issue_tracker {
1039 #inherit_overlay {
1040 #inherit_overlay {
1040 display: none;
1041 display: none;
1041 }
1042 }
1042 #custom_overlay {
1043 #custom_overlay {
1043 display: custom;
1044 display: custom;
1044 }
1045 }
1045 &.inherited {
1046 &.inherited {
1046 #inherit_overlay {
1047 #inherit_overlay {
1047 display: block;
1048 display: block;
1048 }
1049 }
1049 #custom_overlay {
1050 #custom_overlay {
1050 display: none;
1051 display: none;
1051 }
1052 }
1052 }
1053 }
1053 }
1054 }
1054 table.issuetracker {
1055 table.issuetracker {
1055 &.readonly {
1056 &.readonly {
1056 tr, td {
1057 tr, td {
1057 color: @grey3;
1058 color: @grey3;
1058 }
1059 }
1059 }
1060 }
1060 .edit {
1061 .edit {
1061 display: none;
1062 display: none;
1062 }
1063 }
1063 .editopen {
1064 .editopen {
1064 .edit {
1065 .edit {
1065 display: inline;
1066 display: inline;
1066 }
1067 }
1067 .entry {
1068 .entry {
1068 display: none;
1069 display: none;
1069 }
1070 }
1070 }
1071 }
1071 tr td.td-action {
1072 tr td.td-action {
1072 min-width: 117px;
1073 min-width: 117px;
1073 }
1074 }
1074 td input {
1075 td input {
1075 max-width: none;
1076 max-width: none;
1076 min-width: 30px;
1077 min-width: 30px;
1077 width: 80%;
1078 width: 80%;
1078 }
1079 }
1079 .issuetracker_pref input {
1080 .issuetracker_pref input {
1080 width: 40%;
1081 width: 40%;
1081 }
1082 }
1082 input.edit_issuetracker_update {
1083 input.edit_issuetracker_update {
1083 margin-right: 0;
1084 margin-right: 0;
1084 width: auto;
1085 width: auto;
1085 }
1086 }
1086 }
1087 }
1087
1088
1088 //Permissions Settings
1089 //Permissions Settings
1089 #add_perm {
1090 #add_perm {
1090 margin: 0 0 @padding;
1091 margin: 0 0 @padding;
1091 cursor: pointer;
1092 cursor: pointer;
1092 }
1093 }
1093
1094
1094 .perm_ac {
1095 .perm_ac {
1095 input {
1096 input {
1096 width: 95%;
1097 width: 95%;
1097 }
1098 }
1098 }
1099 }
1099
1100
1100 .autocomplete-suggestions {
1101 .autocomplete-suggestions {
1101 width: auto !important; // overrides autocomplete.js
1102 width: auto !important; // overrides autocomplete.js
1102 margin: 0;
1103 margin: 0;
1103 border: @border-thickness solid @rcblue;
1104 border: @border-thickness solid @rcblue;
1104 border-radius: @border-radius;
1105 border-radius: @border-radius;
1105 color: @rcblue;
1106 color: @rcblue;
1106 background-color: white;
1107 background-color: white;
1107 }
1108 }
1108 .autocomplete-selected {
1109 .autocomplete-selected {
1109 background: #F0F0F0;
1110 background: #F0F0F0;
1110 }
1111 }
1111 .ac-container-wrap {
1112 .ac-container-wrap {
1112 margin: 0;
1113 margin: 0;
1113 padding: 8px;
1114 padding: 8px;
1114 border-bottom: @border-thickness solid @rclightblue;
1115 border-bottom: @border-thickness solid @rclightblue;
1115 list-style-type: none;
1116 list-style-type: none;
1116 cursor: pointer;
1117 cursor: pointer;
1117
1118
1118 &:hover {
1119 &:hover {
1119 background-color: @rclightblue;
1120 background-color: @rclightblue;
1120 }
1121 }
1121
1122
1122 img {
1123 img {
1123 margin-right: 1em;
1124 margin-right: 1em;
1124 }
1125 }
1125
1126
1126 strong {
1127 strong {
1127 font-weight: normal;
1128 font-weight: normal;
1128 }
1129 }
1129 }
1130 }
1130
1131
1131 // Settings Dropdown
1132 // Settings Dropdown
1132 .user-menu .container {
1133 .user-menu .container {
1133 padding: 0 4px;
1134 padding: 0 4px;
1134 margin: 0;
1135 margin: 0;
1135 }
1136 }
1136
1137
1137 .user-menu .gravatar {
1138 .user-menu .gravatar {
1138 cursor: pointer;
1139 cursor: pointer;
1139 }
1140 }
1140
1141
1141 .codeblock {
1142 .codeblock {
1142 margin-bottom: @padding;
1143 margin-bottom: @padding;
1143 clear: both;
1144 clear: both;
1144
1145
1145 .stats{
1146 .stats{
1146 overflow: hidden;
1147 overflow: hidden;
1147 }
1148 }
1148
1149
1149 .message{
1150 .message{
1150 textarea{
1151 textarea{
1151 margin: 0;
1152 margin: 0;
1152 }
1153 }
1153 }
1154 }
1154
1155
1155 .code-header {
1156 .code-header {
1156 .stats {
1157 .stats {
1157 line-height: 2em;
1158 line-height: 2em;
1158
1159
1159 .revision_id {
1160 .revision_id {
1160 margin-left: 0;
1161 margin-left: 0;
1161 }
1162 }
1162 .buttons {
1163 .buttons {
1163 padding-right: 0;
1164 padding-right: 0;
1164 }
1165 }
1165 }
1166 }
1166
1167
1167 .item{
1168 .item{
1168 margin-right: 0.5em;
1169 margin-right: 0.5em;
1169 }
1170 }
1170 }
1171 }
1171
1172
1172 #editor_container{
1173 #editor_container{
1173 position: relative;
1174 position: relative;
1174 margin: @padding;
1175 margin: @padding;
1175 }
1176 }
1176 }
1177 }
1177
1178
1178 #file_history_container {
1179 #file_history_container {
1179 display: none;
1180 display: none;
1180 }
1181 }
1181
1182
1182 .file-history-inner {
1183 .file-history-inner {
1183 margin-bottom: 10px;
1184 margin-bottom: 10px;
1184 }
1185 }
1185
1186
1186 // Pull Requests
1187 // Pull Requests
1187 .summary-details {
1188 .summary-details {
1188 width: 72%;
1189 width: 72%;
1189 }
1190 }
1190 .pr-summary {
1191 .pr-summary {
1191 border-bottom: @border-thickness solid @grey5;
1192 border-bottom: @border-thickness solid @grey5;
1192 margin-bottom: @space;
1193 margin-bottom: @space;
1193 }
1194 }
1194 .reviewers-title {
1195 .reviewers-title {
1195 width: 25%;
1196 width: 25%;
1196 min-width: 200px;
1197 min-width: 200px;
1197 }
1198 }
1198 .reviewers {
1199 .reviewers {
1199 width: 25%;
1200 width: 25%;
1200 min-width: 200px;
1201 min-width: 200px;
1201 }
1202 }
1202 .reviewers ul li {
1203 .reviewers ul li {
1203 position: relative;
1204 position: relative;
1204 width: 100%;
1205 width: 100%;
1205 margin-bottom: 8px;
1206 margin-bottom: 8px;
1206 }
1207 }
1207 .reviewers_member {
1208 .reviewers_member {
1208 width: 100%;
1209 width: 100%;
1209 overflow: auto;
1210 overflow: auto;
1210 }
1211 }
1211 .reviewer_status {
1212 .reviewer_status {
1212 display: inline-block;
1213 display: inline-block;
1213 vertical-align: top;
1214 vertical-align: top;
1214 width: 7%;
1215 width: 7%;
1215 min-width: 20px;
1216 min-width: 20px;
1216 height: 1.2em;
1217 height: 1.2em;
1217 margin-top: 3px;
1218 margin-top: 3px;
1218 line-height: 1em;
1219 line-height: 1em;
1219 }
1220 }
1220
1221
1221 .reviewer_name {
1222 .reviewer_name {
1222 display: inline-block;
1223 display: inline-block;
1223 max-width: 83%;
1224 max-width: 83%;
1224 padding-right: 20px;
1225 padding-right: 20px;
1225 vertical-align: middle;
1226 vertical-align: middle;
1227 line-height: 1;
1228
1229 .rc-user {
1230 min-width: 0;
1231 margin: -2px 1em 0 0;
1232 }
1233
1234 .reviewer {
1235 float: left;
1236 }
1226 }
1237 }
1227
1238
1228 .reviewer_member_remove {
1239 .reviewer_member_remove {
1229 position: absolute;
1240 position: absolute;
1230 right: 0;
1241 right: 0;
1231 top: 0;
1242 top: 0;
1232 width: 16px;
1243 width: 16px;
1233 margin-bottom: 10px;
1244 margin-bottom: 10px;
1234 padding: 0;
1245 padding: 0;
1235 color: black;
1246 color: black;
1236 }
1247 }
1237 .reviewer_member_status {
1248 .reviewer_member_status {
1238 margin-top: 5px;
1249 margin-top: 5px;
1239 }
1250 }
1240 .pr-summary #summary{
1251 .pr-summary #summary{
1241 width: 100%;
1252 width: 100%;
1242 }
1253 }
1243 .pr-summary .action_button:hover {
1254 .pr-summary .action_button:hover {
1244 border: 0;
1255 border: 0;
1245 cursor: pointer;
1256 cursor: pointer;
1246 }
1257 }
1247 .pr-details-title {
1258 .pr-details-title {
1248 padding-bottom: 8px;
1259 padding-bottom: 8px;
1249 border-bottom: @border-thickness solid @grey5;
1260 border-bottom: @border-thickness solid @grey5;
1250 .action_button {
1261 .action_button {
1251 color: @rcblue;
1262 color: @rcblue;
1252 }
1263 }
1253 }
1264 }
1254 .pr-details-content {
1265 .pr-details-content {
1255 margin-top: @textmargin;
1266 margin-top: @textmargin;
1256 margin-bottom: @textmargin/2;
1267 margin-bottom: @textmargin;
1257 }
1268 }
1258 .pr-description {
1269 .pr-description {
1259 white-space:pre-wrap;
1270 white-space:pre-wrap;
1260 }
1271 }
1261 .group_members {
1272 .group_members {
1262 margin-top: 0;
1273 margin-top: 0;
1263 padding: 0;
1274 padding: 0;
1264 list-style: outside none none;
1275 list-style: outside none none;
1265 }
1276 }
1266 .reviewer_ac .ac-input {
1277 .reviewer_ac .ac-input {
1267 width: 92%;
1278 width: 92%;
1268 margin-bottom: 1em;
1279 margin-bottom: 1em;
1269 }
1280 }
1270 #update_commits {
1281 #update_commits {
1271 float: right;
1282 float: right;
1272 }
1283 }
1273 .compare_view_commits tr{
1284 .compare_view_commits tr{
1274 height: 20px;
1285 height: 20px;
1275 }
1286 }
1276 .compare_view_commits td {
1287 .compare_view_commits td {
1277 vertical-align: top;
1288 vertical-align: top;
1278 padding-top: 10px;
1289 padding-top: 10px;
1279 }
1290 }
1280 .compare_view_commits .author {
1291 .compare_view_commits .author {
1281 margin-left: 5px;
1292 margin-left: 5px;
1282 }
1293 }
1283
1294
1284 .compare_view_files {
1295 .compare_view_files {
1285 width: 100%;
1296 width: 100%;
1286
1297
1287 td {
1298 td {
1288 vertical-align: middle;
1299 vertical-align: middle;
1289 }
1300 }
1290 }
1301 }
1291
1302
1292 .compare_view_filepath {
1303 .compare_view_filepath {
1293 color: @grey1;
1304 color: @grey1;
1294 }
1305 }
1295
1306
1296 .show_more {
1307 .show_more {
1297 display: inline-block;
1308 display: inline-block;
1298 position: relative;
1309 position: relative;
1299 vertical-align: middle;
1310 vertical-align: middle;
1300 width: 4px;
1311 width: 4px;
1301 height: @basefontsize;
1312 height: @basefontsize;
1302
1313
1303 &:after {
1314 &:after {
1304 content: "\00A0\25BE";
1315 content: "\00A0\25BE";
1305 display: inline-block;
1316 display: inline-block;
1306 width:10px;
1317 width:10px;
1307 line-height: 5px;
1318 line-height: 5px;
1308 font-size: 12px;
1319 font-size: 12px;
1309 cursor: pointer;
1320 cursor: pointer;
1310 }
1321 }
1311 }
1322 }
1312
1323
1313 .journal_more .show_more {
1324 .journal_more .show_more {
1314 display: inline;
1325 display: inline;
1315
1326
1316 &:after {
1327 &:after {
1317 content: none;
1328 content: none;
1318 }
1329 }
1319 }
1330 }
1320
1331
1321 .open .show_more:after,
1332 .open .show_more:after,
1322 .select2-dropdown-open .show_more:after {
1333 .select2-dropdown-open .show_more:after {
1323 .rotate(180deg);
1334 .rotate(180deg);
1324 margin-left: 4px;
1335 margin-left: 4px;
1325 }
1336 }
1326
1337
1327
1338
1328 .compare_view_commits .collapse_commit:after {
1339 .compare_view_commits .collapse_commit:after {
1329 cursor: pointer;
1340 cursor: pointer;
1330 content: "\00A0\25B4";
1341 content: "\00A0\25B4";
1331 margin-left: -3px;
1342 margin-left: -3px;
1332 font-size: 17px;
1343 font-size: 17px;
1333 color: @grey4;
1344 color: @grey4;
1334 }
1345 }
1335
1346
1336 .diff_links {
1347 .diff_links {
1337 margin-left: 8px;
1348 margin-left: 8px;
1338 }
1349 }
1339
1350
1340 p.ancestor {
1351 p.ancestor {
1341 margin: @padding 0;
1352 margin: @padding 0;
1342 }
1353 }
1343
1354
1344 .cs_icon_td input[type="checkbox"] {
1355 .cs_icon_td input[type="checkbox"] {
1345 display: none;
1356 display: none;
1346 }
1357 }
1347
1358
1348 .cs_icon_td .expand_file_icon:after {
1359 .cs_icon_td .expand_file_icon:after {
1349 cursor: pointer;
1360 cursor: pointer;
1350 content: "\00A0\25B6";
1361 content: "\00A0\25B6";
1351 font-size: 12px;
1362 font-size: 12px;
1352 color: @grey4;
1363 color: @grey4;
1353 }
1364 }
1354
1365
1355 .cs_icon_td .collapse_file_icon:after {
1366 .cs_icon_td .collapse_file_icon:after {
1356 cursor: pointer;
1367 cursor: pointer;
1357 content: "\00A0\25BC";
1368 content: "\00A0\25BC";
1358 font-size: 12px;
1369 font-size: 12px;
1359 color: @grey4;
1370 color: @grey4;
1360 }
1371 }
1361
1372
1362 /*new binary
1373 /*new binary
1363 NEW_FILENODE = 1
1374 NEW_FILENODE = 1
1364 DEL_FILENODE = 2
1375 DEL_FILENODE = 2
1365 MOD_FILENODE = 3
1376 MOD_FILENODE = 3
1366 RENAMED_FILENODE = 4
1377 RENAMED_FILENODE = 4
1367 COPIED_FILENODE = 5
1378 COPIED_FILENODE = 5
1368 CHMOD_FILENODE = 6
1379 CHMOD_FILENODE = 6
1369 BIN_FILENODE = 7
1380 BIN_FILENODE = 7
1370 */
1381 */
1371 .cs_files_expand {
1382 .cs_files_expand {
1372 font-size: @basefontsize + 5px;
1383 font-size: @basefontsize + 5px;
1373 line-height: 1.8em;
1384 line-height: 1.8em;
1374 float: right;
1385 float: right;
1375 }
1386 }
1376
1387
1377 .cs_files_expand span{
1388 .cs_files_expand span{
1378 color: @rcblue;
1389 color: @rcblue;
1379 cursor: pointer;
1390 cursor: pointer;
1380 }
1391 }
1381 .cs_files {
1392 .cs_files {
1382 clear: both;
1393 clear: both;
1383 padding-bottom: @padding;
1394 padding-bottom: @padding;
1384
1395
1385 .cur_cs {
1396 .cur_cs {
1386 margin: 10px 2px;
1397 margin: 10px 2px;
1387 font-weight: bold;
1398 font-weight: bold;
1388 }
1399 }
1389
1400
1390 .node {
1401 .node {
1391 float: left;
1402 float: left;
1392 }
1403 }
1393
1404
1394 .changes {
1405 .changes {
1395 float: right;
1406 float: right;
1396 color: white;
1407 color: white;
1397 font-size: @basefontsize - 4px;
1408 font-size: @basefontsize - 4px;
1398 margin-top: 4px;
1409 margin-top: 4px;
1399 opacity: 0.6;
1410 opacity: 0.6;
1400 filter: Alpha(opacity=60); /* IE8 and earlier */
1411 filter: Alpha(opacity=60); /* IE8 and earlier */
1401
1412
1402 .added {
1413 .added {
1403 background-color: @alert1;
1414 background-color: @alert1;
1404 float: left;
1415 float: left;
1405 text-align: center;
1416 text-align: center;
1406 }
1417 }
1407
1418
1408 .deleted {
1419 .deleted {
1409 background-color: @alert2;
1420 background-color: @alert2;
1410 float: left;
1421 float: left;
1411 text-align: center;
1422 text-align: center;
1412 }
1423 }
1413
1424
1414 .bin {
1425 .bin {
1415 background-color: @alert1;
1426 background-color: @alert1;
1416 text-align: center;
1427 text-align: center;
1417 }
1428 }
1418
1429
1419 /*new binary*/
1430 /*new binary*/
1420 .bin.bin1 {
1431 .bin.bin1 {
1421 background-color: @alert1;
1432 background-color: @alert1;
1422 text-align: center;
1433 text-align: center;
1423 }
1434 }
1424
1435
1425 /*deleted binary*/
1436 /*deleted binary*/
1426 .bin.bin2 {
1437 .bin.bin2 {
1427 background-color: @alert2;
1438 background-color: @alert2;
1428 text-align: center;
1439 text-align: center;
1429 }
1440 }
1430
1441
1431 /*mod binary*/
1442 /*mod binary*/
1432 .bin.bin3 {
1443 .bin.bin3 {
1433 background-color: @grey2;
1444 background-color: @grey2;
1434 text-align: center;
1445 text-align: center;
1435 }
1446 }
1436
1447
1437 /*rename file*/
1448 /*rename file*/
1438 .bin.bin4 {
1449 .bin.bin4 {
1439 background-color: @alert4;
1450 background-color: @alert4;
1440 text-align: center;
1451 text-align: center;
1441 }
1452 }
1442
1453
1443 /*copied file*/
1454 /*copied file*/
1444 .bin.bin5 {
1455 .bin.bin5 {
1445 background-color: @alert4;
1456 background-color: @alert4;
1446 text-align: center;
1457 text-align: center;
1447 }
1458 }
1448
1459
1449 /*chmod file*/
1460 /*chmod file*/
1450 .bin.bin6 {
1461 .bin.bin6 {
1451 background-color: @grey2;
1462 background-color: @grey2;
1452 text-align: center;
1463 text-align: center;
1453 }
1464 }
1454 }
1465 }
1455 }
1466 }
1456
1467
1457 .cs_files .cs_added, .cs_files .cs_A,
1468 .cs_files .cs_added, .cs_files .cs_A,
1458 .cs_files .cs_added, .cs_files .cs_M,
1469 .cs_files .cs_added, .cs_files .cs_M,
1459 .cs_files .cs_added, .cs_files .cs_D {
1470 .cs_files .cs_added, .cs_files .cs_D {
1460 height: 16px;
1471 height: 16px;
1461 padding-right: 10px;
1472 padding-right: 10px;
1462 margin-top: 7px;
1473 margin-top: 7px;
1463 text-align: left;
1474 text-align: left;
1464 }
1475 }
1465
1476
1466 .cs_icon_td {
1477 .cs_icon_td {
1467 min-width: 16px;
1478 min-width: 16px;
1468 width: 16px;
1479 width: 16px;
1469 }
1480 }
1470
1481
1471 .pull-request-merge {
1482 .pull-request-merge {
1472 padding: 10px 0;
1483 padding: 10px 0;
1473 margin-top: 10px;
1484 margin-top: 10px;
1474 margin-bottom: 20px;
1485 margin-bottom: 20px;
1475 }
1486 }
1476
1487
1477 .pull-request-merge .pull-request-wrap {
1488 .pull-request-merge .pull-request-wrap {
1478 height: 25px;
1489 height: 25px;
1479 padding: 5px 0;
1490 padding: 5px 0;
1480 }
1491 }
1481
1492
1482 .pull-request-merge span {
1493 .pull-request-merge span {
1483 margin-right: 10px;
1494 margin-right: 10px;
1484 }
1495 }
1485 #close_pull_request {
1496 #close_pull_request {
1486 margin-right: 0px;
1497 margin-right: 0px;
1487 }
1498 }
1488
1499
1489 .empty_data {
1500 .empty_data {
1490 color: @grey4;
1501 color: @grey4;
1491 }
1502 }
1492
1503
1493 #changeset_compare_view_content {
1504 #changeset_compare_view_content {
1494 margin-bottom: @space;
1505 margin-bottom: @space;
1495 clear: both;
1506 clear: both;
1496 width: 100%;
1507 width: 100%;
1497 box-sizing: border-box;
1508 box-sizing: border-box;
1498 .border-radius(@border-radius);
1509 .border-radius(@border-radius);
1499
1510
1500 .help-block {
1511 .help-block {
1501 margin: @padding 0;
1512 margin: @padding 0;
1502 color: @text-color;
1513 color: @text-color;
1503 }
1514 }
1504
1515
1505 .empty_data {
1516 .empty_data {
1506 margin: @padding 0;
1517 margin: @padding 0;
1507 }
1518 }
1508
1519
1509 .alert {
1520 .alert {
1510 margin-bottom: @space;
1521 margin-bottom: @space;
1511 }
1522 }
1512 }
1523 }
1513
1524
1514 .table_disp {
1525 .table_disp {
1515 .status {
1526 .status {
1516 width: auto;
1527 width: auto;
1517
1528
1518 .flag_status {
1529 .flag_status {
1519 float: left;
1530 float: left;
1520 }
1531 }
1521 }
1532 }
1522 }
1533 }
1523
1534
1524 .status_box_menu {
1535 .status_box_menu {
1525 margin: 0;
1536 margin: 0;
1526 }
1537 }
1527
1538
1528 .notification-table{
1539 .notification-table{
1529 margin-bottom: @space;
1540 margin-bottom: @space;
1530 display: table;
1541 display: table;
1531 width: 100%;
1542 width: 100%;
1532
1543
1533 .container{
1544 .container{
1534 display: table-row;
1545 display: table-row;
1535
1546
1536 .notification-header{
1547 .notification-header{
1537 border-bottom: @border-thickness solid @border-default-color;
1548 border-bottom: @border-thickness solid @border-default-color;
1538 }
1549 }
1539
1550
1540 .notification-subject{
1551 .notification-subject{
1541 display: table-cell;
1552 display: table-cell;
1542 }
1553 }
1543 }
1554 }
1544 }
1555 }
1545
1556
1546 // Notifications
1557 // Notifications
1547 .notification-header{
1558 .notification-header{
1548 display: table;
1559 display: table;
1549 width: 100%;
1560 width: 100%;
1550 padding: floor(@basefontsize/2) 0;
1561 padding: floor(@basefontsize/2) 0;
1551 line-height: 1em;
1562 line-height: 1em;
1552
1563
1553 .desc, .delete-notifications, .read-notifications{
1564 .desc, .delete-notifications, .read-notifications{
1554 display: table-cell;
1565 display: table-cell;
1555 text-align: left;
1566 text-align: left;
1556 }
1567 }
1557
1568
1558 .desc{
1569 .desc{
1559 width: 1163px;
1570 width: 1163px;
1560 }
1571 }
1561
1572
1562 .delete-notifications, .read-notifications{
1573 .delete-notifications, .read-notifications{
1563 width: 35px;
1574 width: 35px;
1564 min-width: 35px; //fixes when only one button is displayed
1575 min-width: 35px; //fixes when only one button is displayed
1565 }
1576 }
1566 }
1577 }
1567
1578
1568 .notification-body {
1579 .notification-body {
1569 .markdown-block,
1580 .markdown-block,
1570 .rst-block {
1581 .rst-block {
1571 padding: @padding 0;
1582 padding: @padding 0;
1572 }
1583 }
1573
1584
1574 .notification-subject {
1585 .notification-subject {
1575 padding: @textmargin 0;
1586 padding: @textmargin 0;
1576 border-bottom: @border-thickness solid @border-default-color;
1587 border-bottom: @border-thickness solid @border-default-color;
1577 }
1588 }
1578 }
1589 }
1579
1590
1580
1591
1581 .notifications_buttons{
1592 .notifications_buttons{
1582 float: right;
1593 float: right;
1583 }
1594 }
1584
1595
1585 // Repositories
1596 // Repositories
1586
1597
1587 #summary.fields{
1598 #summary.fields{
1588 display: table;
1599 display: table;
1589
1600
1590 .field{
1601 .field{
1591 display: table-row;
1602 display: table-row;
1592
1603
1593 .label-summary{
1604 .label-summary{
1594 display: table-cell;
1605 display: table-cell;
1595 min-width: @label-summary-minwidth;
1606 min-width: @label-summary-minwidth;
1596 padding-top: @padding/2;
1607 padding-top: @padding/2;
1597 padding-bottom: @padding/2;
1608 padding-bottom: @padding/2;
1598 padding-right: @padding/2;
1609 padding-right: @padding/2;
1599 }
1610 }
1600
1611
1601 .input{
1612 .input{
1602 display: table-cell;
1613 display: table-cell;
1603 padding: @padding/2;
1614 padding: @padding/2;
1604
1615
1605 input{
1616 input{
1606 min-width: 29em;
1617 min-width: 29em;
1607 padding: @padding/4;
1618 padding: @padding/4;
1608 }
1619 }
1609 }
1620 }
1610 .statistics, .downloads{
1621 .statistics, .downloads{
1611 .disabled{
1622 .disabled{
1612 color: @grey4;
1623 color: @grey4;
1613 }
1624 }
1614 }
1625 }
1615 }
1626 }
1616 }
1627 }
1617
1628
1618 #summary{
1629 #summary{
1619 width: 70%;
1630 width: 70%;
1620 }
1631 }
1621
1632
1622
1633
1623 // Journal
1634 // Journal
1624 .journal.title {
1635 .journal.title {
1625 h5 {
1636 h5 {
1626 float: left;
1637 float: left;
1627 margin: 0;
1638 margin: 0;
1628 width: 70%;
1639 width: 70%;
1629 }
1640 }
1630
1641
1631 ul {
1642 ul {
1632 float: right;
1643 float: right;
1633 display: inline-block;
1644 display: inline-block;
1634 margin: 0;
1645 margin: 0;
1635 width: 30%;
1646 width: 30%;
1636 text-align: right;
1647 text-align: right;
1637
1648
1638 li {
1649 li {
1639 display: inline;
1650 display: inline;
1640 font-size: @journal-fontsize;
1651 font-size: @journal-fontsize;
1641 line-height: 1em;
1652 line-height: 1em;
1642
1653
1643 &:before { content: none; }
1654 &:before { content: none; }
1644 }
1655 }
1645 }
1656 }
1646 }
1657 }
1647
1658
1648 .filterexample {
1659 .filterexample {
1649 position: absolute;
1660 position: absolute;
1650 top: 95px;
1661 top: 95px;
1651 left: @contentpadding;
1662 left: @contentpadding;
1652 color: @rcblue;
1663 color: @rcblue;
1653 font-size: 11px;
1664 font-size: 11px;
1654 font-family: @text-regular;
1665 font-family: @text-regular;
1655 cursor: help;
1666 cursor: help;
1656
1667
1657 &:hover {
1668 &:hover {
1658 color: @rcdarkblue;
1669 color: @rcdarkblue;
1659 }
1670 }
1660
1671
1661 @media (max-width:768px) {
1672 @media (max-width:768px) {
1662 position: relative;
1673 position: relative;
1663 top: auto;
1674 top: auto;
1664 left: auto;
1675 left: auto;
1665 display: block;
1676 display: block;
1666 }
1677 }
1667 }
1678 }
1668
1679
1669
1680
1670 #journal{
1681 #journal{
1671 margin-bottom: @space;
1682 margin-bottom: @space;
1672
1683
1673 .journal_day{
1684 .journal_day{
1674 margin-bottom: @textmargin/2;
1685 margin-bottom: @textmargin/2;
1675 padding-bottom: @textmargin/2;
1686 padding-bottom: @textmargin/2;
1676 font-size: @journal-fontsize;
1687 font-size: @journal-fontsize;
1677 border-bottom: @border-thickness solid @border-default-color;
1688 border-bottom: @border-thickness solid @border-default-color;
1678 }
1689 }
1679
1690
1680 .journal_container{
1691 .journal_container{
1681 margin-bottom: @space;
1692 margin-bottom: @space;
1682
1693
1683 .journal_user{
1694 .journal_user{
1684 display: inline-block;
1695 display: inline-block;
1685 }
1696 }
1686 .journal_action_container{
1697 .journal_action_container{
1687 display: block;
1698 display: block;
1688 margin-top: @textmargin;
1699 margin-top: @textmargin;
1689
1700
1690 div{
1701 div{
1691 display: inline;
1702 display: inline;
1692 }
1703 }
1693
1704
1694 div.journal_action_params{
1705 div.journal_action_params{
1695 display: block;
1706 display: block;
1696 }
1707 }
1697
1708
1698 div.journal_repo:after{
1709 div.journal_repo:after{
1699 content: "\A";
1710 content: "\A";
1700 white-space: pre;
1711 white-space: pre;
1701 }
1712 }
1702
1713
1703 div.date{
1714 div.date{
1704 display: block;
1715 display: block;
1705 margin-bottom: @textmargin;
1716 margin-bottom: @textmargin;
1706 }
1717 }
1707 }
1718 }
1708 }
1719 }
1709 }
1720 }
1710
1721
1711 // Files
1722 // Files
1712 .edit-file-title {
1723 .edit-file-title {
1713 border-bottom: @border-thickness solid @border-default-color;
1724 border-bottom: @border-thickness solid @border-default-color;
1714
1725
1715 .breadcrumbs {
1726 .breadcrumbs {
1716 margin-bottom: 0;
1727 margin-bottom: 0;
1717 }
1728 }
1718 }
1729 }
1719
1730
1720 .edit-file-fieldset {
1731 .edit-file-fieldset {
1721 margin-top: @sidebarpadding;
1732 margin-top: @sidebarpadding;
1722
1733
1723 .fieldset {
1734 .fieldset {
1724 .left-label {
1735 .left-label {
1725 width: 13%;
1736 width: 13%;
1726 }
1737 }
1727 .right-content {
1738 .right-content {
1728 width: 87%;
1739 width: 87%;
1729 max-width: 100%;
1740 max-width: 100%;
1730 }
1741 }
1731 .filename-label {
1742 .filename-label {
1732 margin-top: 13px;
1743 margin-top: 13px;
1733 }
1744 }
1734 .commit-message-label {
1745 .commit-message-label {
1735 margin-top: 4px;
1746 margin-top: 4px;
1736 }
1747 }
1737 .file-upload-input {
1748 .file-upload-input {
1738 input {
1749 input {
1739 display: none;
1750 display: none;
1740 }
1751 }
1741 }
1752 }
1742 p {
1753 p {
1743 margin-top: 5px;
1754 margin-top: 5px;
1744 }
1755 }
1745
1756
1746 }
1757 }
1747 .custom-path-link {
1758 .custom-path-link {
1748 margin-left: 5px;
1759 margin-left: 5px;
1749 }
1760 }
1750 #commit {
1761 #commit {
1751 resize: vertical;
1762 resize: vertical;
1752 }
1763 }
1753 }
1764 }
1754
1765
1755 .delete-file-preview {
1766 .delete-file-preview {
1756 max-height: 250px;
1767 max-height: 250px;
1757 }
1768 }
1758
1769
1759 .new-file,
1770 .new-file,
1760 #filter_activate,
1771 #filter_activate,
1761 #filter_deactivate {
1772 #filter_deactivate {
1762 float: left;
1773 float: left;
1763 margin: 0 0 0 15px;
1774 margin: 0 0 0 15px;
1764 }
1775 }
1765
1776
1766 h3.files_location{
1777 h3.files_location{
1767 line-height: 2.4em;
1778 line-height: 2.4em;
1768 }
1779 }
1769
1780
1770 .browser-nav {
1781 .browser-nav {
1771 display: table;
1782 display: table;
1772 margin-bottom: @space;
1783 margin-bottom: @space;
1773
1784
1774
1785
1775 .info_box {
1786 .info_box {
1776 display: inline-table;
1787 display: inline-table;
1777 height: 2.5em;
1788 height: 2.5em;
1778
1789
1779 .browser-cur-rev, .info_box_elem {
1790 .browser-cur-rev, .info_box_elem {
1780 display: table-cell;
1791 display: table-cell;
1781 vertical-align: middle;
1792 vertical-align: middle;
1782 }
1793 }
1783
1794
1784 .info_box_elem {
1795 .info_box_elem {
1785 border-top: @border-thickness solid @rcblue;
1796 border-top: @border-thickness solid @rcblue;
1786 border-bottom: @border-thickness solid @rcblue;
1797 border-bottom: @border-thickness solid @rcblue;
1787
1798
1788 #at_rev, a {
1799 #at_rev, a {
1789 padding: 0.6em 0.9em;
1800 padding: 0.6em 0.9em;
1790 margin: 0;
1801 margin: 0;
1791 .box-shadow(none);
1802 .box-shadow(none);
1792 border: 0;
1803 border: 0;
1793 height: 12px;
1804 height: 12px;
1794 }
1805 }
1795
1806
1796 input#at_rev {
1807 input#at_rev {
1797 max-width: 50px;
1808 max-width: 50px;
1798 text-align: right;
1809 text-align: right;
1799 }
1810 }
1800
1811
1801 &.previous {
1812 &.previous {
1802 border: @border-thickness solid @rcblue;
1813 border: @border-thickness solid @rcblue;
1803 .disabled {
1814 .disabled {
1804 color: @grey4;
1815 color: @grey4;
1805 cursor: not-allowed;
1816 cursor: not-allowed;
1806 }
1817 }
1807 }
1818 }
1808
1819
1809 &.next {
1820 &.next {
1810 border: @border-thickness solid @rcblue;
1821 border: @border-thickness solid @rcblue;
1811 .disabled {
1822 .disabled {
1812 color: @grey4;
1823 color: @grey4;
1813 cursor: not-allowed;
1824 cursor: not-allowed;
1814 }
1825 }
1815 }
1826 }
1816 }
1827 }
1817
1828
1818 .browser-cur-rev {
1829 .browser-cur-rev {
1819
1830
1820 span{
1831 span{
1821 margin: 0;
1832 margin: 0;
1822 color: @rcblue;
1833 color: @rcblue;
1823 height: 12px;
1834 height: 12px;
1824 display: inline-block;
1835 display: inline-block;
1825 padding: 0.7em 1em ;
1836 padding: 0.7em 1em ;
1826 border: @border-thickness solid @rcblue;
1837 border: @border-thickness solid @rcblue;
1827 margin-right: @padding;
1838 margin-right: @padding;
1828 }
1839 }
1829 }
1840 }
1830 }
1841 }
1831
1842
1832 .search_activate {
1843 .search_activate {
1833 display: table-cell;
1844 display: table-cell;
1834 vertical-align: middle;
1845 vertical-align: middle;
1835
1846
1836 input, label{
1847 input, label{
1837 margin: 0;
1848 margin: 0;
1838 padding: 0;
1849 padding: 0;
1839 }
1850 }
1840
1851
1841 input{
1852 input{
1842 margin-left: @textmargin;
1853 margin-left: @textmargin;
1843 }
1854 }
1844
1855
1845 }
1856 }
1846 }
1857 }
1847
1858
1848 .file_author{
1859 .file_author{
1849 margin-bottom: @padding;
1860 margin-bottom: @padding;
1850
1861
1851 div{
1862 div{
1852 display: inline-block;
1863 display: inline-block;
1853 margin-right: 0.5em;
1864 margin-right: 0.5em;
1854 }
1865 }
1855 }
1866 }
1856
1867
1857 .browser-cur-rev{
1868 .browser-cur-rev{
1858 margin-bottom: @textmargin;
1869 margin-bottom: @textmargin;
1859 }
1870 }
1860
1871
1861 #node_filter_box_loading{
1872 #node_filter_box_loading{
1862 .info_text;
1873 .info_text;
1863 }
1874 }
1864
1875
1865 .browser-search {
1876 .browser-search {
1866 margin: -25px 0px 5px 0px;
1877 margin: -25px 0px 5px 0px;
1867 }
1878 }
1868
1879
1869 .node-filter {
1880 .node-filter {
1870 font-size: @repo-title-fontsize;
1881 font-size: @repo-title-fontsize;
1871 padding: 4px 0px 0px 0px;
1882 padding: 4px 0px 0px 0px;
1872
1883
1873 .node-filter-path {
1884 .node-filter-path {
1874 float: left;
1885 float: left;
1875 color: @grey4;
1886 color: @grey4;
1876 }
1887 }
1877 .node-filter-input {
1888 .node-filter-input {
1878 float: left;
1889 float: left;
1879 margin: -2px 0px 0px 2px;
1890 margin: -2px 0px 0px 2px;
1880 input {
1891 input {
1881 padding: 2px;
1892 padding: 2px;
1882 border: none;
1893 border: none;
1883 font-size: @repo-title-fontsize;
1894 font-size: @repo-title-fontsize;
1884 }
1895 }
1885 }
1896 }
1886 }
1897 }
1887
1898
1888
1899
1889 .browser-result{
1900 .browser-result{
1890 td a{
1901 td a{
1891 margin-left: 0.5em;
1902 margin-left: 0.5em;
1892 display: inline-block;
1903 display: inline-block;
1893
1904
1894 em{
1905 em{
1895 font-family: @text-bold;
1906 font-family: @text-bold;
1896 }
1907 }
1897 }
1908 }
1898 }
1909 }
1899
1910
1900 .browser-highlight{
1911 .browser-highlight{
1901 background-color: @grey5-alpha;
1912 background-color: @grey5-alpha;
1902 }
1913 }
1903
1914
1904
1915
1905 // Search
1916 // Search
1906
1917
1907 .search-form{
1918 .search-form{
1908 #q {
1919 #q {
1909 width: @search-form-width;
1920 width: @search-form-width;
1910 }
1921 }
1911 .fields{
1922 .fields{
1912 margin: 0 0 @space;
1923 margin: 0 0 @space;
1913 }
1924 }
1914
1925
1915 label{
1926 label{
1916 display: inline-block;
1927 display: inline-block;
1917 margin-right: @textmargin;
1928 margin-right: @textmargin;
1918 padding-top: 0.25em;
1929 padding-top: 0.25em;
1919 }
1930 }
1920
1931
1921
1932
1922 .results{
1933 .results{
1923 clear: both;
1934 clear: both;
1924 margin: 0 0 @padding;
1935 margin: 0 0 @padding;
1925 }
1936 }
1926 }
1937 }
1927
1938
1928 div.search-feedback-items {
1939 div.search-feedback-items {
1929 display: inline-block;
1940 display: inline-block;
1930 padding:0px 0px 0px 96px;
1941 padding:0px 0px 0px 96px;
1931 }
1942 }
1932
1943
1933 div.search-code-body {
1944 div.search-code-body {
1934 background-color: #ffffff; padding: 5px 0 5px 10px;
1945 background-color: #ffffff; padding: 5px 0 5px 10px;
1935 pre {
1946 pre {
1936 .match { background-color: #faffa6;}
1947 .match { background-color: #faffa6;}
1937 .break { display: block; width: 100%; background-color: #DDE7EF; color: #747474; }
1948 .break { display: block; width: 100%; background-color: #DDE7EF; color: #747474; }
1938 }
1949 }
1939 }
1950 }
1940
1951
1941 .expand_commit.search {
1952 .expand_commit.search {
1942 .show_more.open {
1953 .show_more.open {
1943 height: auto;
1954 height: auto;
1944 max-height: none;
1955 max-height: none;
1945 }
1956 }
1946 }
1957 }
1947
1958
1948 .search-results {
1959 .search-results {
1949
1960
1950 h2 {
1961 h2 {
1951 margin-bottom: 0;
1962 margin-bottom: 0;
1952 }
1963 }
1953 .codeblock {
1964 .codeblock {
1954 border: none;
1965 border: none;
1955 background: transparent;
1966 background: transparent;
1956 }
1967 }
1957
1968
1958 .codeblock-header {
1969 .codeblock-header {
1959 border: none;
1970 border: none;
1960 background: transparent;
1971 background: transparent;
1961 }
1972 }
1962
1973
1963 .code-body {
1974 .code-body {
1964 border: @border-thickness solid @border-default-color;
1975 border: @border-thickness solid @border-default-color;
1965 .border-radius(@border-radius);
1976 .border-radius(@border-radius);
1966 }
1977 }
1967
1978
1968 .td-commit {
1979 .td-commit {
1969 &:extend(pre);
1980 &:extend(pre);
1970 border-bottom: @border-thickness solid @border-default-color;
1981 border-bottom: @border-thickness solid @border-default-color;
1971 }
1982 }
1972
1983
1973 .message {
1984 .message {
1974 height: auto;
1985 height: auto;
1975 max-width: 350px;
1986 max-width: 350px;
1976 white-space: normal;
1987 white-space: normal;
1977 text-overflow: initial;
1988 text-overflow: initial;
1978 overflow: visible;
1989 overflow: visible;
1979
1990
1980 .match { background-color: #faffa6;}
1991 .match { background-color: #faffa6;}
1981 .break { background-color: #DDE7EF; width: 100%; color: #747474; display: block; }
1992 .break { background-color: #DDE7EF; width: 100%; color: #747474; display: block; }
1982 }
1993 }
1983
1994
1984 }
1995 }
1985
1996
1986 table.rctable td.td-search-results div {
1997 table.rctable td.td-search-results div {
1987 max-width: 100%;
1998 max-width: 100%;
1988 }
1999 }
1989
2000
1990 #tip-box, .tip-box{
2001 #tip-box, .tip-box{
1991 padding: @menupadding/2;
2002 padding: @menupadding/2;
1992 display: block;
2003 display: block;
1993 border: @border-thickness solid @border-highlight-color;
2004 border: @border-thickness solid @border-highlight-color;
1994 .border-radius(@border-radius);
2005 .border-radius(@border-radius);
1995 background-color: white;
2006 background-color: white;
1996 z-index: 99;
2007 z-index: 99;
1997 white-space: pre-wrap;
2008 white-space: pre-wrap;
1998 }
2009 }
1999
2010
2000 #linktt {
2011 #linktt {
2001 width: 79px;
2012 width: 79px;
2002 }
2013 }
2003
2014
2004 #help_kb .modal-content{
2015 #help_kb .modal-content{
2005 max-width: 750px;
2016 max-width: 750px;
2006 margin: 10% auto;
2017 margin: 10% auto;
2007
2018
2008 table{
2019 table{
2009 td,th{
2020 td,th{
2010 border-bottom: none;
2021 border-bottom: none;
2011 line-height: 2.5em;
2022 line-height: 2.5em;
2012 }
2023 }
2013 th{
2024 th{
2014 padding-bottom: @textmargin/2;
2025 padding-bottom: @textmargin/2;
2015 }
2026 }
2016 td.keys{
2027 td.keys{
2017 text-align: center;
2028 text-align: center;
2018 }
2029 }
2019 }
2030 }
2020
2031
2021 .block-left{
2032 .block-left{
2022 width: 45%;
2033 width: 45%;
2023 margin-right: 5%;
2034 margin-right: 5%;
2024 }
2035 }
2025 .modal-footer{
2036 .modal-footer{
2026 clear: both;
2037 clear: both;
2027 }
2038 }
2028 .key.tag{
2039 .key.tag{
2029 padding: 0.5em;
2040 padding: 0.5em;
2030 background-color: @rcblue;
2041 background-color: @rcblue;
2031 color: white;
2042 color: white;
2032 border-color: @rcblue;
2043 border-color: @rcblue;
2033 .box-shadow(none);
2044 .box-shadow(none);
2034 }
2045 }
2035 }
2046 }
2036
2047
2037
2048
2038
2049
2039 //--- IMPORTS FOR REFACTORED STYLES ------------------//
2050 //--- IMPORTS FOR REFACTORED STYLES ------------------//
2040
2051
2041 @import 'statistics-graph';
2052 @import 'statistics-graph';
2042 @import 'tables';
2053 @import 'tables';
2043 @import 'forms';
2054 @import 'forms';
2044 @import 'diff';
2055 @import 'diff';
2045 @import 'summary';
2056 @import 'summary';
2046 @import 'navigation';
2057 @import 'navigation';
2047
2058
2048 //--- SHOW/HIDE SECTIONS --//
2059 //--- SHOW/HIDE SECTIONS --//
2049
2060
2050 .btn-collapse {
2061 .btn-collapse {
2051 float: right;
2062 float: right;
2052 text-align: right;
2063 text-align: right;
2053 font-family: @text-light;
2064 font-family: @text-light;
2054 font-size: @basefontsize;
2065 font-size: @basefontsize;
2055 cursor: pointer;
2066 cursor: pointer;
2056 border: none;
2067 border: none;
2057 color: @rcblue;
2068 color: @rcblue;
2058 }
2069 }
2059
2070
2060 table.rctable,
2071 table.rctable,
2061 table.dataTable {
2072 table.dataTable {
2062 .btn-collapse {
2073 .btn-collapse {
2063 float: right;
2074 float: right;
2064 text-align: right;
2075 text-align: right;
2065 }
2076 }
2066 }
2077 }
2067
2078
2068
2079
2069 // TODO: johbo: Fix for IE10, this avoids that we see a border
2080 // TODO: johbo: Fix for IE10, this avoids that we see a border
2070 // and padding around checkboxes and radio boxes. Move to the right place,
2081 // and padding around checkboxes and radio boxes. Move to the right place,
2071 // or better: Remove this once we did the form refactoring.
2082 // or better: Remove this once we did the form refactoring.
2072 input[type=checkbox],
2083 input[type=checkbox],
2073 input[type=radio] {
2084 input[type=radio] {
2074 padding: 0;
2085 padding: 0;
2075 border: none;
2086 border: none;
2076 }
2087 }
@@ -1,568 +1,568 b''
1 <%inherit file="/base/base.html"/>
1 <%inherit file="/base/base.html"/>
2
2
3 <%def name="title()">
3 <%def name="title()">
4 ${_('%s Pull Request #%s') % (c.repo_name, c.pull_request.pull_request_id)}
4 ${_('%s Pull Request #%s') % (c.repo_name, c.pull_request.pull_request_id)}
5 %if c.rhodecode_name:
5 %if c.rhodecode_name:
6 &middot; ${h.branding(c.rhodecode_name)}
6 &middot; ${h.branding(c.rhodecode_name)}
7 %endif
7 %endif
8 </%def>
8 </%def>
9
9
10 <%def name="breadcrumbs_links()">
10 <%def name="breadcrumbs_links()">
11 <span id="pr-title">
11 <span id="pr-title">
12 ${c.pull_request.title}
12 ${c.pull_request.title}
13 %if c.pull_request.is_closed():
13 %if c.pull_request.is_closed():
14 (${_('Closed')})
14 (${_('Closed')})
15 %endif
15 %endif
16 </span>
16 </span>
17 <div id="pr-title-edit" class="input" style="display: none;">
17 <div id="pr-title-edit" class="input" style="display: none;">
18 ${h.text('pullrequest_title', id_="pr-title-input", class_="large", value=c.pull_request.title)}
18 ${h.text('pullrequest_title', id_="pr-title-input", class_="large", value=c.pull_request.title)}
19 </div>
19 </div>
20 </%def>
20 </%def>
21
21
22 <%def name="menu_bar_nav()">
22 <%def name="menu_bar_nav()">
23 ${self.menu_items(active='repositories')}
23 ${self.menu_items(active='repositories')}
24 </%def>
24 </%def>
25
25
26 <%def name="menu_bar_subnav()">
26 <%def name="menu_bar_subnav()">
27 ${self.repo_menu(active='showpullrequest')}
27 ${self.repo_menu(active='showpullrequest')}
28 </%def>
28 </%def>
29
29
30 <%def name="main()">
30 <%def name="main()">
31 <script type="text/javascript">
31 <script type="text/javascript">
32 // TODO: marcink switch this to pyroutes
32 // TODO: marcink switch this to pyroutes
33 AJAX_COMMENT_DELETE_URL = "${url('pullrequest_comment_delete',repo_name=c.repo_name,comment_id='__COMMENT_ID__')}";
33 AJAX_COMMENT_DELETE_URL = "${url('pullrequest_comment_delete',repo_name=c.repo_name,comment_id='__COMMENT_ID__')}";
34 templateContext.pull_request_data.pull_request_id = ${c.pull_request.pull_request_id};
34 templateContext.pull_request_data.pull_request_id = ${c.pull_request.pull_request_id};
35 </script>
35 </script>
36 <div class="box">
36 <div class="box">
37 <div class="title">
37 <div class="title">
38 ${self.repo_page_title(c.rhodecode_db_repo)}
38 ${self.repo_page_title(c.rhodecode_db_repo)}
39 </div>
39 </div>
40
40
41 ${self.breadcrumbs()}
41 ${self.breadcrumbs()}
42
42
43
43
44 <div class="box pr-summary">
44 <div class="box pr-summary">
45 <div class="summary-details block-left">
45 <div class="summary-details block-left">
46 <%summary = lambda n:{False:'summary-short'}.get(n)%>
46 <%summary = lambda n:{False:'summary-short'}.get(n)%>
47 <div class="pr-details-title">
47 <div class="pr-details-title">
48 ${_('Pull request #%s') % c.pull_request.pull_request_id} ${_('From')} ${h.format_date(c.pull_request.created_on)}
48 ${_('Pull request #%s') % c.pull_request.pull_request_id} ${_('From')} ${h.format_date(c.pull_request.created_on)}
49 %if c.allowed_to_update:
49 %if c.allowed_to_update:
50 <span id="open_edit_pullrequest" class="block-right action_button">${_('Edit')}</span>
50 <span id="open_edit_pullrequest" class="block-right action_button">${_('Edit')}</span>
51 <span id="close_edit_pullrequest" class="block-right action_button" style="display: none;">${_('Close')}</span>
51 <span id="close_edit_pullrequest" class="block-right action_button" style="display: none;">${_('Close')}</span>
52 %endif
52 %endif
53 </div>
53 </div>
54
54
55 <div id="summary" class="fields pr-details-content">
55 <div id="summary" class="fields pr-details-content">
56 <div class="field">
56 <div class="field">
57 <div class="label-summary">
57 <div class="label-summary">
58 <label>${_('Origin')}:</label>
58 <label>${_('Origin')}:</label>
59 </div>
59 </div>
60 <div class="input">
60 <div class="input">
61 <div class="pr-origininfo">
61 <div class="pr-origininfo">
62 ## branch link is only valid if it is a branch
62 ## branch link is only valid if it is a branch
63 <span class="tag">
63 <span class="tag">
64 %if c.pull_request.source_ref_parts.type == 'branch':
64 %if c.pull_request.source_ref_parts.type == 'branch':
65 <a href="${h.url('changelog_home', repo_name=c.pull_request.source_repo.repo_name, branch=c.pull_request.source_ref_parts.name)}">${c.pull_request.source_ref_parts.type}: ${c.pull_request.source_ref_parts.name}</a>
65 <a href="${h.url('changelog_home', repo_name=c.pull_request.source_repo.repo_name, branch=c.pull_request.source_ref_parts.name)}">${c.pull_request.source_ref_parts.type}: ${c.pull_request.source_ref_parts.name}</a>
66 %else:
66 %else:
67 ${c.pull_request.source_ref_parts.type}: ${c.pull_request.source_ref_parts.name}
67 ${c.pull_request.source_ref_parts.type}: ${c.pull_request.source_ref_parts.name}
68 %endif
68 %endif
69 </span>
69 </span>
70 <span class="clone-url">
70 <span class="clone-url">
71 <a href="${h.url('summary_home', repo_name=c.pull_request.source_repo.repo_name)}">${c.pull_request.source_repo.clone_url()}</a>
71 <a href="${h.url('summary_home', repo_name=c.pull_request.source_repo.repo_name)}">${c.pull_request.source_repo.clone_url()}</a>
72 </span>
72 </span>
73 </div>
73 </div>
74 <div class="pr-pullinfo">
74 <div class="pr-pullinfo">
75 %if h.is_hg(c.pull_request.source_repo):
75 %if h.is_hg(c.pull_request.source_repo):
76 <input type="text" value="hg pull -r ${h.short_id(c.source_ref)} ${c.pull_request.source_repo.clone_url()}" readonly="readonly">
76 <input type="text" value="hg pull -r ${h.short_id(c.source_ref)} ${c.pull_request.source_repo.clone_url()}" readonly="readonly">
77 %elif h.is_git(c.pull_request.source_repo):
77 %elif h.is_git(c.pull_request.source_repo):
78 <input type="text" value="git pull ${c.pull_request.source_repo.clone_url()} ${c.pull_request.source_ref_parts.name}" readonly="readonly">
78 <input type="text" value="git pull ${c.pull_request.source_repo.clone_url()} ${c.pull_request.source_ref_parts.name}" readonly="readonly">
79 %endif
79 %endif
80 </div>
80 </div>
81 </div>
81 </div>
82 </div>
82 </div>
83 <div class="field">
83 <div class="field">
84 <div class="label-summary">
84 <div class="label-summary">
85 <label>${_('Target')}:</label>
85 <label>${_('Target')}:</label>
86 </div>
86 </div>
87 <div class="input">
87 <div class="input">
88 <div class="pr-targetinfo">
88 <div class="pr-targetinfo">
89 ## branch link is only valid if it is a branch
89 ## branch link is only valid if it is a branch
90 <span class="tag">
90 <span class="tag">
91 %if c.pull_request.target_ref_parts.type == 'branch':
91 %if c.pull_request.target_ref_parts.type == 'branch':
92 <a href="${h.url('changelog_home', repo_name=c.pull_request.target_repo.repo_name, branch=c.pull_request.target_ref_parts.name)}">${c.pull_request.target_ref_parts.type}: ${c.pull_request.target_ref_parts.name}</a>
92 <a href="${h.url('changelog_home', repo_name=c.pull_request.target_repo.repo_name, branch=c.pull_request.target_ref_parts.name)}">${c.pull_request.target_ref_parts.type}: ${c.pull_request.target_ref_parts.name}</a>
93 %else:
93 %else:
94 ${c.pull_request.target_ref_parts.type}: ${c.pull_request.target_ref_parts.name}
94 ${c.pull_request.target_ref_parts.type}: ${c.pull_request.target_ref_parts.name}
95 %endif
95 %endif
96 </span>
96 </span>
97 <span class="clone-url">
97 <span class="clone-url">
98 <a href="${h.url('summary_home', repo_name=c.pull_request.target_repo.repo_name)}">${c.pull_request.target_repo.clone_url()}</a>
98 <a href="${h.url('summary_home', repo_name=c.pull_request.target_repo.repo_name)}">${c.pull_request.target_repo.clone_url()}</a>
99 </span>
99 </span>
100 </div>
100 </div>
101 </div>
101 </div>
102 </div>
102 </div>
103 <div class="field">
103 <div class="field">
104 <div class="label-summary">
104 <div class="label-summary">
105 <label>${_('Review')}:</label>
105 <label>${_('Review')}:</label>
106 </div>
106 </div>
107 <div class="input">
107 <div class="input">
108 %if c.pull_request_review_status:
108 %if c.pull_request_review_status:
109 <div class="${'flag_status %s' % c.pull_request_review_status} tooltip pull-left"></div>
109 <div class="${'flag_status %s' % c.pull_request_review_status} tooltip pull-left"></div>
110 <span class="changeset-status-lbl tooltip">
110 <span class="changeset-status-lbl tooltip">
111 %if c.pull_request.is_closed():
111 %if c.pull_request.is_closed():
112 ${_('Closed')},
112 ${_('Closed')},
113 %endif
113 %endif
114 ${h.commit_status_lbl(c.pull_request_review_status)}
114 ${h.commit_status_lbl(c.pull_request_review_status)}
115 </span>
115 </span>
116 - ${ungettext('calculated based on %s reviewer vote', 'calculated based on %s reviewers votes', len(c.pull_request_reviewers)) % len(c.pull_request_reviewers)}
116 - ${ungettext('calculated based on %s reviewer vote', 'calculated based on %s reviewers votes', len(c.pull_request_reviewers)) % len(c.pull_request_reviewers)}
117 %endif
117 %endif
118 </div>
118 </div>
119 </div>
119 </div>
120 <div class="field">
120 <div class="field">
121 <div class="pr-description-label label-summary">
121 <div class="pr-description-label label-summary">
122 <label>${_('Description')}:</label>
122 <label>${_('Description')}:</label>
123 </div>
123 </div>
124 <div id="pr-desc" class="input">
124 <div id="pr-desc" class="input">
125 <div class="pr-description">${h.urlify_commit_message(c.pull_request.description, c.repo_name)}</div>
125 <div class="pr-description">${h.urlify_commit_message(c.pull_request.description, c.repo_name)}</div>
126 </div>
126 </div>
127 <div id="pr-desc-edit" class="input textarea editor" style="display: none;">
127 <div id="pr-desc-edit" class="input textarea editor" style="display: none;">
128 <textarea id="pr-description-input" size="30">${c.pull_request.description}</textarea>
128 <textarea id="pr-description-input" size="30">${c.pull_request.description}</textarea>
129 </div>
129 </div>
130 </div>
130 </div>
131 <div class="field">
131 <div class="field">
132 <div class="label-summary">
132 <div class="label-summary">
133 <label>${_('Comments')}:</label>
133 <label>${_('Comments')}:</label>
134 </div>
134 </div>
135 <div class="input">
135 <div class="input">
136 <div>
136 <div>
137 <div class="comments-number">
137 <div class="comments-number">
138 %if c.comments:
138 %if c.comments:
139 <a href="#comments">${ungettext("%d Pull request comment", "%d Pull request comments", len(c.comments)) % len(c.comments)}</a>,
139 <a href="#comments">${ungettext("%d Pull request comment", "%d Pull request comments", len(c.comments)) % len(c.comments)}</a>,
140 %else:
140 %else:
141 ${ungettext("%d Pull request comment", "%d Pull request comments", len(c.comments)) % len(c.comments)}
141 ${ungettext("%d Pull request comment", "%d Pull request comments", len(c.comments)) % len(c.comments)}
142 %endif
142 %endif
143 %if c.inline_cnt:
143 %if c.inline_cnt:
144 ## this is replaced with a proper link to first comment via JS linkifyComments() func
144 ## this is replaced with a proper link to first comment via JS linkifyComments() func
145 <a href="#inline-comments" id="inline-comments-counter">${ungettext("%d Inline Comment", "%d Inline Comments", c.inline_cnt) % c.inline_cnt}</a>
145 <a href="#inline-comments" id="inline-comments-counter">${ungettext("%d Inline Comment", "%d Inline Comments", c.inline_cnt) % c.inline_cnt}</a>
146 %else:
146 %else:
147 ${ungettext("%d Inline Comment", "%d Inline Comments", c.inline_cnt) % c.inline_cnt}
147 ${ungettext("%d Inline Comment", "%d Inline Comments", c.inline_cnt) % c.inline_cnt}
148 %endif
148 %endif
149
149
150 % if c.outdated_cnt:
150 % if c.outdated_cnt:
151 ,${ungettext("%d Outdated Comment", "%d Outdated Comments", c.outdated_cnt) % c.outdated_cnt} <span id="show-outdated-comments" class="btn btn-link">${_('(Show)')}</span>
151 ,${ungettext("%d Outdated Comment", "%d Outdated Comments", c.outdated_cnt) % c.outdated_cnt} <span id="show-outdated-comments" class="btn btn-link">${_('(Show)')}</span>
152 % endif
152 % endif
153 </div>
153 </div>
154 </div>
154 </div>
155 </div>
155 </div>
156 </div>
156 </div>
157 <div id="pr-save" class="field" style="display: none;">
157 <div id="pr-save" class="field" style="display: none;">
158 <div class="label-summary"></div>
158 <div class="label-summary"></div>
159 <div class="input">
159 <div class="input">
160 <span id="edit_pull_request" class="btn btn-small">${_('Save Changes')}</span>
160 <span id="edit_pull_request" class="btn btn-small">${_('Save Changes')}</span>
161 </div>
161 </div>
162 </div>
162 </div>
163 </div>
163 </div>
164 </div>
164 </div>
165 <div>
165 <div>
166 ## AUTHOR
166 ## AUTHOR
167 <div class="reviewers-title block-right">
167 <div class="reviewers-title block-right">
168 <div class="pr-details-title">
168 <div class="pr-details-title">
169 ${_('Author')}
169 ${_('Author')}
170 </div>
170 </div>
171 </div>
171 </div>
172 <div class="block-right pr-details-content reviewers">
172 <div class="block-right pr-details-content reviewers">
173 <ul class="group_members">
173 <ul class="group_members">
174 <li>
174 <li>
175 ${self.gravatar_with_user(c.pull_request.author.email, 16)}
175 ${self.gravatar_with_user(c.pull_request.author.email, 16)}
176 </li>
176 </li>
177 </ul>
177 </ul>
178 </div>
178 </div>
179 ## REVIEWERS
179 ## REVIEWERS
180 <div class="reviewers-title block-right">
180 <div class="reviewers-title block-right">
181 <div class="pr-details-title">
181 <div class="pr-details-title">
182 ${_('Pull request reviewers')}
182 ${_('Pull request reviewers')}
183 %if c.allowed_to_update:
183 %if c.allowed_to_update:
184 <span id="open_edit_reviewers" class="block-right action_button">${_('Edit')}</span>
184 <span id="open_edit_reviewers" class="block-right action_button">${_('Edit')}</span>
185 <span id="close_edit_reviewers" class="block-right action_button" style="display: none;">${_('Close')}</span>
185 <span id="close_edit_reviewers" class="block-right action_button" style="display: none;">${_('Close')}</span>
186 %endif
186 %endif
187 </div>
187 </div>
188 </div>
188 </div>
189 <div id="reviewers" class="block-right pr-details-content reviewers">
189 <div id="reviewers" class="block-right pr-details-content reviewers">
190 ## members goes here !
190 ## members goes here !
191 <ul id="review_members" class="group_members">
191 <ul id="review_members" class="group_members">
192 %for member,status in c.pull_request_reviewers:
192 %for member,status in c.pull_request_reviewers:
193 <li id="reviewer_${member.user_id}">
193 <li id="reviewer_${member.user_id}">
194 <div class="reviewers_member">
194 <div class="reviewers_member">
195 <div class="reviewer_status tooltip" title="${h.tooltip(h.commit_status_lbl(status[0][1].status if status else 'not_reviewed'))}">
195 <div class="reviewer_status tooltip" title="${h.tooltip(h.commit_status_lbl(status[0][1].status if status else 'not_reviewed'))}">
196 <div class="${'flag_status %s' % (status[0][1].status if status else 'not_reviewed')} pull-left reviewer_member_status"></div>
196 <div class="${'flag_status %s' % (status[0][1].status if status else 'not_reviewed')} pull-left reviewer_member_status"></div>
197 </div>
197 </div>
198 <span id="reviewer_${member.user_id}_name" class="reviewer_name">
198 <div id="reviewer_${member.user_id}_name" class="reviewer_name">
199 ${self.gravatar_with_user(member.email, 16)}
199 ${self.gravatar_with_user(member.email, 16)} <div class="reviewer">(${_('owner') if c.pull_request.user_id == member.user_id else _('reviewer')})</div>
200 (${_('owner') if c.pull_request.user_id == member.user_id else _('reviewer')})</span>
200 </div>
201 <input id="reviewer_${member.user_id}_input" type="hidden" value="${member.user_id}" name="review_members" />
201 <input id="reviewer_${member.user_id}_input" type="hidden" value="${member.user_id}" name="review_members" />
202 %if c.allowed_to_update:
202 %if c.allowed_to_update:
203 <div class="reviewer_member_remove action_button" onclick="removeReviewMember(${member.user_id}, true)" style="visibility: hidden;">
203 <div class="reviewer_member_remove action_button" onclick="removeReviewMember(${member.user_id}, true)" style="visibility: hidden;">
204 <i class="icon-remove-sign" ></i>
204 <i class="icon-remove-sign" ></i>
205 </div>
205 </div>
206 %endif
206 %endif
207 </div>
207 </div>
208 </li>
208 </li>
209 %endfor
209 %endfor
210 </ul>
210 </ul>
211 %if not c.pull_request.is_closed():
211 %if not c.pull_request.is_closed():
212 <div id="add_reviewer_input" class='ac' style="display: none;">
212 <div id="add_reviewer_input" class='ac' style="display: none;">
213 %if c.allowed_to_update:
213 %if c.allowed_to_update:
214 <div class="reviewer_ac">
214 <div class="reviewer_ac">
215 ${h.text('user', class_='ac-input', placeholder=_('Add reviewer'))}
215 ${h.text('user', class_='ac-input', placeholder=_('Add reviewer'))}
216 <div id="reviewers_container"></div>
216 <div id="reviewers_container"></div>
217 </div>
217 </div>
218 <div>
218 <div>
219 <span id="update_pull_request" class="btn btn-small">${_('Save Changes')}</span>
219 <span id="update_pull_request" class="btn btn-small">${_('Save Changes')}</span>
220 </div>
220 </div>
221 %endif
221 %endif
222 </div>
222 </div>
223 %endif
223 %endif
224 </div>
224 </div>
225 </div>
225 </div>
226 </div>
226 </div>
227 <div class="box">
227 <div class="box">
228 ##DIFF
228 ##DIFF
229 <div class="table" >
229 <div class="table" >
230 <div id="changeset_compare_view_content">
230 <div id="changeset_compare_view_content">
231 ##CS
231 ##CS
232 % if c.missing_requirements:
232 % if c.missing_requirements:
233 <div class="box">
233 <div class="box">
234 <div class="alert alert-warning">
234 <div class="alert alert-warning">
235 <div>
235 <div>
236 <strong>${_('Missing requirements:')}</strong>
236 <strong>${_('Missing requirements:')}</strong>
237 ${_('These commits cannot be displayed, because this repository uses the Mercurial largefiles extension, which was not enabled.')}
237 ${_('These commits cannot be displayed, because this repository uses the Mercurial largefiles extension, which was not enabled.')}
238 </div>
238 </div>
239 </div>
239 </div>
240 </div>
240 </div>
241 % elif c.missing_commits:
241 % elif c.missing_commits:
242 <div class="box">
242 <div class="box">
243 <div class="alert alert-warning">
243 <div class="alert alert-warning">
244 <div>
244 <div>
245 <strong>${_('Missing commits')}:</strong>
245 <strong>${_('Missing commits')}:</strong>
246 ${_('This pull request cannot be displayed, because one or more commits no longer exist in the source repository.')}
246 ${_('This pull request cannot be displayed, because one or more commits no longer exist in the source repository.')}
247 ${_('Please update this pull request, push the commits back into the source repository, or consider closing this pull request.')}
247 ${_('Please update this pull request, push the commits back into the source repository, or consider closing this pull request.')}
248 </div>
248 </div>
249 </div>
249 </div>
250 </div>
250 </div>
251 % endif
251 % endif
252 <div class="compare_view_commits_title">
252 <div class="compare_view_commits_title">
253 % if c.allowed_to_update and not c.pull_request.is_closed():
253 % if c.allowed_to_update and not c.pull_request.is_closed():
254 <button id="update_commits" class="btn btn-small">${_('Update commits')}</button>
254 <button id="update_commits" class="btn btn-small">${_('Update commits')}</button>
255 % endif
255 % endif
256 % if len(c.commit_ranges):
256 % if len(c.commit_ranges):
257 <h2>${ungettext('Compare View: %s commit','Compare View: %s commits', len(c.commit_ranges)) % len(c.commit_ranges)}</h2>
257 <h2>${ungettext('Compare View: %s commit','Compare View: %s commits', len(c.commit_ranges)) % len(c.commit_ranges)}</h2>
258 % endif
258 % endif
259 </div>
259 </div>
260 % if not c.missing_commits:
260 % if not c.missing_commits:
261 <%include file="/compare/compare_commits.html" />
261 <%include file="/compare/compare_commits.html" />
262 ## FILES
262 ## FILES
263 <div class="cs_files_title">
263 <div class="cs_files_title">
264 <span class="cs_files_expand">
264 <span class="cs_files_expand">
265 <span id="expand_all_files">${_('Expand All')}</span> | <span id="collapse_all_files">${_('Collapse All')}</span>
265 <span id="expand_all_files">${_('Expand All')}</span> | <span id="collapse_all_files">${_('Collapse All')}</span>
266 </span>
266 </span>
267 <h2>
267 <h2>
268 ${diff_block.diff_summary_text(len(c.files), c.lines_added, c.lines_deleted, c.limited_diff)}
268 ${diff_block.diff_summary_text(len(c.files), c.lines_added, c.lines_deleted, c.limited_diff)}
269 </h2>
269 </h2>
270 </div>
270 </div>
271 % endif
271 % endif
272 <div class="cs_files">
272 <div class="cs_files">
273 %if not c.files and not c.missing_commits:
273 %if not c.files and not c.missing_commits:
274 <span class="empty_data">${_('No files')}</span>
274 <span class="empty_data">${_('No files')}</span>
275 %endif
275 %endif
276 <table class="compare_view_files">
276 <table class="compare_view_files">
277 <%namespace name="diff_block" file="/changeset/diff_block.html"/>
277 <%namespace name="diff_block" file="/changeset/diff_block.html"/>
278 %for FID, change, path, stats in c.files:
278 %for FID, change, path, stats in c.files:
279 <tr class="cs_${change} collapse_file" fid="${FID}">
279 <tr class="cs_${change} collapse_file" fid="${FID}">
280 <td class="cs_icon_td">
280 <td class="cs_icon_td">
281 <span class="collapse_file_icon" fid="${FID}"></span>
281 <span class="collapse_file_icon" fid="${FID}"></span>
282 </td>
282 </td>
283 <td class="cs_icon_td">
283 <td class="cs_icon_td">
284 <div class="flag_status not_reviewed hidden"></div>
284 <div class="flag_status not_reviewed hidden"></div>
285 </td>
285 </td>
286 <td class="cs_${change}" id="a_${FID}">
286 <td class="cs_${change}" id="a_${FID}">
287 <div class="node">
287 <div class="node">
288 <a href="#a_${FID}">
288 <a href="#a_${FID}">
289 <i class="icon-file-${change.lower()}"></i>
289 <i class="icon-file-${change.lower()}"></i>
290 ${h.safe_unicode(path)}
290 ${h.safe_unicode(path)}
291 </a>
291 </a>
292 </div>
292 </div>
293 </td>
293 </td>
294 <td>
294 <td>
295 <div class="changes pull-right">${h.fancy_file_stats(stats)}</div>
295 <div class="changes pull-right">${h.fancy_file_stats(stats)}</div>
296 <div class="comment-bubble pull-right" data-path="${path}">
296 <div class="comment-bubble pull-right" data-path="${path}">
297 <i class="icon-comment"></i>
297 <i class="icon-comment"></i>
298 </div>
298 </div>
299 </td>
299 </td>
300 </tr>
300 </tr>
301 <tr fid="${FID}" id="diff_${FID}" class="diff_links">
301 <tr fid="${FID}" id="diff_${FID}" class="diff_links">
302 <td></td>
302 <td></td>
303 <td></td>
303 <td></td>
304 <td class="cs_${change}">
304 <td class="cs_${change}">
305 %if c.target_repo.repo_name == c.repo_name:
305 %if c.target_repo.repo_name == c.repo_name:
306 ${diff_block.diff_menu(c.repo_name, h.safe_unicode(path), c.target_ref, c.source_ref, change)}
306 ${diff_block.diff_menu(c.repo_name, h.safe_unicode(path), c.target_ref, c.source_ref, change)}
307 %else:
307 %else:
308 ## this is slightly different case later, since the other repo can have this
308 ## this is slightly different case later, since the other repo can have this
309 ## file in other state than the origin repo
309 ## file in other state than the origin repo
310 ${diff_block.diff_menu(c.target_repo.repo_name, h.safe_unicode(path), c.target_ref, c.source_ref, change)}
310 ${diff_block.diff_menu(c.target_repo.repo_name, h.safe_unicode(path), c.target_ref, c.source_ref, change)}
311 %endif
311 %endif
312 </td>
312 </td>
313 <td class="td-actions rc-form">
313 <td class="td-actions rc-form">
314 </td>
314 </td>
315 </tr>
315 </tr>
316 <tr id="tr_${FID}">
316 <tr id="tr_${FID}">
317 <td></td>
317 <td></td>
318 <td></td>
318 <td></td>
319 <td class="injected_diff" colspan="2">
319 <td class="injected_diff" colspan="2">
320 ${diff_block.diff_block_simple([c.changes[FID]])}
320 ${diff_block.diff_block_simple([c.changes[FID]])}
321 </td>
321 </td>
322 </tr>
322 </tr>
323
323
324 ## Loop through inline comments
324 ## Loop through inline comments
325 % if c.outdated_comments.get(path,False):
325 % if c.outdated_comments.get(path,False):
326 <tr class="outdated">
326 <tr class="outdated">
327 <td></td>
327 <td></td>
328 <td></td>
328 <td></td>
329 <td colspan="2">
329 <td colspan="2">
330 <p>${_('Outdated Inline Comments')}:</p>
330 <p>${_('Outdated Inline Comments')}:</p>
331 </td>
331 </td>
332 </tr>
332 </tr>
333 <tr class="outdated">
333 <tr class="outdated">
334 <td></td>
334 <td></td>
335 <td></td>
335 <td></td>
336 <td colspan="2" class="outdated_comment_block">
336 <td colspan="2" class="outdated_comment_block">
337 % for line, comments in c.outdated_comments[path].iteritems():
337 % for line, comments in c.outdated_comments[path].iteritems():
338 <div class="inline-comment-placeholder" path="${path}" target_id="${h.safeid(h.safe_unicode(path))}">
338 <div class="inline-comment-placeholder" path="${path}" target_id="${h.safeid(h.safe_unicode(path))}">
339 % for co in comments:
339 % for co in comments:
340 ${comment.comment_block_outdated(co)}
340 ${comment.comment_block_outdated(co)}
341 % endfor
341 % endfor
342 </div>
342 </div>
343 % endfor
343 % endfor
344 </td>
344 </td>
345 </tr>
345 </tr>
346 % endif
346 % endif
347 %endfor
347 %endfor
348 ## Loop through inline comments for deleted files
348 ## Loop through inline comments for deleted files
349 %for path in c.deleted_files:
349 %for path in c.deleted_files:
350 <tr class="outdated deleted">
350 <tr class="outdated deleted">
351 <td></td>
351 <td></td>
352 <td></td>
352 <td></td>
353 <td>${path}</td>
353 <td>${path}</td>
354 </tr>
354 </tr>
355 <tr class="outdated deleted">
355 <tr class="outdated deleted">
356 <td></td>
356 <td></td>
357 <td></td>
357 <td></td>
358 <td>(${_('Removed')})</td>
358 <td>(${_('Removed')})</td>
359 </tr>
359 </tr>
360 % if path in c.outdated_comments:
360 % if path in c.outdated_comments:
361 <tr class="outdated deleted">
361 <tr class="outdated deleted">
362 <td></td>
362 <td></td>
363 <td></td>
363 <td></td>
364 <td colspan="2">
364 <td colspan="2">
365 <p>${_('Outdated Inline Comments')}:</p>
365 <p>${_('Outdated Inline Comments')}:</p>
366 </td>
366 </td>
367 </tr>
367 </tr>
368 <tr class="outdated">
368 <tr class="outdated">
369 <td></td>
369 <td></td>
370 <td></td>
370 <td></td>
371 <td colspan="2" class="outdated_comment_block">
371 <td colspan="2" class="outdated_comment_block">
372 % for line, comments in c.outdated_comments[path].iteritems():
372 % for line, comments in c.outdated_comments[path].iteritems():
373 <div class="inline-comment-placeholder" path="${path}" target_id="${h.safeid(h.safe_unicode(path))}">
373 <div class="inline-comment-placeholder" path="${path}" target_id="${h.safeid(h.safe_unicode(path))}">
374 % for co in comments:
374 % for co in comments:
375 ${comment.comment_block_outdated(co)}
375 ${comment.comment_block_outdated(co)}
376 % endfor
376 % endfor
377 </div>
377 </div>
378 % endfor
378 % endfor
379 </td>
379 </td>
380 </tr>
380 </tr>
381 % endif
381 % endif
382 %endfor
382 %endfor
383 </table>
383 </table>
384 </div>
384 </div>
385 % if c.limited_diff:
385 % if c.limited_diff:
386 <h5>${_('Commit was too big and was cut off...')} <a href="${h.url.current(fulldiff=1, **request.GET.mixed())}" onclick="return confirm('${_("Showing a huge diff might take some time and resources")}')">${_('Show full diff')}</a></h5>
386 <h5>${_('Commit was too big and was cut off...')} <a href="${h.url.current(fulldiff=1, **request.GET.mixed())}" onclick="return confirm('${_("Showing a huge diff might take some time and resources")}')">${_('Show full diff')}</a></h5>
387 % endif
387 % endif
388 </div>
388 </div>
389 </div>
389 </div>
390
390
391 % if c.limited_diff:
391 % if c.limited_diff:
392 <p>${_('Commit was too big and was cut off...')} <a href="${h.url.current(fulldiff=1, **request.GET.mixed())}" onclick="return confirm('${_("Showing a huge diff might take some time and resources")}')">${_('Show full diff')}</a></p>
392 <p>${_('Commit was too big and was cut off...')} <a href="${h.url.current(fulldiff=1, **request.GET.mixed())}" onclick="return confirm('${_("Showing a huge diff might take some time and resources")}')">${_('Show full diff')}</a></p>
393 % endif
393 % endif
394
394
395 ## template for inline comment form
395 ## template for inline comment form
396 <%namespace name="comment" file="/changeset/changeset_file_comment.html"/>
396 <%namespace name="comment" file="/changeset/changeset_file_comment.html"/>
397 ${comment.comment_inline_form()}
397 ${comment.comment_inline_form()}
398
398
399 ## render comments and inlines
399 ## render comments and inlines
400 ${comment.generate_comments(include_pull_request=True, is_pull_request=True)}
400 ${comment.generate_comments(include_pull_request=True, is_pull_request=True)}
401
401
402 % if not c.pull_request.is_closed():
402 % if not c.pull_request.is_closed():
403 ## main comment form and it status
403 ## main comment form and it status
404 ${comment.comments(h.url('pullrequest_comment', repo_name=c.repo_name,
404 ${comment.comments(h.url('pullrequest_comment', repo_name=c.repo_name,
405 pull_request_id=c.pull_request.pull_request_id),
405 pull_request_id=c.pull_request.pull_request_id),
406 c.pull_request_review_status,
406 c.pull_request_review_status,
407 is_pull_request=True, change_status=c.allowed_to_change_status)}
407 is_pull_request=True, change_status=c.allowed_to_change_status)}
408 %endif
408 %endif
409
409
410 <script type="text/javascript">
410 <script type="text/javascript">
411 if (location.href.indexOf('#') != -1) {
411 if (location.href.indexOf('#') != -1) {
412 var id = '#'+location.href.substring(location.href.indexOf('#') + 1).split('#');
412 var id = '#'+location.href.substring(location.href.indexOf('#') + 1).split('#');
413 var line = $('html').find(id);
413 var line = $('html').find(id);
414 offsetScroll(line, 70);
414 offsetScroll(line, 70);
415 }
415 }
416 $(function(){
416 $(function(){
417 ReviewerAutoComplete('user');
417 ReviewerAutoComplete('user');
418 // custom code mirror
418 // custom code mirror
419 var codeMirrorInstance = initPullRequestsCodeMirror('#pr-description-input');
419 var codeMirrorInstance = initPullRequestsCodeMirror('#pr-description-input');
420
420
421 var PRDetails = {
421 var PRDetails = {
422 editButton: $('#open_edit_pullrequest'),
422 editButton: $('#open_edit_pullrequest'),
423 closeButton: $('#close_edit_pullrequest'),
423 closeButton: $('#close_edit_pullrequest'),
424 viewFields: $('#pr-desc, #pr-title'),
424 viewFields: $('#pr-desc, #pr-title'),
425 editFields: $('#pr-desc-edit, #pr-title-edit, #pr-save'),
425 editFields: $('#pr-desc-edit, #pr-title-edit, #pr-save'),
426
426
427 init: function() {
427 init: function() {
428 var that = this;
428 var that = this;
429 this.editButton.on('click', function(e) { that.edit(); });
429 this.editButton.on('click', function(e) { that.edit(); });
430 this.closeButton.on('click', function(e) { that.view(); });
430 this.closeButton.on('click', function(e) { that.view(); });
431 },
431 },
432
432
433 edit: function(event) {
433 edit: function(event) {
434 this.viewFields.hide();
434 this.viewFields.hide();
435 this.editButton.hide();
435 this.editButton.hide();
436 this.editFields.show();
436 this.editFields.show();
437 codeMirrorInstance.refresh();
437 codeMirrorInstance.refresh();
438 },
438 },
439
439
440 view: function(event) {
440 view: function(event) {
441 this.editFields.hide();
441 this.editFields.hide();
442 this.closeButton.hide();
442 this.closeButton.hide();
443 this.viewFields.show();
443 this.viewFields.show();
444 }
444 }
445 };
445 };
446
446
447 var ReviewersPanel = {
447 var ReviewersPanel = {
448 editButton: $('#open_edit_reviewers'),
448 editButton: $('#open_edit_reviewers'),
449 closeButton: $('#close_edit_reviewers'),
449 closeButton: $('#close_edit_reviewers'),
450 addButton: $('#add_reviewer_input'),
450 addButton: $('#add_reviewer_input'),
451 removeButtons: $('.reviewer_member_remove'),
451 removeButtons: $('.reviewer_member_remove'),
452
452
453 init: function() {
453 init: function() {
454 var that = this;
454 var that = this;
455 this.editButton.on('click', function(e) { that.edit(); });
455 this.editButton.on('click', function(e) { that.edit(); });
456 this.closeButton.on('click', function(e) { that.close(); });
456 this.closeButton.on('click', function(e) { that.close(); });
457 },
457 },
458
458
459 edit: function(event) {
459 edit: function(event) {
460 this.editButton.hide();
460 this.editButton.hide();
461 this.closeButton.show();
461 this.closeButton.show();
462 this.addButton.show();
462 this.addButton.show();
463 this.removeButtons.css('visibility', 'visible');
463 this.removeButtons.css('visibility', 'visible');
464 },
464 },
465
465
466 close: function(event) {
466 close: function(event) {
467 this.editButton.show();
467 this.editButton.show();
468 this.closeButton.hide();
468 this.closeButton.hide();
469 this.addButton.hide();
469 this.addButton.hide();
470 this.removeButtons.css('visibility', 'hidden');
470 this.removeButtons.css('visibility', 'hidden');
471 }
471 }
472 };
472 };
473
473
474 PRDetails.init();
474 PRDetails.init();
475 ReviewersPanel.init();
475 ReviewersPanel.init();
476
476
477 $('#show-outdated-comments').on('click', function(e){
477 $('#show-outdated-comments').on('click', function(e){
478 var button = $(this);
478 var button = $(this);
479 var outdated = $('.outdated');
479 var outdated = $('.outdated');
480 if (button.html() === "(Show)") {
480 if (button.html() === "(Show)") {
481 button.html("(Hide)");
481 button.html("(Hide)");
482 outdated.show();
482 outdated.show();
483 } else {
483 } else {
484 button.html("(Show)");
484 button.html("(Show)");
485 outdated.hide();
485 outdated.hide();
486 }
486 }
487 });
487 });
488
488
489 $('.show-inline-comments').on('change', function(e){
489 $('.show-inline-comments').on('change', function(e){
490 var show = 'none';
490 var show = 'none';
491 var target = e.currentTarget;
491 var target = e.currentTarget;
492 if(target.checked){
492 if(target.checked){
493 show = ''
493 show = ''
494 }
494 }
495 var boxid = $(target).attr('id_for');
495 var boxid = $(target).attr('id_for');
496 var comments = $('#{0} .inline-comments'.format(boxid));
496 var comments = $('#{0} .inline-comments'.format(boxid));
497 var fn_display = function(idx){
497 var fn_display = function(idx){
498 $(this).css('display', show);
498 $(this).css('display', show);
499 };
499 };
500 $(comments).each(fn_display);
500 $(comments).each(fn_display);
501 var btns = $('#{0} .inline-comments-button'.format(boxid));
501 var btns = $('#{0} .inline-comments-button'.format(boxid));
502 $(btns).each(fn_display);
502 $(btns).each(fn_display);
503 });
503 });
504
504
505 // inject comments into their proper positions
505 // inject comments into their proper positions
506 var file_comments = $('.inline-comment-placeholder');
506 var file_comments = $('.inline-comment-placeholder');
507 %if c.pull_request.is_closed():
507 %if c.pull_request.is_closed():
508 renderInlineComments(file_comments, false);
508 renderInlineComments(file_comments, false);
509 %else:
509 %else:
510 renderInlineComments(file_comments, true);
510 renderInlineComments(file_comments, true);
511 %endif
511 %endif
512 var commentTotals = {};
512 var commentTotals = {};
513 $.each(file_comments, function(i, comment) {
513 $.each(file_comments, function(i, comment) {
514 var path = $(comment).attr('path');
514 var path = $(comment).attr('path');
515 var comms = $(comment).children().length;
515 var comms = $(comment).children().length;
516 if (path in commentTotals) {
516 if (path in commentTotals) {
517 commentTotals[path] += comms;
517 commentTotals[path] += comms;
518 } else {
518 } else {
519 commentTotals[path] = comms;
519 commentTotals[path] = comms;
520 }
520 }
521 });
521 });
522 $.each(commentTotals, function(path, total) {
522 $.each(commentTotals, function(path, total) {
523 var elem = $('.comment-bubble[data-path="'+ path +'"]');
523 var elem = $('.comment-bubble[data-path="'+ path +'"]');
524 elem.css('visibility', 'visible');
524 elem.css('visibility', 'visible');
525 elem.html(elem.html() + ' ' + total );
525 elem.html(elem.html() + ' ' + total );
526 });
526 });
527
527
528 $('#merge_pull_request_form').submit(function() {
528 $('#merge_pull_request_form').submit(function() {
529 if (!$('#merge_pull_request').attr('disabled')) {
529 if (!$('#merge_pull_request').attr('disabled')) {
530 $('#merge_pull_request').attr('disabled', 'disabled');
530 $('#merge_pull_request').attr('disabled', 'disabled');
531 }
531 }
532 return true;
532 return true;
533 });
533 });
534
534
535 $('#edit_pull_request').on('click', function(e){
535 $('#edit_pull_request').on('click', function(e){
536 var title = $('#pr-title-input').val();
536 var title = $('#pr-title-input').val();
537 var description = codeMirrorInstance.getValue();
537 var description = codeMirrorInstance.getValue();
538 editPullRequest(
538 editPullRequest(
539 "${c.repo_name}", "${c.pull_request.pull_request_id}",
539 "${c.repo_name}", "${c.pull_request.pull_request_id}",
540 title, description);
540 title, description);
541 });
541 });
542
542
543 $('#update_pull_request').on('click', function(e){
543 $('#update_pull_request').on('click', function(e){
544 updateReviewers(undefined, "${c.repo_name}", "${c.pull_request.pull_request_id}");
544 updateReviewers(undefined, "${c.repo_name}", "${c.pull_request.pull_request_id}");
545 });
545 });
546
546
547 $('#update_commits').on('click', function(e){
547 $('#update_commits').on('click', function(e){
548 var isDisabled = !$(e.currentTarget).attr('disabled');
548 var isDisabled = !$(e.currentTarget).attr('disabled');
549 $(e.currentTarget).text(_TM['Updating...']);
549 $(e.currentTarget).text(_TM['Updating...']);
550 $(e.currentTarget).attr('disabled', 'disabled');
550 $(e.currentTarget).attr('disabled', 'disabled');
551 if(isDisabled){
551 if(isDisabled){
552 updateCommits("${c.repo_name}", "${c.pull_request.pull_request_id}");
552 updateCommits("${c.repo_name}", "${c.pull_request.pull_request_id}");
553 }
553 }
554
554
555 });
555 });
556 // fixing issue with caches on firefox
556 // fixing issue with caches on firefox
557 $('#update_commits').removeAttr("disabled");
557 $('#update_commits').removeAttr("disabled");
558
558
559 $('#close_pull_request').on('click', function(e){
559 $('#close_pull_request').on('click', function(e){
560 closePullRequest("${c.repo_name}", "${c.pull_request.pull_request_id}");
560 closePullRequest("${c.repo_name}", "${c.pull_request.pull_request_id}");
561 });
561 });
562 })
562 })
563 </script>
563 </script>
564
564
565 </div>
565 </div>
566 </div>
566 </div>
567
567
568 </%def>
568 </%def>
General Comments 0
You need to be logged in to leave comments. Login now