feat: decouple views from projects #2217

Merged
konrad merged 97 commits from feature/decouple-views-from-projects into main 2024-03-19 19:16:14 +00:00
Owner

This PR decouples views from projects. On the surface, everything stays the same - by default, there are the same views as right now in main - List, Gantt, Table, Kanban. With this feature, it is possible to modify these or create new ones. That means you can remove views you never need or create multiple ones if you need different configurations.

Each view can have an optional filter to change what you see in the frontend on that view. For kanban, you can either set it to "manual" mode, where you can create buckets and move tasks around, or "filter" mode, where each bucket is the result of a filter (and you cannot move them around).

All positions and buckets are now tied to the view, not the project. This means you can (finally!) have views for saved filters.

Resolves #1976
Resolves #1836
Resolves https://github.com/go-vikunja/api/issues/63

Known issues:

  • User Data Export does not include views, positions or buckets
  • Migrations from other services are untested
  • Typesense needs more testing
  • If there are a lot of views, the switcher overflows and it's impossible to select the last few views
  • The UI allows you to move a task between buckets of a filter (but you get an error from the api)

I want to get this into unstable as quickly as possible, so not all of these will get fixed before merging this.

This PR decouples views from projects. On the surface, everything stays the same - by default, there are the same views as right now in main - List, Gantt, Table, Kanban. With this feature, it is possible to modify these or create new ones. That means you can remove views you never need or create multiple ones if you need different configurations. Each view can have an optional filter to change what you see in the frontend on that view. For kanban, you can either set it to "manual" mode, where you can create buckets and move tasks around, or "filter" mode, where each bucket is the result of a filter (and you cannot move them around). All positions and buckets are now tied to the view, not the project. This means you can (finally!) have views for saved filters. Resolves https://kolaente.dev/vikunja/vikunja/issues/1976 Resolves https://kolaente.dev/vikunja/vikunja/issues/1836 Resolves https://github.com/go-vikunja/api/issues/63 Known issues: * User Data Export does not include views, positions or buckets * Migrations from other services are untested * Typesense needs more testing * If there are a lot of views, the switcher overflows and it's impossible to select the last few views * The UI allows you to move a task between buckets of a filter (but you get an error from the api) I want to get this into unstable as quickly as possible, so not all of these will get fixed before merging this.
konrad added 75 commits 2024-03-18 23:48:39 +00:00
238baf86f7
feat(views)!: return tasks in buckets by view
BREAKING CHANGE: tasks in their bucket are now only retrievable via their view. The /project/:id/buckets endpoint now only returns the buckets for that project, which is more in line with the other endpoints
2502776460
feat(views)!: move task position handling to its own crud entity
BREAKING CHANGE: the position of tasks now can't be updated anymore via the task update endpoint. Instead, there is a new endpoint which takes the project view into account as well.
Member

Hi konrad!

Thank you for creating a PR!

I've deployed the frontend changes of this PR on a preview environment under this URL: https://2217-feature-decouple-views-from-proj--vikunja-frontend-preview.netlify.app

You can use this url to view the changes live and test them out.
You will need to manually connect this to an api running somewhere. The easiest to use is https://try.vikunja.io/.

This preview does not contain any changes made to the api, only the frontend.

Have a nice day!

Beep boop, I'm a bot.

Hi konrad! Thank you for creating a PR! I've deployed the frontend changes of this PR on a preview environment under this URL: https://2217-feature-decouple-views-from-proj--vikunja-frontend-preview.netlify.app You can use this url to view the changes live and test them out. You will need to manually connect this to an api running somewhere. The easiest to use is https://try.vikunja.io/. This preview does not contain any changes made to the api, only the frontend. Have a nice day! > Beep boop, I'm a bot.
konrad changed title from feature/decouple-views-from-projects to feat: decouple views from projects 2024-03-18 23:57:41 +00:00
konrad added 1 commit 2024-03-19 11:13:11 +00:00
continuous-integration/drone/pr Build is failing Details
cf9b2fa203
fix(views): tests for kanban and gantt views
konrad added 11 commits 2024-03-19 14:27:54 +00:00
konrad added 1 commit 2024-03-19 15:33:50 +00:00
continuous-integration/drone/pr Build is failing Details
5e9edef3b3
fix: lint
konrad added 4 commits 2024-03-19 16:12:56 +00:00
konrad added 3 commits 2024-03-19 16:43:20 +00:00
konrad added 1 commit 2024-03-19 16:57:16 +00:00
continuous-integration/drone/pr Build is failing Details
89ed71777e
fix(views): create bucket in test
konrad added 1 commit 2024-03-19 18:54:20 +00:00
continuous-integration/drone/pr Build is passing Details
32e8a15f1f
fix(views): create default bucket
konrad merged commit 7230db1603 into main 2024-03-19 19:16:14 +00:00
konrad deleted branch feature/decouple-views-from-projects 2024-03-19 19:16:15 +00:00
Sign in to join this conversation.
No reviewers
No Milestone
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: vikunja/vikunja#2217
No description provided.