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:
rahulramesha
2024-01-29 15:27:14 +05:30
committed by GitHub
parent f7f1f2bea4
commit b3393f5c48
6 changed files with 80 additions and 66 deletions

View File

@@ -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

View File

@@ -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 || [],