plane/web/hooks/gantt-chart/view-issues-view.tsx

39 lines
1.0 KiB
TypeScript
Raw Normal View History

import useSWR from "swr";
// services
import issuesService from "services/issues.service";
// hooks
import useIssuesView from "hooks/use-issues-view";
// fetch-keys
import { VIEW_ISSUES } from "constants/fetch-keys";
const useGanttChartViewIssues = (
workspaceSlug: string | undefined,
projectId: string | undefined,
viewId: string | undefined
) => {
const { params } = useIssuesView();
const { order_by, group_by, ...viewGanttParams } = params;
// all issues under the view
const { data: ganttIssues, mutate: mutateGanttIssues } = useSWR(
workspaceSlug && projectId && viewId
? VIEW_ISSUES(viewId.toString(), { ...viewGanttParams, order_by, start_target_date: true })
: null,
workspaceSlug && projectId && viewId
? () =>
issuesService.getIssuesWithParams(workspaceSlug.toString(), projectId.toString(), {
...viewGanttParams,
start_target_date: true,
})
: null
);
return {
ganttIssues,
mutateGanttIssues,
};
};
export default useGanttChartViewIssues;