diff --git a/html/dashboard.php b/html/dashboard.php
index ba584cb..8a89440 100644
--- a/html/dashboard.php
+++ b/html/dashboard.php
@@ -95,6 +95,11 @@ foreach ($entries as $entry) {
$filterZahlweise[$entry['zahlweise']] = true;
}
}
+// Vorauswahl der Filter aus GET-Parametern (z. B. Link aus einem Report)
+$presetZahler = isset($_GET['zahler']) ? $_GET['zahler'] : '';
+$presetKategorie = isset($_GET['kategorie']) ? $_GET['kategorie'] : '';
+$presetKategorien = isset($_GET['kategorien']) && is_array($_GET['kategorien']) ? $_GET['kategorien'] : [];
+
$filterZahler = array_keys($filterZahler);
$filterPersonen = array_keys($filterPersonen);
$filterKategorie = array_keys($filterKategorie);
@@ -155,7 +160,7 @@ sort($filterZahlweise, SORT_STRING | SORT_FLAG_CASE);
@@ -171,7 +176,7 @@ sort($filterZahlweise, SORT_STRING | SORT_FLAG_CASE);
@@ -224,6 +229,8 @@ document.querySelector('.hamburger').addEventListener('click', function() {
(function() {
const filters = document.querySelectorAll('.column-filter');
const rows = document.querySelectorAll('#entries-body tr');
+ // Mehrfach-Kategorie-Vorauswahl, z. B. per Link aus dem Personenreport (Kategorie-Select kann nur einen Wert anzeigen)
+ const presetKategorien = = json_encode(array_map('strtolower', $presetKategorien)) ?>;
function applyFilters() {
const activeFilters = Array.from(filters)
@@ -236,7 +243,7 @@ document.querySelector('.hamburger').addEventListener('click', function() {
const cell = cells[f.col];
if (!cell) return true;
return cell.textContent.trim().toLowerCase().includes(f.value);
- });
+ }) && (presetKategorien.length === 0 || (cells[3] && presetKategorien.includes(cells[3].textContent.trim().toLowerCase())));
row.style.display = visible ? '' : 'none';
});
}
@@ -245,6 +252,8 @@ document.querySelector('.hamburger').addEventListener('click', function() {
f.addEventListener('input', applyFilters);
f.addEventListener('change', applyFilters);
});
+
+ applyFilters();
})();