Commit graph

38 commits

Author SHA1 Message Date
e99c8cd877
feat: add backend support for status repositioning
All checks were successful
/ test (pull_request) Successful in 36s
/ lint (pull_request) Successful in 38s
Add backend support for repositioning statuses on the Kanban board.
Part of apollo/pelican#27
2024-01-25 01:36:22 +00:00
73547c49c6
refactor: add the Identity type
All checks were successful
/ test (pull_request) Successful in 32s
/ lint (pull_request) Successful in 36s
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.
2024-01-23 19:42:35 +00:00
5189ebe7bb
refactor: remove duplicate write function in db
All checks were successful
/ test (pull_request) Successful in 40s
/ lint (pull_request) Successful in 42s
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.
2024-01-23 18:31:01 +00:00
4e7eb77583
fix: add restrictions when setting IDs.
All checks were successful
/ test (pull_request) Successful in 40s
/ lint (pull_request) Successful in 43s
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.
2024-01-21 15:39:51 +00:00
d532c86475
feat: add support for deleting status columns
All checks were successful
/ test (pull_request) Successful in 29s
/ lint (pull_request) Successful in 3m48s
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
2024-01-18 22:36:33 +00:00
6ff571a716
chore: update .gitignore 2024-01-17 18:18:52 +00:00
65cc252923
deps: upgrade bbolt from v1.3.7 to v1.3.8 2024-01-17 18:10:45 +00:00
c1bb834a7f
feat(ui): add support for creating status columns
All checks were successful
/ test (pull_request) Successful in 34s
/ lint (pull_request) Successful in 46s
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
2024-01-17 17:10:36 +00:00
f9fbda92ee
feat: add support for editing status columns
All checks were successful
/ test (pull_request) Successful in 33s
/ lint (pull_request) Successful in 42s
2024-01-17 13:53:54 +00:00
46f5f07105
feat(ui): show board's mode next to the status bar
All checks were successful
/ test (pull_request) Successful in 32s
/ lint (pull_request) Successful in 41s
Add a TextView primitive next to the status bar that displays the
board's current mode. In this commit the baseFlex is replaced with a
Grid primitive to prevent the need to add more Flex primitives.

Part of apollo/pelican#23
2024-01-17 11:12:06 +00:00
dbb37a1060
refactor: a lil bit of refactoring
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.
2024-01-14 13:46:42 +00:00
43095b9932
fix(ui): display status message when moving card
After moving cards from one status to another the status bar now shows
either a confirmation or an error message depending on the success of
the move.
2024-01-13 19:54:24 +00:00
eb2ed4060a
refactor: variable renaming
Some checks failed
/ test (pull_request) Successful in 33s
/ lint (pull_request) Has been cancelled
2024-01-13 12:38:37 +00:00
1bf60d2b1f
feat(ui): add a status bar
All checks were successful
/ test (pull_request) Successful in 33s
/ lint (pull_request) Successful in 35s
This commit adds a status bar at the bottom of the application for
displaying confirmation and error messages to the user.

Resolves apollo/pelican#19
2024-01-13 12:34:16 +00:00
ee861e5426
fix(ui): add card title in deletion prompt
This commit updates the delete card modal so that the prompt includes
the title of the card that is about to be deleted. This is to give the
user the confidence that they are deleting the intended card.

The modal has also been updated to match the current theme of the
application.

Resolves apollo/pelican#18
2024-01-12 16:43:05 +00:00
3703a7fd88
feat(ui): display the number of cards in a status.
Display the number of cards in a status column.

Resolves apollo/pelican#21
2024-01-12 16:00:17 +00:00
43b06a1fe3
chore: update LICENSE 2024-01-12 15:29:02 +00:00
e77c798fbe
feat(ui): add support for viewing cards
All checks were successful
/ test (pull_request) Successful in 28s
/ lint (pull_request) Successful in 31s
This commit adds support for viewing all the details of a card in a
separate widget. The user simply needs to press the Enter key to view
the card. To return to the Kanban board the user needs to press the
Escape key.

Part of apollo/pelican#16
2024-01-12 15:07:42 +00:00
d921231017
refactor(ui): change type cardModal to cardForm
- Change type cardModal to cardForm because it is a Form and not a
  Modal.
