[Feat]: Transposed grid follow-ups: find scrolling, zebra stripes and an unused helper
Maintainers usually reply within 1 day
Assessment
This issue has not been assessed yet.
Description
Prerequisites
- I have written a descriptive issue title
- I have searched existing issues to ensure the feature has not already been requested
🚀 Feature Proposal
Small follow-ups to the transposed result grid added in #1357, so it behaves like the normal layout:
- Find only scrolls when the match is out of view. When transposed,
revealTransposedMatchalways callsrecordVirtualizer.scrollToIndex(rowIndex, {align: 'center'}), while the normal layout'srevealCell(useGridFind.ts) only scrolls when the row is not already visible. - Zebra stripes apply in the transposed layout.
DataGridTransposedRowpassesisZebra={false}to every cell, so the zebra stripes setting has no effect when transposed. - Remove the unused
stepVisibleColumn. Since #1357 it is no longer used inpackages/web-ui/src, only in its own tests.
Motivation
With find in the transposed layout, stepping through matches in records that are already on screen recenters the record every time, so the grid jumps sideways at each step. In the normal layout the view stays put until a match leaves it. The zebra stripes setting also silently does nothing when transposed, which looks like a bug to anyone who turned it on.
Example
1. Open a wide table (e.g. crm_demo.customer_360 from the demo) and toggle the transposed layout.
2. Cmd/Ctrl+F and search a value that matches several records visible at the same time.
3. Today: each step recenters the record. Expected: no scroll while the match is visible.
4. Enable zebra stripes in Settings → Appearance → Data Grid.
5. Today: no stripes when transposed. Expected: alternating field rows are striped, as rows are in the normal layout.
Acceptance criteria
- In the transposed layout, moving to a match whose cell is already fully visible does not scroll; a match outside the view is still brought into view, clear of the sticky record header and a frozen first field.
- With zebra stripes on, the transposed layout stripes alternating field rows; with the setting off, nothing changes. The normal layout is unchanged.
stepVisibleColumnand its tests are removed, and nothing else insrcdepended on it.- Tests cover the transposed find reveal (visible vs. out of view) and zebra stripes in the transposed layout, following
.rules/datagrid.md.
Where to start
packages/web-ui/src/components/ui/DataGrid.tsx:revealTransposedMatch, passed touseGridFindasrevealMatch.packages/web-ui/src/hooks/useGridFind.ts:revealCellandgetRevealScrollDeltashow the visibility check used by the normal layout.packages/web-ui/src/components/ui/DataGridTransposedRow.tsx:isZebra={false}onDataGridCell;isZebraStripedRowinpackages/web-ui/src/utils/dataGrid.ts.packages/web-ui/src/utils/hiddenColumns.ts:stepVisibleColumn, andpackages/web-ui/tests/utils/hiddenColumns.test.ts.
Contributor notes
- Follow the repo rules in
.rules/(Rust, TypeScript, React, design tokens, accessibility, testing), in particulardatagrid.md: check both layouts and try the change in the app with the transpose toggle on. - Add any new UI strings to every locale under
packages/web-ui/src/i18n/locales/. - Keep shared backend logic in
src-tauri/src/application/and transport-specific code in the corresponding transport module; preserve the desktop-free build. - Run the relevant tests and repository checks (
pnpm lint,pnpm build,pnpm test). - Questions? Ask here or on Discord.
- Dominant language
- TypeScript
- Stars
- 5.1k
- Forks
- 335
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 280
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
-
[Feat]: Text viewer: show character, line and UTF-8 byte countsPossibly taken @maxteneff claimed this 1 day ago. Openfeature request good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
TabularisDB/tabularis#1395 ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
TabularisDB/tabularis#1434 ·
Maintainers usually reply within 1 day
-
[Bug]: SQLite REAL values of infinity show as NULL in the data gridPossibly taken @markankamaransheogarat-sys claimed this today. Open
TabularisDB/tabularis#1433 · 3 comments · 1 assignee ·
Maintainers usually reply within 1 day
-
feature request help wanted
Difficulty 5/5 Over a week Newbie friendliness 38/100
TabularisDB/tabularis#1418 ·
Maintainers usually reply within 1 day
-
[Feat]: SQL editor: reusable snippets with tab-stop placeholdersPossibly taken @markankamaransheogarat-sys claimed this today. Openfeature request help wanted
Difficulty 5/5 Over a week Newbie friendliness 35/100
TabularisDB/tabularis#1417 · 2 comments · 1 assignee ·
Maintainers usually reply within 1 day
All issues in TabularisDB/tabularis
Similar issues
-
area:cards enhancement ready-for-agent
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
fil-donadoni/tolaria#8883 ·
Maintainers usually reply within 1 day
-
xsd:integer cast from a string rejects negative numbers, a leading + and surrounding whitespaceOpenbug 🐛
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
comunica/comunica#1960 · 1 comment ·
Maintainers usually reply within 1 day
-
Waiting for: Product Owner
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
getsentry/sentry-javascript#26203 · 1 comment ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
bytedance/flowgram.ai#1235 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
devswha/herdr-web-ui#3325 ·