Fix/Workaround for DataTables ColReorder bug with data-order attributes (fixes #2019)

This commit is contained in:
Bernd Bestel
2022-11-12 18:10:32 +01:00
parent 88950f00d5
commit 6036786153
7 changed files with 33 additions and 17 deletions

View File

@@ -895,6 +895,18 @@ $(document).on("click", "tr.dtrg-group", function()
collapsedGroups[name] = !collapsedGroups[name];
$("table").DataTable().draw();
});
$.fn.dataTable.ext.type.order["custom-sort-pre"] = function(data)
{
// Workaround for https://github.com/DataTables/ColReorder/issues/85
//
// Custom sorting can normally be provided by a "data-order" attribute on the <td> element,
// however this causes issues when reordering such a column...
//
// This here is for a custom column type "custom-sort",
// the custom order value needs to be provided in the first child (<span>) of the <td>
return (parseFloat($(data).get(0).innerText));
};
// serializeJSON defaults
$.serializeJSON.defaultOptions.checkboxUncheckedValue = "0";

View File

@@ -9,7 +9,7 @@ var shoppingListTable = $('#shoppinglist-table').DataTable({
{ 'visible': false, 'targets': 6 },
{ 'visible': false, 'targets': 7 },
{ 'visible': false, 'targets': 8 },
{ "type": "num", "targets": 2 },
{ "type": "custom-sort", "targets": 2 },
{ "type": "html-num-fmt", "targets": 5 },
{ "type": "html-num-fmt", "targets": 6 }
].concat($.fn.dataTable.defaults.columnDefs),

View File

@@ -5,9 +5,9 @@
{ 'searchable': false, "targets": 0 },
{ 'visible': false, 'targets': 10 },
{ "type": "num", "targets": 1 },
{ "type": "num", "targets": 3 },
{ "type": "custom-sort", "targets": 3 },
{ "type": "html", "targets": 4 },
{ "type": "html-num-fmt", "targets": 7 },
{ "type": "custom-sort", "targets": 7 },
{ "type": "html", "targets": 8 },
{ "type": "html", "targets": 9 }
].concat($.fn.dataTable.defaults.columnDefs)

View File

@@ -1,4 +1,6 @@
var stockOverviewTable = $('#stock-overview-table').DataTable({

var stockOverviewTable = $('#stock-overview-table').DataTable({
'order': [[5, 'asc']],
'columnDefs': [
{ 'orderable': false, 'targets': 0 },
@@ -19,15 +21,15 @@
{ 'visible': false, 'targets': 16 },
{ 'visible': false, 'targets': 17 },
{ 'visible': false, 'targets': 18 },
{ "type": "num", "targets": 3 },
{ "type": "custom-sort", "targets": 3 },
{ "type": "html-num-fmt", "targets": 9 },
{ "type": "html-num-fmt", "targets": 10 },
{ "type": "html", "targets": 5 },
{ "type": "html", "targets": 11 },
{ "type": "html-num-fmt", "targets": 12 },
{ "type": "custom-sort", "targets": 12 },
{ "type": "num", "targets": 13 },
{ "type": "html-num-fmt", "targets": 4 },
{ "type": "html-num-fmt", "targets": 18 }
{ "type": "custom-sort", "targets": 18 }
].concat($.fn.dataTable.defaults.columnDefs)
});