Thanks to visit codestin.com
Credit goes to github.com

Skip to content

fix: scroll long table Column visibility and Group by menus - #13183

Open
tiensonqin wants to merge 2 commits into
masterfrom
logseq/fix-table-submenu-scroll-dffd
Open

fix: scroll long table Column visibility and Group by menus#13183
tiensonqin wants to merge 2 commits into
masterfrom
logseq/fix-table-submenu-scroll-dffd

Conversation

@tiensonqin

Copy link
Copy Markdown
Contributor

Fixes logseq/db-test#1159

Problem

In Table View, Column visibility and Group by submenus do not scroll when there are more options than fit on screen. Left/right submenu placements were not height-capped, so items below the viewport were unreachable.

Change

  • Cap dropdown and context-menu height with min(var(--available-height, 100vh), calc(100vh - 16px)) and overflow-y: auto on both the popup and its positioner.
  • Apply the same CSS to .ui__dropdown-menu-sub-content and .ui__context-menu-sub-content for every side, not only data-side=top|bottom.
  • Keep long submenus attached to the viewport with sticky positioning so they shift into view and then scroll.
  • Add unit tests for the shared scroll style and submenu CSS.

Test plan

  • Unit tests for popup scroll style and submenu CSS selectors
  • Manual: open a table/query with many properties → ⋯ → Column visibility / Group by → confirm the submenu scrolls and every option is reachable
Open in Web Open in Cursor 

Keep dropdown and context-menu submenus inside the viewport with a
capped max-height and overflow-y auto, including left/right placements.

Co-authored-by: Tienson Qin <[email protected]>
Copilot AI lite review requested due to automatic review settings September 7, 2026 16:40

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The updated menu max-height rule applies --available-height to Radix menu content, which can regress viewport-fitting for long Radix menus without using Radix’s available-height variables.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

This PR addresses an accessibility/usability issue in Logseq’s Table View menus by ensuring long “Column visibility” / “Group by” submenus remain reachable via height-capping and vertical scrolling, and adds unit coverage to guard the shared styling behavior.

Changes:

  • Introduce a shared popup-max-height / popup-scroll-style update in SHUI components and apply sticky positioning for submenu positioners.
  • Update resources/css/shui.css to apply consistent max-height + overflow scrolling rules to dropdown/context menus and their submenus.
  • Add CLJS unit tests validating the shared scroll style and the presence of the new submenu CSS selectors.
File summaries
File Description
deps/shui/src/logseq/shui/components.cljs Adds shared max-height constant, applies scroll styles, and enables sticky submenu positioners.
resources/css/shui.css Unifies menu/submenu overflow + max-height styling to ensure long menus can scroll.
src/test/logseq/shui/components_test.cljs Adds unit tests covering popup scroll style and submenu CSS presence.
Review details
  • Files reviewed: 3/3 changed files
  • Comments generated: 1
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread resources/css/shui.css
Comment on lines +466 to 471
.ui__dropdown-menu-content,
.ui__dropdown-menu-sub-content,
.ui__context-menu-content,
.ui__context-menu-sub-content,
div[data-radix-menu-content],
.ui__select-content {
@tiensonqin tiensonqin self-assigned this Sep 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

'Column visibility' and 'Group by' selection lists cannot be fully accessed in Table View

3 participants