diff --git a/gui/tree.go b/gui/tree.go index 1580773..98ce474 100644 --- a/gui/tree.go +++ b/gui/tree.go @@ -40,13 +40,9 @@ func (t *Tree) AddNode(node interface{}) []*tview.TreeNode { case map[string]interface{}: for k, v := range node { newNode := t.NewNodeWithLiteral(k). - SetColor(tcell.ColorMediumSlateBlue).SetReference(k) + SetColor(tcell.ColorMediumSlateBlue). + SetChildren(t.AddNode(v)) - list, isList := v.([]interface{}) - if isList && len(list) > 0 { - newNode.SetSelectable(true) - } - newNode.SetChildren(t.AddNode(v)) nodes = append(nodes, newNode) } case []interface{}: @@ -54,8 +50,8 @@ func (t *Tree) AddNode(node interface{}) []*tview.TreeNode { switch n := v.(type) { case map[string]interface{}, []interface{}: if reflect.ValueOf(n).Len() > 0 { - numberNode := tview.NewTreeNode(fmt.Sprintf("[%d]", i+1)) - numberNode.SetChildren(t.AddNode(v)) + numberNode := tview.NewTreeNode(fmt.Sprintf("[%d]", i+1)). + SetChildren(t.AddNode(v)) nodes = append(nodes, numberNode) } default: