From d74da9a3db8d435ffcee44248063bc3eb09ad58a Mon Sep 17 00:00:00 2001 From: Joseph Schorr Date: Tue, 14 Jul 2015 12:22:18 +0300 Subject: [PATCH] Update styling of feedback bar to use the alert styles and string builder --- static/css/directives/ui/feedback-bar.css | 25 +++++++++++++------- static/directives/feedback-bar.html | 4 +++- static/js/directives/ui/feedback-bar.js | 4 +++- static/js/directives/ui/robots-manager.js | 14 +++++++---- static/js/services/string-builder-service.js | 6 +++-- 5 files changed, 36 insertions(+), 17 deletions(-) diff --git a/static/css/directives/ui/feedback-bar.css b/static/css/directives/ui/feedback-bar.css index 81c08b49a..b8fce1285 100644 --- a/static/css/directives/ui/feedback-bar.css +++ b/static/css/directives/ui/feedback-bar.css @@ -34,19 +34,26 @@ text-align: center; display: inline-block; - background: #eee; - padding: 10px; - border: 1px solid #eee; - border-top: 0px; - animation-name: flow-down-up; animation-duration: 5s; } -.feedback-bar .feedback-bar-element.info { - background-color: #F0FAFF; +.feedback-bar-element .co-alert { + margin: 0px; + + border-top: 0px; + padding-top: 10px; + padding-right: 10px; + padding-bottom: 10px; } -.feedback-bar .feedback-bar-element.warning { - background-color: #FFFBF0; +.feedback-bar-element .co-alert:before { + top: 5px !important; +} + +.feedback-bar-element .co-alert .feedback-text i { + display: inline-block; + margin-left: 6px; + margin-right: 4px; + vertical-align: middle; } \ No newline at end of file diff --git a/static/directives/feedback-bar.html b/static/directives/feedback-bar.html index 15522ff08..45a76c200 100644 --- a/static/directives/feedback-bar.html +++ b/static/directives/feedback-bar.html @@ -1,3 +1,5 @@
- {{ feedback.message }} +
+ +
\ No newline at end of file diff --git a/static/js/directives/ui/feedback-bar.js b/static/js/directives/ui/feedback-bar.js index 32da0a24f..ede1d9e3b 100644 --- a/static/js/directives/ui/feedback-bar.js +++ b/static/js/directives/ui/feedback-bar.js @@ -11,11 +11,13 @@ angular.module('quay').directive('feedbackBar', function () { scope: { 'feedback': '=feedback' }, - controller: function($scope, $element, AvatarService, Config, UIService, $timeout) { + controller: function($scope, $element, AvatarService, Config, UIService, $timeout, StringBuilderService) { $scope.viewCounter = 0; + $scope.formattedMessage = ''; $scope.$watch('feedback', function(feedback) { if (feedback) { + $scope.formattedMessage = StringBuilderService.buildString(feedback.message, feedback.data || {}, 'span'); $scope.viewCounter++; } else { $scope.viewCounter = 0; diff --git a/static/js/directives/ui/robots-manager.js b/static/js/directives/ui/robots-manager.js index 075b0ea86..9c9ce2a81 100644 --- a/static/js/directives/ui/robots-manager.js +++ b/static/js/directives/ui/robots-manager.js @@ -119,8 +119,11 @@ angular.module('quay').directive('robotsManager', function () { created.repositories = []; $scope.robots.push(created); $scope.feedback = { - 'kind': 'info', - 'message': 'Robot account ' + name + ' was created' + 'kind': 'success', + 'message': 'Robot account {robot} was created', + 'data': { + 'robot': name + } }; }); }; @@ -132,8 +135,11 @@ angular.module('quay').directive('robotsManager', function () { if (index >= 0) { $scope.robots.splice(index, 1); $scope.feedback = { - 'kind': 'info', - 'message': 'Robot account ' + info.name + ' was deleted' + 'kind': 'success', + 'message': 'Robot account {robot} was deleted', + 'data': { + 'robot': info.name + } }; } }, ApiService.errorDisplay('Cannot delete robot account')); diff --git a/static/js/services/string-builder-service.js b/static/js/services/string-builder-service.js index 884938ab2..333ea88f5 100644 --- a/static/js/services/string-builder-service.js +++ b/static/js/services/string-builder-service.js @@ -39,7 +39,7 @@ angular.module('quay').factory('StringBuilderService', ['$sce', 'UtilService', f return url; }; - stringBuilderService.buildString = function(value_or_func, metadata) { + stringBuilderService.buildString = function(value_or_func, metadata, opt_codetag) { var fieldIcons = { 'inviter': 'user', 'username': 'user', @@ -108,7 +108,9 @@ angular.module('quay').factory('StringBuilderService', ['$sce', 'UtilService', f markedDown = '' + markedDown; } - description = description.replace('{' + key + '}', '' + markedDown + ''); + var codeTag = opt_codetag || 'code'; + description = description.replace('{' + key + '}', + '<' + codeTag + ' title="' + safe + '">' + markedDown + ''); } } return $sce.trustAsHtml(description.replace('\n', '
'));