Browse Source

basilisk data fetch progress monitor added for basilisk coins

master
Satinder Grewal 8 years ago
parent
commit
6fce8a5e31
  1. 219
      assets/scripts/dashboard.js
  2. 3
      assets/scripts/iguana_api.js
  3. 34
      index.html

219
assets/scripts/dashboard.js

@ -50,7 +50,7 @@ var Dashboard = function() {
if ( sessionStorage.getItem('edexTmpMode') === 'Full') { if ( sessionStorage.getItem('edexTmpMode') === 'Full') {
sessionStorage.setItem('edexTmpRefresh', 'start'); sessionStorage.setItem('edexTmpRefresh', 'start');
} }
if ( sessionStorage.getItem('edexTmpMode') === 'Basilisk' || sessionStorage.getItem('edexTmpMode') === 'Native' ) { if ( /*sessionStorage.getItem('edexTmpMode') === 'Basilisk' ||*/ sessionStorage.getItem('edexTmpMode') === 'Native' ) {
sessionStorage.setItem('edexTmpRefresh', 'stop'); sessionStorage.setItem('edexTmpRefresh', 'stop');
} }
$('#edexcoin_dashoard_section').show(); $('#edexcoin_dashoard_section').show();
@ -63,7 +63,7 @@ var Dashboard = function() {
var selected_coinmode = sessionStorage.getItem('edexTmpMode'); var selected_coinmode = sessionStorage.getItem('edexTmpMode');
if ( selected_coinmode == 'Basilisk' ) { if ( selected_coinmode == 'Basilisk' ) {
getDEXGetBalance_cache(active_edexcoin).then(function(result) { getDEXGetBalance_cache(active_edexcoin).then(function(result) {
console.log(result) //console.log(result)
if ( result.interest !== undefined && active_edexcoin == 'KMD') { if ( result.interest !== undefined && active_edexcoin == 'KMD') {
$('#edexcoin_getbalance_interest').show(); $('#edexcoin_getbalance_interest').show();
$('#edexcoin_getbalance_total_interest').show(); $('#edexcoin_getbalance_total_interest').show();
@ -708,6 +708,8 @@ var Dashboard = function() {
var CheckIfIguanaRunning = setInterval(function() { var CheckIfIguanaRunning = setInterval(function() {
// TODO: refactor // TODO: refactor
var active_edexcoin = $('[data-edexcoin]').attr('data-edexcoin'),
active_edexcoinmodecode = sessionStorage.getItem('edexTmpMode');
if ( sessionStorage.getItem('IguanaActiveAccount') === null ) { if ( sessionStorage.getItem('IguanaActiveAccount') === null ) {
//clearInterval(CheckIfIguanaRunning); //clearInterval(CheckIfIguanaRunning);
//console.log('=> No wallet logged in, or Dashboard not ative. No need to Run History.'); //console.log('=> No wallet logged in, or Dashboard not ative. No need to Run History.');
@ -721,8 +723,6 @@ var Dashboard = function() {
var CheckIfIguanaRunning = setInterval(function() { var CheckIfIguanaRunning = setInterval(function() {
var active_edexcoin = $('[data-edexcoin]').attr('data-edexcoin'),
active_edexcoinmodecode = sessionStorage.getItem('edexTmpMode');
// TODO: refactor // TODO: refactor
if ( sessionStorage.getItem('IguanaActiveAccount') === null ) { if ( sessionStorage.getItem('IguanaActiveAccount') === null ) {
//clearInterval(CheckIfIguanaRunning); //clearInterval(CheckIfIguanaRunning);
@ -752,6 +752,21 @@ var Dashboard = function() {
} }
} }
}, 30000); }, 30000);
var RefreshBasiliskTable = setInterval(function() {
if ( sessionStorage.getItem('IguanaActiveAccount') === null || sessionStorage.getItem('DashboardActions') === null || sessionStorage.getItem('DashboardActions') === 'stop' ) {
clearInterval(RefreshBasiliskTable);
} else if ( sessionStorage.getItem('DashboardActions') === null || sessionStorage.getItem('DashboardActions') === 'start') {
if ( $('[data-edexcoin]').attr('data-edexcoin') !== 'COIN' ) {
if ( sessionStorage.getItem('edexTmpMode') !== null || sessionStorage.getItem('edexTmpMode') === 'Basilisk') {
if ( sessionStorage.getItem('edexTmpRefresh') === null || sessionStorage.getItem('edexTmpRefresh') === 'start') {
var active_edexcoin = $('[data-edexcoin]').attr('data-edexcoin')
ShowBasiliskFetchDataProgress(active_edexcoin);
}
}
}
}
}, 1000);
} }
return { return {
@ -1174,8 +1189,8 @@ function getDEXGetBalance_cache(coin) {
return new Promise((resolve) => { return new Promise((resolve) => {
Shepherd_CheckBasiliskCacheData(coin).then(function(result) { Shepherd_CheckBasiliskCacheData(coin).then(function(result) {
console.log(result); //console.log(result);
console.log(result.coin); //console.log(result.coin);
if (result.coin == false || result.addresses == false) { if (result.coin == false || result.addresses == false) {
var call_data = { var call_data = {
@ -1183,19 +1198,21 @@ function getDEXGetBalance_cache(coin) {
'coin': coin, 'coin': coin,
'calls': 'listtransactions:getbalance' 'calls': 'listtransactions:getbalance'
}; };
console.log(call_data) //console.log(call_data)
Shepherd_FetchBasiliskData(call_data).then(function(result) {
console.log(result);
});
} else if (result.getbalance == false) { } else if (result.getbalance == false) {
var call_data = { var call_data = {
'allcoins': false, 'allcoins': false,
'coin': coin, 'coin': coin,
'calls': 'getbalance:listtransactions' 'calls': 'getbalance:listtransactions'
}; };
console.log(call_data); //console.log(call_data);
Shepherd_FetchBasiliskData(call_data).then(function(result) {
console.log(result);
});
} }
Shepherd_FetchBasiliskData(call_data).then(function(result) {
console.log(result);
});
}) })
Shepherd_GetBasiliskCache().then(function(result) { Shepherd_GetBasiliskCache().then(function(result) {
@ -2388,4 +2405,182 @@ function EdexListAllAddr(coin) {
NProgress.done(); NProgress.done();
}); });
}
function ShowBasiliskFetchDataProgress(coin) {
Shepherd_GetBasiliskCache().then(function(result){
var _data = JSON.parse(result)
var query = _data.result.basilisk
coin_exists = true
addresses_exists = true
getbalance_exists = true
listtransactions_exists = true
listunspent_exists = true
refresh_exists = true
getbalance_status = 'NOT FOUND'
listtransactions_status = 'NOT FOUND'
listunspent_status = 'NOT FOUND'
refresh_status = 'NOT FOUND'
//console.log(query)
if (!query) {
//console.log('data not found.')
res_data = {"coin":false, "addresses":false, "getbalance": false,"listtransactions": false,"listunspent": false,"refresh": false}
//console.log(res_data)
} else if (!query[coin]) {
//console.log(coin + ' not found.')
coin_exists = false
res_data = {"coin":coin_exists, "addresses":false, "getbalance": false,"listtransactions": false,"listunspent": false,"refresh": false}
//console.log(res_data)
} else if (!('addresses' in query[coin])) {
//console.log(coin + ' addresses not found.')
addresses_exists = false
res_data = {"coin":coin_exists, "addresses":false, "getbalance": false,"listtransactions": false,"listunspent": false,"refresh": false}
//console.log(res_data)
} else {
Promise.all(query[coin].addresses.map((coinaddr_value,coinaddr_index) => {
return new Promise((resolve, reject) => {
//console.log(coinaddr_index)
//console.log(coinaddr_value)
var data = query[coin][coinaddr_value].getbalance
//console.log(data)
if (!('getbalance' in query[coin][coinaddr_value])) {
//console.log(coin + '>>>' + coinaddr_value + ' => getbalance not found.')
getbalance_exists = false
} else {
//console.log(query[coin][coinaddr_value].getbalance.status)
getbalance_status = query[coin][coinaddr_value].getbalance.status
}
if (!('listtransactions' in query[coin][coinaddr_value])) {
//console.log(coin + '>>>' + coinaddr_value + ' => listtransactions not found.')
listtransactions_exists = false
} else {
//console.log(query[coin][coinaddr_value].listtransactions.status)
listtransactions_status = query[coin][coinaddr_value].listtransactions.status
}
if (!('listunspent' in query[coin][coinaddr_value])) {
//console.log(coin + '>>>' + coinaddr_value + ' => listunspent not found.')
listunspent_exists = false
} else {
//console.log(query[coin][coinaddr_value].listunspent.status)
listunspent_status = query[coin][coinaddr_value].listunspent.status
}
if (!('refresh' in query[coin][coinaddr_value])) {
//console.log(coin + '>>>' + coinaddr_value + ' => refresh not found.')
refresh_exists = false
} else {
//console.log(query[coin][coinaddr_value].refresh.status)
refresh_status = query[coin][coinaddr_value].refresh.status
}
pass_data = {
"addr_index":coinaddr_index,
"addr_value":coinaddr_value,
"getbalance": getbalance_exists,
"getbalance_status": getbalance_status,
"listtransactions": listtransactions_exists,
"listtransactions_status": listtransactions_status,
"listunspent": listunspent_exists,
"listunspent_status": listunspent_status,
"refresh": refresh_exists,
"refresh_status": refresh_status
}
resolve(pass_data)
})
})).then(result => {
//console.log(result)
//res_data.coin = coin_exists
//res_data.addresses = addresses_exists
BasiliskFetchData = ''
$.each(result, function(result_index, result_val) {
//console.log(result_index)
//console.log(result_val)
var tmp_listunspent_lable_color = ''
var tmp_listtransactions_lable_color = ''
var tmp_getbalance_lable_color = ''
var tmp_refresh_lable_color = ''
switch (result_val.listunspent_status) {
case 'waiting':
tmp_listunspent_lable_color = 'dark'
break;
case 'in progress':
tmp_listunspent_lable_color = 'primary'
break;
case 'done':
tmp_listunspent_lable_color = 'success'
break;
case 'NOT FOUND':
tmp_listunspent_lable_color = 'danger'
break;
}
switch (result_val.listtransactions_status) {
case 'waiting':
tmp_listtransactions_lable_color = 'dark'
break;
case 'in progress':
tmp_listtransactions_lable_color = 'primary'
break;
case 'done':
tmp_listtransactions_lable_color = 'success'
break;
case 'NOT FOUND':
tmp_listtransactions_lable_color = 'danger'
break;
}
switch (result_val.getbalance_status) {
case 'waiting':
tmp_getbalance_lable_color = 'dark'
break;
case 'in progress':
tmp_getbalance_lable_color = 'primary'
break;
case 'done':
tmp_getbalance_lable_color = 'success'
break;
case 'NOT FOUND':
tmp_getbalance_lable_color = 'danger'
break;
}
switch (result_val.refresh_status) {
case 'waiting':
tmp_refresh_lable_color = 'dark'
break;
case 'in progress':
tmp_refresh_lable_color = 'primary'
break;
case 'done':
tmp_refresh_lable_color = 'success'
break;
case 'NOT FOUND':
tmp_refresh_lable_color = 'danger'
break;
}
BasiliskFetchData += '<tr>';
BasiliskFetchData += '<td>'+ result_val.addr_value.substring(0,5) +'...</td>';
BasiliskFetchData += '<td><span class="label label-'+tmp_listunspent_lable_color+' text-uppercase">'+result_val.listunspent_status+'</span></td>';
BasiliskFetchData += '<td><span class="label label-'+tmp_listtransactions_lable_color+' text-uppercase">'+result_val.listtransactions_status+'</span></td>';
BasiliskFetchData += '<td><span class="label label-'+tmp_getbalance_lable_color+' text-uppercase">'+result_val.getbalance_status+'</span></td>';
BasiliskFetchData += '<td><span class="label label-'+tmp_refresh_lable_color+' text-uppercase">'+result_val.refresh_status+'</span></td>';
BasiliskFetchData += '</tr>';
$('.tbl_edexcoin_dashboard_basilisk_refresh_status tbody').html(BasiliskFetchData);
})
})
}
})
} }

3
assets/scripts/iguana_api.js

@ -2239,8 +2239,9 @@ function Shepherd_FetchBasiliskData(req_data) {
'pubkey': session_pubkey 'pubkey': session_pubkey
}; };
console.log(req_data)
if (req_data.allcoins !== false ) { if (req_data.allcoins !== false ) {
var req_url = 'http://127.0.0.1:17777/shepherd/allcoins'; var req_url = 'http://127.0.0.1:17777/shepherd/cache-all';
} else { } else {
var req_url = 'http://127.0.0.1:17777/shepherd/cache-one'; var req_url = 'http://127.0.0.1:17777/shepherd/cache-one';
ajax_data.coin = req_data.coin; ajax_data.coin = req_data.coin;

34
index.html

@ -832,6 +832,38 @@
</div> </div>
</div> </div>
<div data-edexcoin="COIN" id="edexcoin_dashboard_basilisk_refresh_status" style="display: ;">
<div class="col-xs-12 margin-top-20">
<div class="col-xs-12">
<!-- Panel Tasks -->
<div class="panel">
<div class="panel-heading">
<h3 class="panel-title">Fetching Basilisk Data...</h3>
<div class="panel-actions">
<a class="panel-action icon md-refresh-alt" data-toggle="panel-refresh" data-load-type="blue-only" aria-hidden="true"></a>
</div>
</div>
<div class="table-responsive">
<table class="table table-hover table-striped tbl_edexcoin_dashboard_basilisk_refresh_status">
<thead>
<tr>
<th>Address</th>
<th>List Unspent</th>
<th>List Transactions</th>
<th>Get Balance</th>
<th>Refresh</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
<!-- End Panel Tasks -->
</div>
</div>
</div>
<div data-edexcoin="COIN" id="edexcoin_dashboardinfo" style="display: none;"> <div data-edexcoin="COIN" id="edexcoin_dashboardinfo" style="display: none;">
<div class="col-xs-12 margin-top-20"> <div class="col-xs-12 margin-top-20">
<!-- Iguana Wallet Settings Box Tab --> <!-- Iguana Wallet Settings Box Tab -->
@ -857,7 +889,7 @@
<li data-edexcoin="COIN" role="presentation"><a href="javascript:void(0)" class="btn_edexcoin_dashboard_fetchdata" data-edexcoin="COIN" id="btn_edexcoin_dashboard_fetchdata" role="menuitem"><i class="icon fa-cloud-download" aria-hidden="true"></i> Fetch Wallet Data</a></li> <li data-edexcoin="COIN" role="presentation"><a href="javascript:void(0)" class="btn_edexcoin_dashboard_fetchdata" data-edexcoin="COIN" id="btn_edexcoin_dashboard_fetchdata" role="menuitem"><i class="icon fa-cloud-download" aria-hidden="true"></i> Fetch Wallet Data</a></li>
<li data-edexcoin="COIN" role="presentation"><a href="javascript:void(0)" class="btn_edexcoin_dashboard_register" data-edexcoin="COIN" id="btn_edexcoin_dashboard_register" role="menuitem"><i class="icon fa-sign-in" aria-hidden="true"></i> Register All Wallet Address</a></li> <!--<li data-edexcoin="COIN" role="presentation"><a href="javascript:void(0)" class="btn_edexcoin_dashboard_register" data-edexcoin="COIN" id="btn_edexcoin_dashboard_register" role="menuitem"><i class="icon fa-sign-in" aria-hidden="true"></i> Register All Wallet Address</a></li>-->
<!--<li data-edexcoin="COIN" role="presentation"><a href="javascript:void(0)" class="btn_edexcoin_dashboard_validate" data-edexcoin="COIN" id="btn_edexcoin_dashboard_validate" role="menuitem"><i class="icon fa-check" aria-hidden="true"></i> Validate Address on Network</a></li>--> <!--<li data-edexcoin="COIN" role="presentation"><a href="javascript:void(0)" class="btn_edexcoin_dashboard_validate" data-edexcoin="COIN" id="btn_edexcoin_dashboard_validate" role="menuitem"><i class="icon fa-check" aria-hidden="true"></i> Validate Address on Network</a></li>-->
</ul> </ul>

Loading…
Cancel
Save