This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/main by this push:
     new 81cfd5e7e55c camel-jbang - Add Web console checkbox to TUI run example 
dialog
81cfd5e7e55c is described below

commit 81cfd5e7e55ce7c36078a17500a3a1b974e38ba2
Author: Claus Ibsen <[email protected]>
AuthorDate: Fri Jun 26 10:36:19 2026 +0200

    camel-jbang - Add Web console checkbox to TUI run example dialog
    
    Co-Authored-By: Claude <[email protected]>
    Signed-off-by: Claus Ibsen <[email protected]>
---
 .../jbang/core/commands/tui/RunOptionsForm.java    | 25 ++++++++++++++++------
 1 file changed, 18 insertions(+), 7 deletions(-)

diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/RunOptionsForm.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/RunOptionsForm.java
index aaa80a1906f4..913b7bb9d67e 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/RunOptionsForm.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/RunOptionsForm.java
@@ -50,7 +50,8 @@ class RunOptionsForm {
     private static final int ROW_TRACE = 5;
     private static final int ROW_STUB = 6;
     private static final int ROW_OTEL_AGENT = 7;
-    private static final int ROW_COUNT = 8;
+    private static final int ROW_CONSOLE = 8;
+    private static final int ROW_COUNT = 9;
 
     private boolean visible;
     private int page;
@@ -72,6 +73,7 @@ class RunOptionsForm {
     private boolean stubMode;
     private boolean otelAgent;
     private int otelExportTarget; // 0=TUI, 1=Jaeger
+    private boolean webConsole;
 
     private String exampleTitle;
 
@@ -99,6 +101,7 @@ class RunOptionsForm {
         stubMode = false;
         otelAgent = false;
         otelExportTarget = 0;
+        webConsole = false;
         selectedRow = ROW_NAME;
         page = PAGE_OPTIONS;
         selectedProperty = 0;
@@ -206,6 +209,9 @@ class RunOptionsForm {
                 args.add("--open-telemetry-agent-export=jaeger");
             }
         }
+        if (webConsole) {
+            args.add("--console");
+        }
         if (properties != null) {
             for (PropertyEntry pe : properties) {
                 String current = pe.valueInput().text();
@@ -229,7 +235,7 @@ class RunOptionsForm {
             return true;
         }
         if (ke.isDown()) {
-            if (selectedRow == ROW_OTEL_AGENT && hasProperties()) {
+            if (selectedRow == ROW_CONSOLE && hasProperties()) {
                 page = PAGE_PROPERTIES;
                 selectedProperty = 0;
             } else {
@@ -238,7 +244,7 @@ class RunOptionsForm {
             return true;
         }
         if (ke.isFocusNext()) {
-            if (selectedRow == ROW_OTEL_AGENT && hasProperties()) {
+            if (selectedRow == ROW_CONSOLE && hasProperties()) {
                 page = PAGE_PROPERTIES;
                 selectedProperty = 0;
             } else {
@@ -284,6 +290,7 @@ class RunOptionsForm {
                 case ROW_TRACE -> backlogTrace = !backlogTrace;
                 case ROW_STUB -> stubMode = !stubMode;
                 case ROW_OTEL_AGENT -> otelAgent = !otelAgent;
+                case ROW_CONSOLE -> webConsole = !webConsole;
             }
             return true;
         }
@@ -296,6 +303,7 @@ class RunOptionsForm {
             }
             return true;
         }
+
         return true;
     }
 
@@ -310,7 +318,7 @@ class RunOptionsForm {
             editingKey = false;
             if (selectedProperty == 0) {
                 page = PAGE_OPTIONS;
-                selectedRow = ROW_OTEL_AGENT;
+                selectedRow = ROW_CONSOLE;
             } else {
                 selectedProperty--;
             }
@@ -340,7 +348,7 @@ class RunOptionsForm {
             } else if (selectedProperty == 0) {
                 editingKey = false;
                 page = PAGE_OPTIONS;
-                selectedRow = ROW_OTEL_AGENT;
+                selectedRow = ROW_CONSOLE;
             } else {
                 editingKey = false;
                 selectedProperty--;
@@ -356,7 +364,7 @@ class RunOptionsForm {
                     return true;
                 }
                 page = PAGE_OPTIONS;
-                selectedRow = ROW_OTEL_AGENT;
+                selectedRow = ROW_CONSOLE;
                 editingKey = false;
                 return true;
             }
@@ -399,7 +407,7 @@ class RunOptionsForm {
 
     private void renderOptionsPage(Frame frame, Rect area) {
         int popupW = Math.min(56, area.width() - 4);
-        int popupH = 12;
+        int popupH = 13;
         int x = area.left() + Math.max(0, (area.width() - popupW) / 2);
         int y = area.top() + Math.max(0, (area.height() - popupH) / 4);
         Rect popup = new Rect(x, y, Math.min(popupW, area.width()), 
Math.min(popupH, area.height()));
@@ -463,6 +471,9 @@ class RunOptionsForm {
                     Span.styled(" ", Style.EMPTY),
                     Span.styled(jaegerLabel, jaegerStyle))), exportArea);
         }
+        rowY++;
+
+        renderCheckbox(frame, innerX, rowY, innerW, "Web console", webConsole, 
selectedRow == ROW_CONSOLE);
     }
 
     private void renderPropertiesPage(Frame frame, Rect area) {

Reply via email to