Hide retired batteries by default, filter to show them
This commit is contained in:
@@ -103,6 +103,7 @@
|
||||
|
||||
<div id="filter-bar" style="display:flex;gap:0.5rem;flex-wrap:wrap;align-items:center;margin-bottom:0.75rem;">
|
||||
<select id="filter-status" onchange="applyFilters()" style="padding:0.25rem 0.5rem;font-size:0.85rem;border:1px solid #cbd5e1;border-radius:4px;">
|
||||
<option value="active" selected>Active (non-retired)</option>
|
||||
<option value="">All Statuses</option>
|
||||
<option value="available">Available</option>
|
||||
<option value="installed">Installed</option>
|
||||
@@ -361,14 +362,18 @@ function applyFilters() {
|
||||
var size = document.getElementById('filter-size').value;
|
||||
var storage = document.getElementById('filter-storage').value;
|
||||
var text = document.getElementById('filter-text').value.trim().toLowerCase();
|
||||
var anyActive = status || brand || size || storage || text;
|
||||
var anyActive = (status && status !== 'active') || brand || size || storage || text;
|
||||
document.getElementById('filter-reset').style.display = anyActive ? '' : 'none';
|
||||
|
||||
var rows = document.querySelectorAll('tbody tr[data-brand]');
|
||||
var visible = 0;
|
||||
rows.forEach(function(row) {
|
||||
var show = true;
|
||||
if (status && row.dataset.status !== status) show = false;
|
||||
if (status === 'active') {
|
||||
if (row.dataset.status === 'retired') show = false;
|
||||
} else if (status) {
|
||||
if (row.dataset.status !== status) show = false;
|
||||
}
|
||||
if (brand && row.dataset.brand !== brand) show = false;
|
||||
if (size && row.dataset.size !== size) show = false;
|
||||
if (storage && row.dataset.storage !== storage) show = false;
|
||||
@@ -427,7 +432,8 @@ function quickAssign(action, batteryId) {
|
||||
}
|
||||
|
||||
function resetFilters() {
|
||||
['filter-status','filter-brand','filter-size','filter-storage'].forEach(function(id) {
|
||||
document.getElementById('filter-status').value = 'active';
|
||||
['filter-brand','filter-size','filter-storage'].forEach(function(id) {
|
||||
document.getElementById(id).value = '';
|
||||
});
|
||||
document.getElementById('filter-text').value = '';
|
||||
@@ -568,5 +574,7 @@ function bulkStorageChanged(sel) {
|
||||
hidden.value = sel.value;
|
||||
}
|
||||
}
|
||||
|
||||
applyFilters();
|
||||
</script>
|
||||
{% endblock %}
|
||||
|
||||
Reference in New Issue
Block a user