feat: add issue view swimlane#3149
Open
anderson-oki wants to merge 7 commits into
Open
Conversation
|
@anderson-oki is attempting to deploy a commit to the IndexLabs Team on Vercel. A member of the Team first needs to authorize it. |
3b5f386 to
b4fbafc
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR do?
When you have an issue with massive amount of sub tasks, and that scale to many issues, you can't group or tell what issue is this sub task from and the board becomes messy. While it is still achievable with workaround and Projects, it is not the most ideal right now.
I'm proposing similar on what YouTrack allow you to do called Swimlane view. It allows you to still have your Kamban board status, but it will group the parent issue as a "lane", and display the sub issues as it is now.
Related Issue
Closes #2951
Type of Change
Changes Made
1. Persistent State Management
packages/core/issues/stores/view-store.ts:"swimlane"toViewModetype.swimlaneOrder(string array) andcollapsedSwimlanes(string array) to save customized lane ordering and collapsible section states per-workspace.setSwimlaneOrderandtoggleSwimlaneCollapsedstate actions in the workspace-aware store slice.2. Layout & Interactions (Swimlane View)
packages/views/issues/components/swimlane-view.tsx:SwimLaneViewrendering a 2D grid utilizingdnd-kitwhere parent issues form horizontal collapsible lanes and columns represent statuses.useLoadMoreByStatusto ensure dynamic, accurate counts.3. Component De-duplication
packages/views/issues/components/hidden-columns-panel.tsx:packages/views/issues/components/board-view.tsx:HiddenColumnsPanelandHiddenColumnRow.4. Integration & Localization
packages/views/issues/components/issues-header.tsx&my-issues-header.tsx:"swimlane"view mode.packages/views/issues/components/issues-page.tsx&my-issues-page.tsx&project-detail.tsx:SwimLaneViewon all issue containers, passing down scope/filters for query-cache totals.packages/views/locales/{en, zh-Hans}/*:5. Test Suite
packages/views/issues/components/swimlane-view.test.tsx:How to Test
Checklist
apps/web/features/landing/i18n/) and relevant docs (apps/docs/content/docs/)apps/docs/content/docs/developers/conventions.zh.mdx(terminology, mixed-rule fortask/issue/skill)AI Disclosure
AI tool used: Opencode
Prompt / approach:
We analyzed the
dnd-kitsorting context constraints and modeled a robust 2D grid that maps parents to lanes and statuses to columns. We integrated collapsed states and lane ordering directly into the workspace-aware Zustand store slice. We extracted shared presentational elements into a centralizedHiddenColumnsPanelcomponent and wired hidden counts directly to the React Query cache viauseLoadMoreByStatus. We followed a TDD-based approach.Screenshots (optional)
Screen.Recording.2026-05-24.at.14.24.02.mov