[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:
guru_sainath 2024-05-16 13:07:47 +05:30 committed by GitHub
parent 8ecc461fb1
commit 2bf2e98b00
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
37 changed files with 594 additions and 493 deletions

View file

@ -1,6 +0,0 @@
export interface ILayoutDisplayFiltersOptions {
filters: (keyof IIssueFilterOptions)[];
display_properties: boolean | null;
display_filters: null;
extra_options: null;
}

View file

@ -1,30 +1,47 @@
export type TIssueBoardKeys = "list" | "kanban" | "calendar" | "spreadsheet" | "gantt";
export type TIssueLayout = "list" | "kanban" | "calendar" | "spreadsheet" | "gantt";
export type TIssueLayoutOptions = {
[key in TIssueLayout]: boolean;
};
export type TIssueLayoutViews = {
[key in TIssueLayout]: { title: string; icon: string; className: string };
};
export interface IIssueBoardViews {
key: TIssueBoardKeys;
export type TIssueFilterPriority = "urgent" | "high" | "medium" | "low" | "none";
export type TIssueFilterPriorityObject = {
key: TIssueFilterPriority;
title: string;
icon: string;
className: string;
}
export type TIssuePriorityKey = "urgent" | "high" | "medium" | "low" | "none";
export type TIssuePriorityTitle = "Urgent" | "High" | "Medium" | "Low" | "None";
export interface IIssuePriorityFilters {
key: TIssuePriorityKey;
title: TIssuePriorityTitle;
className: string;
icon: string;
}
};
export type TIssueGroupKey = "backlog" | "unstarted" | "started" | "completed" | "cancelled";
export type TIssueGroupTitle = "Backlog" | "Unstarted" | "Started" | "Completed" | "Cancelled";
export interface IIssueGroup {
key: TIssueGroupKey;
title: TIssueGroupTitle;
export type TIssueFilterState = "backlog" | "unstarted" | "started" | "completed" | "cancelled";
export type TIssueFilterStateObject = {
key: TIssueFilterState;
title: string;
color: string;
className: string;
}
};
export type TIssueFilterKeys = "priority" | "state" | "labels";
export type TDisplayFilters = {
layout: TIssueLayout;
};
export type TFilters = {
state: TIssueFilterState[];
priority: TIssueFilterPriority[];
labels: string[];
};
export type TIssueFilters = {
display_filters: TDisplayFilters;
filters: TFilters;
};
export type TIssueQueryFilters = Partial<TFilters>;
export type TIssueQueryFiltersParams = Partial<Record<keyof TFilters, string>>;
export interface IIssue {
id: string;