##// END OF EJS Templates
fixes #5, links, are not visible highlited in top breadcrumbs
marcink -
r294:c60eeeb8 default
parent child Browse files
Show More
@@ -1,836 +1,838
1 1 /*** Initial Settings ***/
2 2 #mainhtml{
3 3 margin: 15px 50px;
4 4 background: #DBD4C6;
5 5 font-family: sans-serif;
6 6 }
7
7 #mainhtml .breadcrumbs a:HOVER{
8 text-decoration: underline;
9 }
8 10 a {
9 11 color: #556CB5;
10 12 text-decoration: none;
11 13 }
12 14 a:HOVER{
13 15 text-decoration: underline;
14 16 }
15 17
16 18 /*** end of Initial Settings ***/
17 19
18 20 /*** ***/
19 21 .table_disp {
20 22 border-left: 0px solid #666666;
21 23 border-bottom: 1px solid #666666;
22 24 border-right: 1px solid #666666;
23 25 padding: 0px;
24 26 margin: 0px;
25 27 border-spacing: 0px;
26 28 }
27 29
28 30 .table_disp .header {
29 31 border-top: 1px solid #666666;
30 32 background-color: #556CB5;
31 33 font-weight: bold;
32 34 color: white;
33 35 vertical-align: middle;
34 36 padding: 3px 5px;
35 37 text-align: left;
36 38 font-size: 0.9em;
37 39 }
38 40
39 41 .table_disp .header td {
40 42 padding: 4px;
41 43 vertical-align: middle;
42 44 border-top: 1px solid #AAAAAA;
43 45 border-bottom: 2px solid #666666;
44 46 }
45 47 .table_disp td {
46 48 border-left: 1px solid #AAAAAA;
47 49 padding-left: 4px;
48 50 padding-right: 4px;
49 51 }
50 52
51 53 table tr.parity0:hover,table tr.parity1:hover {
52 54 background: #D5E1E6;
53 55 }
54 56
55 57 table tr.parity0 {
56 58 background: #EAEAE9;
57 59 }
58 60
59 61 table tr.parity1 {
60 62 background: #FFFFFF;
61 63 }
62 64
63 65
64 66 /*** ***/
65 67
66 68 /** common settings **/
67 69 .add_icon{
68 70 background: url("/images/icons/add.png") no-repeat scroll 3px;
69 71 height: 16px;
70 72 padding-left: 20px;
71 73 padding-top: 0px;
72 74 text-align: left;
73 75
74 76 }
75 77 .edit_icon{
76 78 background: url("/images/icons/folder_edit.png") no-repeat scroll 3px;
77 79 height: 16px;
78 80 padding-left: 20px;
79 81 padding-top: 0px;
80 82 text-align: left;
81 83 }
82 84
83 85 .delete_icon{
84 86 background: url("/images/icons/delete.png") no-repeat scroll 3px;
85 87 height: 16px;
86 88 padding-left: 20px;
87 89 padding-top: 0px;
88 90 text-align: left;
89 91
90 92 }
91 93
92 94 .action_button{
93 95 border:0px;
94 96 display: block;
95 97 }
96 98 .action_button:hover{
97 99 border:0px;
98 100 font-style:italic;
99 101 cursor: pointer;
100 102 }
101 103
102 104 .flash_msg ul{
103 105 margin:0;
104 106 padding:25px 0px 0px 0px;
105 107
106 108 }
107 109 .error_msg {
108 110 background-color:#FFCFCF;
109 111 background-image: url("/images/icons/error_msg.png");
110 112 border:1px solid #FF9595;
111 113 color:#CC3300;
112 114 }
113 115 .warning_msg {
114 116 background-color:#FFFBCC;
115 117 background-image: url("/images/icons/warning_msg.png");
116 118 border:1px solid #FFF35E;
117 119 color:#C69E00;
118 120 }
119 121 .success_msg {
120 122 background-color:#D5FFCF;
121 123 background-image: url("/images/icons/success_msg.png");
122 124 border:1px solid #97FF88;
123 125 color:#009900;
124 126 }
125 127 .notice_msg {
126 128 background-color:#DCE3FF;
127 129 background-image: url("/images/icons/notice_msg.png");
128 130 border:1px solid #93A8FF;
129 131 color:#556CB5;
130 132 }
131 133
132 134 .success_msg, .error_msg, .notice_msg, .warning_msg{
133 135 background-position:10px center;
134 136 background-repeat:no-repeat;
135 137 font-size:12px;
136 138 font-weight:bold;
137 139 min-height:14px;
138 140 line-height:14px;
139 141 margin-bottom:0px;
140 142 margin-top:0px;
141 143 padding:3px 10px 3px 40px;
142 144 display:block;
143 145 overflow: auto;
144 146 }
145 147
146 148 #msg_close {
147 149 background:transparent url("icons/cross_grey_small.png") no-repeat scroll 0 0;
148 150 cursor:pointer;
149 151 height:16px;
150 152 position:absolute;
151 153 right:5px;
152 154 top:5px;
153 155 width:16px;
154 156 }
155 157
156 158 .error-message{
157 159 color:#CC3300;
158 160 }
159 161 /**** Tooltip ****/
160 162 .yui-overlay,
161 163 .yui-panel-container {
162 164 visibility:hidden;
163 165 position:absolute;
164 166 z-index: 2;
165 167 }
166 168
167 169 .yui-tt {
168 170 visibility:hidden;
169 171 position:absolute;
170 172 color:#666666;
171 173 background-color:#FFFFFF;
172 174 font-family:arial,helvetica,verdana,sans-serif;
173 175 padding:8px;
174 176 border:2px solid #556CB5;
175 177 font:100% sans-serif;
176 178 width:auto;
177 179 opacity:1.0;
178 180 }
179 181
180 182 .yui-tt-shadow {
181 183 display: none;
182 184 }
183 185 /** end of Tooltip **/
184 186
185 187
186 188 div#main {
187 189 padding: 5px;
188 190 }
189 191
190 192 div#container {
191 193 background: #FFFFFF;
192 194 position: relative;
193 195 color: #666;
194 196 }
195 197
196 198 div.page-header {
197 199 padding: 50px 20px 0;
198 200 background: #556cb5 top left repeat-x;
199 201 position: relative;
200 202 }
201 203
202 204 div.page-header h1 {
203 205 margin: 10px 0 30px;
204 206 font-size: 1.8em;
205 207 font-weight: bold;
206 208 font-family: sans-serif;
207 209 letter-spacing: 1px;
208 210 color: #FFFFFF;
209 211 }
210 212
211 213 div.page-header h1 a {
212 214 font-weight: bold;
213 215 color: #FFFFFF;
214 216 }
215 217
216 218 div.page-header a {
217 219 text-decoration: none;
218 220 }
219 221
220 222 div.page-header form {
221 223 position: absolute;
222 224 margin-bottom: 2px;
223 225 bottom: 0;
224 226 right: 20px;
225 227 }
226 228
227 229 div.page-header form label {
228 230 color: #DDD;
229 231 }
230 232
231 233 div.page-header form input {
232 234 padding: 2px;
233 235 border: solid 1px #DDD;
234 236 }
235 237
236 238 div.page-header form dl {
237 239 overflow: hidden;
238 240 }
239 241
240 242 div.page-header form dl dt {
241 243 font-size: 1.2em;
242 244 }
243 245
244 246 div.page-header form dl dt,div.page-header form dl dd {
245 247 margin: 0 0 0 5px;
246 248 float: left;
247 249 height: 24px;
248 250 line-height: 20px;
249 251 }
250 252
251 253 ul.page-nav {
252 254 margin: 10px 0 0 0;
253 255 list-style-type: none;
254 256 overflow: hidden;
255 257 width: 800px;
256 258 padding: 0;
257 259 }
258 260
259 261 ul.page-nav li {
260 262 margin: 0 4px 0 0;
261 263 float: left;
262 264 height: 24px;
263 265 font-size: 1.1em;
264 266 line-height: 24px;
265 267 text-align: center;
266 268 background: #556CB5;
267 269 }
268 270
269 271 ul.page-nav li.current {
270 272 background: #FFF;
271 273 padding-right: 5px;
272 274 padding-left: 5px;
273 275 }
274 276 ul.page-nav li.current a {
275 277 color: #556CB5;
276 278 }
277 279 ul.page-nav li a {
278 280 height: 24px;
279 281 color: #FFF;
280 282 padding-right: 5px;
281 283 padding-left: 5px;
282 284 display: block;
283 285 text-decoration: none;
284 286 font-weight: bold;
285 287 }
286 288 ul.page-nav li.logout a {
287 289 color: #FDAC9D;
288 290 }
289 291 ul.page-nav li a:hover {
290 292 background: #FFF;
291 293 color: #556CB5;
292 294 }
293 295
294 296 ul.submenu {
295 297 margin: 5px 0px -20px 0px;
296 298 list-style-type: none;
297 299 }
298 300
299 301 ul.submenu li {
300 302 margin: 0 10px 0 0;
301 303 font-size: 0.9em;
302 304 font-weight:bold;
303 305 display: inline;
304 306 }
305 307 ul.submenu .repos {
306 308 background: url("/images/icons/folder_edit.png") no-repeat scroll 3px;
307 309 height: 16px;
308 310 padding-left: 20px;
309 311 padding-top: 0px;
310 312 text-align: left;
311 313
312 314 }
313 315 ul.submenu .users {
314 316 background: url("/images/icons/user_edit.png") no-repeat scroll 3px;
315 317 height: 16px;
316 318 padding-left: 20px;
317 319 padding-top: 0px;
318 320 text-align: left;
319 321 }
320 322 ul.submenu .permissions {
321 323 background: url("/images/icons/folder_key.png") no-repeat scroll 3px;
322 324 height: 16px;
323 325 padding-left: 20px;
324 326 padding-top: 0px;
325 327 text-align: left;
326 328 }
327 329
328 330 ul.submenu .current_submenu {
329 331 border-bottom: 2px solid #556CB5;
330 332 }
331 333
332 334 h2 {
333 335 margin: 20px 0 10px;
334 336 height: 30px;
335 337 line-height: 30px;
336 338 text-indent: 20px;
337 339 background: #FFF;
338 340 font-size: 1.2em;
339 341 border-top: dotted 1px #D5E1E6;
340 342 font-weight: bold;
341 343 color:#556CB5;
342 344 }
343 345
344 346 h2.no-link {
345 347 color: #006699;
346 348 }
347 349
348 350 h2.no-border {
349 351 color: #FFF;
350 352 background: #556CB5;
351 353 border: 0;
352 354 }
353 355
354 356 h2 a {
355 357 font-weight: bold;
356 358 color: #006699;
357 359 }
358 360
359 361 div.page-path {
360 362 text-align: right;
361 363 padding: 20px 30px 10px 0;
362 364 border: solid #d9d8d1;
363 365 border-width: 0px 0px 1px;
364 366 font-size: 1.2em;
365 367 }
366 368
367 369 div.page-footer {
368 370 margin: 50px 0 0;
369 371 position: relative;
370 372 text-align: center;
371 373 font-weight: bold;
372 374 font-size: 90%;
373 375 }
374 376
375 377 div.page-footer p {
376 378 position: relative;
377 379 left: 20px;
378 380 bottom: 5px;
379 381 font-size: 1.2em;
380 382 }
381 383
382 384 ul.rss-logo {
383 385 position: absolute;
384 386 top: -10px;
385 387 right: 20px;
386 388 height: 20px;
387 389 list-style-type: none;
388 390 }
389 391
390 392 ul.rss-logo li {
391 393 display: inline;
392 394 }
393 395
394 396 ul.rss-logo li a {
395 397 padding: 3px 6px;
396 398 line-height: 10px;
397 399 border: 1px solid;
398 400 border-color: #fcc7a5 #7d3302 #3e1a01 #ff954e;
399 401 color: #ffffff;
400 402 background-color: #ff6600;
401 403 font-weight: bold;
402 404 font-family: sans-serif;
403 405 font-size: 10px;
404 406 text-align: center;
405 407 text-decoration: none;
406 408 }
407 409
408 410 div.rss-logo li a:hover {
409 411 background-color: #ee5500;
410 412 }
411 413
412 414 p.normal {
413 415 margin: 20px 0 20px 30px;
414 416 font-size: 1.2em;
415 417 }
416 418
417 419 span.logtags span {
418 420 background-repeat: no-repeat;
419 421 height: 16px;
420 422 padding-left: 20px;
421 423 padding-top: 0px;
422 424 text-align: left;
423 425 font-weight: bold;
424 426 }
425 427
426 428 span.logtags span.tagtag {
427 429 background-image: url("/images/icons/tag_green.png");
428 430 }
429 431
430 432 span.logtags span.branchtag {
431 433 background-image: url("/images/icons/arrow_branch.png");
432 434 color: #628F53;
433 435 }
434 436
435 437 span.logtags span.inbranchtag {
436 438 background-image: url("/images/icons/arrow_branch.png");
437 439 }
438 440
439 441 div.diff pre {
440 442 margin: 10px 0 0 0;
441 443 }
442 444
443 445 div.diff pre span {
444 446 font-family: monospace;
445 447 white-space: pre;
446 448 font-size: 1.2em;
447 449 padding: 3px 0;
448 450 }
449 451
450 452 td.source {
451 453 white-space: pre;
452 454 font-family: monospace;
453 455 margin: 10px 30px 0;
454 456 font-size: 1.2em;
455 457 font-family: monospace;
456 458 }
457 459
458 460 div.source div.parity0,div.source div.parity1 {
459 461 padding: 1px;
460 462 font-size: 1.2em;
461 463 }
462 464
463 465 div.source div.parity0 {
464 466 background: #F1F6F7;
465 467 }
466 468
467 469 div.source div.parity1 {
468 470 background: #FFFFFF;
469 471 }
470 472
471 473 div.parity0:hover,div.parity1:hover {
472 474 background: #D5E1E6;
473 475 }
474 476
475 477 .linenr {
476 478 color: #999;
477 479 text-align: right;
478 480 }
479 481
480 482 .lineno {
481 483 text-align: right;
482 484 }
483 485
484 486 .lineno a {
485 487 color: #999;
486 488 }
487 489
488 490 td.linenr {
489 491 width: 60px;
490 492 }
491 493
492 494 div#powered-by {
493 495 position: absolute;
494 496 width: 75px;
495 497 top: 15px;
496 498 right: 20px;
497 499 font-size: 1.2em;
498 500 }
499 501
500 502 div#powered-by a {
501 503 color: #EEE;
502 504 text-decoration: none;
503 505 }
504 506
505 507 div#powered-by a:hover {
506 508 text-decoration: underline;
507 509 }
508 510
509 511 dl.overview {
510 512 margin: 0 0 0 30px;
511 513 font-size: 1.1em;
512 514 overflow: hidden;
513 515 }
514 516
515 517 dl.overview dt,dl.overview dd {
516 518 margin: 5px 0;
517 519 float: left;
518 520 }
519 521
520 522 dl.overview dt {
521 523 clear: left;
522 524 font-weight: bold;
523 525 width: 150px;
524 526 }
525 527
526 528 #clone_url{
527 529 border: 0px;
528 530 }
529 531 /** end of summary **/
530 532
531 533 /** chagelog **/
532 534 h3.changelog {
533 535 margin: 20px 0 5px 30px;
534 536 padding: 0 0 2px;
535 537 font-size: 1.4em;
536 538 border-bottom: dotted 1px #D5E1E6;
537 539 }
538 540
539 541 ul.changelog-entry {
540 542 margin: 0 0 10px 30px;
541 543 list-style-type: none;
542 544 position: relative;
543 545 }
544 546
545 547 ul.changelog-entry li span.revdate {
546 548 font-size: 1.1em;
547 549 }
548 550
549 551 ul.changelog-entry li.age {
550 552 position: absolute;
551 553 top: -25px;
552 554 right: 10px;
553 555 font-size: 1.4em;
554 556 color: #CCC;
555 557 font-weight: bold;
556 558 font-style: italic;
557 559 }
558 560
559 561 ul.changelog-entry li span.name {
560 562 font-size: 1.2em;
561 563 font-weight: bold;
562 564 }
563 565
564 566 ul.changelog-entry li.description {
565 567 margin: 10px 0 0;
566 568 font-size: 1.1em;
567 569 }
568 570
569 571 /** end of changelog **/
570 572
571 573 /** file **/
572 574 p.files {
573 575 margin: 0 0 0 20px;
574 576 font-size: 2.0em;
575 577 font-weight: bold;
576 578 }
577 579
578 580 /** end of file **/
579 581
580 582 /** changeset **/
581 583 #changeset_content{
582 584 width:60%;
583 585 float:left;
584 586 }
585 587
586 588 #changeset_content .container .wrapper{
587 589 width: 600px;
588 590 }
589 591 #changeset_content .container{
590 592 border:1px solid #CCCCCC;
591 593 height:120px;
592 594 }
593 595
594 596 #changeset_content .container .left{
595 597 float:left;
596 598 width: 70%;
597 599 padding-left: 5px;
598 600 }
599 601
600 602 #changeset_content .container .right{
601 603 float:right;
602 604 width: 25%;
603 605 text-align: right;
604 606 }
605 607
606 608 #changeset_content .container .left .date{
607 609 font-weight:bold;
608 610 }
609 611 #changeset_content .container .left .author{
610 612
611 613 }
612 614 #changeset_content .container .left .message{
613 615 font-style: italic;
614 616 color: #556CB5;
615 617 }
616 618
617 619 .cs_files{
618 620 width: 60%;
619 621 }
620 622
621 623 .cs_files .cs_added{
622 624 background: url("/images/icons/page_white_add.png") no-repeat scroll 3px;
623 625 /*background-color:#BBFFBB;*/
624 626 height: 16px;
625 627 padding-left: 20px;
626 628 margin-top: 7px;
627 629 text-align: left;
628 630 }
629 631 .cs_files .cs_changed{
630 632 background: url("/images/icons/page_white_edit.png") no-repeat scroll 3px;
631 633 /*background-color: #FFDD88;*/
632 634 height: 16px;
633 635 padding-left: 20px;
634 636 margin-top: 7px;
635 637 text-align: left;
636 638 }
637 639 .cs_files .cs_removed{
638 640 background: url("/images/icons/page_white_delete.png") no-repeat scroll 3px;
639 641 /*background-color: #FF8888;*/
640 642 height: 16px;
641 643 padding-left: 20px;
642 644 margin-top: 7px;
643 645 text-align: left;
644 646 }
645 647
646 648 /** end of changeset **/
647 649
648 650 /** canvas **/
649 651 #graph_nodes{
650 652 margin-top:8px;
651 653 }
652 654 #graph{
653 655 overflow: hidden;
654 656
655 657 }
656 658 #graph_nodes{
657 659 width:160px;
658 660 float:left;
659 661 }
660 662
661 663 #graph_content{
662 664 width:800px;
663 665 float:left;
664 666 }
665 667 #graph_content .container_header{
666 668 border:1px solid #CCCCCC;
667 669 height:30px;
668 670 background: #EEEEEE;
669 671 }
670 672
671 673
672 674 #graph_content .container .wrapper{
673 675 width: 600px;
674 676 }
675 677 #graph_content .container{
676 678 border-bottom: 1px solid #CCCCCC;
677 679 border-left: 1px solid #CCCCCC;
678 680 border-right: 1px solid #CCCCCC;
679 681 height:120px;
680 682 }
681 683
682 684 #graph_content .container .left{
683 685 float:left;
684 686 width: 70%;
685 687 padding-left: 5px;
686 688 }
687 689
688 690 #graph_content .container .right{
689 691 float:right;
690 692 width: 25%;
691 693 text-align: right;
692 694 }
693 695 #graph_content .container .left .date{
694 696 font-weight:bold;
695 697 }
696 698 #graph_content .container .left .author{
697 699
698 700 }
699 701 #graph_content .container .left .message{
700 702 font-size: 80%;
701 703 }
702 704
703 705 .right div{
704 706 clear: both;
705 707 }
706 708 .right .changes .added,.changed,.removed{
707 709 border:1px solid #DDDDDD;
708 710 display:block;
709 711 float:right;
710 712 font-size:0.75em;
711 713 text-align:center;
712 714 min-width:15px;
713 715 }
714 716 .right .changes .added{
715 717 background:#BBFFBB;
716 718 }
717 719 .right .changes .changed{
718 720 background: #FFDD88;
719 721 }
720 722 .right .changes .removed{
721 723 background: #FF8888;
722 724 }
723 725
724 726 .right .merge{
725 727 vertical-align: top;
726 728 font-size: 60%;
727 729 font-weight: bold;
728 730 }
729 731 .right .merge img{
730 732 vertical-align: bottom;
731 733 }
732 734
733 735 .right .parent{
734 736 font-size: 90%;
735 737 font-family: monospace;
736 738 }
737 739 /** end of canvas **/
738 740
739 741 /* FILE BROWSER */
740 742 div.browserblock {
741 743 overflow: hidden;
742 744 padding: 0px;
743 745 border: 1px solid #ccc;
744 746 background: #f8f8f8;
745 747 font-size: 100%;
746 748 line-height: 100%;
747 749 /* new */
748 750 line-height: 125%;
749 751 }
750 752 div.browserblock .browser-header{
751 753 border-bottom: 1px solid #CCCCCC;
752 754 background: #EEEEEE;
753 755 color:blue;
754 756 padding:10px 0 10px 0;
755 757 }
756 758 div.browserblock .browser-header span{
757 759 margin-left:25px;
758 760 font-weight: bold;
759 761 }
760 762 div.browserblock .browser-body{
761 763 background: #EEEEEE;
762 764 }
763 765
764 766 table.code-browser {
765 767 border-collapse:collapse;
766 768 width: 100%;
767 769 }
768 770 table.code-browser tr{
769 771 margin:3px;
770 772 }
771 773
772 774 table.code-browser thead th {
773 775 background-color: #EEEEEE;
774 776 height: 20px;
775 777 font-size: 1.1em;
776 778 font-weight: bold;
777 779 text-align: center;
778 780 text-align: left;
779 781 padding-left: 10px;
780 782 }
781 783 table.code-browser tbody tr {
782 784
783 785 }
784 786
785 787 table.code-browser tbody td {
786 788
787 789 padding-left:10px;
788 790 height: 20px;
789 791 }
790 792
791 793 .info-table {
792 794 background: none repeat scroll 0 0 #FAFAFA;
793 795 border-bottom: 1px solid #DDDDDD;
794 796 width: 100%;
795 797 }
796 798
797 799 .rss_logo {
798 800 background: url("/images/icons/rss_16.png") no-repeat scroll 3px;
799 801 height: 16px;
800 802 padding-left: 20px;
801 803 padding-top: 0px;
802 804 text-align: left;
803 805 }
804 806
805 807 .atom_logo {
806 808 background: url("/images/icons/atom.png") no-repeat scroll 3px;
807 809 height: 16px;
808 810 padding-left: 20px;
809 811 padding-top: 0px;
810 812 text-align: left;
811 813 }
812 814 .archive_logo{
813 815 background: url("/images/icons/compress.png") no-repeat scroll 3px;
814 816 height: 16px;
815 817 padding-left: 20px;
816 818 text-align: left;
817 819 }
818 820
819 821 .browser-file {
820 822 background: url("/images/icons/document_16.png") no-repeat scroll 3px;
821 823 height: 16px;
822 824 padding-left: 20px;
823 825 text-align: left;
824 826 }
825 827
826 828 .browser-dir {
827 829 background: url("/images/icons/folder_16.png") no-repeat scroll 3px;
828 830 height: 16px;
829 831 padding-left: 20px;
830 832 text-align: left;
831 833 }
832 834
833 835 #repos_list {
834 836 border: 1px solid #556CB5;
835 837 background: #FFFFFF;
836 838 } No newline at end of file
@@ -1,156 +1,156
1 1 ## -*- coding: utf-8 -*-
2 2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 3 <html xmlns="http://www.w3.org/1999/xhtml" id="mainhtml">
4 4 <head>
5 5 <link rel="icon" href="/images/hgicon.png" type="image/png" />
6 6 <meta name="robots" content="index, nofollow"/>
7 7 <title>${next.title()}</title>
8 8 ##For future use yui reset for cross browser compatability.
9 9 ##<link rel="stylesheet" href="/js/yui/reset-fonts-grids/reset-fonts-grids.css" type="text/css" />
10 10 ${self.css()}
11 11 ${self.js()}
12 12 </head>
13 13
14 14 <body class="mainbody">
15 15 <div id="container">
16 16 <div class="page-header">
17 <h1>${next.breadcrumbs()}</h1>
17 <h1 class="breadcrumbs">${next.breadcrumbs()}</h1>
18 18 ${self.page_nav()}
19 19 <div class="flash_msg">
20 20 <% messages = h.flash.pop_messages() %>
21 21 % if messages:
22 22 <ul id="flash-messages">
23 23 % for message in messages:
24 24 <li class="${message.category}_msg">${message}</li>
25 25 % endfor
26 26 </ul>
27 27 % endif
28 28 </div>
29 29 <div id="main">
30 30 ${next.main()}
31 31 <script type="text/javascript">${h.tooltip.activate()}</script>
32 32 </div>
33 33 <div class="page-footer">
34 34 Hg App ${c.hg_app_version} &copy; 2010 by Marcin Kuzminski
35 35 </div>
36 36
37 37 <div id="powered-by">
38 38 <p>
39 39 <a href="http://mercurial.selenic.com/" title="Mercurial">
40 40 <img src="/images/hglogo.png" width="75" height="90" alt="mercurial"/></a>
41 41 </p>
42 42 </div>
43 43
44 44 <div id="corner-top-left"></div>
45 45 <div id="corner-top-right"></div>
46 46 <div id="corner-bottom-left"></div>
47 47 <div id="corner-bottom-right"></div>
48 48
49 49 </div>
50 50 </body>
51 51 </html>
52 52
53 53 ### MAKO DEFS ###
54 54
55 55 <%def name="page_nav()">
56 56 ${self.menu()}
57 57 ${self.submenu()}
58 58 </%def>
59 59
60 60 <%def name="menu(current)">
61 61 <%
62 62 def is_current(selected):
63 63 if selected == current:
64 64 return "class='current'"
65 65 %>
66 66 %if current not in ['home','admin']:
67 67 ##regular menu
68 68 <script type="text/javascript">
69 69 YAHOO.util.Event.onDOMReady(function(){
70 70 YAHOO.util.Event.addListener('repo_switcher','click',function(){
71 71 if(YAHOO.util.Dom.hasClass('repo_switcher','selected')){
72 72 YAHOO.util.Dom.setStyle('switch_repos','display','none');
73 73 YAHOO.util.Dom.setStyle('repo_switcher','background','');
74 74 YAHOO.util.Dom.removeClass('repo_switcher','selected');
75 75 YAHOO.util.Dom.get('repo_switcher').removeAttribute('style');
76 76 }
77 77 else{
78 78 YAHOO.util.Dom.setStyle('switch_repos','display','');
79 79 YAHOO.util.Dom.setStyle('repo_switcher','background','#FFFFFF');
80 80 YAHOO.util.Dom.setStyle('repo_switcher','color','#556CB5');
81 81 YAHOO.util.Dom.addClass('repo_switcher','selected');
82 82 }
83 83 });
84 84 YAHOO.util.Event.addListener('repos_list','change',function(e){
85 85 var wa = YAHOO.util.Dom.get('repos_list').value;
86 86
87 87 var url = "${h.url('summary_home',repo_name='__REPLACE__')}".replace('__REPLACE__',wa);
88 88 window.location = url;
89 89 })
90 90 });
91 91 </script>
92 92 <ul class="page-nav">
93 93 <li>
94 94 <a id="repo_switcher" title="${_('Switch repository')}" href="#">&darr;</a>
95 95 <div id="switch_repos" style="display:none;position: absolute;height: 25px">
96 96 <select id="repos_list" size="=10" style="min-width: 150px">
97 97 %for repo in sorted(x.name.lower() for x in c.cached_repo_list.values()):
98 98 <option value="${repo}">${repo}</option>
99 99 %endfor
100 100 </select>
101 101 </div>
102 102 </li>
103 103 <li ${is_current('summary')}>${h.link_to(_('summary'),h.url('summary_home',repo_name=c.repo_name))}</li>
104 104 <li ${is_current('shortlog')}>${h.link_to(_('shortlog'),h.url('shortlog_home',repo_name=c.repo_name))}</li>
105 105 <li ${is_current('changelog')}>${h.link_to(_('changelog'),h.url('changelog_home',repo_name=c.repo_name))}</li>
106 106 <li ${is_current('branches')}>${h.link_to(_('branches'),h.url('branches_home',repo_name=c.repo_name))}</li>
107 107 <li ${is_current('tags')}>${h.link_to(_('tags'),h.url('tags_home',repo_name=c.repo_name))}</li>
108 108 <li ${is_current('files')}>${h.link_to(_('files'),h.url('files_home',repo_name=c.repo_name))}</li>
109 109 </ul>
110 110 %else:
111 111 ##Root menu
112 112 <ul class="page-nav">
113 113 <li ${is_current('home')}>${h.link_to(_('Home'),h.url('/'))}</li>
114 114 <li ${is_current('admin')}>${h.link_to(_('Admin'),h.url('admin_home'))}</li>
115 115 <li class="logout">${h.link_to(u'Logout',h.url('logout_home'))}</li>
116 116 </ul>
117 117 %endif
118 118 </div>
119 119 </%def>
120 120 <%def name="submenu(current=None)">
121 121 <%
122 122 def is_current(selected):
123 123 if selected == current:
124 124 return "class='current_submenu'"
125 125 %>
126 126 %if current != None:
127 127 <div>
128 128 <ul class="submenu">
129 129 <li ${is_current('repos')}>${h.link_to(u'repos',h.url('repos'),class_='repos')}</li>
130 130 <li ${is_current('users')}>${h.link_to(u'users',h.url('users'),class_='users')}</li>
131 131 <li ${is_current('permissions')}>${h.link_to(u'permissions',h.url('permissions'),class_='permissions')}</li>
132 132 </ul>
133 133 </div>
134 134 %endif
135 135 </%def>
136 136
137 137
138 138 <%def name="css()">
139 139 <link rel="stylesheet" href="/css/monoblue_custom.css" type="text/css" />
140 140 </%def>
141 141
142 142 <%def name="js()">
143 143 <script type="text/javascript" src="/js/yui/utilities/utilities.js"></script>
144 144 <script type="text/javascript" src="/js/yui/container/container-min.js"></script>
145 145 </%def>
146 146
147 147 <!-- DEFINITION OF FORM ERROR FETCHER -->
148 148 <%def name="get_form_error(element)">
149 149 %if hasattr(c,'form_errors') and type(c.form_errors) == dict:
150 150 %if c.form_errors.get(element,False):
151 151 <span class="error-message">
152 152 ${c.form_errors.get(element,'')}
153 153 </span>
154 154 %endif
155 155 %endif
156 156 </%def> No newline at end of file
General Comments 0
You need to be logged in to leave comments. Login now