[WEB-5054]feat: added activity filters for state and assignee activities (#7918)

* feat: added activity filters for state and assignee

* chore: removed unused funtion

* chore: lint fix
This commit is contained in:
Vamsi Krishna 2025-10-15 17:12:03 +05:30 committed by GitHub
parent f9cca8e2cb
commit 2b106cbd66
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 70 additions and 13 deletions

View file

@ -308,17 +308,28 @@ export const SUB_WORK_ITEM_AVAILABLE_FILTERS_FOR_WORK_ITEM_PAGE: (keyof IIssueFi
export enum EActivityFilterType {
ACTIVITY = "ACTIVITY",
COMMENT = "COMMENT",
STATE = "STATE",
ASSIGNEE = "ASSIGNEE",
DEFAULT = "DEFAULT",
}
export type TActivityFilters = EActivityFilterType;
export const ACTIVITY_FILTER_TYPE_OPTIONS: Record<TActivityFilters, { labelTranslationKey: string }> = {
export type TActivityFilterOptionsKey = Exclude<TActivityFilters, EActivityFilterType.DEFAULT>;
export const ACTIVITY_FILTER_TYPE_OPTIONS: Record<TActivityFilterOptionsKey, { labelTranslationKey: string }> = {
[EActivityFilterType.ACTIVITY]: {
labelTranslationKey: "common.updates",
},
[EActivityFilterType.COMMENT]: {
labelTranslationKey: "common.comments",
},
[EActivityFilterType.STATE]: {
labelTranslationKey: "common.state",
},
[EActivityFilterType.ASSIGNEE]: {
labelTranslationKey: "common.assignee",
},
};
export type TActivityFilterOption = {
@ -328,12 +339,21 @@ export type TActivityFilterOption = {
onClick: () => void;
};
export const defaultActivityFilters: TActivityFilters[] = [EActivityFilterType.ACTIVITY, EActivityFilterType.COMMENT];
export const defaultActivityFilters: TActivityFilters[] = [
EActivityFilterType.ACTIVITY,
EActivityFilterType.COMMENT,
EActivityFilterType.STATE,
EActivityFilterType.ASSIGNEE,
EActivityFilterType.DEFAULT,
];
export const filterActivityOnSelectedFilters = (
activity: TIssueActivityComment[],
filters: TActivityFilters[]
): TIssueActivityComment[] =>
activity.filter((activity) => filters.includes(activity.activity_type as TActivityFilters));
activity.filter((activity) => {
if (activity.activity_type === EActivityFilterType.DEFAULT) return true;
return filters.includes(activity.activity_type as TActivityFilters);
});
export const ENABLE_ISSUE_DEPENDENCIES = false;

View file

@ -56,6 +56,21 @@ export type TIssueActivityComment =
activity_type: "ACTIVITY";
created_at?: string;
}
| {
id: string;
activity_type: "STATE";
created_at?: string;
}
| {
id: string;
activity_type: "ASSIGNEE";
created_at?: string;
}
| {
id: string;
activity_type: "DEFAULT";
created_at?: string;
}
| {
id: string;
activity_type: "WORKLOG";