Merge pull request #2282 from coreos-inc/motd-updates
Severity and Markdown support in MOTD
This commit is contained in:
commit
e2748fccd9
13 changed files with 234 additions and 36 deletions
29
static/css/directives/ui/global-message-tab.css
Normal file
29
static/css/directives/ui/global-message-tab.css
Normal 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;
|
||||
}
|
34
static/css/directives/ui/quay-message-bar.css
Normal file
34
static/css/directives/ui/quay-message-bar.css
Normal 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;
|
||||
}
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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)
|
||||
};
|
||||
|
|
Reference in a new issue