From dacafa341c51dc3ef7e2a67879d5357c9f2a57b4 Mon Sep 17 00:00:00 2001 From: Vamsi krishna Date: Thu, 19 Dec 2024 17:41:25 +0530 Subject: [PATCH 1/2] chore: optimized api calls for sub-issue widget --- .../sub-issues/content.tsx | 22 +++---------------- 1 file changed, 3 insertions(+), 19 deletions(-) diff --git a/web/core/components/issues/issue-detail-widgets/sub-issues/content.tsx b/web/core/components/issues/issue-detail-widgets/sub-issues/content.tsx index 2bd9c90bfb5..a5082af133f 100644 --- a/web/core/components/issues/issue-detail-widgets/sub-issues/content.tsx +++ b/web/core/components/issues/issue-detail-widgets/sub-issues/content.tsx @@ -1,5 +1,5 @@ "use client"; -import React, { FC, useCallback, useEffect, useState } from "react"; +import React, { FC, useEffect, useState } from "react"; import { observer } from "mobx-react"; import { EIssueServiceType } from "@plane/constants"; import { TIssue, TIssueServiceType } from "@plane/types"; @@ -79,26 +79,10 @@ export const SubIssuesCollapsibleContent: FC = observer((props) => { }); }; - const handleFetchSubIssues = useCallback(async () => { - if (!subIssueHelpers.issue_visibility.includes(parentIssueId)) { - setSubIssueHelpers(`${parentIssueId}_root`, "preview_loader", parentIssueId); - await subIssueOperations.fetchSubIssues(workspaceSlug, projectId, parentIssueId); - setSubIssueHelpers(`${parentIssueId}_root`, "preview_loader", parentIssueId); - } - setSubIssueHelpers(`${parentIssueId}_root`, "issue_visibility", parentIssueId); - }, [ - parentIssueId, - projectId, - setSubIssueHelpers, - subIssueHelpers.issue_visibility, - subIssueOperations, - workspaceSlug, - ]); - useEffect(() => { - handleFetchSubIssues(); + setSubIssueHelpers(`${parentIssueId}_root`, "issue_visibility", parentIssueId); return () => { - handleFetchSubIssues(); + setSubIssueHelpers(`${parentIssueId}_root`, "issue_visibility", parentIssueId); }; // eslint-disable-next-line react-hooks/exhaustive-deps }, [parentIssueId]); From 8f1a543a4361d37ce0e577958770d1b2be9ceb17 Mon Sep 17 00:00:00 2001 From: Vamsi krishna Date: Thu, 19 Dec 2024 20:45:47 +0530 Subject: [PATCH 2/2] chore: added api call for on sub issues widget click --- .../sub-issues/content.tsx | 23 +++++++++++++++---- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/web/core/components/issues/issue-detail-widgets/sub-issues/content.tsx b/web/core/components/issues/issue-detail-widgets/sub-issues/content.tsx index a5082af133f..93c335a4439 100644 --- a/web/core/components/issues/issue-detail-widgets/sub-issues/content.tsx +++ b/web/core/components/issues/issue-detail-widgets/sub-issues/content.tsx @@ -1,5 +1,5 @@ "use client"; -import React, { FC, useEffect, useState } from "react"; +import React, { FC, useEffect, useState, useCallback } from "react"; import { observer } from "mobx-react"; import { EIssueServiceType } from "@plane/constants"; import { TIssue, TIssueServiceType } from "@plane/types"; @@ -79,11 +79,24 @@ export const SubIssuesCollapsibleContent: FC = observer((props) => { }); }; - useEffect(() => { + const handleFetchSubIssues = useCallback(async () => { + if (!subIssueHelpers.issue_visibility.includes(parentIssueId)) { + setSubIssueHelpers(`${parentIssueId}_root`, "preview_loader", parentIssueId); + await subIssueOperations.fetchSubIssues(workspaceSlug, projectId, parentIssueId); + setSubIssueHelpers(`${parentIssueId}_root`, "preview_loader", parentIssueId); + } setSubIssueHelpers(`${parentIssueId}_root`, "issue_visibility", parentIssueId); - return () => { - setSubIssueHelpers(`${parentIssueId}_root`, "issue_visibility", parentIssueId); - }; + }, [ + parentIssueId, + projectId, + setSubIssueHelpers, + subIssueHelpers.issue_visibility, + subIssueOperations, + workspaceSlug, + ]); + + useEffect(() => { + handleFetchSubIssues(); // eslint-disable-next-line react-hooks/exhaustive-deps }, [parentIssueId]);