- Text the card's details directly from the form items when the Save
  button is pressed instead of updating fields in the cardForm value
  every time a change is made to the input fields.
2024-01-12 12:33:18 +00:00
e961bfc756
refactor: add methods to get focused object's ID
Created extra methods to get the IDs of the card or status in focus in
order to reduce repeated code.
2024-01-11 09:47:51 +00:00
a632c57655
fix(ui): set the card modal's title.
All checks were successful
/ test (pull_request) Successful in 32s
/ lint (pull_request) Successful in 45s
Set the card modal's title based on whether the card is being created or
edited.
2024-01-10 18:49:27 +00:00
d167039176
feat(ui): add support for editing cards
All checks were successful
/ test (pull_request) Successful in 3m13s
/ lint (pull_request) Successful in 1m4s
This commit adds support for editing an existing card's title and
description. The (previously named) input modal has been enhanced to
support both creating and editing cards.

Part of apollo/pelican#14
2024-01-10 18:21:14 +00:00
f956b7da59
refactor: change content field to description
Change the content field to description for the card type in preparation
for supporting card notes.
2024-01-10 12:12:54 +00:00
c5a02bc703
fix: include the time in card's timestamp 2024-01-10 11:43:33 +00:00
aae2d24594
fix(ui): improve the creating cards input modal
All checks were successful
/ test (pull_request) Successful in 33s
/ lint (pull_request) Successful in 42s
This commit improves the look, feel and functionality of the custom
modal that creates new cards on the board.

Changes:

- (BREAKING) The 'c' key is now used to create new cards.
- An extra field is added for adding the card's description.
- Improvements made to the styling of the modal.
- The fields are reset when the user finishes with the form.
2024-01-10 11:20:15 +00:00
fcb148d583
build: install pelican with mage
- Add an install mage target for installing pelican.
- Display the app's version information using the version flag.
2024-01-10 07:38:54 +00:00
ff676e8dc5
feat(ui): add new board mode 'Status Selection'
All checks were successful
/ test (pull_request) Successful in 30s
/ lint (pull_request) Successful in 43s
Replace the existing 'move' tview Page with a new board mode called
'Status Selection'. This mode is used to move cards between statuses.

Resolves apollo/pelican#11
2024-01-09 15:51:23 +00:00
c7bb499f0d
feat(ui): New primitive for columns
All checks were successful
/ test (pull_request) Successful in 3m50s
/ lint (pull_request) Successful in 3m55s
Created a new tview primitive for the columns for better control over
style and function.
2024-01-08 04:52:13 +00:00
af7f120616
style: gofmt
All checks were successful
/ test (pull_request) Successful in 29s
/ lint (pull_request) Successful in 37s
2023-12-12 14:52:03 +00:00
723e9d9d1e
feat: add timestamp for card creation
All checks were successful
/ test (pull_request) Successful in 29s
/ lint (pull_request) Successful in 36s
Add the timestamp for a created card in the format YYYY-MM-DD.
This is in preparation for the UI rework.
2023-12-12 14:42:45 +00:00
2e80c04917
tests: remove TestOpenDataBaseXDGDataDir 2023-12-12 13:08:41 +00:00
0326fce1e7
chore(db): remove unused function
Remove the function that sets the path to the (no longer supported)
default database file.
2023-12-12 13:04:50 +00:00
fc5fa7b0ca
feat(BREAKING): specify project path
All checks were successful
/ test (pull_request) Successful in 28s
/ lint (pull_request) Successful in 37s
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.
2023-12-12 12:47:58 +00:00
cf586a2b1d
ci(lint): allow failing lint test for now
All checks were successful
/ test (pull_request) Successful in 30s
/ lint (pull_request) Successful in 35s
2023-12-12 10:18:05 +00:00
155dab0918
chore: project maintenance
Some checks failed
/ test (pull_request) Successful in 28s
/ lint (pull_request) Failing after 3m41s
Changes:

- Changed README from Markdown to Asciidoc
- Updated go.mod and go.sum
- Updated magefiles for CI
- Added workflow for Forgejo Actions
2023-12-12 10:05:25 +00:00
8599becb17
docs: update README.md 2023-05-06 12:53:03 +01:00
b983f8930e
feat: add the pelican project 2023-05-06 12:49:40 +01:00
83fe86d851 Initial commit 2021-08-12 18:35:20 +00:00