commit
3da2254541
|
@ -37,4 +37,5 @@ script(type='text/javascript', src='/js/controllers/header.js')
|
|||
script(type='text/javascript', src='/js/controllers/blocks.js')
|
||||
script(type='text/javascript', src='/js/controllers/transactions.js')
|
||||
script(type='text/javascript', src='/js/controllers/address.js')
|
||||
script(type='text/javascript', src='/js/controllers/search.js')
|
||||
script(type='text/javascript', src='/js/init.js')
|
||||
|
|
|
@ -48,3 +48,4 @@ body {
|
|||
font-size: 10px;
|
||||
}
|
||||
|
||||
#search { width: 400px; }
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
'use strict';
|
||||
|
||||
angular.module('mystery', ['ngCookies', 'ngResource', 'ngRoute', 'ui.bootstrap', 'ui.route', 'mystery.system', 'mystery.index', 'mystery.blocks', 'mystery.transactions', 'monospaced.qrcode', 'mystery.address']);
|
||||
angular.module('mystery', ['ngCookies', 'ngResource', 'ngRoute', 'ui.bootstrap', 'ui.route', 'mystery.system', 'mystery.index', 'mystery.blocks', 'mystery.transactions', 'monospaced.qrcode', 'mystery.address', 'mystery.search']);
|
||||
|
||||
angular.module('mystery.system', []);
|
||||
angular.module('mystery.index', []);
|
||||
angular.module('mystery.blocks', []);
|
||||
angular.module('mystery.transactions', []);
|
||||
angular.module('mystery.address', []);
|
||||
angular.module('mystery.search', []);
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
'use strict';
|
||||
|
||||
angular.module('mystery.search').controller('SearchController', ['$scope', '$routeParams', '$location', 'Global', 'Block', 'Transaction', 'Address', function ($scope, $routeParams, $location, Global, Block, Transaction, Address) {
|
||||
$scope.global = Global;
|
||||
|
||||
$scope.search = function() {
|
||||
var q = $scope.q;
|
||||
var path;
|
||||
|
||||
$scope.badQuery = false;
|
||||
$scope.q = '';
|
||||
|
||||
Block.get({
|
||||
blockHash: q
|
||||
}, function() {
|
||||
$location.path('block/' + q);
|
||||
}, function () { //block not found, search on TX
|
||||
Transaction.get({
|
||||
txId: q
|
||||
}, function() {
|
||||
$location.path('tx/' + q);
|
||||
}, function () { //tx not found, search on Address
|
||||
Address.get({
|
||||
addrStr: q
|
||||
}, function() {
|
||||
$location.path('address/' + q);
|
||||
}, function () { //address not found, fail :(
|
||||
$scope.badQuery = true;
|
||||
$scope.q = q;
|
||||
});
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
}]);
|
|
@ -3,6 +3,20 @@
|
|||
angular.module('mystery.address').factory('Address', ['$resource', function($resource) {
|
||||
return $resource('/api/addr/:addrStr', {
|
||||
addrStr: '@addStr'
|
||||
}, {
|
||||
get: {
|
||||
method: 'GET',
|
||||
interceptor: {
|
||||
response: function (res) {
|
||||
return res.data;
|
||||
},
|
||||
responseError: function (res) {
|
||||
if (res.status === 404) {
|
||||
return res;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}]);
|
||||
|
||||
|
|
|
@ -3,6 +3,20 @@
|
|||
angular.module('mystery.blocks').factory('Block', ['$resource', function($resource) {
|
||||
return $resource('/api/block/:blockHash', {
|
||||
blockHash: '@blockHash'
|
||||
}, {
|
||||
get: {
|
||||
method: 'GET',
|
||||
interceptor: {
|
||||
response: function (res) {
|
||||
return res.data;
|
||||
},
|
||||
responseError: function (res) {
|
||||
if (res.status === 404) {
|
||||
return res;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}]);
|
||||
|
||||
|
|
|
@ -3,6 +3,20 @@
|
|||
angular.module('mystery.transactions').factory('Transaction', ['$resource', function($resource) {
|
||||
return $resource('/api/tx/:txId', {
|
||||
txId: '@txId'
|
||||
}, {
|
||||
get: {
|
||||
method: 'GET',
|
||||
interceptor: {
|
||||
response: function (res) {
|
||||
return res.data;
|
||||
},
|
||||
responseError: function (res) {
|
||||
if (res.status === 404) {
|
||||
return res;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}]);
|
||||
|
||||
|
|
|
@ -14,5 +14,13 @@
|
|||
<a href="#!/{{item.link}}">{{item.title}}</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div ng-controller="SearchController">
|
||||
<form class="navbar-form navbar-left" role="search" ng-submit="search()">
|
||||
<div class="form-group" ng-class="{'has-error': badQuery}">
|
||||
<input id="search" type="text" class="form-control" ng-model="q" placeholder="Search for block, transaction or address">
|
||||
</div>
|
||||
<span class="text-danger" ng-show="badQuery">No matching records found!</span>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
Loading…
Reference in New Issue