diff --git a/static/css/directives/ui/triggered-build-description.css b/static/css/directives/ui/triggered-build-description.css
index 6ffa168c2..7fe4cac86 100644
--- a/static/css/directives/ui/triggered-build-description.css
+++ b/static/css/directives/ui/triggered-build-description.css
@@ -50,4 +50,22 @@
.triggered-build-description-element .fa-user {
margin-right: 4px;
+}
+
+.triggered-build-description-element .long-commit-description {
+ margin-top: 10px;
+ font-size: 13px;
+ white-space: pre;
+ font-family: Consolas, "Lucida Console", Monaco, monospace;
+ border-left: 1px solid #eee;
+ padding-left: 10px;
+}
+
+.triggered-build-description-element .long-description-toggle {
+ padding: 2px;
+ display: inline-block;
+}
+
+.triggered-build-description-element .long-description-toggle:hover {
+ cursor: pointer;
}
\ No newline at end of file
diff --git a/static/directives/triggered-build-description.html b/static/directives/triggered-build-description.html
index 1339df82b..91fb6a23f 100644
--- a/static/directives/triggered-build-description.html
+++ b/static/directives/triggered-build-description.html
@@ -29,7 +29,12 @@
- {{ build.trigger_metadata.commit_info.message }}
+ {{ getMessageSummary(build.trigger_metadata.commit_info.message) }}
+
+
+ ...
@@ -54,5 +59,6 @@
tag-template="TriggerService.getFullLinkTemplate(build, 'tag')">
+ {{ getMessageLongDescription(build.trigger_metadata.commit_info.message) }}
diff --git a/static/js/directives/ui/triggered-build-description.js b/static/js/directives/ui/triggered-build-description.js
index 3b53a1a33..e08fd038b 100644
--- a/static/js/directives/ui/triggered-build-description.js
+++ b/static/js/directives/ui/triggered-build-description.js
@@ -13,6 +13,35 @@ angular.module('quay').directive('triggeredBuildDescription', function () {
},
controller: function($scope, $element, KeyService, TriggerService) {
$scope.TriggerService = TriggerService;
+ $scope.showLongDescription = false;
+
+ $scope.toggleLongDescription = function() {
+ $scope.showLongDescription = !$scope.showLongDescription;
+ };
+
+ $scope.hasLongDescription = function(message) {
+ if (!message) { return ''; }
+ return message.length >= 80 || message.split('\n').length > 1;
+ };
+
+ $scope.getMessageSummary = function(message) {
+ if (!message) { return ''; }
+ var lines = message.split('\n');
+ return lines[0].substring(0, 79).trim();
+ };
+
+ $scope.getMessageLongDescription = function(message) {
+ if (!message) { return ''; }
+ var lines = message.split('\n');
+ if (lines[0].length >= 80) {
+ lines[0] = lines[0].substring(80);
+ } else {
+ lines.splice(0, 1);
+ }
+
+ return lines.join('\n').trim();
+ };
+
$scope.$watch('build', function(build) {
if (!build) { return; }