ammachado opened a new pull request, #24365:
URL: https://github.com/apache/camel/pull/24365

   # Description
   
   Adds mouse support to the `camel-tui` monitor (`camel-jbang-plugin-tui`) so 
the terminal dashboard can be driven with the pointer in addition to the 
keyboard. Everything is wired through a single `MouseEvent` branch in 
`CamelMonitor`; widgets stay pure renderers that capture their geometry at 
render time, and the app hit-tests it at dispatch time.
   
   What now responds to the mouse:
   
   - **Tab bar** — a left click on a tab label activates it through the same 
path as the number keys.
   - **Table tabs** — the scroll wheel moves the selection and a left click 
selects the row under the pointer, on Overview, Routes, Endpoints, HTTP, 
Health, Errors, Inspect (History), and the tables reached through the More 
dropdown (Beans, Browse, CircuitBreaker, Consumers, Inflight, Metrics, Threads, 
Spans). Views without a live table (diagram, source, detail, dashboard, 
loading) select nothing.
   - **Log tab** — the wheel scrolls the log buffer and scrolling up drops 
follow mode.
   - **More dropdown / Actions menu / doc picker** — clickable entries, with 
outside-click to dismiss and the wheel to move the highlight. Popups are modal 
for the mouse just as for the keyboard.
   - **Overview integration list** — clicking a row selects that integration or 
infra service (skipping the Dev/Infra divider) and fires the pid-changed 
callback.
   - **Footer key bindings** — clicking a hint such as `F1`/help, `F2`/actions, 
`Enter`/open or a single-letter action synthesizes that key and feeds it back 
through the normal key path. Only unambiguous single keys are clickable; 
multi-key hints (`Up/Down`, `PgUp/PgDn`, arrows) stay non-clickable.
   
   The example and infra browsers, and the switch-integration popup, remain 
keyboard-only for now (their wrapped, variable-height rows cannot be reliably 
hit-tested).
   
   The changeset is split into focused commits (MonitorTab foundation, table 
tabs, log scroll, More dropdown, Actions popup, central dispatch + tab bar, 
Overview/Health, footer bindings, and an Inspect-tab selection fix), plus one 
small unrelated `PluginAdd` confirmation message found while testing plugin 
add/upgrade. Static hit-testing helpers (`tableRowAt`, `tabIndexAt`, 
`morePopupItemAt`, `listItemAt`, `footerKeyEvent`, `footerRegionAt`) are 
unit-tested directly; tab render tests cover the click-to-select and scroll 
behavior. Full `camel-jbang-plugin-tui` suite: 514+ tests green.
   
   # Target
   
   - [x] I checked that the commit is targeting the correct branch (Camel 4 
uses the `main` branch)
   
   # Tracking
   - [x] If this is a large change, bug fix, or code improvement, I checked 
there is a [JIRA issue](https://issues.apache.org/jira/browse/CAMEL) filed for 
the change (usually before you start working on it).
   
   # Apache Camel coding standards and style
   
   - [x] I checked that each commit in the pull request has a meaningful 
subject line and body.
   
   - [x] I have run `mvn clean install -DskipTests` locally from root folder 
and I have committed all auto-generated changes.
   
   # AI-assisted contributions
   
   - [x] If this PR includes AI-generated code, commits have proper 
co-authorship attribution (e.g., `Co-authored-by` trailers) and the PR 
description identifies the AI tool used.
   
   _This PR was prepared by Claude Code (Anthropic) on behalf of Adriano 
Machado. Commits carry `Co-Authored-By` trailers._
   


-- 
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]

Reply via email to