[WEB-4634]chore: refactor for work items store (#7538)
* chore: refactor for work items store * chore: updated conditions order
This commit is contained in:
parent
21c59692f9
commit
9de5b1a009
15 changed files with 90 additions and 7 deletions
|
|
@ -6,6 +6,7 @@ import { StoreContext } from "@/lib/store-context";
|
|||
import { IProjectEpics, IProjectEpicsFilter } from "@/plane-web/store/issue/epic";
|
||||
// types
|
||||
import { ITeamIssues, ITeamIssuesFilter } from "@/plane-web/store/issue/team";
|
||||
import { ITeamProjectWorkItemsFilter, ITeamProjectWorkItems } from "@/plane-web/store/issue/team-project";
|
||||
import { ITeamViewIssues, ITeamViewIssuesFilter } from "@/plane-web/store/issue/team-views";
|
||||
import { IWorkspaceIssues } from "@/plane-web/store/issue/workspace/issue.store";
|
||||
import { IArchivedIssues, IArchivedIssuesFilter } from "@/store/issue/archived";
|
||||
|
|
@ -76,6 +77,10 @@ export type TStoreIssues = {
|
|||
issues: IProjectEpics;
|
||||
issuesFilter: IProjectEpicsFilter;
|
||||
};
|
||||
[EIssuesStoreType.TEAM_PROJECT_WORK_ITEMS]: defaultIssueStore & {
|
||||
issues: ITeamProjectWorkItems;
|
||||
issuesFilter: ITeamProjectWorkItemsFilter;
|
||||
};
|
||||
};
|
||||
|
||||
export const useIssues = <T extends EIssuesStoreType>(storeType?: T): TStoreIssues[T] => {
|
||||
|
|
@ -147,6 +152,11 @@ export const useIssues = <T extends EIssuesStoreType>(storeType?: T): TStoreIssu
|
|||
issues: context.issue.projectEpics,
|
||||
issuesFilter: context.issue.projectEpicsFilter,
|
||||
}) as TStoreIssues[T];
|
||||
case EIssuesStoreType.TEAM_PROJECT_WORK_ITEMS:
|
||||
return merge(defaultStore, {
|
||||
issues: context.issue.teamProjectWorkItems,
|
||||
issuesFilter: context.issue.teamProjectWorkItemsFilter,
|
||||
}) as TStoreIssues[T];
|
||||
default:
|
||||
return merge(defaultStore, {
|
||||
issues: context.issue.projectIssues,
|
||||
|
|
|
|||
|
|
@ -19,7 +19,8 @@ type DNDStoreType =
|
|||
| EIssuesStoreType.WORKSPACE_DRAFT
|
||||
| EIssuesStoreType.TEAM
|
||||
| EIssuesStoreType.TEAM_VIEW
|
||||
| EIssuesStoreType.EPIC;
|
||||
| EIssuesStoreType.EPIC
|
||||
| EIssuesStoreType.TEAM_PROJECT_WORK_ITEMS;
|
||||
|
||||
export const useGroupIssuesDragNDrop = (
|
||||
storeType: DNDStoreType,
|
||||
|
|
|
|||
|
|
@ -17,6 +17,10 @@ export const useIssueStoreType = () => {
|
|||
|
||||
if (userId) return EIssuesStoreType.PROFILE;
|
||||
|
||||
if (teamspaceId && viewId) return EIssuesStoreType.TEAM_VIEW;
|
||||
|
||||
if (teamspaceId && projectId) return EIssuesStoreType.TEAM_PROJECT_WORK_ITEMS;
|
||||
|
||||
if (viewId) return EIssuesStoreType.PROJECT_VIEW;
|
||||
|
||||
if (cycleId) return EIssuesStoreType.CYCLE;
|
||||
|
|
@ -29,8 +33,6 @@ export const useIssueStoreType = () => {
|
|||
|
||||
if (teamspaceId) return EIssuesStoreType.TEAM;
|
||||
|
||||
if (teamspaceId && viewId) return EIssuesStoreType.TEAM_VIEW;
|
||||
|
||||
return EIssuesStoreType.PROJECT;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,11 @@ import {
|
|||
TLoader,
|
||||
TProfileViews,
|
||||
} from "@plane/types";
|
||||
import { useTeamIssueActions, useTeamViewIssueActions } from "@/plane-web/helpers/issue-action-helper";
|
||||
import {
|
||||
useTeamIssueActions,
|
||||
useTeamViewIssueActions,
|
||||
useTeamProjectWorkItemsActions,
|
||||
} from "@/plane-web/helpers/issue-action-helper";
|
||||
import { useIssues } from "./store";
|
||||
|
||||
export interface IssueActions {
|
||||
|
|
@ -51,6 +55,7 @@ export const useIssuesActions = (storeType: EIssuesStoreType): IssueActions => {
|
|||
const draftIssueActions = useDraftIssueActions();
|
||||
const archivedIssueActions = useArchivedIssueActions();
|
||||
const workspaceDraftIssueActions = useWorkspaceDraftIssueActions();
|
||||
const teamProjectWorkItemsActions = useTeamProjectWorkItemsActions();
|
||||
|
||||
switch (storeType) {
|
||||
case EIssuesStoreType.TEAM_VIEW:
|
||||
|
|
@ -76,6 +81,8 @@ export const useIssuesActions = (storeType: EIssuesStoreType): IssueActions => {
|
|||
return workspaceDraftIssueActions;
|
||||
case EIssuesStoreType.EPIC:
|
||||
return projectEpicsActions;
|
||||
case EIssuesStoreType.TEAM_PROJECT_WORK_ITEMS:
|
||||
return teamProjectWorkItemsActions;
|
||||
case EIssuesStoreType.PROJECT:
|
||||
default:
|
||||
return projectIssueActions;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue