checkpoint: ui mostly setup for status deletion
This commit is contained in:
parent
6ff571a716
commit
f116562a5f
3 changed files with 39 additions and 24 deletions
|
@ -47,23 +47,28 @@ func (a *App) initCardForm() {
|
|||
a.cardForm.setDoneFunc(doneFunc)
|
||||
}
|
||||
|
||||
// initDeleteCardModal initialises the modal for deleting cards.
|
||||
func (a *App) initDeleteCardModal() {
|
||||
// initDeleteModal initialises the modal for deleting cards or statuses.
|
||||
func (a *App) initDeleteModal() {
|
||||
doneFunc := func(_ int, buttonLabel string) {
|
||||
if buttonLabel == "Confirm" {
|
||||
switch a.mode {
|
||||
case normal:
|
||||
a.deleteFocusedCard()
|
||||
case boardEdit:
|
||||
a.deleteFocusedStatusColumn()
|
||||
}
|
||||
}
|
||||
|
||||
a.pages.HidePage(deleteCardModalPage)
|
||||
a.pages.HidePage(deleteModalPage)
|
||||
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.deleteCardModal.SetBackgroundColor(tcell.ColorBlack.TrueColor())
|
||||
a.deleteCardModal.SetButtonBackgroundColor(tcell.ColorBlueViolet.TrueColor())
|
||||
a.deleteCardModal.SetTextColor(tcell.ColorWhite.TrueColor())
|
||||
a.deleteModal.SetBorder(true).SetBorderColor(tcell.ColorOrangeRed)
|
||||
a.deleteModal.SetBackgroundColor(tcell.ColorBlack.TrueColor())
|
||||
a.deleteModal.SetButtonBackgroundColor(tcell.ColorBlueViolet.TrueColor())
|
||||
a.deleteModal.SetTextColor(tcell.ColorWhite.TrueColor())
|
||||
}
|
||||
|
||||
// initQuitModal initialises the quit modal.
|
||||
|
|
|
@ -87,16 +87,22 @@ func (a *App) edit() {
|
|||
}
|
||||
|
||||
func (a *App) delete() {
|
||||
if a.mode == normal {
|
||||
switch a.mode {
|
||||
case normal:
|
||||
card, ok := a.getFocusedCard()
|
||||
if !ok {
|
||||
return
|
||||
}
|
||||
|
||||
text := fmt.Sprintf("Do you want to delete '%s'?", card.Title)
|
||||
a.deleteCardModal.SetText(text)
|
||||
a.pages.ShowPage(deleteCardModalPage)
|
||||
a.SetFocus(a.deleteCardModal)
|
||||
text := fmt.Sprintf("Do you want to delete the CARD %q?", card.Title)
|
||||
a.deleteModal.SetText(text)
|
||||
a.pages.ShowPage(deleteModalPage)
|
||||
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)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@ const (
|
|||
mainPage string = "main"
|
||||
quitPage string = "quit"
|
||||
cardFormPage string = "card form"
|
||||
deleteCardModalPage string = "delete card modal"
|
||||
deleteModalPage string = "delete modal"
|
||||
viewPage string = "view"
|
||||
statusFormPage string = "status form"
|
||||
)
|
||||
|
@ -51,7 +51,7 @@ type App struct {
|
|||
modeView *modeView
|
||||
quitModal *tview.Modal
|
||||
cardForm *cardForm
|
||||
deleteCardModal *tview.Modal
|
||||
deleteModal *tview.Modal
|
||||
statusSelection statusSelection
|
||||
cardView *cardView
|
||||
statusbar *statusbar
|
||||
|
@ -75,7 +75,7 @@ func NewApp(path string) (App, error) {
|
|||
focusedColumn: 0,
|
||||
columns: nil,
|
||||
board: kanban,
|
||||
deleteCardModal: tview.NewModal(),
|
||||
deleteModal: tview.NewModal(),
|
||||
mode: normal,
|
||||
modeView: newModeView(),
|
||||
statusSelection: statusSelection{0, 0, 0},
|
||||
|
@ -108,8 +108,8 @@ func (a *App) Init() error {
|
|||
a.initCardForm()
|
||||
a.pages.AddPage(cardFormPage, a.cardForm, false, false)
|
||||
|
||||
a.initDeleteCardModal()
|
||||
a.pages.AddPage(deleteCardModalPage, a.deleteCardModal, false, false)
|
||||
a.initDeleteModal()
|
||||
a.pages.AddPage(deleteModalPage, a.deleteModal, false, false)
|
||||
|
||||
a.initCardView()
|
||||
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})
|
||||
}
|
||||
|
||||
// TODO
|
||||
func (a *App) deleteFocusedStatusColumn() {
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue