From ffed19b8b3a010b0838e5cc2b5a481b3d1353412 Mon Sep 17 00:00:00 2001 From: Braydon Fuller Date: Wed, 18 May 2016 10:19:36 -0400 Subject: [PATCH] Unsubscribe to address event, and update addresstxid data format --- public/src/js/controllers/address.js | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/public/src/js/controllers/address.js b/public/src/js/controllers/address.js index e10c67d..4524d34 100644 --- a/public/src/js/controllers/address.js +++ b/public/src/js/controllers/address.js @@ -4,26 +4,34 @@ angular.module('insight.address').controller('AddressController', function($scope, $rootScope, $routeParams, $location, Global, Address, getSocket) { $scope.global = Global; - var socket = getSocket($scope); + var addrStr = $routeParams.addrStr; - var _startSocket = function () { - socket.on('bitcoind/addresstxid', function(tx) { - $rootScope.$broadcast('tx', tx); - var base = document.querySelector('base'); - var baseUrl = base && base.href || ''; - var beep = new Audio(baseUrl + '/sound/transaction.mp3'); - beep.play(); + var _startSocket = function() { + socket.on('bitcoind/addresstxid', function(data) { + if (data.address === addrStr) { + $rootScope.$broadcast('tx', data.txid); + var base = document.querySelector('base'); + var beep = new Audio(base.href + '/sound/transaction.mp3'); + beep.play(); + } }); - socket.emit('subscribe', 'bitcoind/addresstxid', [$routeParams.addrStr]); + socket.emit('subscribe', 'bitcoind/addresstxid', [addrStr]); + }; + + var _stopSocket = function () { + socket.emit('unsubscribe', 'bitcoind/addresstxid', [addrStr]); }; socket.on('connect', function() { _startSocket(); }); - $scope.params = $routeParams; + $scope.$on('$destroy', function(){ + _stopSocket(); + }); + $scope.params = $routeParams; $scope.findOne = function() { $rootScope.currentAddr = $routeParams.addrStr;