diff options
| author | Frederick Muriuki Muriithi | 2026-01-23 17:31:03 -0600 |
|---|---|---|
| committer | Frederick Muriuki Muriithi | 2026-01-23 17:31:03 -0600 |
| commit | 24cbc791a152dc60a84eb25455888d10479305f6 (patch) | |
| tree | 5f2a8ac2997f12182cab46d715f9af7714af7259 | |
| parent | 5df4317e8bc2ed0f0c6e0ee8d1aad290995389cd (diff) | |
| download | gn-uploader-24cbc791a152dc60a84eb25455888d10479305f6.tar.gz | |
DataTables: Bug -- Improve performance - use provided indexes.
* Fix the function signatures * Use the provided indexes for selection
| -rw-r--r-- | uploader/static/js/datatables.js | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/uploader/static/js/datatables.js b/uploader/static/js/datatables.js index 7b6a187..d88d481 100644 --- a/uploader/static/js/datatables.js +++ b/uploader/static/js/datatables.js @@ -58,15 +58,23 @@ var buildDataTable = (tableId, data = [], columns = [], userSettings = {}) => { ...(data.length == 0 ? {} : {data: data}), ...(columns.length == 0 ? {} : {columns: columns}) }); - theDataTable.on("select", (event, datatable, type, cell, originalEvent) => { - datatable.rows({selected: true}).nodes().each((node, index) => { - $(node).find(".chk-row-select").prop("checked", true) - }); + theDataTable.on("select", (event, datatable, type, indexes) => { + datatable + .rows(indexes) + .nodes() + .each((node, index) => { + $(node).find('input[type="checkbox"]:not(:checked)') + .prop("checked", true); + }); }); - theDataTable.on("deselect", (event, datatable, type, cell, originalEvent) => { - datatable.rows({selected: false}).nodes().each((node, index) => { - $(node).find(".chk-row-select").prop("checked", false) - }); + theDataTable.on("deselect", (event, datatable, type, indexes) => { + datatable + .rows(indexes) + .nodes() + .each(function(node, index) { + $(node).find('input[type="checkbox"]:checked') + .prop("checked", false); + }); }); return theDataTable; }; |
