From fe231271b71cb8ca937e193c9febf5ca39887bfa Mon Sep 17 00:00:00 2001 From: "Carlo s A. Guillen" Date: Thu, 7 Aug 2014 15:56:06 -0700 Subject: [PATCH] feat(*): interact with HintCtrl --- HintCtrl.js | 80 +++++++++++++++++++++++++++----------------------- hint.bundle.js | 6 ++-- hint.html | 4 +-- hint.js | 4 +-- 4 files changed, 51 insertions(+), 43 deletions(-) diff --git a/HintCtrl.js b/HintCtrl.js index add88f1..b015343 100644 --- a/HintCtrl.js +++ b/HintCtrl.js @@ -10,65 +10,73 @@ angular.module('ngHintUI') // connect to background page var port = chrome.extension.connect(); port.onMessage.addListener(function(msg) { - $scope.$apply(function () { - $scope.messageData.Directives['Error-Messages'].push(msg + ' ' + Math.random()); - }); + $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]); + updateAll(); }); 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.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']; + $scope.labels = ['All Messages', 'Error Messages', 'Warning Messages', 'Suggestion Messages']; - (function(self){ + function updateAll(){ var all = { - 'All-Messages': [], - 'Error-Messages': [], - 'Warning-Messages': [], - 'Suggestion-Messages': [] + 'All Messages': [], + 'Error Messages': [], + 'Warning Messages': [], + 'Suggestion Messages': [] }; - for(var id in self.messageData) { - self.messageData[id]['All-Messages'] = []; - for(var type in self.messageData[id]) { - self.messageData[id][type].forEach(function(message) { - if(type !== 'All-Messages'){ - all['All-Messages'].push({message: message, type: type, module: id}); + 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); - self.messageData[id]['All-Messages'].push({message: message, type: type}); + $scope.messageData[id]['All Messages'].push({message: message, type: type}); } }); } } - self.messageData['All'] = all; - })($scope); - - $scope.dashesToSpace = function(str) { - return str.replace(/-/g,' '); + $scope.messageData['All'] = all; + setTimeout(function() { + $scope.$apply(); + console.log("called") + }, 3000); } - $scope.setModule = function(module) { $scope.module = module; } $scope.setType = function(type) { $scope.isEmpty = ''; - if($scope.messageData[$scope.module][type].length === 0) { + 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'); + $scope.setType('All Messages'); + }]); \ No newline at end of file diff --git a/hint.bundle.js b/hint.bundle.js index 68931a7..fabcc07 100644 --- a/hint.bundle.js +++ b/hint.bundle.js @@ -423,8 +423,8 @@ var eventProxyElement = document.getElementById('__ngDebugElement'); var customEvent = document.createEvent('Event'); customEvent.initEvent('myCustomEvent', true, true); -angular.hint.onMessage = function (data) { - eventProxyElement.innerText = data; +angular.hint.onMessage = function (moduleName, message, messageType) { + eventProxyElement.innerText = moduleName+'##'+message+'##'+messageType; eventProxyElement.dispatchEvent(customEvent); }; @@ -2345,7 +2345,7 @@ function logMessage(moduleName, message, severity) { queuedMessages[moduleName][messageType].push(message); } - module.exports.onMessage(message); + module.exports.onMessage(moduleName, message, messageType); } /** diff --git a/hint.html b/hint.html index 3ff681d..2b0d5ed 100644 --- a/hint.html +++ b/hint.html @@ -27,7 +27,7 @@ @@ -54,7 +54,7 @@ {{$index+1}} Hint {{message.module}} {{message.message || message}} - {{message.type.substring(0,message.type.indexOf('-'))}} + {{message.type.substring(message.type.indexOf(' '))}} diff --git a/hint.js b/hint.js index f3675fe..8bb5eed 100644 --- a/hint.js +++ b/hint.js @@ -6,7 +6,7 @@ var eventProxyElement = document.getElementById('__ngDebugElement'); var customEvent = document.createEvent('Event'); customEvent.initEvent('myCustomEvent', true, true); -angular.hint.onMessage = function (data) { - eventProxyElement.innerText = data; +angular.hint.onMessage = function (moduleName, message, messageType) { + eventProxyElement.innerText = moduleName+'##'+message+'##'+messageType; eventProxyElement.dispatchEvent(customEvent); };