- Add copy button to the build logs

- Add support for timestamps in the build logs
- Other small UI improvements to the build view
This commit is contained in:
Joseph Schorr 2015-02-27 16:00:32 -05:00
parent e227d7e526
commit ed46d37ea7
12 changed files with 189 additions and 18 deletions

View file

@ -1,13 +1,18 @@
<div class="build-logs-view-element">
<div class="build-logs-view-element" ng-class="useTimestamps ? 'with-timestamps' : ''">
<button id="copyButton" class="btn btn-primary copy-button" data-clipboard-text="{{ buildLogsText }}">
<i class="fa fa-clipboard"></i>Copy Logs
</button>
<span class="cor-loader" ng-if="!logEntries"></span>
<span ng-if="!logEntries.length">(No Logs)</span>
<span class="no-logs" ng-if="!logEntries.length">(Waiting for build to start)</span>
<div class="log-container" ng-class="container.type" ng-repeat="container in logEntries">
<div class="container-header" ng-class="container.type == 'phase' ? container.message : ''"
ng-switch on="container.type" ng-click="container.logs.toggle()">
<i class="fa chevron"
ng-class="container.logs.isVisible ? 'fa-chevron-down' : 'fa-chevron-right'" ng-show="hasLogs(container)"></i>
ng-class="container.logs.isVisible ? 'fa-chevron-down' : 'fa-chevron-right'"
ng-show="hasLogs(container)"></i>
<div ng-switch-when="phase">
<span class="container-content build-log-phase" phase="container"></span>
</div>
@ -22,8 +27,10 @@
<!-- Display the entries for the container -->
<div class="container-logs" ng-show="container.logs.isVisible">
<div class="log-entry" bindonce ng-repeat="entry in container.logs.visibleEntries">
<span class="id" bo-text="$index + container.index + 1"></span>
<span class="id" bo-text="$index + container.index + 1" ng-if="!useTimestamps"></span>
<span class="id" bo-text="formatDatetime(entry.datetime)" ng-if="useTimestamps"></span>
<span class="message" bo-html="processANSI(entry.message, container)"></span>
<span class="timestamp" bo-text="formatDatetime(entry.datetime)" ng-if="!useTimestamps"></span>
</div>
</div>
</div>

View file

@ -1,4 +1,4 @@
<span class="source-commit-link-elememt">
<i class="fa fa-dot-circle-o"></i>
<i class="fa fa-dot-circle-o" data-title="Commit" data-container="body" bs-tooltip></i>
<a ng-href="{{ getUrl(commitSha, urlTemplate) }}" target="_blank">{{ commitSha.substring(0, 8) }}</a>
</span>

View file

@ -2,13 +2,13 @@
<span ng-switch on="getKind(ref)">
<!-- Branch -->
<span ng-switch-when="heads">
<i class="fa fa-code-fork" data-title="Branch" bs-tooltip></i>
<i class="fa fa-code-fork" data-container="body" data-title="Branch" bs-tooltip></i>
<a ng-href="{{ getUrl(ref, branchTemplate, 'branch') }}" target="_blank">{{ getTitle(ref) }}</a>
</span>
<!-- Tag -->
<span ng-switch-when="tags">
<i class="fa fa-tag" data-title="Tag" bs-tooltip></i>
<i class="fa fa-tag" data-container="body" data-title="Tag" bs-tooltip></i>
<a ng-href="{{ getUrl(ref, tagTemplate, 'tag') }}" target="_blank">{{ getTitle(ref) }}</a>
</span>
</span>

View file

@ -4,9 +4,15 @@
<span ng-switch-when="github">
<!-- Full Commit Information -->
<span ng-if="build.job_config.trigger_metadata.commit_info">
<div class="commit-message">{{ build.job_config.trigger_metadata.commit_info.message }}</div>
<div class="commit-message">
<a ng-href="{{ getGitHubRepoURL(build) }}/commit/{{ build.job_config.trigger_metadata.commit_sha }}"
target="_blank">
{{ build.job_config.trigger_metadata.commit_info.message }}
</a>
</div>
<div class="commit-information">
<span class="commit-who-when">
Authored
<span am-time-ago="build.job_config.trigger_metadata.commit_info.date"></span>
<span class="commit-who">
<img ng-src="{{ build.job_config.trigger_metadata.commit_info.author.avatar_url }}">
@ -27,7 +33,7 @@
</span>
<!-- Just commit SHA -->
<span ng-if="!build.job_config.trigger_metadata.commit_info">
<span ng-if="build.job_config.trigger_metadata && !build.job_config.trigger_metadata.commit_info">
Triggered by commit
<span class="source-commit-link"
commit-sha="build.job_config.trigger_metadata.commit_sha"