treeherder/ui/logviewer.html

171 строка
6.5 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>
<!-- build:css css/logviewer.min.css -->
<link href="vendor/css/bootstrap.css" rel="stylesheet" media="screen">
<link href="vendor/css/font-awesome.css" rel="stylesheet" media="screen">
<link href="css/treeherder-global.css" rel="stylesheet" type="text/css">
<link href="css/logviewer.css" rel="stylesheet" type="text/css">
<!-- endbuild -->
<link id="favicon" type="image/png" rel="shortcut icon" href="img/logviewerIcon.png">
</head>
<body class="body-logviewer">
<!-- Logviewer navbar -->
<nav class="navbar navbar-default" role="navigation">
<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-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>
<!-- build:js js/logviewer.min.js -->
<script src="vendor/jquery-2.1.3.js"></script>
<script src="vendor/angular/angular.js"></script>
<script src="vendor/angular/angular-route.js"></script>
<script src="vendor/angular/angular-resource.js"></script>
<script src="vendor/angular/angular-cookies.js"></script>
<script src="vendor/angular/angular-sanitize.js"></script>
<script src="vendor/angular-local-storage.min.js"></script>
<script src="vendor/bootstrap.js"></script>
<script src="vendor/lodash.js"></script>
<script src="vendor/resizer.js"></script>
<script src="vendor/taskcluster-1.6.0.js"></script>
<script src="js/treeherder.js"></script>
<script src="js/logviewer.js"></script>
<script src="js/providers.js"></script>
<script src="js/values.js"></script>
<!-- Directives -->
<script src="js/directives/treeherder/log_viewer_steps.js"></script>
<script src="js/directives/treeherder/main.js"></script>
<!-- Components -->
<script src="js/components/logviewer/logviewer.js"></script>
<!-- Main services -->
<script src="js/services/main.js"></script>
<script src="js/services/log.js"></script>
<script src="js/services/taskcluster.js"></script>
<!-- Model services -->
<script src="js/models/job_detail.js"></script>
<script src="js/models/job.js"></script>
<script src="js/models/runnable_job.js"></script>
<script src="js/models/resultset.js"></script>
<script src="js/models/text_log_step.js"></script>
<!-- Filter -->
<script src="js/filters.js"></script>
<!-- Controllers -->
<script src="js/controllers/logviewer.js"></script>
<!-- endbuild -->
<!-- build:dontbuild -->
<script src="js/config/local.conf.js"></script>
<!-- endbuild -->
</body>
</html>