feat(hintCtrl): implement suppress message feature

test-unit-sauce
Carlo s A. Guillen 10 years ago
parent 6a0ae94f4d
commit 0130c9dc8e

@ -3,7 +3,7 @@ angular.module('ngHintUI',[]);
angular.module('ngHintUI')
.controller('HintCtrl', ['$scope', '$timeout',
function($scope, $timeout){
$scope.module, $scope.type;
$scope.module, $scope.type, $scope.suppressedMessages = {}, $scope.suppressedMessagesLength = 0;
var currentPromises;
//message data will be an array sent from hint log to batarang to here
@ -63,12 +63,36 @@ angular.module('ngHintUI')
updateAll()
}.bind(this),1000)
}
$scope.isSuppressed = function(message) {
message = message.split(' ').slice(6,9).join('');
return message in $scope.suppressedMessages;
};
$scope.suppressMessage = function(message) {
$scope.suppressedMessagesLength++;
var key = message.split(' ').slice(6,9).join('');
var secondSpace = message.indexOf(' ', message.indexOf(' '));
var endInd = 60;
while(message.charAt(endInd) !== ' ') {
endInd++;
}
$scope.suppressedMessages[key] = '...'+message.substring(secondSpace,endInd)+'...';
};
$scope.unsuppressMessage = function(message) {
$scope.suppressedMessagesLength--;
delete $scope.suppressedMessages[message];
}
$scope.setModule = function(module) {
$scope.module = module;
}
};
$scope.setType = function(type) {
$scope.type = type;
}
};
$scope.setModule('All');
$scope.setType('All Messages');

@ -5,3 +5,13 @@
.table-hover > tbody > tr:hover > th {
background-color: #F3F3F3;
}
.suppressedMessage{
margin-left: 15px;
font-size: 10px;
}
.condenseAlert{
padding: 4px 8px;
margin: 4px 0px;
}

@ -32,6 +32,21 @@
</a>
</li>
</ul>
<div ng-show="suppressedMessagesLength">
<hr>
<h5 class="offsetTab">Suppressed Errors:</h5>
<ul class="nav nav-pills nav-stacked">
<li ng-repeat="(key,message) in suppressedMessages">
<div class="suppressedMessage">
<div class='alert alert-warning condenseAlert'>
{{message}}
<button type="button" class="close" style="margin-top:-5px" ng-click="unsuppressMessage(key)"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span>
</button>
</div>
</div>
</li>
</ul>
</div>
</div>
<div class="col-md-10">
<div class="input-group">
@ -45,17 +60,20 @@
<th ng-show="module === 'All' && type === 'All Messages' ">Module</th>
<th>Message</th>
<th ng-show="type === 'All Messages'">Type</th>
<th>Suppress</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="message in messageData[module][type]| filter:search"
ng-class="{danger: type === 'All Messages' && message.type === 'Error Messages',
warning: type === 'All Messages' && message.type === 'Warning Messages',
info: type === 'All Messages' && message.type === 'Suggestion Messages'}">
info: type === 'All Messages' && message.type === 'Suggestion Messages'}"
ng-hide="isSuppressed(message.message)">
<td>{{$index+1}}</td>
<td ng-show="module === 'All' && type === 'All Messages'">{{message.module}}</td>
<td>{{message.message || message}}</td>
<td ng-show="type === 'All Messages'">{{message.type.split(' ')[0]}}</td>
<td align="center"><button type="button" class="btn btn-default btn-xs" ng-click="suppressMessage(message.message)"><span class="glyphicon glyphicon-minus-sign"></span></button></td>
</tr>
</tbody>
</table>