davsclaus opened a new pull request, #29468: URL: https://github.com/apache/camel/pull/29468
_Claude Code on behalf of davsclaus_ Stacked on #29467 (the focus borders): retarget to `main` before #29467 is merged with its branch deleted. I walked every tab with clicks and the mouse wheel (raw xterm mouse sequences sent into a running TUI with the circuit breaker example) and fixed where they did nothing or went to the wrong panel. **Clicks** - **Overview ▸ About**: a click selects an entry of In, Routes or Out: its name, or the line under it (its exchanges, or the route that sends to it). Before, About had no mouse handling at all, and a click went to the hidden Integrations table behind it, which could select another integration. - **Heap Histogram**: a click selects a row. The tab never recorded where its table was, so the row click did nothing. - **JFR**: a click on the name of a view (`Routes | Processors | Endpoints | Failures | Redeliveries`) shows it, as `Space` does. - **Timeline**: paused, a click on a strip puts the cursor on the second clicked (and the open exchanges list follows); a click on an exchange of the list selects it. **The wheel scrolls the panel under the mouse**, as Inspect already does - **Errors**: over the table the wheel goes through the errors, over the detail it scrolls the detail. Before, it always scrolled the detail. - **Threads, Beans, Configuration**: over the detail (stack trace) the wheel scrolls it, where it moved the table selection before. A click or the wheel also gives that panel the focus, as `Tab` does. `AbstractTableTab` handles the table + detail case for all four: a tab sets `lastDetailArea` and implements `focusDetail`, `scrollDetail` and `rowClicked`. The help pages of these tabs say what the mouse does. Tests: `AboutViewTest`, `TimelineTabRenderTest`, `JfrTabRenderTest`, `ErrorsTabRenderTest` and `ConfigurationTabRenderTest` click and scroll the rendered tabs. All 2416 tests of the plugin pass; checked live with the circuit breaker example (this PR is stacked, so CI runs no build until it targets main). 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
