Skip to content

fix(ui): enable horizontal scrolling in filter popovers - #2878

Merged
openai0229 merged 2 commits into
mainfrom
fix/filter-popover-horizontal-scroll
Sep 7, 2026
Merged

openai0229 merged 2 commits into
mainfrom
fix/filter-popover-horizontal-scroll

Conversation

@openai0229

Copy link
Copy Markdown
Contributor

Related issue

N/A - requested and manually accepted by the maintainer.

Summary

Long database, schema, and result-filter values were clipped inside the filter popover. Enable the Tree's horizontal scrolling so their full text can be inspected while the search and selection controls stay fixed.

Measure rendered rows after filtering, extend the scroll range when longer virtualized rows appear, and keep horizontal wheel handling enabled from the first render. Labels remain on one line and vertical virtualization is preserved.

Affected surfaces

  • Frontend / Web
  • Backend / API / Storage
  • Database plugin / Driver
  • JCEF / Desktop packaging
  • CI / Build / Release
  • Documentation only

Verification

  • Commands and results:
    • yarn install --frozen-lockfile --offline: passed in the isolated PR worktree.
    • yarn run lint: passed in the isolated PR worktree.
    • yarn run build:web:community --app_version=0.0.0: passed, including the configured prebuild tests and production bundle checks, in the isolated PR worktree.
    • git diff --check: passed.
  • Manual verification: Maintainer accepted the change in Community Web. Playwright CLI checks on the actual filter component passed for first-open horizontal wheel scrolling, Shift+wheel, scrollbar dragging, longer rows reached by vertical scrolling, fixed header geometry, narrow viewport overflow, selection, select all, clearing, search range reduction, and recovery from empty search results. The isolated component harness substituted the search input and translation lookup; it did not validate backend persistence.
  • UI evidence: N/A - temporary Playwright screenshots were inspected locally and cleaned up after verification; no screenshots are retained for attachment.

Risk and compatibility

  • Public API or stored data: N/A - no API or persistence changes.
  • Database or driver compatibility: N/A - no database or driver changes.
  • Network, privacy, or security: N/A - no network or permission changes.
  • Community / Local / Pro boundary: N/A - no product-boundary changes.
  • Backward compatibility: The shared filter component also serves result column filters. Existing selection callbacks and vertical virtualization remain unchanged. Width measurement uses the current Ant Design Tree row markup.

Reviewer map

  • Start here: chat2db-community-client/src/components/NodeFiltering/index.tsx for measurement and the Tree scrollWidth prop; style.tsx for single-line labels.
  • Failure condition: A long name cannot scroll fully into view, the header moves horizontally, or filtering to short values leaves an unnecessary horizontal scrollbar.
  • Rollback or disable path: Revert this commit; no migration is needed.

Contributor declaration

  • I linked the Issue that defines this change.
  • I tested the affected behavior and reported the actual results above.
  • I did not include credentials, private data, or generated build output.
  • I disclosed substantial AI assistance below, or this PR contains no substantial AI-generated code.

AI assistance: Codex implemented the change and ran the reported automated checks. The maintainer reviewed the Community Web behavior.

@openai0229
openai0229 requested a review from a team as a code owner September 7, 2026 04:46
@openai0229 openai0229 moved this to In Review in Chat2DB Community Sep 7, 2026
@openai0229
openai0229 merged commit 0f059b1 into main Sep 7, 2026
13 of 16 checks passed
@openai0229
openai0229 deleted the fix/filter-popover-horizontal-scroll branch September 7, 2026 05:12
@openai0229 openai0229 moved this from In Review to Done in Chat2DB Community Sep 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant