Browse Source

Transaction history of public address shows on dashboard now

master
Satinder Grewal 8 years ago
parent
commit
47fe74b443
  1. 6
      assets/global/js/components/nprogress.min.js
  2. 476
      assets/global/vendor/nprogress/nprogress.js
  3. 1
      assets/global/vendor/nprogress/nprogress.min.css
  4. 103
      assets/scripts/kmd_wallet_dashboard.js
  5. 176
      index.html

6
assets/global/js/components/nprogress.min.js

@ -0,0 +1,6 @@
/*!
* remark (http://getbootstrapadmin.com/remark)
* Copyright 2016 amazingsurge
* Licensed under the Themeforest Standard Licenses
*/
$.components.register("nprogress",{mode:"init",defaults:{minimum:.15,trickleRate:.07,trickleSpeed:360,showSpinner:!1,template:'<div class="bar" role="bar"></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'},init:function(){if("undefined"!=typeof NProgress){var defaults=$.components.getDefaults("nprogress");NProgress.configure(defaults)}}});

476
assets/global/vendor/nprogress/nprogress.js

@ -0,0 +1,476 @@
/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress
* @license MIT */
;(function(root, factory) {
if (typeof define === 'function' && define.amd) {
define(factory);
} else if (typeof exports === 'object') {
module.exports = factory();
} else {
root.NProgress = factory();
}
})(this, function() {
var NProgress = {};
NProgress.version = '0.2.0';
var Settings = NProgress.settings = {
minimum: 0.08,
easing: 'ease',
positionUsing: '',
speed: 200,
trickle: true,
trickleRate: 0.02,
trickleSpeed: 800,
showSpinner: true,
barSelector: '[role="bar"]',
spinnerSelector: '[role="spinner"]',
parent: 'body',
template: '<div class="bar" role="bar"><div class="peg"></div></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'
};
/**
* Updates configuration.
*
* NProgress.configure({
* minimum: 0.1
* });
*/
NProgress.configure = function(options) {
var key, value;
for (key in options) {
value = options[key];
if (value !== undefined && options.hasOwnProperty(key)) Settings[key] = value;
}
return this;
};
/**
* Last number.
*/
NProgress.status = null;
/**
* Sets the progress bar status, where `n` is a number from `0.0` to `1.0`.
*
* NProgress.set(0.4);
* NProgress.set(1.0);
*/
NProgress.set = function(n) {
var started = NProgress.isStarted();
n = clamp(n, Settings.minimum, 1);
NProgress.status = (n === 1 ? null : n);
var progress = NProgress.render(!started),
bar = progress.querySelector(Settings.barSelector),
speed = Settings.speed,
ease = Settings.easing;
progress.offsetWidth; /* Repaint */
queue(function(next) {
// Set positionUsing if it hasn't already been set
if (Settings.positionUsing === '') Settings.positionUsing = NProgress.getPositioningCSS();
// Add transition
css(bar, barPositionCSS(n, speed, ease));
if (n === 1) {
// Fade out
css(progress, {
transition: 'none',
opacity: 1
});
progress.offsetWidth; /* Repaint */
setTimeout(function() {
css(progress, {
transition: 'all ' + speed + 'ms linear',
opacity: 0
});
setTimeout(function() {
NProgress.remove();
next();
}, speed);
}, speed);
} else {
setTimeout(next, speed);
}
});
return this;
};
NProgress.isStarted = function() {
return typeof NProgress.status === 'number';
};
/**
* Shows the progress bar.
* This is the same as setting the status to 0%, except that it doesn't go backwards.
*
* NProgress.start();
*
*/
NProgress.start = function() {
if (!NProgress.status) NProgress.set(0);
var work = function() {
setTimeout(function() {
if (!NProgress.status) return;
NProgress.trickle();
work();
}, Settings.trickleSpeed);
};
if (Settings.trickle) work();
return this;
};
/**
* Hides the progress bar.
* This is the *sort of* the same as setting the status to 100%, with the
* difference being `done()` makes some placebo effect of some realistic motion.
*
* NProgress.done();
*
* If `true` is passed, it will show the progress bar even if its hidden.
*
* NProgress.done(true);
*/
NProgress.done = function(force) {
if (!force && !NProgress.status) return this;
return NProgress.inc(0.3 + 0.5 * Math.random()).set(1);
};
/**
* Increments by a random amount.
*/
NProgress.inc = function(amount) {
var n = NProgress.status;
if (!n) {
return NProgress.start();
} else {
if (typeof amount !== 'number') {
amount = (1 - n) * clamp(Math.random() * n, 0.1, 0.95);
}
n = clamp(n + amount, 0, 0.994);
return NProgress.set(n);
}
};
NProgress.trickle = function() {
return NProgress.inc(Math.random() * Settings.trickleRate);
};
/**
* Waits for all supplied jQuery promises and
* increases the progress as the promises resolve.
*
* @param $promise jQUery Promise
*/
(function() {
var initial = 0, current = 0;
NProgress.promise = function($promise) {
if (!$promise || $promise.state() === "resolved") {
return this;
}
if (current === 0) {
NProgress.start();
}
initial++;
current++;
$promise.always(function() {
current--;
if (current === 0) {
initial = 0;
NProgress.done();
} else {
NProgress.set((initial - current) / initial);
}
});
return this;
};
})();
/**
* (Internal) renders the progress bar markup based on the `template`
* setting.
*/
NProgress.render = function(fromStart) {
if (NProgress.isRendered()) return document.getElementById('nprogress');
addClass(document.documentElement, 'nprogress-busy');
var progress = document.createElement('div');
progress.id = 'nprogress';
progress.innerHTML = Settings.template;
var bar = progress.querySelector(Settings.barSelector),
perc = fromStart ? '-100' : toBarPerc(NProgress.status || 0),
parent = document.querySelector(Settings.parent),
spinner;
css(bar, {
transition: 'all 0 linear',
transform: 'translate3d(' + perc + '%,0,0)'
});
if (!Settings.showSpinner) {
spinner = progress.querySelector(Settings.spinnerSelector);
spinner && removeElement(spinner);
}
if (parent != document.body) {
addClass(parent, 'nprogress-custom-parent');
}
parent.appendChild(progress);
return progress;
};
/**
* Removes the element. Opposite of render().
*/
NProgress.remove = function() {
removeClass(document.documentElement, 'nprogress-busy');
removeClass(document.querySelector(Settings.parent), 'nprogress-custom-parent');
var progress = document.getElementById('nprogress');
progress && removeElement(progress);
};
/**
* Checks if the progress bar is rendered.
*/
NProgress.isRendered = function() {
return !!document.getElementById('nprogress');
};
/**
* Determine which positioning CSS rule to use.
*/
NProgress.getPositioningCSS = function() {
// Sniff on document.body.style
var bodyStyle = document.body.style;
// Sniff prefixes
var vendorPrefix = ('WebkitTransform' in bodyStyle) ? 'Webkit' :
('MozTransform' in bodyStyle) ? 'Moz' :
('msTransform' in bodyStyle) ? 'ms' :
('OTransform' in bodyStyle) ? 'O' : '';
if (vendorPrefix + 'Perspective' in bodyStyle) {
// Modern browsers with 3D support, e.g. Webkit, IE10
return 'translate3d';
} else if (vendorPrefix + 'Transform' in bodyStyle) {
// Browsers without 3D support, e.g. IE9
return 'translate';
} else {
// Browsers without translate() support, e.g. IE7-8
return 'margin';
}
};
/**
* Helpers
*/
function clamp(n, min, max) {
if (n < min) return min;
if (n > max) return max;
return n;
}
/**
* (Internal) converts a percentage (`0..1`) to a bar translateX
* percentage (`-100%..0%`).
*/
function toBarPerc(n) {
return (-1 + n) * 100;
}
/**
* (Internal) returns the correct CSS for changing the bar's
* position given an n percentage, and speed and ease from Settings
*/
function barPositionCSS(n, speed, ease) {
var barCSS;
if (Settings.positionUsing === 'translate3d') {
barCSS = { transform: 'translate3d('+toBarPerc(n)+'%,0,0)' };
} else if (Settings.positionUsing === 'translate') {
barCSS = { transform: 'translate('+toBarPerc(n)+'%,0)' };
} else {
barCSS = { 'margin-left': toBarPerc(n)+'%' };
}
barCSS.transition = 'all '+speed+'ms '+ease;
return barCSS;
}
/**
* (Internal) Queues a function to be executed.
*/
var queue = (function() {
var pending = [];
function next() {
var fn = pending.shift();
if (fn) {
fn(next);
}
}
return function(fn) {
pending.push(fn);
if (pending.length == 1) next();
};
})();
/**
* (Internal) Applies css properties to an element, similar to the jQuery
* css method.
*
* While this helper does assist with vendor prefixed property names, it
* does not perform any manipulation of values prior to setting styles.
*/
var css = (function() {
var cssPrefixes = [ 'Webkit', 'O', 'Moz', 'ms' ],
cssProps = {};
function camelCase(string) {
return string.replace(/^-ms-/, 'ms-').replace(/-([\da-z])/gi, function(match, letter) {
return letter.toUpperCase();
});
}
function getVendorProp(name) {
var style = document.body.style;
if (name in style) return name;
var i = cssPrefixes.length,
capName = name.charAt(0).toUpperCase() + name.slice(1),
vendorName;
while (i--) {
vendorName = cssPrefixes[i] + capName;
if (vendorName in style) return vendorName;
}
return name;
}
function getStyleProp(name) {
name = camelCase(name);
return cssProps[name] || (cssProps[name] = getVendorProp(name));
}
function applyCss(element, prop, value) {
prop = getStyleProp(prop);
element.style[prop] = value;
}
return function(element, properties) {
var args = arguments,
prop,
value;
if (args.length == 2) {
for (prop in properties) {
value = properties[prop];
if (value !== undefined && properties.hasOwnProperty(prop)) applyCss(element, prop, value);
}
} else {
applyCss(element, args[1], args[2]);
}
}
})();
/**
* (Internal) Determines if an element or space separated list of class names contains a class name.
*/
function hasClass(element, name) {
var list = typeof element == 'string' ? element : classList(element);
return list.indexOf(' ' + name + ' ') >= 0;
}
/**
* (Internal) Adds a class to an element.
*/
function addClass(element, name) {
var oldList = classList(element),
newList = oldList + name;
if (hasClass(oldList, name)) return;
// Trim the opening space.
element.className = newList.substring(1);
}
/**
* (Internal) Removes a class from an element.
*/
function removeClass(element, name) {
var oldList = classList(element),
newList;
if (!hasClass(element, name)) return;
// Replace the class name.
newList = oldList.replace(' ' + name + ' ', ' ');
// Trim the opening and closing spaces.
element.className = newList.substring(1, newList.length - 1);
}
/**
* (Internal) Gets a space separated list of the class names on the element.
* The list is wrapped with a single space on each end to facilitate finding
* matches within the list.
*/
function classList(element) {
return (' ' + (element.className || '') + ' ').replace(/\s+/gi, ' ');
}
/**
* (Internal) Removes an element from the DOM.
*/
function removeElement(element) {
element && element.parentNode && element.parentNode.removeChild(element);
}
return NProgress;
});

1
assets/global/vendor/nprogress/nprogress.min.css

@ -0,0 +1 @@
#nprogress{pointer-events:none}#nprogress .bar{position:fixed;top:0;left:0;z-index:9999;width:100%;height:5px;background:#3f51b5}#nprogress .spinner{position:fixed;top:15px;right:15px;z-index:9999;display:block}#nprogress .spinner-icon{width:18px;height:18px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border:solid 2px transparent;border-top-color:#3f51b5;border-left-color:#3f51b5;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;-o-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{position:relative;overflow:hidden}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0)}100%{-webkit-transform:rotate(360deg)}}@-o-keyframes nprogress-spinner{0%{-o-transform:rotate(0);transform:rotate(0)}100%{-o-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes nprogress-spinner{0%{-webkit-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}#nprogress .bar.nprogress-bar-header{top:66px}.site-navbar-small #nprogress .bar.nprogress-bar-header{top:60px}#nprogress .bar.nprogress-bar-bottom{top:auto;bottom:0}#nprogress .nprogress-bar-primary{background-color:#3f51b5}#nprogress .nprogress-bar-success{background-color:#4caf50}#nprogress .nprogress-bar-info{background-color:#00bcd4}#nprogress .nprogress-bar-warning{background-color:#ff9800}#nprogress .nprogress-bar-danger{background-color:#f44336}#nprogress .nprogress-bar-dark{background-color:#616161}#nprogress .nprogress-bar-light{background-color:#bdbdbd}

103
assets/scripts/kmd_wallet_dashboard.js

@ -7,9 +7,9 @@ var KMDWalletDashboard = function() {
$('#kmd_wallet_dashoard_section').show();
$('#kmd_wallet_dashboardinfo').show();
$('#kmd_wallet_send').hide();
$('#kmd_wallet_settings').hide();
getTotalKMDBalance();
getKMDWalletInfo();
getKMDInfo();
KMDfillTxHistoryT();
});
}
@ -17,30 +17,31 @@ var KMDWalletDashboard = function() {
var handle_KMD_Send = function() {
$('#btn_kmd_wallet_send').click(function() {
//console.log('kmd wallet send button clicked...');
var tmpoptions = '';
$('#kmd_wallet_dashboardinfo').hide();
$('#kmd_wallet_send').show();
$('#kmd_wallet_settings').hide();
var kmd_addr_list_with_balance = KMDlistunspentT();
//console.log(kmd_addr_list_with_balance);
tmpoptions += '<option> - Select Transparent or Private KMD Address - </option>';
$.each(kmd_addr_list_with_balance, function(index) {
tmpoptions += '<option value="' + kmd_addr_list_with_balance[index].addr + '" data-total="' + kmd_addr_list_with_balance[index].total.toFixed(8) + '">' + kmd_addr_list_with_balance[index].addr + ' &emsp;[ ' + kmd_addr_list_with_balance[index].total.toFixed(8) + ' KMD ]</option>';
tmpoptions += '<option value="' + kmd_addr_list_with_balance[index].addr + '" data-total="' + kmd_addr_list_with_balance[index].total.toFixed(8) + '">[ ' + kmd_addr_list_with_balance[index].total.toFixed(8) + ' KMD ] &emsp;' + kmd_addr_list_with_balance[index].addr + '</option>';
$('#kmd_wallet_send_from').html(tmpoptions);
});
var kmd_z_addr_list_with_balance = KMDListaddrZ();
//console.log(kmd_z_addr_list_with_balance);
$.each(kmd_z_addr_list_with_balance, function(index) {
tmpoptions += '<option value="' + kmd_z_addr_list_with_balance[index].addr + '" data-total="' + kmd_z_addr_list_with_balance[index].total.toFixed(8) + '">' + kmd_z_addr_list_with_balance[index].addr + ' &emsp;[ ' + kmd_z_addr_list_with_balance[index].total.toFixed(8) + ' KMD ]</option>';
tmpoptions += '<option value="' + kmd_z_addr_list_with_balance[index].addr + '" data-total="' + kmd_z_addr_list_with_balance[index].total.toFixed(8) + '">[ ' + kmd_z_addr_list_with_balance[index].total.toFixed(8) + ' KMD ] &emsp;' + kmd_z_addr_list_with_balance[index].addr + '</option>';
$('#kmd_wallet_send_from').html(tmpoptions);
});
$('.showkmdwalletaddrs').selectpicker({ style: 'btn-info' });
KMDfillTxHistoryT();
});
$('.showkmdwalletaddrs').on('change', function(){
@ -82,11 +83,35 @@ var KMDWalletDashboard = function() {
});*/
}
var KMDGetTXIDdetails = function() {
$('#kmd-txid-details-btn').click(function() {
//console.log('kmd-txid-details-btn button clicked!..');
console.log($(this).data('txid-type'));
console.log($(this).data('txid'));
});
};
var KMDWalletSettings = function() {
$('#btn_kmd_wallet_settings').click(function() {
console.log('wallet settings button clicked...');
$('#kmd_wallet_dashboardinfo').hide();
$('#kmd_wallet_dashoard_section').hide();
$('#kmd_wallet_send').hide();
$('#kmd_wallet_settings').show();
getKMDWalletInfo();
getKMDInfo();
});
};
return {
//main function to initiate the module
init: function() {
handle_KMD_Dashboard();
KMDfillTxHistoryT();
KMDGetTXIDdetails();
handle_KMD_Send();
KMDWalletSettings();
RunInitFunctions();
}
};
@ -100,8 +125,7 @@ jQuery(document).ready(function() {
function RunInitFunctions() {
getTotalKMDBalance();
getKMDWalletInfo();
getKMDInfo();
KMDfillTxHistoryT();
}
function getTotalKMDBalance() {
@ -256,6 +280,11 @@ function getKMDInfo() {
function KMDlistunspentT() {
NProgress.done(true);
NProgress.configure({
template: '<div class="bar nprogress-bar-header nprogress-bar-info" role="bar"></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'
});
NProgress.start();
var result = [];
var ajax_data = {"agent":"komodo","method":"passthru","function":"listunspent","hex":""}
@ -301,6 +330,7 @@ function KMDlistunspentT() {
}
});
//console.log(result);
NProgress.done();
return result;
}
@ -380,6 +410,11 @@ function KMDListaddrZ() {
function KMDGetPublicTransactions() {
NProgress.done(true);
NProgress.configure({
template: '<div class="bar nprogress-bar-header nprogress-bar-info" role="bar"></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'
});
NProgress.start();
var result = [];
var ajax_data = {"agent":"komodo","method":"passthru","function":"listtransactions","hex":""}
@ -396,14 +431,29 @@ function KMDGetPublicTransactions() {
//console.log(AjaxOutputData);
$.each(AjaxOutputData, function(index, value) {
console.log(value);
//console.log(value);
var tmp_category = '';
var tmp_addr = AjaxOutputData[index].address;
if(!("address" in AjaxOutputData[index])) {
tmp_addr = '(Z Address not listed by wallet!)'
tmp_addr = '<i class="icon fa-bullseye"></i> <span class="label label-dark">Z Address not listed by wallet!</span>'
}
var tmp_secondsToString = secondsToString(AjaxOutputData[index].time)
if ( AjaxOutputData[index].category == 'send' ) {
tmp_category = '<i class="icon fa-arrow-circle-left"></i> OUT';
}
if ( AjaxOutputData[index].category == 'receive' ) {
tmp_category = '<i class="icon fa-arrow-circle-right"></i> IN';
}
console.log(tmp_addr);
if ( AjaxOutputData[index].category == 'generate' ) {
tmp_category = '<i class="icon fa-gear"></i> Mined';
}if ( AjaxOutputData[index].category == 'immature' ) {
tmp_category = '<i class="icon fa-clock-o"></i> Immature';
}
//console.log(tmp_addr);
//tmplisttransactions = {"type":"public","category": AjaxOutputData[index].category,"confirmations": AjaxOutputData[index].confirmations,"amount": AjaxOutputData[index].amount,"time": AjaxOutputData[index].time,"address": AjaxOutputData[index].address,"txid": AjaxOutputData[index].txid}
tmplisttransactions = ["public",AjaxOutputData[index].category,AjaxOutputData[index].confirmations,AjaxOutputData[index].amount,AjaxOutputData[index].time,tmp_addr,AjaxOutputData[index].txid]
tmplisttransactions = ['<span class="label label-default"><i class="icon fa-eye"></i> public</span>',tmp_category,AjaxOutputData[index].confirmations,AjaxOutputData[index].amount,tmp_secondsToString,tmp_addr,'<button type="button" class="btn btn-xs white btn-info waves-effect waves-light" data-toggle="modal" data-dismiss="modal" id="kmd-txid-details-btn" data-txid-type="public" data-txid="'+AjaxOutputData[index].txid+'"><i class="icon fa-search"></i></button>']
//console.log(tmplisttransactions);
result.push(tmplisttransactions);
});
@ -419,16 +469,33 @@ function KMDGetPublicTransactions() {
}
});
//console.log(result);
NProgress.done();
return result;
}
function KMDfillTxHistoryT() {
NProgress.done(true);
NProgress.configure({
template: '<div class="bar nprogress-bar-header nprogress-bar-info" role="bar"></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'
});
NProgress.start();
var txhistorydata = KMDGetPublicTransactions();
console.log(txhistorydata);
$('#kmd-tx-history-tbl').DataTable( { data: txhistorydata,
"order": [[ 4, "desc" ]],
select: true,
paging: true,
searching: true
} );
//console.log(txhistorydata);
if ( $.fn.dataTable.isDataTable( '#kmd-tx-history-tbl' ) ) {
$('#kmd-tx-history-tbl').DataTable( { data: txhistorydata,
"order": [[ 4, "desc" ]],
select: true,
retrieve: true
});
}
else {
$('#kmd-tx-history-tbl').DataTable( { data: txhistorydata,
"order": [[ 4, "desc" ]],
select: true,
retrieve: true,
paging: true,
searching: true
});
}
NProgress.done();
}

176
index.html

@ -32,6 +32,7 @@
<link rel="stylesheet" href="assets/global/vendor/bootstrap-select/bootstrap-select.min.css">
<link rel="stylesheet" href="assets/global/vendor/sweetalert2/sweetalert2.min.css">
<link rel="stylesheet" href="assets/global/vendor/waves/waves.min.css">
<link rel="stylesheet" href="assets/global/vendor/nprogress/nprogress.min.css">
<link rel="stylesheet" href="assets/global/vendor/datatables-bootstrap/dataTables.bootstrap.min.css">
<link rel="stylesheet" href="assets/global/vendor/datatables-fixedheader/dataTables.fixedHeader.min.css">
<link rel="stylesheet" href="assets/global/vendor/datatables-responsive/dataTables.responsive.min.css">
@ -381,7 +382,7 @@
<li role="presentation"><a href="javascript:void(0)" role="menuitem" id="btn_kmd_wallet_transactions">Transactions</a></li>
<li role="presentation"><a href="javascript:void(0)" role="menuitem" id="btn_kmd_wallet_pax">PAX</a></li>
<li class="divider" role="presentation"></li>
<li role="presentation"><a href="javascript:void(0)" role="menuitem">Settings</a></li>
<li role="presentation"><a href="javascript:void(0)" role="menuitem" id="btn_kmd_wallet_settings">Settings</a></li>
</ul>
</div>
<!-- End KMD Wallet Header button -->
@ -676,55 +677,47 @@
<div class="panel nav-tabs-horizontal">
<!-- KMD Wallet Dashboard -->
<div id="kmd_wallet_dashoard_section">
<div class="col-xlg-6 col-md-4">
<!-- Panel Wallet Info -->
<div class="panel" id="projects">
<div class="panel-heading">
<h3 class="panel-title">Wallet Info</h3>
</div>
<div class="table-responsive">
<table class="table table-striped">
<tbody>
<tr><td>Wallet Version</td><td><span id="kmd_walletversion"></span></td></tr>
<tr><td>Balance</td><td><span id="kmd_balance"></span></td></tr>
<tr><td>Unconfirmed Balance</td><td><span id="kmd_unconfirmed_balance"></span></td></tr>
<tr><td>Immature Balance</td><td><span id="kmd_immature_balance"></span></td></tr>
<tr><td>Total Transactions Count</td><td><span id="KMDTotalTransactionsCount"></span></td></tr>
</tbody>
<div class="col-xlg-12 col-lg-12 col-sm-12 col-xs-12">
<!-- Panel FixedHeader -->
<div class="panel">
<header class="panel-heading">
<h3 class="panel-title">
Transactions History
</h3>
</header>
<div class="panel-body">
<!--<p>Transaction History info goes here...</p>-->
<table class="table table-hover dataTable table-striped" id="kmd-tx-history-tbl">
<thead>
<tr>
<th>Type</th>
<th>Direction</th>
<th>Confirmations</th>
<th>Amount</th>
<th>Time</th>
<th>Dest. Address</th>
<th>Tx Detail</th>
</tr>
</thead>
<tfoot>
<tr>
<th>Type</th>
<th>Direction</th>
<th>Confirmations</th>
<th>Amount</th>
<th>Time</th>
<th>Dest. Address</th>
<th>Tx Detail</th>
</tr>
</tfoot>
</table>
</div>
</div>
<!-- End Panel Wallet Info -->
</div>
<!-- End Panel FixedHeader -->
</div>
<div class="col-xlg-6 col-md-8">
<!-- Panel getinfo -->
<div class="panel" id="projects">
<div class="panel-heading">
<h3 class="panel-title">Komodo Info</h3>
</div>
<div class="table-responsive">
<table class="table table-striped">
<tbody>
<tr><td>Version</td><td><span id="kmd_version"></span></td></tr>
<tr><td>Protocol Version</td><td><span id="kmd_protocolversion"></span></td></tr>
<tr><td>Notarized</td><td><span id="kmd_notarized"></span></td></tr>
<tr><td>Notarized Hash</td><td><span id="kmd_notarizedhash"></span></td></tr>
<tr><td>Notarized BTC</td><td><span id="kmd_notarizedbtc"></span></td></tr>
<tr><td>Blocks</td><td><span id="kmd_blocks"></span></td></tr>
<tr><td>Connections</td><td><span id="kmd_connections"></span></td></tr>
<tr><td>Difficulty</td><td><span id="kmd_difficulty"></span></td></tr>
<tr><td>Testnet</td><td><span id="kmd_testnet"></span></td></tr>
<tr><td>Pay Transaction Fee</td><td><span id="kmd_paytxfee"></span></td></tr>
<tr><td>Relay Fee</td><td><span id="kmd_relayfee"></span></td></tr>
<tr><td>Errors</td><td><span id="kmd_errors"></span></td></tr>
</tbody>
</table>
</div>
</div>
<!-- End Panel getinfo -->
</div>
</div>
<!-- End KMD Wallet Dashboard -->
@ -776,47 +769,62 @@
</div>
<!-- End Panel getinfo -->
<!-- Panel FixedHeader -->
<div class="panel">
<header class="panel-heading">
<h3 class="panel-title">
Transactions History
</h3>
</header>
<div class="panel-body">
<!--<p>Transaction History info goes here...</p>-->
<table class="table table-hover dataTable table-striped" id="kmd-tx-history-tbl">
<thead>
<tr>
<th>Type</th>
<th>Category</th>
<th>Confirmations</th>
<th>Amount</th>
<th>Time</th>
<th>Address</th>
<th>Tx Detail</th>
</tr>
</thead>
<tfoot>
<tr>
<th>Type</th>
<th>Category</th>
<th>Confirmations</th>
<th>Amount</th>
<th>Time</th>
<th>Address</th>
<th>Tx Detail</th>
</tr>
</tfoot>
</table>
</div>
</div>
<!-- End Panel FixedHeader -->
</div>
</div>
<div id="kmd_wallet_settings" style="display: none;">
<div class="col-xlg-6 col-md-4">
<!-- Panel Wallet Info -->
<div class="panel" id="projects">
<div class="panel-heading">
<h3 class="panel-title">Wallet Info</h3>
</div>
<div class="table-responsive">
<table class="table table-striped">
<tbody>
<tr><td>Wallet Version</td><td><span id="kmd_walletversion"></span></td></tr>
<tr><td>Balance</td><td><span id="kmd_balance"></span></td></tr>
<tr><td>Unconfirmed Balance</td><td><span id="kmd_unconfirmed_balance"></span></td></tr>
<tr><td>Immature Balance</td><td><span id="kmd_immature_balance"></span></td></tr>
<tr><td>Total Transactions Count</td><td><span id="KMDTotalTransactionsCount"></span></td></tr>
</tbody>
</table>
</div>
</div>
<!-- End Panel Wallet Info -->
</div>
<div class="col-xlg-6 col-md-8">
<!-- Panel getinfo -->
<div class="panel" id="projects">
<div class="panel-heading">
<h3 class="panel-title">Komodo Info</h3>
</div>
<div class="table-responsive">
<table class="table table-striped">
<tbody>
<tr><td>Version</td><td><span id="kmd_version"></span></td></tr>
<tr><td>Protocol Version</td><td><span id="kmd_protocolversion"></span></td></tr>
<tr><td>Notarized</td><td><span id="kmd_notarized"></span></td></tr>
<tr><td>Notarized Hash</td><td><span id="kmd_notarizedhash"></span></td></tr>
<tr><td>Notarized BTC</td><td><span id="kmd_notarizedbtc"></span></td></tr>
<tr><td>Blocks</td><td><span id="kmd_blocks"></span></td></tr>
<tr><td>Connections</td><td><span id="kmd_connections"></span></td></tr>
<tr><td>Difficulty</td><td><span id="kmd_difficulty"></span></td></tr>
<tr><td>Testnet</td><td><span id="kmd_testnet"></span></td></tr>
<tr><td>Pay Transaction Fee</td><td><span id="kmd_paytxfee"></span></td></tr>
<tr><td>Relay Fee</td><td><span id="kmd_relayfee"></span></td></tr>
<tr><td>Errors</td><td><span id="kmd_errors"></span></td></tr>
</tbody>
</table>
</div>
</div>
<!-- End Panel getinfo -->
</div>
</div>
</div>
@ -1084,6 +1092,7 @@
<script src="assets/global/vendor/clipboard/clipboard.min.js"></script>
<script src="assets/global/vendor/asprogress/jquery-asProgress.min.js"></script>
<script src="assets/global/vendor/jquery-labelauty/jquery-labelauty.js"></script>
<script src="assets/global/vendor/nprogress/nprogress.js"></script>
<script src="assets/global/vendor/datatables/jquery.dataTables.min.js"></script>
<script src="assets/global/vendor/datatables-fixedheader/dataTables.fixedHeader.js"></script>
<script src="assets/global/vendor/datatables-bootstrap/dataTables.bootstrap.min.js"></script>
@ -1103,6 +1112,7 @@
<script src="assets/global/js/configs/config-colors.js"></script>
<script src="assets/js/configs/config-tour.js"></script>
<script src="assets/global/js/components/asscrollable.js"></script>
<script src="assets/global/js/components/nprogress.min.js"></script>
<script src="assets/global/js/components/animsition.js"></script>
<script src="assets/global/js/components/slidepanel.js"></script>
<script src="assets/global/js/components/bootbox.js"></script>

Loading…
Cancel
Save