in pkg/display/graph/heatmap/heatmap.go [84:126]
func Display(displayable *d.Displayable) error {
t, err := termbox.New(termbox.ColorMode(terminalapi.ColorMode256))
if err != nil {
return err
}
defer t.Close()
title := fmt.Sprintf("[%s]-PRESS Q TO QUIT", displayable.Title)
c, err := container.New(
t,
container.Border(linestyle.Light),
container.BorderTitle(title),
container.ID(rootID))
if err != nil {
return err
}
data := displayable.Data.(api.HeatMap)
hp, err := NewHeatMapWidget(data)
if err != nil {
return err
}
gridOpts, err := layout(hp)
if err != nil {
return fmt.Errorf("builder.Build => %v", err)
}
if e := c.Update(rootID, gridOpts...); e != nil {
return e
}
con, cancel := context.WithCancel(context.Background())
quitter := func(keyboard *terminalapi.Keyboard) {
if strings.EqualFold(keyboard.Key.String(), "q") {
cancel()
}
}
err = termdash.Run(con, t, c, termdash.KeyboardSubscriber(quitter))
return err
}