Merge pull request #2282 from coreos-inc/motd-updates

Severity and Markdown support in MOTD
This commit is contained in:
josephschorr 2017-01-18 17:41:27 -05:00 committed by GitHub
commit e2748fccd9
13 changed files with 234 additions and 36 deletions

View file

@ -0,0 +1,29 @@
.global-message-tab-element .message-content p {
display: inline-block;
margin: 0px;
}
.global-message-tab-element .fa {
margin-right: 4px;
}
.global-message-tab-element .ci-stop {
color: red;
}
.global-message-tab-element .fa-exclamation-triangle {
color: #E4C212;
}
.global-message-tab-element .fa-info-circle {
color: #124fd8;
}
.global-message-tab-element label {
margin-top: 20px;
font-size: 16px;
}
.global-message-tab-element label:first-child {
margin-top: 4px;
}

View file

@ -0,0 +1,34 @@
.quay-message-bar-element .markdown-view p {
margin: 0px;
display: inline-block;
}
.quay-message-bar-element .quay-service-status-description.warning {
background: #FFFBF0;
color: black;
}
.quay-message-bar-element .quay-service-status-description.warning:before {
font-family: FontAwesome;
content: "\f071";
font-size: 22px;
color: #E4C212;
display: inline-block;
vertical-align: middle;
margin-right: 10px;
}
.quay-message-bar-element .quay-service-status-description.error {
background: #FFF0F0;
color: black;
}
.quay-message-bar-element .quay-service-status-description.error:before {
font-family: core-icons;
content: "\f109";
font-size: 22px;
color: red;
display: inline-block;
vertical-align: middle;
margin-right: 10px;
}

View file

@ -11,12 +11,26 @@
<table class="cor-table">
<thead>
<td>Message</td>
<td>Severity</td>
<td style="options-cols"></td>
</thead>
<tr ng-repeat="message in messages" class="user-row">
<td>
{{ message.content }}
<td class="message-content">
<span ng-switch on="message.media_type">
<span ng-switch-when="text/markdown">
<span class="markdown-view" content="message.content"></span>
</span>
<span ng-switch-default>{{ message.content }}</span>
</span>
</td>
<td class="message-severity" ng-class="message.severity">
<span ng-switch on="message.severity">
<i class="fa fa-exclamation-triangle" ng-switch-when="warning"></i>
<i class="fa ci-stop" ng-switch-when="error"></i>
<i class="fa fa-info-circle" ng-switch-default></i>
</span>
{{ message.severity }}
</td>
<td class="options-col">
<span class="cor-options-menu">
@ -54,25 +68,21 @@
<h4 class="modal-title">Create new message</h4>
</div>
<form name="createMessageForm" ng-submit="createNewMessage()">
<div class="modal-body" ng-show="createdMessage">
<table class="table">
<thead>
<th>Message</th>
</thead>
<tr class="user-row">
<td>{{ createdMessage.content }}</td>
</tr>
</table>
</div>
<div class="modal-body" ng-show="creatingMessage">
<div class="cor-loader"></div>
</div>
<div class="modal-body" ng-show="!creatingMessage && !createdMessage">
<div class="form-group">
<label>Message</label>
<input class="form-control" type="text" ng-model="newMessage.content" required>
</div>
<label>Severity</label>
<select class="form-control" ng-model="newMessage.severity">
<option value="info">Normal (Info)</option>
<option value="warning">Warning</option>
<option value="error">Error</option>
</select>
<label>Message</label>
<div class="markdown-editor" content="newMessage.content"></div>
</div>
</div>
<div class="modal-footer" ng-show="createdMessage">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>

View file

@ -1,5 +1,12 @@
<div class="announcement inline" ng-show="messages.length">
<div class="announcement inline quay-message-bar-element" ng-show="messages.length">
<div ng-repeat="message in messages">
<div class="quay-service-status-description">{{ message.content }}</div>
<div class="quay-service-status-description" ng-class="message.severity">
<span ng-switch on="message.media_type">
<span ng-switch-when="text/markdown">
<span class="markdown-view" content="message.content"></span>
</span>
<span ng-switch-default>{{ message.content }}</span>
</span>
</div>
</div>
</div>

View file

@ -12,7 +12,10 @@ angular.module('quay').directive('globalMessageTab', function () {
'isEnabled': '=isEnabled'
},
controller: function ($scope, $element, ApiService) {
$scope.newMessage = {};
$scope.newMessage = {
'media_type': 'text/markdown',
'severity': 'info'
};
$scope.creatingMessage = false;
$scope.showCreateMessage = function () {
@ -30,13 +33,17 @@ angular.module('quay').directive('globalMessageTab', function () {
});
var data = {
message: $scope.newMessage
'message': $scope.newMessage
};
ApiService.createGlobalMessage(data, null).then(function (resp) {
$scope.creatingMessage = false;
$scope.createdMessage = {content: $scope.newMessage.content};
$scope.newMessage = {};
$scope.newMessage = {
'media_type': 'text/markdown',
'severity': 'info'
};
$('#createMessageModal').modal('hide');
$scope.loadMessageInternal();
}, errorHandler)
};