data tables remember pagination size preference

This commit is contained in:
Gary Sharp
2023-04-28 14:36:01 +10:00
parent 0c690cff5a
commit 9e7daf2043
6 changed files with 43 additions and 17 deletions
@@ -10,13 +10,13 @@ jQuery.fn.dataTableExt.afnSortData['disco_datetime'] = function (oSettings, iCol
$('td:eq(' + iColumn + ')', oSettings.oApi._fnGetTrNodes(oSettings)).each(function () {
var d = $(this).children('span.date');
if (d.length > 0)
if (d.is('[data-livestamp]')){
if (d.is('[data-livestamp]')) {
aData.push((d.attr('data-livestamp')) * 1);
} else if (d.data('livestampdata') !== undefined) {
aData.push(d.data('livestampdata').moment.valueOf());
}else{
} else {
aData.push(-1);
}
}
else
aData.push(-1);
});
@@ -43,4 +43,20 @@ jQuery.fn.dataTableExt.oSort['disco_datetime-desc'] = function (a, b) {
// Change Default Menu Lengths
jQuery.fn.DataTable.defaults.aLengthMenu = [[10, 20, 50, -1], [10, 20, 50, "All"]];
jQuery.fn.DataTable.defaults.iDisplayLength = 20;
if (window.localStorage) {
var length = 20;
var lengthString = window.localStorage.getItem('datatable_default_length');
if (!!lengthString) {
length = parseInt(lengthString);
}
jQuery.fn.DataTable.defaults.iDisplayLength = parseInt(length);
jQuery.fn.DataTable.defaults.fnPreDrawCallback = function (oSettings) {
var newLength = oSettings._iDisplayLength;
if (length !== newLength) {
window.localStorage.setItem('datatable_default_length', newLength)
}
}
}
jQuery.fn.DataTable.defaults.aLengthMenu = [[10, 20, 50, 100, 200, -1], [10, 20, 50, 100, 200, "All"]];