From 2512d01d19212f21da7636c9cef19a9cfa4c6ac2 Mon Sep 17 00:00:00 2001 From: Ken Hibino Date: Sun, 15 May 2022 12:37:21 -0700 Subject: [PATCH] (cli) Add navigation to dash --- tools/asynq/cmd/dash.go | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/tools/asynq/cmd/dash.go b/tools/asynq/cmd/dash.go index 20e1aec..38f0daa 100644 --- a/tools/asynq/cmd/dash.go +++ b/tools/asynq/cmd/dash.go @@ -139,6 +139,18 @@ func dash(cmd *cobra.Command, args []string) { state.prevView = state.view state.view = viewTypeHelp drawDash(s, baseStyle, &state) + } else if ev.Key() == tcell.KeyF1 { + state.view = viewTypeQueues + drawDash(s, baseStyle, &state) + } else if ev.Key() == tcell.KeyF2 { + state.view = viewTypeServers + drawDash(s, baseStyle, &state) + } else if ev.Key() == tcell.KeyF3 { + state.view = viewTypeSchedulers + drawDash(s, baseStyle, &state) + } else if ev.Key() == tcell.KeyF4 { + state.view = viewTypeRedis + drawDash(s, baseStyle, &state) } } @@ -186,15 +198,25 @@ func drawDash(s tcell.Screen, style tcell.Style, state *dashState) { drawQueueSizeGraphs(d, style, state) d.NL() // empty line drawQueueTable(d, style, state) - d.GoToBottom() - drawFooter(d, style, state) + case viewTypeServers: + d.Println("=== Servers ===", style.Bold(true)) + d.NL() // empty line + // TODO: Draw body + case viewTypeSchedulers: + d.Println("=== Schedulers === ", style.Bold(true)) + d.NL() // empty line + // TODO: Draw body + case viewTypeRedis: + d.Println("=== Redis Info === ", style.Bold(true)) + d.NL() // empty line + // TODO: Draw body case viewTypeHelp: d.Println("=== HELP ===", style.Bold(true)) d.NL() // empty line // TODO: Draw HELP body - d.GoToBottom() - drawFooter(d, style, state) } + d.GoToBottom() + drawFooter(d, style, state) } func drawQueueSizeGraphs(d *ScreenDrawer, style tcell.Style, state *dashState) {