Files
chart/web/static/view.js
2026-04-01 16:28:42 +03:00

32 lines
887 B
JavaScript

document.addEventListener("DOMContentLoaded", () => {
document.querySelectorAll(".table-filterable").forEach((container) => {
const select = container.querySelector(".table-severity-filter");
if (!select) {
return;
}
const rows = Array.from(container.querySelectorAll("tbody tr[data-severity-row='true']"));
const emptyNotice = container.querySelector(".table-filter-empty");
const applyFilter = () => {
const selected = select.value;
let visibleCount = 0;
rows.forEach((row) => {
const matches = selected === "" || row.dataset.severity === selected;
row.hidden = !matches;
if (matches) {
visibleCount += 1;
}
});
if (emptyNotice) {
emptyNotice.hidden = visibleCount !== 0;
}
};
select.addEventListener("change", applyFilter);
applyFilter();
});
});