several improvements for angular code style
This commit is contained in:
parent
55c539ece4
commit
049eaea6ff
|
@ -24,6 +24,7 @@ function($scope, $rootScope, $routeParams, $location, Global, Address, get_socke
|
|||
$location.path('/');
|
||||
});
|
||||
};
|
||||
|
||||
var socket = get_socket($scope);
|
||||
socket.emit('subscribe', $routeParams.addrStr);
|
||||
socket.on($routeParams.addrStr, function(tx) {
|
||||
|
@ -33,7 +34,6 @@ function($scope, $rootScope, $routeParams, $location, Global, Address, get_socke
|
|||
$rootScope.$broadcast('tx', tx.txid);
|
||||
});
|
||||
|
||||
|
||||
$scope.params = $routeParams;
|
||||
});
|
||||
|
||||
});
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
'use strict';
|
||||
|
||||
angular.module('insight.blocks').controller('BlocksController',
|
||||
function ($scope, $rootScope, $routeParams, $location, Global, Block, Blocks, BlockByHeight) {
|
||||
function($scope, $rootScope, $routeParams, $location, Global, Block, Blocks, BlockByHeight) {
|
||||
$scope.global = Global;
|
||||
|
||||
if ($routeParams.blockHeight) {
|
||||
|
@ -44,4 +44,5 @@ angular.module('insight.blocks').controller('BlocksController',
|
|||
};
|
||||
|
||||
$scope.params = $routeParams;
|
||||
|
||||
});
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
'use strict';
|
||||
|
||||
angular.module('insight.system').controller('FooterController',
|
||||
function ($scope, get_socket, Version) {
|
||||
function($scope, get_socket, Version) {
|
||||
|
||||
var getVersion = function() {
|
||||
var _getVersion = function() {
|
||||
Version.get({},
|
||||
function(res) {
|
||||
$scope.version = res.version;
|
||||
});
|
||||
};
|
||||
|
||||
$scope.version = getVersion();
|
||||
$scope.version = _getVersion();
|
||||
|
||||
});
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
'use strict';
|
||||
|
||||
angular.module('insight.system').controller('HeaderController',
|
||||
function ($scope, get_socket, Global, Block) {
|
||||
function($scope, get_socket, Global, Block) {
|
||||
$scope.global = Global;
|
||||
|
||||
$scope.menu = [
|
||||
|
@ -18,7 +18,7 @@ angular.module('insight.system').controller('HeaderController',
|
|||
var socket = get_socket($scope);
|
||||
socket.emit('subscribe', 'inv');
|
||||
|
||||
var getBlock = function(hash) {
|
||||
var _getBlock = function(hash) {
|
||||
Block.get({
|
||||
blockHash: hash
|
||||
}, function(res) {
|
||||
|
@ -29,7 +29,7 @@ angular.module('insight.system').controller('HeaderController',
|
|||
socket.on('block', function(block) {
|
||||
var blockHash = block.hash.toString();
|
||||
console.log('Updated Blocks Height!');
|
||||
getBlock(blockHash);
|
||||
_getBlock(blockHash);
|
||||
});
|
||||
|
||||
|
||||
|
|
|
@ -2,11 +2,12 @@
|
|||
|
||||
var TRANSACTION_DISPLAYED = 5;
|
||||
var BLOCKS_DISPLAYED = 5;
|
||||
|
||||
angular.module('insight.system').controller('IndexController',
|
||||
function($scope, $rootScope, Global, get_socket, Blocks, Block, Transactions, Transaction) {
|
||||
$scope.global = Global;
|
||||
|
||||
var getTransaction = function(txid) {
|
||||
var _getTransaction = function(txid) {
|
||||
Transaction.get({
|
||||
txId: txid
|
||||
}, function(res) {
|
||||
|
@ -14,7 +15,7 @@ angular.module('insight.system').controller('IndexController',
|
|||
});
|
||||
};
|
||||
|
||||
var getBlock = function(hash) {
|
||||
var _getBlock = function(hash) {
|
||||
Block.get({
|
||||
blockHash: hash
|
||||
}, function(res) {
|
||||
|
@ -31,22 +32,24 @@ angular.module('insight.system').controller('IndexController',
|
|||
socket.on('tx', function(tx) {
|
||||
var txStr = tx.txid.toString();
|
||||
console.log('Transaction received! ' + JSON.stringify(tx));
|
||||
if (parseInt($scope.txs.length) > parseInt(TRANSACTION_DISPLAYED) - 1) {
|
||||
if (parseInt($scope.txs.length, 10) > parseInt(TRANSACTION_DISPLAYED, 10) - 1) {
|
||||
$scope.txs.pop();
|
||||
}
|
||||
getTransaction(txStr);
|
||||
|
||||
_getTransaction(txStr);
|
||||
});
|
||||
|
||||
socket.on('block', function(block) {
|
||||
var blockHash = block.hash.toString();
|
||||
console.log('Block received! ' + JSON.stringify(block));
|
||||
if (parseInt($scope.blocks.length) > parseInt(BLOCKS_DISPLAYED) - 1) {
|
||||
if (parseInt($scope.blocks.length, 10) > parseInt(BLOCKS_DISPLAYED, 10) - 1) {
|
||||
$scope.blocks.pop();
|
||||
}
|
||||
getBlock(blockHash);
|
||||
|
||||
_getBlock(blockHash);
|
||||
});
|
||||
|
||||
$scope.human_since = function(time) {
|
||||
$scope.humanSince = function(time) {
|
||||
var m = moment.unix(time);
|
||||
return m.max().fromNow();
|
||||
};
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
'use strict';
|
||||
|
||||
angular.module('insight.search').controller('SearchController',
|
||||
function ($scope, $routeParams, $location, $timeout, Global, Block, Transaction, Address, BlockByHeight) {
|
||||
function($scope, $routeParams, $location, $timeout, Global, Block, Transaction, Address, BlockByHeight) {
|
||||
$scope.global = Global;
|
||||
|
||||
$scope.search = function() {
|
||||
|
@ -36,8 +36,8 @@ angular.module('insight.search').controller('SearchController',
|
|||
}, 2000);
|
||||
$scope.q = q;
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
|
|
|
@ -22,14 +22,14 @@ function($scope, $routeParams, $location, $rootScope, Global, Status, Sync, get_
|
|||
});
|
||||
};
|
||||
|
||||
var on_sync_update = function(sync) {
|
||||
var _onSyncUpdate = function(sync) {
|
||||
$scope.sync = sync;
|
||||
};
|
||||
|
||||
$scope.getSync = function() {
|
||||
Sync.get({},
|
||||
function(sync) {
|
||||
on_sync_update(sync);
|
||||
_onSyncUpdate(sync);
|
||||
},
|
||||
function(e) {
|
||||
$scope.sync = { error: 'Could not get sync information' + e };
|
||||
|
@ -39,8 +39,8 @@ function($scope, $routeParams, $location, $rootScope, Global, Status, Sync, get_
|
|||
var socket = get_socket($scope);
|
||||
socket.emit('subscribe', 'sync');
|
||||
socket.on('status', function(sync) {
|
||||
console.log('[status.js.55::] sync status update received!');
|
||||
on_sync_update(sync);
|
||||
console.log('[status.js.55::] sync status update received!');
|
||||
_onSyncUpdate(sync);
|
||||
});
|
||||
|
||||
});
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
'use strict';
|
||||
|
||||
angular.module('insight.transactions').controller('transactionsController',
|
||||
function ($scope, $rootScope, $routeParams, $location, Global, Transaction, TransactionsByBlock, TransactionsByAddress) {
|
||||
function($scope, $rootScope, $routeParams, $location, Global, Transaction, TransactionsByBlock, TransactionsByAddress) {
|
||||
$scope.global = Global;
|
||||
$scope.loading = false;
|
||||
$scope.loadedBy = null;
|
||||
|
@ -9,18 +9,15 @@ function ($scope, $rootScope, $routeParams, $location, Global, Transaction, Tran
|
|||
var pageNum = 0;
|
||||
var pagesTotal = 1;
|
||||
|
||||
$scope.findThis = function() {
|
||||
$scope.findTx($routeParams.txId);
|
||||
};
|
||||
|
||||
$scope.aggregateItems = function(items) {
|
||||
var _aggregateItems = function(items) {
|
||||
if (!items) return [];
|
||||
|
||||
var l = items.length;
|
||||
|
||||
var ret = [];
|
||||
var tmp = {};
|
||||
var u=0;
|
||||
var u = 0;
|
||||
|
||||
// TODO multiple output address
|
||||
//
|
||||
for(var i=0; i < l; i++) {
|
||||
|
@ -29,14 +26,14 @@ function ($scope, $rootScope, $routeParams, $location, Global, Transaction, Tran
|
|||
|
||||
// non standard input
|
||||
if (items[i].scriptSig && !items[i].addr) {
|
||||
items[i].addr = 'Unparsed address [' + u++ + ']';
|
||||
items[i].addr = 'Unparsed address [' + u++ + ']';
|
||||
items[i].notAddr = true;
|
||||
notAddr = true;
|
||||
}
|
||||
|
||||
// non standard output
|
||||
if (items[i].scriptPubKey && !items[i].scriptPubKey.addresses) {
|
||||
items[i].scriptPubKey.addresses = ['Unparsed address [' + u++ + ']'];
|
||||
items[i].scriptPubKey.addresses = ['Unparsed address [' + u++ + ']'];
|
||||
items[i].notAddr = true;
|
||||
notAddr = true;
|
||||
}
|
||||
|
@ -48,7 +45,7 @@ function ($scope, $rootScope, $routeParams, $location, Global, Transaction, Tran
|
|||
continue;
|
||||
}
|
||||
|
||||
var addr = items[i].addr || (items[i].scriptPubKey && items[i].scriptPubKey.addresses[0] );
|
||||
var addr = items[i].addr || (items[i].scriptPubKey && items[i].scriptPubKey.addresses[0]);
|
||||
|
||||
if (!tmp[addr]) {
|
||||
tmp[addr] = {};
|
||||
|
@ -57,6 +54,7 @@ function ($scope, $rootScope, $routeParams, $location, Global, Transaction, Tran
|
|||
tmp[addr].addr = addr;
|
||||
tmp[addr].items = [];
|
||||
}
|
||||
|
||||
tmp[addr].valueSat += items[i].valueSat;
|
||||
tmp[addr].value = tmp[addr].valueSat / 100000000;
|
||||
tmp[addr].items.push(items[i]);
|
||||
|
@ -67,12 +65,47 @@ function ($scope, $rootScope, $routeParams, $location, Global, Transaction, Tran
|
|||
angular.forEach(tmp, function(v) {
|
||||
ret.push(v);
|
||||
});
|
||||
return (ret);
|
||||
|
||||
return ret;
|
||||
};
|
||||
|
||||
$scope.processTX = function(tx) {
|
||||
tx.vinSimple = $scope.aggregateItems(tx.vin);
|
||||
tx.voutSimple = $scope.aggregateItems(tx.vout);
|
||||
var _processTX = function(tx) {
|
||||
tx.vinSimple = _aggregateItems(tx.vin);
|
||||
tx.voutSimple = _aggregateItems(tx.vout);
|
||||
};
|
||||
|
||||
var _paginate = function (data) {
|
||||
$scope.loading = false;
|
||||
|
||||
pagesTotal = data.pagesTotal;
|
||||
pageNum += 1;
|
||||
|
||||
data.txs.forEach(function(tx) {
|
||||
_processTX(tx);
|
||||
$scope.txs.push(tx);
|
||||
});
|
||||
};
|
||||
|
||||
var _byBlock = function() {
|
||||
TransactionsByBlock.get({
|
||||
block: $routeParams.blockHash,
|
||||
pageNum: pageNum
|
||||
}, function(data) {
|
||||
_paginate(data);
|
||||
});
|
||||
};
|
||||
|
||||
var _byAddress = function () {
|
||||
TransactionsByAddress.get({
|
||||
address: $routeParams.addrStr,
|
||||
pageNum: pageNum
|
||||
}, function(data) {
|
||||
_paginate(data);
|
||||
});
|
||||
};
|
||||
|
||||
$scope.findThis = function() {
|
||||
$scope.findTx($routeParams.txId);
|
||||
};
|
||||
|
||||
$scope.findTx = function(txid) {
|
||||
|
@ -80,7 +113,7 @@ function ($scope, $rootScope, $routeParams, $location, Global, Transaction, Tran
|
|||
txId: txid
|
||||
}, function(tx) {
|
||||
$scope.tx = tx;
|
||||
$scope.processTX(tx);
|
||||
_processTX(tx);
|
||||
$scope.txs.unshift(tx);
|
||||
}, function(e) {
|
||||
if (e.status === 400) {
|
||||
|
@ -92,58 +125,32 @@ function ($scope, $rootScope, $routeParams, $location, Global, Transaction, Tran
|
|||
else {
|
||||
$rootScope.flashMessage = 'Transaction Not Found';
|
||||
}
|
||||
|
||||
$location.path('/');
|
||||
});
|
||||
};
|
||||
|
||||
$scope.byBlock = function() {
|
||||
TransactionsByBlock.get({
|
||||
block: $routeParams.blockHash,
|
||||
pageNum: pageNum
|
||||
}, function(data) {
|
||||
$scope.paginate(data);
|
||||
});
|
||||
};
|
||||
|
||||
$scope.byAddress = function () {
|
||||
TransactionsByAddress.get({
|
||||
address: $routeParams.addrStr,
|
||||
pageNum: pageNum
|
||||
}, function(data) {
|
||||
$scope.paginate(data);
|
||||
});
|
||||
};
|
||||
|
||||
$scope.paginate = function (data) {
|
||||
$scope.loading = false;
|
||||
|
||||
pagesTotal = data.pagesTotal;
|
||||
pageNum += 1;
|
||||
|
||||
data.txs.forEach(function(tx) {
|
||||
$scope.processTX(tx);
|
||||
$scope.txs.push(tx);
|
||||
});
|
||||
};
|
||||
|
||||
//Initial load
|
||||
$scope.load = function(from) {
|
||||
$scope.loadedBy = from;
|
||||
$scope.loadMore();
|
||||
};
|
||||
|
||||
//Load more transactions for pagination
|
||||
$scope.loadMore = function() {
|
||||
if (pageNum < pagesTotal && !$scope.loading) {
|
||||
$scope.loading = true;
|
||||
|
||||
if ($scope.loadedBy === 'address') {
|
||||
$scope.byAddress();
|
||||
_byAddress();
|
||||
}
|
||||
else {
|
||||
$scope.byBlock();
|
||||
_byBlock();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
//Init without txs
|
||||
$scope.txs = [];
|
||||
|
||||
$scope.$on('tx', function(event, txid) {
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
'use strict';
|
||||
|
||||
angular.element(document).ready(function() {
|
||||
//Fixing facebook bug with redirect
|
||||
if (window.location.hash === '#_=_') window.location.hash = '#!';
|
||||
|
||||
//Then init the app
|
||||
angular.bootstrap(document, ['insight']);
|
||||
});
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
<td>
|
||||
<a href="/#!/block/{{b.hash}}">{{b.height}}</a>
|
||||
</td>
|
||||
<td>{{human_since(b.time)}}</td>
|
||||
<td>{{humanSince(b.time)}}</td>
|
||||
<td>{{b.tx.length}}</td>
|
||||
<td>{{b.size}}</td>
|
||||
<td>{{b.confirmations}}</td>
|
||||
|
@ -53,7 +53,7 @@
|
|||
<td>
|
||||
<a class="ellipsis" href="/#!/tx/{{tx.txid}}">{{tx.txid}}</a>
|
||||
</td>
|
||||
<td><span class="ellipsis">{{human_since(tx.time)}}</span></td>
|
||||
<td><span class="ellipsis">{{humanSince(tx.time)}}</span></td>
|
||||
<td>{{tx.valueOut}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
@ -61,28 +61,28 @@
|
|||
<div class="m50v"></div>
|
||||
<h4> Other Bitcoin Links </h4>
|
||||
<ul style="line-height: 22px;">
|
||||
<li>
|
||||
<a href="">Most Popular Addresses</a>
|
||||
<li>
|
||||
<a href="">Most Popular Addresses</a>
|
||||
<small> - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolores.</small>
|
||||
</li>
|
||||
<li>
|
||||
<a href="">Addresses</a>
|
||||
<li>
|
||||
<a href="">Addresses</a>
|
||||
<small> - Addresses which have received the most payments</small>
|
||||
</li>
|
||||
<li>
|
||||
<a href="">Lorem ipsum dolor.</a>
|
||||
<li>
|
||||
<a href="">Lorem ipsum dolor.</a>
|
||||
<small> - Lorem ipsum dolor sit amet.</small>
|
||||
</li>
|
||||
<li>
|
||||
<a href="">Most Popular Addresses</a>
|
||||
<li>
|
||||
<a href="">Most Popular Addresses</a>
|
||||
<small> - Addresses which have received the most payments</small>
|
||||
</li>
|
||||
<li>
|
||||
<a href="">Lorem ipsum dolor sit.</a>
|
||||
<li>
|
||||
<a href="">Lorem ipsum dolor sit.</a>
|
||||
<small> - Lorem ipsum dolor sit amet, consectetur adipisicing.</small>
|
||||
</li>
|
||||
<li>
|
||||
<a href="">Addresses</a>
|
||||
<li>
|
||||
<a href="">Addresses</a>
|
||||
<small> - Addresses which have received the most payments</small>
|
||||
</li>
|
||||
</ul>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<div class="alert alert-warning" data-ng-show="txs.length && !txs[0].txid">There are not transactions</div>
|
||||
<div class="alert alert-warning" data-ng-show="!txs[0].txid">There are not transactions</div>
|
||||
<div class="block-tx fader" data-ng-show="txs && txs[0].txid" data-ng-repeat="tx in txs">
|
||||
<div data-ng-include src="'/views/transaction/tx.html'"></div>
|
||||
</div>
|
||||
<div class="progress progress-striped active" data-ng-show="!txs.length || loading">
|
||||
<div class="progress progress-striped active" data-ng-show="loading">
|
||||
<div class="progress-bar progress-bar-info" style="width: 100%">
|
||||
<span>Loading...</span>
|
||||
</div>
|
||||
|
|
Loading…
Reference in New Issue