* hydra: layout changes

This commit is contained in:
Rob Vermaas 2010-02-24 15:06:20 +00:00
parent a1c7e359be
commit f0706a75a2
9 changed files with 145 additions and 213 deletions

View file

@ -93,7 +93,7 @@
</ul> </ul>
<div id="tabs-summary"> <div id="tabs-summary">
<table class="statusTable"> <table class="layoutTable">
<tr> <tr>
<td> <td>
[% INCLUDE renderBuildStatusIcon size=128, build=build %] [% INCLUDE renderBuildStatusIcon size=128, build=build %]

View file

@ -61,7 +61,7 @@
[% BLOCK renderBuildList %] [% BLOCK renderBuildList %]
<table class="buildList tablesorter"> <table class="buildList tablesorter[% IF !showSchedulingInfo %] queue[% END %]">
<thead> <thead>
<tr> <tr>
[% IF !hideResultInfo %] [% IF !hideResultInfo %]
@ -69,6 +69,7 @@
[% END %] [% END %]
<th>#</th> <th>#</th>
[% IF showSchedulingInfo %] [% IF showSchedulingInfo %]
<th></th>
<th>P</th> <th>P</th>
[% END %] [% END %]
<th>Job</th> <th>Job</th>
@ -104,6 +105,7 @@
[% END %] [% END %]
<td><a href="[% c.uri_for('/build' build.id) %]">[% build.id %]</a></td> <td><a href="[% c.uri_for('/build' build.id) %]">[% build.id %]</a></td>
[% IF showSchedulingInfo %] [% IF showSchedulingInfo %]
<td>[% IF build.get_column('busy') %]<img src="/static/images/running.gif" alt="Running" />[% ELSIF build.get_column('disabled') == 1 || build.get_column('enabled') == 0 %]Disabled[% END %]</td>
<td>[% build.get_column('priority') %]</td> <td>[% build.get_column('priority') %]</td>
[% END %] [% END %]
<td> <td>

View file

@ -106,7 +106,7 @@
[% IF !edit && activeJobsStatus -%] [% IF !edit && activeJobsStatus -%]
<h2>Status</h2> <h2>Status</h2>
<table class="activeJobsStatus"> <table>
<thead><tr><th>Job</th>[% FOREACH s IN systems %]<th>[% s.system %]</th>[% END %]</tr></thead> <thead><tr><th>Job</th>[% FOREACH s IN systems %]<th>[% s.system %]</th>[% END %]</tr></thead>
<tbody> <tbody>
[% odd = 0 %] [% odd = 0 %]
@ -116,7 +116,7 @@
[% FOREACH s IN systems %] [% FOREACH s IN systems %]
[% system = s.system %] [% system = s.system %]
[% systemStatus = j.get_column(system) %] [% systemStatus = j.get_column(system) %]
<td> <td class="centered">
[% IF systemStatus != undef %] [% IF systemStatus != undef %]
<a href="[% c.uri_for('/build' j.get_column(system _ '-build') ) %]"> <a href="[% c.uri_for('/build' j.get_column(system _ '-build') ) %]">
[% IF systemStatus == 0 %] [% IF systemStatus == 0 %]

View file

@ -6,7 +6,7 @@
nrProducts = 0; FOREACH product IN build.buildproducts; nrProducts = nrProducts + 1; END nrProducts = 0; FOREACH product IN build.buildproducts; nrProducts = nrProducts + 1; END
%] %]
<ul class="productList"> <table class="productList layoutTable">
[% FOREACH product IN build.buildproducts -%] [% FOREACH product IN build.buildproducts -%]
@ -20,7 +20,8 @@
[% CASE "nix-build" %] [% CASE "nix-build" %]
<li class="product"> <tr class="product">
<td>
[% uri = c.uri_for('/build' build.id 'nix' 'pkg' "${build.nixname}-${build.system}.nixpkg") %] [% uri = c.uri_for('/build' build.id 'nix' 'pkg' "${build.nixname}-${build.system}.nixpkg") %]
<a href="[% uri %]"> <a href="[% uri %]">
<img src="/static/images/nix-build.png" alt="Source" /> <img src="/static/images/nix-build.png" alt="Source" />
@ -45,9 +46,11 @@
</p> </p>
</div> </div>
</li> </td>
</tr>
<li class="product"> <tr class="product">
<td>
[% filename = "${build.nixname}.closure.gz" %] [% filename = "${build.nixname}.closure.gz" %]
[% uri = c.uri_for('/build' build.id 'nix' 'closure' filename ) %] [% uri = c.uri_for('/build' build.id 'nix' 'closure' filename ) %]
@ -82,12 +85,14 @@
command as <tt>root</tt>.</p> command as <tt>root</tt>.</p>
</div> </div>
</li> </td>
</tr>
[% CASE "file" %] [% CASE "file" %]
<li class="product"> <tr class="product">
<td>
<a href="[% uri %]"> <a href="[% uri %]">
[% SWITCH product.subtype %] [% SWITCH product.subtype %]
[% CASE "source-dist" %] [% CASE "source-dist" %]
@ -134,11 +139,14 @@
<tr><th>Full path:</th><td><tt>[% product.path %]</tt></td></tr> <tr><th>Full path:</th><td><tt>[% product.path %]</tt></td></tr>
</table> </table>
</div> </div>
</li>
</td>
</tr>
[% CASE "report" %] [% CASE "report" %]
<li class="product"> <tr class="product">
<td>
<a href="[% uri %]"> <a href="[% uri %]">
<img src="/static/images/report.png" alt="Report" /> <img src="/static/images/report.png" alt="Report" />
[% SWITCH product.subtype %] [% SWITCH product.subtype %]
@ -148,11 +156,13 @@
Report of type <tt>[% product.subtype %]</tt> Report of type <tt>[% product.subtype %]</tt>
[% END %] [% END %]
</a> </a>
</li> </td>
</tr>
[% CASE ["doc", "doc-pdf"] %] [% CASE ["doc", "doc-pdf"] %]
<li class="product"> <tr class="product">
<td>
<a href="[% uri %]"> <a href="[% uri %]">
[% IF product.type == "doc-pdf" %] [% IF product.type == "doc-pdf" %]
<img src="/static/images/pdf.png" alt="PDF document" /> <img src="/static/images/pdf.png" alt="PDF document" />
@ -170,19 +180,22 @@
Documentation of type <tt>[% product.subtype %]</tt> Documentation of type <tt>[% product.subtype %]</tt>
[% END %] [% END %]
</a> </a>
</li> </td>
</tr>
[% CASE DEFAULT %] [% CASE DEFAULT %]
<li class="product"> <tr class="product">
<td>
Something of type <tt>[% product.type %]</tt> Something of type <tt>[% product.type %]</tt>
</li> </td>
</tr>
[% END %] [% END %]
[% END -%] [% END -%]
</ul> </table>
[% END %] [% END %]

View file

@ -13,10 +13,6 @@
[% ELSE %] [% ELSE %]
<p>Note: Builds in <span class="runningBuild">red</span> are
currently executing. Builds in <span
class="disabledBuild">grey</span> are currently disabled.</p>
[% INCLUDE renderBuildList builds=queue showSchedulingInfo=1 hideResultInfo=1 %] [% INCLUDE renderBuildList builds=queue showSchedulingInfo=1 hideResultInfo=1 %]
[% END %] [% END %]

View file

@ -1,63 +1,137 @@
#generic-tabs li { body {
height : 30px; font-family: sans-serif;
font-size : 90%; background: white;
} margin: 2em 1em 2em 1em;
#generic-tabs {
min-height: 30em;
}
#generic-tabs div {
font-size : 90%;
} }
#logo img { #logo img {
width: 8em; width: 8em;
} }
.statusTable td, .statusTable th { img {
border-style: none; border-style: none;
} }
tr.clickable:hover { a { text-decoration: none;}
background-color: #a0a0f0; a:link { color: #0048b3; }
cursor: pointer; a:visited { color: #002a6a; }
} a.no-hover:hover { background: none; }
a:hover, a:visited:hover { text-decoration: underline;}
.layoutTable td, .layoutTable th {
border-style: none;
text-align: left;
}
.layoutTable th {
vertical-align: top;
}
.activeJobsStatus td, .activeJobsStatus th {
border-style: 1px dotted #CCCCCC;
}
.activeJobsStatus tbody tr td {
align: center;
}
a.smallLink { a.smallLink {
font-size: 60%; font-size: 60%;
vertical-align: top; vertical-align: top;
} }
a#error-link {
color: red;
}
table {
empty-cells: show;
border-spacing: 1px;
text-align: left;
}
th, td {
border: 1px solid #dddddd;
}
th {
background-color:#E6EEEE;
}
table.tablesorter tr:nth-child(even) {
background-color: #efefef;
}
tr.clickable:hover {
background-color: #E6EEFF;
cursor: pointer;
}
td.centered {
text-align: center;
}
.layoutTable td, .layoutTable th {
border-style: none;
}
table.tablesorter thead tr .header {
background-image: url(/static/js/tablesorter/themes/blue/bg.gif);
background-repeat: no-repeat;
background-position: center right;
cursor: pointer;
}
table.tablesorter thead tr .headerSortUp {
background-image: url(/static/js/tablesorter/themes/blue/asc.gif);
}
table.tablesorter thead tr .headerSortDown {
background-image: url(/static/js/tablesorter/themes/blue/desc.gif);
}
table.tablesorter thead tr .headerSortDown, table.tablesorter thead tr .headerSortUp {
background-color: #D6DDDD;
}
table.tablesorter thead tr th {
padding-right: 1.5em;
}
#generic-tabs li {
height : 30px;
font-size : 90%;
}
#generic-tabs div {
font-size : 90%;
}
h1, h2, h3 {
font-weight: bold;
color: #002a70;
}
ul.productList {
list-style: none;
padding-left: 1em;
}
ul.productList li {
margin-top: 1em;
}
.productDetails {
display: none;
margin-top: 1em;
margin-bottom: 1em;
margin-left: 3em;
}
.runningBuild {
color: #ff9900;
}
.disabledBuild {
color: #b0b0b0;
}
.error-msg { .error-msg {
color: red; color: red;
white-space: pre-wrap; white-space: pre-wrap;
} }
a#error-link {
color: red;
}
.error { .error {
color: red; color: red;
font-weight: bold; font-weight: bold;
} }
pre {
margin-left: 1.5em;
margin-right: 1.5em;
}
pre.buildlog { pre.buildlog {
border: 1px solid black; border: 1px solid black;
padding: 0.3em; padding: 0.3em;
@ -75,31 +149,6 @@ div.buildlog {
white-space: pre-wrap; white-space: pre-wrap;
} }
ul.productList {
list-style: none;
padding-left: 1em;
}
ul.productList li {
margin-top: 1em;
}
.runningBuild {
background-color: #ff3030;
color: white;
}
.disabledBuild {
background-color: #b0b0b0;
}
.productDetails {
display: none;
margin-top: 1em;
margin-bottom: 1em;
margin-left: 3em;
}
.template { .template {
display: none; display: none;
} }
@ -115,46 +164,11 @@ div.help pre {
color: #400000; color: #400000;
} }
/* Sortable tables */
table.tablesorter {
text-align: left;
}
table.tablesorter thead tr .header {
background-image: url(/static/js/tablesorter/themes/blue/bg.gif);
background-repeat: no-repeat;
background-position: center right;
cursor: pointer;
}
table.tablesorter thead tr .headerSortUp {
background-image: url(/static/js/tablesorter/themes/blue/asc.gif);
}
table.tablesorter thead tr .headerSortDown {
background-image: url(/static/js/tablesorter/themes/blue/desc.gif);
}
table.tablesorter thead tr .headerSortDown, table.tablesorter thead tr .headerSortUp {
background-color: #ffe000;
}
table.tablesorter thead tr th {
padding-right: 1.5em;
}
/* Overriding tablesorter... */
th.releaseSetJobName { th.releaseSetJobName {
font-size: 60%; font-size: 60%;
padding: 0 0 0 0; padding: 0 0 0 0;
} }
/* Editing */
input.string { input.string {
font-family: sans-serif; font-family: sans-serif;
font-size: 100%; font-size: 100%;

View file

@ -1,85 +0,0 @@
body {
font-family: sans-serif;
background: white;
margin: 2em 1em 2em 1em;
}
h1, h2, h3 {
font-weight: bold;
color: #005aa0;
}
h1 {
font-size: 180%;
}
h2 {
font-size: 130%;
margin-top: 1em;
}
h3 {
font-size: 100%;
}
table {
empty-cells: show;
border-collapse: collapse;
border-spacing: 0px;
}
tr.odd {
background: #f4f4ff;
}
th {
text-align: center;
font-weight: bold;
background: #ffffc0;
}
td, th {
padding: 2px 5px;
border: solid black 1px;
}
td {
vertical-align: top;
}
td.centered {
text-align: center;
}
a {
text-decoration: none;
}
a:hover, a:visited:hover {
text-decoration: underline;
}
a:link { color: #0048b3; }
a:visited { color: #002a6a; }
a.no-hover:hover { background: none; }
img {
border-style: none;
}
li {
margin-top: 0.5em;
margin-bottom: 0.5em;
}
pre {
margin-left: 1.5em;
margin-right: 1.5em;
}
pre.code {
border: 1px solid #6185a0;
padding: 6px 6px;
color: #600000;
background: #f4f4f8;
}

View file

@ -7,18 +7,12 @@ body {
div#page { div#page {
max-width: 120em; max-width: 120em;
min-width: 50em; min-width: 50em;
min-height: 30em;
margin: 1em auto; margin: 1em auto;
background-color: white; background-color: white;
/* Put a rounded border around the page. */ /* Put a rounded border around the page. */
border: 1px solid black; border: 1px solid black;
padding: 1em; padding: 1em;
border-radius: 1em;
-moz-border-radius: 1em;
-webkit-border-radius: 1em;
-moz-box-shadow: #404040 0px 5px 50px;
-webkit-box-shadow: #404040 0px 5px 50px;
} }
/* The header. */ /* The header. */
@ -93,18 +87,16 @@ ul.short-menu li a:hover {
/* The left menu. */ /* The left menu. */
div#main { div#main {
position: relative; position: relative;
min-height: 20em;
} }
div#content { div#content {
min-height: 20em; min-height: 35em;
} }
div#left-bar { div#left-bar {
position: absolute; position: absolute;
left: 0em; left: 0em;
width: 8em; width: 8em;
min-height: 20em;
} }
div#left-title { div#left-title {

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB