|
|
|
var Dashboard = function() {
|
|
|
|
|
|
|
|
|
|
|
|
toastr.options = {
|
|
|
|
"closeButton": true,
|
|
|
|
"debug": false,
|
|
|
|
"positionClass": "toast-top-right",
|
|
|
|
"showDuration": "5000",
|
|
|
|
"hideDuration": "1000",
|
|
|
|
"timeOut": "5000",
|
|
|
|
"extendedTimeOut": "1000",
|
|
|
|
"showEasing": "swing",
|
|
|
|
"hideEasing": "linear",
|
|
|
|
"showMethod": "fadeIn",
|
|
|
|
"hideMethod": "fadeOut"
|
|
|
|
}
|
|
|
|
|
|
|
|
var handleWalletWidgets = function() {
|
|
|
|
|
|
|
|
var walletDivContent = '';
|
|
|
|
|
|
|
|
$.each([ 'basilisk', 'full', 'virtual' ], function( index, value ) {
|
|
|
|
|
|
|
|
$.ajax({
|
|
|
|
type: 'GET',
|
|
|
|
url: 'http://127.0.0.1:7778/api/InstantDEX/allcoins',
|
|
|
|
dataType: 'text',
|
|
|
|
success: function(data, textStatus, jqXHR) {
|
|
|
|
var AllcoinsDataOutput = JSON.parse(data);
|
|
|
|
//console.log('== Data OutPut ==');
|
|
|
|
//console.log(value);
|
|
|
|
//console.log(AllcoinsDataOutput[value]);
|
|
|
|
|
|
|
|
$.each(AllcoinsDataOutput[value], function(index) {
|
|
|
|
|
|
|
|
var coinlogo = '';
|
|
|
|
var coinname = '';
|
|
|
|
var modecode = '';
|
|
|
|
var modetip = '';
|
|
|
|
var modecolor = '';
|
|
|
|
|
|
|
|
if ( value == 'basilisk' ) { modecode = 'B'; modetip = 'Basilisk'; modecolor = 'info'; }
|
|
|
|
if ( value == 'full' ) { modecode = 'F'; modetip = 'Full'; modecolor = 'success'; }
|
|
|
|
if ( value == 'virtual' ) { modecode = 'V'; modetip = 'Virtual'; modecolor = 'danger'; }
|
|
|
|
|
|
|
|
if ( AllcoinsDataOutput[value][index] == 'BTC' ) { coinlogo = 'bitcoin'; coinname = 'Bitcoin'; }
|
|
|
|
if ( AllcoinsDataOutput[value][index] == 'BTCD' ) { coinlogo = 'bitcoindark'; coinname = 'BitcoinDark'; }
|
|
|
|
if ( AllcoinsDataOutput[value][index] == 'LTC' ) { coinlogo = 'litecoin'; coinname = 'Litecoin'; }
|
|
|
|
if ( AllcoinsDataOutput[value][index] == 'VPN' ) { coinlogo = 'vpncoin'; coinname = 'VPNcoin'; }
|
|
|
|
if ( AllcoinsDataOutput[value][index] == 'SYS' ) { coinlogo = 'syscoin'; coinname = 'Syscoin'; }
|
|
|
|
if ( AllcoinsDataOutput[value][index] == 'ZEC' ) { coinlogo = 'zcash'; coinname = 'Zcash'; }
|
|
|
|
if ( AllcoinsDataOutput[value][index] == 'NMC' ) { coinlogo = 'namecoin'; coinname = 'Namecoin'; }
|
|
|
|
|
|
|
|
|
|
|
|
//console.log(AllcoinsDataOutput[value][index]);
|
|
|
|
walletDivContent += '<!-- Begin' + AllcoinsDataOutput[value][index] + 'wallet widget -->';
|
|
|
|
walletDivContent += '<div class="col-md-6 col-xs-12 masonry-item">';
|
|
|
|
walletDivContent += '<div class="widget widget-shadow">';
|
|
|
|
walletDivContent += '<div class="widget-header wallet-widget-header padding-15 clearfix">';
|
|
|
|
walletDivContent += '<div class="row no-space">';
|
|
|
|
walletDivContent += '<div class="col-xs-7">';
|
|
|
|
walletDivContent += '<a class="avatar avatar-lg pull-left margin-right-20 img-bordered" href="javascript:void(0)" data-currency="' + AllcoinsDataOutput[value][index] + '">';
|
|
|
|
walletDivContent += '<img src="assets/images/cryptologo/' + coinlogo + '.png" alt="">';
|
|
|
|
walletDivContent += '<span class="badge up badge-' + modecolor + '" id="basfull" data-currency="' + AllcoinsDataOutput[value][index] + '" data-toggle="tooltip" data-placement="top" data-original-title="' + modetip + '">' + modecode + '</span>';
|
|
|
|
walletDivContent += '</a>';
|
|
|
|
walletDivContent += '<div>';
|
|
|
|
walletDivContent += '<div class="font-size-20 hidden-xs" data-currency="' + AllcoinsDataOutput[value][index] + '" id="currency-name">' + coinname + '</div>';
|
|
|
|
walletDivContent += '<div class="form-material hidden-md hidden-xs">';
|
|
|
|
walletDivContent += '<select class="form-control font-size-12" data-currency="' + AllcoinsDataOutput[value][index] + '" id="currency-addr" style="width: 235px;">';
|
|
|
|
walletDivContent += '</select>';
|
|
|
|
walletDivContent += '</div>';
|
|
|
|
walletDivContent += '<div class="font-size-12 hidden-xs"></div>';
|
|
|
|
walletDivContent += '</div>';
|
|
|
|
walletDivContent += '</div>';
|
|
|
|
walletDivContent += '<div class="col-xs-5">';
|
|
|
|
walletDivContent += '<div class="row no-space text-center">';
|
|
|
|
walletDivContent += '<div class="col-md-4 col-xs-6">';
|
|
|
|
walletDivContent += '<div class="counter" data-toggle="tooltip" data-placement="top" data-original-title="Balance">';
|
|
|
|
walletDivContent += '<div class="counter-icon"><i class="icon">' + AllcoinsDataOutput[value][index] + '</i></div>';
|
|
|
|
walletDivContent += '<span class="counter-number" data-currency="' + AllcoinsDataOutput[value][index] + '" id="currency-balance">6.584</span>';
|
|
|
|
walletDivContent += '</div>';
|
|
|
|
walletDivContent += '</div>';
|
|
|
|
walletDivContent += '<div class="col-md-4 col-xs-6">';
|
|
|
|
walletDivContent += '<div class="counter" data-toggle="tooltip" data-placement="top" data-original-title="Unconfirmed">';
|
|
|
|
walletDivContent += '<div class="counter-icon"><i class="icon fa-spinner"></i></div>';
|
|
|
|
walletDivContent += '<span class="counter-number" data-currency="' + AllcoinsDataOutput[value][index] + '" id="currency-unconfirmed">3</span>';
|
|
|
|
walletDivContent += '</div>';
|
|
|
|
walletDivContent += '</div>';
|
|
|
|
walletDivContent += '<div class="col-md-4 hidden-xs hidden-sm">';
|
|
|
|
walletDivContent += '<div class="counter" data-toggle="tooltip" data-placement="top" data-original-title="No. of Transactions">';
|
|
|
|
walletDivContent += '<div class="counter-icon"><i class="icon fa-book"></i></div>';
|
|
|
|
walletDivContent += '<span class="counter-number" data-currency="' + AllcoinsDataOutput[value][index] + '" id="currency-nooftransactions">325</span>';
|
|
|
|
walletDivContent += '</div>';
|
|
|
|
walletDivContent += '</div>';
|
|
|
|
walletDivContent += '</div>';
|
|
|
|
walletDivContent += '</div>';
|
|
|
|
walletDivContent += '</div>';
|
|
|
|
walletDivContent += '</div>';
|
|
|
|
walletDivContent += '<div class="widget-content history-body hidden-sm hidden-xs">';
|
|
|
|
walletDivContent += '<div class="height-200 scrollbar-dynamic" id="tblscroll">';
|
|
|
|
walletDivContent += '<div data-role="container">';
|
|
|
|
walletDivContent += '<div data-role="content">';
|
|
|
|
walletDivContent += '<table class="table font-size-12" data-currency="' + AllcoinsDataOutput[value][index] + '" id="currency-tbl">';
|
|
|
|
walletDivContent += '<tbody>';
|
|
|
|
walletDivContent += '</tbody>';
|
|
|
|
walletDivContent += '</table>';
|
|
|
|
walletDivContent += '</div>';
|
|
|
|
walletDivContent += '</div>';
|
|
|
|
walletDivContent += '</div>';
|
|
|
|
walletDivContent += '</div>';
|
|
|
|
walletDivContent += '</div>';
|
|
|
|
walletDivContent += '</div>';
|
|
|
|
walletDivContent += '<!-- End' + AllcoinsDataOutput[value][index] + 'wallet widget -->';
|
|
|
|
|
|
|
|
$('#wallet-widgets').html(walletDivContent);
|
|
|
|
$('.scrollbar-dynamic').scrollbar(); //Make sure widget-body has scrollbar for transactions history
|
|
|
|
$('[data-toggle="tooltip"]').tooltip(); //Make sure tooltips are working for wallet widgets and anywhere else in wallet.
|
|
|
|
//console.log(walletDivContent);
|
|
|
|
|
|
|
|
//console.log('http://127.0.0.1:7778/api/bitcoinrpc/getaddressesbyaccount?coin=' + AllcoinsDataOutput[value][index] + '&account=*');
|
|
|
|
//List coin addresses as drop down menu
|
|
|
|
var getaddrlist = {"coin":AllcoinsDataOutput[value][index],"agent":"bitcoinrpc","method":"getaddressesbyaccount","account":"*"};
|
|
|
|
$.ajax({
|
|
|
|
type: 'POST',
|
|
|
|
data: JSON.stringify(getaddrlist),
|
|
|
|
url: 'http://127.0.0.1:7778',
|
|
|
|
//dataType: 'text',
|
|
|
|
success: function(data, textStatus, jqXHR) {
|
|
|
|
var addrlistData = JSON.parse(data);
|
|
|
|
//console.log('== Data OutPut ==');
|
|
|
|
//console.log(addrlistData);
|
|
|
|
$.each(addrlistData.result, function(coin_index){
|
|
|
|
//console.log(coin_index);
|
|
|
|
//console.log(addrlistData.result[index]);
|
|
|
|
//console.log(AllcoinsDataOutput[value][index]);
|
|
|
|
CoinAddrList = '<option value="' + addrlistData.result[coin_index] + '" data-select-options="' + AllcoinsDataOutput[value][index] + '">' + addrlistData.result[coin_index] + '</option>';
|
|
|
|
|
|
|
|
//console.log(CoinAddrList);
|
|
|
|
// Inject the whole content string into our existing HTML table
|
|
|
|
$('select[data-currency="' + AllcoinsDataOutput[value][index] + '"]').append(CoinAddrList);
|
|
|
|
|
|
|
|
});
|
|
|
|
//console.log(data);
|
|
|
|
//console.log(data[0]);*/
|
|
|
|
},
|
|
|
|
error: function(xhr, textStatus, error) {
|
|
|
|
console.log('failed getting Coin History.');
|
|
|
|
console.log(xhr.statusText);
|
|
|
|
console.log(textStatus);
|
|
|
|
console.log(error);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
//Get coin history and pupulate balance and other info to wallet widget
|
|
|
|
var historyvalues = {"timeout":20000,"agent":"basilisk","method":"history","vals":{"coin":"" + AllcoinsDataOutput[value][index] + ""}};
|
|
|
|
$.ajax({
|
|
|
|
type: 'POST',
|
|
|
|
data: JSON.stringify(historyvalues),
|
|
|
|
url: 'http://127.0.0.1:7778',
|
|
|
|
//dataType: 'text',
|
|
|
|
success: function(data, textStatus, jqXHR) {
|
|
|
|
var CoinHistoryData = JSON.parse(data);
|
|
|
|
//console.log('== Data OutPut ==');
|
|
|
|
console.log(CoinHistoryData);
|
|
|
|
$('span[data-currency="' + AllcoinsDataOutput[value][index] + '"][id="currency-balance"]').text(CoinHistoryData.balance);
|
|
|
|
|
|
|
|
},
|
|
|
|
error: function(xhr, textStatus, error) {
|
|
|
|
console.log('failed getting Coin History.');
|
|
|
|
console.log(xhr.statusText);
|
|
|
|
console.log(textStatus);
|
|
|
|
console.log(error);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
});
|
|
|
|
},
|
|
|
|
error: function(xhr, textStatus, error) {
|
|
|
|
console.log('failed starting BitcoinDark.');
|
|
|
|
console.log(xhr.statusText);
|
|
|
|
console.log(textStatus);
|
|
|
|
console.log(error);
|
|
|
|
//swal("Oops...", "Something went wrong!", "error");
|
|
|
|
if (xhr.readyState == '0' ) {
|
|
|
|
toastr.error("Unable to connect to Iguana", "Account Notification")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return {
|
|
|
|
//main function to initiate the module
|
|
|
|
init: function() {
|
|
|
|
|
|
|
|
handleWalletWidgets();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
}();
|
|
|
|
|
|
|
|
jQuery(document).ready(function() {
|
|
|
|
Dashboard.init();
|
|
|
|
});
|