fix: Keep vertical scrollbar visible in data browser with wide tables#3357
fix: Keep vertical scrollbar visible in data browser with wide tables#3357PreviousGod wants to merge 1 commit into
Conversation
Move vertical and horizontal scrolling to .table container instead of .browser. Previously, .browser (position: fixed) handled both overflow axes via overflow: auto. This caused the vertical scrollbar to be positioned at the content's right edge — hidden off-screen when tables had many columns. Fix: delegate scrolling to .table (absolutely positioned child) by adding overflow: auto. .browser now uses overflow: hidden, acting only as a positioning container. The vertical scrollbar on .table is always at .browser's right edge (viewport edge via right: 0). Also fixes the tableRef.scrollTop reset — .table is now the actual scroll container, so scroll position resets (on class/ordering/filter change) correctly work now.
|
I will reformat the title to use the proper commit message syntax. |
|
🚀 Thanks for opening this pull request! We appreciate your effort in improving the project. Please let us know once your pull request is ready for review. Tip
Note Please respond to review comments from AI agents just like you would to comments from a human reviewer. Let the reviewer resolve their own comments, unless they have reviewed and accepted your commit, or agreed with your explanation for why the feedback was incorrect. Caution Pull requests must be written using an AI agent with human supervision. Pull requests written entirely by a human will likely be rejected, because of lower code quality, higher review effort and the higher risk of introducing bugs. Please note that AI review comments on this pull request alone do not satisfy this requirement. Our CI and AI review are safeguards, not development tools. If many issues are flagged, rethink your development approach. Invest more effort in planning and design rather than using review cycles to fix low-quality code. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThe PR modifies the data browser's CSS to redistribute scrolling behavior from the outer ChangesTable scrolling behavior
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 6 | ❌ 1❌ Failed checks (1 inconclusive)
✅ Passed checks (6 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 Stylelint (17.11.0)src/dashboard/Data/Browser/Browser.scssNoFilesFoundError: No files matching the pattern "src/dashboard/Data/Browser/Browser.scss" were found. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Closes #2045
Approach
Move vertical and horizontal scrolling to the
.tablecontainer instead of.browser.Problem
.browser(position: fixed) handled both overflow axes viaoverflow: auto. The vertical scrollbar was positioned at the right edge of the scrollable content area — when a table had many columns, users had to scroll all the way to the right to access the vertical scrollbar.Fix
Delegate scrolling to
.table(absolutely positioned child inside.browser) by addingoverflow: autoto it..browsernow usesoverflow: hidden, acting only as a positioning container.Since
.tablehaswidth: 100%of.browser(which isposition: fixed; left: 300px; right: 0),.table's right edge =.browser's right edge = viewport edge. The vertical scrollbar is always visible at the viewport edge regardless of table width.Changes
Only
Browser.scss— 2 lines changed..browser:overflow: auto→overflow: hidden.table: addedoverflow: autoAdditional benefit
tableRef.current.scrollTop = 0incomponentWillReceivePropsnow correctly works —.tableis now the actual scroll container, whereas beforeoverflow: visibleon.tablemade the scroll reset effectively a no-op.Summary by CodeRabbit