diff --git a/templates/dashboard.html b/templates/dashboard.html
index 97679ce..9add3ca 100644
--- a/templates/dashboard.html
+++ b/templates/dashboard.html
@@ -129,6 +129,10 @@
+
+
@@ -219,7 +223,7 @@
{% for b in batteries %}
-
+
|
{{ b.label }} |
{{ b.brand }} |
@@ -371,7 +375,11 @@ 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 && status !== 'active') || brand || size || storage || text;
+ var rangeFromVal = document.getElementById('filter-range-from').value.trim();
+ var rangeToVal = document.getElementById('filter-range-to').value.trim();
+ var rangeMin = rangeFromVal !== '' ? parseInt(rangeFromVal, 10) : null;
+ var rangeMax = rangeToVal !== '' ? parseInt(rangeToVal, 10) : null;
+ var anyActive = (status && status !== 'active') || brand || size || storage || text || rangeFromVal || rangeToVal;
document.getElementById('filter-reset').style.display = anyActive ? '' : 'none';
var rows = document.querySelectorAll('tbody tr[data-brand]');
@@ -387,6 +395,14 @@ function applyFilters() {
if (size && row.dataset.size !== size) show = false;
if (storage && row.dataset.storage !== storage) show = false;
if (text && row.textContent.toLowerCase().indexOf(text) === -1) show = false;
+ if (rangeMin !== null || rangeMax !== null) {
+ var lbl = row.dataset.label || '';
+ var m = lbl.match(/(\d+)\s*$/);
+ var n = m ? parseInt(m[1], 10) : null;
+ if (n === null) show = false;
+ else if (rangeMin !== null && n < rangeMin) show = false;
+ else if (rangeMax !== null && n > rangeMax) show = false;
+ }
row.dataset.filteredOut = show ? '' : '1';
if (show) filtered++;
});
@@ -468,6 +484,8 @@ function resetFilters() {
document.getElementById(id).value = '';
});
document.getElementById('filter-text').value = '';
+ document.getElementById('filter-range-from').value = '';
+ document.getElementById('filter-range-to').value = '';
applyFilters();
}