chore: handled error in activityIdsByIssueId in store and added new filed in the project types and handled the default active filters in constants in activity constants (#5185)

This commit is contained in:
guru_sainath 2024-07-22 13:57:17 +05:30 committed by GitHub
parent 8f9b568a65
commit eca79f33b6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 8 additions and 7 deletions

View file

@ -35,6 +35,7 @@ export interface IProject {
anchor: string | null; anchor: string | null;
is_favorite: boolean; is_favorite: boolean;
is_member: boolean; is_member: boolean;
is_time_tracking_enabled: boolean;
logo_props: TLogoProps; logo_props: TLogoProps;
member_role: EUserProjectRoles | null; member_role: EUserProjectRoles | null;
members: IProjectMemberLite[]; members: IProjectMemberLite[];

View file

@ -16,6 +16,8 @@ export const ACTIVITY_FILTER_TYPE_OPTIONS: Record<EActivityFilterType, { label:
}, },
}; };
export const defaultActivityFilters: TActivityFilters[] = [EActivityFilterType.ACTIVITY, EActivityFilterType.COMMENT];
export const filterActivityOnSelectedFilters = ( export const filterActivityOnSelectedFilters = (
activity: TIssueActivityComment[], activity: TIssueActivityComment[],
filter: TActivityFilters[] filter: TActivityFilters[]

View file

@ -6,6 +6,7 @@ import sortBy from "lodash/sortBy";
import uniq from "lodash/uniq"; import uniq from "lodash/uniq";
import update from "lodash/update"; import update from "lodash/update";
import { action, makeObservable, observable, runInAction } from "mobx"; import { action, makeObservable, observable, runInAction } from "mobx";
import { computedFn } from "mobx-utils";
import { TIssueActivityComment, TIssueActivity, TIssueActivityMap, TIssueActivityIdMap } from "@plane/types"; import { TIssueActivityComment, TIssueActivity, TIssueActivityMap, TIssueActivityIdMap } from "@plane/types";
// plane web constants // plane web constants
import { EActivityFilterType } from "@/plane-web/constants/issues"; import { EActivityFilterType } from "@/plane-web/constants/issues";
@ -70,7 +71,7 @@ export class IssueActivityStore implements IIssueActivityStore {
return this.activityMap[activityId] ?? undefined; return this.activityMap[activityId] ?? undefined;
}; };
public getActivityCommentByIssueId(issueId: string) { getActivityCommentByIssueId = computedFn((issueId: string) => {
if (!issueId) return undefined; if (!issueId) return undefined;
let activityComments: TIssueActivityComment[] = []; let activityComments: TIssueActivityComment[] = [];
@ -101,7 +102,7 @@ export class IssueActivityStore implements IIssueActivityStore {
activityComments = sortBy(activityComments, "created_at"); activityComments = sortBy(activityComments, "created_at");
return activityComments; return activityComments;
} });
// actions // actions
public async fetchActivities( public async fetchActivities(

View file

@ -14,7 +14,7 @@ import { useIssueDetail, useProject } from "@/hooks/store";
// plane web components // plane web components
import { IssueActivityWorklogCreateButton } from "@/plane-web/components/issues/worklog"; import { IssueActivityWorklogCreateButton } from "@/plane-web/components/issues/worklog";
// plane web constants // plane web constants
import { TActivityFilters, EActivityFilterType } from "@/plane-web/constants/issues"; import { TActivityFilters, defaultActivityFilters } from "@/plane-web/constants/issues";
type TIssueActivity = { type TIssueActivity = {
workspaceSlug: string; workspaceSlug: string;
@ -35,10 +35,7 @@ export const IssueActivity: FC<TIssueActivity> = observer((props) => {
const { createComment, updateComment, removeComment } = useIssueDetail(); const { createComment, updateComment, removeComment } = useIssueDetail();
const { getProjectById } = useProject(); const { getProjectById } = useProject();
// state // state
const [selectedFilters, setSelectedFilters] = useState<TActivityFilters[]>([ const [selectedFilters, setSelectedFilters] = useState<TActivityFilters[]>(defaultActivityFilters);
EActivityFilterType.ACTIVITY,
EActivityFilterType.COMMENT,
]);
// toggle filter // toggle filter
const toggleFilter = (filter: TActivityFilters) => { const toggleFilter = (filter: TActivityFilters) => {
setSelectedFilters((prevFilters) => { setSelectedFilters((prevFilters) => {