forked from github/plane
chore: peek overview remove parent improvement (#4059)
This commit is contained in:
parent
e7fc942514
commit
92fd7b6977
@ -4,7 +4,7 @@ import Link from "next/link";
|
|||||||
import { Pencil, X } from "lucide-react";
|
import { Pencil, X } from "lucide-react";
|
||||||
// hooks
|
// hooks
|
||||||
// components
|
// components
|
||||||
import { Tooltip } from "@plane/ui";
|
import { TOAST_TYPE, Tooltip, setToast } from "@plane/ui";
|
||||||
import { ParentIssuesListModal } from "@/components/issues";
|
import { ParentIssuesListModal } from "@/components/issues";
|
||||||
// ui
|
// ui
|
||||||
// helpers
|
// helpers
|
||||||
@ -30,7 +30,13 @@ export const IssueParentSelect: React.FC<TIssueParentSelect> = observer((props)
|
|||||||
const {
|
const {
|
||||||
issue: { getIssueById },
|
issue: { getIssueById },
|
||||||
} = useIssueDetail();
|
} = useIssueDetail();
|
||||||
const { isParentIssueModalOpen, toggleParentIssueModal } = useIssueDetail();
|
const {
|
||||||
|
isParentIssueModalOpen,
|
||||||
|
toggleParentIssueModal,
|
||||||
|
removeSubIssue,
|
||||||
|
subIssues: { setSubIssueHelpers },
|
||||||
|
} = useIssueDetail();
|
||||||
|
|
||||||
// derived values
|
// derived values
|
||||||
const issue = getIssueById(issueId);
|
const issue = getIssueById(issueId);
|
||||||
const parentIssue = issue?.parent_id ? getIssueById(issue.parent_id) : undefined;
|
const parentIssue = issue?.parent_id ? getIssueById(issue.parent_id) : undefined;
|
||||||
@ -47,6 +53,25 @@ export const IssueParentSelect: React.FC<TIssueParentSelect> = observer((props)
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const handleRemoveSubIssue = async (
|
||||||
|
workspaceSlug: string,
|
||||||
|
projectId: string,
|
||||||
|
parentIssueId: string,
|
||||||
|
issueId: string
|
||||||
|
) => {
|
||||||
|
try {
|
||||||
|
setSubIssueHelpers(parentIssueId, "issue_loader", issueId);
|
||||||
|
await removeSubIssue(workspaceSlug, projectId, parentIssueId, issueId);
|
||||||
|
setSubIssueHelpers(parentIssueId, "issue_loader", issueId);
|
||||||
|
} catch (error) {
|
||||||
|
setToast({
|
||||||
|
type: TOAST_TYPE.ERROR,
|
||||||
|
title: "Error",
|
||||||
|
message: "Something went wrong",
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
if (!issue) return <></>;
|
if (!issue) return <></>;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
@ -92,7 +117,7 @@ export const IssueParentSelect: React.FC<TIssueParentSelect> = observer((props)
|
|||||||
onClick={(e) => {
|
onClick={(e) => {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
handleParentIssue(null);
|
handleRemoveSubIssue(workspaceSlug, projectId, parentIssue.id, issueId);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<X className="h-2.5 w-2.5 text-custom-text-300 hover:text-red-500" />
|
<X className="h-2.5 w-2.5 text-custom-text-300 hover:text-red-500" />
|
||||||
|
Loading…
Reference in New Issue
Block a user