From 15215c1cc02462832baab24a0205143d1094f326 Mon Sep 17 00:00:00 2001 From: Anmol Singh Bhatia Date: Mon, 14 Oct 2024 14:41:20 +0530 Subject: [PATCH 1/4] fix: mutation fix --- web/core/store/issue/workspace-draft/issue.store.ts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/web/core/store/issue/workspace-draft/issue.store.ts b/web/core/store/issue/workspace-draft/issue.store.ts index fcb166525a3..188ff70f94c 100644 --- a/web/core/store/issue/workspace-draft/issue.store.ts +++ b/web/core/store/issue/workspace-draft/issue.store.ts @@ -299,8 +299,10 @@ export class WorkspaceDraftIssues implements IWorkspaceDraftIssues { const response = await workspaceDraftService.deleteIssue(workspaceSlug, issueId); runInAction(() => { - unset(this.issueMapIds[workspaceSlug], issueId); - unset(this.issuesMap, issueId); + // Remove the issue from the issueMapIds + this.issueMapIds[workspaceSlug] = (this.issueMapIds[workspaceSlug] || []).filter((id) => id !== issueId); + // Remove the issue from the issuesMap + delete this.issuesMap[issueId]; // reduce the count of issues in the pagination info if (this.paginationInfo?.total_count) { set(this, "paginationInfo", { @@ -324,8 +326,10 @@ export class WorkspaceDraftIssues implements IWorkspaceDraftIssues { const response = await workspaceDraftService.moveIssue(workspaceSlug, issueId, payload); runInAction(() => { - unset(this.issueMapIds[workspaceSlug], issueId); - unset(this.issuesMap, issueId); + // Remove the issue from the issueMapIds + this.issueMapIds[workspaceSlug] = (this.issueMapIds[workspaceSlug] || []).filter((id) => id !== issueId); + // Remove the issue from the issuesMap + delete this.issuesMap[issueId]; // reduce the count of issues in the pagination info if (this.paginationInfo?.total_count) { set(this, "paginationInfo", { From eb380a037fe23ffd632c9ef6b515eb17ae1d27aa Mon Sep 17 00:00:00 2001 From: Anmol Singh Bhatia Date: Mon, 14 Oct 2024 14:42:41 +0530 Subject: [PATCH 2/4] chore: code refactor --- .../roots/workspace-draft-root.tsx | 49 ------------------- 1 file changed, 49 deletions(-) delete mode 100644 web/core/components/issues/issue-layouts/filters/applied-filters/roots/workspace-draft-root.tsx diff --git a/web/core/components/issues/issue-layouts/filters/applied-filters/roots/workspace-draft-root.tsx b/web/core/components/issues/issue-layouts/filters/applied-filters/roots/workspace-draft-root.tsx deleted file mode 100644 index feccca5f61c..00000000000 --- a/web/core/components/issues/issue-layouts/filters/applied-filters/roots/workspace-draft-root.tsx +++ /dev/null @@ -1,49 +0,0 @@ -import React, { useCallback } from "react"; -import { observer } from "mobx-react"; -import { useParams } from "next/navigation"; -import { WorkspaceDraftIssueQuickActions } from "@/components/issues/issue-layouts/quick-action-dropdowns"; -import { IssuePeekOverview } from "@/components/issues/peek-overview"; -import { EIssuesStoreType } from "@/constants/issue"; -import { useUserPermissions } from "@/hooks/store"; -import { IssuesStoreContext } from "@/hooks/use-issue-layout-store"; -import { useWorkspaceIssueProperties } from "@/hooks/use-workspace-issue-properties"; -import { EUserPermissions, EUserPermissionsLevel } from "@/plane-web/constants/user-permissions"; -import { BaseListRoot } from "../../../list/base-list-root"; - -export const WorkspaceDraftIssueLayoutRoot = observer(() => { - // router - const { workspaceSlug } = useParams(); - - //swr hook for fetching issue properties - useWorkspaceIssueProperties(workspaceSlug); - // store - const { allowPermissions } = useUserPermissions(); - - const canEditProperties = useCallback( - (projectId: string | undefined) => { - if (!projectId) return false; - return allowPermissions( - [EUserPermissions.ADMIN, EUserPermissions.MEMBER], - EUserPermissionsLevel.PROJECT, - workspaceSlug.toString(), - projectId - ); - }, - [workspaceSlug, allowPermissions] - ); - - return ( - -
-
- - -
-
-
- ); -}); From 73e0d0d6a889fdf4997dec8409622c3df4a704e3 Mon Sep 17 00:00:00 2001 From: Anmol Singh Bhatia Date: Mon, 14 Oct 2024 14:56:02 +0530 Subject: [PATCH 3/4] chore: code refactor --- web/core/components/issues/workspace-draft/root.tsx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/web/core/components/issues/workspace-draft/root.tsx b/web/core/components/issues/workspace-draft/root.tsx index bfb70fc45dc..f439e2002ff 100644 --- a/web/core/components/issues/workspace-draft/root.tsx +++ b/web/core/components/issues/workspace-draft/root.tsx @@ -40,10 +40,6 @@ export const WorkspaceDraftIssuesRoot: FC = observer( await fetchIssues(workspaceSlug, "pagination", EDraftIssuePaginationType.NEXT); }; - if (loader === "init-loader" && issueIds.length <= 0) { - return ; - } - if (workspaceProjectIds?.length === 0) return ( = observer( /> ); - if (loader === "empty-state" && issueIds.length <= 0) return ; + if (issueIds.length <= 0) return ; + + if (loader === "init-loader") { + return ; + } return (
From 5020a2cfd84d970dfe1e65fcdff4162ac40009ff Mon Sep 17 00:00:00 2001 From: Anmol Singh Bhatia Date: Mon, 14 Oct 2024 15:56:29 +0530 Subject: [PATCH 4/4] chore: useWorkspaceIssueProperties added --- web/core/components/issues/workspace-draft/root.tsx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/web/core/components/issues/workspace-draft/root.tsx b/web/core/components/issues/workspace-draft/root.tsx index f439e2002ff..f0f392f3f7d 100644 --- a/web/core/components/issues/workspace-draft/root.tsx +++ b/web/core/components/issues/workspace-draft/root.tsx @@ -12,6 +12,7 @@ import { EDraftIssuePaginationType } from "@/constants/workspace-drafts"; import { cn } from "@/helpers/common.helper"; // hooks import { useCommandPalette, useProject, useWorkspaceDraftIssues } from "@/hooks/store"; +import { useWorkspaceIssueProperties } from "@/hooks/use-workspace-issue-properties"; // components import { DraftIssueBlock } from "./draft-issue-block"; import { WorkspaceDraftEmptyState } from "./empty-state"; @@ -28,6 +29,9 @@ export const WorkspaceDraftIssuesRoot: FC = observer( const { workspaceProjectIds } = useProject(); const { toggleCreateProjectModal } = useCommandPalette(); + //swr hook for fetching issue properties + useWorkspaceIssueProperties(workspaceSlug); + // fetching issues useSWR( workspaceSlug && issueIds.length <= 0 ? `WORKSPACE_DRAFT_ISSUES_${workspaceSlug}` : null,