diff --git a/hint.html b/hint.html
index e055791..f3e5bc1 100644
--- a/hint.html
+++ b/hint.html
@@ -19,16 +19,19 @@
+
+
-
+
No. |
- Module |
+ Module |
Message |
- Type |
- Suppress |
+ Severity |
-
+
{{$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);
+ });
+}