##// END OF EJS Templates
Use JQuery Dialog (#11445)....
Jean-Philippe Lang -
r9887:46b1a49453c4
parent child
Show More
@@ -1,506 +1,500
1 1 /* Redmine - project management software
2 2 Copyright (C) 2006-2012 Jean-Philippe Lang */
3 3
4 4 function checkAll(id, checked) {
5 5 if (checked) {
6 6 $('#'+id).find('input[type=checkbox]').attr('checked', true);
7 7 } else {
8 8 $('#'+id).find('input[type=checkbox]').removeAttr('checked');
9 9 }
10 10 }
11 11
12 12 function toggleCheckboxesBySelector(selector) {
13 13 var all_checked = true;
14 14 $(selector).each(function(index) {
15 15 if (!$(this).is(':checked')) { all_checked = false; }
16 16 });
17 17 $(selector).attr('checked', !all_checked)
18 18 }
19 19
20 20 function showAndScrollTo(id, focus) {
21 21 $('#'+id).show();
22 22 if (focus!=null) {
23 23 $('#'+focus).focus();
24 24 }
25 25 $('html, body').animate({scrollTop: $('#'+id).offset().top}, 100);
26 26 }
27 27
28 28 function toggleRowGroup(el) {
29 29 var tr = $(el).parents('tr').first();
30 30 var n = tr.next();
31 31 tr.toggleClass('open');
32 32 while (n.length && !n.hasClass('group')) {
33 33 n.toggle();
34 34 n = n.next('tr');
35 35 }
36 36 }
37 37
38 38 function collapseAllRowGroups(el) {
39 39 var tbody = $(el).parents('tbody').first();
40 40 tbody.children('tr').each(function(index) {
41 41 if ($(this).hasClass('group')) {
42 42 $(this).removeClass('open');
43 43 } else {
44 44 $(this).hide();
45 45 }
46 46 });
47 47 }
48 48
49 49 function expandAllRowGroups(el) {
50 50 var tbody = $(el).parents('tbody').first();
51 51 tbody.children('tr').each(function(index) {
52 52 if ($(this).hasClass('group')) {
53 53 $(this).addClass('open');
54 54 } else {
55 55 $(this).show();
56 56 }
57 57 });
58 58 }
59 59
60 60 function toggleAllRowGroups(el) {
61 61 var tr = $(el).parents('tr').first();
62 62 if (tr.hasClass('open')) {
63 63 collapseAllRowGroups(el);
64 64 } else {
65 65 expandAllRowGroups(el);
66 66 }
67 67 }
68 68
69 69 function toggleFieldset(el) {
70 70 var fieldset = $(el).parents('fieldset').first();
71 71 fieldset.toggleClass('collapsed');
72 72 fieldset.children('div').toggle();
73 73 }
74 74
75 75 function hideFieldset(el) {
76 76 var fieldset = $(el).parents('fieldset').first();
77 77 fieldset.toggleClass('collapsed');
78 78 fieldset.children('div').hide();
79 79 }
80 80
81 81 function add_filter() {
82 82 var select = $('#add_filter_select');
83 83 var field = select.val();
84 84 $('#tr_'+field).show();
85 85 var check_box = $('#cb_' + field);
86 86 check_box.attr('checked', true);
87 87 toggle_filter(field);
88 88 select.val('');
89 89
90 90 select.children('option').each(function(index) {
91 91 if ($(this).attr('value') == field) {
92 92 $(this).attr('disabled', true);
93 93 }
94 94 });
95 95 }
96 96
97 97 function toggle_filter(field) {
98 98 check_box = $('#cb_' + field);
99 99 if (check_box.is(':checked')) {
100 100 $("#operators_" + field).show().removeAttr('disabled');
101 101 toggle_operator(field);
102 102 } else {
103 103 $("#operators_" + field).hide().attr('disabled', true);
104 104 enableValues(field, []);
105 105 }
106 106 }
107 107
108 108 function enableValues(field, indexes) {
109 109 $(".values_" + field).each(function(index) {
110 110 if (indexes.indexOf(index) >= 0) {
111 111 $(this).removeAttr('disabled');
112 112 $(this).parents('span').first().show();
113 113 } else {
114 114 $(this).val('');
115 115 $(this).attr('disabled', true);
116 116 $(this).parents('span').first().hide();
117 117 }
118 118
119 119 if ($(this).hasClass('group')) {
120 120 $(this).addClass('open');
121 121 } else {
122 122 $(this).show();
123 123 }
124 124 });
125 125
126 126 if (indexes.length > 0) {
127 127 $("#div_values_" + field).show();
128 128 } else {
129 129 $("#div_values_" + field).hide();
130 130 }
131 131 }
132 132
133 133 function toggle_operator(field) {
134 134 operator = $("#operators_" + field);
135 135 switch (operator.val()) {
136 136 case "!*":
137 137 case "*":
138 138 case "t":
139 139 case "w":
140 140 case "o":
141 141 case "c":
142 142 enableValues(field, []);
143 143 break;
144 144 case "><":
145 145 enableValues(field, [0,1]);
146 146 break;
147 147 case "<t+":
148 148 case ">t+":
149 149 case "t+":
150 150 case ">t-":
151 151 case "<t-":
152 152 case "t-":
153 153 enableValues(field, [2]);
154 154 break;
155 155 default:
156 156 enableValues(field, [0]);
157 157 break;
158 158 }
159 159 }
160 160
161 161 function toggle_multi_select(id) {
162 162 var select = $('#'+id);
163 163 if (select.attr('multiple')) {
164 164 select.removeAttr('multiple');
165 165 } else {
166 166 select.attr('multiple', true);
167 167 }
168 168 }
169 169
170 170 function submit_query_form(id) {
171 171 selectAllOptions("selected_columns");
172 172 $('#'+id).submit();
173 173 }
174 174
175 175 function observeIssueFilters() {
176 176 $('#query_form input[type=text]').keypress(function(e){
177 177 if (e.keyCode == 13) submit_query_form("query_form");
178 178 });
179 179 }
180 180
181 181 var fileFieldCount = 1;
182 182 function addFileField() {
183 183 var fields = $('#attachments_fields');
184 184 if (fields.children().length >= 10) return false;
185 185 fileFieldCount++;
186 186 var s = fields.children('span').first().clone();
187 187 s.children('input.file').attr('name', "attachments[" + fileFieldCount + "][file]").val('');
188 188 s.children('input.description').attr('name', "attachments[" + fileFieldCount + "][description]").val('');
189 189 fields.append(s);
190 190 }
191 191
192 192 function removeFileField(el) {
193 193 var fields = $('#attachments_fields');
194 194 var s = $(el).parents('span').first();
195 195 if (fields.children().length > 1) {
196 196 s.remove();
197 197 } else {
198 198 s.children('input.file').val('');
199 199 s.children('input.description').val('');
200 200 }
201 201 }
202 202
203 203 function checkFileSize(el, maxSize, message) {
204 204 var files = el.files;
205 205 if (files) {
206 206 for (var i=0; i<files.length; i++) {
207 207 if (files[i].size > maxSize) {
208 208 alert(message);
209 209 el.value = "";
210 210 }
211 211 }
212 212 }
213 213 }
214 214
215 215 function showTab(name) {
216 216 $('div#content .tab-content').hide();
217 217 $('div.tabs a').removeClass('selected');
218 218 $('#tab-content-' + name).show();
219 219 $('#tab-' + name).addClass('selected');
220 220 return false;
221 221 }
222 222
223 223 function moveTabRight(el) {
224 224 var lis = $(el).parents('div.tabs').first().find('ul').children();
225 225 var tabsWidth = 0;
226 226 var i = 0;
227 227 lis.each(function(){
228 228 if ($(this).is(':visible')) {
229 229 tabsWidth += $(this).width() + 6;
230 230 }
231 231 });
232 232 if (tabsWidth < $(el).parents('div.tabs').first().width() - 60) { return; }
233 233 while (i<lis.length && !lis.eq(i).is(':visible')) { i++; }
234 234 lis.eq(i).hide();
235 235 }
236 236
237 237 function moveTabLeft(el) {
238 238 var lis = $(el).parents('div.tabs').first().find('ul').children();
239 239 var i = 0;
240 240 while (i<lis.length && !lis.eq(i).is(':visible')) { i++; }
241 241 if (i>0) {
242 242 lis.eq(i-1).show();
243 243 }
244 244 }
245 245
246 246 function displayTabsButtons() {
247 247 var lis;
248 248 var tabsWidth = 0;
249 249 var el;
250 250 $('div.tabs').each(function() {
251 251 el = $(this);
252 252 lis = el.find('ul').children();
253 253 lis.each(function(){
254 254 if ($(this).is(':visible')) {
255 255 tabsWidth += $(this).width() + 6;
256 256 }
257 257 });
258 258 if ((tabsWidth < el.width() - 60) && (lis.first().is(':visible'))) {
259 259 el.find('div.tabs-buttons').hide();
260 260 } else {
261 261 el.find('div.tabs-buttons').show();
262 262 }
263 263 });
264 264 }
265 265
266 266 function setPredecessorFieldsVisibility() {
267 267 var relationType = $('#relation_relation_type');
268 268 if (relationType.val() == "precedes" || relationType.val() == "follows") {
269 269 $('#predecessor_fields').show();
270 270 } else {
271 271 $('#predecessor_fields').hide();
272 272 }
273 273 }
274 274
275 275 function showModal(id, width) {
276 el = $('#'+id).first();
276 var el = $('#'+id).first();
277 277 if (el.length == 0 || el.is(':visible')) {return;}
278 var h = $('body').height();
279 var d = document.createElement("div");
280 d.id = 'modalbg';
281 $(d).appendTo('#main').css('width', '100%').css('height', h + 'px').show();
282
283 var pageWidth = $(window).width();
284 if (width) {
285 el.css('width', width);
286 }
287 el.css('left', (((pageWidth - el.width())/2 *100) / pageWidth) + '%');
288 el.addClass('modal');
289 el.show();
290
278 var title = el.find('h3.title').text();
279 el.dialog({
280 width: width,
281 modal: true,
282 resizable: false,
283 dialogClass: 'modal',
284 title: title
285 });
291 286 el.find("input[type=text], input[type=submit]").first().focus();
292 287 }
293 288
294 289 function hideModal(el) {
295 290 var modal;
296 291 if (el) {
297 modal = $(el).parents('div.modal').first();
292 modal = $(el).parents('.ui-dialog-content');
298 293 } else {
299 294 modal = $('#ajax-modal');
300 295 }
301 modal.hide();
302 $('#modalbg').remove();
296 modal.dialog("close");
303 297 }
304 298
305 299 function submitPreview(url, form, target) {
306 300 $.ajax({
307 301 url: url,
308 302 type: 'post',
309 303 data: $('#'+form).serialize(),
310 304 success: function(data){
311 305 $('#'+target).html(data);
312 306 $('html, body').animate({scrollTop: $('#'+target).offset().top}, 100);
313 307 }
314 308 });
315 309 }
316 310
317 311 function collapseScmEntry(id) {
318 312 $('.'+id).each(function() {
319 313 if ($(this).hasClass('open')) {
320 314 collapseScmEntry($(this).attr('id'));
321 315 }
322 316 $(this).hide();
323 317 });
324 318 $('#'+id).removeClass('open');
325 319 }
326 320
327 321 function expandScmEntry(id) {
328 322 $('.'+id).each(function() {
329 323 $(this).show();
330 324 if ($(this).hasClass('loaded') && !$(this).hasClass('collapsed')) {
331 325 expandScmEntry($(this).attr('id'));
332 326 }
333 327 });
334 328 $('#'+id).addClass('open');
335 329 }
336 330
337 331 function scmEntryClick(id, url) {
338 332 el = $('#'+id);
339 333 if (el.hasClass('open')) {
340 334 collapseScmEntry(id);
341 335 el.addClass('collapsed');
342 336 return false;
343 337 } else if (el.hasClass('loaded')) {
344 338 expandScmEntry(id);
345 339 el.removeClass('collapsed');
346 340 return false;
347 341 }
348 342 if (el.hasClass('loading')) {
349 343 return false;
350 344 }
351 345 el.addClass('loading');
352 346 $.ajax({
353 347 url: url,
354 348 success: function(data){
355 349 el.after(data);
356 350 el.addClass('open').addClass('loaded').removeClass('loading');
357 351 }
358 352 });
359 353 return true;
360 354 }
361 355
362 356 function randomKey(size) {
363 357 var chars = new Array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z');
364 358 var key = '';
365 359 for (i = 0; i < size; i++) {
366 360 key += chars[Math.floor(Math.random() * chars.length)];
367 361 }
368 362 return key;
369 363 }
370 364
371 365 // Can't use Rails' remote select because we need the form data
372 366 function updateIssueFrom(url) {
373 367 $.ajax({
374 368 url: url,
375 369 type: 'post',
376 370 data: $('#issue-form').serialize()
377 371 });
378 372 }
379 373
380 374 function updateBulkEditFrom(url) {
381 375 $.ajax({
382 376 url: url,
383 377 type: 'post',
384 378 data: $('#bulk_edit_form').serialize()
385 379 });
386 380 }
387 381
388 382 function observeAutocompleteField(fieldId, url) {
389 383 $('#'+fieldId).autocomplete({
390 384 source: url,
391 385 minLength: 2,
392 386 });
393 387 }
394 388
395 389 function observeSearchfield(fieldId, targetId, url) {
396 390 $('#'+fieldId).each(function() {
397 391 var $this = $(this);
398 392 $this.attr('data-value-was', $this.val());
399 393 var check = function() {
400 394 var val = $this.val();
401 395 if ($this.attr('data-value-was') != val){
402 396 $this.attr('data-value-was', val);
403 397 if (val != '') {
404 398 $.ajax({
405 399 url: url,
406 400 type: 'get',
407 401 data: {q: $this.val()},
408 402 success: function(data){ $('#'+targetId).html(data); },
409 403 beforeSend: function(){ $this.addClass('ajax-loading'); },
410 404 complete: function(){ $this.removeClass('ajax-loading'); }
411 405 });
412 406 }
413 407 }
414 408 };
415 409 var reset = function() {
416 410 if (timer) {
417 411 clearInterval(timer);
418 412 timer = setInterval(check, 300);
419 413 }
420 414 };
421 415 var timer = setInterval(check, 300);
422 416 $this.bind('keyup click mousemove', reset);
423 417 });
424 418 }
425 419
426 420 function observeProjectModules() {
427 421 var f = function() {
428 422 /* Hides trackers and issues custom fields on the new project form when issue_tracking module is disabled */
429 423 if ($('#project_enabled_module_names_issue_tracking').attr('checked')) {
430 424 $('#project_trackers').show();
431 425 }else{
432 426 $('#project_trackers').hide();
433 427 }
434 428 };
435 429
436 430 $(window).load(f);
437 431 $('#project_enabled_module_names_issue_tracking').change(f);
438 432 }
439 433
440 434 function initMyPageSortable(list, url) {
441 435 $('#list-'+list).sortable({
442 436 connectWith: '.block-receiver',
443 437 tolerance: 'pointer',
444 438 update: function(){
445 439 $.ajax({
446 440 url: url,
447 441 type: 'post',
448 442 data: {'blocks': $.map($('#list-'+list).children(), function(el){return $(el).attr('id');})}
449 443 });
450 444 }
451 445 });
452 446 $("#list-top, #list-left, #list-right").disableSelection();
453 447 }
454 448
455 449 var warnLeavingUnsavedMessage;
456 450 function warnLeavingUnsaved(message) {
457 451 warnLeavingUnsavedMessage = message;
458 452
459 453 $('form').submit(function(){
460 454 $('textarea').removeData('changed');
461 455 });
462 456 $('textarea').change(function(){
463 457 $(this).data('changed', 'changed');
464 458 });
465 459 window.onbeforeunload = function(){
466 460 var warn = false;
467 461 $('textarea').blur().each(function(){
468 462 if ($(this).data('changed')) {
469 463 warn = true;
470 464 }
471 465 });
472 466 if (warn) {return warnLeavingUnsavedMessage;}
473 467 };
474 468 };
475 469
476 470 $(document).ready(function(){
477 471 $('#ajax-indicator').bind('ajaxSend', function(){
478 472 if ($('.ajax-loading').length == 0) {
479 473 $('#ajax-indicator').show();
480 474 }
481 475 });
482 476 $('#ajax-indicator').bind('ajaxStop', function(){
483 477 $('#ajax-indicator').hide();
484 478 });
485 479 });
486 480
487 481 function hideOnLoad() {
488 482 $('.hol').hide();
489 483 }
490 484
491 485 function addFormObserversForDoubleSubmit() {
492 486 $('form[method=post]').each(function() {
493 487 if (!$(this).hasClass('multiple-submit')) {
494 488 $(this).submit(function(form_submission) {
495 489 if ($(form_submission.target).attr('data-submitted')) {
496 490 form_submission.preventDefault();
497 491 } else {
498 492 $(form_submission.target).attr('data-submitted', true);
499 493 }
500 494 });
501 495 }
502 496 });
503 497 }
504 498
505 499 $(document).ready(hideOnLoad);
506 500 $(document).ready(addFormObserversForDoubleSubmit);
@@ -1,1101 +1,1098
1 1 html {overflow-y:scroll;}
2 2 body { font-family: Verdana, sans-serif; font-size: 12px; color:#484848; margin: 0; padding: 0; min-width: 900px; }
3 3
4 4 h1, h2, h3, h4 { font-family: "Trebuchet MS", Verdana, sans-serif;}
5 5 h1 {margin:0; padding:0; font-size: 24px;}
6 6 h2, .wiki h1 {font-size: 20px;padding: 2px 10px 1px 0px;margin: 0 0 10px 0; border-bottom: 1px solid #bbbbbb; color: #444;}
7 7 h3, .wiki h2 {font-size: 16px;padding: 2px 10px 1px 0px;margin: 0 0 10px 0; border-bottom: 1px solid #bbbbbb; color: #444;}
8 8 h4, .wiki h3 {font-size: 13px;padding: 2px 10px 1px 0px;margin-bottom: 5px; border-bottom: 1px dotted #bbbbbb; color: #444;}
9 9
10 10 /***** Layout *****/
11 11 #wrapper {background: white;}
12 12
13 13 #top-menu {background: #2C4056; color: #fff; height:1.8em; font-size: 0.8em; padding: 2px 2px 0px 6px;}
14 14 #top-menu ul {margin: 0; padding: 0;}
15 15 #top-menu li {
16 16 float:left;
17 17 list-style-type:none;
18 18 margin: 0px 0px 0px 0px;
19 19 padding: 0px 0px 0px 0px;
20 20 white-space:nowrap;
21 21 }
22 22 #top-menu a {color: #fff; margin-right: 8px; font-weight: bold;}
23 23 #top-menu #loggedas { float: right; margin-right: 0.5em; color: #fff; }
24 24
25 25 #account {float:right;}
26 26
27 27 #header {height:5.3em;margin:0;background-color:#507AAA;color:#f8f8f8; padding: 4px 8px 0px 6px; position:relative;}
28 28 #header a {color:#f8f8f8;}
29 29 #header h1 a.ancestor { font-size: 80%; }
30 30 #quick-search {float:right;}
31 31
32 32 #main-menu {position: absolute; bottom: 0px; left:6px; margin-right: -500px;}
33 33 #main-menu ul {margin: 0; padding: 0;}
34 34 #main-menu li {
35 35 float:left;
36 36 list-style-type:none;
37 37 margin: 0px 2px 0px 0px;
38 38 padding: 0px 0px 0px 0px;
39 39 white-space:nowrap;
40 40 }
41 41 #main-menu li a {
42 42 display: block;
43 43 color: #fff;
44 44 text-decoration: none;
45 45 font-weight: bold;
46 46 margin: 0;
47 47 padding: 4px 10px 4px 10px;
48 48 }
49 49 #main-menu li a:hover {background:#759FCF; color:#fff;}
50 50 #main-menu li a.selected, #main-menu li a.selected:hover {background:#fff; color:#555;}
51 51
52 52 #admin-menu ul {margin: 0; padding: 0;}
53 53 #admin-menu li {margin: 0; padding: 0 0 6px 0; list-style-type:none;}
54 54
55 55 #admin-menu a { background-position: 0% 40%; background-repeat: no-repeat; padding-left: 20px; padding-top: 2px; padding-bottom: 3px;}
56 56 #admin-menu a.projects { background-image: url(../images/projects.png); }
57 57 #admin-menu a.users { background-image: url(../images/user.png); }
58 58 #admin-menu a.groups { background-image: url(../images/group.png); }
59 59 #admin-menu a.roles { background-image: url(../images/database_key.png); }
60 60 #admin-menu a.trackers { background-image: url(../images/ticket.png); }
61 61 #admin-menu a.issue_statuses { background-image: url(../images/ticket_edit.png); }
62 62 #admin-menu a.workflows { background-image: url(../images/ticket_go.png); }
63 63 #admin-menu a.custom_fields { background-image: url(../images/textfield.png); }
64 64 #admin-menu a.enumerations { background-image: url(../images/text_list_bullets.png); }
65 65 #admin-menu a.settings { background-image: url(../images/changeset.png); }
66 66 #admin-menu a.plugins { background-image: url(../images/plugin.png); }
67 67 #admin-menu a.info { background-image: url(../images/help.png); }
68 68 #admin-menu a.server_authentication { background-image: url(../images/server_key.png); }
69 69
70 70 #main {background-color:#EEEEEE;}
71 71
72 72 #sidebar{ float: right; width: 22%; position: relative; z-index: 9; padding: 0; margin: 0;}
73 73 * html #sidebar{ width: 22%; }
74 74 #sidebar h3{ font-size: 14px; margin-top:14px; color: #666; }
75 75 #sidebar hr{ width: 100%; margin: 0 auto; height: 1px; background: #ccc; border: 0; }
76 76 * html #sidebar hr{ width: 95%; position: relative; left: -6px; color: #ccc; }
77 77 #sidebar .contextual { margin-right: 1em; }
78 78
79 79 #content { width: 75%; background-color: #fff; margin: 0px; border-right: 1px solid #ddd; padding: 6px 10px 10px 10px; z-index: 10; }
80 80 * html #content{ width: 75%; padding-left: 0; margin-top: 0px; padding: 6px 10px 10px 10px;}
81 81 html>body #content { min-height: 600px; }
82 82 * html body #content { height: 600px; } /* IE */
83 83
84 84 #main.nosidebar #sidebar{ display: none; }
85 85 #main.nosidebar #content{ width: auto; border-right: 0; }
86 86
87 87 #footer {clear: both; border-top: 1px solid #bbb; font-size: 0.9em; color: #aaa; padding: 5px; text-align:center; background:#fff;}
88 88
89 89 #login-form table {margin-top:5em; padding:1em; margin-left: auto; margin-right: auto; border: 2px solid #FDBF3B; background-color:#FFEBC1; }
90 90 #login-form table td {padding: 6px;}
91 91 #login-form label {font-weight: bold;}
92 92 #login-form input#username, #login-form input#password { width: 300px; }
93 93
94 #modalbg {position:absolute; top:0; left:0; width:100%; height:100%; background:#ccc; z-index:49; opacity:0.5;}
95 html>body #modalbg {position:fixed;}
96 div.modal { border-radius:5px; position:absolute; top:25%; background:#fff; border:2px solid #759FCF; z-index:50; padding:0px; padding:8px; box-shadow: 1px 1px 8px #888; }
97 div.modal h3.title {background:#759FCF; color:#fff; border:0; padding-left:8px; margin:-8px; margin-bottom: 1em; border-top-left-radius:2px;border-top-right-radius:2px;}
94 div.modal { border-radius:5px; background:#fff; z-index:50; padding:4px;}
95 div.modal h3.title {display:none;}
98 96 div.modal p.buttons {text-align:right; margin-bottom:0;}
99 html>body div.modal {position:fixed;}
100 97
101 98 input#openid_url { background: url(../images/openid-bg.gif) no-repeat; background-color: #fff; background-position: 0 50%; padding-left: 18px; }
102 99
103 100 .clear:after{ content: "."; display: block; height: 0; clear: both; visibility: hidden; }
104 101
105 102 /***** Links *****/
106 103 a, a:link, a:visited{ color: #2A5685; text-decoration: none; }
107 104 a:hover, a:active{ color: #c61a1a; text-decoration: underline;}
108 105 a img{ border: 0; }
109 106
110 107 a.issue.closed, a.issue.closed:link, a.issue.closed:visited { color: #999; text-decoration: line-through; }
111 108 a.project.closed, a.project.closed:link, a.project.closed:visited { color: #999; }
112 109
113 110 #sidebar a.selected {line-height:1.7em; padding:1px 3px 2px 2px; margin-left:-2px; background-color:#9DB9D5; color:#fff; border-radius:2px;}
114 111 #sidebar a.selected:hover {text-decoration:none;}
115 112 #admin-menu a {line-height:1.7em;}
116 113 #admin-menu a.selected {padding-left: 20px !important; background-position: 2px 40%;}
117 114
118 115 a.collapsible {padding-left: 12px; background: url(../images/arrow_expanded.png) no-repeat -3px 40%;}
119 116 a.collapsible.collapsed {background: url(../images/arrow_collapsed.png) no-repeat -5px 40%;}
120 117
121 118 a#toggle-completed-versions {color:#999;}
122 119 /***** Tables *****/
123 120 table.list { border: 1px solid #e4e4e4; border-collapse: collapse; width: 100%; margin-bottom: 4px; }
124 121 table.list th { background-color:#EEEEEE; padding: 4px; white-space:nowrap; }
125 122 table.list td { vertical-align: top; }
126 123 table.list td.id { width: 2%; text-align: center;}
127 124 table.list td.checkbox { width: 15px; padding: 2px 0 0 0; }
128 125 table.list td.checkbox input {padding:0px;}
129 126 table.list td.buttons { width: 15%; white-space:nowrap; text-align: right; }
130 127 table.list td.buttons a { padding-right: 0.6em; }
131 128 table.list caption { text-align: left; padding: 0.5em 0.5em 0.5em 0; }
132 129
133 130 tr.project td.name a { white-space:nowrap; }
134 131 tr.project.closed, tr.project.archived { color: #aaa; }
135 132 tr.project.closed a, tr.project.archived a { color: #aaa; }
136 133
137 134 tr.project.idnt td.name span {background: url(../images/bullet_arrow_right.png) no-repeat 0 50%; padding-left: 16px;}
138 135 tr.project.idnt-1 td.name {padding-left: 0.5em;}
139 136 tr.project.idnt-2 td.name {padding-left: 2em;}
140 137 tr.project.idnt-3 td.name {padding-left: 3.5em;}
141 138 tr.project.idnt-4 td.name {padding-left: 5em;}
142 139 tr.project.idnt-5 td.name {padding-left: 6.5em;}
143 140 tr.project.idnt-6 td.name {padding-left: 8em;}
144 141 tr.project.idnt-7 td.name {padding-left: 9.5em;}
145 142 tr.project.idnt-8 td.name {padding-left: 11em;}
146 143 tr.project.idnt-9 td.name {padding-left: 12.5em;}
147 144
148 145 tr.issue { text-align: center; white-space: nowrap; }
149 146 tr.issue td.subject, tr.issue td.category, td.assigned_to, tr.issue td.string, tr.issue td.text { white-space: normal; }
150 147 tr.issue td.subject { text-align: left; }
151 148 tr.issue td.done_ratio table.progress { margin-left:auto; margin-right: auto;}
152 149
153 150 tr.issue.idnt td.subject a {background: url(../images/bullet_arrow_right.png) no-repeat 0 50%; padding-left: 16px;}
154 151 tr.issue.idnt-1 td.subject {padding-left: 0.5em;}
155 152 tr.issue.idnt-2 td.subject {padding-left: 2em;}
156 153 tr.issue.idnt-3 td.subject {padding-left: 3.5em;}
157 154 tr.issue.idnt-4 td.subject {padding-left: 5em;}
158 155 tr.issue.idnt-5 td.subject {padding-left: 6.5em;}
159 156 tr.issue.idnt-6 td.subject {padding-left: 8em;}
160 157 tr.issue.idnt-7 td.subject {padding-left: 9.5em;}
161 158 tr.issue.idnt-8 td.subject {padding-left: 11em;}
162 159 tr.issue.idnt-9 td.subject {padding-left: 12.5em;}
163 160
164 161 tr.entry { border: 1px solid #f8f8f8; }
165 162 tr.entry td { white-space: nowrap; }
166 163 tr.entry td.filename { width: 30%; }
167 164 tr.entry td.filename_no_report { width: 70%; }
168 165 tr.entry td.size { text-align: right; font-size: 90%; }
169 166 tr.entry td.revision, tr.entry td.author { text-align: center; }
170 167 tr.entry td.age { text-align: right; }
171 168 tr.entry.file td.filename a { margin-left: 16px; }
172 169 tr.entry.file td.filename_no_report a { margin-left: 16px; }
173 170
174 171 tr span.expander {background-image: url(../images/bullet_toggle_plus.png); padding-left: 8px; margin-left: 0; cursor: pointer;}
175 172 tr.open span.expander {background-image: url(../images/bullet_toggle_minus.png);}
176 173
177 174 tr.changeset { height: 20px }
178 175 tr.changeset ul, ol { margin-top: 0px; margin-bottom: 0px; }
179 176 tr.changeset td.revision_graph { width: 15%; background-color: #fffffb; }
180 177 tr.changeset td.author { text-align: center; width: 15%; white-space:nowrap;}
181 178 tr.changeset td.committed_on { text-align: center; width: 15%; white-space:nowrap;}
182 179
183 180 table.files tr.file td { text-align: center; }
184 181 table.files tr.file td.filename { text-align: left; padding-left: 24px; }
185 182 table.files tr.file td.digest { font-size: 80%; }
186 183
187 184 table.members td.roles, table.memberships td.roles { width: 45%; }
188 185
189 186 tr.message { height: 2.6em; }
190 187 tr.message td.subject { padding-left: 20px; }
191 188 tr.message td.created_on { white-space: nowrap; }
192 189 tr.message td.last_message { font-size: 80%; white-space: nowrap; }
193 190 tr.message.locked td.subject { background: url(../images/locked.png) no-repeat 0 1px; }
194 191 tr.message.sticky td.subject { background: url(../images/bullet_go.png) no-repeat 0 1px; font-weight: bold; }
195 192
196 193 tr.version.closed, tr.version.closed a { color: #999; }
197 194 tr.version td.name { padding-left: 20px; }
198 195 tr.version.shared td.name { background: url(../images/link.png) no-repeat 0% 70%; }
199 196 tr.version td.date, tr.version td.status, tr.version td.sharing { text-align: center; white-space:nowrap; }
200 197
201 198 tr.user td { width:13%; }
202 199 tr.user td.email { width:18%; }
203 200 tr.user td { white-space: nowrap; }
204 201 tr.user.locked, tr.user.registered { color: #aaa; }
205 202 tr.user.locked a, tr.user.registered a { color: #aaa; }
206 203
207 204 table.permissions td.role {color:#999;font-size:90%;font-weight:normal !important;text-align:center;vertical-align:bottom;}
208 205
209 206 tr.wiki-page-version td.updated_on, tr.wiki-page-version td.author {text-align:center;}
210 207
211 208 tr.time-entry { text-align: center; white-space: nowrap; }
212 209 tr.time-entry td.subject, tr.time-entry td.comments { text-align: left; white-space: normal; }
213 210 td.hours { text-align: right; font-weight: bold; padding-right: 0.5em; }
214 211 td.hours .hours-dec { font-size: 0.9em; }
215 212
216 213 table.plugins td { vertical-align: middle; }
217 214 table.plugins td.configure { text-align: right; padding-right: 1em; }
218 215 table.plugins span.name { font-weight: bold; display: block; margin-bottom: 6px; }
219 216 table.plugins span.description { display: block; font-size: 0.9em; }
220 217 table.plugins span.url { display: block; font-size: 0.9em; }
221 218
222 219 table.list tbody tr.group td { padding: 0.8em 0 0.5em 0.3em; font-weight: bold; border-bottom: 1px solid #ccc; }
223 220 table.list tbody tr.group span.count { color: #aaa; font-size: 80%; }
224 221 tr.group a.toggle-all { color: #aaa; font-size: 80%; font-weight: normal; display:none;}
225 222 tr.group:hover a.toggle-all { display:inline;}
226 223 a.toggle-all:hover {text-decoration:none;}
227 224
228 225 table.list tbody tr:hover { background-color:#ffffdd; }
229 226 table.list tbody tr.group:hover { background-color:inherit; }
230 227 table td {padding:2px;}
231 228 table p {margin:0;}
232 229 .odd {background-color:#f6f7f8;}
233 230 .even {background-color: #fff;}
234 231
235 232 a.sort { padding-right: 16px; background-position: 100% 50%; background-repeat: no-repeat; }
236 233 a.sort.asc { background-image: url(../images/sort_asc.png); }
237 234 a.sort.desc { background-image: url(../images/sort_desc.png); }
238 235
239 236 table.attributes { width: 100% }
240 237 table.attributes th { vertical-align: top; text-align: left; }
241 238 table.attributes td { vertical-align: top; }
242 239
243 240 table.boards a.board, h3.comments { background: url(../images/comment.png) no-repeat 0% 50%; padding-left: 20px; }
244 241
245 242 table.query-columns {
246 243 border-collapse: collapse;
247 244 border: 0;
248 245 }
249 246
250 247 table.query-columns td.buttons {
251 248 vertical-align: middle;
252 249 text-align: center;
253 250 }
254 251
255 252 td.center {text-align:center;}
256 253
257 254 h3.version { background: url(../images/package.png) no-repeat 0% 50%; padding-left: 20px; }
258 255
259 256 div.issues h3 { background: url(../images/ticket.png) no-repeat 0% 50%; padding-left: 20px; }
260 257 div.members h3 { background: url(../images/group.png) no-repeat 0% 50%; padding-left: 20px; }
261 258 div.news h3 { background: url(../images/news.png) no-repeat 0% 50%; padding-left: 20px; }
262 259 div.projects h3 { background: url(../images/projects.png) no-repeat 0% 50%; padding-left: 20px; }
263 260
264 261 #watchers ul {margin: 0; padding: 0;}
265 262 #watchers li {list-style-type:none;margin: 0px 2px 0px 0px; padding: 0px 0px 0px 0px;}
266 263 #watchers select {width: 95%; display: block;}
267 264 #watchers a.delete {opacity: 0.4;}
268 265 #watchers a.delete:hover {opacity: 1;}
269 266 #watchers img.gravatar {margin: 0 4px 2px 0;}
270 267
271 268 span#watchers_inputs {overflow:auto; display:block;}
272 269 span.search_for_watchers {display:block;}
273 270 span.search_for_watchers, span.add_attachment {font-size:80%; line-height:2.5em;}
274 271 span.search_for_watchers a, span.add_attachment a {padding-left:16px; background: url(../images/bullet_add.png) no-repeat 0 50%; }
275 272
276 273
277 274 .highlight { background-color: #FCFD8D;}
278 275 .highlight.token-1 { background-color: #faa;}
279 276 .highlight.token-2 { background-color: #afa;}
280 277 .highlight.token-3 { background-color: #aaf;}
281 278
282 279 .box{
283 280 padding:6px;
284 281 margin-bottom: 10px;
285 282 background-color:#f6f6f6;
286 283 color:#505050;
287 284 line-height:1.5em;
288 285 border: 1px solid #e4e4e4;
289 286 }
290 287
291 288 div.square {
292 289 border: 1px solid #999;
293 290 float: left;
294 291 margin: .3em .4em 0 .4em;
295 292 overflow: hidden;
296 293 width: .6em; height: .6em;
297 294 }
298 295 .contextual {float:right; white-space: nowrap; line-height:1.4em;margin-top:5px; padding-left: 10px; font-size:0.9em;}
299 296 .contextual input, .contextual select {font-size:0.9em;}
300 297 .message .contextual { margin-top: 0; }
301 298
302 299 .splitcontent {overflow:auto;}
303 300 .splitcontentleft{float:left; width:49%;}
304 301 .splitcontentright{float:right; width:49%;}
305 302 form {display: inline;}
306 303 input, select {vertical-align: middle; margin-top: 1px; margin-bottom: 1px;}
307 304 fieldset {border: 1px solid #e4e4e4; margin:0;}
308 305 legend {color: #484848;}
309 306 hr { width: 100%; height: 1px; background: #ccc; border: 0;}
310 307 blockquote { font-style: italic; border-left: 3px solid #e0e0e0; padding-left: 0.6em; margin-left: 2.4em;}
311 308 blockquote blockquote { margin-left: 0;}
312 309 acronym { border-bottom: 1px dotted; cursor: help; }
313 310 textarea.wiki-edit { width: 99%; }
314 311 li p {margin-top: 0;}
315 312 div.issue {background:#ffffdd; padding:6px; margin-bottom:6px;border: 1px solid #d7d7d7;}
316 313 p.breadcrumb { font-size: 0.9em; margin: 4px 0 4px 0;}
317 314 p.subtitle { font-size: 0.9em; margin: -6px 0 12px 0; font-style: italic; }
318 315 p.footnote { font-size: 0.9em; margin-top: 0px; margin-bottom: 0px; }
319 316
320 317 div.issue div.subject div div { padding-left: 16px; }
321 318 div.issue div.subject p {margin: 0; margin-bottom: 0.1em; font-size: 90%; color: #999;}
322 319 div.issue div.subject>div>p { margin-top: 0.5em; }
323 320 div.issue div.subject h3 {margin: 0; margin-bottom: 0.1em;}
324 321 div.issue span.private { position:relative; bottom: 2px; text-transform: uppercase; background: #d22; color: #fff; font-weight:bold; padding: 0px 2px 0px 2px; font-size: 60%; margin-right: 2px; border-radius: 2px;}
325 322 div.issue .next-prev-links {color:#999;}
326 323 div.issue table.attributes th {width:22%;}
327 324 div.issue table.attributes td {width:28%;}
328 325
329 326 #issue_tree table.issues, #relations table.issues { border: 0; }
330 327 #issue_tree td.checkbox, #relations td.checkbox {display:none;}
331 328 #relations td.buttons {padding:0;}
332 329
333 330 fieldset.collapsible { border-width: 1px 0 0 0; font-size: 0.9em; }
334 331 fieldset.collapsible legend { padding-left: 16px; background: url(../images/arrow_expanded.png) no-repeat 0% 40%; cursor:pointer; }
335 332 fieldset.collapsible.collapsed legend { background-image: url(../images/arrow_collapsed.png); }
336 333
337 334 fieldset#date-range p { margin: 2px 0 2px 0; }
338 335 fieldset#filters table { border-collapse: collapse; }
339 336 fieldset#filters table td { padding: 0; vertical-align: middle; }
340 337 fieldset#filters tr.filter { height: 2em; }
341 338 fieldset#filters td.field { width:200px; }
342 339 fieldset#filters td.operator { width:170px; }
343 340 fieldset#filters td.values { white-space:nowrap; }
344 341 fieldset#filters td.values select {min-width:130px;}
345 342 fieldset#filters td.values img { vertical-align: middle; margin-left:1px; }
346 343 fieldset#filters td.add-filter { text-align: right; vertical-align: top; }
347 344 .buttons { font-size: 0.9em; margin-bottom: 1.4em; margin-top: 1em; }
348 345
349 346 div#issue-changesets {float:right; width:45%; margin-left: 1em; margin-bottom: 1em; background: #fff; padding-left: 1em; font-size: 90%;}
350 347 div#issue-changesets div.changeset { padding: 4px;}
351 348 div#issue-changesets div.changeset { border-bottom: 1px solid #ddd; }
352 349 div#issue-changesets p { margin-top: 0; margin-bottom: 1em;}
353 350
354 351 .journal ul.details img {margin:0 0 -3px 4px;}
355 352
356 353 div#activity dl, #search-results { margin-left: 2em; }
357 354 div#activity dd, #search-results dd { margin-bottom: 1em; padding-left: 18px; font-size: 0.9em; }
358 355 div#activity dt, #search-results dt { margin-bottom: 0px; padding-left: 20px; line-height: 18px; background-position: 0 50%; background-repeat: no-repeat; }
359 356 div#activity dt.me .time { border-bottom: 1px solid #999; }
360 357 div#activity dt .time { color: #777; font-size: 80%; }
361 358 div#activity dd .description, #search-results dd .description { font-style: italic; }
362 359 div#activity span.project:after, #search-results span.project:after { content: " -"; }
363 360 div#activity dd span.description, #search-results dd span.description { display:block; color: #808080; }
364 361
365 362 #search-results dd { margin-bottom: 1em; padding-left: 20px; margin-left:0px; }
366 363
367 364 div#search-results-counts {float:right;}
368 365 div#search-results-counts ul { margin-top: 0.5em; }
369 366 div#search-results-counts li { list-style-type:none; float: left; margin-left: 1em; }
370 367
371 368 dt.issue { background-image: url(../images/ticket.png); }
372 369 dt.issue-edit { background-image: url(../images/ticket_edit.png); }
373 370 dt.issue-closed { background-image: url(../images/ticket_checked.png); }
374 371 dt.issue-note { background-image: url(../images/ticket_note.png); }
375 372 dt.changeset { background-image: url(../images/changeset.png); }
376 373 dt.news { background-image: url(../images/news.png); }
377 374 dt.message { background-image: url(../images/message.png); }
378 375 dt.reply { background-image: url(../images/comments.png); }
379 376 dt.wiki-page { background-image: url(../images/wiki_edit.png); }
380 377 dt.attachment { background-image: url(../images/attachment.png); }
381 378 dt.document { background-image: url(../images/document.png); }
382 379 dt.project { background-image: url(../images/projects.png); }
383 380 dt.time-entry { background-image: url(../images/time.png); }
384 381
385 382 #search-results dt.issue.closed { background-image: url(../images/ticket_checked.png); }
386 383
387 384 div#roadmap .related-issues { margin-bottom: 1em; }
388 385 div#roadmap .related-issues td.checkbox { display: none; }
389 386 div#roadmap .wiki h1:first-child { display: none; }
390 387 div#roadmap .wiki h1 { font-size: 120%; }
391 388 div#roadmap .wiki h2 { font-size: 110%; }
392 389 body.controller-versions.action-show div#roadmap .related-issues {width:70%;}
393 390
394 391 div#version-summary { float:right; width:28%; margin-left: 16px; margin-bottom: 16px; background-color: #fff; }
395 392 div#version-summary fieldset { margin-bottom: 1em; }
396 393 div#version-summary fieldset.time-tracking table { width:100%; }
397 394 div#version-summary th, div#version-summary td.total-hours { text-align: right; }
398 395
399 396 table#time-report td.hours, table#time-report th.period, table#time-report th.total { text-align: right; padding-right: 0.5em; }
400 397 table#time-report tbody tr.subtotal { font-style: italic; color:#777;}
401 398 table#time-report tbody tr.subtotal td.hours { color:#b0b0b0; }
402 399 table#time-report tbody tr.total { font-weight: bold; background-color:#EEEEEE; border-top:1px solid #e4e4e4;}
403 400 table#time-report .hours-dec { font-size: 0.9em; }
404 401
405 402 div.wiki-page .contextual a {opacity: 0.4}
406 403 div.wiki-page .contextual a:hover {opacity: 1}
407 404
408 405 form .attributes select { width: 60%; }
409 406 input#issue_subject { width: 99%; }
410 407 select#issue_done_ratio { width: 95px; }
411 408
412 409 ul.projects { margin: 0; padding-left: 1em; }
413 410 ul.projects.root { margin: 0; padding: 0; }
414 411 ul.projects ul.projects { border-left: 3px solid #e0e0e0; }
415 412 ul.projects li.root { list-style-type:none; margin-bottom: 1em; }
416 413 ul.projects li.child { list-style-type:none; margin-top: 1em;}
417 414 ul.projects div.root a.project { font-family: "Trebuchet MS", Verdana, sans-serif; font-weight: bold; font-size: 16px; margin: 0 0 10px 0; }
418 415 .my-project { padding-left: 18px; background: url(../images/fav.png) no-repeat 0 50%; }
419 416
420 417 #tracker_project_ids ul { margin: 0; padding-left: 1em; }
421 418 #tracker_project_ids li { list-style-type:none; }
422 419
423 420 #related-issues li img {vertical-align:middle;}
424 421
425 422 ul.properties {padding:0; font-size: 0.9em; color: #777;}
426 423 ul.properties li {list-style-type:none;}
427 424 ul.properties li span {font-style:italic;}
428 425
429 426 .total-hours { font-size: 110%; font-weight: bold; }
430 427 .total-hours span.hours-int { font-size: 120%; }
431 428
432 429 .autoscroll {overflow-x: auto; padding:1px; margin-bottom: 1.2em;}
433 430 #user_login, #user_firstname, #user_lastname, #user_mail, #my_account_form select, #user_form select, #user_identity_url { width: 90%; }
434 431
435 432 #workflow_copy_form select { width: 200px; }
436 433 table.transitions td.enabled {background: #bfb;}
437 434 table.fields_permissions select {font-size:90%}
438 435 table.fields_permissions td.readonly {background:#ddd;}
439 436 table.fields_permissions td.required {background:#d88;}
440 437
441 438 textarea#custom_field_possible_values {width: 99%}
442 439 input#content_comments {width: 99%}
443 440
444 441 .pagination {font-size: 90%}
445 442 p.pagination {margin-top:8px;}
446 443
447 444 /***** Tabular forms ******/
448 445 .tabular p{
449 446 margin: 0;
450 447 padding: 3px 0 3px 0;
451 448 padding-left: 180px; /* width of left column containing the label elements */
452 449 min-height: 1.8em;
453 450 clear:left;
454 451 }
455 452
456 453 html>body .tabular p {overflow:hidden;}
457 454
458 455 .tabular label{
459 456 font-weight: bold;
460 457 float: left;
461 458 text-align: right;
462 459 /* width of left column */
463 460 margin-left: -180px;
464 461 /* width of labels. Should be smaller than left column to create some right margin */
465 462 width: 175px;
466 463 }
467 464
468 465 .tabular label.floating{
469 466 font-weight: normal;
470 467 margin-left: 0px;
471 468 text-align: left;
472 469 width: 270px;
473 470 }
474 471
475 472 .tabular label.block{
476 473 font-weight: normal;
477 474 margin-left: 0px !important;
478 475 text-align: left;
479 476 float: none;
480 477 display: block;
481 478 width: auto;
482 479 }
483 480
484 481 .tabular label.inline{
485 482 float:none;
486 483 margin-left: 5px !important;
487 484 width: auto;
488 485 }
489 486
490 487 label.no-css {
491 488 font-weight: inherit;
492 489 float:none;
493 490 text-align:left;
494 491 margin-left:0px;
495 492 width:auto;
496 493 }
497 494 input#time_entry_comments { width: 90%;}
498 495
499 496 #preview fieldset {margin-top: 1em; background: url(../images/draft.png)}
500 497
501 498 .tabular.settings p{ padding-left: 300px; }
502 499 .tabular.settings label{ margin-left: -300px; width: 295px; }
503 500 .tabular.settings textarea { width: 99%; }
504 501
505 502 .settings.enabled_scm table {width:100%}
506 503 .settings.enabled_scm td.scm_name{ font-weight: bold; }
507 504
508 505 fieldset.settings label { display: block; }
509 506 fieldset#notified_events .parent { padding-left: 20px; }
510 507
511 508 span.required {color: #bb0000;}
512 509 .summary {font-style: italic;}
513 510
514 511 #attachments_fields input.description {margin-left: 8px; width:340px;}
515 512 #attachments_fields span {display:block; white-space:nowrap;}
516 513 #attachments_fields img {vertical-align: middle;}
517 514
518 515 div.attachments { margin-top: 12px; }
519 516 div.attachments p { margin:4px 0 2px 0; }
520 517 div.attachments img { vertical-align: middle; }
521 518 div.attachments span.author { font-size: 0.9em; color: #888; }
522 519
523 520 div.thumbnails {margin-top:0.6em;}
524 521 div.thumbnails div {background:#fff;border:2px solid #ddd;display:inline-block;margin-right:2px;}
525 522 div.thumbnails img {margin: 3px;}
526 523
527 524 p.other-formats { text-align: right; font-size:0.9em; color: #666; }
528 525 .other-formats span + span:before { content: "| "; }
529 526
530 527 a.atom { background: url(../images/feed.png) no-repeat 1px 50%; padding: 2px 0px 3px 16px; }
531 528
532 529 em.info {font-style:normal;font-size:90%;color:#888;display:block;}
533 530 em.info.error {padding-left:20px; background:url(../images/exclamation.png) no-repeat 0 50%;}
534 531
535 532 textarea.text_cf {width:90%;}
536 533
537 534 /* Project members tab */
538 535 div#tab-content-members .splitcontentleft, div#tab-content-memberships .splitcontentleft, div#tab-content-users .splitcontentleft { width: 64% }
539 536 div#tab-content-members .splitcontentright, div#tab-content-memberships .splitcontentright, div#tab-content-users .splitcontentright { width: 34% }
540 537 div#tab-content-members fieldset, div#tab-content-memberships fieldset, div#tab-content-users fieldset { padding:1em; margin-bottom: 1em; }
541 538 div#tab-content-members fieldset legend, div#tab-content-memberships fieldset legend, div#tab-content-users fieldset legend { font-weight: bold; }
542 539 div#tab-content-members fieldset label, div#tab-content-memberships fieldset label, div#tab-content-users fieldset label { display: block; }
543 540 div#tab-content-members fieldset div, div#tab-content-users fieldset div { max-height: 400px; overflow:auto; }
544 541
545 542 #users_for_watcher {height: 200px; overflow:auto;}
546 543 #users_for_watcher label {display: block;}
547 544
548 545 table.members td.group { padding-left: 20px; background: url(../images/group.png) no-repeat 0% 50%; }
549 546
550 547 input#principal_search, input#user_search {width:100%}
551 548 input#principal_search, input#user_search {
552 549 background: url(../images/magnifier.png) no-repeat 2px 50%; padding-left:20px;
553 550 border:1px solid #9EB1C2; border-radius:3px; height:1.5em; width:95%;
554 551 }
555 552 input#principal_search.ajax-loading, input#user_search.ajax-loading {
556 553 background-image: url(../images/loading.gif);
557 554 }
558 555
559 556 * html div#tab-content-members fieldset div { height: 450px; }
560 557
561 558 /***** Flash & error messages ****/
562 559 #errorExplanation, div.flash, .nodata, .warning, .conflict {
563 560 padding: 4px 4px 4px 30px;
564 561 margin-bottom: 12px;
565 562 font-size: 1.1em;
566 563 border: 2px solid;
567 564 }
568 565
569 566 div.flash {margin-top: 8px;}
570 567
571 568 div.flash.error, #errorExplanation {
572 569 background: url(../images/exclamation.png) 8px 50% no-repeat;
573 570 background-color: #ffe3e3;
574 571 border-color: #dd0000;
575 572 color: #880000;
576 573 }
577 574
578 575 div.flash.notice {
579 576 background: url(../images/true.png) 8px 5px no-repeat;
580 577 background-color: #dfffdf;
581 578 border-color: #9fcf9f;
582 579 color: #005f00;
583 580 }
584 581
585 582 div.flash.warning, .conflict {
586 583 background: url(../images/warning.png) 8px 5px no-repeat;
587 584 background-color: #FFEBC1;
588 585 border-color: #FDBF3B;
589 586 color: #A6750C;
590 587 text-align: left;
591 588 }
592 589
593 590 .nodata, .warning {
594 591 text-align: center;
595 592 background-color: #FFEBC1;
596 593 border-color: #FDBF3B;
597 594 color: #A6750C;
598 595 }
599 596
600 597 #errorExplanation ul { font-size: 0.9em;}
601 598 #errorExplanation h2, #errorExplanation p { display: none; }
602 599
603 600 .conflict-details {font-size:80%;}
604 601
605 602 /***** Ajax indicator ******/
606 603 #ajax-indicator {
607 604 position: absolute; /* fixed not supported by IE */
608 605 background-color:#eee;
609 606 border: 1px solid #bbb;
610 607 top:35%;
611 608 left:40%;
612 609 width:20%;
613 610 font-weight:bold;
614 611 text-align:center;
615 612 padding:0.6em;
616 613 z-index:100;
617 614 opacity: 0.5;
618 615 }
619 616
620 617 html>body #ajax-indicator { position: fixed; }
621 618
622 619 #ajax-indicator span {
623 620 background-position: 0% 40%;
624 621 background-repeat: no-repeat;
625 622 background-image: url(../images/loading.gif);
626 623 padding-left: 26px;
627 624 vertical-align: bottom;
628 625 }
629 626
630 627 /***** Calendar *****/
631 628 table.cal {border-collapse: collapse; width: 100%; margin: 0px 0 6px 0;border: 1px solid #d7d7d7;}
632 629 table.cal thead th {width: 14%; background-color:#EEEEEE; padding: 4px; }
633 630 table.cal thead th.week-number {width: auto;}
634 631 table.cal tbody tr {height: 100px;}
635 632 table.cal td {border: 1px solid #d7d7d7; vertical-align: top; font-size: 0.9em;}
636 633 table.cal td.week-number { background-color:#EEEEEE; padding: 4px; border:none; font-size: 1em;}
637 634 table.cal td p.day-num {font-size: 1.1em; text-align:right;}
638 635 table.cal td.odd p.day-num {color: #bbb;}
639 636 table.cal td.today {background:#ffffdd;}
640 637 table.cal td.today p.day-num {font-weight: bold;}
641 638 table.cal .starting a, p.cal.legend .starting {background: url(../images/bullet_go.png) no-repeat -1px -2px; padding-left:16px;}
642 639 table.cal .ending a, p.cal.legend .ending {background: url(../images/bullet_end.png) no-repeat -1px -2px; padding-left:16px;}
643 640 table.cal .starting.ending a, p.cal.legend .starting.ending {background: url(../images/bullet_diamond.png) no-repeat -1px -2px; padding-left:16px;}
644 641 p.cal.legend span {display:block;}
645 642
646 643 /***** Tooltips ******/
647 644 .tooltip{position:relative;z-index:24;}
648 645 .tooltip:hover{z-index:25;color:#000;}
649 646 .tooltip span.tip{display: none; text-align:left;}
650 647
651 648 div.tooltip:hover span.tip{
652 649 display:block;
653 650 position:absolute;
654 651 top:12px; left:24px; width:270px;
655 652 border:1px solid #555;
656 653 background-color:#fff;
657 654 padding: 4px;
658 655 font-size: 0.8em;
659 656 color:#505050;
660 657 }
661 658
662 659 img.ui-datepicker-trigger {
663 660 cursor: pointer;
664 661 vertical-align: middle;
665 662 margin-left: 4px;
666 663 }
667 664
668 665 /***** Progress bar *****/
669 666 table.progress {
670 667 border-collapse: collapse;
671 668 border-spacing: 0pt;
672 669 empty-cells: show;
673 670 text-align: center;
674 671 float:left;
675 672 margin: 1px 6px 1px 0px;
676 673 }
677 674
678 675 table.progress td { height: 1em; }
679 676 table.progress td.closed { background: #BAE0BA none repeat scroll 0%; }
680 677 table.progress td.done { background: #D3EDD3 none repeat scroll 0%; }
681 678 table.progress td.todo { background: #eee none repeat scroll 0%; }
682 679 p.pourcent {font-size: 80%;}
683 680 p.progress-info {clear: left; font-size: 80%; margin-top:-4px; color:#777;}
684 681
685 682 #roadmap table.progress td { height: 1.2em; }
686 683 /***** Tabs *****/
687 684 #content .tabs {height: 2.6em; margin-bottom:1.2em; position:relative; overflow:hidden;}
688 685 #content .tabs ul {margin:0; position:absolute; bottom:0; padding-left:0.5em; width: 2000px; border-bottom: 1px solid #bbbbbb;}
689 686 #content .tabs ul li {
690 687 float:left;
691 688 list-style-type:none;
692 689 white-space:nowrap;
693 690 margin-right:4px;
694 691 background:#fff;
695 692 position:relative;
696 693 margin-bottom:-1px;
697 694 }
698 695 #content .tabs ul li a{
699 696 display:block;
700 697 font-size: 0.9em;
701 698 text-decoration:none;
702 699 line-height:1.3em;
703 700 padding:4px 6px 4px 6px;
704 701 border: 1px solid #ccc;
705 702 border-bottom: 1px solid #bbbbbb;
706 703 background-color: #f6f6f6;
707 704 color:#999;
708 705 font-weight:bold;
709 706 border-top-left-radius:3px;
710 707 border-top-right-radius:3px;
711 708 }
712 709
713 710 #content .tabs ul li a:hover {
714 711 background-color: #ffffdd;
715 712 text-decoration:none;
716 713 }
717 714
718 715 #content .tabs ul li a.selected {
719 716 background-color: #fff;
720 717 border: 1px solid #bbbbbb;
721 718 border-bottom: 1px solid #fff;
722 719 color:#444;
723 720 }
724 721
725 722 #content .tabs ul li a.selected:hover {
726 723 background-color: #fff;
727 724 }
728 725
729 726 div.tabs-buttons { position:absolute; right: 0; width: 48px; height: 24px; background: white; bottom: 0; border-bottom: 1px solid #bbbbbb; }
730 727
731 728 button.tab-left, button.tab-right {
732 729 font-size: 0.9em;
733 730 cursor: pointer;
734 731 height:24px;
735 732 border: 1px solid #ccc;
736 733 border-bottom: 1px solid #bbbbbb;
737 734 position:absolute;
738 735 padding:4px;
739 736 width: 20px;
740 737 bottom: -1px;
741 738 }
742 739
743 740 button.tab-left {
744 741 right: 20px;
745 742 background: #eeeeee url(../images/bullet_arrow_left.png) no-repeat 50% 50%;
746 743 border-top-left-radius:3px;
747 744 }
748 745
749 746 button.tab-right {
750 747 right: 0;
751 748 background: #eeeeee url(../images/bullet_arrow_right.png) no-repeat 50% 50%;
752 749 border-top-right-radius:3px;
753 750 }
754 751
755 752 /***** Auto-complete *****/
756 753 div.autocomplete {
757 754 position:absolute;
758 755 width:400px;
759 756 margin:0;
760 757 padding:0;
761 758 }
762 759 div.autocomplete ul {
763 760 list-style-type:none;
764 761 margin:0;
765 762 padding:0;
766 763 }
767 764 div.autocomplete ul li {
768 765 list-style-type:none;
769 766 display:block;
770 767 margin:-1px 0 0 0;
771 768 padding:2px;
772 769 cursor:pointer;
773 770 font-size: 90%;
774 771 border: 1px solid #ccc;
775 772 border-left: 1px solid #ccc;
776 773 border-right: 1px solid #ccc;
777 774 background-color:white;
778 775 }
779 776 div.autocomplete ul li.selected { background-color: #ffb;}
780 777 div.autocomplete ul li span.informal {
781 778 font-size: 80%;
782 779 color: #aaa;
783 780 }
784 781
785 782 #parent_issue_candidates ul li {width: 500px;}
786 783 #related_issue_candidates ul li {width: 500px;}
787 784
788 785 /***** Diff *****/
789 786 .diff_out { background: #fcc; }
790 787 .diff_out span { background: #faa; }
791 788 .diff_in { background: #cfc; }
792 789 .diff_in span { background: #afa; }
793 790
794 791 .text-diff {
795 792 padding: 1em;
796 793 background-color:#f6f6f6;
797 794 color:#505050;
798 795 border: 1px solid #e4e4e4;
799 796 }
800 797
801 798 /***** Wiki *****/
802 799 div.wiki table {
803 800 border-collapse: collapse;
804 801 margin-bottom: 1em;
805 802 }
806 803
807 804 div.wiki table, div.wiki td, div.wiki th {
808 805 border: 1px solid #bbb;
809 806 padding: 4px;
810 807 }
811 808
812 809 div.wiki .noborder, div.wiki .noborder td, div.wiki .noborder th {border:0;}
813 810
814 811 div.wiki .external {
815 812 background-position: 0% 60%;
816 813 background-repeat: no-repeat;
817 814 padding-left: 12px;
818 815 background-image: url(../images/external.png);
819 816 }
820 817
821 818 div.wiki a.new {
822 819 color: #b73535;
823 820 }
824 821
825 822 div.wiki ul, div.wiki ol {margin-bottom:1em;}
826 823
827 824 div.wiki pre {
828 825 margin: 1em 1em 1em 1.6em;
829 826 padding: 2px 2px 2px 0;
830 827 background-color: #fafafa;
831 828 border: 1px solid #dadada;
832 829 width:auto;
833 830 overflow-x: auto;
834 831 overflow-y: hidden;
835 832 }
836 833
837 834 div.wiki ul.toc {
838 835 background-color: #ffffdd;
839 836 border: 1px solid #e4e4e4;
840 837 padding: 4px;
841 838 line-height: 1.2em;
842 839 margin-bottom: 12px;
843 840 margin-right: 12px;
844 841 margin-left: 0;
845 842 display: table
846 843 }
847 844 * html div.wiki ul.toc { width: 50%; } /* IE6 doesn't autosize div */
848 845
849 846 div.wiki ul.toc.right { float: right; margin-left: 12px; margin-right: 0; width: auto; }
850 847 div.wiki ul.toc.left { float: left; margin-right: 12px; margin-left: 0; width: auto; }
851 848 div.wiki ul.toc ul { margin: 0; padding: 0; }
852 849 div.wiki ul.toc li { list-style-type:none; margin: 0;}
853 850 div.wiki ul.toc li li { margin-left: 1.5em; }
854 851 div.wiki ul.toc li li li { font-size: 0.8em; }
855 852
856 853 div.wiki ul.toc a {
857 854 font-size: 0.9em;
858 855 font-weight: normal;
859 856 text-decoration: none;
860 857 color: #606060;
861 858 }
862 859 div.wiki ul.toc a:hover { color: #c61a1a; text-decoration: underline;}
863 860
864 861 a.wiki-anchor { display: none; margin-left: 6px; text-decoration: none; }
865 862 a.wiki-anchor:hover { color: #aaa !important; text-decoration: none; }
866 863 h1:hover a.wiki-anchor, h2:hover a.wiki-anchor, h3:hover a.wiki-anchor { display: inline; color: #ddd; }
867 864
868 865 div.wiki img { vertical-align: middle; }
869 866
870 867 /***** My page layout *****/
871 868 .block-receiver {
872 869 border:1px dashed #c0c0c0;
873 870 margin-bottom: 20px;
874 871 padding: 15px 0 15px 0;
875 872 }
876 873
877 874 .mypage-box {
878 875 margin:0 0 20px 0;
879 876 color:#505050;
880 877 line-height:1.5em;
881 878 }
882 879
883 880 .handle {
884 881 cursor: move;
885 882 }
886 883
887 884 a.close-icon {
888 885 display:block;
889 886 margin-top:3px;
890 887 overflow:hidden;
891 888 width:12px;
892 889 height:12px;
893 890 background-repeat: no-repeat;
894 891 cursor:pointer;
895 892 background-image:url('../images/close.png');
896 893 }
897 894
898 895 a.close-icon:hover {
899 896 background-image:url('../images/close_hl.png');
900 897 }
901 898
902 899 /***** Gantt chart *****/
903 900 .gantt_hdr {
904 901 position:absolute;
905 902 top:0;
906 903 height:16px;
907 904 border-top: 1px solid #c0c0c0;
908 905 border-bottom: 1px solid #c0c0c0;
909 906 border-right: 1px solid #c0c0c0;
910 907 text-align: center;
911 908 overflow: hidden;
912 909 }
913 910
914 911 .gantt_subjects { font-size: 0.8em; }
915 912 .gantt_subjects div { line-height:16px;height:16px;overflow:hidden;white-space:nowrap;text-overflow: ellipsis; }
916 913
917 914 .task {
918 915 position: absolute;
919 916 height:8px;
920 917 font-size:0.8em;
921 918 color:#888;
922 919 padding:0;
923 920 margin:0;
924 921 line-height:16px;
925 922 white-space:nowrap;
926 923 }
927 924
928 925 .task.label {width:100%;}
929 926 .task.label.project, .task.label.version { font-weight: bold; }
930 927
931 928 .task_late { background:#f66 url(../images/task_late.png); border: 1px solid #f66; }
932 929 .task_done { background:#00c600 url(../images/task_done.png); border: 1px solid #00c600; }
933 930 .task_todo { background:#aaa url(../images/task_todo.png); border: 1px solid #aaa; }
934 931
935 932 .task_todo.parent { background: #888; border: 1px solid #888; height: 3px;}
936 933 .task_late.parent, .task_done.parent { height: 3px;}
937 934 .task.parent.marker.starting { position: absolute; background: url(../images/task_parent_end.png) no-repeat 0 0; width: 8px; height: 16px; margin-left: -4px; left: 0px; top: -1px;}
938 935 .task.parent.marker.ending { position: absolute; background: url(../images/task_parent_end.png) no-repeat 0 0; width: 8px; height: 16px; margin-left: -4px; right: 0px; top: -1px;}
939 936
940 937 .version.task_late { background:#f66 url(../images/milestone_late.png); border: 1px solid #f66; height: 2px; margin-top: 3px;}
941 938 .version.task_done { background:#00c600 url(../images/milestone_done.png); border: 1px solid #00c600; height: 2px; margin-top: 3px;}
942 939 .version.task_todo { background:#fff url(../images/milestone_todo.png); border: 1px solid #fff; height: 2px; margin-top: 3px;}
943 940 .version.marker { background-image:url(../images/version_marker.png); background-repeat: no-repeat; border: 0; margin-left: -4px; margin-top: 1px; }
944 941
945 942 .project.task_late { background:#f66 url(../images/milestone_late.png); border: 1px solid #f66; height: 2px; margin-top: 3px;}
946 943 .project.task_done { background:#00c600 url(../images/milestone_done.png); border: 1px solid #00c600; height: 2px; margin-top: 3px;}
947 944 .project.task_todo { background:#fff url(../images/milestone_todo.png); border: 1px solid #fff; height: 2px; margin-top: 3px;}
948 945 .project.marker { background-image:url(../images/project_marker.png); background-repeat: no-repeat; border: 0; margin-left: -4px; margin-top: 1px; }
949 946
950 947 .version-behind-schedule a, .issue-behind-schedule a {color: #f66914;}
951 948 .version-overdue a, .issue-overdue a, .project-overdue a {color: #f00;}
952 949
953 950 /***** Icons *****/
954 951 .icon {
955 952 background-position: 0% 50%;
956 953 background-repeat: no-repeat;
957 954 padding-left: 20px;
958 955 padding-top: 2px;
959 956 padding-bottom: 3px;
960 957 }
961 958
962 959 .icon-add { background-image: url(../images/add.png); }
963 960 .icon-edit { background-image: url(../images/edit.png); }
964 961 .icon-copy { background-image: url(../images/copy.png); }
965 962 .icon-duplicate { background-image: url(../images/duplicate.png); }
966 963 .icon-del { background-image: url(../images/delete.png); }
967 964 .icon-move { background-image: url(../images/move.png); }
968 965 .icon-save { background-image: url(../images/save.png); }
969 966 .icon-cancel { background-image: url(../images/cancel.png); }
970 967 .icon-multiple { background-image: url(../images/table_multiple.png); }
971 968 .icon-folder { background-image: url(../images/folder.png); }
972 969 .open .icon-folder { background-image: url(../images/folder_open.png); }
973 970 .icon-package { background-image: url(../images/package.png); }
974 971 .icon-user { background-image: url(../images/user.png); }
975 972 .icon-projects { background-image: url(../images/projects.png); }
976 973 .icon-help { background-image: url(../images/help.png); }
977 974 .icon-attachment { background-image: url(../images/attachment.png); }
978 975 .icon-history { background-image: url(../images/history.png); }
979 976 .icon-time { background-image: url(../images/time.png); }
980 977 .icon-time-add { background-image: url(../images/time_add.png); }
981 978 .icon-stats { background-image: url(../images/stats.png); }
982 979 .icon-warning { background-image: url(../images/warning.png); }
983 980 .icon-fav { background-image: url(../images/fav.png); }
984 981 .icon-fav-off { background-image: url(../images/fav_off.png); }
985 982 .icon-reload { background-image: url(../images/reload.png); }
986 983 .icon-lock { background-image: url(../images/locked.png); }
987 984 .icon-unlock { background-image: url(../images/unlock.png); }
988 985 .icon-checked { background-image: url(../images/true.png); }
989 986 .icon-details { background-image: url(../images/zoom_in.png); }
990 987 .icon-report { background-image: url(../images/report.png); }
991 988 .icon-comment { background-image: url(../images/comment.png); }
992 989 .icon-summary { background-image: url(../images/lightning.png); }
993 990 .icon-server-authentication { background-image: url(../images/server_key.png); }
994 991 .icon-issue { background-image: url(../images/ticket.png); }
995 992 .icon-zoom-in { background-image: url(../images/zoom_in.png); }
996 993 .icon-zoom-out { background-image: url(../images/zoom_out.png); }
997 994 .icon-passwd { background-image: url(../images/textfield_key.png); }
998 995 .icon-test { background-image: url(../images/bullet_go.png); }
999 996
1000 997 .icon-file { background-image: url(../images/files/default.png); }
1001 998 .icon-file.text-plain { background-image: url(../images/files/text.png); }
1002 999 .icon-file.text-x-c { background-image: url(../images/files/c.png); }
1003 1000 .icon-file.text-x-csharp { background-image: url(../images/files/csharp.png); }
1004 1001 .icon-file.text-x-java { background-image: url(../images/files/java.png); }
1005 1002 .icon-file.text-x-javascript { background-image: url(../images/files/js.png); }
1006 1003 .icon-file.text-x-php { background-image: url(../images/files/php.png); }
1007 1004 .icon-file.text-x-ruby { background-image: url(../images/files/ruby.png); }
1008 1005 .icon-file.text-xml { background-image: url(../images/files/xml.png); }
1009 1006 .icon-file.text-css { background-image: url(../images/files/css.png); }
1010 1007 .icon-file.text-html { background-image: url(../images/files/html.png); }
1011 1008 .icon-file.image-gif { background-image: url(../images/files/image.png); }
1012 1009 .icon-file.image-jpeg { background-image: url(../images/files/image.png); }
1013 1010 .icon-file.image-png { background-image: url(../images/files/image.png); }
1014 1011 .icon-file.image-tiff { background-image: url(../images/files/image.png); }
1015 1012 .icon-file.application-pdf { background-image: url(../images/files/pdf.png); }
1016 1013 .icon-file.application-zip { background-image: url(../images/files/zip.png); }
1017 1014 .icon-file.application-x-gzip { background-image: url(../images/files/zip.png); }
1018 1015
1019 1016 img.gravatar {
1020 1017 padding: 2px;
1021 1018 border: solid 1px #d5d5d5;
1022 1019 background: #fff;
1023 1020 vertical-align: middle;
1024 1021 }
1025 1022
1026 1023 div.issue img.gravatar {
1027 1024 float: left;
1028 1025 margin: 0 6px 0 0;
1029 1026 padding: 5px;
1030 1027 }
1031 1028
1032 1029 div.issue table img.gravatar {
1033 1030 height: 14px;
1034 1031 width: 14px;
1035 1032 padding: 2px;
1036 1033 float: left;
1037 1034 margin: 0 0.5em 0 0;
1038 1035 }
1039 1036
1040 1037 h2 img.gravatar {
1041 1038 margin: -2px 4px -4px 0;
1042 1039 }
1043 1040
1044 1041 h3 img.gravatar {
1045 1042 margin: -4px 4px -4px 0;
1046 1043 }
1047 1044
1048 1045 h4 img.gravatar {
1049 1046 margin: -6px 4px -4px 0;
1050 1047 }
1051 1048
1052 1049 td.username img.gravatar {
1053 1050 margin: 0 0.5em 0 0;
1054 1051 vertical-align: top;
1055 1052 }
1056 1053
1057 1054 #activity dt img.gravatar {
1058 1055 float: left;
1059 1056 margin: 0 1em 1em 0;
1060 1057 }
1061 1058
1062 1059 /* Used on 12px Gravatar img tags without the icon background */
1063 1060 .icon-gravatar {
1064 1061 float: left;
1065 1062 margin-right: 4px;
1066 1063 }
1067 1064
1068 1065 #activity dt,
1069 1066 .journal {
1070 1067 clear: left;
1071 1068 }
1072 1069
1073 1070 .journal-link {
1074 1071 float: right;
1075 1072 }
1076 1073
1077 1074 h2 img { vertical-align:middle; }
1078 1075
1079 1076 .hascontextmenu { cursor: context-menu; }
1080 1077
1081 1078 /***** Media print specific styles *****/
1082 1079 @media print {
1083 1080 #top-menu, #header, #main-menu, #sidebar, #footer, .contextual, .other-formats { display:none; }
1084 1081 #main { background: #fff; }
1085 1082 #content { width: 99%; margin: 0; padding: 0; border: 0; background: #fff; overflow: visible !important;}
1086 1083 #wiki_add_attachment { display:none; }
1087 1084 .hide-when-print { display: none; }
1088 1085 .autoscroll {overflow-x: visible;}
1089 1086 table.list {margin-top:0.5em;}
1090 1087 table.list th, table.list td {border: 1px solid #aaa;}
1091 1088 }
1092 1089
1093 1090 /* Accessibility specific styles */
1094 1091 .hidden-for-sighted {
1095 1092 position:absolute;
1096 1093 left:-10000px;
1097 1094 top:auto;
1098 1095 width:1px;
1099 1096 height:1px;
1100 1097 overflow:hidden;
1101 1098 }
General Comments 0
You need to be logged in to leave comments. Login now