fix: minor fixes for issue relations list and retrival (#6444)

This commit is contained in:
Prateek Shourya 2025-01-23 12:42:35 +05:30 committed by GitHub
parent 8f3a0be177
commit 586a320d86
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 58 additions and 49 deletions

View file

@ -134,58 +134,62 @@ export const RelationIssueListItem: FC<Props> = observer((props) => {
<span className="w-full truncate text-sm text-custom-text-100">{issue.name}</span> <span className="w-full truncate text-sm text-custom-text-100">{issue.name}</span>
</Tooltip> </Tooltip>
</div> </div>
<div {!issue.is_epic && (
className="flex-shrink-0 text-sm" <>
onClick={(e) => { <div
e.preventDefault(); className="flex-shrink-0 text-sm"
e.stopPropagation(); onClick={(e) => {
}} e.preventDefault();
> e.stopPropagation();
<RelationIssueProperty }}
workspaceSlug={workspaceSlug} >
issueId={relationIssueId} <RelationIssueProperty
disabled={disabled} workspaceSlug={workspaceSlug}
issueOperations={issueOperations} issueId={relationIssueId}
issueServiceType={issueServiceType} disabled={disabled}
/> issueOperations={issueOperations}
</div> issueServiceType={issueServiceType}
<div className="flex-shrink-0 text-sm"> />
<CustomMenu placement="bottom-end" ellipsis> </div>
{!disabled && ( <div className="flex-shrink-0 text-sm">
<CustomMenu.MenuItem onClick={handleEditIssue}> <CustomMenu placement="bottom-end" ellipsis>
<div className="flex items-center gap-2"> {!disabled && (
<Pencil className="h-3.5 w-3.5" strokeWidth={2} /> <CustomMenu.MenuItem onClick={handleEditIssue}>
<span>Edit issue</span> <div className="flex items-center gap-2">
</div> <Pencil className="h-3.5 w-3.5" strokeWidth={2} />
</CustomMenu.MenuItem> <span>Edit issue</span>
)} </div>
</CustomMenu.MenuItem>
)}
<CustomMenu.MenuItem onClick={handleCopyIssueLink}> <CustomMenu.MenuItem onClick={handleCopyIssueLink}>
<div className="flex items-center gap-2"> <div className="flex items-center gap-2">
<LinkIcon className="h-3.5 w-3.5" strokeWidth={2} /> <LinkIcon className="h-3.5 w-3.5" strokeWidth={2} />
<span>Copy issue link</span> <span>Copy issue link</span>
</div> </div>
</CustomMenu.MenuItem> </CustomMenu.MenuItem>
{!disabled && ( {!disabled && (
<CustomMenu.MenuItem onClick={handleRemoveRelation}> <CustomMenu.MenuItem onClick={handleRemoveRelation}>
<div className="flex items-center gap-2"> <div className="flex items-center gap-2">
<X className="h-3.5 w-3.5" strokeWidth={2} /> <X className="h-3.5 w-3.5" strokeWidth={2} />
<span>Remove relation</span> <span>Remove relation</span>
</div> </div>
</CustomMenu.MenuItem> </CustomMenu.MenuItem>
)} )}
{!disabled && ( {!disabled && (
<CustomMenu.MenuItem onClick={handleDeleteIssue}> <CustomMenu.MenuItem onClick={handleDeleteIssue}>
<div className="flex items-center gap-2"> <div className="flex items-center gap-2">
<Trash className="h-3.5 w-3.5" strokeWidth={2} /> <Trash className="h-3.5 w-3.5" strokeWidth={2} />
<span>Delete issue</span> <span>Delete issue</span>
</div> </div>
</CustomMenu.MenuItem> </CustomMenu.MenuItem>
)} )}
</CustomMenu> </CustomMenu>
</div> </div>
</>
)}
</div> </div>
)} )}
</ControlLink> </ControlLink>

View file

@ -117,6 +117,10 @@ export class IssueService extends APIService {
if (response.data && this.serviceType === EIssueServiceType.ISSUES) { if (response.data && this.serviceType === EIssueServiceType.ISSUES) {
updateIssue({ ...response.data, is_local_update: 1 }); updateIssue({ ...response.data, is_local_update: 1 });
} }
// add is_epic flag when the service type is epic
if (response.data && this.serviceType === EIssueServiceType.EPICS) {
response.data.is_epic = true;
}
return response?.data; return response?.data;
}) })
.catch((error) => { .catch((error) => {

View file

@ -188,6 +188,7 @@ export class IssueStore implements IIssueStore {
updated_by: issue?.updated_by, updated_by: issue?.updated_by,
is_draft: issue?.is_draft, is_draft: issue?.is_draft,
is_subscribed: issue?.is_subscribed, is_subscribed: issue?.is_subscribed,
is_epic: issue?.is_epic,
}; };
this.rootIssueDetailStore.rootIssueStore.issues.addIssue([issuePayload]); this.rootIssueDetailStore.rootIssueStore.issues.addIssue([issuePayload]);