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