MCPcopy
hub / github.com/makeplane/plane / useIssues

Function useIssues

apps/web/core/hooks/store/use-issues.ts:88–163  ·  view source on GitHub ↗
(storeType?: T)

Source from the content-addressed store, hash-verified

86};
87
88export const useIssues = <T extends EIssuesStoreType>(storeType?: T): TStoreIssues[T] => {
89 const context = useContext(StoreContext);
90 if (context === undefined) throw new Error("useIssues must be used within StoreProvider");
91
92 const defaultStore: defaultIssueStore = {
93 issueMap: context.issue.issues.issuesMap,
94 };
95
96 switch (storeType) {
97 case EIssuesStoreType.GLOBAL:
98 return merge(defaultStore, {
99 issues: context.issue.workspaceIssues,
100 issuesFilter: context.issue.workspaceIssuesFilter,
101 }) as TStoreIssues[T];
102 case EIssuesStoreType.WORKSPACE_DRAFT:
103 return merge(defaultStore, {
104 issues: context.issue.workspaceDraftIssues,
105 issuesFilter: context.issue.workspaceDraftIssuesFilter,
106 }) as TStoreIssues[T];
107 case EIssuesStoreType.PROFILE:
108 return merge(defaultStore, {
109 issues: context.issue.profileIssues,
110 issuesFilter: context.issue.profileIssuesFilter,
111 }) as TStoreIssues[T];
112 case EIssuesStoreType.TEAM:
113 return merge(defaultStore, {
114 issues: context.issue.teamIssues,
115 issuesFilter: context.issue.teamIssuesFilter,
116 }) as TStoreIssues[T];
117 case EIssuesStoreType.PROJECT:
118 return merge(defaultStore, {
119 issues: context.issue.projectIssues,
120 issuesFilter: context.issue.projectIssuesFilter,
121 }) as TStoreIssues[T];
122 case EIssuesStoreType.CYCLE:
123 return merge(defaultStore, {
124 issues: context.issue.cycleIssues,
125 issuesFilter: context.issue.cycleIssuesFilter,
126 }) as TStoreIssues[T];
127 case EIssuesStoreType.MODULE:
128 return merge(defaultStore, {
129 issues: context.issue.moduleIssues,
130 issuesFilter: context.issue.moduleIssuesFilter,
131 }) as TStoreIssues[T];
132 case EIssuesStoreType.TEAM_VIEW:
133 return merge(defaultStore, {
134 issues: context.issue.teamViewIssues,
135 issuesFilter: context.issue.teamViewIssuesFilter,
136 }) as TStoreIssues[T];
137 case EIssuesStoreType.PROJECT_VIEW:
138 return merge(defaultStore, {
139 issues: context.issue.projectViewIssues,
140 issuesFilter: context.issue.projectViewIssuesFilter,
141 }) as TStoreIssues[T];
142 case EIssuesStoreType.ARCHIVED:
143 return merge(defaultStore, {
144 issues: context.issue.archivedIssues,
145 issuesFilter: context.issue.archivedIssuesFilter,

Callers 15

header.tsxFile · 0.90
cycle-stats.tsxFile · 0.90
useCyclesDetailsFunction · 0.90
profile-issues.tsxFile · 0.90
modal.tsxFile · 0.90
ArchiveIssueModalFunction · 0.90
filters.tsxFile · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected