mirror of
https://github.com/makeplane/plane
synced 2024-06-14 14:31:34 +00:00
884b219508
* refactor: cycles store * refactor: active cycle details
89 lines
2.1 KiB
TypeScript
89 lines
2.1 KiB
TypeScript
import type { IUser, IIssue, IProjectLite, IWorkspaceLite, IIssueFilterOptions, IUserLite } from "types";
|
|
|
|
export type TCycleView = "all" | "active" | "upcoming" | "completed" | "draft";
|
|
|
|
export type TCycleLayout = "list" | "board" | "gantt";
|
|
|
|
export interface ICycle {
|
|
backlog_issues: number;
|
|
cancelled_issues: number;
|
|
completed_issues: number;
|
|
created_at: Date;
|
|
created_by: string;
|
|
description: string;
|
|
distribution?: {
|
|
assignees: TAssigneesDistribution[];
|
|
completion_chart: TCompletionChartDistribution;
|
|
labels: TLabelsDistribution[];
|
|
};
|
|
end_date: string | null;
|
|
id: string;
|
|
is_favorite: boolean;
|
|
issue: string;
|
|
name: string;
|
|
owned_by: IUser;
|
|
project: string;
|
|
project_detail: IProjectLite;
|
|
sort_order: number;
|
|
start_date: string | null;
|
|
started_issues: number;
|
|
total_issues: number;
|
|
unstarted_issues: number;
|
|
updated_at: Date;
|
|
updated_by: string;
|
|
assignees: IUserLite[];
|
|
view_props: {
|
|
filters: IIssueFilterOptions;
|
|
};
|
|
workspace: string;
|
|
workspace_detail: IWorkspaceLite;
|
|
}
|
|
|
|
export type TAssigneesDistribution = {
|
|
assignee_id: string | null;
|
|
avatar: string | null;
|
|
completed_issues: number;
|
|
first_name: string | null;
|
|
last_name: string | null;
|
|
display_name: string | null;
|
|
pending_issues: number;
|
|
total_issues: number;
|
|
};
|
|
|
|
export type TCompletionChartDistribution = {
|
|
[key: string]: number;
|
|
};
|
|
|
|
export type TLabelsDistribution = {
|
|
color: string | null;
|
|
completed_issues: number;
|
|
label_id: string | null;
|
|
label_name: string | null;
|
|
pending_issues: number;
|
|
total_issues: number;
|
|
};
|
|
|
|
export interface CycleIssueResponse {
|
|
id: string;
|
|
issue_detail: IIssue;
|
|
created_at: Date;
|
|
updated_at: Date;
|
|
created_by: string;
|
|
updated_by: string;
|
|
project: string;
|
|
workspace: string;
|
|
issue: string;
|
|
cycle: string;
|
|
sub_issues_count: number;
|
|
}
|
|
|
|
export type SelectCycleType = (ICycle & { actionType: "edit" | "delete" | "create-issue" }) | undefined;
|
|
|
|
export type SelectIssue = (IIssue & { actionType: "edit" | "delete" | "create" }) | null;
|
|
|
|
export type CycleDateCheckData = {
|
|
start_date: string;
|
|
end_date: string;
|
|
cycle_id?: string;
|
|
};
|