forked from github/plane
fix: Filters in all issues and enable dnd in kanban based on roles (#3493)
* fix filters mutation issue * fix all issue filters for state group * disable drag in Kanban for non members * remove unused imports
This commit is contained in:
@@ -31,7 +31,10 @@ export interface IIssueFilterHelperStore {
|
||||
filteredParams: TIssueParams[]
|
||||
): Partial<Record<TIssueParams, string | boolean>>;
|
||||
computedFilters(filters: IIssueFilterOptions): IIssueFilterOptions;
|
||||
computedDisplayFilters(displayFilters: IIssueDisplayFilterOptions): IIssueDisplayFilterOptions;
|
||||
computedDisplayFilters(
|
||||
displayFilters: IIssueDisplayFilterOptions,
|
||||
defaultValues?: IIssueDisplayFilterOptions
|
||||
): IIssueDisplayFilterOptions;
|
||||
computedDisplayProperties(filters: IIssueDisplayProperties): IIssueDisplayProperties;
|
||||
}
|
||||
|
||||
@@ -147,20 +150,27 @@ export class IssueFilterHelperStore implements IIssueFilterHelperStore {
|
||||
* @param {IIssueDisplayFilterOptions} displayFilters
|
||||
* @returns {IIssueDisplayFilterOptions}
|
||||
*/
|
||||
computedDisplayFilters = (displayFilters: IIssueDisplayFilterOptions): IIssueDisplayFilterOptions => ({
|
||||
calendar: {
|
||||
show_weekends: displayFilters?.calendar?.show_weekends || false,
|
||||
layout: displayFilters?.calendar?.layout || "month",
|
||||
},
|
||||
layout: displayFilters?.layout || "list",
|
||||
order_by: displayFilters?.order_by || "sort_order",
|
||||
group_by: displayFilters?.group_by || null,
|
||||
sub_group_by: displayFilters?.sub_group_by || null,
|
||||
type: displayFilters?.type || null,
|
||||
sub_issue: displayFilters?.sub_issue || false,
|
||||
show_empty_groups: displayFilters?.show_empty_groups || false,
|
||||
start_target_date: displayFilters?.start_target_date || false,
|
||||
});
|
||||
computedDisplayFilters = (
|
||||
displayFilters: IIssueDisplayFilterOptions,
|
||||
defaultValues?: IIssueDisplayFilterOptions
|
||||
): IIssueDisplayFilterOptions => {
|
||||
const filters = displayFilters || defaultValues;
|
||||
|
||||
return {
|
||||
calendar: {
|
||||
show_weekends: filters?.calendar?.show_weekends || false,
|
||||
layout: filters?.calendar?.layout || "month",
|
||||
},
|
||||
layout: filters?.layout || "list",
|
||||
order_by: filters?.order_by || "sort_order",
|
||||
group_by: filters?.group_by || null,
|
||||
sub_group_by: filters?.sub_group_by || null,
|
||||
type: filters?.type || null,
|
||||
sub_issue: filters?.sub_issue || false,
|
||||
show_empty_groups: filters?.show_empty_groups || false,
|
||||
start_target_date: filters?.start_target_date || false,
|
||||
};
|
||||
};
|
||||
|
||||
/**
|
||||
* @description This method is used to apply the display properties on the issues
|
||||
|
||||
@@ -90,7 +90,7 @@ export class WorkspaceIssuesFilter extends IssueFilterHelperStore implements IWo
|
||||
const userFilters = this.getIssueFilters(viewId);
|
||||
if (!userFilters) return undefined;
|
||||
|
||||
const filteredParams = handleIssueQueryParamsByLayout(userFilters?.displayFilters?.layout, "issues");
|
||||
const filteredParams = handleIssueQueryParamsByLayout(userFilters?.displayFilters?.layout, "my_issues");
|
||||
if (!filteredParams) return undefined;
|
||||
|
||||
const filteredRouteParams: Partial<Record<TIssueParams, string | boolean>> = this.computedFilteredParams(
|
||||
@@ -126,7 +126,7 @@ export class WorkspaceIssuesFilter extends IssueFilterHelperStore implements IWo
|
||||
};
|
||||
|
||||
const _filters = this.handleIssuesLocalFilters.get(EIssuesStoreType.GLOBAL, workspaceSlug, undefined, viewId);
|
||||
displayFilters = this.computedDisplayFilters(_filters?.display_filters);
|
||||
displayFilters = this.computedDisplayFilters(_filters?.display_filters, { layout: "spreadsheet" });
|
||||
displayProperties = this.computedDisplayProperties(_filters?.display_properties);
|
||||
kanbanFilters = {
|
||||
group_by: _filters?.kanban_filters?.group_by || [],
|
||||
|
||||
Reference in New Issue
Block a user