fix: views issues mutation, sidebar link highlight (#1025)
* fix: views issues mutation, sidebar link highlight * fix: show only specific states when type filter is set * fix: delete comment mutation * style: bulk delete issues modal * fix: project settings features mutation
This commit is contained in:
parent
4884ecd668
commit
df96d40cfa
29 changed files with 165 additions and 74 deletions
|
|
@ -21,6 +21,7 @@ import {
|
|||
MODULE_ISSUES_WITH_PARAMS,
|
||||
PROJECT_ISSUES_LIST_WITH_PARAMS,
|
||||
STATES_LIST,
|
||||
VIEW_ISSUES,
|
||||
} from "constants/fetch-keys";
|
||||
|
||||
const useIssuesView = () => {
|
||||
|
|
@ -40,7 +41,7 @@ const useIssuesView = () => {
|
|||
} = useContext(issueViewContext);
|
||||
|
||||
const router = useRouter();
|
||||
const { workspaceSlug, projectId, cycleId, moduleId } = router.query;
|
||||
const { workspaceSlug, projectId, cycleId, moduleId, viewId } = router.query;
|
||||
|
||||
const params: any = {
|
||||
order_by: orderBy,
|
||||
|
|
@ -99,6 +100,14 @@ const useIssuesView = () => {
|
|||
: null
|
||||
);
|
||||
|
||||
const { data: viewIssues } = useSWR(
|
||||
workspaceSlug && projectId && viewId && params ? VIEW_ISSUES(viewId.toString(), params) : null,
|
||||
workspaceSlug && projectId && viewId && params
|
||||
? () =>
|
||||
issuesService.getIssuesWithParams(workspaceSlug.toString(), projectId.toString(), params)
|
||||
: null
|
||||
);
|
||||
|
||||
const { data: states } = useSWR(
|
||||
workspaceSlug && projectId ? STATES_LIST(projectId as string) : null,
|
||||
workspaceSlug && projectId
|
||||
|
|
@ -106,7 +115,17 @@ const useIssuesView = () => {
|
|||
: null
|
||||
);
|
||||
const statesList = getStatesList(states ?? {});
|
||||
const stateIds = statesList.map((state) => state.id);
|
||||
const activeStatesList = statesList.filter(
|
||||
(state) => state.group === "started" || state.group === "unstarted"
|
||||
);
|
||||
const backlogStatesList = statesList.filter((state) => state.group === "backlog");
|
||||
|
||||
const stateIds =
|
||||
filters && filters?.type === "active"
|
||||
? activeStatesList.map((state) => state.id)
|
||||
: filters?.type === "backlog"
|
||||
? backlogStatesList.map((state) => state.id)
|
||||
: statesList.map((state) => state.id);
|
||||
|
||||
const emptyStatesObject: { [key: string]: [] } = {};
|
||||
for (let i = 0; i < stateIds.length; i++) {
|
||||
|
|
@ -118,7 +137,13 @@ const useIssuesView = () => {
|
|||
[key: string]: IIssue[];
|
||||
}
|
||||
| undefined = useMemo(() => {
|
||||
const issuesToGroup = cycleId ? cycleIssues : moduleId ? moduleIssues : projectIssues;
|
||||
const issuesToGroup = cycleId
|
||||
? cycleIssues
|
||||
: moduleId
|
||||
? moduleIssues
|
||||
: viewId
|
||||
? viewIssues
|
||||
: projectIssues;
|
||||
|
||||
if (Array.isArray(issuesToGroup)) return { allIssues: issuesToGroup };
|
||||
if (groupByProperty === "state")
|
||||
|
|
@ -129,9 +154,11 @@ const useIssuesView = () => {
|
|||
projectIssues,
|
||||
cycleIssues,
|
||||
moduleIssues,
|
||||
viewIssues,
|
||||
groupByProperty,
|
||||
cycleId,
|
||||
moduleId,
|
||||
viewId,
|
||||
emptyStatesObject,
|
||||
]);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue