pelican/internal/ui/init.go

35 lines
788 B
Go

package ui
import (
"github.com/rivo/tview"
)
// newAddForm creates a new Form primitive for creating a new card.
func newAddForm(u *UI) *tview.Form {
add := tview.NewForm()
titleField := "Title"
add.AddInputField(titleField, "", 0, nil, nil)
add.AddButton("Save", func() {
title := add.GetFormItemByLabel(titleField).(*tview.InputField).GetText()
// TODO: error value needs handling
_ = u.newCard(title, "")
add.GetFormItemByLabel(titleField).(*tview.InputField).SetText("")
u.pages.SwitchToPage(mainPageName)
u.setColumnFocus()
})
add.AddButton("Cancel", func() {
u.pages.SwitchToPage(mainPageName)
add.GetFormItemByLabel(titleField).(*tview.InputField).SetText("")
u.setColumnFocus()
})
add.SetBorder(true)
add.SetTitle(" New Card ")
return add
}