[PR #2614] feat: allow list views to use buckets as collapsible sections #8404

Open
opened 2026-04-20 18:11:52 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/go-vikunja/vikunja/pull/2614
Author: @tink-bot
Created: 4/12/2026
Status: 🔄 Open

Base: mainHead: feat-list-view-buckets


📝 Commits (10+)

  • b18b859 test: add fixtures for list view with manual bucket configuration
  • a0cc76c feat: assign new tasks to buckets in all bucketed views, not just kanban
  • 939eba7 feat: auto-provision default buckets for any manual-bucket view
  • a32f759 test: verify task bucket assignment for list views with manual buckets
  • 13b1025 feat: show bucket configuration options for list views in view settings
  • f09201f feat: allow saving bucket configuration for list views
  • b392d13 feat: bucket select includes list views with manual buckets
  • 4667628 refactor: rename kanban store to bucket store (view-kind-agnostic)
  • f4883ef feat: render list view with collapsible bucket sections
  • 3765f98 feat: add i18n keys for list view bucket sections

📊 Changes

15 files changed (+676 additions, -127 deletions)

View changed files

📝 frontend/src/components/project/views/ProjectKanban.vue (+25 -25)
📝 frontend/src/components/project/views/ProjectList.vue (+531 -60)
📝 frontend/src/components/project/views/ViewEditForm.vue (+2 -2)
📝 frontend/src/components/tasks/partials/BucketSelect.vue (+10 -10)
📝 frontend/src/i18n/lang/en.json (+11 -1)
📝 frontend/src/stores/buckets.ts (+3 -3)
📝 frontend/src/stores/tasks.ts (+16 -16)
📝 frontend/src/views/project/settings/ProjectSettingsViews.vue (+2 -2)
📝 frontend/src/views/tasks/TaskDetailView.vue (+4 -4)
📝 pkg/db/fixtures/buckets.yml (+22 -0)
📝 pkg/db/fixtures/project_views.yml (+10 -0)
📝 pkg/db/fixtures/task_buckets.yml (+10 -0)
📝 pkg/models/project_view.go (+5 -3)
📝 pkg/models/tasks.go (+0 -1)
📝 pkg/models/tasks_test.go (+25 -0)

📄 Description

List views can now use the existing bucket infrastructure to render tasks grouped into collapsible vertical sections, reusing the same bucket system that powers kanban views.

Backend: The two places that gated bucket behavior on ViewKindKanban — task-to-bucket assignment on create and default bucket provisioning on view creation — are widened to all views with BucketConfigurationMode = manual. Done-bucket syncing intentionally stays kanban-only since list view sections are organizational grouping, not workflow stages.

Frontend: Bucket configuration options are ungated for list views in the settings UI. The kanban store is renamed to a generic bucket store. ProjectList.vue gains a sectioned rendering mode with collapsible headers, inline title editing, per-section drag-and-drop (including cross-section moves), "load more" pagination, and section CRUD — while preserving the existing flat list behavior when buckets are not configured.

Test plan

  • Create a list view, enable manual bucket configuration in view settings
  • Verify default buckets are auto-created and tasks appear in sections
  • Test collapsing/expanding sections (state should persist across reloads)
  • Drag tasks between sections and within sections
  • Create, rename, and delete sections
  • Verify existing flat list views and kanban views still work as before

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/go-vikunja/vikunja/pull/2614 **Author:** [@tink-bot](https://github.com/tink-bot) **Created:** 4/12/2026 **Status:** 🔄 Open **Base:** `main` ← **Head:** `feat-list-view-buckets` --- ### 📝 Commits (10+) - [`b18b859`](https://github.com/go-vikunja/vikunja/commit/b18b859b713892db77878358cc5e32912dc94c15) test: add fixtures for list view with manual bucket configuration - [`a0cc76c`](https://github.com/go-vikunja/vikunja/commit/a0cc76c4c83650cdeb23b286de9f887915b490d4) feat: assign new tasks to buckets in all bucketed views, not just kanban - [`939eba7`](https://github.com/go-vikunja/vikunja/commit/939eba7b441fb816448c89a64fbde60f53d2efb3) feat: auto-provision default buckets for any manual-bucket view - [`a32f759`](https://github.com/go-vikunja/vikunja/commit/a32f75922832ecea691788c36d386ca63eb67cf7) test: verify task bucket assignment for list views with manual buckets - [`13b1025`](https://github.com/go-vikunja/vikunja/commit/13b10255c6e2b72f258a23b827d812579b1f6887) feat: show bucket configuration options for list views in view settings - [`f09201f`](https://github.com/go-vikunja/vikunja/commit/f09201ff3bd7555b87e413daac2daf31b7aec5ab) feat: allow saving bucket configuration for list views - [`b392d13`](https://github.com/go-vikunja/vikunja/commit/b392d130eb90e20c0ffb59c3766631a1deed61fb) feat: bucket select includes list views with manual buckets - [`4667628`](https://github.com/go-vikunja/vikunja/commit/46676289e0ac50735d5f983269840c6e84b6ded4) refactor: rename kanban store to bucket store (view-kind-agnostic) - [`f4883ef`](https://github.com/go-vikunja/vikunja/commit/f4883ef7c44bf4a3539065ace212335e27d7a9c4) feat: render list view with collapsible bucket sections - [`3765f98`](https://github.com/go-vikunja/vikunja/commit/3765f9877c7d8061c24ab575ec656aa6ebaae5e9) feat: add i18n keys for list view bucket sections ### 📊 Changes **15 files changed** (+676 additions, -127 deletions) <details> <summary>View changed files</summary> 📝 `frontend/src/components/project/views/ProjectKanban.vue` (+25 -25) 📝 `frontend/src/components/project/views/ProjectList.vue` (+531 -60) 📝 `frontend/src/components/project/views/ViewEditForm.vue` (+2 -2) 📝 `frontend/src/components/tasks/partials/BucketSelect.vue` (+10 -10) 📝 `frontend/src/i18n/lang/en.json` (+11 -1) 📝 `frontend/src/stores/buckets.ts` (+3 -3) 📝 `frontend/src/stores/tasks.ts` (+16 -16) 📝 `frontend/src/views/project/settings/ProjectSettingsViews.vue` (+2 -2) 📝 `frontend/src/views/tasks/TaskDetailView.vue` (+4 -4) 📝 `pkg/db/fixtures/buckets.yml` (+22 -0) 📝 `pkg/db/fixtures/project_views.yml` (+10 -0) 📝 `pkg/db/fixtures/task_buckets.yml` (+10 -0) 📝 `pkg/models/project_view.go` (+5 -3) 📝 `pkg/models/tasks.go` (+0 -1) 📝 `pkg/models/tasks_test.go` (+25 -0) </details> ### 📄 Description List views can now use the existing bucket infrastructure to render tasks grouped into collapsible vertical sections, reusing the same bucket system that powers kanban views. **Backend:** The two places that gated bucket behavior on `ViewKindKanban` — task-to-bucket assignment on create and default bucket provisioning on view creation — are widened to all views with `BucketConfigurationMode = manual`. Done-bucket syncing intentionally stays kanban-only since list view sections are organizational grouping, not workflow stages. **Frontend:** Bucket configuration options are ungated for list views in the settings UI. The kanban store is renamed to a generic bucket store. `ProjectList.vue` gains a sectioned rendering mode with collapsible headers, inline title editing, per-section drag-and-drop (including cross-section moves), "load more" pagination, and section CRUD — while preserving the existing flat list behavior when buckets are not configured. ## Test plan - Create a list view, enable manual bucket configuration in view settings - Verify default buckets are auto-created and tasks appear in sections - Test collapsing/expanding sections (state should persist across reloads) - Drag tasks between sections and within sections - Create, rename, and delete sections - Verify existing flat list views and kanban views still work as before --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-04-20 18:11:52 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/vikunja#8404