Feature Proposal: "Exclude" / "Inverse Selection" toggle for multi-select dropdown filters
- Dominant language
- Clojure
- Stars
- 49.3k
- Forks
- 6.8k
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 653
Description
What problem will this feature request solve?
Currently, if a user wants to select most items in a multi-select filter but exclude a few, they must click "Select All" and then manually uncheck the undesired items. This creates two distinct problems:
Finding and manually unselecting a handful of specific items in a very long list is tedious and causes UX friction.
More critically, when a new item is added to the database later, it defaults to being "unselected" in the filter. Because the user's actual intent was "show me everything except X", the newly added item is wrongly excluded from their dashboard.
Describe the solution you'd like.
I would like an "Inverse Selection" or "Exclude" toggle box added within the field definition, so that it would include a new check box on the filter UI. When activated, the user simply checks the items they do not want to see. The underlying query logic would then inverse to NOT IN (selected items).
How does this feature request impact you?
It is a significant, ongoing inconvenience that can lead to inaccurate data reporting. Every time a new item is added to our database, our dashboards fail to include it automatically. This forces our team to constantly monitor and manually update filter selections across multiple dashboards to prevent new data from being accidentally hidden from users.
Additional information
Adding this exclusion logic would solve both the initial UI friction for the end-user and the long-term maintenance burden for dashboard administrators in one move.
Contributor guide
Research direction
Start by locating the multi-select filter UI and the field-definition and query-processing paths described in the proposal. Trace how selected values are currently represented and applied, then determine how an exclusion toggle should affect both new-item behavior and the underlying NOT IN query. Done means the toggle is available in the filter UI and exclusion behavior is covered end to end.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- clojure
- Domain
- full-stack
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100