Add a new Identity type with the required methods so that now the board
types (Card, Status and soon Tag) can automatically satisfy the BoltItem
interface.
Remove the original 'Write' function from the db package and rename the
'WriteMany' function to 'Write' as it can already write one or many Bolt
items to the database.
Also update the test suites and add more coverage in the board package.
Main change:
Add restrictions when adding IDs for cards and statuses. Errors are
returned when an attempt is made to set an ID lower than 1, or an
attempt is made to set an ID that has already been set.
Additional changes:
- Error types in the board packages are now defined in errors.go.
- Small formatting to error messages.
Add support for deleting status columns. If a column is not empty then
it will not be deleted and the user will see an error message in the
status bar.
Part of apollo/pelican#24
This commit adds support for creating new status columns. When the user
is in the 'board edit' mode, they can press the 'c' key to create a new
column. When a new column is created it automatically assumes the last
position on the board. We will add support later on to allow the user to
re-arrange the columns on the board.
Part of apollo/pelican#22
Changes:
- Rename the UI type to App.
- Rename NewUI() to NewApp().
- Move init functions to internal/ui/ui.go.
- Call app's initialisation function from main.
- Move the keymapping functionalities to internal/ui/keymappings.go.
- Add documentation for updateColumn() and updateAllColumns().
- Applied gofmt.
Also:
- Build(mage): optionally include -a and/or -v during go build.
This PR allows users to specify the path to the database file
Pelican now expects the user to specify the path to the project's
database file which allows users to open different projects.
This is a breaking change because Pelican no longer opens the
default path automatically. If no path is set then Pelican stops
with an error message.