diff --git a/hint.html b/hint.html index e055791..f3e5bc1 100644 --- a/hint.html +++ b/hint.html @@ -19,16 +19,19 @@
+ +
- +
- + - - + - + - - - - + + +
No.ModuleModule MessageTypeSuppressSeverity
{{$index + 1}}{{message.module}}{{message.message || message}}{{ message.type.split(' ')[0] }}{{hint.module}}{{hint.message}}{{hint.severity}}
-
-

There are no messages in this category.

-
diff --git a/hint.js b/hint.js index 760071e..86b34b7 100644 --- a/hint.js +++ b/hint.js @@ -6,6 +6,17 @@ var customEvent = document.createEvent('Event'); customEvent.initEvent('myCustomEvent', true, true); angular.hint.onMessage = function (moduleName, message, messageType) { - eventProxyElement.innerText = moduleName + '##' + message + '##' + messageType; + if (!message) { + message = moduleName; + moduleName = 'Unknown' + } + if (typeof messageType === 'undefined') { + messageType = 1; + } + eventProxyElement.innerText = JSON.stringify({ + module: moduleName, + message: message, + severity: messageType + }); eventProxyElement.dispatchEvent(customEvent); }; diff --git a/hintApp.js b/hintApp.js index ce6c5bc..df97d6a 100644 --- a/hintApp.js +++ b/hintApp.js @@ -1,106 +1,6 @@ angular.module('ngHintUI', []). -controller('HintController', ['$scope', 'hintService', - function($scope, hintService) { - - //Set the hint service to perform this action when the page is refreshed - hintService.onRefresh(function() { - $scope.messageData = { - 'All' : { - 'Error Messages': [], - 'Warning Messages': [], - 'Suggestion Messages': [], - 'All Messages': [] - } - }; - }); - - //Set the hint service to perform this action whenever - //a new hint message is received. - hintService.onHint(function(msg) { - //If there is no scope data, initialize a new data object - $scope.messageData = $scope.messageData || { - 'All' : { - 'Error Messages': [], - 'Warning Messages': [], - 'Suggestion Messages': [], - 'All Messages': [] - } - }; - - // Split the hint message into useful information - var result = msg.split('##'), - modName = result[0], - message = result[1], - messageType = result[2]; - - //If there are no messages for this module, make new arrays for this module's messages - if(!$scope.messageData[modName]) { - $scope.messageData[modName] = { - 'Error Messages': [], - 'Warning Messages': [], - 'Suggestion Messages': [], - 'All Messages': [] - }; - } - - $scope.messageData['All']['All Messages'].push({ - message: message, - type: messageType, - module: modName - }); - - if(!$scope.messageData['All'][messageType]) { - $scope.messageData['All'][messageType] = []; - } - $scope.messageData['All'][messageType].push(message); - $scope.messageData[modName]['All Messages'].push({message: message, type: messageType}); - $scope.messageData[modName][messageType].push(message); - }); - - $scope.suppressedMessages = {}; - $scope.suppressedMessagesLength = 0; - - $scope.labels = ['All Messages', 'Error Messages', 'Warning Messages', 'Suggestion Messages']; - - $scope.setModule = function(module) { - $scope.module = module; - }; - - $scope.setType = function(type) { - $scope.type = type; - }; - - $scope.setModule('All'); - $scope.setType('All Messages'); - - $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++; - if(endInd > 75) { - break; - } - } - $scope.suppressedMessages[key] = '...' + message.substr(secondSpace+1,endInd) + '...'; - }; - - $scope.unsuppressMessage = function(messageKey) { - $scope.suppressedMessagesLength--; - - delete $scope.suppressedMessages[messageKey]; - }; - -}]). +controller('HintController', ['$scope', 'hintService', HintController]). service('hintService', ['$rootScope', function($rootScope) { var onHintCallback, @@ -121,7 +21,8 @@ service('hintService', ['$rootScope', function($rootScope) { if (msg === 'refresh') { onRefreshCallback(); } else { - onHintCallback(msg); + var hint = JSON.parse(msg); + onHintCallback(hint); } }); }); @@ -132,3 +33,20 @@ service('hintService', ['$rootScope', function($rootScope) { }]); +function HintController($scope, hintService) { + + resetMessageData(); + + // TODO: rename this ? + hintService.onRefresh(resetMessageData); + + function resetMessageData() { + $scope.hints = []; + } + + //Set the hint service to perform this action whenever + //a new hint message is received. + hintService.onHint(function(hint) { + $scope.hints.push(hint); + }); +}