Filter unnecessary data from ajax-enabled datatables
This commit is contained in:
@@ -205,8 +205,8 @@ app.use('/ext/getbasicstats', function(req,res) {
|
||||
});
|
||||
|
||||
app.use('/ext/getlasttxs/:min', function(req, res) {
|
||||
db.get_last_txs(req, function(data, draw, count) {
|
||||
res.json({"data":data, "draw": draw, "recordsTotal": count, "recordsFiltered": count});
|
||||
db.get_last_txs(req, function(data, count) {
|
||||
res.json({"data":data, "recordsTotal": count, "recordsFiltered": count});
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
+1
-1
@@ -417,7 +417,7 @@ module.exports = {
|
||||
row.push(new Date((txs[i].timestamp) * 1000).toUTCString());
|
||||
data.push(row);
|
||||
}
|
||||
return cb(data, req.query.draw, count);
|
||||
return cb(data, count);
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
@@ -27,7 +27,11 @@ script.
|
||||
iDisplayLength: displayLengthMax,
|
||||
lengthMenu: lengthMenuOpts,
|
||||
ajax: {
|
||||
"url": '/ext/getaddresstxsajax/'+hashAddress
|
||||
url: '/ext/getaddresstxsajax/' + hashAddress,
|
||||
beforeSend: function(jqXHR, settings) {
|
||||
settings.url = fixDatatableQuerystring(settings.url, 4);
|
||||
return true;
|
||||
}
|
||||
},
|
||||
language: {
|
||||
paginate: {
|
||||
|
||||
+7
-1
@@ -28,7 +28,13 @@ block content
|
||||
serverSide: true,
|
||||
iDisplayLength: displayLengthMax,
|
||||
lengthMenu: lengthMenuOpts,
|
||||
ajax: '/ext/getlasttxs/0',
|
||||
ajax: {
|
||||
url: '/ext/getlasttxs/0',
|
||||
beforeSend: function(jqXHR, settings) {
|
||||
settings.url = fixDatatableQuerystring(settings.url, 5);
|
||||
return true;
|
||||
}
|
||||
},
|
||||
language: {
|
||||
paginate: {
|
||||
previous: '<',
|
||||
|
||||
@@ -27,6 +27,64 @@ html(lang='en')
|
||||
if active == 'reward'
|
||||
script(type='text/javascript', src='/js/Chart.min.js')
|
||||
script.
|
||||
/* Special thanks to bobince for the removeURLParameter function: https://stackoverflow.com/a/1634841/3038650 */
|
||||
function removeURLParameter(url, parameter) {
|
||||
//prefer to use l.search if you have a location/link object
|
||||
var urlparts = url.split('?');
|
||||
if (urlparts.length >= 2) {
|
||||
var prefix = encodeURIComponent(parameter) + '=';
|
||||
var pars = urlparts[1].split(/[&;]/g);
|
||||
|
||||
//reverse iteration as may be destructive
|
||||
for (var i = pars.length; i-- > 0;) {
|
||||
//idiom for string.startsWith
|
||||
if (pars[i].lastIndexOf(prefix, 0) !== -1)
|
||||
pars.splice(i, 1);
|
||||
}
|
||||
|
||||
return urlparts[0] + (pars.length > 0 ? '?' + pars.join('&') : '');
|
||||
}
|
||||
|
||||
return url;
|
||||
}
|
||||
/* Remove unnecessary querystring values from ajax-enabled datatables */
|
||||
function fixDatatableQuerystring(url, columnCount) {
|
||||
for (i = 0; i < columnCount; i++) {
|
||||
if (url.indexOf('columns%5B' + i.toString() + '%5D') > -1) {
|
||||
for (z = 0; z < 5; z++) {
|
||||
var dataType;
|
||||
|
||||
switch (z) {
|
||||
case 0:
|
||||
dataType = 'data';
|
||||
break;
|
||||
case 1:
|
||||
dataType = 'name';
|
||||
break;
|
||||
case 2:
|
||||
dataType = 'searchable';
|
||||
break;
|
||||
case 3:
|
||||
dataType = 'orderable';
|
||||
break;
|
||||
case 4:
|
||||
dataType = 'search';
|
||||
url = removeURLParameter(url, 'columns[' + i.toString() + '][' + dataType + '][value]');
|
||||
break;
|
||||
}
|
||||
|
||||
url = removeURLParameter(url, 'columns[' + i.toString() + '][' + dataType + ']' + (dataType == 'search' ? '[regex]' : ''));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
url = removeURLParameter(url, 'draw');
|
||||
url = removeURLParameter(url, 'search[value]');
|
||||
url = removeURLParameter(url, 'search[regex]');
|
||||
url = removeURLParameter(url, '_');
|
||||
|
||||
return url;
|
||||
}
|
||||
$(document).ready(function() {
|
||||
function fixSocialLinkFontSize() {
|
||||
var fontSize = $('#footer-container').height() * (getSocialLinkHeight() / 100);
|
||||
|
||||
+7
-1
@@ -29,7 +29,13 @@ block content
|
||||
serverSide: true,
|
||||
iDisplayLength: displayLengthMax,
|
||||
lengthMenu: lengthMenuOpts,
|
||||
ajax: '/ext/getlasttxs/#{min_amount}',
|
||||
ajax: {
|
||||
url: '/ext/getlasttxs/#{min_amount}',
|
||||
beforeSend: function(jqXHR, settings) {
|
||||
settings.url = fixDatatableQuerystring(settings.url, 3);
|
||||
return true;
|
||||
}
|
||||
},
|
||||
language: {
|
||||
paginate: {
|
||||
previous: '<',
|
||||
|
||||
Reference in New Issue
Block a user