[WEB-1319] fix: handled issue filters mutation and updated the useParams with useSearchParams (#4473)
* chore: updated issue filters in space * chore: persisting the query params even when we switch layouts --------- Co-authored-by: sriram veeraghanta <veeraghanta.sriram@gmail.com>
This commit is contained in:
parent
8ecc461fb1
commit
2bf2e98b00
37 changed files with 594 additions and 493 deletions
|
|
@ -1,11 +1,11 @@
|
|||
"use client";
|
||||
|
||||
// types
|
||||
import { issuePriorityFilter } from "@/constants/data";
|
||||
import { TIssuePriorityKey } from "types/issue";
|
||||
import { issuePriorityFilter } from "@/constants/issue";
|
||||
import { TIssueFilterPriority } from "@/types/issue";
|
||||
// constants
|
||||
|
||||
export const IssueBlockPriority = ({ priority }: { priority: TIssuePriorityKey | null }) => {
|
||||
export const IssueBlockPriority = ({ priority }: { priority: TIssueFilterPriority | null }) => {
|
||||
const priority_detail = priority != null ? issuePriorityFilter(priority) : null;
|
||||
|
||||
if (priority_detail === null) return <></>;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
// ui
|
||||
import { StateGroupIcon } from "@plane/ui";
|
||||
// constants
|
||||
import { issueGroupFilter } from "@/constants/data";
|
||||
import { issueGroupFilter } from "@/constants/issue";
|
||||
|
||||
export const IssueBlockState = ({ state }: any) => {
|
||||
const stateGroup = issueGroupFilter(state.group);
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ type IssueKanBanBlockProps = {
|
|||
|
||||
export const IssueKanBanBlock: FC<IssueKanBanBlockProps> = observer((props) => {
|
||||
const { workspaceSlug, projectId, params, issue } = props;
|
||||
const { board, priorities, states, labels } = params;
|
||||
const { board, priority, states, labels } = params;
|
||||
// store
|
||||
const { project } = useProject();
|
||||
const { setPeekId } = useIssueDetails();
|
||||
|
|
@ -33,7 +33,7 @@ export const IssueKanBanBlock: FC<IssueKanBanBlockProps> = observer((props) => {
|
|||
setPeekId(issue.id);
|
||||
const params: any = { board: board, peekId: issue.id };
|
||||
if (states && states.length > 0) params.states = states;
|
||||
if (priorities && priorities.length > 0) params.priorities = priorities;
|
||||
if (priority && priority.length > 0) params.priority = priority;
|
||||
if (labels && labels.length > 0) params.labels = labels;
|
||||
router.push(`/${workspaceSlug}/${projectId}?${searchParams}`);
|
||||
};
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import { observer } from "mobx-react-lite";
|
|||
// ui
|
||||
import { StateGroupIcon } from "@plane/ui";
|
||||
// constants
|
||||
import { issueGroupFilter } from "@/constants/data";
|
||||
import { issueGroupFilter } from "@/constants/issue";
|
||||
// mobx hook
|
||||
// import { useIssue } from "@/hooks/store";
|
||||
// interfaces
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ type IssueListBlockProps = {
|
|||
|
||||
export const IssueListBlock: FC<IssueListBlockProps> = observer((props) => {
|
||||
const { workspaceSlug, projectId, issue } = props;
|
||||
const { board, states, priorities, labels } = useParams<any>();
|
||||
const { board, states, priority, labels } = useParams<any>();
|
||||
const searchParams = useSearchParams();
|
||||
// store
|
||||
const { project } = useProject();
|
||||
|
|
@ -33,7 +33,7 @@ export const IssueListBlock: FC<IssueListBlockProps> = observer((props) => {
|
|||
setPeekId(issue.id);
|
||||
const params: any = { board: board, peekId: issue.id };
|
||||
if (states && states.length > 0) params.states = states;
|
||||
if (priorities && priorities.length > 0) params.priorities = priorities;
|
||||
if (priority && priority.length > 0) params.priority = priority;
|
||||
if (labels && labels.length > 0) params.labels = labels;
|
||||
router.push(`/${workspaceSlug}/${projectId}?${searchParams}`);
|
||||
// router.push(`/${workspace_slug?.toString()}/${project_slug}?board=${board?.toString()}&peekId=${issue.id}`);
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import { observer } from "mobx-react-lite";
|
|||
// ui
|
||||
import { StateGroupIcon } from "@plane/ui";
|
||||
// constants
|
||||
import { issueGroupFilter } from "@/constants/data";
|
||||
import { issueGroupFilter } from "@/constants/issue";
|
||||
// mobx hook
|
||||
// import { useIssue } from "@/hooks/store";
|
||||
// types
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue