diff --git a/.gitignore b/.gitignore index c4b01fa..34ca14a 100644 --- a/.gitignore +++ b/.gitignore @@ -27,4 +27,10 @@ node_modules settings.json .idea *~ + +*.ico +*.png + .DS_Store + +package-lock.json \ No newline at end of file diff --git a/app.js b/app.js index 15d78e2..fad2ba0 100644 --- a/app.js +++ b/app.js @@ -155,12 +155,6 @@ app.use('/ext/getdistribution', function(req,res){ }); }); -app.use('/ext/getlasttxs/:min', function(req,res){ - db.get_last_txs(settings.index.last_txs, (req.params.min * 100000000), function(txs){ - res.send({data: txs}); - }); -}); - app.use('/ext/getcurrentprice', function(req,res){ db.get_stats(settings.coin, function (stats) { eval('var p_ext = { "last_price_'+settings.markets.exchange.toLowerCase()+'": stats.last_price, "last_price_usd": stats.last_usd_price, }'); @@ -181,14 +175,19 @@ app.use('/ext/getbasicstats', function(req,res){ }); }); -app.use('/ext/getlasttxsajax', function(req,res){ +app.use('/ext/getlasttxsajax/:min', function(req,res){ if(typeof req.query.length === 'undefined' || isNaN(req.query.length) || req.query.length > settings.index.last_txs){ req.query.length = settings.index.last_txs; } if(typeof req.query.start === 'undefined' || isNaN(req.query.start) || req.query.start < 0){ - req.query.start = 0; + req.query.start = 0; } - db.get_last_txs_ajax(req.query.start, req.query.length,function(txs, count){ + if(typeof req.params.min === 'undefined' || isNaN(req.params.min ) || req.params.min < 0){ + req.params.min = 0; + } else { + req.params.min = (req.params.min * 100000000); + } + db.get_last_txs_ajax(req.query.start, req.query.length, req.params.min,function(txs, count){ var data = []; for(i=0; i 0"}).sort({_id: 'desc'}).limit(count).exec(function(err, txs){ - if (err) { - return cb(err); - } else { - return cb(txs); - } - }); - }, - - get_last_txs_ajax: function(start, length, cb) { - Tx.countDocuments({'total': {$gt: 1}}, function(err, count){ - Tx.find({'total': {$gt: 1}}).sort({blockindex: 'desc'}).skip(Number(start)).limit(Number(length)).exec(function(err, txs){ + get_last_txs_ajax: function(start, length, min, cb) { + Tx.countDocuments({'total': {$gt: min}}, function(err, count){ + Tx.find({'total': {$gt: min}}).sort({blockindex: 'desc'}).skip(Number(start)).limit(Number(length)).exec(function(err, txs){ if (err) { return cb(err); } else { diff --git a/views/index.pug b/views/index.pug index e7a0a41..5f222fa 100644 --- a/views/index.pug +++ b/views/index.pug @@ -52,7 +52,7 @@ block content serverSide: true, iDisplayLength: displayLengthMax, lengthMenu: lengthMenuOpts, - ajax: '/ext/getlasttxsajax', + ajax: '/ext/getlasttxsajax/1', rowCallback: function(row, data, index) { var blockindex = data[0]; //variables for better readability var blockhash = data[1]; //variables for better readability diff --git a/views/info.pug b/views/info.pug index 3f73c60..a50ab82 100644 --- a/views/info.pug +++ b/views/info.pug @@ -153,12 +153,12 @@ block content a(href='/ext/getbalance/' + hashes.address) #{address}/ext/getbalance/#{hashes.address} li p - div(style='font-weight:bold;') getlasttxs (/ext/getlasttxs/count/min) + div(style='font-weight:bold;') getlasttxsajax (/ext/getlasttxsajax/min) div - em Returns last [count] transactions greater than [min] + em Returns last transactions greater than [min] div em Note: returned values are in satoshis - a(href='/ext/getlasttxs/10/100') #{address}/ext/getlasttxs/10/100 + a(href='/ext/getlasttxsajax/100') #{address}/ext/getlasttxsajax/100 li p div(style='font-weight:bold;') getcurrentprice diff --git a/views/movement.pug b/views/movement.pug index bfcb31c..fa07bab 100644 --- a/views/movement.pug +++ b/views/movement.pug @@ -2,6 +2,19 @@ extends layout block content script. + var setting_maxTxCount = parseInt("#{settings.index.last_txs}"); + var lengthMenuOpts = []; + var lengthMenuOptsAdd = [ 10, 25, 50, 75, 100, 250, 500, 1000 ]; + for (i=0; i < lengthMenuOptsAdd.length; i++) { + if (setting_maxTxCount >= lengthMenuOptsAdd[i]) { + lengthMenuOpts.push(lengthMenuOptsAdd[i]); + } + } + if (setting_maxTxCount < 10) { + var displayLengthMax = setting_maxTxCount; + } else { + var displayLengthMax = 10; + } var rplot; var colors = [ "#0071bc" ]; $(document).ready(function(){ @@ -34,32 +47,34 @@ block content autoWidth: true, searching: false, ordering: false, - responsive: true, + //responsive: true, lengthChange: true, processing: true, - ajax: { - url: '/ext/getlasttxs/#{min_amount}', - dataSrc: function ( json ) { - for ( var i=0;i" + json.data[i]['txid'] + "" - var amount = json.data[i]['total'] / 100000000; - if (amount > '#{flagb}') { - json .data[i]['total'] = ""; - } else if (amount > '#{flaga}') { - json .data[i]['total'] = ""; - } else { - json .data[i]['total'] = ""; - } - } - return json.data; + serverSide: true, + iDisplayLength: displayLengthMax, + lengthMenu: lengthMenuOpts, + //processing: true, + ajax: '/ext/getlasttxsajax/#{min_amount}', + rowCallback: function(row, data, index) { + var blockindex = data[0]; //variables for better readability + var blockhash = data[1]; //variables for better readability + var txhash = data[2]; //variables for better readability + var outputs = data[3]; //variables for better readability + var amount = (data[4] / 100000000); //variables for better readability + var amountParts = amount.toLocaleString('en',{'minimumFractionDigits':2,'maximumFractionDigits':8,'useGrouping':true}).split('.'); + var amountStr = amountParts[0] + '.' + amountParts[1] + ''; + var timestamp = data[5]; //variables for better readability + if (amount > '#{flagb}') { + var total = ""; + } else if (amount > '#{flaga}') { + var total = ""; + } else { + var total = ""; } + $("td:eq(0)", row).html(timestamp); + $("td:eq(1)", row).html('' + txhash + ''); + $("td:eq(2)", row).html(total); }, - columns: [ - { data: 'timestamp', width: '25%' }, - { data: 'txid', width: '60%' }, - { data: 'total', width: '15%' }, - ] }); setInterval( function () { rtable.api().ajax.reload(null, false);