blob: f0f7c949ace4d20a4ffe7f3b9625fd7f1329cc7a [file] [log] [blame]
<link rel="import" href="gr-checks-status.html">
<link rel="import" href="gr-checkers-list.html">
<dom-module id="gr-checks-view">
<template>
<style>
:host {
display: block;
width: 100%;
overflow: auto;
}
table {
width: 100%;
}
gr-checks-item {
display: table-row;
}
.headerRow {
border-bottom: 1px solid #ddd;
}
.topHeader {
padding-right: 32px;
padding-bottom: 4px;
text-align: left;
white-space: nowrap;
}
th.topHeader:last-child {
width: 100%;
}
h2 {
font-size: 1.17em;
font-weight: 500;
}
h3 {
flex: 1;
font-size: 1.17em;
font-weight: 500;
margin-bottom: 1.5rem;
}
header {
display: flex;
margin: 1rem 1rem 0;
}
table {
margin-bottom: 16px;
}
th:first-child {
padding-left: 1rem;
}
.no-content {
min-height: 106px;
padding: 24px 0;
text-align: center;
}
/* Add max-width 1px to check-message make sure content doesn't
expand beyond the table width */
.check-message {
padding-left: 1rem;
background: var(--table-subheader-background-color);
max-width: 1px;
}
.message {
white-space: pre-wrap;
word-wrap: break-word;
}
.message-heading {
font-weight: bold;
margin-top: 1em;
}
.check-message-heading {
padding-left: 1em;
}
.configure-button {
float:right;
margin-top: 10px;
}
#listOverlay {
width: 75%;
}
</style>
<template is="dom-if" if="[[_createCheckerCapability]]">
<gr-button class="configure-button" on-tap="_handleConfigureClicked"> Configure </gr-button>
</template>
<template is="dom-if" if="[[_isLoading(_status)]]">
<div class="no-content">
<p>Loading...</p>
</div>
</template>
<template is="dom-if" if="[[_isEmpty(_status)]]">
<div class="no-content">
<h2>No checks ran for this code review</h2>
<p>Configure checkers to view the results here.</p>
</div>
</template>
<template is="dom-if" if="[[_isNotConfigured(_status)]]">
<div class="no-content">
<h2>Code review checks not configured</h2>
<p>Configure checkers to view the results here.</p>
</div>
</template>
<template is="dom-if" if="[[_hasResults(_status)]]">
<header>
<h3>Latest checks for Patchset [[revision._number]]</h3>
</header>
<table>
<thead>
<tr class="headerRow">
<th class="topHeader"></th>
<th class="topHeader">Name</th>
<th class="topHeader">For submit</th>
<th class="topHeader">Status</th>
<th class="topHeader"><!--Checking system--></th>
<th class="topHeader">Started</th>
<th class="topHeader">Duration</th>
<th class="topHeader"><!-- actions --></th>
<th class="topHeader"><!-- re-run --></th>
<th class="topHeader">Description</th>
</tr>
</thead>
<tbody>
<template is="dom-repeat" items="[[_checks]]" as="check">
<tr>
<gr-checks-item on-retry-check="_handleRetryCheck" on-toggle-check-message="_toggleCheckMessage"
check="[[check]]">
</gr-checks-item>
</tr>
<template is="dom-if" if="[[check.showCheckMessage]]">
<tr>
<td colspan="10" class="check-message-heading">
<span class="message-heading">
Message
</span>
</td>
</tr>
<tr>
<td colspan="10" class="check-message">
<span class="message"> [[check.message]] </span>
</td>
</tr>
</template>
</template>
</tbody>
</table>
</template>
<gr-checkers-list on-resize="_handleCheckersListResize" plugin-rest-api="[[pluginRestApi]]"></gr-checkers-list>
</template>
<script src="gr-checks-view.js"></script>
</dom-module>