kanban

Kanban client in Gio
Log | Files | Refs | README | LICENSE

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:
Mcmd/kanban/layout.go | 1+
Mcmd/kanban/main.go | 9++++++++-
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