From cb8321573c73bc14015e2db903ab5b418fd41d7c Mon Sep 17 00:00:00 2001 From: Dan Anglin Date: Wed, 17 Jan 2024 22:26:39 +0000 Subject: [PATCH] checkpoint: implementation finished --- internal/ui/ui.go | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/internal/ui/ui.go b/internal/ui/ui.go index b60eee2..0e4839e 100644 --- a/internal/ui/ui.go +++ b/internal/ui/ui.go @@ -260,6 +260,7 @@ func (a *App) refresh(args refreshArgs) { if args.reinitialiseColumns { args.updateFocusedColumnOnly = false a.initColumns() + a.focusedColumn = 0 } if args.updateFocusedColumnOnly { @@ -367,6 +368,19 @@ func (a *App) saveNewStatus(name string) { a.refresh(refreshArgs{updateFocusedColumnOnly: false, reinitialiseColumns: true}) } -// TODO +// deleteFocusedStatusColumn deletes the focused status column from the database. +// If the column is not empty, the column will not be deleted and an error will +// be shown in the status bar. func (a *App) deleteFocusedStatusColumn() { + statusID := a.focusedStatusID() + + if err := a.board.DeleteStatus(statusID); err != nil { + a.statusbar.displayMessage(errorLevel, fmt.Sprintf("Failed to delete the status column: %v.", err)) + + return + } + + a.statusbar.displayMessage(infoLevel, "Status deleted successfully.") + + a.refresh(refreshArgs{updateFocusedColumnOnly: false, reinitialiseColumns: true}) }