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; }