mirror of
https://github.com/pi-hole/web.git
synced 2025-12-24 12:48:29 +00:00
utils: remove duplicate function and convert changeTableButtonStates to vanilla JS
Signed-off-by: XhmikosR <xhmikosr@gmail.com>
This commit is contained in:
@@ -322,7 +322,7 @@ function initTable() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
table.on("init select deselect", () => {
|
table.on("init select deselect", () => {
|
||||||
utils.changeBulkDeleteStates(table);
|
utils.changeTableButtonStates(table);
|
||||||
});
|
});
|
||||||
|
|
||||||
table.on("order.dt", () => {
|
table.on("order.dt", () => {
|
||||||
|
|||||||
@@ -115,7 +115,7 @@ function delGroupItems(type, ids, table, listType = undefined) {
|
|||||||
|
|
||||||
// Clear selection after deletion
|
// Clear selection after deletion
|
||||||
table.rows().deselect();
|
table.rows().deselect();
|
||||||
utils.changeBulkDeleteStates(table);
|
utils.changeTableButtonStates(table);
|
||||||
|
|
||||||
// Update number of <type> items in the sidebar
|
// Update number of <type> items in the sidebar
|
||||||
updateFtlInfo();
|
updateFtlInfo();
|
||||||
|
|||||||
@@ -398,7 +398,7 @@ function initTable() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
table.on("init select deselect", () => {
|
table.on("init select deselect", () => {
|
||||||
utils.changeBulkDeleteStates(table);
|
utils.changeTableButtonStates(table);
|
||||||
});
|
});
|
||||||
|
|
||||||
table.on("order.dt", () => {
|
table.on("order.dt", () => {
|
||||||
|
|||||||
@@ -440,7 +440,7 @@ function initTable() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
table.on("init select deselect", () => {
|
table.on("init select deselect", () => {
|
||||||
utils.changeBulkDeleteStates(table);
|
utils.changeTableButtonStates(table);
|
||||||
});
|
});
|
||||||
|
|
||||||
table.on("order.dt", () => {
|
table.on("order.dt", () => {
|
||||||
|
|||||||
@@ -207,7 +207,7 @@ $(() => {
|
|||||||
table.rows(0).deselect();
|
table.rows(0).deselect();
|
||||||
}
|
}
|
||||||
|
|
||||||
utils.changeBulkDeleteStates(table);
|
utils.changeTableButtonStates(table);
|
||||||
});
|
});
|
||||||
|
|
||||||
table.on("order.dt", () => {
|
table.on("order.dt", () => {
|
||||||
|
|||||||
@@ -418,33 +418,6 @@ function checkMessages() {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// Show only the appropriate delete buttons in datatables
|
|
||||||
function changeBulkDeleteStates(table) {
|
|
||||||
const allRows = table.rows({ filter: "applied" }).data().length;
|
|
||||||
const pageLength = table.page.len();
|
|
||||||
const 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");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function doLogout(url) {
|
function doLogout(url) {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: document.body.dataset.apiurl + "/auth",
|
url: document.body.dataset.apiurl + "/auth",
|
||||||
@@ -474,30 +447,35 @@ function renderTimespan(data, type) {
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Show only the appropriate buttons
|
// Show only the appropriate delete buttons in datatables
|
||||||
function changeTableButtonStates(table) {
|
function changeTableButtonStates(table) {
|
||||||
|
const selectAllElements = document.querySelectorAll(".selectAll");
|
||||||
|
const selectMoreElements = document.querySelectorAll(".selectMore");
|
||||||
|
const removeAllElements = document.querySelectorAll(".removeAll");
|
||||||
|
const deleteSelectedElements = document.querySelectorAll(".deleteSelected");
|
||||||
|
|
||||||
const allRows = table.rows({ filter: "applied" }).data().length;
|
const allRows = table.rows({ filter: "applied" }).data().length;
|
||||||
const pageLength = table.page.len();
|
const pageLength = table.page.len();
|
||||||
const selectedRows = table.rows(".selected").data().length;
|
const selectedRows = table.rows(".selected").data().length;
|
||||||
|
|
||||||
if (selectedRows === 0) {
|
if (selectedRows === 0) {
|
||||||
// Nothing selected
|
// Nothing selected
|
||||||
$(".selectAll").removeClass("hidden");
|
for (const el of selectAllElements) el.classList.remove("hidden");
|
||||||
$(".selectMore").addClass("hidden");
|
for (const el of selectMoreElements) el.classList.add("hidden");
|
||||||
$(".removeAll").addClass("hidden");
|
for (const el of removeAllElements) el.classList.add("hidden");
|
||||||
$(".deleteSelected").addClass("hidden");
|
for (const el of deleteSelectedElements) el.classList.add("hidden");
|
||||||
} else if (selectedRows >= pageLength || selectedRows === allRows) {
|
} else if (selectedRows >= pageLength || selectedRows === allRows) {
|
||||||
// Whole page is selected (or all available messages were selected)
|
// Whole page is selected (or all available messages were selected)
|
||||||
$(".selectAll").addClass("hidden");
|
for (const el of selectAllElements) el.classList.add("hidden");
|
||||||
$(".selectMore").addClass("hidden");
|
for (const el of selectMoreElements) el.classList.add("hidden");
|
||||||
$(".removeAll").removeClass("hidden");
|
for (const el of removeAllElements) el.classList.remove("hidden");
|
||||||
$(".deleteSelected").removeClass("hidden");
|
for (const el of deleteSelectedElements) el.classList.remove("hidden");
|
||||||
} else {
|
} else {
|
||||||
// Some rows are selected, but not all
|
// Some rows are selected, but not all
|
||||||
$(".selectAll").addClass("hidden");
|
for (const el of selectAllElements) el.classList.add("hidden");
|
||||||
$(".selectMore").removeClass("hidden");
|
for (const el of selectMoreElements) el.classList.remove("hidden");
|
||||||
$(".removeAll").addClass("hidden");
|
for (const el of removeAllElements) el.classList.add("hidden");
|
||||||
$(".deleteSelected").removeClass("hidden");
|
for (const el of deleteSelectedElements) el.classList.remove("hidden");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -722,7 +700,6 @@ globalThis.utils = (function () {
|
|||||||
toPercent,
|
toPercent,
|
||||||
colorBar,
|
colorBar,
|
||||||
checkMessages,
|
checkMessages,
|
||||||
changeBulkDeleteStates,
|
|
||||||
doLogout,
|
doLogout,
|
||||||
renderTimestamp,
|
renderTimestamp,
|
||||||
renderTimespan,
|
renderTimespan,
|
||||||
|
|||||||
Reference in New Issue
Block a user