From d3c4464aa0ba00e530708121db3538c6ec95e192 Mon Sep 17 00:00:00 2001 From: Eduardo Silva Date: Tue, 9 Jun 2026 14:51:11 +0100 Subject: [PATCH] organizing the code a bit better --- tui/internal/tview_helpers/tree.go | 23 +++++++++++++++++++++++ tui/internal/views/layoutTool.go | 23 ++--------------------- 2 files changed, 25 insertions(+), 21 deletions(-) create mode 100644 tui/internal/tview_helpers/tree.go diff --git a/tui/internal/tview_helpers/tree.go b/tui/internal/tview_helpers/tree.go new file mode 100644 index 0000000..21ae891 --- /dev/null +++ b/tui/internal/tview_helpers/tree.go @@ -0,0 +1,23 @@ +package tviewhelpers + +import "github.com/rivo/tview" + +func FindNodeByID(node *tview.TreeNode, id int16) *tview.TreeNode { + if node == nil { + return nil + } + + if ref, ok := node.GetReference().(int16); ok { + if ref == id { + return node + } + } + + for _, child := range node.GetChildren() { + if found := FindNodeByID(child, id); found != nil { + return found + } + } + + return nil +} diff --git a/tui/internal/views/layoutTool.go b/tui/internal/views/layoutTool.go index 412a3cc..483493e 100644 --- a/tui/internal/views/layoutTool.go +++ b/tui/internal/views/layoutTool.go @@ -5,6 +5,7 @@ import ( "log/slog" "esdi/cdashdisplay" + tviewh "esdi/tui/internal/tview_helpers" "github.com/gdamore/tcell/v2" "github.com/rivo/tview" @@ -17,26 +18,6 @@ const ( LayoutToolNewWindowID = "new-window-action-form" ) -func FindNodeByID(node *tview.TreeNode, id int16) *tview.TreeNode { - if node == nil { - return nil - } - - if ref, ok := node.GetReference().(int16); ok { - if ref == id { - return node - } - } - - for _, child := range node.GetChildren() { - if found := FindNodeByID(child, id); found != nil { - return found - } - } - - return nil -} - type LayoutTreeView struct { Tree *tview.TreeView InputCapture func(*tcell.EventKey) *tcell.EventKey @@ -199,7 +180,7 @@ func (ltv *LayoutToolView) UpdateFormView(idx int16, win *cdashdisplay.DesktopUI return } - node := FindNodeByID(root, idx) + node := tviewh.FindNodeByID(root, idx) if node == nil { return }