* chore: work item description versions * chore: intake issue description * chore: intake work item description versions * chore: add missing translations * chore: endpoint for intake description version * chore: renamed key to work item * chore: changed the paginator class * chore: authorization added * chore: added the enum validation * chore: removed extra validations * chore: added extra validations * chore: modal position --------- Co-authored-by: NarayanBavisetti <narayan3119@gmail.com> Co-authored-by: Bavisetti Narayan <72156168+NarayanBavisetti@users.noreply.github.com>
354 lines
9.1 KiB
TypeScript
354 lines
9.1 KiB
TypeScript
import { TIssueGroupByOptions, TIssueOrderByOptions, IIssueDisplayProperties } from "@plane/types";
|
|
|
|
export const ALL_ISSUES = "All Issues";
|
|
|
|
export type TIssuePriorities = "urgent" | "high" | "medium" | "low" | "none";
|
|
|
|
export type TIssueFilterPriorityObject = {
|
|
key: TIssuePriorities;
|
|
titleTranslationKey: string;
|
|
className: string;
|
|
icon: string;
|
|
};
|
|
|
|
export enum EIssueGroupByToServerOptions {
|
|
"state" = "state_id",
|
|
"priority" = "priority",
|
|
"labels" = "labels__id",
|
|
"state_detail.group" = "state__group",
|
|
"assignees" = "assignees__id",
|
|
"cycle" = "cycle_id",
|
|
"module" = "issue_module__module_id",
|
|
"target_date" = "target_date",
|
|
"project" = "project_id",
|
|
"created_by" = "created_by",
|
|
"team_project" = "project_id",
|
|
}
|
|
|
|
export enum EIssueGroupBYServerToProperty {
|
|
"state_id" = "state_id",
|
|
"priority" = "priority",
|
|
"labels__id" = "label_ids",
|
|
"state__group" = "state__group",
|
|
"assignees__id" = "assignee_ids",
|
|
"cycle_id" = "cycle_id",
|
|
"issue_module__module_id" = "module_ids",
|
|
"target_date" = "target_date",
|
|
"project_id" = "project_id",
|
|
"created_by" = "created_by",
|
|
}
|
|
|
|
export enum EIssueServiceType {
|
|
ISSUES = "issues",
|
|
EPICS = "epics",
|
|
WORK_ITEMS = "work-items",
|
|
}
|
|
|
|
export enum EIssuesStoreType {
|
|
GLOBAL = "GLOBAL",
|
|
PROFILE = "PROFILE",
|
|
TEAM = "TEAM",
|
|
PROJECT = "PROJECT",
|
|
CYCLE = "CYCLE",
|
|
MODULE = "MODULE",
|
|
TEAM_VIEW = "TEAM_VIEW",
|
|
PROJECT_VIEW = "PROJECT_VIEW",
|
|
ARCHIVED = "ARCHIVED",
|
|
DRAFT = "DRAFT",
|
|
DEFAULT = "DEFAULT",
|
|
WORKSPACE_DRAFT = "WORKSPACE_DRAFT",
|
|
EPIC = "EPIC",
|
|
}
|
|
|
|
export enum EIssueCommentAccessSpecifier {
|
|
EXTERNAL = "EXTERNAL",
|
|
INTERNAL = "INTERNAL",
|
|
}
|
|
|
|
export enum EIssueListRow {
|
|
HEADER = "HEADER",
|
|
ISSUE = "ISSUE",
|
|
NO_ISSUES = "NO_ISSUES",
|
|
QUICK_ADD = "QUICK_ADD",
|
|
}
|
|
|
|
export const ISSUE_PRIORITIES: {
|
|
key: TIssuePriorities;
|
|
title: string;
|
|
}[] = [
|
|
{
|
|
key: "urgent",
|
|
title: "Urgent",
|
|
},
|
|
{
|
|
key: "high",
|
|
title: "High",
|
|
},
|
|
{
|
|
key: "medium",
|
|
title: "Medium",
|
|
},
|
|
{
|
|
key: "low",
|
|
title: "Low",
|
|
},
|
|
{
|
|
key: "none",
|
|
title: "None",
|
|
},
|
|
];
|
|
|
|
export const DRAG_ALLOWED_GROUPS: TIssueGroupByOptions[] = [
|
|
"state",
|
|
"priority",
|
|
"assignees",
|
|
"labels",
|
|
"module",
|
|
"cycle",
|
|
];
|
|
|
|
export type TCreateModalStoreTypes =
|
|
| EIssuesStoreType.TEAM
|
|
| EIssuesStoreType.PROJECT
|
|
| EIssuesStoreType.TEAM_VIEW
|
|
| EIssuesStoreType.PROJECT_VIEW
|
|
| EIssuesStoreType.PROFILE
|
|
| EIssuesStoreType.CYCLE
|
|
| EIssuesStoreType.MODULE
|
|
| EIssuesStoreType.EPIC;
|
|
|
|
export const ISSUE_GROUP_BY_OPTIONS: {
|
|
key: TIssueGroupByOptions;
|
|
titleTranslationKey: string;
|
|
}[] = [
|
|
{ key: "state", titleTranslationKey: "common.states" },
|
|
{ key: "state_detail.group", titleTranslationKey: "common.state_groups" },
|
|
{ key: "priority", titleTranslationKey: "common.priority" },
|
|
{ key: "team_project", titleTranslationKey: "common.team_project" }, // required this on team issues
|
|
{ key: "project", titleTranslationKey: "common.project" }, // required this on my issues
|
|
{ key: "cycle", titleTranslationKey: "common.cycle" }, // required this on my issues
|
|
{ key: "module", titleTranslationKey: "common.module" }, // required this on my issues
|
|
{ key: "labels", titleTranslationKey: "common.labels" },
|
|
{ key: "assignees", titleTranslationKey: "common.assignees" },
|
|
{ key: "created_by", titleTranslationKey: "common.created_by" },
|
|
{ key: null, titleTranslationKey: "common.none" },
|
|
];
|
|
|
|
export const ISSUE_ORDER_BY_OPTIONS: {
|
|
key: TIssueOrderByOptions;
|
|
titleTranslationKey: string;
|
|
}[] = [
|
|
{ key: "sort_order", titleTranslationKey: "common.order_by.manual" },
|
|
{ key: "-created_at", titleTranslationKey: "common.order_by.last_created" },
|
|
{ key: "-updated_at", titleTranslationKey: "common.order_by.last_updated" },
|
|
{ key: "start_date", titleTranslationKey: "common.order_by.start_date" },
|
|
{ key: "target_date", titleTranslationKey: "common.order_by.due_date" },
|
|
{ key: "-priority", titleTranslationKey: "common.priority" },
|
|
];
|
|
|
|
export const ISSUE_DISPLAY_PROPERTIES_KEYS: (keyof IIssueDisplayProperties)[] = [
|
|
"assignee",
|
|
"start_date",
|
|
"due_date",
|
|
"labels",
|
|
"key",
|
|
"priority",
|
|
"state",
|
|
"sub_issue_count",
|
|
"link",
|
|
"attachment_count",
|
|
"estimate",
|
|
"created_on",
|
|
"updated_on",
|
|
"modules",
|
|
"cycle",
|
|
"issue_type",
|
|
];
|
|
|
|
export const ISSUE_DISPLAY_PROPERTIES: {
|
|
key: keyof IIssueDisplayProperties;
|
|
titleTranslationKey: string;
|
|
}[] = [
|
|
{
|
|
key: "key",
|
|
titleTranslationKey: "issue.display.properties.id",
|
|
},
|
|
{
|
|
key: "issue_type",
|
|
titleTranslationKey: "issue.display.properties.issue_type",
|
|
},
|
|
{
|
|
key: "assignee",
|
|
titleTranslationKey: "common.assignee",
|
|
},
|
|
{
|
|
key: "start_date",
|
|
titleTranslationKey: "common.order_by.start_date",
|
|
},
|
|
{
|
|
key: "due_date",
|
|
titleTranslationKey: "common.order_by.due_date",
|
|
},
|
|
{ key: "labels", titleTranslationKey: "common.labels" },
|
|
{
|
|
key: "priority",
|
|
titleTranslationKey: "common.priority",
|
|
},
|
|
{ key: "state", titleTranslationKey: "common.state" },
|
|
{
|
|
key: "sub_issue_count",
|
|
titleTranslationKey: "issue.display.properties.sub_issue_count",
|
|
},
|
|
{
|
|
key: "attachment_count",
|
|
titleTranslationKey: "issue.display.properties.attachment_count",
|
|
},
|
|
{ key: "link", titleTranslationKey: "common.link" },
|
|
{
|
|
key: "estimate",
|
|
titleTranslationKey: "common.estimate",
|
|
},
|
|
{ key: "modules", titleTranslationKey: "common.module" },
|
|
{ key: "cycle", titleTranslationKey: "common.cycle" },
|
|
];
|
|
|
|
export const SPREADSHEET_PROPERTY_LIST: (keyof IIssueDisplayProperties)[] = [
|
|
"state",
|
|
"priority",
|
|
"assignee",
|
|
"labels",
|
|
"modules",
|
|
"cycle",
|
|
"start_date",
|
|
"due_date",
|
|
"estimate",
|
|
"created_on",
|
|
"updated_on",
|
|
"link",
|
|
"attachment_count",
|
|
"sub_issue_count",
|
|
];
|
|
|
|
export const SPREADSHEET_PROPERTY_DETAILS: {
|
|
[key in keyof IIssueDisplayProperties]: {
|
|
i18n_title: string;
|
|
ascendingOrderKey: TIssueOrderByOptions;
|
|
ascendingOrderTitle: string;
|
|
descendingOrderKey: TIssueOrderByOptions;
|
|
descendingOrderTitle: string;
|
|
icon: string;
|
|
};
|
|
} = {
|
|
assignee: {
|
|
i18n_title: "common.assignees",
|
|
ascendingOrderKey: "assignees__first_name",
|
|
ascendingOrderTitle: "A",
|
|
descendingOrderKey: "-assignees__first_name",
|
|
descendingOrderTitle: "Z",
|
|
icon: "Users",
|
|
},
|
|
created_on: {
|
|
i18n_title: "common.sort.created_on",
|
|
ascendingOrderKey: "-created_at",
|
|
ascendingOrderTitle: "New",
|
|
descendingOrderKey: "created_at",
|
|
descendingOrderTitle: "Old",
|
|
icon: "CalendarDays",
|
|
},
|
|
due_date: {
|
|
i18n_title: "common.order_by.due_date",
|
|
ascendingOrderKey: "-target_date",
|
|
ascendingOrderTitle: "New",
|
|
descendingOrderKey: "target_date",
|
|
descendingOrderTitle: "Old",
|
|
icon: "CalendarCheck2",
|
|
},
|
|
estimate: {
|
|
i18n_title: "common.estimate",
|
|
ascendingOrderKey: "estimate_point__key",
|
|
ascendingOrderTitle: "Low",
|
|
descendingOrderKey: "-estimate_point__key",
|
|
descendingOrderTitle: "High",
|
|
icon: "Triangle",
|
|
},
|
|
labels: {
|
|
i18n_title: "common.labels",
|
|
ascendingOrderKey: "labels__name",
|
|
ascendingOrderTitle: "A",
|
|
descendingOrderKey: "-labels__name",
|
|
descendingOrderTitle: "Z",
|
|
icon: "Tag",
|
|
},
|
|
modules: {
|
|
i18n_title: "common.modules",
|
|
ascendingOrderKey: "issue_module__module__name",
|
|
ascendingOrderTitle: "A",
|
|
descendingOrderKey: "-issue_module__module__name",
|
|
descendingOrderTitle: "Z",
|
|
icon: "DiceIcon",
|
|
},
|
|
cycle: {
|
|
i18n_title: "common.cycle",
|
|
ascendingOrderKey: "issue_cycle__cycle__name",
|
|
ascendingOrderTitle: "A",
|
|
descendingOrderKey: "-issue_cycle__cycle__name",
|
|
descendingOrderTitle: "Z",
|
|
icon: "ContrastIcon",
|
|
},
|
|
priority: {
|
|
i18n_title: "common.priority",
|
|
ascendingOrderKey: "priority",
|
|
ascendingOrderTitle: "None",
|
|
descendingOrderKey: "-priority",
|
|
descendingOrderTitle: "Urgent",
|
|
icon: "Signal",
|
|
},
|
|
start_date: {
|
|
i18n_title: "common.order_by.start_date",
|
|
ascendingOrderKey: "-start_date",
|
|
ascendingOrderTitle: "New",
|
|
descendingOrderKey: "start_date",
|
|
descendingOrderTitle: "Old",
|
|
icon: "CalendarClock",
|
|
},
|
|
state: {
|
|
i18n_title: "common.state",
|
|
ascendingOrderKey: "state__name",
|
|
ascendingOrderTitle: "A",
|
|
descendingOrderKey: "-state__name",
|
|
descendingOrderTitle: "Z",
|
|
icon: "DoubleCircleIcon",
|
|
},
|
|
updated_on: {
|
|
i18n_title: "common.sort.updated_on",
|
|
ascendingOrderKey: "-updated_at",
|
|
ascendingOrderTitle: "New",
|
|
descendingOrderKey: "updated_at",
|
|
descendingOrderTitle: "Old",
|
|
icon: "CalendarDays",
|
|
},
|
|
link: {
|
|
i18n_title: "common.link",
|
|
ascendingOrderKey: "-link_count",
|
|
ascendingOrderTitle: "Most",
|
|
descendingOrderKey: "link_count",
|
|
descendingOrderTitle: "Least",
|
|
icon: "Link2",
|
|
},
|
|
attachment_count: {
|
|
i18n_title: "common.attachment",
|
|
ascendingOrderKey: "-attachment_count",
|
|
ascendingOrderTitle: "Most",
|
|
descendingOrderKey: "attachment_count",
|
|
descendingOrderTitle: "Least",
|
|
icon: "Paperclip",
|
|
},
|
|
sub_issue_count: {
|
|
i18n_title: "issue.display.properties.sub_issue",
|
|
ascendingOrderKey: "-sub_issues_count",
|
|
ascendingOrderTitle: "Most",
|
|
descendingOrderKey: "sub_issues_count",
|
|
descendingOrderTitle: "Least",
|
|
icon: "LayersIcon",
|
|
},
|
|
};
|