- Access raw result text via `rawText` getter on `QueryResultElement`
instead of reaching into its shadow DOM with `document.getElementById`
- Handle clipboard API unavailability and permission denial with
appropriate user feedback balloons
Co-Authored-By: Claude Opus 4.6 <[email protected]>
When query results are displayed in raw form (non-table format), a copy
button with a clipboard icon appears next to the download button. Clicking
it copies the entire raw result to the clipboard and shows a brief
"Result copied" balloon that fades out after one second.
Co-Authored-By: Claude Opus 4.6 <[email protected]>
Display a rotating hourglass indicator next to the database name
while the list of tables is being loaded from the server.
Co-Authored-By: Claude Opus 4.6 <[email protected]>
Instead of excluding all clicks inside `#databases`, only exclude clicks
on `button` elements. This way, clicking on empty space in the database
panel still toggles it closed, while clicking on database/table buttons
does not accidentally close the panel.
Co-Authored-By: Claude Opus 4.6 <[email protected]>
Clicks inside the `#databases` container were bubbling up to the
`#menu` click handler, which called `toggleDatabases` and closed
the panel. Exclude `#databases` from the toggle condition.
Co-Authored-By: Claude Opus 4.6 <[email protected]>
Clicks inside the `#databases` container were bubbling up to the
`#menu` click handler, which called `toggleDatabases` and closed
the panel. Exclude `#databases` from the toggle condition.
Co-Authored-By: Claude Opus 4.6 <[email protected]>
Move the ClickHouse logo and cloud logo from the `QueryResultElement`
shadow DOM into the main page HTML. The logo visibility is now managed
directly by the main script, so that even with multiple result tables,
the logos are displayed once.
Co-Authored-By: Claude Opus 4.6 <[email protected]>
Extract two vanilla web components (`<query-result>` and `<query-progress>`)
from `play.html` to encapsulate the result display and progress indication
logic using Shadow DOM.
`QueryProgressElement` encapsulates the hourglass spinner, check mark,
progress bar gradient, and stats text. `QueryResultElement` encapsulates
the data table, raw/unparsed output, error message, chart (uPlot),
and explain graph (dagre), along with all related CSS, cell selection,
keyboard navigation, and column resizing.
This makes the rendering logic reusable and allows multiple instances
to coexist on a single page. CSS custom properties for theming pierce
shadow boundaries automatically.
Co-Authored-By: Claude Opus 4.6 <[email protected]>
When an auxiliary query (loading the list of databases or tables)
fails, display the error in the main area the same way as for regular
queries, and hide any previous result. Also prevent the sidebar panel
from being marked as opened on error, and clear the error on
subsequent successful auxiliary queries.
Co-Authored-By: Claude Opus 4.6 <[email protected]>
The entire left panel background now acts as a toggle for the database
list, same as clicking the ClickHouse logo icon. The cursor shows a
right arrow (expand) when collapsed and a left arrow (collapse) when
expanded. Clicks on the GitHub icon and the database toggle icon itself
are excluded from this behavior.
Co-Authored-By: Claude Opus 4.6 <[email protected]>
When a query runs for a long time, users often switch to another browser tab
and cannot see when it finishes. The favicon now changes to a gray version
while a query is running and restores to the original yellow when it completes
(success, error, or cancellation).
Closes#85055
Co-Authored-By: Claude Opus 4.6 <[email protected]>
The /play Web UI unconditionally enables query cache for all requests.
When a query touches system tables (e.g., `SELECT count() FROM system.tables`),
ClickHouse throws `QUERY_CACHE_USED_WITH_SYSTEM_TABLE` (Code 719).
Add `query_cache_system_table_handling=ignore` to both the execute and download
URL parameter strings so that system table queries silently skip caching
instead of throwing an error.
Closes https://github.com/ClickHouse/ClickHouse/issues/95387
Co-Authored-By: Claude Opus 4.6 <[email protected]>