in pkg/display/graph/tree/list.go [125:169]
func listenTracesKeyboard(ctx context.Context, list *widgets.List, tree *widgets.Tree, data api.TraceBrief,
detail, help *widgets.Paragraph, condition *api.TraceQueryCondition,
) {
uiEvents := ui.PollEvents()
listActive := true
var err error
for {
e := <-uiEvents
switch e.ID {
case "q", Quit:
return
case "<C-b>", "p":
pageNum := *condition.Paging.PageNum
if pageNum != 1 {
pageNum--
condition.Paging.PageNum = &pageNum
data, err = trace.Traces(ctx, condition)
if err != nil {
logger.Log.Fatalln(err)
}
}
tree.SelectedRow = 0
case "<C-f>", "n":
pageNum := *condition.Paging.PageNum
pageNum++
condition.Paging.PageNum = &pageNum
data, err = trace.Traces(ctx, condition)
if err != nil {
logger.Log.Fatalln(err)
}
tree.SelectedRow = 0
case "<Right>":
listActive = false
case "<Left>":
listActive = true
default:
if action := listActions(e.ID, list, tree, listActive); action != nil {
action()
}
}
draw(ctx, list, tree, detail, help, data, condition)
}
}