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;
is_favorite: boolean;
is_member: boolean;
is_time_tracking_enabled: boolean;
logo_props: TLogoProps;
member_role: EUserProjectRoles | null;
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 = (
activity: TIssueActivityComment[],
filter: TActivityFilters[]

View file

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

View file

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