Implement DHCP leaes table on Settings -> DHCP tab

Signed-off-by: DL6ER <dl6er@dl6er.de>
This commit is contained in:
DL6ER
2023-02-09 18:41:47 +01:00
parent 6d07f9bb2b
commit b99ad16720
8 changed files with 806 additions and 571 deletions

View File

@@ -8,20 +8,6 @@
/* global utils:false */
var table;
function renderTimestamp(data, type) {
// Display and search content
if (type === "display" || type === "filter") {
return utils.datetime(data);
}
// Sorting content
return data;
}
function htmlPass(data, _type) {
return data;
}
$(function () {
var ignoreNonfatal = localStorage
? localStorage.getItem("hideNonfatalDnsmasqWarnings_chkbox") === "true"
@@ -37,9 +23,9 @@ $(function () {
columns: [
{ data: "id", visible: false },
{ data: null, visible: true, width: "15px" },
{ data: "timestamp", width: "8%", render: renderTimestamp },
{ data: "timestamp", width: "8%", render: utils.renderTimestamp },
{ data: "type", width: "8%" },
{ data: "html", orderable: false, render: htmlPass },
{ data: "html", orderable: false, render: utils.htmlPass },
{ data: null, width: "22px", orderable: false },
],
columnDefs: [
@@ -155,37 +141,10 @@ $(function () {
},
});
table.on("init select deselect", function () {
changeButtonStates();
utils.changeTableButtonStates(table);
});
});
// Show only the appropriate buttons
function changeButtonStates() {
var allRows = table.rows({ filter: "applied" }).data().length;
var pageLength = table.page.len();
var selectedRows = table.rows(".selected").data().length;
if (selectedRows === 0) {
// Nothing selected
$(".selectAll").removeClass("hidden");
$(".selectMore").addClass("hidden");
$(".removeAll").addClass("hidden");
$(".deleteSelected").addClass("hidden");
} else if (selectedRows >= pageLength || selectedRows === allRows) {
// Whole page is selected (or all available messages were selected)
$(".selectAll").addClass("hidden");
$(".selectMore").addClass("hidden");
$(".removeAll").removeClass("hidden");
$(".deleteSelected").removeClass("hidden");
} else {
// Some rows are selected, but not all
$(".selectAll").addClass("hidden");
$(".selectMore").removeClass("hidden");
$(".removeAll").addClass("hidden");
$(".deleteSelected").removeClass("hidden");
}
}
// Remove 'bnt-group' class from container, to avoid grouping
$.fn.dataTable.Buttons.defaults.dom.container.className = "dt-buttons";
@@ -224,7 +183,7 @@ function delMsg(id) {
// Clear selection after deletion
table.rows().deselect();
changeButtonStates();
utils.changeTableButtonStates(table);
})
.done(
utils.checkMessages // Update icon warnings count