treeherder/ui/logviewer.html

133 строки
4.8 KiB
HTML

<!DOCTYPE html>
<html ng-controller="LogviewerCtrl" ng-init="init()" ng-app="logviewer" ng-strict-di>
<head>
<meta charset="utf-8">
<title ng-bind="::logViewerTitle">Log viewer</title>
<link id="favicon" type="image/png" rel="shortcut icon" href="img/logviewerIcon.png">
<style>
[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
display: none !important;
}
</style>
</head>
<body class="body-logviewer">
<!-- Logviewer navbar -->
<nav class="navbar navbar-default" role="navigation" ng-cloak>
<div class="container-fluid">
<ul class="nav navbar-nav">
<!-- Logo menu button -->
<li>
<span class="dropdown">
<button id="lv-logo" title="Treeherder services" role="button"
data-toggle="dropdown">Logviewer
<span class="fa fa-angle-down"></span>
</button>
<ul class="dropdown-menu" role="menu" aria-labelledby="lv-logo">
<li><a href="/">Treeherder</a></li>
<li><a href="perf.html">Perfherder</a></li>
</ul>
</span>
</li>
<!-- Job status -->
<li ng-if="jobExists" class="{{::resultStatusShading}}">
<div>
<span ng-cloak><strong>{{result.label}}: </strong></span>
<span ng-cloak>{{result.value}}</span>
</div>
</li>
<li ng-if="!jobExists" class="alert-danger">
<div>
<span title="The job does not exist or has expired">Unavailable</span>
</div>
</li>
<!-- Raw log button -->
<li ng-if="jobExists">
<a title="{{logError ? 'Raw log link no longer exists or has expired (click for path)' :
'Open the raw log in a new window'}}"
target="_blank"
href="{{rawLogURL}}">
<span ng-class="logError ? 'fa-warning actionbtn-warning' : 'fa-file-text-o actionbtn-icon'"
class="fa"></span>
<span>open raw log</span>
</a>
</li>
<!-- Ref test button -->
<li ng-if="isReftest()" ng-cloak>
<a title="Open the Reftest Analyser in a new window"
target="_blank"
href="https://hg.mozilla.org/mozilla-central/raw-file/tip/layout/tools/reftest/reftest-analyzer.xhtml#logurl={{rawLogURL}}&only_show_unexpected=1">
<span class="fa fa-bar-chart-o actionbtn-icon"></span>
<span>open analyser</span>
</a>
</li>
<!-- Show successful steps button -->
<li ng-if="hasFailedSteps()"
class="lv-actionbtn">
<div id="lv-successful-steps">
<input type="checkbox"
ng-model="showSuccessful"
ng-change="toggleSuccessfulSteps()"
ng-disabled="isTaskClusterLog"
ng-attr-title="{{isTaskClusterLog ? 'Not available on TaskCluster jobs' : ''}}"/>
<span>show successful steps</span>
</div>
</li>
</ul>
</div>
</nav>
<!-- Job header and steps navigation -->
<div class="run-data">
<div class="col-md-6" >
<div class="job-header">
<table class="table table-condensed" >
<tr ng-repeat="property in logProperties">
<th ng-cloak>{{property.label}}</th>
<td ng-if="property.label == 'Revision'" class="break-word">
<a href="{{::property.value | getRevisionUrl:repoName}}&selectedJob={{job_id}}"
title="Open push"
ng-cloak>{{property.value}}</a>
</td>
<td ng-if="property.label != 'Revision'"
ng-cloak class="break-word">{{property.value}}</td>
</tr>
<tr ng-if="taskId" ng-cloak>
<th>
Task
</th>
<td>
<a href="{{ getInspectTaskUrl(taskId) }}">
{{ taskId }}
</a>
</td>
</tr>
<tr ng-repeat="line in job_details | orderBy:'title'">
<th ng-cloak>
<span ng-if="line.title">
{{line.title}}:
</span>
</th>
<td ng-cloak>
<a ng-if="line.url" title="{{line.value}}"
href="{{line.url}}" target="_blank">{{line.value}}</a>
<span ng-if="!line.url" ng-bind-html="line.value"></span>
</td>
</tr>
</table>
</div>
</div>
<div class="col-md-6" lv-log-steps></div>
</div>
<th-log-viewer class="logview-container"></th-log-viewer>
<th-notification-box></th-notification-box>
</body>
</html>