Filtern geht schneller

Dieser Commit ist enthalten in:
2025-06-09 01:52:47 +02:00
Ursprung 245a2dc7fa
Commit f124b5a5fd
5 geänderte Dateien mit 170 neuen und 12 gelöschten Zeilen

Datei anzeigen

@@ -68,7 +68,7 @@
<!-- Filter -->
<div class="card mb-3">
<div class="card-body">
<form method="get" action="/audit">
<form method="get" action="/audit" id="auditFilterForm">
<div class="row g-3 align-items-end">
<div class="col-md-3">
<label for="user" class="form-label">Benutzer</label>
@@ -101,7 +101,6 @@
</select>
</div>
<div class="col-md-3">
<button type="submit" class="btn btn-primary">Filter anwenden</button>
<a href="/audit" class="btn btn-outline-secondary">Zurücksetzen</a>
</div>
</div>
@@ -250,4 +249,36 @@
</div>
</div>
</div>
{% endblock %}
{% block extra_js %}
<script>
// Live Filtering für Audit Log
document.addEventListener('DOMContentLoaded', function() {
const filterForm = document.getElementById('auditFilterForm');
const userInput = document.getElementById('user');
const actionSelect = document.getElementById('action');
const entitySelect = document.getElementById('entity');
// Debounce timer für Textfelder
let searchTimeout;
// Live-Filter für Benutzer-Textfeld (mit 300ms Verzögerung)
userInput.addEventListener('input', function() {
clearTimeout(searchTimeout);
searchTimeout = setTimeout(() => {
filterForm.submit();
}, 300);
});
// Live-Filter für Dropdowns (sofort)
actionSelect.addEventListener('change', function() {
filterForm.submit();
});
entitySelect.addEventListener('change', function() {
filterForm.submit();
});
});
</script>
{% endblock %}