[Feat]: "Filter by this value" in the data grid cell context menu
Maintainers usually reply within 1 day
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 85/100
- Issue type
- Feature
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- react, typescript
- Domain
- frontend
Research direction
Start from src/components/ui/DataGrid.tsx to add the context menu items and onFilterByValue prop. Then modify src/pages/Editor.tsx to build the filter clause using helpers from src/utils/filterBar.ts or src/utils/foreignKeys.ts, combining it with the existing filter via AND. Done when the menu appears only on table tabs, the toolbar WHERE input updates, the grid reloads at page 1, and unit tests for the clause builder pass.
Written by the indexing model from the issue text.
Description
🚀 Feature Proposal
In table view, right-clicking a cell should offer quick filters based on its value:
- Filter: column = value
- Filter: column <> value
- for NULL cells: column IS NULL / column IS NOT NULL
Motivation
Drilling into data ("show me only rows with this status") currently means typing the condition by hand. A one-click filter from the value you are already looking at is much faster.
Where to start
src/components/ui/DataGrid.tsx: the cell context menu. Add an optionalonFilterByValue(column, operator, value)prop and show the items only whentableNameis set.src/pages/Editor.tsx: build the clause and pass it through the existinghandleToolbarUpdate, AND-ed withactiveTab.filterClause.- Reuse the existing quoting helpers:
buildSingleFilterClauseinsrc/utils/filterBar.tsorbuildForeignKeyFilterClauseinsrc/utils/foreignKeys.ts.
Acceptance criteria
- Menu items appear on table tabs only, not on ad-hoc query results.
- Not offered for BLOB / JSON cells.
- An existing filter is kept and combined with
AND; the toolbar WHERE input reflects the new clause and the grid reloads at page 1. - Identifiers and string literals are quoted correctly per driver; numbers are not quoted.
- Unit tests for the clause builder.
Contributor notes
- Dominant language
- TypeScript
- Stars
- 5.1k
- Forks
- 335
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 75
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from TabularisDB/tabularis
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
TabularisDB/tabularis#905 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
TabularisDB/tabularis#903 ·
Maintainers usually reply within 1 day
-
[Bug]: Plugin UI slots data-grid.toolbar.actions and sidebar.footer.actions receive an empty contextOpenbug help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
TabularisDB/tabularis#892 ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
TabularisDB/tabularis#919 · 3 comments ·
Maintainers usually reply within 1 day
-
Difficulty 3/5 1-2 days Newbie friendliness 75/100
TabularisDB/tabularis#916 ·
Maintainers usually reply within 1 day
All issues in TabularisDB/tabularis
Similar issues
-
area: backend bug priority: low
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
snapotter-hq/SnapOtter#2254 ·
Maintainers usually reply within 1 day
-
bug ticket
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
cratestack/cratestack#1154 ·
Maintainers usually reply within 1 day
-
server 消息处理器 cmd 分支补显式错误回报——竞态非法命令现走未处理拒绝Possibly taken @openaddr claimed this today. Openready-for-agent refactor wayfinder:task
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
openaddr/dafung-web#428 ·
Maintainers usually reply within 1 day
-
Flaky: mongodb-memory-server 'Port already in use' when another process starts a mongod concurrentlyOpenarea:testing bug effort:S priority:P2
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
Maintainers usually reply within 1 day
-
lens:agent lens:process process
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
thebristolsound/birdbrain#1772 ·
Maintainers usually reply within 1 day