commit 79ea51862282927add32b44ec276ae9f41a2ce10
parent 391b0223c7718483be6b5b6513ba6ee1716c0f5b
Author: Jack Mordaunt <jackmordaunt@gmail.com>
Date: Thu, 5 Nov 2020 16:12:20 +0800
doc: add todos and explain some decisions
Signed-off-by: Jack Mordaunt <jackmordaunt@gmail.com>
Diffstat:
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/cmd/kanban/layout.go b/cmd/kanban/layout.go
@@ -82,6 +82,7 @@ func Modal(gtx C, w layout.Widget) D {
)
}
+// Centered places the widget in the center of the container.
func Centered(gtx C, w layout.Widget) D {
return layout.Flex{
Axis: layout.Horizontal,
diff --git a/cmd/kanban/main.go b/cmd/kanban/main.go
@@ -136,6 +136,9 @@ func (ui *UI) Loop() error {
}
}
+// TODO: investigate best way to handle errors. Some errors are for the user
+// and others are for the devs.
+// Currently errors are just printed; not great for windowed applications.
func (ui *UI) Update(gtx C) {
for ii := range ui.Panels {
panel := &ui.Panels[ii]
@@ -260,6 +263,8 @@ func (ui *UI) Layout(gtx C) D {
}
// TicketForm renders the form for ticket information.
+//
+// TODO: tab navigation through form fields.
type TicketForm struct {
Stage string
Data kanban.Ticket
@@ -280,6 +285,8 @@ func (form *TicketForm) Set(t kanban.Ticket) {
// form.References.SetText(t.References)
}
+// Validate the inputs.
+// Note: No actual validation is done yet.
func (form TicketForm) Validate() (kanban.Ticket, error) {
ticket := kanban.Ticket{
ID: form.Data.ID,
@@ -391,10 +398,10 @@ func (d *DeleteDialog) Layout(gtx C, th *material.Theme) D {
})
}),
)
-
}
// Panel can hold cards.
+// One panel per stage in the kanban pipeline.
// Has a title and action bar.
type Panel struct {
Label string