From f0ee061090565649d826122df5ec67cfa07ba0be Mon Sep 17 00:00:00 2001 From: gagarin55 Date: Wed, 13 Apr 2016 22:18:05 -0700 Subject: [PATCH 1/6] fixes according API changes in Scorex 1.2.3 --- nbproject/project.xml | 2 +- src/js/apiMethods.js | 2 +- src/js/views/address-details.html | 14 +++++++------- src/js/views/block-details.html | 18 +++++++++--------- src/js/views/general.html | 20 ++++++++++---------- 5 files changed, 28 insertions(+), 28 deletions(-) diff --git a/nbproject/project.xml b/nbproject/project.xml index 4b8d0ed..42db4a6 100644 --- a/nbproject/project.xml +++ b/nbproject/project.xml @@ -3,7 +3,7 @@ org.netbeans.modules.web.clientproject - scorexplorer + scorex-explorer diff --git a/src/js/apiMethods.js b/src/js/apiMethods.js index d070993..dd349cc 100644 --- a/src/js/apiMethods.js +++ b/src/js/apiMethods.js @@ -2,7 +2,7 @@ 'use strict'; var URL = 'http://23.94.190.226:9081'; - + angular.module('web').constant('apiMethods', { version: URL + '/scorex/version', status: URL + '/scorex/status', diff --git a/src/js/views/address-details.html b/src/js/views/address-details.html index 8483006..f0483ed 100644 --- a/src/js/views/address-details.html +++ b/src/js/views/address-details.html @@ -38,13 +38,13 @@ - - - - - - - + + + + + + + diff --git a/src/js/views/block-details.html b/src/js/views/block-details.html index ad6d9f3..8b0a067 100644 --- a/src/js/views/block-details.html +++ b/src/js/views/block-details.html @@ -25,7 +25,7 @@ @@ -64,17 +64,17 @@
typefeetimestampsignaturesenderrecipientamountTypeFeeTimestampSignatureSenderRecipientAmount
Transactions - {{ctrl.details.transactions[0].length}} transactions + {{ctrl.details.transactions.length}} transactions
- - - - - - - + + + + + + + - + diff --git a/src/js/views/general.html b/src/js/views/general.html index e26a75c..c2e1622 100644 --- a/src/js/views/general.html +++ b/src/js/views/general.html @@ -6,8 +6,8 @@

General info

Version: {{ctrl.version}}

-

block generator status: {{ctrl.status["block generator status"]}}

-

history synchronization status: {{ctrl.status["history synchronization status"]}}

+

block generator status: {{ctrl.status.block_generator_status}}

+

history synchronization status: {{ctrl.status.history_synchronization_status}}

@@ -41,7 +41,7 @@

Last blocks View

#{{item.height}}

signature: {{item.signature|limitTo:10}}...

-

{{item.transactions[0].length}} transactions. {{item.timestamp|date:'yyyy-MM-dd HH:mm:ss'}}

+

{{item.transactions.length}} transactions. {{item.timestamp|date:'yyyy-MM-dd HH:mm:ss'}}

@@ -62,13 +62,13 @@

Unconfirmed Transactions

typefeetimestampsignaturesenderrecipientamountTypeFeeTimestampSignatureSenderRecipientAmount
{{item.type}} {{item.fee}} {{item.timestamp|date:'yyyy-MM-dd HH:mm:ss'}}
- - - - - - - + + + + + + + From 447ba500f61a720fbde31dc0456f14a6dde0d44c Mon Sep 17 00:00:00 2001 From: gagarin55 Date: Thu, 14 Apr 2016 01:15:24 -0700 Subject: [PATCH 2/6] tiny bug on blocks page has been fixed --- src/js/views/blocks.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/js/views/blocks.html b/src/js/views/blocks.html index 5ca549c..f3e6c48 100644 --- a/src/js/views/blocks.html +++ b/src/js/views/blocks.html @@ -35,7 +35,7 @@

Last block #{{ctrl.height}}

- + From 2391e3e07bef1e5f0e6321064fc3fd8351dfaa8b Mon Sep 17 00:00:00 2001 From: gagarin55 Date: Sat, 16 Apr 2016 23:46:14 -0700 Subject: [PATCH 3/6] search in nav bar support addresses and blocks signatures --- src/css/style.css | 3 + src/index.html | 19 +++-- src/js/apiMethods.js | 5 +- src/js/controllers/block-details-sig.js | 32 +++++++++ src/js/controllers/block-details.js | 2 +- src/js/controllers/search.js | 41 +++++++++-- src/js/routes.js | 10 +++ src/js/views/block-details-sig.html | 92 +++++++++++++++++++++++++ 8 files changed, 188 insertions(+), 16 deletions(-) create mode 100644 src/js/controllers/block-details-sig.js create mode 100644 src/js/views/block-details-sig.html diff --git a/src/css/style.css b/src/css/style.css index b82115c..9238bc4 100644 --- a/src/css/style.css +++ b/src/css/style.css @@ -16,6 +16,9 @@ footer p { margin-bottom: 0; } +.search-input { + width: 350px; +} .blockDetails th, .blockDetails td { border-top: none !important; diff --git a/src/index.html b/src/index.html index 6e90101..5a3f707 100644 --- a/src/index.html +++ b/src/index.html @@ -27,16 +27,20 @@
  • Peers
  • - + + - -
    - -
    - - @@ -86,6 +90,7 @@ + diff --git a/src/js/apiMethods.js b/src/js/apiMethods.js index dd349cc..37bcec4 100644 --- a/src/js/apiMethods.js +++ b/src/js/apiMethods.js @@ -23,7 +23,7 @@ return URL + '/addresses/balance/' + address; }, generatingBalance: function (address) { - return URL + '/addresses/generatingbalance/' + address + return URL + '/addresses/generatingbalance/' + address; }, validate: function (address) { return URL + '/addresses/validate/' + address; @@ -31,6 +31,9 @@ }, transactions: { unconfirmed: URL + '/transactions/unconfirmed', + info: function (signature) { + return URL + '/transactions/info/' + signature; + }, forAddress: function (address) { return URL + '/transactions/address/' + address + '/limit/50'; } diff --git a/src/js/controllers/block-details-sig.js b/src/js/controllers/block-details-sig.js new file mode 100644 index 0000000..e8d0225 --- /dev/null +++ b/src/js/controllers/block-details-sig.js @@ -0,0 +1,32 @@ +(function () { + 'use strict'; + + function BlocksDetailsSigCtrl($http, apiMethods, $stateParams, $state) { + var ctrl = this; + ctrl.signature = $stateParams.signature; + ctrl.next = nextBlock; + ctrl.prev = prevBlock; + + activate(); + + function activate() { + + $http.get(apiMethods.blocks.bySignature(ctrl.signature)) + .success(function (data) { + ctrl.details = data; + }); + } + + function nextBlock() { + $state.go('block-details', {height: ctrl.height + 1}); + } + + function prevBlock() { + if (ctrl.height > 1) + $state.go('block-details', {height: ctrl.height - 1}); + } + + } + + angular.module('web').controller('BlocksDetailsSigCtrl', BlocksDetailsSigCtrl); +})(); diff --git a/src/js/controllers/block-details.js b/src/js/controllers/block-details.js index 3fece3e..483fd2a 100644 --- a/src/js/controllers/block-details.js +++ b/src/js/controllers/block-details.js @@ -14,7 +14,7 @@ $http.get(apiMethods.blocks.byHeight(ctrl.height)) .success(function (data) { ctrl.details = data; - }) + }); } function nextBlock() { diff --git a/src/js/controllers/search.js b/src/js/controllers/search.js index e8e3305..eca4845 100644 --- a/src/js/controllers/search.js +++ b/src/js/controllers/search.js @@ -1,15 +1,42 @@ -(function(){ +(function () { 'use strict'; - - function SearchCtrl($scope, $state) { - + + function SearchCtrl($scope, $state, $http, apiMethods) { + $scope.search = search; - + function search() { - $state.go('address-details', {address: $scope.address}); + var q = $scope.searchQuery; + if (!q) + return; + // check address + $http.get(apiMethods.address.validate(q)) + .success(function (data) { + if (data.valid) + $state.go('address-details', {address: q}); + else { + // check block + $http.get(apiMethods.blocks.bySignature(q)) + .success(function (data) { + if (!data.error) { + $state.go('block-details-sig', {signature: q}) + } else { + // check tx + $http.get(apiMethods.transactions.info(q)) + .success(function(data){ + if (!data.error) + $state.go('tx-details', {signature:q}); + }) + } + }); + } + }) + .error(function (data) { + }); + } } - + angular.module('web').controller('SearchCtrl', SearchCtrl); })(); diff --git a/src/js/routes.js b/src/js/routes.js index 5a096e0..bca4bd0 100644 --- a/src/js/routes.js +++ b/src/js/routes.js @@ -31,6 +31,15 @@ } } }) + .state('block-details-sig', { + url: '/blocks/s/:signature', + views: { + "main": { + controller: 'BlocksDetailsSigCtrl as ctrl', + templateUrl: '/js/views/block-details-sig.html' + } + } + }) .state('block-details', { url: '/blocks/:height', views: { @@ -40,6 +49,7 @@ } } }) + .state('peers', { url: '/peers', views: { diff --git a/src/js/views/block-details-sig.html b/src/js/views/block-details-sig.html new file mode 100644 index 0000000..f42b30b --- /dev/null +++ b/src/js/views/block-details-sig.html @@ -0,0 +1,92 @@ + +
    +
    +
    +
    + Block {{ctrl.signature}} +
    + +
    + +
    typefeetimestampsignaturesenderrecipientamountTypeFeeTimestampSignatureSenderRecipientAmount
    {{item.height}} {{item.timestamp|date:'yyyy-MM-dd HH:mm:ss'}} {{item.signature|limitTo:15}}...{{item.transactions[0].length}}{{item.transactions.length}} {{item.fee}}
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Version{{ctrl.details.version}}
    Timestamp{{ctrl.details.timestamp|date:'yyyy-MM-dd HH:mm:ss'}}
    Transactions + {{ctrl.details.transactions.length}} transactions +
    Parent block + {{ctrl.details.reference}} +
    Generator + {{ctrl.details.generator}} +
    Signature{{ctrl.details.signature}}
    Fee{{ctrl.details.fee|currency:''}}
    Size{{ctrl.details.blocksize}}
    + + +
    +
    + Transactions in #{{ctrl.height}} +
    +
    + + + + + + + + + + + + + + + + + + + + + + + +
    TypeFeeTimestampSignatureSenderRecipientAmount
    {{item.type}}{{item.fee}}{{item.timestamp|date:'yyyy-MM-dd HH:mm:ss'}}{{item.signature|limitTo:7}}...{{item.sender|limitTo:7}}...{{item.recipient|limitTo:7}}...{{item.amount|currency:''}}
    +
    +
    + + From 07d22abfae5bea32c753e45465fba65557835f00 Mon Sep 17 00:00:00 2001 From: gagarin55 Date: Sun, 17 Apr 2016 02:57:18 -0700 Subject: [PATCH 4/6] preparing to show tx details --- src/index.html | 1 + src/js/controllers/tx-details.js | 16 ++++ src/js/routes.js | 136 ++++++++++++++++--------------- src/js/views/tx-details.html | 58 +++++++++++++ 4 files changed, 147 insertions(+), 64 deletions(-) create mode 100644 src/js/controllers/tx-details.js create mode 100644 src/js/views/tx-details.html diff --git a/src/index.html b/src/index.html index 5a3f707..5e787a6 100644 --- a/src/index.html +++ b/src/index.html @@ -93,6 +93,7 @@ + \ No newline at end of file diff --git a/src/js/controllers/tx-details.js b/src/js/controllers/tx-details.js new file mode 100644 index 0000000..6c91413 --- /dev/null +++ b/src/js/controllers/tx-details.js @@ -0,0 +1,16 @@ +(function(){ + 'use strict'; + + function TxDetailsCtrl($http, $stateParams, apiMethods) { + var ctrl = this; + ctrl.signature = $stateParams.signature; + + activate(); + + function activate() { + + } + } + + angular.module('web').controller('TxDetailsCtrl', TxDetailsCtrl); +})(); \ No newline at end of file diff --git a/src/js/routes.js b/src/js/routes.js index bca4bd0..52c2dbd 100644 --- a/src/js/routes.js +++ b/src/js/routes.js @@ -2,69 +2,77 @@ 'use strict'; angular.module('web') - .config(['$stateProvider', '$locationProvider', '$urlRouterProvider', function ($stateProvider, $locationProvider, $urlRouterProvider) { - $stateProvider - .state('general', { - url: '/', - views: { - "main": { - controller: 'GeneralCtrl as ctrl', - templateUrl: '/js/views/general.html' - } - } - }) - .state('address-details', { - url: '/address/:address', - views: { - "main": { - controller: 'AddressDetailsCtrl as ctrl', - templateUrl: '/js/views/address-details.html' - } - } - }) - .state('blocks', { - url: '/blocks', - views: { - "main": { - controller: 'BlocksCtrl as ctrl', - templateUrl: '/js/views/blocks.html' - } - } - }) - .state('block-details-sig', { - url: '/blocks/s/:signature', - views: { - "main": { - controller: 'BlocksDetailsSigCtrl as ctrl', - templateUrl: '/js/views/block-details-sig.html' - } - } - }) - .state('block-details', { - url: '/blocks/:height', - views: { - "main": { - controller: 'BlocksDetailsCtrl as ctrl', - templateUrl: '/js/views/block-details.html' - } - } - }) - - .state('peers', { - url: '/peers', - views: { - "main": { - controller: 'PeersCtrl as ctrl', - templateUrl: '/js/views/peers.html' - } - } - }); - - $locationProvider.html5Mode({ - enabled: true, - requireBase: false, - rewriteLinks: false + .config(['$stateProvider', '$locationProvider', '$urlRouterProvider', function ($stateProvider, $locationProvider, $urlRouterProvider) { + $stateProvider + .state('general', { + url: '/', + views: { + "main": { + controller: 'GeneralCtrl as ctrl', + templateUrl: '/js/views/general.html' + } + } + }) + .state('address-details', { + url: '/address/:address', + views: { + "main": { + controller: 'AddressDetailsCtrl as ctrl', + templateUrl: '/js/views/address-details.html' + } + } + }) + .state('blocks', { + url: '/blocks', + views: { + "main": { + controller: 'BlocksCtrl as ctrl', + templateUrl: '/js/views/blocks.html' + } + } + }) + .state('block-details-sig', { + url: '/blocks/s/:signature', + views: { + "main": { + controller: 'BlocksDetailsSigCtrl as ctrl', + templateUrl: '/js/views/block-details-sig.html' + } + } + }) + .state('block-details', { + url: '/blocks/:height', + views: { + "main": { + controller: 'BlocksDetailsCtrl as ctrl', + templateUrl: '/js/views/block-details.html' + } + } + }) + .state('tx-details', { + url: '/tx/:signature', + views: { + "main": { + controller: 'TxDetailsCtrl as ctrl', + templateUrl: '/js/views/tx-details.html' + } + } + }) + .state('peers', { + url: '/peers', + views: { + "main": { + controller: 'PeersCtrl as ctrl', + templateUrl: '/js/views/peers.html' + } + } }); - } - ]); + + $locationProvider.html5Mode({ + enabled: true, + requireBase: false, + rewriteLinks: false + }); + } + ]); })(); \ No newline at end of file diff --git a/src/js/views/tx-details.html b/src/js/views/tx-details.html new file mode 100644 index 0000000..19439bb --- /dev/null +++ b/src/js/views/tx-details.html @@ -0,0 +1,58 @@ + +
    +
    +
    +
    + Tx {{ctrl.signature}} +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Version{{ctrl.details.version}}
    Timestamp{{ctrl.details.timestamp|date:'yyyy-MM-dd HH:mm:ss'}}
    Transactions + {{ctrl.details.transactions.length}} transactions +
    Parent block + {{ctrl.details.reference}} +
    Generator + {{ctrl.details.generator}} +
    Signature{{ctrl.details.signature}}
    Fee{{ctrl.details.fee|currency:''}}
    Size{{ctrl.details.blocksize}}
    +
    +
    + +
    +
    From 09484dab140ce1f79360d2c5013772251dc2097c Mon Sep 17 00:00:00 2001 From: gagarin55 Date: Sun, 17 Apr 2016 14:55:17 +0400 Subject: [PATCH 5/6] transaction details view --- src/js/controllers/tx-details.js | 5 ++++- src/js/views/address-details.html | 2 +- src/js/views/block-details.html | 2 +- src/js/views/general.html | 2 +- src/js/views/tx-details.html | 35 +++++++++++++------------------ 5 files changed, 22 insertions(+), 24 deletions(-) diff --git a/src/js/controllers/tx-details.js b/src/js/controllers/tx-details.js index 6c91413..86e4f0e 100644 --- a/src/js/controllers/tx-details.js +++ b/src/js/controllers/tx-details.js @@ -8,7 +8,10 @@ activate(); function activate() { - + $http.get(apiMethods.transactions.info(ctrl.signature)) + .success(function(data){ + ctrl.details = data; + }); } } diff --git a/src/js/views/address-details.html b/src/js/views/address-details.html index f0483ed..517eb9c 100644 --- a/src/js/views/address-details.html +++ b/src/js/views/address-details.html @@ -52,7 +52,7 @@ {{item.type}} {{item.fee}} {{item.timestamp|date:'yyyy-MM-dd HH:mm:ss'}} - {{item.signature|limitTo:8}}... + {{item.signature|limitTo:8}}... {{item.sender|limitTo:8}}... {{item.recipient|limitTo:8}}... {{item.amount|currency:''}} diff --git a/src/js/views/block-details.html b/src/js/views/block-details.html index 8b0a067..07af22a 100644 --- a/src/js/views/block-details.html +++ b/src/js/views/block-details.html @@ -78,7 +78,7 @@ {{item.type}} {{item.fee}} {{item.timestamp|date:'yyyy-MM-dd HH:mm:ss'}} - {{item.signature|limitTo:7}}... + {{item.signature|limitTo:7}}... {{item.sender|limitTo:7}}... {{item.recipient|limitTo:7}}... {{item.amount|currency:''}} diff --git a/src/js/views/general.html b/src/js/views/general.html index c2e1622..5e191e6 100644 --- a/src/js/views/general.html +++ b/src/js/views/general.html @@ -75,7 +75,7 @@

    Unconfirmed Transactions

    {{item.type}} {{item.fee}} {{item.timestamp|date:'yyyy-MM-dd HH:mm:ss'}} - {{item.signature|limitTo:5}}... + {{item.signature|limitTo:5}}... {{item.sender|limitTo:6}}... {{item.recipient|limitTo:6}}... {{item.amount|currency:''}} diff --git a/src/js/views/tx-details.html b/src/js/views/tx-details.html index 19439bb..4cad612 100644 --- a/src/js/views/tx-details.html +++ b/src/js/views/tx-details.html @@ -3,7 +3,7 @@
    - Tx {{ctrl.signature}} + Transaction {{ctrl.signature}}
    @@ -12,43 +12,38 @@ - Version - {{ctrl.details.version}} + Type + {{ctrl.details.type}} Timestamp {{ctrl.details.timestamp|date:'yyyy-MM-dd HH:mm:ss'}} - Transactions - - {{ctrl.details.transactions.length}} transactions - + Amount + {{ctrl.details.amount|currency:''}} - Parent block + Fee + {{ctrl.details.fee|currency:''}} + + + + Sender - {{ctrl.details.reference}} + {{ctrl.details.sender}} - - Generator + + Recipient - {{ctrl.details.generator}} + {{ctrl.details.recipient}} Signature {{ctrl.details.signature}} - - Fee - {{ctrl.details.fee|currency:''}} - - - Size - {{ctrl.details.blocksize}} -
    From 7f6a972052cdc8c9a1767f176bcc3a256bf0f5f4 Mon Sep 17 00:00:00 2001 From: gagarin55 Date: Fri, 6 May 2016 22:11:44 +0400 Subject: [PATCH 6/6] fixed unconfirmed txs showing --- src/js/controllers/general.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/js/controllers/general.js b/src/js/controllers/general.js index e27ea35..6143ec4 100644 --- a/src/js/controllers/general.js +++ b/src/js/controllers/general.js @@ -35,7 +35,7 @@ }); $http.get(apiMethods.transactions.unconfirmed) .success(function (data) { - ctrl.unconfirmedTxs = data[0]; + ctrl.unconfirmedTxs = data; }); $http.get(apiMethods.consensus.puz) .success(function (data) { @@ -43,7 +43,7 @@ }); $http.get(apiMethods.consensus.algo) .success(function (data) { - ctrl.consensus.algo = data["consensus-algo"]; + ctrl.consensus.algo = data.consensusAlgo; }); $http.get(apiMethods.consensus.target) .success(function (data) {