mirror of
https://github.com/t8y2/dbx.git
synced 2026-10-30 00:19:35 +00:00
fix: apply only visible checked values when local filter has active search
When a user searches in the column filter dialog, non-visible options retained their selected state, making it impossible to filter to just the searched values. Now when a search query is active, only visible checked items are included in the applied filter.
This commit is contained in:
@@ -391,10 +391,15 @@ function applyLocalFilter() {
|
||||
if (!draft) return;
|
||||
const allKeys = new Set(localFilterAllOptions.value.map((option) => option.key));
|
||||
const next = { ...localColumnFilters.value };
|
||||
if (draft.values.size === 0 || draft.values.size === allKeys.size) {
|
||||
let selected = draft.values;
|
||||
if (localFilterSearch.value.trim()) {
|
||||
const visibleKeys = new Set(localFilterOptions.value.map((o) => o.key));
|
||||
selected = new Set([...draft.values].filter((k) => visibleKeys.has(k)));
|
||||
}
|
||||
if (selected.size === 0 || selected.size === allKeys.size) {
|
||||
delete next[draft.columnIndex];
|
||||
} else {
|
||||
next[draft.columnIndex] = new Set(draft.values);
|
||||
next[draft.columnIndex] = new Set(selected);
|
||||
}
|
||||
localColumnFilters.value = next;
|
||||
closeLocalFilter();
|
||||
|
||||
Reference in New Issue
Block a user