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:
parent
8f9b568a65
commit
eca79f33b6
4 changed files with 8 additions and 7 deletions
1
packages/types/src/project/projects.d.ts
vendored
1
packages/types/src/project/projects.d.ts
vendored
|
|
@ -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[];
|
||||||
|
|
|
||||||
|
|
@ -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[]
|
||||||
|
|
|
||||||
|
|
@ -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(
|
||||||
|
|
|
||||||
|
|
@ -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) => {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue