forked from lix-project/hydra
* hydra: layout changes
This commit is contained in:
parent
a1c7e359be
commit
f0706a75a2
|
@ -93,7 +93,7 @@
|
|||
</ul>
|
||||
<div id="tabs-summary">
|
||||
|
||||
<table class="statusTable">
|
||||
<table class="layoutTable">
|
||||
<tr>
|
||||
<td>
|
||||
[% INCLUDE renderBuildStatusIcon size=128, build=build %]
|
||||
|
|
|
@ -61,7 +61,7 @@
|
|||
|
||||
|
||||
[% BLOCK renderBuildList %]
|
||||
<table class="buildList tablesorter">
|
||||
<table class="buildList tablesorter[% IF !showSchedulingInfo %] queue[% END %]">
|
||||
<thead>
|
||||
<tr>
|
||||
[% IF !hideResultInfo %]
|
||||
|
@ -69,6 +69,7 @@
|
|||
[% END %]
|
||||
<th>#</th>
|
||||
[% IF showSchedulingInfo %]
|
||||
<th></th>
|
||||
<th>P</th>
|
||||
[% END %]
|
||||
<th>Job</th>
|
||||
|
@ -104,6 +105,7 @@
|
|||
[% END %]
|
||||
<td><a href="[% c.uri_for('/build' build.id) %]">[% build.id %]</a></td>
|
||||
[% 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>
|
||||
[% END %]
|
||||
<td>
|
||||
|
|
|
@ -106,7 +106,7 @@
|
|||
|
||||
[% IF !edit && activeJobsStatus -%]
|
||||
<h2>Status</h2>
|
||||
<table class="activeJobsStatus">
|
||||
<table>
|
||||
<thead><tr><th>Job</th>[% FOREACH s IN systems %]<th>[% s.system %]</th>[% END %]</tr></thead>
|
||||
<tbody>
|
||||
[% odd = 0 %]
|
||||
|
@ -116,7 +116,7 @@
|
|||
[% FOREACH s IN systems %]
|
||||
[% system = s.system %]
|
||||
[% systemStatus = j.get_column(system) %]
|
||||
<td>
|
||||
<td class="centered">
|
||||
[% IF systemStatus != undef %]
|
||||
<a href="[% c.uri_for('/build' j.get_column(system _ '-build') ) %]">
|
||||
[% IF systemStatus == 0 %]
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
nrProducts = 0; FOREACH product IN build.buildproducts; nrProducts = nrProducts + 1; END
|
||||
%]
|
||||
|
||||
<ul class="productList">
|
||||
<table class="productList layoutTable">
|
||||
|
||||
[% FOREACH product IN build.buildproducts -%]
|
||||
|
||||
|
@ -20,7 +20,8 @@
|
|||
|
||||
[% CASE "nix-build" %]
|
||||
|
||||
<li class="product">
|
||||
<tr class="product">
|
||||
<td>
|
||||
[% uri = c.uri_for('/build' build.id 'nix' 'pkg' "${build.nixname}-${build.system}.nixpkg") %]
|
||||
<a href="[% uri %]">
|
||||
<img src="/static/images/nix-build.png" alt="Source" />
|
||||
|
@ -45,9 +46,11 @@
|
|||
</p>
|
||||
</div>
|
||||
|
||||
</li>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<li class="product">
|
||||
<tr class="product">
|
||||
<td>
|
||||
|
||||
[% filename = "${build.nixname}.closure.gz" %]
|
||||
[% uri = c.uri_for('/build' build.id 'nix' 'closure' filename ) %]
|
||||
|
@ -82,12 +85,14 @@
|
|||
command as <tt>root</tt>.</p>
|
||||
</div>
|
||||
|
||||
</li>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
[% CASE "file" %]
|
||||
|
||||
<li class="product">
|
||||
<tr class="product">
|
||||
<td>
|
||||
<a href="[% uri %]">
|
||||
[% SWITCH product.subtype %]
|
||||
[% CASE "source-dist" %]
|
||||
|
@ -134,11 +139,14 @@
|
|||
<tr><th>Full path:</th><td><tt>[% product.path %]</tt></td></tr>
|
||||
</table>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
[% CASE "report" %]
|
||||
|
||||
<li class="product">
|
||||
<tr class="product">
|
||||
<td>
|
||||
<a href="[% uri %]">
|
||||
<img src="/static/images/report.png" alt="Report" />
|
||||
[% SWITCH product.subtype %]
|
||||
|
@ -148,11 +156,13 @@
|
|||
Report of type <tt>[% product.subtype %]</tt>
|
||||
[% END %]
|
||||
</a>
|
||||
</li>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
[% CASE ["doc", "doc-pdf"] %]
|
||||
|
||||
<li class="product">
|
||||
<tr class="product">
|
||||
<td>
|
||||
<a href="[% uri %]">
|
||||
[% IF product.type == "doc-pdf" %]
|
||||
<img src="/static/images/pdf.png" alt="PDF document" />
|
||||
|
@ -170,19 +180,22 @@
|
|||
Documentation of type <tt>[% product.subtype %]</tt>
|
||||
[% END %]
|
||||
</a>
|
||||
</li>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
[% CASE DEFAULT %]
|
||||
|
||||
<li class="product">
|
||||
<tr class="product">
|
||||
<td>
|
||||
Something of type <tt>[% product.type %]</tt>
|
||||
</li>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
[% END %]
|
||||
|
||||
[% END -%]
|
||||
|
||||
</ul>
|
||||
</table>
|
||||
|
||||
[% END %]
|
||||
|
||||
|
|
|
@ -13,10 +13,6 @@
|
|||
|
||||
[% 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 %]
|
||||
|
||||
[% END %]
|
||||
|
|
|
@ -1,63 +1,137 @@
|
|||
#generic-tabs li {
|
||||
height : 30px;
|
||||
font-size : 90%;
|
||||
}
|
||||
#generic-tabs {
|
||||
min-height: 30em;
|
||||
}
|
||||
#generic-tabs div {
|
||||
font-size : 90%;
|
||||
body {
|
||||
font-family: sans-serif;
|
||||
background: white;
|
||||
margin: 2em 1em 2em 1em;
|
||||
}
|
||||
|
||||
#logo img {
|
||||
width: 8em;
|
||||
}
|
||||
|
||||
.statusTable td, .statusTable th {
|
||||
img {
|
||||
border-style: none;
|
||||
}
|
||||
|
||||
tr.clickable:hover {
|
||||
background-color: #a0a0f0;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.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 { text-decoration: none;}
|
||||
a:link { color: #0048b3; }
|
||||
a:visited { color: #002a6a; }
|
||||
a.no-hover:hover { background: none; }
|
||||
a:hover, a:visited:hover { text-decoration: underline;}
|
||||
a.smallLink {
|
||||
font-size: 60%;
|
||||
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 {
|
||||
color: red;
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
a#error-link {
|
||||
color: red;
|
||||
}
|
||||
|
||||
.error {
|
||||
color: red;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
pre {
|
||||
margin-left: 1.5em;
|
||||
margin-right: 1.5em;
|
||||
}
|
||||
|
||||
pre.buildlog {
|
||||
border: 1px solid black;
|
||||
padding: 0.3em;
|
||||
|
@ -75,31 +149,6 @@ div.buildlog {
|
|||
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 {
|
||||
display: none;
|
||||
}
|
||||
|
@ -115,46 +164,11 @@ div.help pre {
|
|||
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 {
|
||||
font-size: 60%;
|
||||
padding: 0 0 0 0;
|
||||
}
|
||||
|
||||
/* Editing */
|
||||
|
||||
input.string {
|
||||
font-family: sans-serif;
|
||||
font-size: 100%;
|
||||
|
|
|
@ -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;
|
||||
}
|
|
@ -7,18 +7,12 @@ body {
|
|||
div#page {
|
||||
max-width: 120em;
|
||||
min-width: 50em;
|
||||
min-height: 30em;
|
||||
margin: 1em auto;
|
||||
background-color: white;
|
||||
|
||||
/* Put a rounded border around the page. */
|
||||
border: 1px solid black;
|
||||
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. */
|
||||
|
@ -93,18 +87,16 @@ ul.short-menu li a:hover {
|
|||
/* The left menu. */
|
||||
div#main {
|
||||
position: relative;
|
||||
min-height: 20em;
|
||||
}
|
||||
|
||||
div#content {
|
||||
min-height: 20em;
|
||||
min-height: 35em;
|
||||
}
|
||||
|
||||
div#left-bar {
|
||||
position: absolute;
|
||||
left: 0em;
|
||||
width: 8em;
|
||||
min-height: 20em;
|
||||
}
|
||||
|
||||
div#left-title {
|
||||
|
|
BIN
src/root/static/images/running.gif
Normal file
BIN
src/root/static/images/running.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.8 KiB |
Loading…
Reference in a new issue