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:
Aaryan Khandelwal 2023-05-11 02:15:39 +05:30 committed by GitHub
parent 4884ecd668
commit df96d40cfa
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
29 changed files with 165 additions and 74 deletions

View file

@ -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,
]);