Play: database panel hide button, full-width clickable rows, and width-jitter fix by alexey-milovidov · Pull Request #108013 · ClickHouse/ClickHouse · GitHub
Skip to content

Play: database panel hide button, full-width clickable rows, and width-jitter fix#108013

Merged
alexey-milovidov merged 2 commits into
masterfrom
play-db-panel-hide-button
Jun 22, 2026
Merged

Play: database panel hide button, full-width clickable rows, and width-jitter fix#108013
alexey-milovidov merged 2 commits into
masterfrom
play-db-panel-hide-button

Conversation

@alexey-milovidov

@alexey-milovidov alexey-milovidov commented Jun 20, 2026

Copy link
Copy Markdown
Member

Several usability improvements to the database panel in the Web SQL UI (Play):

  • Tooltip on the database icon — added a title so a tooltip shows on hover.
  • Hide-panel button — a small, faint SVG button (a <-| "collapse left" glyph) at the top-right corner of the menu, vertically aligned with the middle of the database icon. It is shown only while the panel is open and closes the panel when clicked.
  • Full-width clickable rows — the clickable area of database and table names now spans the full width of the panel, with a full-width hover highlight (previously only the text itself was clickable). The table size/rows/engine balloon now opens only when the cursor is over the name (not the empty space to its right) and is anchored just to the right of the name.
  • No more width jitter — the menu column is auto-sized (max-content), so the appearance of the vertical scrollbar (e.g. when expanding a database's tables) was widening the whole panel by the scrollbar width. The scrollbar gutter is now reserved permanently (scrollbar-gutter: stable), so the panel width no longer shifts.

All changes are confined to programs/server/play.html (frontend HTML/CSS/JS), so no build is required; they can be verified by loading /play.

Changelog category (leave one):

  • Improvement

Changelog entry (a user-readable short description of the changes that goes into CHANGELOG.md):

Improvements to the database panel in the Web SQL UI (Play): a tooltip on the database icon, a button to hide the panel, full-width clickable database/table names, and a fix for the panel width shifting when the scrollbar appears.

Documentation entry for user-facing changes

  • Documentation is written (mandatory for new features)

Version info

  • Merged into: 26.6.1.1129

…fix width jitter

Several improvements to the database panel in the Web SQL UI (Play):

- Add a `title` to the database viewer icon so a tooltip shows on hover.
- Add a small faint "hide panel" button (an SVG `<-|` glyph) at the top-right
  corner of the menu, vertically aligned with the middle of the database icon,
  shown only while the panel is open; clicking it closes the panel.
- Make the clickable area of database and table names span the full width of
  the panel, with a full-width hover highlight. The table size/rows/engine
  balloon now opens only when the cursor is over the name (not the empty space)
  and is anchored just to the right of the name.
- Reserve the scrollbar gutter (`scrollbar-gutter: stable`) on the panel so the
  whole panel no longer widens by a few pixels when the vertical scrollbar
  appears (the menu column is auto-sized, so the scrollbar width was being
  added to it).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@clickhouse-gh

clickhouse-gh Bot commented Jun 20, 2026

Copy link
Copy Markdown
Contributor

@clickhouse-gh clickhouse-gh Bot added the pr-improvement Pull request with some product improvements label Jun 20, 2026
Comment thread programs/server/play.html
The loading hourglass is absolutely positioned as a sibling overlaying the
right edge of the now full-width database `button`. Because it is not inside
the button, a click on that area failed `e.target.closest('button')` in the
`#menu` click handler and was treated as a menu background click, calling
`toggleDatabases` and closing the whole panel instead of acting on the row.

Add `pointer-events: none` to `.loading-hourglass` so clicks pass through to
the underlying full-width button and the row stays fully clickable while
tables are loading.

Addresses review feedback from `clickhouse-gh`.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

@pamarcos pamarcos left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

👌
Image

I've tested all the changes and they work great. I haven't found anything that breaks it or behaves in unexpected ways.

@alexey-milovidov alexey-milovidov added this pull request to the merge queue Jun 22, 2026
Merged via the queue into master with commit 15480de Jun 22, 2026
166 checks passed
@alexey-milovidov alexey-milovidov deleted the play-db-panel-hide-button branch June 22, 2026 16:57
@robot-ch-test-poll3 robot-ch-test-poll3 added the pr-synced-to-cloud The PR is synced to the cloud repo label Jun 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr-improvement Pull request with some product improvements pr-synced-to-cloud The PR is synced to the cloud repo

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants