##// END OF EJS Templates
comments: fixed links/actions
marcink -
r4405:40acab35 default
parent child Browse files
Show More
@@ -1,3067 +1,3072 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 'variables';
8 @import 'variables';
9 @import 'bootstrap-variables';
9 @import 'bootstrap-variables';
10 @import 'form-bootstrap';
10 @import 'form-bootstrap';
11 @import 'codemirror';
11 @import 'codemirror';
12 @import 'legacy_code_styles';
12 @import 'legacy_code_styles';
13 @import 'readme-box';
13 @import 'readme-box';
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 @import 'deform';
28 @import 'deform';
29 @import 'tooltips';
29 @import 'tooltips';
30 @import 'sweetalert2';
30 @import 'sweetalert2';
31
31
32
32
33 //--- BASE ------------------//
33 //--- BASE ------------------//
34 .noscript-error {
34 .noscript-error {
35 top: 0;
35 top: 0;
36 left: 0;
36 left: 0;
37 width: 100%;
37 width: 100%;
38 z-index: 101;
38 z-index: 101;
39 text-align: center;
39 text-align: center;
40 font-size: 120%;
40 font-size: 120%;
41 color: white;
41 color: white;
42 background-color: @alert2;
42 background-color: @alert2;
43 padding: 5px 0 5px 0;
43 padding: 5px 0 5px 0;
44 font-weight: @text-semibold-weight;
44 font-weight: @text-semibold-weight;
45 font-family: @text-semibold;
45 font-family: @text-semibold;
46 }
46 }
47
47
48 html {
48 html {
49 display: table;
49 display: table;
50 height: 100%;
50 height: 100%;
51 width: 100%;
51 width: 100%;
52 }
52 }
53
53
54 body {
54 body {
55 display: table-cell;
55 display: table-cell;
56 width: 100%;
56 width: 100%;
57 }
57 }
58
58
59 //--- LAYOUT ------------------//
59 //--- LAYOUT ------------------//
60
60
61 .hidden{
61 .hidden{
62 display: none !important;
62 display: none !important;
63 }
63 }
64
64
65 .box{
65 .box{
66 float: left;
66 float: left;
67 width: 100%;
67 width: 100%;
68 }
68 }
69
69
70 .browser-header {
70 .browser-header {
71 clear: both;
71 clear: both;
72 }
72 }
73 .main {
73 .main {
74 clear: both;
74 clear: both;
75 padding:0 0 @pagepadding;
75 padding:0 0 @pagepadding;
76 height: auto;
76 height: auto;
77
77
78 &:after { //clearfix
78 &:after { //clearfix
79 content:"";
79 content:"";
80 clear:both;
80 clear:both;
81 width:100%;
81 width:100%;
82 display:block;
82 display:block;
83 }
83 }
84 }
84 }
85
85
86 .action-link{
86 .action-link{
87 margin-left: @padding;
87 margin-left: @padding;
88 padding-left: @padding;
88 padding-left: @padding;
89 border-left: @border-thickness solid @border-default-color;
89 border-left: @border-thickness solid @border-default-color;
90 }
90 }
91
91
92 .cursor-pointer {
92 .cursor-pointer {
93 cursor: pointer;
93 cursor: pointer;
94 }
94 }
95
95
96 input + .action-link, .action-link.first{
96 input + .action-link, .action-link.first{
97 border-left: none;
97 border-left: none;
98 }
98 }
99
99
100 .link-disabled {
101 color: @grey4;
102 cursor: default;
103 }
104
100 .action-link.last{
105 .action-link.last{
101 margin-right: @padding;
106 margin-right: @padding;
102 padding-right: @padding;
107 padding-right: @padding;
103 }
108 }
104
109
105 .action-link.active,
110 .action-link.active,
106 .action-link.active a{
111 .action-link.active a{
107 color: @grey4;
112 color: @grey4;
108 }
113 }
109
114
110 .action-link.disabled {
115 .action-link.disabled {
111 color: @grey4;
116 color: @grey4;
112 cursor: inherit;
117 cursor: inherit;
113 }
118 }
114
119
115 .grey-link-action {
120 .grey-link-action {
116 cursor: pointer;
121 cursor: pointer;
117 &:hover {
122 &:hover {
118 color: @grey2;
123 color: @grey2;
119 }
124 }
120 color: @grey4;
125 color: @grey4;
121 }
126 }
122
127
123 .clipboard-action {
128 .clipboard-action {
124 cursor: pointer;
129 cursor: pointer;
125 margin-left: 5px;
130 margin-left: 5px;
126
131
127 &:not(.no-grey) {
132 &:not(.no-grey) {
128
133
129 &:hover {
134 &:hover {
130 color: @grey2;
135 color: @grey2;
131 }
136 }
132 color: @grey4;
137 color: @grey4;
133 }
138 }
134 }
139 }
135
140
136 ul.simple-list{
141 ul.simple-list{
137 list-style: none;
142 list-style: none;
138 margin: 0;
143 margin: 0;
139 padding: 0;
144 padding: 0;
140 }
145 }
141
146
142 .main-content {
147 .main-content {
143 padding-bottom: @pagepadding;
148 padding-bottom: @pagepadding;
144 }
149 }
145
150
146 .wide-mode-wrapper {
151 .wide-mode-wrapper {
147 max-width:4000px !important;
152 max-width:4000px !important;
148 }
153 }
149
154
150 .wrapper {
155 .wrapper {
151 position: relative;
156 position: relative;
152 max-width: @wrapper-maxwidth;
157 max-width: @wrapper-maxwidth;
153 margin: 0 auto;
158 margin: 0 auto;
154 }
159 }
155
160
156 #content {
161 #content {
157 clear: both;
162 clear: both;
158 padding: 0 @contentpadding;
163 padding: 0 @contentpadding;
159 }
164 }
160
165
161 .advanced-settings-fields{
166 .advanced-settings-fields{
162 input{
167 input{
163 margin-left: @textmargin;
168 margin-left: @textmargin;
164 margin-right: @padding/2;
169 margin-right: @padding/2;
165 }
170 }
166 }
171 }
167
172
168 .cs_files_title {
173 .cs_files_title {
169 margin: @pagepadding 0 0;
174 margin: @pagepadding 0 0;
170 }
175 }
171
176
172 input.inline[type="file"] {
177 input.inline[type="file"] {
173 display: inline;
178 display: inline;
174 }
179 }
175
180
176 .error_page {
181 .error_page {
177 margin: 10% auto;
182 margin: 10% auto;
178
183
179 h1 {
184 h1 {
180 color: @grey2;
185 color: @grey2;
181 }
186 }
182
187
183 .alert {
188 .alert {
184 margin: @padding 0;
189 margin: @padding 0;
185 }
190 }
186
191
187 .error-branding {
192 .error-branding {
188 color: @grey4;
193 color: @grey4;
189 font-weight: @text-semibold-weight;
194 font-weight: @text-semibold-weight;
190 font-family: @text-semibold;
195 font-family: @text-semibold;
191 }
196 }
192
197
193 .error_message {
198 .error_message {
194 font-family: @text-regular;
199 font-family: @text-regular;
195 }
200 }
196
201
197 .sidebar {
202 .sidebar {
198 min-height: 275px;
203 min-height: 275px;
199 margin: 0;
204 margin: 0;
200 padding: 0 0 @sidebarpadding @sidebarpadding;
205 padding: 0 0 @sidebarpadding @sidebarpadding;
201 border: none;
206 border: none;
202 }
207 }
203
208
204 .main-content {
209 .main-content {
205 position: relative;
210 position: relative;
206 margin: 0 @sidebarpadding @sidebarpadding;
211 margin: 0 @sidebarpadding @sidebarpadding;
207 padding: 0 0 0 @sidebarpadding;
212 padding: 0 0 0 @sidebarpadding;
208 border-left: @border-thickness solid @grey5;
213 border-left: @border-thickness solid @grey5;
209
214
210 @media (max-width:767px) {
215 @media (max-width:767px) {
211 clear: both;
216 clear: both;
212 width: 100%;
217 width: 100%;
213 margin: 0;
218 margin: 0;
214 border: none;
219 border: none;
215 }
220 }
216 }
221 }
217
222
218 .inner-column {
223 .inner-column {
219 float: left;
224 float: left;
220 width: 29.75%;
225 width: 29.75%;
221 min-height: 150px;
226 min-height: 150px;
222 margin: @sidebarpadding 2% 0 0;
227 margin: @sidebarpadding 2% 0 0;
223 padding: 0 2% 0 0;
228 padding: 0 2% 0 0;
224 border-right: @border-thickness solid @grey5;
229 border-right: @border-thickness solid @grey5;
225
230
226 @media (max-width:767px) {
231 @media (max-width:767px) {
227 clear: both;
232 clear: both;
228 width: 100%;
233 width: 100%;
229 border: none;
234 border: none;
230 }
235 }
231
236
232 ul {
237 ul {
233 padding-left: 1.25em;
238 padding-left: 1.25em;
234 }
239 }
235
240
236 &:last-child {
241 &:last-child {
237 margin: @sidebarpadding 0 0;
242 margin: @sidebarpadding 0 0;
238 border: none;
243 border: none;
239 }
244 }
240
245
241 h4 {
246 h4 {
242 margin: 0 0 @padding;
247 margin: 0 0 @padding;
243 font-weight: @text-semibold-weight;
248 font-weight: @text-semibold-weight;
244 font-family: @text-semibold;
249 font-family: @text-semibold;
245 }
250 }
246 }
251 }
247 }
252 }
248 .error-page-logo {
253 .error-page-logo {
249 width: 130px;
254 width: 130px;
250 height: 160px;
255 height: 160px;
251 }
256 }
252
257
253 // HEADER
258 // HEADER
254 .header {
259 .header {
255
260
256 // TODO: johbo: Fix login pages, so that they work without a min-height
261 // TODO: johbo: Fix login pages, so that they work without a min-height
257 // for the header and then remove the min-height. I chose a smaller value
262 // for the header and then remove the min-height. I chose a smaller value
258 // intentionally here to avoid rendering issues in the main navigation.
263 // intentionally here to avoid rendering issues in the main navigation.
259 min-height: 49px;
264 min-height: 49px;
260 min-width: 1024px;
265 min-width: 1024px;
261
266
262 position: relative;
267 position: relative;
263 vertical-align: bottom;
268 vertical-align: bottom;
264 padding: 0 @header-padding;
269 padding: 0 @header-padding;
265 background-color: @grey1;
270 background-color: @grey1;
266 color: @grey5;
271 color: @grey5;
267
272
268 .title {
273 .title {
269 overflow: visible;
274 overflow: visible;
270 }
275 }
271
276
272 &:before,
277 &:before,
273 &:after {
278 &:after {
274 content: "";
279 content: "";
275 clear: both;
280 clear: both;
276 width: 100%;
281 width: 100%;
277 }
282 }
278
283
279 // TODO: johbo: Avoids breaking "Repositories" chooser
284 // TODO: johbo: Avoids breaking "Repositories" chooser
280 .select2-container .select2-choice .select2-arrow {
285 .select2-container .select2-choice .select2-arrow {
281 display: none;
286 display: none;
282 }
287 }
283 }
288 }
284
289
285 #header-inner {
290 #header-inner {
286 &.title {
291 &.title {
287 margin: 0;
292 margin: 0;
288 }
293 }
289 &:before,
294 &:before,
290 &:after {
295 &:after {
291 content: "";
296 content: "";
292 clear: both;
297 clear: both;
293 }
298 }
294 }
299 }
295
300
296 // Gists
301 // Gists
297 #files_data {
302 #files_data {
298 clear: both; //for firefox
303 clear: both; //for firefox
299 padding-top: 10px;
304 padding-top: 10px;
300 }
305 }
301
306
302 #gistid {
307 #gistid {
303 margin-right: @padding;
308 margin-right: @padding;
304 }
309 }
305
310
306 // Global Settings Editor
311 // Global Settings Editor
307 .textarea.editor {
312 .textarea.editor {
308 float: left;
313 float: left;
309 position: relative;
314 position: relative;
310 max-width: @texteditor-width;
315 max-width: @texteditor-width;
311
316
312 select {
317 select {
313 position: absolute;
318 position: absolute;
314 top:10px;
319 top:10px;
315 right:0;
320 right:0;
316 }
321 }
317
322
318 .CodeMirror {
323 .CodeMirror {
319 margin: 0;
324 margin: 0;
320 }
325 }
321
326
322 .help-block {
327 .help-block {
323 margin: 0 0 @padding;
328 margin: 0 0 @padding;
324 padding:.5em;
329 padding:.5em;
325 background-color: @grey6;
330 background-color: @grey6;
326 &.pre-formatting {
331 &.pre-formatting {
327 white-space: pre;
332 white-space: pre;
328 }
333 }
329 }
334 }
330 }
335 }
331
336
332 ul.auth_plugins {
337 ul.auth_plugins {
333 margin: @padding 0 @padding @legend-width;
338 margin: @padding 0 @padding @legend-width;
334 padding: 0;
339 padding: 0;
335
340
336 li {
341 li {
337 margin-bottom: @padding;
342 margin-bottom: @padding;
338 line-height: 1em;
343 line-height: 1em;
339 list-style-type: none;
344 list-style-type: none;
340
345
341 .auth_buttons .btn {
346 .auth_buttons .btn {
342 margin-right: @padding;
347 margin-right: @padding;
343 }
348 }
344
349
345 }
350 }
346 }
351 }
347
352
348
353
349 // My Account PR list
354 // My Account PR list
350
355
351 #show_closed {
356 #show_closed {
352 margin: 0 1em 0 0;
357 margin: 0 1em 0 0;
353 }
358 }
354
359
355 #pull_request_list_table {
360 #pull_request_list_table {
356 .closed {
361 .closed {
357 background-color: @grey6;
362 background-color: @grey6;
358 }
363 }
359
364
360 .state-creating,
365 .state-creating,
361 .state-updating,
366 .state-updating,
362 .state-merging
367 .state-merging
363 {
368 {
364 background-color: @grey6;
369 background-color: @grey6;
365 }
370 }
366
371
367 .td-status {
372 .td-status {
368 padding-left: .5em;
373 padding-left: .5em;
369 }
374 }
370 .log-container .truncate {
375 .log-container .truncate {
371 height: 2.75em;
376 height: 2.75em;
372 white-space: pre-line;
377 white-space: pre-line;
373 }
378 }
374 table.rctable .user {
379 table.rctable .user {
375 padding-left: 0;
380 padding-left: 0;
376 }
381 }
377 table.rctable {
382 table.rctable {
378 td.td-description,
383 td.td-description,
379 .rc-user {
384 .rc-user {
380 min-width: auto;
385 min-width: auto;
381 }
386 }
382 }
387 }
383 }
388 }
384
389
385 // Pull Requests
390 // Pull Requests
386
391
387 .pullrequests_section_head {
392 .pullrequests_section_head {
388 display: block;
393 display: block;
389 clear: both;
394 clear: both;
390 margin: @padding 0;
395 margin: @padding 0;
391 font-weight: @text-bold-weight;
396 font-weight: @text-bold-weight;
392 font-family: @text-bold;
397 font-family: @text-bold;
393 }
398 }
394
399
395 .pr-commit-flow {
400 .pr-commit-flow {
396 position: relative;
401 position: relative;
397 font-weight: 600;
402 font-weight: 600;
398
403
399 .tag {
404 .tag {
400 display: inline-block;
405 display: inline-block;
401 margin: 0 1em .5em 0;
406 margin: 0 1em .5em 0;
402 }
407 }
403
408
404 .clone-url {
409 .clone-url {
405 display: inline-block;
410 display: inline-block;
406 margin: 0 0 .5em 0;
411 margin: 0 0 .5em 0;
407 padding: 0;
412 padding: 0;
408 line-height: 1.2em;
413 line-height: 1.2em;
409 }
414 }
410 }
415 }
411
416
412 .pr-mergeinfo {
417 .pr-mergeinfo {
413 min-width: 95% !important;
418 min-width: 95% !important;
414 padding: 0 !important;
419 padding: 0 !important;
415 border: 0;
420 border: 0;
416 }
421 }
417 .pr-mergeinfo-copy {
422 .pr-mergeinfo-copy {
418 padding: 0 0;
423 padding: 0 0;
419 }
424 }
420
425
421 .pr-pullinfo {
426 .pr-pullinfo {
422 min-width: 95% !important;
427 min-width: 95% !important;
423 padding: 0 !important;
428 padding: 0 !important;
424 border: 0;
429 border: 0;
425 }
430 }
426 .pr-pullinfo-copy {
431 .pr-pullinfo-copy {
427 padding: 0 0;
432 padding: 0 0;
428 }
433 }
429
434
430 .pr-title-input {
435 .pr-title-input {
431 width: 100%;
436 width: 100%;
432 font-size: 18px;
437 font-size: 18px;
433 margin: 0 0 4px 0;
438 margin: 0 0 4px 0;
434 padding: 0;
439 padding: 0;
435 line-height: 1.7em;
440 line-height: 1.7em;
436 color: @text-color;
441 color: @text-color;
437 letter-spacing: .02em;
442 letter-spacing: .02em;
438 font-weight: @text-bold-weight;
443 font-weight: @text-bold-weight;
439 font-family: @text-bold;
444 font-family: @text-bold;
440
445
441 &:hover {
446 &:hover {
442 box-shadow: none;
447 box-shadow: none;
443 }
448 }
444 }
449 }
445
450
446 #pr-title {
451 #pr-title {
447 input {
452 input {
448 border: 1px transparent;
453 border: 1px transparent;
449 color: black;
454 color: black;
450 opacity: 1;
455 opacity: 1;
451 background: #fff;
456 background: #fff;
452 font-size: 18px;
457 font-size: 18px;
453 }
458 }
454 }
459 }
455
460
456 .pr-title-closed-tag {
461 .pr-title-closed-tag {
457 font-size: 16px;
462 font-size: 16px;
458 }
463 }
459
464
460 #pr-desc {
465 #pr-desc {
461 padding: 10px 0;
466 padding: 10px 0;
462
467
463 .markdown-block {
468 .markdown-block {
464 padding: 0;
469 padding: 0;
465 margin-bottom: -30px;
470 margin-bottom: -30px;
466 }
471 }
467 }
472 }
468
473
469 #pullrequest_title {
474 #pullrequest_title {
470 width: 100%;
475 width: 100%;
471 box-sizing: border-box;
476 box-sizing: border-box;
472 }
477 }
473
478
474 #pr_open_message {
479 #pr_open_message {
475 border: @border-thickness solid #fff;
480 border: @border-thickness solid #fff;
476 border-radius: @border-radius;
481 border-radius: @border-radius;
477 text-align: left;
482 text-align: left;
478 overflow: hidden;
483 overflow: hidden;
479 white-space: pre-line;
484 white-space: pre-line;
480 }
485 }
481
486
482 .pr-details-title {
487 .pr-details-title {
483 height: 16px
488 height: 16px
484 }
489 }
485
490
486 .pr-details-title-author-pref {
491 .pr-details-title-author-pref {
487 padding-right: 10px
492 padding-right: 10px
488 }
493 }
489
494
490 .label-pr-detail {
495 .label-pr-detail {
491 display: table-cell;
496 display: table-cell;
492 width: 120px;
497 width: 120px;
493 padding-top: 7.5px;
498 padding-top: 7.5px;
494 padding-bottom: 7.5px;
499 padding-bottom: 7.5px;
495 padding-right: 7.5px;
500 padding-right: 7.5px;
496 }
501 }
497
502
498 .source-details ul {
503 .source-details ul {
499 padding: 10px 16px;
504 padding: 10px 16px;
500 }
505 }
501
506
502 .source-details-action {
507 .source-details-action {
503 color: @grey4;
508 color: @grey4;
504 font-size: 11px
509 font-size: 11px
505 }
510 }
506
511
507 .pr-submit-button {
512 .pr-submit-button {
508 float: right;
513 float: right;
509 margin: 0 0 0 5px;
514 margin: 0 0 0 5px;
510 }
515 }
511
516
512 .pr-spacing-container {
517 .pr-spacing-container {
513 padding: 20px;
518 padding: 20px;
514 clear: both
519 clear: both
515 }
520 }
516
521
517 #pr-description-input {
522 #pr-description-input {
518 margin-bottom: 0;
523 margin-bottom: 0;
519 }
524 }
520
525
521 .pr-description-label {
526 .pr-description-label {
522 vertical-align: top;
527 vertical-align: top;
523 }
528 }
524
529
525 #open_edit_pullrequest {
530 #open_edit_pullrequest {
526 padding: 0;
531 padding: 0;
527 }
532 }
528
533
529 #close_edit_pullrequest {
534 #close_edit_pullrequest {
530
535
531 }
536 }
532
537
533 #delete_pullrequest {
538 #delete_pullrequest {
534 clear: inherit;
539 clear: inherit;
535
540
536 form {
541 form {
537 display: inline;
542 display: inline;
538 }
543 }
539
544
540 }
545 }
541
546
542 .perms_section_head {
547 .perms_section_head {
543 min-width: 625px;
548 min-width: 625px;
544
549
545 h2 {
550 h2 {
546 margin-bottom: 0;
551 margin-bottom: 0;
547 }
552 }
548
553
549 .label-checkbox {
554 .label-checkbox {
550 float: left;
555 float: left;
551 }
556 }
552
557
553 &.field {
558 &.field {
554 margin: @space 0 @padding;
559 margin: @space 0 @padding;
555 }
560 }
556
561
557 &:first-child.field {
562 &:first-child.field {
558 margin-top: 0;
563 margin-top: 0;
559
564
560 .label {
565 .label {
561 margin-top: 0;
566 margin-top: 0;
562 padding-top: 0;
567 padding-top: 0;
563 }
568 }
564
569
565 .radios {
570 .radios {
566 padding-top: 0;
571 padding-top: 0;
567 }
572 }
568 }
573 }
569
574
570 .radios {
575 .radios {
571 position: relative;
576 position: relative;
572 width: 505px;
577 width: 505px;
573 }
578 }
574 }
579 }
575
580
576 //--- MODULES ------------------//
581 //--- MODULES ------------------//
577
582
578
583
579 // Server Announcement
584 // Server Announcement
580 #server-announcement {
585 #server-announcement {
581 width: 95%;
586 width: 95%;
582 margin: @padding auto;
587 margin: @padding auto;
583 padding: @padding;
588 padding: @padding;
584 border-width: 2px;
589 border-width: 2px;
585 border-style: solid;
590 border-style: solid;
586 .border-radius(2px);
591 .border-radius(2px);
587 font-weight: @text-bold-weight;
592 font-weight: @text-bold-weight;
588 font-family: @text-bold;
593 font-family: @text-bold;
589
594
590 &.info { border-color: @alert4; background-color: @alert4-inner; }
595 &.info { border-color: @alert4; background-color: @alert4-inner; }
591 &.warning { border-color: @alert3; background-color: @alert3-inner; }
596 &.warning { border-color: @alert3; background-color: @alert3-inner; }
592 &.error { border-color: @alert2; background-color: @alert2-inner; }
597 &.error { border-color: @alert2; background-color: @alert2-inner; }
593 &.success { border-color: @alert1; background-color: @alert1-inner; }
598 &.success { border-color: @alert1; background-color: @alert1-inner; }
594 &.neutral { border-color: @grey3; background-color: @grey6; }
599 &.neutral { border-color: @grey3; background-color: @grey6; }
595 }
600 }
596
601
597 // Fixed Sidebar Column
602 // Fixed Sidebar Column
598 .sidebar-col-wrapper {
603 .sidebar-col-wrapper {
599 padding-left: @sidebar-all-width;
604 padding-left: @sidebar-all-width;
600
605
601 .sidebar {
606 .sidebar {
602 width: @sidebar-width;
607 width: @sidebar-width;
603 margin-left: -@sidebar-all-width;
608 margin-left: -@sidebar-all-width;
604 }
609 }
605 }
610 }
606
611
607 .sidebar-col-wrapper.scw-small {
612 .sidebar-col-wrapper.scw-small {
608 padding-left: @sidebar-small-all-width;
613 padding-left: @sidebar-small-all-width;
609
614
610 .sidebar {
615 .sidebar {
611 width: @sidebar-small-width;
616 width: @sidebar-small-width;
612 margin-left: -@sidebar-small-all-width;
617 margin-left: -@sidebar-small-all-width;
613 }
618 }
614 }
619 }
615
620
616
621
617 // FOOTER
622 // FOOTER
618 #footer {
623 #footer {
619 padding: 0;
624 padding: 0;
620 text-align: center;
625 text-align: center;
621 vertical-align: middle;
626 vertical-align: middle;
622 color: @grey2;
627 color: @grey2;
623 font-size: 11px;
628 font-size: 11px;
624
629
625 p {
630 p {
626 margin: 0;
631 margin: 0;
627 padding: 1em;
632 padding: 1em;
628 line-height: 1em;
633 line-height: 1em;
629 }
634 }
630
635
631 .server-instance { //server instance
636 .server-instance { //server instance
632 display: none;
637 display: none;
633 }
638 }
634
639
635 .title {
640 .title {
636 float: none;
641 float: none;
637 margin: 0 auto;
642 margin: 0 auto;
638 }
643 }
639 }
644 }
640
645
641 button.close {
646 button.close {
642 padding: 0;
647 padding: 0;
643 cursor: pointer;
648 cursor: pointer;
644 background: transparent;
649 background: transparent;
645 border: 0;
650 border: 0;
646 .box-shadow(none);
651 .box-shadow(none);
647 -webkit-appearance: none;
652 -webkit-appearance: none;
648 }
653 }
649
654
650 .close {
655 .close {
651 float: right;
656 float: right;
652 font-size: 21px;
657 font-size: 21px;
653 font-family: @text-bootstrap;
658 font-family: @text-bootstrap;
654 line-height: 1em;
659 line-height: 1em;
655 font-weight: bold;
660 font-weight: bold;
656 color: @grey2;
661 color: @grey2;
657
662
658 &:hover,
663 &:hover,
659 &:focus {
664 &:focus {
660 color: @grey1;
665 color: @grey1;
661 text-decoration: none;
666 text-decoration: none;
662 cursor: pointer;
667 cursor: pointer;
663 }
668 }
664 }
669 }
665
670
666 // GRID
671 // GRID
667 .sorting,
672 .sorting,
668 .sorting_desc,
673 .sorting_desc,
669 .sorting_asc {
674 .sorting_asc {
670 cursor: pointer;
675 cursor: pointer;
671 }
676 }
672 .sorting_desc:after {
677 .sorting_desc:after {
673 content: "\00A0\25B2";
678 content: "\00A0\25B2";
674 font-size: .75em;
679 font-size: .75em;
675 }
680 }
676 .sorting_asc:after {
681 .sorting_asc:after {
677 content: "\00A0\25BC";
682 content: "\00A0\25BC";
678 font-size: .68em;
683 font-size: .68em;
679 }
684 }
680
685
681
686
682 .user_auth_tokens {
687 .user_auth_tokens {
683
688
684 &.truncate {
689 &.truncate {
685 white-space: nowrap;
690 white-space: nowrap;
686 overflow: hidden;
691 overflow: hidden;
687 text-overflow: ellipsis;
692 text-overflow: ellipsis;
688 }
693 }
689
694
690 .fields .field .input {
695 .fields .field .input {
691 margin: 0;
696 margin: 0;
692 }
697 }
693
698
694 input#description {
699 input#description {
695 width: 100px;
700 width: 100px;
696 margin: 0;
701 margin: 0;
697 }
702 }
698
703
699 .drop-menu {
704 .drop-menu {
700 // TODO: johbo: Remove this, should work out of the box when
705 // TODO: johbo: Remove this, should work out of the box when
701 // having multiple inputs inline
706 // having multiple inputs inline
702 margin: 0 0 0 5px;
707 margin: 0 0 0 5px;
703 }
708 }
704 }
709 }
705 #user_list_table {
710 #user_list_table {
706 .closed {
711 .closed {
707 background-color: @grey6;
712 background-color: @grey6;
708 }
713 }
709 }
714 }
710
715
711
716
712 input, textarea {
717 input, textarea {
713 &.disabled {
718 &.disabled {
714 opacity: .5;
719 opacity: .5;
715 }
720 }
716
721
717 &:hover {
722 &:hover {
718 border-color: @grey3;
723 border-color: @grey3;
719 box-shadow: @button-shadow;
724 box-shadow: @button-shadow;
720 }
725 }
721
726
722 &:focus {
727 &:focus {
723 border-color: @rcblue;
728 border-color: @rcblue;
724 box-shadow: @button-shadow;
729 box-shadow: @button-shadow;
725 }
730 }
726 }
731 }
727
732
728 // remove extra padding in firefox
733 // remove extra padding in firefox
729 input::-moz-focus-inner { border:0; padding:0 }
734 input::-moz-focus-inner { border:0; padding:0 }
730
735
731 .adjacent input {
736 .adjacent input {
732 margin-bottom: @padding;
737 margin-bottom: @padding;
733 }
738 }
734
739
735 .permissions_boxes {
740 .permissions_boxes {
736 display: block;
741 display: block;
737 }
742 }
738
743
739 //FORMS
744 //FORMS
740
745
741 .medium-inline,
746 .medium-inline,
742 input#description.medium-inline {
747 input#description.medium-inline {
743 display: inline;
748 display: inline;
744 width: @medium-inline-input-width;
749 width: @medium-inline-input-width;
745 min-width: 100px;
750 min-width: 100px;
746 }
751 }
747
752
748 select {
753 select {
749 //reset
754 //reset
750 -webkit-appearance: none;
755 -webkit-appearance: none;
751 -moz-appearance: none;
756 -moz-appearance: none;
752
757
753 display: inline-block;
758 display: inline-block;
754 height: 28px;
759 height: 28px;
755 width: auto;
760 width: auto;
756 margin: 0 @padding @padding 0;
761 margin: 0 @padding @padding 0;
757 padding: 0 18px 0 8px;
762 padding: 0 18px 0 8px;
758 line-height:1em;
763 line-height:1em;
759 font-size: @basefontsize;
764 font-size: @basefontsize;
760 border: @border-thickness solid @grey5;
765 border: @border-thickness solid @grey5;
761 border-radius: @border-radius;
766 border-radius: @border-radius;
762 background:white url("../images/dt-arrow-dn.png") no-repeat 100% 50%;
767 background:white url("../images/dt-arrow-dn.png") no-repeat 100% 50%;
763 color: @grey4;
768 color: @grey4;
764 box-shadow: @button-shadow;
769 box-shadow: @button-shadow;
765
770
766 &:after {
771 &:after {
767 content: "\00A0\25BE";
772 content: "\00A0\25BE";
768 }
773 }
769
774
770 &:focus, &:hover {
775 &:focus, &:hover {
771 outline: none;
776 outline: none;
772 border-color: @grey4;
777 border-color: @grey4;
773 color: @rcdarkblue;
778 color: @rcdarkblue;
774 }
779 }
775 }
780 }
776
781
777 option {
782 option {
778 &:focus {
783 &:focus {
779 outline: none;
784 outline: none;
780 }
785 }
781 }
786 }
782
787
783 input,
788 input,
784 textarea {
789 textarea {
785 padding: @input-padding;
790 padding: @input-padding;
786 border: @input-border-thickness solid @border-highlight-color;
791 border: @input-border-thickness solid @border-highlight-color;
787 .border-radius (@border-radius);
792 .border-radius (@border-radius);
788 font-family: @text-light;
793 font-family: @text-light;
789 font-size: @basefontsize;
794 font-size: @basefontsize;
790
795
791 &.input-sm {
796 &.input-sm {
792 padding: 5px;
797 padding: 5px;
793 }
798 }
794
799
795 &#description {
800 &#description {
796 min-width: @input-description-minwidth;
801 min-width: @input-description-minwidth;
797 min-height: 1em;
802 min-height: 1em;
798 padding: 10px;
803 padding: 10px;
799 }
804 }
800 }
805 }
801
806
802 .field-sm {
807 .field-sm {
803 input,
808 input,
804 textarea {
809 textarea {
805 padding: 5px;
810 padding: 5px;
806 }
811 }
807 }
812 }
808
813
809 textarea {
814 textarea {
810 display: block;
815 display: block;
811 clear: both;
816 clear: both;
812 width: 100%;
817 width: 100%;
813 min-height: 100px;
818 min-height: 100px;
814 margin-bottom: @padding;
819 margin-bottom: @padding;
815 .box-sizing(border-box);
820 .box-sizing(border-box);
816 overflow: auto;
821 overflow: auto;
817 }
822 }
818
823
819 label {
824 label {
820 font-family: @text-light;
825 font-family: @text-light;
821 }
826 }
822
827
823 // GRAVATARS
828 // GRAVATARS
824 // centers gravatar on username to the right
829 // centers gravatar on username to the right
825
830
826 .gravatar {
831 .gravatar {
827 display: inline;
832 display: inline;
828 min-width: 16px;
833 min-width: 16px;
829 min-height: 16px;
834 min-height: 16px;
830 margin: -5px 0;
835 margin: -5px 0;
831 padding: 0;
836 padding: 0;
832 line-height: 1em;
837 line-height: 1em;
833 box-sizing: content-box;
838 box-sizing: content-box;
834 border-radius: 50%;
839 border-radius: 50%;
835
840
836 &.gravatar-large {
841 &.gravatar-large {
837 margin: -0.5em .25em -0.5em 0;
842 margin: -0.5em .25em -0.5em 0;
838 }
843 }
839
844
840 & + .user {
845 & + .user {
841 display: inline;
846 display: inline;
842 margin: 0;
847 margin: 0;
843 padding: 0 0 0 .17em;
848 padding: 0 0 0 .17em;
844 line-height: 1em;
849 line-height: 1em;
845 }
850 }
846
851
847 & + .no-margin {
852 & + .no-margin {
848 margin: 0
853 margin: 0
849 }
854 }
850
855
851 }
856 }
852
857
853 .user-inline-data {
858 .user-inline-data {
854 display: inline-block;
859 display: inline-block;
855 float: left;
860 float: left;
856 padding-left: .5em;
861 padding-left: .5em;
857 line-height: 1.3em;
862 line-height: 1.3em;
858 }
863 }
859
864
860 .rc-user { // gravatar + user wrapper
865 .rc-user { // gravatar + user wrapper
861 float: left;
866 float: left;
862 position: relative;
867 position: relative;
863 min-width: 100px;
868 min-width: 100px;
864 max-width: 200px;
869 max-width: 200px;
865 min-height: (@gravatar-size + @border-thickness * 2); // account for border
870 min-height: (@gravatar-size + @border-thickness * 2); // account for border
866 display: block;
871 display: block;
867 padding: 0 0 0 (@gravatar-size + @basefontsize/4);
872 padding: 0 0 0 (@gravatar-size + @basefontsize/4);
868
873
869
874
870 .gravatar {
875 .gravatar {
871 display: block;
876 display: block;
872 position: absolute;
877 position: absolute;
873 top: 0;
878 top: 0;
874 left: 0;
879 left: 0;
875 min-width: @gravatar-size;
880 min-width: @gravatar-size;
876 min-height: @gravatar-size;
881 min-height: @gravatar-size;
877 margin: 0;
882 margin: 0;
878 }
883 }
879
884
880 .user {
885 .user {
881 display: block;
886 display: block;
882 max-width: 175px;
887 max-width: 175px;
883 padding-top: 2px;
888 padding-top: 2px;
884 overflow: hidden;
889 overflow: hidden;
885 text-overflow: ellipsis;
890 text-overflow: ellipsis;
886 }
891 }
887 }
892 }
888
893
889 .gist-gravatar,
894 .gist-gravatar,
890 .journal_container {
895 .journal_container {
891 .gravatar-large {
896 .gravatar-large {
892 margin: 0 .5em -10px 0;
897 margin: 0 .5em -10px 0;
893 }
898 }
894 }
899 }
895
900
896 .gist-type-fields {
901 .gist-type-fields {
897 line-height: 30px;
902 line-height: 30px;
898 height: 30px;
903 height: 30px;
899
904
900 .gist-type-fields-wrapper {
905 .gist-type-fields-wrapper {
901 vertical-align: middle;
906 vertical-align: middle;
902 display: inline-block;
907 display: inline-block;
903 line-height: 25px;
908 line-height: 25px;
904 }
909 }
905 }
910 }
906
911
907 // ADMIN SETTINGS
912 // ADMIN SETTINGS
908
913
909 // Tag Patterns
914 // Tag Patterns
910 .tag_patterns {
915 .tag_patterns {
911 .tag_input {
916 .tag_input {
912 margin-bottom: @padding;
917 margin-bottom: @padding;
913 }
918 }
914 }
919 }
915
920
916 .locked_input {
921 .locked_input {
917 position: relative;
922 position: relative;
918
923
919 input {
924 input {
920 display: inline;
925 display: inline;
921 margin: 3px 5px 0px 0px;
926 margin: 3px 5px 0px 0px;
922 }
927 }
923
928
924 br {
929 br {
925 display: none;
930 display: none;
926 }
931 }
927
932
928 .error-message {
933 .error-message {
929 float: left;
934 float: left;
930 width: 100%;
935 width: 100%;
931 }
936 }
932
937
933 .lock_input_button {
938 .lock_input_button {
934 display: inline;
939 display: inline;
935 }
940 }
936
941
937 .help-block {
942 .help-block {
938 clear: both;
943 clear: both;
939 }
944 }
940 }
945 }
941
946
942 // Notifications
947 // Notifications
943
948
944 .notifications_buttons {
949 .notifications_buttons {
945 margin: 0 0 @space 0;
950 margin: 0 0 @space 0;
946 padding: 0;
951 padding: 0;
947
952
948 .btn {
953 .btn {
949 display: inline-block;
954 display: inline-block;
950 }
955 }
951 }
956 }
952
957
953 .notification-list {
958 .notification-list {
954
959
955 div {
960 div {
956 vertical-align: middle;
961 vertical-align: middle;
957 }
962 }
958
963
959 .container {
964 .container {
960 display: block;
965 display: block;
961 margin: 0 0 @padding 0;
966 margin: 0 0 @padding 0;
962 }
967 }
963
968
964 .delete-notifications {
969 .delete-notifications {
965 margin-left: @padding;
970 margin-left: @padding;
966 text-align: right;
971 text-align: right;
967 cursor: pointer;
972 cursor: pointer;
968 }
973 }
969
974
970 .read-notifications {
975 .read-notifications {
971 margin-left: @padding/2;
976 margin-left: @padding/2;
972 text-align: right;
977 text-align: right;
973 width: 35px;
978 width: 35px;
974 cursor: pointer;
979 cursor: pointer;
975 }
980 }
976
981
977 .icon-minus-sign {
982 .icon-minus-sign {
978 color: @alert2;
983 color: @alert2;
979 }
984 }
980
985
981 .icon-ok-sign {
986 .icon-ok-sign {
982 color: @alert1;
987 color: @alert1;
983 }
988 }
984 }
989 }
985
990
986 .user_settings {
991 .user_settings {
987 float: left;
992 float: left;
988 clear: both;
993 clear: both;
989 display: block;
994 display: block;
990 width: 100%;
995 width: 100%;
991
996
992 .gravatar_box {
997 .gravatar_box {
993 margin-bottom: @padding;
998 margin-bottom: @padding;
994
999
995 &:after {
1000 &:after {
996 content: " ";
1001 content: " ";
997 clear: both;
1002 clear: both;
998 width: 100%;
1003 width: 100%;
999 }
1004 }
1000 }
1005 }
1001
1006
1002 .fields .field {
1007 .fields .field {
1003 clear: both;
1008 clear: both;
1004 }
1009 }
1005 }
1010 }
1006
1011
1007 .advanced_settings {
1012 .advanced_settings {
1008 margin-bottom: @space;
1013 margin-bottom: @space;
1009
1014
1010 .help-block {
1015 .help-block {
1011 margin-left: 0;
1016 margin-left: 0;
1012 }
1017 }
1013
1018
1014 button + .help-block {
1019 button + .help-block {
1015 margin-top: @padding;
1020 margin-top: @padding;
1016 }
1021 }
1017 }
1022 }
1018
1023
1019 // admin settings radio buttons and labels
1024 // admin settings radio buttons and labels
1020 .label-2 {
1025 .label-2 {
1021 float: left;
1026 float: left;
1022 width: @label2-width;
1027 width: @label2-width;
1023
1028
1024 label {
1029 label {
1025 color: @grey1;
1030 color: @grey1;
1026 }
1031 }
1027 }
1032 }
1028 .checkboxes {
1033 .checkboxes {
1029 float: left;
1034 float: left;
1030 width: @checkboxes-width;
1035 width: @checkboxes-width;
1031 margin-bottom: @padding;
1036 margin-bottom: @padding;
1032
1037
1033 .checkbox {
1038 .checkbox {
1034 width: 100%;
1039 width: 100%;
1035
1040
1036 label {
1041 label {
1037 margin: 0;
1042 margin: 0;
1038 padding: 0;
1043 padding: 0;
1039 }
1044 }
1040 }
1045 }
1041
1046
1042 .checkbox + .checkbox {
1047 .checkbox + .checkbox {
1043 display: inline-block;
1048 display: inline-block;
1044 }
1049 }
1045
1050
1046 label {
1051 label {
1047 margin-right: 1em;
1052 margin-right: 1em;
1048 }
1053 }
1049 }
1054 }
1050
1055
1051 // CHANGELOG
1056 // CHANGELOG
1052 .container_header {
1057 .container_header {
1053 float: left;
1058 float: left;
1054 display: block;
1059 display: block;
1055 width: 100%;
1060 width: 100%;
1056 margin: @padding 0 @padding;
1061 margin: @padding 0 @padding;
1057
1062
1058 #filter_changelog {
1063 #filter_changelog {
1059 float: left;
1064 float: left;
1060 margin-right: @padding;
1065 margin-right: @padding;
1061 }
1066 }
1062
1067
1063 .breadcrumbs_light {
1068 .breadcrumbs_light {
1064 display: inline-block;
1069 display: inline-block;
1065 }
1070 }
1066 }
1071 }
1067
1072
1068 .info_box {
1073 .info_box {
1069 float: right;
1074 float: right;
1070 }
1075 }
1071
1076
1072
1077
1073
1078
1074 #graph_content{
1079 #graph_content{
1075
1080
1076 // adjust for table headers so that graph renders properly
1081 // adjust for table headers so that graph renders properly
1077 // #graph_nodes padding - table cell padding
1082 // #graph_nodes padding - table cell padding
1078 padding-top: (@space - (@basefontsize * 2.4));
1083 padding-top: (@space - (@basefontsize * 2.4));
1079
1084
1080 &.graph_full_width {
1085 &.graph_full_width {
1081 width: 100%;
1086 width: 100%;
1082 max-width: 100%;
1087 max-width: 100%;
1083 }
1088 }
1084 }
1089 }
1085
1090
1086 #graph {
1091 #graph {
1087
1092
1088 .pagination-left {
1093 .pagination-left {
1089 float: left;
1094 float: left;
1090 clear: both;
1095 clear: both;
1091 }
1096 }
1092
1097
1093 .log-container {
1098 .log-container {
1094 max-width: 345px;
1099 max-width: 345px;
1095
1100
1096 .message{
1101 .message{
1097 max-width: 340px;
1102 max-width: 340px;
1098 }
1103 }
1099 }
1104 }
1100
1105
1101 .graph-col-wrapper {
1106 .graph-col-wrapper {
1102
1107
1103 #graph_nodes {
1108 #graph_nodes {
1104 width: 100px;
1109 width: 100px;
1105 position: absolute;
1110 position: absolute;
1106 left: 70px;
1111 left: 70px;
1107 z-index: -1;
1112 z-index: -1;
1108 }
1113 }
1109 }
1114 }
1110
1115
1111 .load-more-commits {
1116 .load-more-commits {
1112 text-align: center;
1117 text-align: center;
1113 }
1118 }
1114 .load-more-commits:hover {
1119 .load-more-commits:hover {
1115 background-color: @grey7;
1120 background-color: @grey7;
1116 }
1121 }
1117 .load-more-commits {
1122 .load-more-commits {
1118 a {
1123 a {
1119 display: block;
1124 display: block;
1120 }
1125 }
1121 }
1126 }
1122 }
1127 }
1123
1128
1124 .obsolete-toggle {
1129 .obsolete-toggle {
1125 line-height: 30px;
1130 line-height: 30px;
1126 margin-left: -15px;
1131 margin-left: -15px;
1127 }
1132 }
1128
1133
1129 #rev_range_container, #rev_range_clear, #rev_range_more {
1134 #rev_range_container, #rev_range_clear, #rev_range_more {
1130 margin-top: -5px;
1135 margin-top: -5px;
1131 margin-bottom: -5px;
1136 margin-bottom: -5px;
1132 }
1137 }
1133
1138
1134 #filter_changelog {
1139 #filter_changelog {
1135 float: left;
1140 float: left;
1136 }
1141 }
1137
1142
1138
1143
1139 //--- THEME ------------------//
1144 //--- THEME ------------------//
1140
1145
1141 #logo {
1146 #logo {
1142 float: left;
1147 float: left;
1143 margin: 9px 0 0 0;
1148 margin: 9px 0 0 0;
1144
1149
1145 .header {
1150 .header {
1146 background-color: transparent;
1151 background-color: transparent;
1147 }
1152 }
1148
1153
1149 a {
1154 a {
1150 display: inline-block;
1155 display: inline-block;
1151 }
1156 }
1152
1157
1153 img {
1158 img {
1154 height:30px;
1159 height:30px;
1155 }
1160 }
1156 }
1161 }
1157
1162
1158 .logo-wrapper {
1163 .logo-wrapper {
1159 float:left;
1164 float:left;
1160 }
1165 }
1161
1166
1162 .branding {
1167 .branding {
1163 float: left;
1168 float: left;
1164 padding: 9px 2px;
1169 padding: 9px 2px;
1165 line-height: 1em;
1170 line-height: 1em;
1166 font-size: @navigation-fontsize;
1171 font-size: @navigation-fontsize;
1167
1172
1168 a {
1173 a {
1169 color: @grey5
1174 color: @grey5
1170 }
1175 }
1171 @media screen and (max-width: 1200px) {
1176 @media screen and (max-width: 1200px) {
1172 display: none;
1177 display: none;
1173 }
1178 }
1174 }
1179 }
1175
1180
1176 img {
1181 img {
1177 border: none;
1182 border: none;
1178 outline: none;
1183 outline: none;
1179 }
1184 }
1180 user-profile-header
1185 user-profile-header
1181 label {
1186 label {
1182
1187
1183 input[type="checkbox"] {
1188 input[type="checkbox"] {
1184 margin-right: 1em;
1189 margin-right: 1em;
1185 }
1190 }
1186 input[type="radio"] {
1191 input[type="radio"] {
1187 margin-right: 1em;
1192 margin-right: 1em;
1188 }
1193 }
1189 }
1194 }
1190
1195
1191 .review-status {
1196 .review-status {
1192 &.under_review {
1197 &.under_review {
1193 color: @alert3;
1198 color: @alert3;
1194 }
1199 }
1195 &.approved {
1200 &.approved {
1196 color: @alert1;
1201 color: @alert1;
1197 }
1202 }
1198 &.rejected,
1203 &.rejected,
1199 &.forced_closed{
1204 &.forced_closed{
1200 color: @alert2;
1205 color: @alert2;
1201 }
1206 }
1202 &.not_reviewed {
1207 &.not_reviewed {
1203 color: @grey5;
1208 color: @grey5;
1204 }
1209 }
1205 }
1210 }
1206
1211
1207 .review-status-under_review {
1212 .review-status-under_review {
1208 color: @alert3;
1213 color: @alert3;
1209 }
1214 }
1210 .status-tag-under_review {
1215 .status-tag-under_review {
1211 border-color: @alert3;
1216 border-color: @alert3;
1212 }
1217 }
1213
1218
1214 .review-status-approved {
1219 .review-status-approved {
1215 color: @alert1;
1220 color: @alert1;
1216 }
1221 }
1217 .status-tag-approved {
1222 .status-tag-approved {
1218 border-color: @alert1;
1223 border-color: @alert1;
1219 }
1224 }
1220
1225
1221 .review-status-rejected,
1226 .review-status-rejected,
1222 .review-status-forced_closed {
1227 .review-status-forced_closed {
1223 color: @alert2;
1228 color: @alert2;
1224 }
1229 }
1225 .status-tag-rejected,
1230 .status-tag-rejected,
1226 .status-tag-forced_closed {
1231 .status-tag-forced_closed {
1227 border-color: @alert2;
1232 border-color: @alert2;
1228 }
1233 }
1229
1234
1230 .review-status-not_reviewed {
1235 .review-status-not_reviewed {
1231 color: @grey5;
1236 color: @grey5;
1232 }
1237 }
1233 .status-tag-not_reviewed {
1238 .status-tag-not_reviewed {
1234 border-color: @grey5;
1239 border-color: @grey5;
1235 }
1240 }
1236
1241
1237 .test_pattern_preview {
1242 .test_pattern_preview {
1238 margin: @space 0;
1243 margin: @space 0;
1239
1244
1240 p {
1245 p {
1241 margin-bottom: 0;
1246 margin-bottom: 0;
1242 border-bottom: @border-thickness solid @border-default-color;
1247 border-bottom: @border-thickness solid @border-default-color;
1243 color: @grey3;
1248 color: @grey3;
1244 }
1249 }
1245
1250
1246 .btn {
1251 .btn {
1247 margin-bottom: @padding;
1252 margin-bottom: @padding;
1248 }
1253 }
1249 }
1254 }
1250 #test_pattern_result {
1255 #test_pattern_result {
1251 display: none;
1256 display: none;
1252 &:extend(pre);
1257 &:extend(pre);
1253 padding: .9em;
1258 padding: .9em;
1254 color: @grey3;
1259 color: @grey3;
1255 background-color: @grey7;
1260 background-color: @grey7;
1256 border-right: @border-thickness solid @border-default-color;
1261 border-right: @border-thickness solid @border-default-color;
1257 border-bottom: @border-thickness solid @border-default-color;
1262 border-bottom: @border-thickness solid @border-default-color;
1258 border-left: @border-thickness solid @border-default-color;
1263 border-left: @border-thickness solid @border-default-color;
1259 }
1264 }
1260
1265
1261 #repo_vcs_settings {
1266 #repo_vcs_settings {
1262 #inherit_overlay_vcs_default {
1267 #inherit_overlay_vcs_default {
1263 display: none;
1268 display: none;
1264 }
1269 }
1265 #inherit_overlay_vcs_custom {
1270 #inherit_overlay_vcs_custom {
1266 display: custom;
1271 display: custom;
1267 }
1272 }
1268 &.inherited {
1273 &.inherited {
1269 #inherit_overlay_vcs_default {
1274 #inherit_overlay_vcs_default {
1270 display: block;
1275 display: block;
1271 }
1276 }
1272 #inherit_overlay_vcs_custom {
1277 #inherit_overlay_vcs_custom {
1273 display: none;
1278 display: none;
1274 }
1279 }
1275 }
1280 }
1276 }
1281 }
1277
1282
1278 .issue-tracker-link {
1283 .issue-tracker-link {
1279 color: @rcblue;
1284 color: @rcblue;
1280 }
1285 }
1281
1286
1282 // Issue Tracker Table Show/Hide
1287 // Issue Tracker Table Show/Hide
1283 #repo_issue_tracker {
1288 #repo_issue_tracker {
1284 #inherit_overlay {
1289 #inherit_overlay {
1285 display: none;
1290 display: none;
1286 }
1291 }
1287 #custom_overlay {
1292 #custom_overlay {
1288 display: custom;
1293 display: custom;
1289 }
1294 }
1290 &.inherited {
1295 &.inherited {
1291 #inherit_overlay {
1296 #inherit_overlay {
1292 display: block;
1297 display: block;
1293 }
1298 }
1294 #custom_overlay {
1299 #custom_overlay {
1295 display: none;
1300 display: none;
1296 }
1301 }
1297 }
1302 }
1298 }
1303 }
1299 table.issuetracker {
1304 table.issuetracker {
1300 &.readonly {
1305 &.readonly {
1301 tr, td {
1306 tr, td {
1302 color: @grey3;
1307 color: @grey3;
1303 }
1308 }
1304 }
1309 }
1305 .edit {
1310 .edit {
1306 display: none;
1311 display: none;
1307 }
1312 }
1308 .editopen {
1313 .editopen {
1309 .edit {
1314 .edit {
1310 display: inline;
1315 display: inline;
1311 }
1316 }
1312 .entry {
1317 .entry {
1313 display: none;
1318 display: none;
1314 }
1319 }
1315 }
1320 }
1316 tr td.td-action {
1321 tr td.td-action {
1317 min-width: 117px;
1322 min-width: 117px;
1318 }
1323 }
1319 td input {
1324 td input {
1320 max-width: none;
1325 max-width: none;
1321 min-width: 30px;
1326 min-width: 30px;
1322 width: 80%;
1327 width: 80%;
1323 }
1328 }
1324 .issuetracker_pref input {
1329 .issuetracker_pref input {
1325 width: 40%;
1330 width: 40%;
1326 }
1331 }
1327 input.edit_issuetracker_update {
1332 input.edit_issuetracker_update {
1328 margin-right: 0;
1333 margin-right: 0;
1329 width: auto;
1334 width: auto;
1330 }
1335 }
1331 }
1336 }
1332
1337
1333 table.integrations {
1338 table.integrations {
1334 .td-icon {
1339 .td-icon {
1335 width: 20px;
1340 width: 20px;
1336 .integration-icon {
1341 .integration-icon {
1337 height: 20px;
1342 height: 20px;
1338 width: 20px;
1343 width: 20px;
1339 }
1344 }
1340 }
1345 }
1341 }
1346 }
1342
1347
1343 .integrations {
1348 .integrations {
1344 a.integration-box {
1349 a.integration-box {
1345 color: @text-color;
1350 color: @text-color;
1346 &:hover {
1351 &:hover {
1347 .panel {
1352 .panel {
1348 background: #fbfbfb;
1353 background: #fbfbfb;
1349 }
1354 }
1350 }
1355 }
1351 .integration-icon {
1356 .integration-icon {
1352 width: 30px;
1357 width: 30px;
1353 height: 30px;
1358 height: 30px;
1354 margin-right: 20px;
1359 margin-right: 20px;
1355 float: left;
1360 float: left;
1356 }
1361 }
1357
1362
1358 .panel-body {
1363 .panel-body {
1359 padding: 10px;
1364 padding: 10px;
1360 }
1365 }
1361 .panel {
1366 .panel {
1362 margin-bottom: 10px;
1367 margin-bottom: 10px;
1363 }
1368 }
1364 h2 {
1369 h2 {
1365 display: inline-block;
1370 display: inline-block;
1366 margin: 0;
1371 margin: 0;
1367 min-width: 140px;
1372 min-width: 140px;
1368 }
1373 }
1369 }
1374 }
1370 a.integration-box.dummy-integration {
1375 a.integration-box.dummy-integration {
1371 color: @grey4
1376 color: @grey4
1372 }
1377 }
1373 }
1378 }
1374
1379
1375 //Permissions Settings
1380 //Permissions Settings
1376 #add_perm {
1381 #add_perm {
1377 margin: 0 0 @padding;
1382 margin: 0 0 @padding;
1378 cursor: pointer;
1383 cursor: pointer;
1379 }
1384 }
1380
1385
1381 .perm_ac {
1386 .perm_ac {
1382 input {
1387 input {
1383 width: 95%;
1388 width: 95%;
1384 }
1389 }
1385 }
1390 }
1386
1391
1387 .autocomplete-suggestions {
1392 .autocomplete-suggestions {
1388 width: auto !important; // overrides autocomplete.js
1393 width: auto !important; // overrides autocomplete.js
1389 min-width: 278px;
1394 min-width: 278px;
1390 margin: 0;
1395 margin: 0;
1391 border: @border-thickness solid @grey5;
1396 border: @border-thickness solid @grey5;
1392 border-radius: @border-radius;
1397 border-radius: @border-radius;
1393 color: @grey2;
1398 color: @grey2;
1394 background-color: white;
1399 background-color: white;
1395 }
1400 }
1396
1401
1397 .autocomplete-qfilter-suggestions {
1402 .autocomplete-qfilter-suggestions {
1398 width: auto !important; // overrides autocomplete.js
1403 width: auto !important; // overrides autocomplete.js
1399 max-height: 100% !important;
1404 max-height: 100% !important;
1400 min-width: 376px;
1405 min-width: 376px;
1401 margin: 0;
1406 margin: 0;
1402 border: @border-thickness solid @grey5;
1407 border: @border-thickness solid @grey5;
1403 color: @grey2;
1408 color: @grey2;
1404 background-color: white;
1409 background-color: white;
1405 }
1410 }
1406
1411
1407 .autocomplete-selected {
1412 .autocomplete-selected {
1408 background: #F0F0F0;
1413 background: #F0F0F0;
1409 }
1414 }
1410
1415
1411 .ac-container-wrap {
1416 .ac-container-wrap {
1412 margin: 0;
1417 margin: 0;
1413 padding: 8px;
1418 padding: 8px;
1414 border-bottom: @border-thickness solid @grey5;
1419 border-bottom: @border-thickness solid @grey5;
1415 list-style-type: none;
1420 list-style-type: none;
1416 cursor: pointer;
1421 cursor: pointer;
1417
1422
1418 &:hover {
1423 &:hover {
1419 background-color: @grey7;
1424 background-color: @grey7;
1420 }
1425 }
1421
1426
1422 img {
1427 img {
1423 height: @gravatar-size;
1428 height: @gravatar-size;
1424 width: @gravatar-size;
1429 width: @gravatar-size;
1425 margin-right: 1em;
1430 margin-right: 1em;
1426 }
1431 }
1427
1432
1428 strong {
1433 strong {
1429 font-weight: normal;
1434 font-weight: normal;
1430 }
1435 }
1431 }
1436 }
1432
1437
1433 // Settings Dropdown
1438 // Settings Dropdown
1434 .user-menu .container {
1439 .user-menu .container {
1435 padding: 0 4px;
1440 padding: 0 4px;
1436 margin: 0;
1441 margin: 0;
1437 }
1442 }
1438
1443
1439 .user-menu .gravatar {
1444 .user-menu .gravatar {
1440 cursor: pointer;
1445 cursor: pointer;
1441 }
1446 }
1442
1447
1443 .codeblock {
1448 .codeblock {
1444 margin-bottom: @padding;
1449 margin-bottom: @padding;
1445 clear: both;
1450 clear: both;
1446
1451
1447 .stats {
1452 .stats {
1448 overflow: hidden;
1453 overflow: hidden;
1449 }
1454 }
1450
1455
1451 .message{
1456 .message{
1452 textarea{
1457 textarea{
1453 margin: 0;
1458 margin: 0;
1454 }
1459 }
1455 }
1460 }
1456
1461
1457 .code-header {
1462 .code-header {
1458 .stats {
1463 .stats {
1459 line-height: 2em;
1464 line-height: 2em;
1460
1465
1461 .revision_id {
1466 .revision_id {
1462 margin-left: 0;
1467 margin-left: 0;
1463 }
1468 }
1464 .buttons {
1469 .buttons {
1465 padding-right: 0;
1470 padding-right: 0;
1466 }
1471 }
1467 }
1472 }
1468
1473
1469 .item{
1474 .item{
1470 margin-right: 0.5em;
1475 margin-right: 0.5em;
1471 }
1476 }
1472 }
1477 }
1473
1478
1474 #editor_container {
1479 #editor_container {
1475 position: relative;
1480 position: relative;
1476 margin: @padding 10px;
1481 margin: @padding 10px;
1477 }
1482 }
1478 }
1483 }
1479
1484
1480 #file_history_container {
1485 #file_history_container {
1481 display: none;
1486 display: none;
1482 }
1487 }
1483
1488
1484 .file-history-inner {
1489 .file-history-inner {
1485 margin-bottom: 10px;
1490 margin-bottom: 10px;
1486 }
1491 }
1487
1492
1488 // Pull Requests
1493 // Pull Requests
1489 .summary-details {
1494 .summary-details {
1490 width: 72%;
1495 width: 72%;
1491 }
1496 }
1492 .pr-summary {
1497 .pr-summary {
1493 border-bottom: @border-thickness solid @grey5;
1498 border-bottom: @border-thickness solid @grey5;
1494 margin-bottom: @space;
1499 margin-bottom: @space;
1495 }
1500 }
1496
1501
1497 .reviewers-title {
1502 .reviewers-title {
1498 width: 25%;
1503 width: 25%;
1499 min-width: 200px;
1504 min-width: 200px;
1500
1505
1501 &.first-panel {
1506 &.first-panel {
1502 margin-top: 34px;
1507 margin-top: 34px;
1503 }
1508 }
1504 }
1509 }
1505
1510
1506 .reviewers {
1511 .reviewers {
1507 width: 25%;
1512 width: 25%;
1508 min-width: 200px;
1513 min-width: 200px;
1509 }
1514 }
1510 .reviewers ul li {
1515 .reviewers ul li {
1511 position: relative;
1516 position: relative;
1512 width: 100%;
1517 width: 100%;
1513 padding-bottom: 8px;
1518 padding-bottom: 8px;
1514 list-style-type: none;
1519 list-style-type: none;
1515 }
1520 }
1516
1521
1517 .reviewer_entry {
1522 .reviewer_entry {
1518 min-height: 55px;
1523 min-height: 55px;
1519 }
1524 }
1520
1525
1521 .reviewers_member {
1526 .reviewers_member {
1522 width: 100%;
1527 width: 100%;
1523 overflow: auto;
1528 overflow: auto;
1524 }
1529 }
1525 .reviewer_reason {
1530 .reviewer_reason {
1526 padding-left: 20px;
1531 padding-left: 20px;
1527 line-height: 1.5em;
1532 line-height: 1.5em;
1528 }
1533 }
1529 .reviewer_status {
1534 .reviewer_status {
1530 display: inline-block;
1535 display: inline-block;
1531 width: 25px;
1536 width: 25px;
1532 min-width: 25px;
1537 min-width: 25px;
1533 height: 1.2em;
1538 height: 1.2em;
1534 line-height: 1em;
1539 line-height: 1em;
1535 }
1540 }
1536
1541
1537 .reviewer_name {
1542 .reviewer_name {
1538 display: inline-block;
1543 display: inline-block;
1539 max-width: 83%;
1544 max-width: 83%;
1540 padding-right: 20px;
1545 padding-right: 20px;
1541 vertical-align: middle;
1546 vertical-align: middle;
1542 line-height: 1;
1547 line-height: 1;
1543
1548
1544 .rc-user {
1549 .rc-user {
1545 min-width: 0;
1550 min-width: 0;
1546 margin: -2px 1em 0 0;
1551 margin: -2px 1em 0 0;
1547 }
1552 }
1548
1553
1549 .reviewer {
1554 .reviewer {
1550 float: left;
1555 float: left;
1551 }
1556 }
1552 }
1557 }
1553
1558
1554 .reviewer_member_mandatory {
1559 .reviewer_member_mandatory {
1555 position: absolute;
1560 position: absolute;
1556 left: 15px;
1561 left: 15px;
1557 top: 8px;
1562 top: 8px;
1558 width: 16px;
1563 width: 16px;
1559 font-size: 11px;
1564 font-size: 11px;
1560 margin: 0;
1565 margin: 0;
1561 padding: 0;
1566 padding: 0;
1562 color: black;
1567 color: black;
1563 }
1568 }
1564
1569
1565 .reviewer_member_mandatory_remove,
1570 .reviewer_member_mandatory_remove,
1566 .reviewer_member_remove {
1571 .reviewer_member_remove {
1567 position: absolute;
1572 position: absolute;
1568 right: 0;
1573 right: 0;
1569 top: 0;
1574 top: 0;
1570 width: 16px;
1575 width: 16px;
1571 margin-bottom: 10px;
1576 margin-bottom: 10px;
1572 padding: 0;
1577 padding: 0;
1573 color: black;
1578 color: black;
1574 }
1579 }
1575
1580
1576 .reviewer_member_mandatory_remove {
1581 .reviewer_member_mandatory_remove {
1577 color: @grey4;
1582 color: @grey4;
1578 }
1583 }
1579
1584
1580 .reviewer_member_status {
1585 .reviewer_member_status {
1581 margin-top: 5px;
1586 margin-top: 5px;
1582 }
1587 }
1583 .pr-summary #summary{
1588 .pr-summary #summary{
1584 width: 100%;
1589 width: 100%;
1585 }
1590 }
1586 .pr-summary .action_button:hover {
1591 .pr-summary .action_button:hover {
1587 border: 0;
1592 border: 0;
1588 cursor: pointer;
1593 cursor: pointer;
1589 }
1594 }
1590 .pr-details-title {
1595 .pr-details-title {
1591 padding-bottom: 8px;
1596 padding-bottom: 8px;
1592 border-bottom: @border-thickness solid @grey5;
1597 border-bottom: @border-thickness solid @grey5;
1593
1598
1594 .action_button.disabled {
1599 .action_button.disabled {
1595 color: @grey4;
1600 color: @grey4;
1596 cursor: inherit;
1601 cursor: inherit;
1597 }
1602 }
1598 .action_button {
1603 .action_button {
1599 color: @rcblue;
1604 color: @rcblue;
1600 }
1605 }
1601 }
1606 }
1602 .pr-details-content {
1607 .pr-details-content {
1603 margin-top: @textmargin - 5;
1608 margin-top: @textmargin - 5;
1604 margin-bottom: @textmargin - 5;
1609 margin-bottom: @textmargin - 5;
1605 }
1610 }
1606
1611
1607 .pr-reviewer-rules {
1612 .pr-reviewer-rules {
1608 padding: 10px 0px 20px 0px;
1613 padding: 10px 0px 20px 0px;
1609 }
1614 }
1610
1615
1611 .todo-resolved {
1616 .todo-resolved {
1612 text-decoration: line-through;
1617 text-decoration: line-through;
1613 }
1618 }
1614
1619
1615 .todo-table {
1620 .todo-table {
1616 width: 100%;
1621 width: 100%;
1617
1622
1618 td {
1623 td {
1619 padding: 5px 0px;
1624 padding: 5px 0px;
1620 }
1625 }
1621
1626
1622 .td-todo-number {
1627 .td-todo-number {
1623 text-align: left;
1628 text-align: left;
1624 white-space: nowrap;
1629 white-space: nowrap;
1625 width: 15%;
1630 width: 15%;
1626 }
1631 }
1627
1632
1628 .td-todo-gravatar {
1633 .td-todo-gravatar {
1629 width: 5%;
1634 width: 5%;
1630
1635
1631 img {
1636 img {
1632 margin: -3px 0;
1637 margin: -3px 0;
1633 }
1638 }
1634 }
1639 }
1635
1640
1636 }
1641 }
1637
1642
1638 .todo-comment-text-wrapper {
1643 .todo-comment-text-wrapper {
1639 display: inline-grid;
1644 display: inline-grid;
1640 }
1645 }
1641
1646
1642 .todo-comment-text {
1647 .todo-comment-text {
1643 margin-left: 5px;
1648 margin-left: 5px;
1644 white-space: nowrap;
1649 white-space: nowrap;
1645 overflow: hidden;
1650 overflow: hidden;
1646 text-overflow: ellipsis;
1651 text-overflow: ellipsis;
1647 }
1652 }
1648
1653
1649 .group_members {
1654 .group_members {
1650 margin-top: 0;
1655 margin-top: 0;
1651 padding: 0;
1656 padding: 0;
1652 list-style: outside none none;
1657 list-style: outside none none;
1653
1658
1654 img {
1659 img {
1655 height: @gravatar-size;
1660 height: @gravatar-size;
1656 width: @gravatar-size;
1661 width: @gravatar-size;
1657 margin-right: .5em;
1662 margin-right: .5em;
1658 margin-left: 3px;
1663 margin-left: 3px;
1659 }
1664 }
1660
1665
1661 .to-delete {
1666 .to-delete {
1662 .user {
1667 .user {
1663 text-decoration: line-through;
1668 text-decoration: line-through;
1664 }
1669 }
1665 }
1670 }
1666 }
1671 }
1667
1672
1668 .compare_view_commits_title {
1673 .compare_view_commits_title {
1669 .disabled {
1674 .disabled {
1670 cursor: inherit;
1675 cursor: inherit;
1671 &:hover{
1676 &:hover{
1672 background-color: inherit;
1677 background-color: inherit;
1673 color: inherit;
1678 color: inherit;
1674 }
1679 }
1675 }
1680 }
1676 }
1681 }
1677
1682
1678 .subtitle-compare {
1683 .subtitle-compare {
1679 margin: -15px 0px 0px 0px;
1684 margin: -15px 0px 0px 0px;
1680 }
1685 }
1681
1686
1682 // new entry in group_members
1687 // new entry in group_members
1683 .td-author-new-entry {
1688 .td-author-new-entry {
1684 background-color: rgba(red(@alert1), green(@alert1), blue(@alert1), 0.3);
1689 background-color: rgba(red(@alert1), green(@alert1), blue(@alert1), 0.3);
1685 }
1690 }
1686
1691
1687 .usergroup_member_remove {
1692 .usergroup_member_remove {
1688 width: 16px;
1693 width: 16px;
1689 margin-bottom: 10px;
1694 margin-bottom: 10px;
1690 padding: 0;
1695 padding: 0;
1691 color: black !important;
1696 color: black !important;
1692 cursor: pointer;
1697 cursor: pointer;
1693 }
1698 }
1694
1699
1695 .reviewer_ac .ac-input {
1700 .reviewer_ac .ac-input {
1696 width: 92%;
1701 width: 92%;
1697 margin-bottom: 1em;
1702 margin-bottom: 1em;
1698 }
1703 }
1699
1704
1700 .compare_view_commits tr{
1705 .compare_view_commits tr{
1701 height: 20px;
1706 height: 20px;
1702 }
1707 }
1703 .compare_view_commits td {
1708 .compare_view_commits td {
1704 vertical-align: top;
1709 vertical-align: top;
1705 padding-top: 10px;
1710 padding-top: 10px;
1706 }
1711 }
1707 .compare_view_commits .author {
1712 .compare_view_commits .author {
1708 margin-left: 5px;
1713 margin-left: 5px;
1709 }
1714 }
1710
1715
1711 .compare_view_commits {
1716 .compare_view_commits {
1712 .color-a {
1717 .color-a {
1713 color: @alert1;
1718 color: @alert1;
1714 }
1719 }
1715
1720
1716 .color-c {
1721 .color-c {
1717 color: @color3;
1722 color: @color3;
1718 }
1723 }
1719
1724
1720 .color-r {
1725 .color-r {
1721 color: @color5;
1726 color: @color5;
1722 }
1727 }
1723
1728
1724 .color-a-bg {
1729 .color-a-bg {
1725 background-color: @alert1;
1730 background-color: @alert1;
1726 }
1731 }
1727
1732
1728 .color-c-bg {
1733 .color-c-bg {
1729 background-color: @alert3;
1734 background-color: @alert3;
1730 }
1735 }
1731
1736
1732 .color-r-bg {
1737 .color-r-bg {
1733 background-color: @alert2;
1738 background-color: @alert2;
1734 }
1739 }
1735
1740
1736 .color-a-border {
1741 .color-a-border {
1737 border: 1px solid @alert1;
1742 border: 1px solid @alert1;
1738 }
1743 }
1739
1744
1740 .color-c-border {
1745 .color-c-border {
1741 border: 1px solid @alert3;
1746 border: 1px solid @alert3;
1742 }
1747 }
1743
1748
1744 .color-r-border {
1749 .color-r-border {
1745 border: 1px solid @alert2;
1750 border: 1px solid @alert2;
1746 }
1751 }
1747
1752
1748 .commit-change-indicator {
1753 .commit-change-indicator {
1749 width: 15px;
1754 width: 15px;
1750 height: 15px;
1755 height: 15px;
1751 position: relative;
1756 position: relative;
1752 left: 15px;
1757 left: 15px;
1753 }
1758 }
1754
1759
1755 .commit-change-content {
1760 .commit-change-content {
1756 text-align: center;
1761 text-align: center;
1757 vertical-align: middle;
1762 vertical-align: middle;
1758 line-height: 15px;
1763 line-height: 15px;
1759 }
1764 }
1760 }
1765 }
1761
1766
1762 .compare_view_filepath {
1767 .compare_view_filepath {
1763 color: @grey1;
1768 color: @grey1;
1764 }
1769 }
1765
1770
1766 .show_more {
1771 .show_more {
1767 display: inline-block;
1772 display: inline-block;
1768 width: 0;
1773 width: 0;
1769 height: 0;
1774 height: 0;
1770 vertical-align: middle;
1775 vertical-align: middle;
1771 content: "";
1776 content: "";
1772 border: 4px solid;
1777 border: 4px solid;
1773 border-right-color: transparent;
1778 border-right-color: transparent;
1774 border-bottom-color: transparent;
1779 border-bottom-color: transparent;
1775 border-left-color: transparent;
1780 border-left-color: transparent;
1776 font-size: 0;
1781 font-size: 0;
1777 }
1782 }
1778
1783
1779 .journal_more .show_more {
1784 .journal_more .show_more {
1780 display: inline;
1785 display: inline;
1781
1786
1782 &:after {
1787 &:after {
1783 content: none;
1788 content: none;
1784 }
1789 }
1785 }
1790 }
1786
1791
1787 .compare_view_commits .collapse_commit:after {
1792 .compare_view_commits .collapse_commit:after {
1788 cursor: pointer;
1793 cursor: pointer;
1789 content: "\00A0\25B4";
1794 content: "\00A0\25B4";
1790 margin-left: -3px;
1795 margin-left: -3px;
1791 font-size: 17px;
1796 font-size: 17px;
1792 color: @grey4;
1797 color: @grey4;
1793 }
1798 }
1794
1799
1795 .diff_links {
1800 .diff_links {
1796 margin-left: 8px;
1801 margin-left: 8px;
1797 }
1802 }
1798
1803
1799 #pull_request_overview {
1804 #pull_request_overview {
1800 div.ancestor {
1805 div.ancestor {
1801 margin: -33px 0;
1806 margin: -33px 0;
1802 }
1807 }
1803 }
1808 }
1804
1809
1805 div.ancestor {
1810 div.ancestor {
1806
1811
1807 }
1812 }
1808
1813
1809 .cs_icon_td input[type="checkbox"] {
1814 .cs_icon_td input[type="checkbox"] {
1810 display: none;
1815 display: none;
1811 }
1816 }
1812
1817
1813 .cs_icon_td .expand_file_icon:after {
1818 .cs_icon_td .expand_file_icon:after {
1814 cursor: pointer;
1819 cursor: pointer;
1815 content: "\00A0\25B6";
1820 content: "\00A0\25B6";
1816 font-size: 12px;
1821 font-size: 12px;
1817 color: @grey4;
1822 color: @grey4;
1818 }
1823 }
1819
1824
1820 .cs_icon_td .collapse_file_icon:after {
1825 .cs_icon_td .collapse_file_icon:after {
1821 cursor: pointer;
1826 cursor: pointer;
1822 content: "\00A0\25BC";
1827 content: "\00A0\25BC";
1823 font-size: 12px;
1828 font-size: 12px;
1824 color: @grey4;
1829 color: @grey4;
1825 }
1830 }
1826
1831
1827 /*new binary
1832 /*new binary
1828 NEW_FILENODE = 1
1833 NEW_FILENODE = 1
1829 DEL_FILENODE = 2
1834 DEL_FILENODE = 2
1830 MOD_FILENODE = 3
1835 MOD_FILENODE = 3
1831 RENAMED_FILENODE = 4
1836 RENAMED_FILENODE = 4
1832 COPIED_FILENODE = 5
1837 COPIED_FILENODE = 5
1833 CHMOD_FILENODE = 6
1838 CHMOD_FILENODE = 6
1834 BIN_FILENODE = 7
1839 BIN_FILENODE = 7
1835 */
1840 */
1836 .cs_files_expand {
1841 .cs_files_expand {
1837 font-size: @basefontsize + 5px;
1842 font-size: @basefontsize + 5px;
1838 line-height: 1.8em;
1843 line-height: 1.8em;
1839 float: right;
1844 float: right;
1840 }
1845 }
1841
1846
1842 .cs_files_expand span{
1847 .cs_files_expand span{
1843 color: @rcblue;
1848 color: @rcblue;
1844 cursor: pointer;
1849 cursor: pointer;
1845 }
1850 }
1846 .cs_files {
1851 .cs_files {
1847 clear: both;
1852 clear: both;
1848 padding-bottom: @padding;
1853 padding-bottom: @padding;
1849
1854
1850 .cur_cs {
1855 .cur_cs {
1851 margin: 10px 2px;
1856 margin: 10px 2px;
1852 font-weight: bold;
1857 font-weight: bold;
1853 }
1858 }
1854
1859
1855 .node {
1860 .node {
1856 float: left;
1861 float: left;
1857 }
1862 }
1858
1863
1859 .changes {
1864 .changes {
1860 float: right;
1865 float: right;
1861 color: white;
1866 color: white;
1862 font-size: @basefontsize - 4px;
1867 font-size: @basefontsize - 4px;
1863 margin-top: 4px;
1868 margin-top: 4px;
1864 opacity: 0.6;
1869 opacity: 0.6;
1865 filter: Alpha(opacity=60); /* IE8 and earlier */
1870 filter: Alpha(opacity=60); /* IE8 and earlier */
1866
1871
1867 .added {
1872 .added {
1868 background-color: @alert1;
1873 background-color: @alert1;
1869 float: left;
1874 float: left;
1870 text-align: center;
1875 text-align: center;
1871 }
1876 }
1872
1877
1873 .deleted {
1878 .deleted {
1874 background-color: @alert2;
1879 background-color: @alert2;
1875 float: left;
1880 float: left;
1876 text-align: center;
1881 text-align: center;
1877 }
1882 }
1878
1883
1879 .bin {
1884 .bin {
1880 background-color: @alert1;
1885 background-color: @alert1;
1881 text-align: center;
1886 text-align: center;
1882 }
1887 }
1883
1888
1884 /*new binary*/
1889 /*new binary*/
1885 .bin.bin1 {
1890 .bin.bin1 {
1886 background-color: @alert1;
1891 background-color: @alert1;
1887 text-align: center;
1892 text-align: center;
1888 }
1893 }
1889
1894
1890 /*deleted binary*/
1895 /*deleted binary*/
1891 .bin.bin2 {
1896 .bin.bin2 {
1892 background-color: @alert2;
1897 background-color: @alert2;
1893 text-align: center;
1898 text-align: center;
1894 }
1899 }
1895
1900
1896 /*mod binary*/
1901 /*mod binary*/
1897 .bin.bin3 {
1902 .bin.bin3 {
1898 background-color: @grey2;
1903 background-color: @grey2;
1899 text-align: center;
1904 text-align: center;
1900 }
1905 }
1901
1906
1902 /*rename file*/
1907 /*rename file*/
1903 .bin.bin4 {
1908 .bin.bin4 {
1904 background-color: @alert4;
1909 background-color: @alert4;
1905 text-align: center;
1910 text-align: center;
1906 }
1911 }
1907
1912
1908 /*copied file*/
1913 /*copied file*/
1909 .bin.bin5 {
1914 .bin.bin5 {
1910 background-color: @alert4;
1915 background-color: @alert4;
1911 text-align: center;
1916 text-align: center;
1912 }
1917 }
1913
1918
1914 /*chmod file*/
1919 /*chmod file*/
1915 .bin.bin6 {
1920 .bin.bin6 {
1916 background-color: @grey2;
1921 background-color: @grey2;
1917 text-align: center;
1922 text-align: center;
1918 }
1923 }
1919 }
1924 }
1920 }
1925 }
1921
1926
1922 .cs_files .cs_added, .cs_files .cs_A,
1927 .cs_files .cs_added, .cs_files .cs_A,
1923 .cs_files .cs_added, .cs_files .cs_M,
1928 .cs_files .cs_added, .cs_files .cs_M,
1924 .cs_files .cs_added, .cs_files .cs_D {
1929 .cs_files .cs_added, .cs_files .cs_D {
1925 height: 16px;
1930 height: 16px;
1926 padding-right: 10px;
1931 padding-right: 10px;
1927 margin-top: 7px;
1932 margin-top: 7px;
1928 text-align: left;
1933 text-align: left;
1929 }
1934 }
1930
1935
1931 .cs_icon_td {
1936 .cs_icon_td {
1932 min-width: 16px;
1937 min-width: 16px;
1933 width: 16px;
1938 width: 16px;
1934 }
1939 }
1935
1940
1936 .pull-request-merge {
1941 .pull-request-merge {
1937 border: 1px solid @grey5;
1942 border: 1px solid @grey5;
1938 padding: 10px 0px 20px;
1943 padding: 10px 0px 20px;
1939 margin-top: 10px;
1944 margin-top: 10px;
1940 margin-bottom: 20px;
1945 margin-bottom: 20px;
1941 }
1946 }
1942
1947
1943 .pull-request-merge-refresh {
1948 .pull-request-merge-refresh {
1944 margin: 2px 7px;
1949 margin: 2px 7px;
1945 a {
1950 a {
1946 color: @grey3;
1951 color: @grey3;
1947 }
1952 }
1948 }
1953 }
1949
1954
1950 .pull-request-merge ul {
1955 .pull-request-merge ul {
1951 padding: 0px 0px;
1956 padding: 0px 0px;
1952 }
1957 }
1953
1958
1954 .pull-request-merge li {
1959 .pull-request-merge li {
1955 list-style-type: none;
1960 list-style-type: none;
1956 }
1961 }
1957
1962
1958 .pull-request-merge .pull-request-wrap {
1963 .pull-request-merge .pull-request-wrap {
1959 height: auto;
1964 height: auto;
1960 padding: 0px 0px;
1965 padding: 0px 0px;
1961 text-align: right;
1966 text-align: right;
1962 }
1967 }
1963
1968
1964 .pull-request-merge span {
1969 .pull-request-merge span {
1965 margin-right: 5px;
1970 margin-right: 5px;
1966 }
1971 }
1967
1972
1968 .pull-request-merge-actions {
1973 .pull-request-merge-actions {
1969 min-height: 30px;
1974 min-height: 30px;
1970 padding: 0px 0px;
1975 padding: 0px 0px;
1971 }
1976 }
1972
1977
1973 .pull-request-merge-info {
1978 .pull-request-merge-info {
1974 padding: 0px 5px 5px 0px;
1979 padding: 0px 5px 5px 0px;
1975 }
1980 }
1976
1981
1977 .merge-status {
1982 .merge-status {
1978 margin-right: 5px;
1983 margin-right: 5px;
1979 }
1984 }
1980
1985
1981 .merge-message {
1986 .merge-message {
1982 font-size: 1.2em
1987 font-size: 1.2em
1983 }
1988 }
1984
1989
1985 .merge-message.success i,
1990 .merge-message.success i,
1986 .merge-icon.success i {
1991 .merge-icon.success i {
1987 color:@alert1;
1992 color:@alert1;
1988 }
1993 }
1989
1994
1990 .merge-message.warning i,
1995 .merge-message.warning i,
1991 .merge-icon.warning i {
1996 .merge-icon.warning i {
1992 color: @alert3;
1997 color: @alert3;
1993 }
1998 }
1994
1999
1995 .merge-message.error i,
2000 .merge-message.error i,
1996 .merge-icon.error i {
2001 .merge-icon.error i {
1997 color:@alert2;
2002 color:@alert2;
1998 }
2003 }
1999
2004
2000 .pr-versions {
2005 .pr-versions {
2001 font-size: 1.1em;
2006 font-size: 1.1em;
2002 padding: 7.5px;
2007 padding: 7.5px;
2003
2008
2004 table {
2009 table {
2005
2010
2006 }
2011 }
2007
2012
2008 td {
2013 td {
2009 line-height: 15px;
2014 line-height: 15px;
2010 }
2015 }
2011
2016
2012 .compare-radio-button {
2017 .compare-radio-button {
2013 position: relative;
2018 position: relative;
2014 top: -3px;
2019 top: -3px;
2015 }
2020 }
2016 }
2021 }
2017
2022
2018
2023
2019 #close_pull_request {
2024 #close_pull_request {
2020 margin-right: 0px;
2025 margin-right: 0px;
2021 }
2026 }
2022
2027
2023 .empty_data {
2028 .empty_data {
2024 color: @grey4;
2029 color: @grey4;
2025 }
2030 }
2026
2031
2027 #changeset_compare_view_content {
2032 #changeset_compare_view_content {
2028 clear: both;
2033 clear: both;
2029 width: 100%;
2034 width: 100%;
2030 box-sizing: border-box;
2035 box-sizing: border-box;
2031 .border-radius(@border-radius);
2036 .border-radius(@border-radius);
2032
2037
2033 .help-block {
2038 .help-block {
2034 margin: @padding 0;
2039 margin: @padding 0;
2035 color: @text-color;
2040 color: @text-color;
2036 &.pre-formatting {
2041 &.pre-formatting {
2037 white-space: pre;
2042 white-space: pre;
2038 }
2043 }
2039 }
2044 }
2040
2045
2041 .empty_data {
2046 .empty_data {
2042 margin: @padding 0;
2047 margin: @padding 0;
2043 }
2048 }
2044
2049
2045 .alert {
2050 .alert {
2046 margin-bottom: @space;
2051 margin-bottom: @space;
2047 }
2052 }
2048 }
2053 }
2049
2054
2050 .table_disp {
2055 .table_disp {
2051 .status {
2056 .status {
2052 width: auto;
2057 width: auto;
2053 }
2058 }
2054 }
2059 }
2055
2060
2056
2061
2057 .creation_in_progress {
2062 .creation_in_progress {
2058 color: @grey4
2063 color: @grey4
2059 }
2064 }
2060
2065
2061 .status_box_menu {
2066 .status_box_menu {
2062 margin: 0;
2067 margin: 0;
2063 }
2068 }
2064
2069
2065 .notification-table{
2070 .notification-table{
2066 margin-bottom: @space;
2071 margin-bottom: @space;
2067 display: table;
2072 display: table;
2068 width: 100%;
2073 width: 100%;
2069
2074
2070 .container{
2075 .container{
2071 display: table-row;
2076 display: table-row;
2072
2077
2073 .notification-header{
2078 .notification-header{
2074 border-bottom: @border-thickness solid @border-default-color;
2079 border-bottom: @border-thickness solid @border-default-color;
2075 }
2080 }
2076
2081
2077 .notification-subject{
2082 .notification-subject{
2078 display: table-cell;
2083 display: table-cell;
2079 }
2084 }
2080 }
2085 }
2081 }
2086 }
2082
2087
2083 // Notifications
2088 // Notifications
2084 .notification-header{
2089 .notification-header{
2085 display: table;
2090 display: table;
2086 width: 100%;
2091 width: 100%;
2087 padding: floor(@basefontsize/2) 0;
2092 padding: floor(@basefontsize/2) 0;
2088 line-height: 1em;
2093 line-height: 1em;
2089
2094
2090 .desc, .delete-notifications, .read-notifications{
2095 .desc, .delete-notifications, .read-notifications{
2091 display: table-cell;
2096 display: table-cell;
2092 text-align: left;
2097 text-align: left;
2093 }
2098 }
2094
2099
2095 .delete-notifications, .read-notifications{
2100 .delete-notifications, .read-notifications{
2096 width: 35px;
2101 width: 35px;
2097 min-width: 35px; //fixes when only one button is displayed
2102 min-width: 35px; //fixes when only one button is displayed
2098 }
2103 }
2099 }
2104 }
2100
2105
2101 .notification-body {
2106 .notification-body {
2102 .markdown-block,
2107 .markdown-block,
2103 .rst-block {
2108 .rst-block {
2104 padding: @padding 0;
2109 padding: @padding 0;
2105 }
2110 }
2106
2111
2107 .notification-subject {
2112 .notification-subject {
2108 padding: @textmargin 0;
2113 padding: @textmargin 0;
2109 border-bottom: @border-thickness solid @border-default-color;
2114 border-bottom: @border-thickness solid @border-default-color;
2110 }
2115 }
2111 }
2116 }
2112
2117
2113 .notice-messages {
2118 .notice-messages {
2114 .markdown-block,
2119 .markdown-block,
2115 .rst-block {
2120 .rst-block {
2116 padding: 0;
2121 padding: 0;
2117 }
2122 }
2118 }
2123 }
2119
2124
2120 .notifications_buttons{
2125 .notifications_buttons{
2121 float: right;
2126 float: right;
2122 }
2127 }
2123
2128
2124 #notification-status{
2129 #notification-status{
2125 display: inline;
2130 display: inline;
2126 }
2131 }
2127
2132
2128 // Repositories
2133 // Repositories
2129
2134
2130 #summary.fields{
2135 #summary.fields{
2131 display: table;
2136 display: table;
2132
2137
2133 .field{
2138 .field{
2134 display: table-row;
2139 display: table-row;
2135
2140
2136 .label-summary{
2141 .label-summary{
2137 display: table-cell;
2142 display: table-cell;
2138 min-width: @label-summary-minwidth;
2143 min-width: @label-summary-minwidth;
2139 padding-top: @padding/2;
2144 padding-top: @padding/2;
2140 padding-bottom: @padding/2;
2145 padding-bottom: @padding/2;
2141 padding-right: @padding/2;
2146 padding-right: @padding/2;
2142 }
2147 }
2143
2148
2144 .input{
2149 .input{
2145 display: table-cell;
2150 display: table-cell;
2146 padding: @padding/2;
2151 padding: @padding/2;
2147
2152
2148 input{
2153 input{
2149 min-width: 29em;
2154 min-width: 29em;
2150 padding: @padding/4;
2155 padding: @padding/4;
2151 }
2156 }
2152 }
2157 }
2153 .statistics, .downloads{
2158 .statistics, .downloads{
2154 .disabled{
2159 .disabled{
2155 color: @grey4;
2160 color: @grey4;
2156 }
2161 }
2157 }
2162 }
2158 }
2163 }
2159 }
2164 }
2160
2165
2161 #summary{
2166 #summary{
2162 width: 70%;
2167 width: 70%;
2163 }
2168 }
2164
2169
2165
2170
2166 // Journal
2171 // Journal
2167 .journal.title {
2172 .journal.title {
2168 h5 {
2173 h5 {
2169 float: left;
2174 float: left;
2170 margin: 0;
2175 margin: 0;
2171 width: 70%;
2176 width: 70%;
2172 }
2177 }
2173
2178
2174 ul {
2179 ul {
2175 float: right;
2180 float: right;
2176 display: inline-block;
2181 display: inline-block;
2177 margin: 0;
2182 margin: 0;
2178 width: 30%;
2183 width: 30%;
2179 text-align: right;
2184 text-align: right;
2180
2185
2181 li {
2186 li {
2182 display: inline;
2187 display: inline;
2183 font-size: @journal-fontsize;
2188 font-size: @journal-fontsize;
2184 line-height: 1em;
2189 line-height: 1em;
2185
2190
2186 list-style-type: none;
2191 list-style-type: none;
2187 }
2192 }
2188 }
2193 }
2189 }
2194 }
2190
2195
2191 .filterexample {
2196 .filterexample {
2192 position: absolute;
2197 position: absolute;
2193 top: 95px;
2198 top: 95px;
2194 left: @contentpadding;
2199 left: @contentpadding;
2195 color: @rcblue;
2200 color: @rcblue;
2196 font-size: 11px;
2201 font-size: 11px;
2197 font-family: @text-regular;
2202 font-family: @text-regular;
2198 cursor: help;
2203 cursor: help;
2199
2204
2200 &:hover {
2205 &:hover {
2201 color: @rcdarkblue;
2206 color: @rcdarkblue;
2202 }
2207 }
2203
2208
2204 @media (max-width:768px) {
2209 @media (max-width:768px) {
2205 position: relative;
2210 position: relative;
2206 top: auto;
2211 top: auto;
2207 left: auto;
2212 left: auto;
2208 display: block;
2213 display: block;
2209 }
2214 }
2210 }
2215 }
2211
2216
2212
2217
2213 #journal{
2218 #journal{
2214 margin-bottom: @space;
2219 margin-bottom: @space;
2215
2220
2216 .journal_day{
2221 .journal_day{
2217 margin-bottom: @textmargin/2;
2222 margin-bottom: @textmargin/2;
2218 padding-bottom: @textmargin/2;
2223 padding-bottom: @textmargin/2;
2219 font-size: @journal-fontsize;
2224 font-size: @journal-fontsize;
2220 border-bottom: @border-thickness solid @border-default-color;
2225 border-bottom: @border-thickness solid @border-default-color;
2221 }
2226 }
2222
2227
2223 .journal_container{
2228 .journal_container{
2224 margin-bottom: @space;
2229 margin-bottom: @space;
2225
2230
2226 .journal_user{
2231 .journal_user{
2227 display: inline-block;
2232 display: inline-block;
2228 }
2233 }
2229 .journal_action_container{
2234 .journal_action_container{
2230 display: block;
2235 display: block;
2231 margin-top: @textmargin;
2236 margin-top: @textmargin;
2232
2237
2233 div{
2238 div{
2234 display: inline;
2239 display: inline;
2235 }
2240 }
2236
2241
2237 div.journal_action_params{
2242 div.journal_action_params{
2238 display: block;
2243 display: block;
2239 }
2244 }
2240
2245
2241 div.journal_repo:after{
2246 div.journal_repo:after{
2242 content: "\A";
2247 content: "\A";
2243 white-space: pre;
2248 white-space: pre;
2244 }
2249 }
2245
2250
2246 div.date{
2251 div.date{
2247 display: block;
2252 display: block;
2248 margin-bottom: @textmargin;
2253 margin-bottom: @textmargin;
2249 }
2254 }
2250 }
2255 }
2251 }
2256 }
2252 }
2257 }
2253
2258
2254 // Files
2259 // Files
2255 .edit-file-title {
2260 .edit-file-title {
2256 font-size: 16px;
2261 font-size: 16px;
2257
2262
2258 .title-heading {
2263 .title-heading {
2259 padding: 2px;
2264 padding: 2px;
2260 }
2265 }
2261 }
2266 }
2262
2267
2263 .edit-file-fieldset {
2268 .edit-file-fieldset {
2264 margin: @sidebarpadding 0;
2269 margin: @sidebarpadding 0;
2265
2270
2266 .fieldset {
2271 .fieldset {
2267 .left-label {
2272 .left-label {
2268 width: 13%;
2273 width: 13%;
2269 }
2274 }
2270 .right-content {
2275 .right-content {
2271 width: 87%;
2276 width: 87%;
2272 max-width: 100%;
2277 max-width: 100%;
2273 }
2278 }
2274 .filename-label {
2279 .filename-label {
2275 margin-top: 13px;
2280 margin-top: 13px;
2276 }
2281 }
2277 .commit-message-label {
2282 .commit-message-label {
2278 margin-top: 4px;
2283 margin-top: 4px;
2279 }
2284 }
2280 .file-upload-input {
2285 .file-upload-input {
2281 input {
2286 input {
2282 display: none;
2287 display: none;
2283 }
2288 }
2284 margin-top: 10px;
2289 margin-top: 10px;
2285 }
2290 }
2286 .file-upload-label {
2291 .file-upload-label {
2287 margin-top: 10px;
2292 margin-top: 10px;
2288 }
2293 }
2289 p {
2294 p {
2290 margin-top: 5px;
2295 margin-top: 5px;
2291 }
2296 }
2292
2297
2293 }
2298 }
2294 .custom-path-link {
2299 .custom-path-link {
2295 margin-left: 5px;
2300 margin-left: 5px;
2296 }
2301 }
2297 #commit {
2302 #commit {
2298 resize: vertical;
2303 resize: vertical;
2299 }
2304 }
2300 }
2305 }
2301
2306
2302 .delete-file-preview {
2307 .delete-file-preview {
2303 max-height: 250px;
2308 max-height: 250px;
2304 }
2309 }
2305
2310
2306 .new-file,
2311 .new-file,
2307 #filter_activate,
2312 #filter_activate,
2308 #filter_deactivate {
2313 #filter_deactivate {
2309 float: right;
2314 float: right;
2310 margin: 0 0 0 10px;
2315 margin: 0 0 0 10px;
2311 }
2316 }
2312
2317
2313 .file-upload-transaction-wrapper {
2318 .file-upload-transaction-wrapper {
2314 margin-top: 57px;
2319 margin-top: 57px;
2315 clear: both;
2320 clear: both;
2316 }
2321 }
2317
2322
2318 .file-upload-transaction-wrapper .error {
2323 .file-upload-transaction-wrapper .error {
2319 color: @color5;
2324 color: @color5;
2320 }
2325 }
2321
2326
2322 .file-upload-transaction {
2327 .file-upload-transaction {
2323 min-height: 200px;
2328 min-height: 200px;
2324 padding: 54px;
2329 padding: 54px;
2325 border: 1px solid @grey5;
2330 border: 1px solid @grey5;
2326 text-align: center;
2331 text-align: center;
2327 clear: both;
2332 clear: both;
2328 }
2333 }
2329
2334
2330 .file-upload-transaction i {
2335 .file-upload-transaction i {
2331 font-size: 48px
2336 font-size: 48px
2332 }
2337 }
2333
2338
2334 h3.files_location{
2339 h3.files_location{
2335 line-height: 2.4em;
2340 line-height: 2.4em;
2336 }
2341 }
2337
2342
2338 .browser-nav {
2343 .browser-nav {
2339 width: 100%;
2344 width: 100%;
2340 display: table;
2345 display: table;
2341 margin-bottom: 20px;
2346 margin-bottom: 20px;
2342
2347
2343 .info_box {
2348 .info_box {
2344 float: left;
2349 float: left;
2345 display: inline-table;
2350 display: inline-table;
2346 height: 2.5em;
2351 height: 2.5em;
2347
2352
2348 .browser-cur-rev, .info_box_elem {
2353 .browser-cur-rev, .info_box_elem {
2349 display: table-cell;
2354 display: table-cell;
2350 vertical-align: middle;
2355 vertical-align: middle;
2351 }
2356 }
2352
2357
2353 .drop-menu {
2358 .drop-menu {
2354 margin: 0 10px;
2359 margin: 0 10px;
2355 }
2360 }
2356
2361
2357 .info_box_elem {
2362 .info_box_elem {
2358 border-top: @border-thickness solid @grey5;
2363 border-top: @border-thickness solid @grey5;
2359 border-bottom: @border-thickness solid @grey5;
2364 border-bottom: @border-thickness solid @grey5;
2360 box-shadow: @button-shadow;
2365 box-shadow: @button-shadow;
2361
2366
2362 #at_rev, a {
2367 #at_rev, a {
2363 padding: 0.6em 0.4em;
2368 padding: 0.6em 0.4em;
2364 margin: 0;
2369 margin: 0;
2365 .box-shadow(none);
2370 .box-shadow(none);
2366 border: 0;
2371 border: 0;
2367 height: 12px;
2372 height: 12px;
2368 color: @grey2;
2373 color: @grey2;
2369 }
2374 }
2370
2375
2371 input#at_rev {
2376 input#at_rev {
2372 max-width: 50px;
2377 max-width: 50px;
2373 text-align: center;
2378 text-align: center;
2374 }
2379 }
2375
2380
2376 &.previous {
2381 &.previous {
2377 border: @border-thickness solid @grey5;
2382 border: @border-thickness solid @grey5;
2378 border-top-left-radius: @border-radius;
2383 border-top-left-radius: @border-radius;
2379 border-bottom-left-radius: @border-radius;
2384 border-bottom-left-radius: @border-radius;
2380
2385
2381 &:hover {
2386 &:hover {
2382 border-color: @grey4;
2387 border-color: @grey4;
2383 }
2388 }
2384
2389
2385 .disabled {
2390 .disabled {
2386 color: @grey5;
2391 color: @grey5;
2387 cursor: not-allowed;
2392 cursor: not-allowed;
2388 opacity: 0.5;
2393 opacity: 0.5;
2389 }
2394 }
2390 }
2395 }
2391
2396
2392 &.next {
2397 &.next {
2393 border: @border-thickness solid @grey5;
2398 border: @border-thickness solid @grey5;
2394 border-top-right-radius: @border-radius;
2399 border-top-right-radius: @border-radius;
2395 border-bottom-right-radius: @border-radius;
2400 border-bottom-right-radius: @border-radius;
2396
2401
2397 &:hover {
2402 &:hover {
2398 border-color: @grey4;
2403 border-color: @grey4;
2399 }
2404 }
2400
2405
2401 .disabled {
2406 .disabled {
2402 color: @grey5;
2407 color: @grey5;
2403 cursor: not-allowed;
2408 cursor: not-allowed;
2404 opacity: 0.5;
2409 opacity: 0.5;
2405 }
2410 }
2406 }
2411 }
2407 }
2412 }
2408
2413
2409 .browser-cur-rev {
2414 .browser-cur-rev {
2410
2415
2411 span{
2416 span{
2412 margin: 0;
2417 margin: 0;
2413 color: @rcblue;
2418 color: @rcblue;
2414 height: 12px;
2419 height: 12px;
2415 display: inline-block;
2420 display: inline-block;
2416 padding: 0.7em 1em ;
2421 padding: 0.7em 1em ;
2417 border: @border-thickness solid @rcblue;
2422 border: @border-thickness solid @rcblue;
2418 margin-right: @padding;
2423 margin-right: @padding;
2419 }
2424 }
2420 }
2425 }
2421
2426
2422 }
2427 }
2423
2428
2424 .select-index-number {
2429 .select-index-number {
2425 margin: 0 0 0 20px;
2430 margin: 0 0 0 20px;
2426 color: @grey3;
2431 color: @grey3;
2427 }
2432 }
2428
2433
2429 .search_activate {
2434 .search_activate {
2430 display: table-cell;
2435 display: table-cell;
2431 vertical-align: middle;
2436 vertical-align: middle;
2432
2437
2433 input, label{
2438 input, label{
2434 margin: 0;
2439 margin: 0;
2435 padding: 0;
2440 padding: 0;
2436 }
2441 }
2437
2442
2438 input{
2443 input{
2439 margin-left: @textmargin;
2444 margin-left: @textmargin;
2440 }
2445 }
2441
2446
2442 }
2447 }
2443 }
2448 }
2444
2449
2445 .browser-cur-rev{
2450 .browser-cur-rev{
2446 margin-bottom: @textmargin;
2451 margin-bottom: @textmargin;
2447 }
2452 }
2448
2453
2449 #node_filter_box_loading{
2454 #node_filter_box_loading{
2450 .info_text;
2455 .info_text;
2451 }
2456 }
2452
2457
2453 .browser-search {
2458 .browser-search {
2454 margin: -25px 0px 5px 0px;
2459 margin: -25px 0px 5px 0px;
2455 }
2460 }
2456
2461
2457 .files-quick-filter {
2462 .files-quick-filter {
2458 float: right;
2463 float: right;
2459 width: 180px;
2464 width: 180px;
2460 position: relative;
2465 position: relative;
2461 }
2466 }
2462
2467
2463 .files-filter-box {
2468 .files-filter-box {
2464 display: flex;
2469 display: flex;
2465 padding: 0px;
2470 padding: 0px;
2466 border-radius: 3px;
2471 border-radius: 3px;
2467 margin-bottom: 0;
2472 margin-bottom: 0;
2468
2473
2469 a {
2474 a {
2470 border: none !important;
2475 border: none !important;
2471 }
2476 }
2472
2477
2473 li {
2478 li {
2474 list-style-type: none
2479 list-style-type: none
2475 }
2480 }
2476 }
2481 }
2477
2482
2478 .files-filter-box-path {
2483 .files-filter-box-path {
2479 line-height: 33px;
2484 line-height: 33px;
2480 padding: 0;
2485 padding: 0;
2481 width: 20px;
2486 width: 20px;
2482 position: absolute;
2487 position: absolute;
2483 z-index: 11;
2488 z-index: 11;
2484 left: 5px;
2489 left: 5px;
2485 }
2490 }
2486
2491
2487 .files-filter-box-input {
2492 .files-filter-box-input {
2488 margin-right: 0;
2493 margin-right: 0;
2489
2494
2490 input {
2495 input {
2491 border: 1px solid @white;
2496 border: 1px solid @white;
2492 padding-left: 25px;
2497 padding-left: 25px;
2493 width: 145px;
2498 width: 145px;
2494
2499
2495 &:hover {
2500 &:hover {
2496 border-color: @grey6;
2501 border-color: @grey6;
2497 }
2502 }
2498
2503
2499 &:focus {
2504 &:focus {
2500 border-color: @grey5;
2505 border-color: @grey5;
2501 }
2506 }
2502 }
2507 }
2503 }
2508 }
2504
2509
2505 .browser-result{
2510 .browser-result{
2506 td a{
2511 td a{
2507 margin-left: 0.5em;
2512 margin-left: 0.5em;
2508 display: inline-block;
2513 display: inline-block;
2509
2514
2510 em {
2515 em {
2511 font-weight: @text-bold-weight;
2516 font-weight: @text-bold-weight;
2512 font-family: @text-bold;
2517 font-family: @text-bold;
2513 }
2518 }
2514 }
2519 }
2515 }
2520 }
2516
2521
2517 .browser-highlight{
2522 .browser-highlight{
2518 background-color: @grey5-alpha;
2523 background-color: @grey5-alpha;
2519 }
2524 }
2520
2525
2521
2526
2522 .edit-file-fieldset #location,
2527 .edit-file-fieldset #location,
2523 .edit-file-fieldset #filename {
2528 .edit-file-fieldset #filename {
2524 display: flex;
2529 display: flex;
2525 width: -moz-available; /* WebKit-based browsers will ignore this. */
2530 width: -moz-available; /* WebKit-based browsers will ignore this. */
2526 width: -webkit-fill-available; /* Mozilla-based browsers will ignore this. */
2531 width: -webkit-fill-available; /* Mozilla-based browsers will ignore this. */
2527 width: fill-available;
2532 width: fill-available;
2528 border: 0;
2533 border: 0;
2529 }
2534 }
2530
2535
2531 .path-items {
2536 .path-items {
2532 display: flex;
2537 display: flex;
2533 padding: 0;
2538 padding: 0;
2534 border: 1px solid #eeeeee;
2539 border: 1px solid #eeeeee;
2535 width: 100%;
2540 width: 100%;
2536 float: left;
2541 float: left;
2537
2542
2538 .breadcrumb-path {
2543 .breadcrumb-path {
2539 line-height: 30px;
2544 line-height: 30px;
2540 padding: 0 4px;
2545 padding: 0 4px;
2541 white-space: nowrap;
2546 white-space: nowrap;
2542 }
2547 }
2543
2548
2544 .upload-form {
2549 .upload-form {
2545 margin-top: 46px;
2550 margin-top: 46px;
2546 }
2551 }
2547
2552
2548 .location-path {
2553 .location-path {
2549 width: -moz-available; /* WebKit-based browsers will ignore this. */
2554 width: -moz-available; /* WebKit-based browsers will ignore this. */
2550 width: -webkit-fill-available; /* Mozilla-based browsers will ignore this. */
2555 width: -webkit-fill-available; /* Mozilla-based browsers will ignore this. */
2551 width: fill-available;
2556 width: fill-available;
2552
2557
2553 .file-name-input {
2558 .file-name-input {
2554 padding: 0.5em 0;
2559 padding: 0.5em 0;
2555 }
2560 }
2556
2561
2557 }
2562 }
2558
2563
2559 ul {
2564 ul {
2560 display: flex;
2565 display: flex;
2561 margin: 0;
2566 margin: 0;
2562 padding: 0;
2567 padding: 0;
2563 width: 100%;
2568 width: 100%;
2564 }
2569 }
2565
2570
2566 li {
2571 li {
2567 list-style-type: none;
2572 list-style-type: none;
2568 }
2573 }
2569
2574
2570 }
2575 }
2571
2576
2572 .editor-items {
2577 .editor-items {
2573 height: 40px;
2578 height: 40px;
2574 margin: 10px 0 -17px 10px;
2579 margin: 10px 0 -17px 10px;
2575
2580
2576 .editor-action {
2581 .editor-action {
2577 cursor: pointer;
2582 cursor: pointer;
2578 }
2583 }
2579
2584
2580 .editor-action.active {
2585 .editor-action.active {
2581 border-bottom: 2px solid #5C5C5C;
2586 border-bottom: 2px solid #5C5C5C;
2582 }
2587 }
2583
2588
2584 li {
2589 li {
2585 list-style-type: none;
2590 list-style-type: none;
2586 }
2591 }
2587 }
2592 }
2588
2593
2589 .edit-file-fieldset .message textarea {
2594 .edit-file-fieldset .message textarea {
2590 border: 1px solid #eeeeee;
2595 border: 1px solid #eeeeee;
2591 }
2596 }
2592
2597
2593 #files_data .codeblock {
2598 #files_data .codeblock {
2594 background-color: #F5F5F5;
2599 background-color: #F5F5F5;
2595 }
2600 }
2596
2601
2597 #editor_preview {
2602 #editor_preview {
2598 background: white;
2603 background: white;
2599 }
2604 }
2600
2605
2601 .show-editor {
2606 .show-editor {
2602 padding: 10px;
2607 padding: 10px;
2603 background-color: white;
2608 background-color: white;
2604
2609
2605 }
2610 }
2606
2611
2607 .show-preview {
2612 .show-preview {
2608 padding: 10px;
2613 padding: 10px;
2609 background-color: white;
2614 background-color: white;
2610 border-left: 1px solid #eeeeee;
2615 border-left: 1px solid #eeeeee;
2611 }
2616 }
2612 // quick filter
2617 // quick filter
2613 .grid-quick-filter {
2618 .grid-quick-filter {
2614 float: right;
2619 float: right;
2615 position: relative;
2620 position: relative;
2616 }
2621 }
2617
2622
2618 .grid-filter-box {
2623 .grid-filter-box {
2619 display: flex;
2624 display: flex;
2620 padding: 0px;
2625 padding: 0px;
2621 border-radius: 3px;
2626 border-radius: 3px;
2622 margin-bottom: 0;
2627 margin-bottom: 0;
2623
2628
2624 a {
2629 a {
2625 border: none !important;
2630 border: none !important;
2626 }
2631 }
2627
2632
2628 li {
2633 li {
2629 list-style-type: none
2634 list-style-type: none
2630 }
2635 }
2631 }
2636 }
2632
2637
2633 .grid-filter-box-icon {
2638 .grid-filter-box-icon {
2634 line-height: 33px;
2639 line-height: 33px;
2635 padding: 0;
2640 padding: 0;
2636 width: 20px;
2641 width: 20px;
2637 position: absolute;
2642 position: absolute;
2638 z-index: 11;
2643 z-index: 11;
2639 left: 5px;
2644 left: 5px;
2640 }
2645 }
2641
2646
2642 .grid-filter-box-input {
2647 .grid-filter-box-input {
2643 margin-right: 0;
2648 margin-right: 0;
2644
2649
2645 input {
2650 input {
2646 border: 1px solid @white;
2651 border: 1px solid @white;
2647 padding-left: 25px;
2652 padding-left: 25px;
2648 width: 145px;
2653 width: 145px;
2649
2654
2650 &:hover {
2655 &:hover {
2651 border-color: @grey6;
2656 border-color: @grey6;
2652 }
2657 }
2653
2658
2654 &:focus {
2659 &:focus {
2655 border-color: @grey5;
2660 border-color: @grey5;
2656 }
2661 }
2657 }
2662 }
2658 }
2663 }
2659
2664
2660
2665
2661
2666
2662 // Search
2667 // Search
2663
2668
2664 .search-form{
2669 .search-form{
2665 #q {
2670 #q {
2666 width: @search-form-width;
2671 width: @search-form-width;
2667 }
2672 }
2668 .fields{
2673 .fields{
2669 margin: 0 0 @space;
2674 margin: 0 0 @space;
2670 }
2675 }
2671
2676
2672 label{
2677 label{
2673 display: inline-block;
2678 display: inline-block;
2674 margin-right: @textmargin;
2679 margin-right: @textmargin;
2675 padding-top: 0.25em;
2680 padding-top: 0.25em;
2676 }
2681 }
2677
2682
2678
2683
2679 .results{
2684 .results{
2680 clear: both;
2685 clear: both;
2681 margin: 0 0 @padding;
2686 margin: 0 0 @padding;
2682 }
2687 }
2683
2688
2684 .search-tags {
2689 .search-tags {
2685 padding: 5px 0;
2690 padding: 5px 0;
2686 }
2691 }
2687 }
2692 }
2688
2693
2689 div.search-feedback-items {
2694 div.search-feedback-items {
2690 display: inline-block;
2695 display: inline-block;
2691 }
2696 }
2692
2697
2693 div.search-code-body {
2698 div.search-code-body {
2694 background-color: #ffffff; padding: 5px 0 5px 10px;
2699 background-color: #ffffff; padding: 5px 0 5px 10px;
2695 pre {
2700 pre {
2696 .match { background-color: #faffa6;}
2701 .match { background-color: #faffa6;}
2697 .break { display: block; width: 100%; background-color: #DDE7EF; color: #747474; }
2702 .break { display: block; width: 100%; background-color: #DDE7EF; color: #747474; }
2698 }
2703 }
2699 }
2704 }
2700
2705
2701 .expand_commit.search {
2706 .expand_commit.search {
2702 .show_more.open {
2707 .show_more.open {
2703 height: auto;
2708 height: auto;
2704 max-height: none;
2709 max-height: none;
2705 }
2710 }
2706 }
2711 }
2707
2712
2708 .search-results {
2713 .search-results {
2709
2714
2710 h2 {
2715 h2 {
2711 margin-bottom: 0;
2716 margin-bottom: 0;
2712 }
2717 }
2713 .codeblock {
2718 .codeblock {
2714 border: none;
2719 border: none;
2715 background: transparent;
2720 background: transparent;
2716 }
2721 }
2717
2722
2718 .codeblock-header {
2723 .codeblock-header {
2719 border: none;
2724 border: none;
2720 background: transparent;
2725 background: transparent;
2721 }
2726 }
2722
2727
2723 .code-body {
2728 .code-body {
2724 border: @border-thickness solid @grey6;
2729 border: @border-thickness solid @grey6;
2725 .border-radius(@border-radius);
2730 .border-radius(@border-radius);
2726 }
2731 }
2727
2732
2728 .td-commit {
2733 .td-commit {
2729 &:extend(pre);
2734 &:extend(pre);
2730 border-bottom: @border-thickness solid @border-default-color;
2735 border-bottom: @border-thickness solid @border-default-color;
2731 }
2736 }
2732
2737
2733 .message {
2738 .message {
2734 height: auto;
2739 height: auto;
2735 max-width: 350px;
2740 max-width: 350px;
2736 white-space: normal;
2741 white-space: normal;
2737 text-overflow: initial;
2742 text-overflow: initial;
2738 overflow: visible;
2743 overflow: visible;
2739
2744
2740 .match { background-color: #faffa6;}
2745 .match { background-color: #faffa6;}
2741 .break { background-color: #DDE7EF; width: 100%; color: #747474; display: block; }
2746 .break { background-color: #DDE7EF; width: 100%; color: #747474; display: block; }
2742 }
2747 }
2743
2748
2744 .path {
2749 .path {
2745 border-bottom: none !important;
2750 border-bottom: none !important;
2746 border-left: 1px solid @grey6 !important;
2751 border-left: 1px solid @grey6 !important;
2747 border-right: 1px solid @grey6 !important;
2752 border-right: 1px solid @grey6 !important;
2748 }
2753 }
2749 }
2754 }
2750
2755
2751 table.rctable td.td-search-results div {
2756 table.rctable td.td-search-results div {
2752 max-width: 100%;
2757 max-width: 100%;
2753 }
2758 }
2754
2759
2755 #tip-box, .tip-box{
2760 #tip-box, .tip-box{
2756 padding: @menupadding/2;
2761 padding: @menupadding/2;
2757 display: block;
2762 display: block;
2758 border: @border-thickness solid @border-highlight-color;
2763 border: @border-thickness solid @border-highlight-color;
2759 .border-radius(@border-radius);
2764 .border-radius(@border-radius);
2760 background-color: white;
2765 background-color: white;
2761 z-index: 99;
2766 z-index: 99;
2762 white-space: pre-wrap;
2767 white-space: pre-wrap;
2763 }
2768 }
2764
2769
2765 #linktt {
2770 #linktt {
2766 width: 79px;
2771 width: 79px;
2767 }
2772 }
2768
2773
2769 #help_kb .modal-content{
2774 #help_kb .modal-content{
2770 max-width: 750px;
2775 max-width: 750px;
2771 margin: 10% auto;
2776 margin: 10% auto;
2772
2777
2773 table{
2778 table{
2774 td,th{
2779 td,th{
2775 border-bottom: none;
2780 border-bottom: none;
2776 line-height: 2.5em;
2781 line-height: 2.5em;
2777 }
2782 }
2778 th{
2783 th{
2779 padding-bottom: @textmargin/2;
2784 padding-bottom: @textmargin/2;
2780 }
2785 }
2781 td.keys{
2786 td.keys{
2782 text-align: center;
2787 text-align: center;
2783 }
2788 }
2784 }
2789 }
2785
2790
2786 .block-left{
2791 .block-left{
2787 width: 45%;
2792 width: 45%;
2788 margin-right: 5%;
2793 margin-right: 5%;
2789 }
2794 }
2790 .modal-footer{
2795 .modal-footer{
2791 clear: both;
2796 clear: both;
2792 }
2797 }
2793 .key.tag{
2798 .key.tag{
2794 padding: 0.5em;
2799 padding: 0.5em;
2795 background-color: @rcblue;
2800 background-color: @rcblue;
2796 color: white;
2801 color: white;
2797 border-color: @rcblue;
2802 border-color: @rcblue;
2798 .box-shadow(none);
2803 .box-shadow(none);
2799 }
2804 }
2800 }
2805 }
2801
2806
2802
2807
2803
2808
2804 //--- IMPORTS FOR REFACTORED STYLES ------------------//
2809 //--- IMPORTS FOR REFACTORED STYLES ------------------//
2805
2810
2806 @import 'statistics-graph';
2811 @import 'statistics-graph';
2807 @import 'tables';
2812 @import 'tables';
2808 @import 'forms';
2813 @import 'forms';
2809 @import 'diff';
2814 @import 'diff';
2810 @import 'summary';
2815 @import 'summary';
2811 @import 'navigation';
2816 @import 'navigation';
2812
2817
2813 //--- SHOW/HIDE SECTIONS --//
2818 //--- SHOW/HIDE SECTIONS --//
2814
2819
2815 .btn-collapse {
2820 .btn-collapse {
2816 float: right;
2821 float: right;
2817 text-align: right;
2822 text-align: right;
2818 font-family: @text-light;
2823 font-family: @text-light;
2819 font-size: @basefontsize;
2824 font-size: @basefontsize;
2820 cursor: pointer;
2825 cursor: pointer;
2821 border: none;
2826 border: none;
2822 color: @rcblue;
2827 color: @rcblue;
2823 }
2828 }
2824
2829
2825 table.rctable,
2830 table.rctable,
2826 table.dataTable {
2831 table.dataTable {
2827 .btn-collapse {
2832 .btn-collapse {
2828 float: right;
2833 float: right;
2829 text-align: right;
2834 text-align: right;
2830 }
2835 }
2831 }
2836 }
2832
2837
2833 table.rctable {
2838 table.rctable {
2834 &.permissions {
2839 &.permissions {
2835
2840
2836 th.td-owner {
2841 th.td-owner {
2837 padding: 0;
2842 padding: 0;
2838 }
2843 }
2839
2844
2840 th {
2845 th {
2841 font-weight: normal;
2846 font-weight: normal;
2842 padding: 0 5px;
2847 padding: 0 5px;
2843 }
2848 }
2844
2849
2845 }
2850 }
2846 }
2851 }
2847
2852
2848
2853
2849 // TODO: johbo: Fix for IE10, this avoids that we see a border
2854 // TODO: johbo: Fix for IE10, this avoids that we see a border
2850 // and padding around checkboxes and radio boxes. Move to the right place,
2855 // and padding around checkboxes and radio boxes. Move to the right place,
2851 // or better: Remove this once we did the form refactoring.
2856 // or better: Remove this once we did the form refactoring.
2852 input[type=checkbox],
2857 input[type=checkbox],
2853 input[type=radio] {
2858 input[type=radio] {
2854 padding: 0;
2859 padding: 0;
2855 border: none;
2860 border: none;
2856 }
2861 }
2857
2862
2858 .toggle-ajax-spinner{
2863 .toggle-ajax-spinner{
2859 height: 16px;
2864 height: 16px;
2860 width: 16px;
2865 width: 16px;
2861 }
2866 }
2862
2867
2863
2868
2864 .markup-form .clearfix {
2869 .markup-form .clearfix {
2865 .border-radius(@border-radius);
2870 .border-radius(@border-radius);
2866 margin: 0px;
2871 margin: 0px;
2867 }
2872 }
2868
2873
2869 .markup-form-area {
2874 .markup-form-area {
2870 padding: 8px 12px;
2875 padding: 8px 12px;
2871 border: 1px solid @grey4;
2876 border: 1px solid @grey4;
2872 .border-radius(@border-radius);
2877 .border-radius(@border-radius);
2873 }
2878 }
2874
2879
2875 .markup-form-area-header .nav-links {
2880 .markup-form-area-header .nav-links {
2876 display: flex;
2881 display: flex;
2877 flex-flow: row wrap;
2882 flex-flow: row wrap;
2878 -webkit-flex-flow: row wrap;
2883 -webkit-flex-flow: row wrap;
2879 width: 100%;
2884 width: 100%;
2880 }
2885 }
2881
2886
2882 .markup-form-area-footer {
2887 .markup-form-area-footer {
2883 display: flex;
2888 display: flex;
2884 }
2889 }
2885
2890
2886 .markup-form-area-footer .toolbar {
2891 .markup-form-area-footer .toolbar {
2887
2892
2888 }
2893 }
2889
2894
2890 // markup Form
2895 // markup Form
2891 div.markup-form {
2896 div.markup-form {
2892 margin-top: 20px;
2897 margin-top: 20px;
2893 }
2898 }
2894
2899
2895 .markup-form strong {
2900 .markup-form strong {
2896 display: block;
2901 display: block;
2897 margin-bottom: 15px;
2902 margin-bottom: 15px;
2898 }
2903 }
2899
2904
2900 .markup-form textarea {
2905 .markup-form textarea {
2901 width: 100%;
2906 width: 100%;
2902 height: 100px;
2907 height: 100px;
2903 font-family: @text-monospace;
2908 font-family: @text-monospace;
2904 }
2909 }
2905
2910
2906 form.markup-form {
2911 form.markup-form {
2907 margin-top: 10px;
2912 margin-top: 10px;
2908 margin-left: 10px;
2913 margin-left: 10px;
2909 }
2914 }
2910
2915
2911 .markup-form .comment-block-ta,
2916 .markup-form .comment-block-ta,
2912 .markup-form .preview-box {
2917 .markup-form .preview-box {
2913 .border-radius(@border-radius);
2918 .border-radius(@border-radius);
2914 .box-sizing(border-box);
2919 .box-sizing(border-box);
2915 background-color: white;
2920 background-color: white;
2916 }
2921 }
2917
2922
2918 .markup-form .preview-box.unloaded {
2923 .markup-form .preview-box.unloaded {
2919 height: 50px;
2924 height: 50px;
2920 text-align: center;
2925 text-align: center;
2921 padding: 20px;
2926 padding: 20px;
2922 background-color: white;
2927 background-color: white;
2923 }
2928 }
2924
2929
2925
2930
2926 .dropzone-wrapper {
2931 .dropzone-wrapper {
2927 border: 1px solid @grey5;
2932 border: 1px solid @grey5;
2928 padding: 20px;
2933 padding: 20px;
2929 }
2934 }
2930
2935
2931 .dropzone,
2936 .dropzone,
2932 .dropzone-pure {
2937 .dropzone-pure {
2933 border: 2px dashed @grey5;
2938 border: 2px dashed @grey5;
2934 border-radius: 5px;
2939 border-radius: 5px;
2935 background: white;
2940 background: white;
2936 min-height: 200px;
2941 min-height: 200px;
2937 padding: 54px;
2942 padding: 54px;
2938
2943
2939 .dz-message {
2944 .dz-message {
2940 font-weight: 700;
2945 font-weight: 700;
2941 text-align: center;
2946 text-align: center;
2942 margin: 2em 0;
2947 margin: 2em 0;
2943 }
2948 }
2944
2949
2945 }
2950 }
2946
2951
2947 .dz-preview {
2952 .dz-preview {
2948 margin: 10px 0 !important;
2953 margin: 10px 0 !important;
2949 position: relative;
2954 position: relative;
2950 vertical-align: top;
2955 vertical-align: top;
2951 padding: 10px;
2956 padding: 10px;
2952 border-bottom: 1px solid @grey5;
2957 border-bottom: 1px solid @grey5;
2953 }
2958 }
2954
2959
2955 .dz-filename {
2960 .dz-filename {
2956 font-weight: 700;
2961 font-weight: 700;
2957 float: left;
2962 float: left;
2958 }
2963 }
2959
2964
2960 .dz-sending {
2965 .dz-sending {
2961 float: right;
2966 float: right;
2962 }
2967 }
2963
2968
2964 .dz-response {
2969 .dz-response {
2965 clear: both
2970 clear: both
2966 }
2971 }
2967
2972
2968 .dz-filename-size {
2973 .dz-filename-size {
2969 float: right
2974 float: right
2970 }
2975 }
2971
2976
2972 .dz-error-message {
2977 .dz-error-message {
2973 color: @alert2;
2978 color: @alert2;
2974 padding-top: 10px;
2979 padding-top: 10px;
2975 clear: both;
2980 clear: both;
2976 }
2981 }
2977
2982
2978
2983
2979 .user-hovercard {
2984 .user-hovercard {
2980 padding: 5px;
2985 padding: 5px;
2981 }
2986 }
2982
2987
2983 .user-hovercard-icon {
2988 .user-hovercard-icon {
2984 display: inline;
2989 display: inline;
2985 padding: 0;
2990 padding: 0;
2986 box-sizing: content-box;
2991 box-sizing: content-box;
2987 border-radius: 50%;
2992 border-radius: 50%;
2988 float: left;
2993 float: left;
2989 }
2994 }
2990
2995
2991 .user-hovercard-name {
2996 .user-hovercard-name {
2992 float: right;
2997 float: right;
2993 vertical-align: top;
2998 vertical-align: top;
2994 padding-left: 10px;
2999 padding-left: 10px;
2995 min-width: 150px;
3000 min-width: 150px;
2996 }
3001 }
2997
3002
2998 .user-hovercard-bio {
3003 .user-hovercard-bio {
2999 clear: both;
3004 clear: both;
3000 padding-top: 10px;
3005 padding-top: 10px;
3001 }
3006 }
3002
3007
3003 .user-hovercard-header {
3008 .user-hovercard-header {
3004 clear: both;
3009 clear: both;
3005 min-height: 10px;
3010 min-height: 10px;
3006 }
3011 }
3007
3012
3008 .user-hovercard-footer {
3013 .user-hovercard-footer {
3009 clear: both;
3014 clear: both;
3010 min-height: 10px;
3015 min-height: 10px;
3011 }
3016 }
3012
3017
3013 .user-group-hovercard {
3018 .user-group-hovercard {
3014 padding: 5px;
3019 padding: 5px;
3015 }
3020 }
3016
3021
3017 .user-group-hovercard-icon {
3022 .user-group-hovercard-icon {
3018 display: inline;
3023 display: inline;
3019 padding: 0;
3024 padding: 0;
3020 box-sizing: content-box;
3025 box-sizing: content-box;
3021 border-radius: 50%;
3026 border-radius: 50%;
3022 float: left;
3027 float: left;
3023 }
3028 }
3024
3029
3025 .user-group-hovercard-name {
3030 .user-group-hovercard-name {
3026 float: left;
3031 float: left;
3027 vertical-align: top;
3032 vertical-align: top;
3028 padding-left: 10px;
3033 padding-left: 10px;
3029 min-width: 150px;
3034 min-width: 150px;
3030 }
3035 }
3031
3036
3032 .user-group-hovercard-icon i {
3037 .user-group-hovercard-icon i {
3033 border: 1px solid @grey4;
3038 border: 1px solid @grey4;
3034 border-radius: 4px;
3039 border-radius: 4px;
3035 }
3040 }
3036
3041
3037 .user-group-hovercard-bio {
3042 .user-group-hovercard-bio {
3038 clear: both;
3043 clear: both;
3039 padding-top: 10px;
3044 padding-top: 10px;
3040 line-height: 1.0em;
3045 line-height: 1.0em;
3041 }
3046 }
3042
3047
3043 .user-group-hovercard-header {
3048 .user-group-hovercard-header {
3044 clear: both;
3049 clear: both;
3045 min-height: 10px;
3050 min-height: 10px;
3046 }
3051 }
3047
3052
3048 .user-group-hovercard-footer {
3053 .user-group-hovercard-footer {
3049 clear: both;
3054 clear: both;
3050 min-height: 10px;
3055 min-height: 10px;
3051 }
3056 }
3052
3057
3053 .pr-hovercard-header {
3058 .pr-hovercard-header {
3054 clear: both;
3059 clear: both;
3055 display: block;
3060 display: block;
3056 line-height: 20px;
3061 line-height: 20px;
3057 }
3062 }
3058
3063
3059 .pr-hovercard-user {
3064 .pr-hovercard-user {
3060 display: flex;
3065 display: flex;
3061 align-items: center;
3066 align-items: center;
3062 padding-left: 5px;
3067 padding-left: 5px;
3063 }
3068 }
3064
3069
3065 .pr-hovercard-title {
3070 .pr-hovercard-title {
3066 padding-top: 5px;
3071 padding-top: 5px;
3067 } No newline at end of file
3072 }
@@ -1,467 +1,467 b''
1 ## -*- coding: utf-8 -*-
1 ## -*- coding: utf-8 -*-
2 ## usage:
2 ## usage:
3 ## <%namespace name="comment" file="/changeset/changeset_file_comment.mako"/>
3 ## <%namespace name="comment" file="/changeset/changeset_file_comment.mako"/>
4 ## ${comment.comment_block(comment)}
4 ## ${comment.comment_block(comment)}
5 ##
5 ##
6
6
7 <%!
7 <%!
8 from rhodecode.lib import html_filters
8 from rhodecode.lib import html_filters
9 %>
9 %>
10
10
11 <%namespace name="base" file="/base/base.mako"/>
11 <%namespace name="base" file="/base/base.mako"/>
12 <%def name="comment_block(comment, inline=False, active_pattern_entries=None)">
12 <%def name="comment_block(comment, inline=False, active_pattern_entries=None)">
13 <% pr_index_ver = comment.get_index_version(getattr(c, 'versions', [])) %>
13 <% pr_index_ver = comment.get_index_version(getattr(c, 'versions', [])) %>
14 <% latest_ver = len(getattr(c, 'versions', [])) %>
14 <% latest_ver = len(getattr(c, 'versions', [])) %>
15 % if inline:
15 % if inline:
16 <% outdated_at_ver = comment.outdated_at_version(getattr(c, 'at_version_num', None)) %>
16 <% outdated_at_ver = comment.outdated_at_version(getattr(c, 'at_version_num', None)) %>
17 % else:
17 % else:
18 <% outdated_at_ver = comment.older_than_version(getattr(c, 'at_version_num', None)) %>
18 <% outdated_at_ver = comment.older_than_version(getattr(c, 'at_version_num', None)) %>
19 % endif
19 % endif
20
20
21 <div class="comment
21 <div class="comment
22 ${'comment-inline' if inline else 'comment-general'}
22 ${'comment-inline' if inline else 'comment-general'}
23 ${'comment-outdated' if outdated_at_ver else 'comment-current'}"
23 ${'comment-outdated' if outdated_at_ver else 'comment-current'}"
24 id="comment-${comment.comment_id}"
24 id="comment-${comment.comment_id}"
25 line="${comment.line_no}"
25 line="${comment.line_no}"
26 data-comment-id="${comment.comment_id}"
26 data-comment-id="${comment.comment_id}"
27 data-comment-type="${comment.comment_type}"
27 data-comment-type="${comment.comment_type}"
28 data-comment-renderer="${comment.renderer}"
28 data-comment-renderer="${comment.renderer}"
29 data-comment-text="${comment.text | html_filters.base64,n}"
29 data-comment-text="${comment.text | html_filters.base64,n}"
30 data-comment-line-no="${comment.line_no}"
30 data-comment-line-no="${comment.line_no}"
31 data-comment-inline=${h.json.dumps(inline)}
31 data-comment-inline=${h.json.dumps(inline)}
32 style="${'display: none;' if outdated_at_ver else ''}">
32 style="${'display: none;' if outdated_at_ver else ''}">
33
33
34 <div class="meta">
34 <div class="meta">
35 <div class="comment-type-label">
35 <div class="comment-type-label">
36 <div class="comment-label ${comment.comment_type or 'note'}" id="comment-label-${comment.comment_id}" title="line: ${comment.line_no}">
36 <div class="comment-label ${comment.comment_type or 'note'}" id="comment-label-${comment.comment_id}" title="line: ${comment.line_no}">
37 % if comment.comment_type == 'todo':
37 % if comment.comment_type == 'todo':
38 % if comment.resolved:
38 % if comment.resolved:
39 <div class="resolved tooltip" title="${_('Resolved by comment #{}').format(comment.resolved.comment_id)}">
39 <div class="resolved tooltip" title="${_('Resolved by comment #{}').format(comment.resolved.comment_id)}">
40 <a href="#comment-${comment.resolved.comment_id}">${comment.comment_type}</a>
40 <a href="#comment-${comment.resolved.comment_id}">${comment.comment_type}</a>
41 </div>
41 </div>
42 % else:
42 % else:
43 <div class="resolved tooltip" style="display: none">
43 <div class="resolved tooltip" style="display: none">
44 <span>${comment.comment_type}</span>
44 <span>${comment.comment_type}</span>
45 </div>
45 </div>
46 <div class="resolve tooltip" onclick="return Rhodecode.comments.createResolutionComment(${comment.comment_id});" title="${_('Click to resolve this comment')}">
46 <div class="resolve tooltip" onclick="return Rhodecode.comments.createResolutionComment(${comment.comment_id});" title="${_('Click to resolve this comment')}">
47 ${comment.comment_type}
47 ${comment.comment_type}
48 </div>
48 </div>
49 % endif
49 % endif
50 % else:
50 % else:
51 % if comment.resolved_comment:
51 % if comment.resolved_comment:
52 fix
52 fix
53 <a href="#comment-${comment.resolved_comment.comment_id}" onclick="Rhodecode.comments.scrollToComment($('#comment-${comment.resolved_comment.comment_id}'), 0, ${h.json.dumps(comment.resolved_comment.outdated)})">
53 <a href="#comment-${comment.resolved_comment.comment_id}" onclick="Rhodecode.comments.scrollToComment($('#comment-${comment.resolved_comment.comment_id}'), 0, ${h.json.dumps(comment.resolved_comment.outdated)})">
54 <span style="text-decoration: line-through">#${comment.resolved_comment.comment_id}</span>
54 <span style="text-decoration: line-through">#${comment.resolved_comment.comment_id}</span>
55 </a>
55 </a>
56 % else:
56 % else:
57 ${comment.comment_type or 'note'}
57 ${comment.comment_type or 'note'}
58 % endif
58 % endif
59 % endif
59 % endif
60 </div>
60 </div>
61 </div>
61 </div>
62
62
63 <div class="author ${'author-inline' if inline else 'author-general'}">
63 <div class="author ${'author-inline' if inline else 'author-general'}">
64 ${base.gravatar_with_user(comment.author.email, 16, tooltip=True)}
64 ${base.gravatar_with_user(comment.author.email, 16, tooltip=True)}
65 </div>
65 </div>
66 <div class="date">
66 <div class="date">
67 ${h.age_component(comment.modified_at, time_is_local=True)}
67 ${h.age_component(comment.modified_at, time_is_local=True)}
68 </div>
68 </div>
69 % if comment.history:
69 % if comment.history:
70 <div class="date">
70 <div class="date">
71 <span class="comment-area-text">${_('Edited')}:</span>
71 <span class="comment-area-text">${_('Edited')}:</span>
72 <select class="comment-version-select" id="comment_history_for_comment_${comment.comment_id}"
72 <select class="comment-version-select" id="comment_history_for_comment_${comment.comment_id}"
73 onchange="return Rhodecode.comments.showVersion(this)"
73 onchange="return Rhodecode.comments.showVersion(this)"
74 name="comment_type">
74 name="comment_type">
75
75
76 <option style="display: none" value="0">---</option>
76 <option style="display: none" value="0">---</option>
77 % for comment_history in comment.history:
77 % for comment_history in comment.history:
78 <option data-comment-history-id="${comment_history.comment_history_id}"
78 <option data-comment-history-id="${comment_history.comment_history_id}"
79 data-comment-id="${comment.comment_id}"
79 data-comment-id="${comment.comment_id}"
80 value="${comment_history.version}">
80 value="${comment_history.version}">
81 ${comment_history.version}
81 ${comment_history.version}
82 </option>
82 </option>
83 % endfor
83 % endfor
84 </select>
84 </select>
85 </div>
85 </div>
86 % else:
86 % else:
87 <div class="date" style="display: none">
87 <div class="date" style="display: none">
88 <span class="comment-area-text">${_('Edited')}</span>
88 <span class="comment-area-text">${_('Edited')}</span>
89 <select class="comment-version-select" id="comment_history_for_comment_${comment.comment_id}"
89 <select class="comment-version-select" id="comment_history_for_comment_${comment.comment_id}"
90 onchange="return Rhodecode.comments.showVersion(this)"
90 onchange="return Rhodecode.comments.showVersion(this)"
91 name="comment_type">
91 name="comment_type">
92 <option style="display: none" value="0">---</option>
92 <option style="display: none" value="0">---</option>
93 </select>
93 </select>
94 </div>
94 </div>
95 %endif
95 %endif
96 % if inline:
96 % if inline:
97 <span></span>
97 <span></span>
98 % else:
98 % else:
99 <div class="status-change">
99 <div class="status-change">
100 % if comment.pull_request:
100 % if comment.pull_request:
101 <a href="${h.route_path('pullrequest_show',repo_name=comment.pull_request.target_repo.repo_name,pull_request_id=comment.pull_request.pull_request_id)}">
101 <a href="${h.route_path('pullrequest_show',repo_name=comment.pull_request.target_repo.repo_name,pull_request_id=comment.pull_request.pull_request_id)}">
102 % if comment.status_change:
102 % if comment.status_change:
103 ${_('pull request !{}').format(comment.pull_request.pull_request_id)}:
103 ${_('pull request !{}').format(comment.pull_request.pull_request_id)}:
104 % else:
104 % else:
105 ${_('pull request !{}').format(comment.pull_request.pull_request_id)}
105 ${_('pull request !{}').format(comment.pull_request.pull_request_id)}
106 % endif
106 % endif
107 </a>
107 </a>
108 % else:
108 % else:
109 % if comment.status_change:
109 % if comment.status_change:
110 ${_('Status change on commit')}:
110 ${_('Status change on commit')}:
111 % endif
111 % endif
112 % endif
112 % endif
113 </div>
113 </div>
114 % endif
114 % endif
115
115
116 % if comment.status_change:
116 % if comment.status_change:
117 <i class="icon-circle review-status-${comment.status_change[0].status}"></i>
117 <i class="icon-circle review-status-${comment.status_change[0].status}"></i>
118 <div title="${_('Commit status')}" class="changeset-status-lbl">
118 <div title="${_('Commit status')}" class="changeset-status-lbl">
119 ${comment.status_change[0].status_lbl}
119 ${comment.status_change[0].status_lbl}
120 </div>
120 </div>
121 % endif
121 % endif
122
122
123 <a class="permalink" href="#comment-${comment.comment_id}"> &para;</a>
123 <a class="permalink" href="#comment-${comment.comment_id}"> &para;</a>
124
124
125 <div class="comment-links-block">
125 <div class="comment-links-block">
126 % if comment.pull_request and comment.pull_request.author.user_id == comment.author.user_id:
126 % if comment.pull_request and comment.pull_request.author.user_id == comment.author.user_id:
127 <span class="tag authortag tooltip" title="${_('Pull request author')}">
127 <span class="tag authortag tooltip" title="${_('Pull request author')}">
128 ${_('author')}
128 ${_('author')}
129 </span>
129 </span>
130 |
130 |
131 % endif
131 % endif
132 % if inline:
132 % if inline:
133 <div class="pr-version-inline">
133 <div class="pr-version-inline">
134 <a href="${request.current_route_path(_query=dict(version=comment.pull_request_version_id), _anchor='comment-{}'.format(comment.comment_id))}">
134 <a href="${request.current_route_path(_query=dict(version=comment.pull_request_version_id), _anchor='comment-{}'.format(comment.comment_id))}">
135 % if outdated_at_ver:
135 % if outdated_at_ver:
136 <code class="pr-version-num" title="${_('Outdated comment from pull request version v{0}, latest v{1}').format(pr_index_ver, latest_ver)}">
136 <code class="pr-version-num" title="${_('Outdated comment from pull request version v{0}, latest v{1}').format(pr_index_ver, latest_ver)}">
137 outdated ${'v{}'.format(pr_index_ver)} |
137 outdated ${'v{}'.format(pr_index_ver)} |
138 </code>
138 </code>
139 % elif pr_index_ver:
139 % elif pr_index_ver:
140 <code class="pr-version-num" title="${_('Comment from pull request version v{0}, latest v{1}').format(pr_index_ver, latest_ver)}">
140 <code class="pr-version-num" title="${_('Comment from pull request version v{0}, latest v{1}').format(pr_index_ver, latest_ver)}">
141 ${'v{}'.format(pr_index_ver)} |
141 ${'v{}'.format(pr_index_ver)} |
142 </code>
142 </code>
143 % endif
143 % endif
144 </a>
144 </a>
145 </div>
145 </div>
146 % else:
146 % else:
147 % if comment.pull_request_version_id and pr_index_ver:
147 % if comment.pull_request_version_id and pr_index_ver:
148 |
148 |
149 <div class="pr-version">
149 <div class="pr-version">
150 % if comment.outdated:
150 % if comment.outdated:
151 <a href="?version=${comment.pull_request_version_id}#comment-${comment.comment_id}">
151 <a href="?version=${comment.pull_request_version_id}#comment-${comment.comment_id}">
152 ${_('Outdated comment from pull request version v{0}, latest v{1}').format(pr_index_ver, latest_ver)}
152 ${_('Outdated comment from pull request version v{0}, latest v{1}').format(pr_index_ver, latest_ver)}
153 </a>
153 </a>
154 % else:
154 % else:
155 <div title="${_('Comment from pull request version v{0}, latest v{1}').format(pr_index_ver, latest_ver)}">
155 <div title="${_('Comment from pull request version v{0}, latest v{1}').format(pr_index_ver, latest_ver)}">
156 <a href="${h.route_path('pullrequest_show',repo_name=comment.pull_request.target_repo.repo_name,pull_request_id=comment.pull_request.pull_request_id, version=comment.pull_request_version_id)}">
156 <a href="${h.route_path('pullrequest_show',repo_name=comment.pull_request.target_repo.repo_name,pull_request_id=comment.pull_request.pull_request_id, version=comment.pull_request_version_id)}">
157 <code class="pr-version-num">
157 <code class="pr-version-num">
158 ${'v{}'.format(pr_index_ver)}
158 ${'v{}'.format(pr_index_ver)}
159 </code>
159 </code>
160 </a>
160 </a>
161 </div>
161 </div>
162 % endif
162 % endif
163 </div>
163 </div>
164 % endif
164 % endif
165 % endif
165 % endif
166
166
167 ## show delete comment if it's not a PR (regular comments) or it's PR that is not closed
167 ## show delete comment if it's not a PR (regular comments) or it's PR that is not closed
168 ## only super-admin, repo admin OR comment owner can delete, also hide delete if currently viewed comment is outdated
168 ## only super-admin, repo admin OR comment owner can delete, also hide delete if currently viewed comment is outdated
169 %if not outdated_at_ver and (not comment.pull_request or (comment.pull_request and not comment.pull_request.is_closed())):
169 %if not outdated_at_ver and (not comment.pull_request or (comment.pull_request and not comment.pull_request.is_closed())):
170 ## permissions to delete
170 ## permissions to delete
171 %if comment.immutable is False and (c.is_super_admin or h.HasRepoPermissionAny('repository.admin')(c.repo_name) or comment.author.user_id == c.rhodecode_user.user_id):
171 %if comment.immutable is False and (c.is_super_admin or h.HasRepoPermissionAny('repository.admin')(c.repo_name) or comment.author.user_id == c.rhodecode_user.user_id):
172 %if comment.comment_type == 'note':
172 %if comment.comment_type == 'note':
173 <a onclick="return Rhodecode.comments.editComment(this);"
173 <a onclick="return Rhodecode.comments.editComment(this);"
174 class="edit-comment">${_('Edit')}</a>
174 class="edit-comment">${_('Edit')}</a>
175 %else:
175 %else:
176 <button class="btn-link" disabled="disabled">${_('Edit')}</button>
176 <a class="tooltip edit-comment link-disabled" disabled="disabled" title="${_('Action unavailable')}">${_('Edit')}</a>
177 %endif
177 %endif
178 | <a onclick="return Rhodecode.comments.deleteComment(this);"
178 | <a onclick="return Rhodecode.comments.deleteComment(this);"
179 class="delete-comment">${_('Delete')}</a>
179 class="delete-comment">${_('Delete')}</a>
180 %else:
180 %else:
181 <button class="btn-link" disabled="disabled">${_('Edit')}</button>
181 <a class="tooltip edit-comment link-disabled" disabled="disabled" title="${_('Action unavailable')}">${_('Edit')}</a>
182 | <button class="btn-link" disabled="disabled">${_('Delete')}</button>
182 | <a class="tooltip edit-comment link-disabled" disabled="disabled" title="${_('Action unavailable')}">${_('Delete')}</a>
183 %endif
183 %endif
184 %else:
184 %else:
185 <button class="btn-link" disabled="disabled">${_('Edit')}</button>
185 <a class="tooltip edit-comment link-disabled" disabled="disabled" title="${_('Action unavailable')}">${_('Edit')}</a>
186 | <button class="btn-link" disabled="disabled">${_('Delete')}</button>
186 | <a class="tooltip edit-comment link-disabled" disabled="disabled" title="${_('Action unavailable')}">${_('Delete')}</a>
187 %endif
187 %endif
188
188
189 % if outdated_at_ver:
189 % if outdated_at_ver:
190 | <a onclick="return Rhodecode.comments.prevOutdatedComment(this);" class="tooltip prev-comment" title="${_('Jump to the previous outdated comment')}"> <i class="icon-angle-left"></i> </a>
190 | <a onclick="return Rhodecode.comments.prevOutdatedComment(this);" class="tooltip prev-comment" title="${_('Jump to the previous outdated comment')}"> <i class="icon-angle-left"></i> </a>
191 | <a onclick="return Rhodecode.comments.nextOutdatedComment(this);" class="tooltip next-comment" title="${_('Jump to the next outdated comment')}"> <i class="icon-angle-right"></i></a>
191 | <a onclick="return Rhodecode.comments.nextOutdatedComment(this);" class="tooltip next-comment" title="${_('Jump to the next outdated comment')}"> <i class="icon-angle-right"></i></a>
192 % else:
192 % else:
193 | <a onclick="return Rhodecode.comments.prevComment(this);" class="tooltip prev-comment" title="${_('Jump to the previous comment')}"> <i class="icon-angle-left"></i></a>
193 | <a onclick="return Rhodecode.comments.prevComment(this);" class="tooltip prev-comment" title="${_('Jump to the previous comment')}"> <i class="icon-angle-left"></i></a>
194 | <a onclick="return Rhodecode.comments.nextComment(this);" class="tooltip next-comment" title="${_('Jump to the next comment')}"> <i class="icon-angle-right"></i></a>
194 | <a onclick="return Rhodecode.comments.nextComment(this);" class="tooltip next-comment" title="${_('Jump to the next comment')}"> <i class="icon-angle-right"></i></a>
195 % endif
195 % endif
196
196
197 </div>
197 </div>
198 </div>
198 </div>
199 <div class="text">
199 <div class="text">
200 ${h.render(comment.text, renderer=comment.renderer, mentions=True, repo_name=getattr(c, 'repo_name', None), active_pattern_entries=active_pattern_entries)}
200 ${h.render(comment.text, renderer=comment.renderer, mentions=True, repo_name=getattr(c, 'repo_name', None), active_pattern_entries=active_pattern_entries)}
201 </div>
201 </div>
202
202
203 </div>
203 </div>
204 </%def>
204 </%def>
205
205
206 ## generate main comments
206 ## generate main comments
207 <%def name="generate_comments(comments, include_pull_request=False, is_pull_request=False)">
207 <%def name="generate_comments(comments, include_pull_request=False, is_pull_request=False)">
208 <%
208 <%
209 active_pattern_entries = h.get_active_pattern_entries(getattr(c, 'repo_name', None))
209 active_pattern_entries = h.get_active_pattern_entries(getattr(c, 'repo_name', None))
210 %>
210 %>
211
211
212 <div class="general-comments" id="comments">
212 <div class="general-comments" id="comments">
213 %for comment in comments:
213 %for comment in comments:
214 <div id="comment-tr-${comment.comment_id}">
214 <div id="comment-tr-${comment.comment_id}">
215 ## only render comments that are not from pull request, or from
215 ## only render comments that are not from pull request, or from
216 ## pull request and a status change
216 ## pull request and a status change
217 %if not comment.pull_request or (comment.pull_request and comment.status_change) or include_pull_request:
217 %if not comment.pull_request or (comment.pull_request and comment.status_change) or include_pull_request:
218 ${comment_block(comment, active_pattern_entries=active_pattern_entries)}
218 ${comment_block(comment, active_pattern_entries=active_pattern_entries)}
219 %endif
219 %endif
220 </div>
220 </div>
221 %endfor
221 %endfor
222 ## to anchor ajax comments
222 ## to anchor ajax comments
223 <div id="injected_page_comments"></div>
223 <div id="injected_page_comments"></div>
224 </div>
224 </div>
225 </%def>
225 </%def>
226
226
227
227
228 <%def name="comments(post_url, cur_status, is_pull_request=False, is_compare=False, change_status=True, form_extras=None)">
228 <%def name="comments(post_url, cur_status, is_pull_request=False, is_compare=False, change_status=True, form_extras=None)">
229
229
230 <div class="comments">
230 <div class="comments">
231 <%
231 <%
232 if is_pull_request:
232 if is_pull_request:
233 placeholder = _('Leave a comment on this Pull Request.')
233 placeholder = _('Leave a comment on this Pull Request.')
234 elif is_compare:
234 elif is_compare:
235 placeholder = _('Leave a comment on {} commits in this range.').format(len(form_extras))
235 placeholder = _('Leave a comment on {} commits in this range.').format(len(form_extras))
236 else:
236 else:
237 placeholder = _('Leave a comment on this Commit.')
237 placeholder = _('Leave a comment on this Commit.')
238 %>
238 %>
239
239
240 % if c.rhodecode_user.username != h.DEFAULT_USER:
240 % if c.rhodecode_user.username != h.DEFAULT_USER:
241 <div class="js-template" id="cb-comment-general-form-template">
241 <div class="js-template" id="cb-comment-general-form-template">
242 ## template generated for injection
242 ## template generated for injection
243 ${comment_form(form_type='general', review_statuses=c.commit_statuses, form_extras=form_extras)}
243 ${comment_form(form_type='general', review_statuses=c.commit_statuses, form_extras=form_extras)}
244 </div>
244 </div>
245
245
246 <div id="cb-comment-general-form-placeholder" class="comment-form ac">
246 <div id="cb-comment-general-form-placeholder" class="comment-form ac">
247 ## inject form here
247 ## inject form here
248 </div>
248 </div>
249 <script type="text/javascript">
249 <script type="text/javascript">
250 var lineNo = 'general';
250 var lineNo = 'general';
251 var resolvesCommentId = null;
251 var resolvesCommentId = null;
252 var generalCommentForm = Rhodecode.comments.createGeneralComment(
252 var generalCommentForm = Rhodecode.comments.createGeneralComment(
253 lineNo, "${placeholder}", resolvesCommentId);
253 lineNo, "${placeholder}", resolvesCommentId);
254
254
255 // set custom success callback on rangeCommit
255 // set custom success callback on rangeCommit
256 % if is_compare:
256 % if is_compare:
257 generalCommentForm.setHandleFormSubmit(function(o) {
257 generalCommentForm.setHandleFormSubmit(function(o) {
258 var self = generalCommentForm;
258 var self = generalCommentForm;
259
259
260 var text = self.cm.getValue();
260 var text = self.cm.getValue();
261 var status = self.getCommentStatus();
261 var status = self.getCommentStatus();
262 var commentType = self.getCommentType();
262 var commentType = self.getCommentType();
263
263
264 if (text === "" && !status) {
264 if (text === "" && !status) {
265 return;
265 return;
266 }
266 }
267
267
268 // we can pick which commits we want to make the comment by
268 // we can pick which commits we want to make the comment by
269 // selecting them via click on preview pane, this will alter the hidden inputs
269 // selecting them via click on preview pane, this will alter the hidden inputs
270 var cherryPicked = $('#changeset_compare_view_content .compare_select.hl').length > 0;
270 var cherryPicked = $('#changeset_compare_view_content .compare_select.hl').length > 0;
271
271
272 var commitIds = [];
272 var commitIds = [];
273 $('#changeset_compare_view_content .compare_select').each(function(el) {
273 $('#changeset_compare_view_content .compare_select').each(function(el) {
274 var commitId = this.id.replace('row-', '');
274 var commitId = this.id.replace('row-', '');
275 if ($(this).hasClass('hl') || !cherryPicked) {
275 if ($(this).hasClass('hl') || !cherryPicked) {
276 $("input[data-commit-id='{0}']".format(commitId)).val(commitId);
276 $("input[data-commit-id='{0}']".format(commitId)).val(commitId);
277 commitIds.push(commitId);
277 commitIds.push(commitId);
278 } else {
278 } else {
279 $("input[data-commit-id='{0}']".format(commitId)).val('')
279 $("input[data-commit-id='{0}']".format(commitId)).val('')
280 }
280 }
281 });
281 });
282
282
283 self.setActionButtonsDisabled(true);
283 self.setActionButtonsDisabled(true);
284 self.cm.setOption("readOnly", true);
284 self.cm.setOption("readOnly", true);
285 var postData = {
285 var postData = {
286 'text': text,
286 'text': text,
287 'changeset_status': status,
287 'changeset_status': status,
288 'comment_type': commentType,
288 'comment_type': commentType,
289 'commit_ids': commitIds,
289 'commit_ids': commitIds,
290 'csrf_token': CSRF_TOKEN
290 'csrf_token': CSRF_TOKEN
291 };
291 };
292
292
293 var submitSuccessCallback = function(o) {
293 var submitSuccessCallback = function(o) {
294 location.reload(true);
294 location.reload(true);
295 };
295 };
296 var submitFailCallback = function(){
296 var submitFailCallback = function(){
297 self.resetCommentFormState(text)
297 self.resetCommentFormState(text)
298 };
298 };
299 self.submitAjaxPOST(
299 self.submitAjaxPOST(
300 self.submitUrl, postData, submitSuccessCallback, submitFailCallback);
300 self.submitUrl, postData, submitSuccessCallback, submitFailCallback);
301 });
301 });
302 % endif
302 % endif
303
303
304 </script>
304 </script>
305 % else:
305 % else:
306 ## form state when not logged in
306 ## form state when not logged in
307 <div class="comment-form ac">
307 <div class="comment-form ac">
308
308
309 <div class="comment-area">
309 <div class="comment-area">
310 <div class="comment-area-header">
310 <div class="comment-area-header">
311 <ul class="nav-links clearfix">
311 <ul class="nav-links clearfix">
312 <li class="active">
312 <li class="active">
313 <a class="disabled" href="#edit-btn" disabled="disabled" onclick="return false">${_('Write')}</a>
313 <a class="disabled" href="#edit-btn" disabled="disabled" onclick="return false">${_('Write')}</a>
314 </li>
314 </li>
315 <li class="">
315 <li class="">
316 <a class="disabled" href="#preview-btn" disabled="disabled" onclick="return false">${_('Preview')}</a>
316 <a class="disabled" href="#preview-btn" disabled="disabled" onclick="return false">${_('Preview')}</a>
317 </li>
317 </li>
318 </ul>
318 </ul>
319 </div>
319 </div>
320
320
321 <div class="comment-area-write" style="display: block;">
321 <div class="comment-area-write" style="display: block;">
322 <div id="edit-container">
322 <div id="edit-container">
323 <div style="padding: 40px 0">
323 <div style="padding: 40px 0">
324 ${_('You need to be logged in to leave comments.')}
324 ${_('You need to be logged in to leave comments.')}
325 <a href="${h.route_path('login', _query={'came_from': h.current_route_path(request)})}">${_('Login now')}</a>
325 <a href="${h.route_path('login', _query={'came_from': h.current_route_path(request)})}">${_('Login now')}</a>
326 </div>
326 </div>
327 </div>
327 </div>
328 <div id="preview-container" class="clearfix" style="display: none;">
328 <div id="preview-container" class="clearfix" style="display: none;">
329 <div id="preview-box" class="preview-box"></div>
329 <div id="preview-box" class="preview-box"></div>
330 </div>
330 </div>
331 </div>
331 </div>
332
332
333 <div class="comment-area-footer">
333 <div class="comment-area-footer">
334 <div class="toolbar">
334 <div class="toolbar">
335 <div class="toolbar-text">
335 <div class="toolbar-text">
336 </div>
336 </div>
337 </div>
337 </div>
338 </div>
338 </div>
339 </div>
339 </div>
340
340
341 <div class="comment-footer">
341 <div class="comment-footer">
342 </div>
342 </div>
343
343
344 </div>
344 </div>
345 % endif
345 % endif
346
346
347 <script type="text/javascript">
347 <script type="text/javascript">
348 bindToggleButtons();
348 bindToggleButtons();
349 </script>
349 </script>
350 </div>
350 </div>
351 </%def>
351 </%def>
352
352
353
353
354 <%def name="comment_form(form_type, form_id='', lineno_id='{1}', review_statuses=None, form_extras=None)">
354 <%def name="comment_form(form_type, form_id='', lineno_id='{1}', review_statuses=None, form_extras=None)">
355
355
356 ## comment injected based on assumption that user is logged in
356 ## comment injected based on assumption that user is logged in
357 <form ${('id="{}"'.format(form_id) if form_id else '') |n} action="#" method="GET">
357 <form ${('id="{}"'.format(form_id) if form_id else '') |n} action="#" method="GET">
358
358
359 <div class="comment-area">
359 <div class="comment-area">
360 <div class="comment-area-header">
360 <div class="comment-area-header">
361 <div class="pull-left">
361 <div class="pull-left">
362 <ul class="nav-links clearfix">
362 <ul class="nav-links clearfix">
363 <li class="active">
363 <li class="active">
364 <a href="#edit-btn" tabindex="-1" id="edit-btn_${lineno_id}">${_('Write')}</a>
364 <a href="#edit-btn" tabindex="-1" id="edit-btn_${lineno_id}">${_('Write')}</a>
365 </li>
365 </li>
366 <li class="">
366 <li class="">
367 <a href="#preview-btn" tabindex="-1" id="preview-btn_${lineno_id}">${_('Preview')}</a>
367 <a href="#preview-btn" tabindex="-1" id="preview-btn_${lineno_id}">${_('Preview')}</a>
368 </li>
368 </li>
369 </ul>
369 </ul>
370 </div>
370 </div>
371 <div class="pull-right">
371 <div class="pull-right">
372 <span class="comment-area-text">${_('Mark as')}:</span>
372 <span class="comment-area-text">${_('Mark as')}:</span>
373 <select class="comment-type" id="comment_type_${lineno_id}" name="comment_type">
373 <select class="comment-type" id="comment_type_${lineno_id}" name="comment_type">
374 % for val in c.visual.comment_types:
374 % for val in c.visual.comment_types:
375 <option value="${val}">${val.upper()}</option>
375 <option value="${val}">${val.upper()}</option>
376 % endfor
376 % endfor
377 </select>
377 </select>
378 </div>
378 </div>
379 </div>
379 </div>
380
380
381 <div class="comment-area-write" style="display: block;">
381 <div class="comment-area-write" style="display: block;">
382 <div id="edit-container_${lineno_id}">
382 <div id="edit-container_${lineno_id}">
383 <textarea id="text_${lineno_id}" name="text" class="comment-block-ta ac-input"></textarea>
383 <textarea id="text_${lineno_id}" name="text" class="comment-block-ta ac-input"></textarea>
384 </div>
384 </div>
385 <div id="preview-container_${lineno_id}" class="clearfix" style="display: none;">
385 <div id="preview-container_${lineno_id}" class="clearfix" style="display: none;">
386 <div id="preview-box_${lineno_id}" class="preview-box"></div>
386 <div id="preview-box_${lineno_id}" class="preview-box"></div>
387 </div>
387 </div>
388 </div>
388 </div>
389
389
390 <div class="comment-area-footer comment-attachment-uploader">
390 <div class="comment-area-footer comment-attachment-uploader">
391 <div class="toolbar">
391 <div class="toolbar">
392
392
393 <div class="comment-attachment-text">
393 <div class="comment-attachment-text">
394 <div class="dropzone-text">
394 <div class="dropzone-text">
395 ${_("Drag'n Drop files here or")} <span class="link pick-attachment">${_('Choose your files')}</span>.<br>
395 ${_("Drag'n Drop files here or")} <span class="link pick-attachment">${_('Choose your files')}</span>.<br>
396 </div>
396 </div>
397 <div class="dropzone-upload" style="display:none">
397 <div class="dropzone-upload" style="display:none">
398 <i class="icon-spin animate-spin"></i> ${_('uploading...')}
398 <i class="icon-spin animate-spin"></i> ${_('uploading...')}
399 </div>
399 </div>
400 </div>
400 </div>
401
401
402 ## comments dropzone template, empty on purpose
402 ## comments dropzone template, empty on purpose
403 <div style="display: none" class="comment-attachment-uploader-template">
403 <div style="display: none" class="comment-attachment-uploader-template">
404 <div class="dz-file-preview" style="margin: 0">
404 <div class="dz-file-preview" style="margin: 0">
405 <div class="dz-error-message"></div>
405 <div class="dz-error-message"></div>
406 </div>
406 </div>
407 </div>
407 </div>
408
408
409 </div>
409 </div>
410 </div>
410 </div>
411 </div>
411 </div>
412
412
413 <div class="comment-footer">
413 <div class="comment-footer">
414
414
415 ## inject extra inputs into the form
415 ## inject extra inputs into the form
416 % if form_extras and isinstance(form_extras, (list, tuple)):
416 % if form_extras and isinstance(form_extras, (list, tuple)):
417 <div id="comment_form_extras">
417 <div id="comment_form_extras">
418 % for form_ex_el in form_extras:
418 % for form_ex_el in form_extras:
419 ${form_ex_el|n}
419 ${form_ex_el|n}
420 % endfor
420 % endfor
421 </div>
421 </div>
422 % endif
422 % endif
423
423
424 <div class="action-buttons">
424 <div class="action-buttons">
425 % if form_type != 'inline':
425 % if form_type != 'inline':
426 <div class="action-buttons-extra"></div>
426 <div class="action-buttons-extra"></div>
427 % endif
427 % endif
428
428
429 <input class="btn btn-success comment-button-input" id="save_${lineno_id}" name="save" type="submit" value="${_('Comment')}">
429 <input class="btn btn-success comment-button-input" id="save_${lineno_id}" name="save" type="submit" value="${_('Comment')}">
430
430
431 ## inline for has a file, and line-number together with cancel hide button.
431 ## inline for has a file, and line-number together with cancel hide button.
432 % if form_type == 'inline':
432 % if form_type == 'inline':
433 <input type="hidden" name="f_path" value="{0}">
433 <input type="hidden" name="f_path" value="{0}">
434 <input type="hidden" name="line" value="${lineno_id}">
434 <input type="hidden" name="line" value="${lineno_id}">
435 <button type="button" class="cb-comment-cancel" onclick="return Rhodecode.comments.cancelComment(this);">
435 <button type="button" class="cb-comment-cancel" onclick="return Rhodecode.comments.cancelComment(this);">
436 ${_('Cancel')}
436 ${_('Cancel')}
437 </button>
437 </button>
438 % endif
438 % endif
439 </div>
439 </div>
440
440
441 % if review_statuses:
441 % if review_statuses:
442 <div class="status_box">
442 <div class="status_box">
443 <select id="change_status_${lineno_id}" name="changeset_status">
443 <select id="change_status_${lineno_id}" name="changeset_status">
444 <option></option> ## Placeholder
444 <option></option> ## Placeholder
445 % for status, lbl in review_statuses:
445 % for status, lbl in review_statuses:
446 <option value="${status}" data-status="${status}">${lbl}</option>
446 <option value="${status}" data-status="${status}">${lbl}</option>
447 %if is_pull_request and change_status and status in ('approved', 'rejected'):
447 %if is_pull_request and change_status and status in ('approved', 'rejected'):
448 <option value="${status}_closed" data-status="${status}">${lbl} & ${_('Closed')}</option>
448 <option value="${status}_closed" data-status="${status}">${lbl} & ${_('Closed')}</option>
449 %endif
449 %endif
450 % endfor
450 % endfor
451 </select>
451 </select>
452 </div>
452 </div>
453 % endif
453 % endif
454
454
455 <div class="toolbar-text">
455 <div class="toolbar-text">
456 <% renderer_url = '<a href="%s">%s</a>' % (h.route_url('%s_help' % c.visual.default_renderer), c.visual.default_renderer.upper()) %>
456 <% renderer_url = '<a href="%s">%s</a>' % (h.route_url('%s_help' % c.visual.default_renderer), c.visual.default_renderer.upper()) %>
457 ${_('Comments parsed using {} syntax.').format(renderer_url)|n} <br/>
457 ${_('Comments parsed using {} syntax.').format(renderer_url)|n} <br/>
458 <span class="tooltip" title="${_('Use @username inside this text to send notification to this RhodeCode user')}">@mention</span>
458 <span class="tooltip" title="${_('Use @username inside this text to send notification to this RhodeCode user')}">@mention</span>
459 ${_('and')}
459 ${_('and')}
460 <span class="tooltip" title="${_('Start typing with / for certain actions to be triggered via text box.')}">`/` autocomplete</span>
460 <span class="tooltip" title="${_('Start typing with / for certain actions to be triggered via text box.')}">`/` autocomplete</span>
461 ${_('actions supported.')}
461 ${_('actions supported.')}
462 </div>
462 </div>
463 </div>
463 </div>
464
464
465 </form>
465 </form>
466
466
467 </%def> No newline at end of file
467 </%def>
General Comments 0
You need to be logged in to leave comments. Login now