From 6ff7dbdb3a82bbcebc8a6987039515666749ab3a Mon Sep 17 00:00:00 2001 From: Anmol Singh Bhatia <121005188+anmolsinghbhatia@users.noreply.github.com> Date: Fri, 14 Feb 2025 17:00:45 +0530 Subject: [PATCH] [WEB-3395] fix: create sub work item operation (#2504) * fix: add sub work item operation * chore: code refactor --- .../epics/details/main/overview-section-root.tsx | 1 + .../details/main/overview-section/modals-root.tsx | 13 ++++++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/web/ee/components/epics/details/main/overview-section-root.tsx b/web/ee/components/epics/details/main/overview-section-root.tsx index 4b7c728a43..6d1c41f5a3 100644 --- a/web/ee/components/epics/details/main/overview-section-root.tsx +++ b/web/ee/components/epics/details/main/overview-section-root.tsx @@ -54,6 +54,7 @@ export const EpicOverviewRoot: FC = observer((props) => { containerClassName="" tabListClassName="w-36" tabListContainerClassName="justify-between" + tabClassName="px-2 py-1" actions={
{storedValue === "issues" ? ( diff --git a/web/ee/components/epics/details/main/overview-section/modals-root.tsx b/web/ee/components/epics/details/main/overview-section/modals-root.tsx index 9fa2abea68..ee676367d8 100644 --- a/web/ee/components/epics/details/main/overview-section/modals-root.tsx +++ b/web/ee/components/epics/details/main/overview-section/modals-root.tsx @@ -34,9 +34,10 @@ export const EpicOverviewWidgetModals: FC = observer((props) => { issueCrudOperationState, setIssueCrudOperationState, createSubIssues: createEpicSubIssues, + issue: { getIssueById }, } = useIssueDetail(EIssueServiceType.EPICS); const { createSubIssues } = useIssueDetail(); - const { fetchEpicAnalytics } = useIssueTypes(); + const { fetchEpicAnalytics, getIssueTypeById } = useIssueTypes(); const handleAddSubIssueResponse = (successMessage: string) => { setToast({ @@ -116,10 +117,16 @@ export const EpicOverviewWidgetModals: FC = observer((props) => { setLastWidgetAction("sub-issues"); }; + // derived values + const handleCreateUpdateModalOnSubmit = async (_issue: TIssue) => { if (_issue.parent_id) { - if (_issue.parent_id === epicId) { - await addSubIssueToEpic(workspaceSlug, projectId, epicId, [_issue.id]).then(() => { + const parentIssue = getIssueById(_issue.parent_id); + const parentIssueTypeDetails = parentIssue?.type_id ? getIssueTypeById(parentIssue.type_id) : undefined; + const isParentEpic = parentIssueTypeDetails?.is_epic; + + if (isParentEpic) { + await addSubIssueToEpic(workspaceSlug, projectId, _issue.parent_id, [_issue.id]).then(() => { fetchEpicAnalytics(workspaceSlug, projectId, epicId); }); } else {