fix(tui): drill through panes on enter
This commit is contained in:
parent
aff4efbf5d
commit
227cc9a1fc
@ -826,7 +826,11 @@ func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
|
||||
m.applyFilter()
|
||||
}
|
||||
case "enter", " ":
|
||||
m.focus = focusDetail
|
||||
if m.focus == focusRows {
|
||||
m.focus = focusContext
|
||||
} else if m.focus == focusContext {
|
||||
m.focus = focusDetail
|
||||
}
|
||||
}
|
||||
}
|
||||
return m, nil
|
||||
|
||||
@ -779,6 +779,34 @@ func TestLeftClickSelectsRowUnderPointer(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestEnterDrillsThroughPanesLikeGitcrawl(t *testing.T) {
|
||||
m := newModel(Options{
|
||||
Title: "slacrawl archive",
|
||||
Layout: LayoutChat,
|
||||
Items: []Item{
|
||||
Row{Kind: "message", ID: "m1", Container: "general", Author: "Amy", Title: "first"}.ItemForLayout(LayoutChat),
|
||||
},
|
||||
})
|
||||
if m.focus != focusRows {
|
||||
t.Fatalf("initial focus = %v, want rows", m.focus)
|
||||
}
|
||||
updated, _ := m.Update(tea.KeyMsg{Type: tea.KeyEnter})
|
||||
m = updated.(model)
|
||||
if m.focus != focusContext {
|
||||
t.Fatalf("enter from rows focus = %v, want context", m.focus)
|
||||
}
|
||||
updated, _ = m.Update(tea.KeyMsg{Type: tea.KeyEnter})
|
||||
m = updated.(model)
|
||||
if m.focus != focusDetail {
|
||||
t.Fatalf("enter from context focus = %v, want detail", m.focus)
|
||||
}
|
||||
updated, _ = m.Update(tea.KeyMsg{Type: tea.KeySpace})
|
||||
m = updated.(model)
|
||||
if m.focus != focusDetail {
|
||||
t.Fatalf("space from detail focus = %v, want detail", m.focus)
|
||||
}
|
||||
}
|
||||
|
||||
func TestRightClickOpensSharedActionMenu(t *testing.T) {
|
||||
m := newModel(Options{
|
||||
Title: "archive",
|
||||
|
||||
Loading…
Reference in New Issue
Block a user