-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WEB-3207] fix: minor fixes for issue relations list and retrieval #6444
Conversation
WalkthroughThe pull request introduces changes to handle epic issues differently across multiple frontend components. The modifications focus on conditionally rendering issue-related operations based on whether an issue is an epic. Specifically, the changes update the Changes
Possibly related PRs
Suggested labels
Suggested reviewers
Poem
✨ Finishing Touches
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (2)
web/core/components/issues/relations/issue-list-item.tsx (1)
137-192
: LGTM! Consider extracting menu items into a separate component.The conditional rendering for non-epic issues is implemented correctly. However, the menu items could be extracted into a separate component to improve code organization and reusability.
Consider this refactor:
+ const IssueOperationsMenu: FC<{ + disabled: boolean; + onEdit: (e: React.MouseEvent) => void; + onCopyLink: (e: React.MouseEvent) => void; + onRemoveRelation: (e: React.MouseEvent) => void; + onDelete: (e: React.MouseEvent) => void; + }> = ({ disabled, onEdit, onCopyLink, onRemoveRelation, onDelete }) => ( + <CustomMenu placement="bottom-end" ellipsis> + {!disabled && ( + <CustomMenu.MenuItem onClick={onEdit}> + <div className="flex items-center gap-2"> + <Pencil className="h-3.5 w-3.5" strokeWidth={2} /> + <span>Edit issue</span> + </div> + </CustomMenu.MenuItem> + )} + <CustomMenu.MenuItem onClick={onCopyLink}> + <div className="flex items-center gap-2"> + <LinkIcon className="h-3.5 w-3.5" strokeWidth={2} /> + <span>Copy issue link</span> + </div> + </CustomMenu.MenuItem> + {!disabled && ( + <CustomMenu.MenuItem onClick={onRemoveRelation}> + <div className="flex items-center gap-2"> + <X className="h-3.5 w-3.5" strokeWidth={2} /> + <span>Remove relation</span> + </div> + </CustomMenu.MenuItem> + )} + {!disabled && ( + <CustomMenu.MenuItem onClick={onDelete}> + <div className="flex items-center gap-2"> + <Trash className="h-3.5 w-3.5" strokeWidth={2} /> + <span>Delete issue</span> + </div> + </CustomMenu.MenuItem> + )} + </CustomMenu> + );Then use it in the component:
- <CustomMenu placement="bottom-end" ellipsis> - {/* ... menu items ... */} - </CustomMenu> + <IssueOperationsMenu + disabled={disabled} + onEdit={handleEditIssue} + onCopyLink={handleCopyIssueLink} + onRemoveRelation={handleRemoveRelation} + onDelete={handleDeleteIssue} + />web/core/services/issue/issue.service.ts (1)
120-123
: LGTM! Consider adding a comment explaining the flag's purpose.The
is_epic
flag is correctly set for epic service type. Consider adding a brief comment explaining why this flag is necessary for the UI rendering decisions.+ // Set is_epic flag to true for epic service type to control UI rendering in RelationIssueListItem if (response.data && this.serviceType === EIssueServiceType.EPICS) { response.data.is_epic = true; }
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
web/core/components/issues/relations/issue-list-item.tsx
(1 hunks)web/core/services/issue/issue.service.ts
(1 hunks)web/core/store/issue/issue-details/issue.store.ts
(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (2)
- GitHub Check: Analyze (javascript)
- GitHub Check: Analyze (python)
🔇 Additional comments (1)
web/core/store/issue/issue-details/issue.store.ts (1)
191-191
: LGTM! Necessary addition for epic issue handling.The
is_epic
property is correctly added to the issue payload with proper optional chaining.
Description
Type of Change
Screenshots and Media (if applicable)
Test Scenarios
References
WEB-3207
Summary by CodeRabbit
New Features
Bug Fixes
Refactor
is_epic
property for better issue type identification