|
|
|
angular.module('ngHintUI',[]);
|
|
|
|
|
|
|
|
angular.module('ngHintUI')
|
|
|
|
.controller('HintCtrl', ['$scope', '$timeout',
|
|
|
|
function($scope, $timeout){
|
|
|
|
$scope.module, $scope.type, $scope.isEmpty = '';
|
|
|
|
var currentPromises;
|
|
|
|
//message data will be an array sent from hint log to batarang to here
|
|
|
|
|
|
|
|
// connect to background page
|
|
|
|
var port = chrome.extension.connect();
|
|
|
|
port.onMessage.addListener(function(msg) {
|
|
|
|
$scope.messageData = $scope.messageData || {};
|
|
|
|
var result = msg.split('##'); //[modName, message, messageType]
|
|
|
|
if(!$scope.messageData[result[0]]) {
|
|
|
|
$scope.messageData[result[0]] = {
|
|
|
|
'Error Messages': [],
|
|
|
|
'Warning Messages': [],
|
|
|
|
'Suggestion Messages': []
|
|
|
|
};
|
|
|
|
}
|
|
|
|
$scope.messageData[result[0]][result[2]].push(result[1]);
|
|
|
|
debounceUpdateAll();
|
|
|
|
});
|
|
|
|
port.onDisconnect.addListener(function (a) {
|
|
|
|
console.log(a);
|
|
|
|
});
|
|
|
|
|
|
|
|
// $scope.messageData = {
|
|
|
|
// 'Modules': {
|
|
|
|
// 'Error-Messages': ['qwer$scope is a message', 'So issdfs $scope', 'Dont forget asdfsbout me too'],
|
|
|
|
// 'Warning-Messages': ['$scope is sdfa message', 'So iqws $scope', 'Dontasdf forget about me too'],
|
|
|
|
// 'Suggestion-Messages': ['$scope meerqessage', 'So is thsdgsis', 'Dont foasdfrget asdfabout me too'],
|
|
|
|
// },
|
|
|
|
// 'Directives': {
|
|
|
|
// 'Error-Messages': ['rty$scope is asdfnot message', 'So ishggh $scope, not', 'Dont forgedfh abohkhut me too, jk'],
|
|
|
|
// 'Warning-Messages': ['$scope not mqweressage', 'So is $scope, not', 'Dont forget abfghfout me too, jk'],
|
|
|
|
// 'Suggestion-Messages': ['$scope is not masdessage', 'So is thiddfss, not', 'Dont forget abohmgut me too, jk'],
|
|
|
|
// },
|
|
|
|
// };
|
|
|
|
|
|
|
|
$scope.labels = ['All Messages', 'Error Messages', 'Warning Messages', 'Suggestion Messages'];
|
|
|
|
|
|
|
|
function updateAll(){
|
|
|
|
var all = {
|
|
|
|
'All Messages': [],
|
|
|
|
'Error Messages': [],
|
|
|
|
'Warning Messages': [],
|
|
|
|
'Suggestion Messages': []
|
|
|
|
};
|
|
|
|
for(var id in $scope.messageData) {
|
|
|
|
$scope.messageData[id]['All Messages'] = [];
|
|
|
|
for(var type in $scope.messageData[id]) {
|
|
|
|
$scope.messageData[id][type].forEach(function(message) {
|
|
|
|
if(type !== 'All Messages'){
|
|
|
|
all['All Messages'].push({message: message, type: type, module: id});
|
|
|
|
all[type].push(message);
|
|
|
|
$scope.messageData[id]['All Messages'].push({message: message, type: type});
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
$scope.messageData['All'] = all;
|
|
|
|
$scope.$apply();
|
|
|
|
}
|
|
|
|
|
|
|
|
function debounceUpdateAll(){
|
|
|
|
$timeout.cancel(currentPromises);
|
|
|
|
currentPromises = $timeout(function() {
|
|
|
|
updateAll()
|
|
|
|
}.bind(this),1000)
|
|
|
|
}
|
|
|
|
$scope.setModule = function(module) {
|
|
|
|
$scope.module = module;
|
|
|
|
}
|
|
|
|
$scope.setType = function(type) {
|
|
|
|
$scope.isEmpty = '';
|
|
|
|
if($scope.messageData && $scope.messageData[$scope.module][type].length === 0) {
|
|
|
|
$scope.isEmpty = 'There are no messages in this category.';
|
|
|
|
}
|
|
|
|
$scope.type = type;
|
|
|
|
}
|
|
|
|
$scope.setModule('Directives');
|
|
|
|
$scope.setType('All Messages');
|
|
|
|
|
|
|
|
}]);
|