From 83e955301542d0a7f1c0390445ead4da6abb4f67 Mon Sep 17 00:00:00 2001 From: Jared Tabor Date: Mon, 16 Mar 2015 13:51:12 -0400 Subject: [PATCH] Socket.js adding check in socket service functions to ensure that socket exists before checking the status of hte socket connection --- awx/ui/static/js/shared/Socket.js | 42 ++++++++++++++++++++----------- 1 file changed, 27 insertions(+), 15 deletions(-) diff --git a/awx/ui/static/js/shared/Socket.js b/awx/ui/static/js/shared/Socket.js index e42189834d..b90f5f36cc 100644 --- a/awx/ui/static/js/shared/Socket.js +++ b/awx/ui/static/js/shared/Socket.js @@ -162,26 +162,38 @@ angular.module('SocketIO', ['AuthService', 'Utilities']) checkStatus: function() { // Check connection status var self = this; - if (self.socket.socket.connected) { - self.scope.socketStatus = 'ok'; + if(self){ + if(self.socket){ + if(self.socket.socket){ + if (self.socket.socket.connected) { + self.scope.socketStatus = 'ok'; + } + else if (self.socket.socket.connecting || self.socket.reconnecting) { + self.scope.socketStatus = 'connecting'; + } + else { + self.scope.socketStatus = 'error'; + } + self.scope.socketTip = getSocketTip(self.scope.socketStatus); + return self.scope.socketStatus; + } + } } - else if (self.socket.socket.connecting || self.socket.reconnecting) { - self.scope.socketStatus = 'connecting'; - } - else { - self.scope.socketStatus = 'error'; - } - self.scope.socketTip = getSocketTip(self.scope.socketStatus); - return self.scope.socketStatus; + }, on: function (eventName, callback) { var self = this; - self.socket.on(eventName, function () { - var args = arguments; - self.scope.$apply(function () { - callback.apply(self.socket, args); + if(self){ + if(self.socket){ + self.socket.on(eventName, function () { + var args = arguments; + self.scope.$apply(function () { + callback.apply(self.socket, args); + }); }); - }); + } + } + }, emit: function (eventName, data, callback) { var self = this;