checkpoint: ui mostly setup for status deletion

This commit is contained in:
Dan Anglin 2024-01-17 18:55:06 +00:00
parent 6ff571a716
commit f116562a5f
Signed by: dananglin
GPG key ID: 0C1D44CFBEE68638
3 changed files with 39 additions and 24 deletions

View file

@ -47,23 +47,28 @@ func (a *App) initCardForm() {
a.cardForm.setDoneFunc(doneFunc) a.cardForm.setDoneFunc(doneFunc)
} }
// initDeleteCardModal initialises the modal for deleting cards. // initDeleteModal initialises the modal for deleting cards or statuses.
func (a *App) initDeleteCardModal() { func (a *App) initDeleteModal() {
doneFunc := func(_ int, buttonLabel string) { doneFunc := func(_ int, buttonLabel string) {
if buttonLabel == "Confirm" { if buttonLabel == "Confirm" {
switch a.mode {
case normal:
a.deleteFocusedCard() a.deleteFocusedCard()
case boardEdit:
a.deleteFocusedStatusColumn()
}
} }
a.pages.HidePage(deleteCardModalPage) a.pages.HidePage(deleteModalPage)
a.setColumnFocus() a.setColumnFocus()
} }
a.deleteCardModal.AddButtons([]string{"Confirm", "Cancel"}).SetDoneFunc(doneFunc) a.deleteModal.AddButtons([]string{"Cancel", "Confirm"}).SetDoneFunc(doneFunc)
a.deleteCardModal.SetBorder(true).SetBorderColor(tcell.ColorOrangeRed) a.deleteModal.SetBorder(true).SetBorderColor(tcell.ColorOrangeRed)
a.deleteCardModal.SetBackgroundColor(tcell.ColorBlack.TrueColor()) a.deleteModal.SetBackgroundColor(tcell.ColorBlack.TrueColor())
a.deleteCardModal.SetButtonBackgroundColor(tcell.ColorBlueViolet.TrueColor()) a.deleteModal.SetButtonBackgroundColor(tcell.ColorBlueViolet.TrueColor())
a.deleteCardModal.SetTextColor(tcell.ColorWhite.TrueColor()) a.deleteModal.SetTextColor(tcell.ColorWhite.TrueColor())
} }
// initQuitModal initialises the quit modal. // initQuitModal initialises the quit modal.

View file

@ -87,16 +87,22 @@ func (a *App) edit() {
} }
func (a *App) delete() { func (a *App) delete() {
if a.mode == normal { switch a.mode {
case normal:
card, ok := a.getFocusedCard() card, ok := a.getFocusedCard()
if !ok { if !ok {
return return
} }
text := fmt.Sprintf("Do you want to delete '%s'?", card.Title) text := fmt.Sprintf("Do you want to delete the CARD %q?", card.Title)
a.deleteCardModal.SetText(text) a.deleteModal.SetText(text)
a.pages.ShowPage(deleteCardModalPage) a.pages.ShowPage(deleteModalPage)
a.SetFocus(a.deleteCardModal) a.SetFocus(a.deleteModal)
case boardEdit:
text := fmt.Sprintf("Do you want to delete the STATUS %q?", a.focusedStatusName())
a.deleteModal.SetText(text)
a.pages.ShowPage(deleteModalPage)
a.SetFocus(a.deleteModal)
} }
} }

View file

@ -22,7 +22,7 @@ const (
mainPage string = "main" mainPage string = "main"
quitPage string = "quit" quitPage string = "quit"
cardFormPage string = "card form" cardFormPage string = "card form"
deleteCardModalPage string = "delete card modal" deleteModalPage string = "delete modal"
viewPage string = "view" viewPage string = "view"
statusFormPage string = "status form" statusFormPage string = "status form"
) )
@ -51,7 +51,7 @@ type App struct {
modeView *modeView modeView *modeView
quitModal *tview.Modal quitModal *tview.Modal
cardForm *cardForm cardForm *cardForm
deleteCardModal *tview.Modal deleteModal *tview.Modal
statusSelection statusSelection statusSelection statusSelection
cardView *cardView cardView *cardView
statusbar *statusbar statusbar *statusbar
@ -75,7 +75,7 @@ func NewApp(path string) (App, error) {
focusedColumn: 0, focusedColumn: 0,
columns: nil, columns: nil,
board: kanban, board: kanban,
deleteCardModal: tview.NewModal(), deleteModal: tview.NewModal(),
mode: normal, mode: normal,
modeView: newModeView(), modeView: newModeView(),
statusSelection: statusSelection{0, 0, 0}, statusSelection: statusSelection{0, 0, 0},
@ -108,8 +108,8 @@ func (a *App) Init() error {
a.initCardForm() a.initCardForm()
a.pages.AddPage(cardFormPage, a.cardForm, false, false) a.pages.AddPage(cardFormPage, a.cardForm, false, false)
a.initDeleteCardModal() a.initDeleteModal()
a.pages.AddPage(deleteCardModalPage, a.deleteCardModal, false, false) a.pages.AddPage(deleteModalPage, a.deleteModal, false, false)
a.initCardView() a.initCardView()
a.pages.AddPage(viewPage, a.cardView, false, false) a.pages.AddPage(viewPage, a.cardView, false, false)
@ -366,3 +366,7 @@ func (a *App) saveNewStatus(name string) {
a.refresh(refreshArgs{updateFocusedColumnOnly: false, reinitialiseColumns: true}) a.refresh(refreshArgs{updateFocusedColumnOnly: false, reinitialiseColumns: true})
} }
// TODO
func (a *App) deleteFocusedStatusColumn() {
}