61 lines
1.7 KiB
JavaScript
Executable File
61 lines
1.7 KiB
JavaScript
Executable File
'use strict';
|
|
|
|
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(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', [addrStr]);
|
|
};
|
|
|
|
var _stopSocket = function () {
|
|
socket.emit('unsubscribe', 'bitcoind/addresstxid', [addrStr]);
|
|
};
|
|
|
|
socket.on('connect', function() {
|
|
_startSocket();
|
|
});
|
|
|
|
$scope.$on('$destroy', function(){
|
|
_stopSocket();
|
|
});
|
|
|
|
$scope.params = $routeParams;
|
|
|
|
$scope.findOne = function() {
|
|
$rootScope.currentAddr = $routeParams.addrStr;
|
|
_startSocket();
|
|
|
|
Address.get({
|
|
addrStr: $routeParams.addrStr
|
|
},
|
|
function(address) {
|
|
$rootScope.titleDetail = address.addrStr.substring(0, 7) + '...';
|
|
$rootScope.flashMessage = null;
|
|
$scope.address = address;
|
|
},
|
|
function(e) {
|
|
if (e.status === 400) {
|
|
$rootScope.flashMessage = 'Invalid Address: ' + $routeParams.addrStr;
|
|
} else if (e.status === 503) {
|
|
$rootScope.flashMessage = 'Backend Error. ' + e.data;
|
|
} else {
|
|
$rootScope.flashMessage = 'Address Not Found';
|
|
}
|
|
$location.path('/');
|
|
});
|
|
};
|
|
|
|
});
|