refactor: move all issue related enums to constants package (#6229)
This commit is contained in:
parent
51ca353577
commit
6214c09170
119 changed files with 276 additions and 269 deletions
|
|
@ -44,3 +44,46 @@ export enum EIssueServiceType {
|
||||||
ISSUES = "issues",
|
ISSUES = "issues",
|
||||||
EPICS = "epics",
|
EPICS = "epics",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export enum EIssueLayoutTypes {
|
||||||
|
LIST = "list",
|
||||||
|
KANBAN = "kanban",
|
||||||
|
CALENDAR = "calendar",
|
||||||
|
GANTT = "gantt_chart",
|
||||||
|
SPREADSHEET = "spreadsheet",
|
||||||
|
}
|
||||||
|
|
||||||
|
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 EIssueFilterType {
|
||||||
|
FILTERS = "filters",
|
||||||
|
DISPLAY_FILTERS = "display_filters",
|
||||||
|
DISPLAY_PROPERTIES = "display_properties",
|
||||||
|
KANBAN_FILTERS = "kanban_filters",
|
||||||
|
}
|
||||||
|
|
||||||
|
export enum EIssueCommentAccessSpecifier {
|
||||||
|
EXTERNAL = "EXTERNAL",
|
||||||
|
INTERNAL = "INTERNAL",
|
||||||
|
}
|
||||||
|
|
||||||
|
export enum EIssueListRow {
|
||||||
|
HEADER = "HEADER",
|
||||||
|
ISSUE = "ISSUE",
|
||||||
|
NO_ISSUES = "NO_ISSUES",
|
||||||
|
QUICK_ADD = "QUICK_ADD",
|
||||||
|
}
|
||||||
|
|
|
||||||
21
packages/types/src/issues.d.ts
vendored
21
packages/types/src/issues.d.ts
vendored
|
|
@ -10,6 +10,12 @@ import type {
|
||||||
Properties,
|
Properties,
|
||||||
IIssueDisplayFilterOptions,
|
IIssueDisplayFilterOptions,
|
||||||
TIssue,
|
TIssue,
|
||||||
|
IIssueFilterOptions,
|
||||||
|
IIssueDisplayProperties,
|
||||||
|
TIssueGroupByOptions,
|
||||||
|
TIssueOrderByOptions,
|
||||||
|
TIssueGroupingFilters,
|
||||||
|
TIssueExtraOptions
|
||||||
} from "@plane/types";
|
} from "@plane/types";
|
||||||
|
|
||||||
export interface IIssueCycle {
|
export interface IIssueCycle {
|
||||||
|
|
@ -235,3 +241,18 @@ export interface IIssueListRow {
|
||||||
icon?: ReactElement | undefined;
|
icon?: ReactElement | undefined;
|
||||||
payload?: Partial<TIssue>;
|
payload?: Partial<TIssue>;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface ILayoutDisplayFiltersOptions {
|
||||||
|
filters: (keyof IIssueFilterOptions)[];
|
||||||
|
display_properties: (keyof IIssueDisplayProperties)[];
|
||||||
|
display_filters: {
|
||||||
|
group_by?: TIssueGroupByOptions[];
|
||||||
|
sub_group_by?: TIssueGroupByOptions[];
|
||||||
|
order_by?: TIssueOrderByOptions[];
|
||||||
|
type?: TIssueGroupingFilters[];
|
||||||
|
};
|
||||||
|
extra_options: {
|
||||||
|
access: boolean;
|
||||||
|
values: TIssueExtraOptions[];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
||||||
4
packages/types/src/view-props.d.ts
vendored
4
packages/types/src/view-props.d.ts
vendored
|
|
@ -1,5 +1,3 @@
|
||||||
import { EIssueLayoutTypes } from "constants/issue";
|
|
||||||
|
|
||||||
export type TIssueLayouts =
|
export type TIssueLayouts =
|
||||||
| "list"
|
| "list"
|
||||||
| "kanban"
|
| "kanban"
|
||||||
|
|
@ -110,7 +108,7 @@ export interface IIssueDisplayFilterOptions {
|
||||||
};
|
};
|
||||||
group_by?: TIssueGroupByOptions;
|
group_by?: TIssueGroupByOptions;
|
||||||
sub_group_by?: TIssueGroupByOptions;
|
sub_group_by?: TIssueGroupByOptions;
|
||||||
layout?: EIssueLayoutTypes;
|
layout?: any; // TODO: Need to fix this and set it to enum EIssueLayoutTypes
|
||||||
order_by?: TIssueOrderByOptions;
|
order_by?: TIssueOrderByOptions;
|
||||||
show_empty_groups?: boolean;
|
show_empty_groups?: boolean;
|
||||||
sub_issue?: boolean;
|
sub_issue?: boolean;
|
||||||
|
|
|
||||||
|
|
@ -3,13 +3,13 @@
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { PenSquare } from "lucide-react";
|
import { PenSquare } from "lucide-react";
|
||||||
|
import { EIssuesStoreType } from "@plane/constants";
|
||||||
// ui
|
// ui
|
||||||
import { Breadcrumbs, Button, Header } from "@plane/ui";
|
import { Breadcrumbs, Button, Header } from "@plane/ui";
|
||||||
// components
|
// components
|
||||||
import { BreadcrumbLink, CountChip } from "@/components/common";
|
import { BreadcrumbLink, CountChip } from "@/components/common";
|
||||||
import { CreateUpdateIssueModal } from "@/components/issues";
|
import { CreateUpdateIssueModal } from "@/components/issues";
|
||||||
// constants
|
|
||||||
import { EIssuesStoreType } from "@/constants/issue";
|
|
||||||
// hooks
|
// hooks
|
||||||
import { useProject, useUserPermissions, useWorkspaceDraftIssues } from "@/hooks/store";
|
import { useProject, useUserPermissions, useWorkspaceDraftIssues } from "@/hooks/store";
|
||||||
// plane-web
|
// plane-web
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,8 @@ import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
// icons
|
// icons
|
||||||
import { ChevronDown } from "lucide-react";
|
import { ChevronDown } from "lucide-react";
|
||||||
|
// plane constants
|
||||||
|
import { EIssueLayoutTypes, EIssueFilterType, EIssuesStoreType } from "@plane/constants";
|
||||||
// types
|
// types
|
||||||
import { IIssueDisplayFilterOptions, IIssueDisplayProperties, IIssueFilterOptions, TIssueLayouts } from "@plane/types";
|
import { IIssueDisplayFilterOptions, IIssueDisplayProperties, IIssueFilterOptions, TIssueLayouts } from "@plane/types";
|
||||||
// ui
|
// ui
|
||||||
|
|
@ -12,13 +14,7 @@ import { CustomMenu } from "@plane/ui";
|
||||||
// components
|
// components
|
||||||
import { DisplayFiltersSelection, FilterSelection, FiltersDropdown } from "@/components/issues";
|
import { DisplayFiltersSelection, FilterSelection, FiltersDropdown } from "@/components/issues";
|
||||||
// constants
|
// constants
|
||||||
import {
|
import { ISSUE_DISPLAY_FILTERS_BY_LAYOUT, ISSUE_LAYOUTS } from "@/constants/issue";
|
||||||
EIssueFilterType,
|
|
||||||
EIssueLayoutTypes,
|
|
||||||
EIssuesStoreType,
|
|
||||||
ISSUE_DISPLAY_FILTERS_BY_LAYOUT,
|
|
||||||
ISSUE_LAYOUTS,
|
|
||||||
} from "@/constants/issue";
|
|
||||||
// helpers
|
// helpers
|
||||||
import { isIssueFilterActive } from "@/helpers/filter.helper";
|
import { isIssueFilterActive } from "@/helpers/filter.helper";
|
||||||
// hooks
|
// hooks
|
||||||
|
|
|
||||||
|
|
@ -3,13 +3,13 @@
|
||||||
import { FC } from "react";
|
import { FC } from "react";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
|
import { EIssuesStoreType } from "@plane/constants";
|
||||||
// ui
|
// ui
|
||||||
import { ArchiveIcon, Breadcrumbs, Tooltip, Header } from "@plane/ui";
|
import { ArchiveIcon, Breadcrumbs, Tooltip, Header } from "@plane/ui";
|
||||||
// components
|
// components
|
||||||
import { BreadcrumbLink, Logo } from "@/components/common";
|
import { BreadcrumbLink, Logo } from "@/components/common";
|
||||||
// constants
|
// constants
|
||||||
import { PROJECT_ARCHIVES_BREADCRUMB_LIST } from "@/constants/archives";
|
import { PROJECT_ARCHIVES_BREADCRUMB_LIST } from "@/constants/archives";
|
||||||
import { EIssuesStoreType } from "@/constants/issue";
|
|
||||||
// hooks
|
// hooks
|
||||||
import { useIssues, useProject } from "@/hooks/store";
|
import { useIssues, useProject } from "@/hooks/store";
|
||||||
import { useAppRouter } from "@/hooks/use-app-router";
|
import { useAppRouter } from "@/hooks/use-app-router";
|
||||||
|
|
|
||||||
|
|
@ -8,8 +8,6 @@ import { PageHead } from "@/components/core";
|
||||||
import { CycleDetailsSidebar } from "@/components/cycles";
|
import { CycleDetailsSidebar } from "@/components/cycles";
|
||||||
import useCyclesDetails from "@/components/cycles/active-cycle/use-cycles-details";
|
import useCyclesDetails from "@/components/cycles/active-cycle/use-cycles-details";
|
||||||
import { CycleLayoutRoot } from "@/components/issues/issue-layouts";
|
import { CycleLayoutRoot } from "@/components/issues/issue-layouts";
|
||||||
// constants
|
|
||||||
// import { EIssuesStoreType } from "@/constants/issue";
|
|
||||||
// helpers
|
// helpers
|
||||||
import { cn } from "@/helpers/common.helper";
|
import { cn } from "@/helpers/common.helper";
|
||||||
// hooks
|
// hooks
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,8 @@ import Link from "next/link";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
// icons
|
// icons
|
||||||
import { ArrowRight, PanelRight } from "lucide-react";
|
import { ArrowRight, PanelRight } from "lucide-react";
|
||||||
|
// plane constants
|
||||||
|
import { EIssueLayoutTypes, EIssueFilterType, EIssuesStoreType } from "@plane/constants";
|
||||||
// types
|
// types
|
||||||
import { IIssueDisplayFilterOptions, IIssueDisplayProperties, IIssueFilterOptions } from "@plane/types";
|
import { IIssueDisplayFilterOptions, IIssueDisplayProperties, IIssueFilterOptions } from "@plane/types";
|
||||||
// ui
|
// ui
|
||||||
|
|
@ -15,12 +17,7 @@ import { ProjectAnalyticsModal } from "@/components/analytics";
|
||||||
import { BreadcrumbLink, Logo } from "@/components/common";
|
import { BreadcrumbLink, Logo } from "@/components/common";
|
||||||
import { DisplayFiltersSelection, FiltersDropdown, FilterSelection, LayoutSelection } from "@/components/issues";
|
import { DisplayFiltersSelection, FiltersDropdown, FilterSelection, LayoutSelection } from "@/components/issues";
|
||||||
// constants
|
// constants
|
||||||
import {
|
import { ISSUE_DISPLAY_FILTERS_BY_LAYOUT } from "@/constants/issue";
|
||||||
EIssueFilterType,
|
|
||||||
EIssueLayoutTypes,
|
|
||||||
EIssuesStoreType,
|
|
||||||
ISSUE_DISPLAY_FILTERS_BY_LAYOUT,
|
|
||||||
} from "@/constants/issue";
|
|
||||||
// helpers
|
// helpers
|
||||||
import { cn } from "@/helpers/common.helper";
|
import { cn } from "@/helpers/common.helper";
|
||||||
import { isIssueFilterActive } from "@/helpers/filter.helper";
|
import { isIssueFilterActive } from "@/helpers/filter.helper";
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,8 @@ import { useCallback, useState } from "react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
// icons
|
// icons
|
||||||
import { Calendar, ChevronDown, Kanban, List } from "lucide-react";
|
import { Calendar, ChevronDown, Kanban, List } from "lucide-react";
|
||||||
|
// plane constants
|
||||||
|
import { EIssueLayoutTypes, EIssueFilterType, EIssuesStoreType } from "@plane/constants";
|
||||||
// types
|
// types
|
||||||
import { IIssueDisplayFilterOptions, IIssueDisplayProperties, IIssueFilterOptions } from "@plane/types";
|
import { IIssueDisplayFilterOptions, IIssueDisplayProperties, IIssueFilterOptions } from "@plane/types";
|
||||||
// ui
|
// ui
|
||||||
|
|
@ -12,13 +14,7 @@ import { CustomMenu } from "@plane/ui";
|
||||||
import { ProjectAnalyticsModal } from "@/components/analytics";
|
import { ProjectAnalyticsModal } from "@/components/analytics";
|
||||||
import { DisplayFiltersSelection, FilterSelection, FiltersDropdown } from "@/components/issues";
|
import { DisplayFiltersSelection, FilterSelection, FiltersDropdown } from "@/components/issues";
|
||||||
// constants
|
// constants
|
||||||
import {
|
import { ISSUE_DISPLAY_FILTERS_BY_LAYOUT, ISSUE_LAYOUTS } from "@/constants/issue";
|
||||||
EIssueFilterType,
|
|
||||||
EIssueLayoutTypes,
|
|
||||||
EIssuesStoreType,
|
|
||||||
ISSUE_DISPLAY_FILTERS_BY_LAYOUT,
|
|
||||||
ISSUE_LAYOUTS,
|
|
||||||
} from "@/constants/issue";
|
|
||||||
// helpers
|
// helpers
|
||||||
import { isIssueFilterActive } from "@/helpers/filter.helper";
|
import { isIssueFilterActive } from "@/helpers/filter.helper";
|
||||||
// hooks
|
// hooks
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,8 @@
|
||||||
import { FC, useCallback } from "react";
|
import { FC, useCallback } from "react";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
|
// plane constants
|
||||||
|
import { EIssueLayoutTypes, EIssueFilterType, EIssuesStoreType } from "@plane/constants";
|
||||||
// types
|
// types
|
||||||
import { IIssueDisplayFilterOptions, IIssueDisplayProperties, IIssueFilterOptions } from "@plane/types";
|
import { IIssueDisplayFilterOptions, IIssueDisplayProperties, IIssueFilterOptions } from "@plane/types";
|
||||||
// ui
|
// ui
|
||||||
|
|
@ -11,12 +13,7 @@ import { Breadcrumbs, LayersIcon, Tooltip } from "@plane/ui";
|
||||||
import { BreadcrumbLink, Logo } from "@/components/common";
|
import { BreadcrumbLink, Logo } from "@/components/common";
|
||||||
import { DisplayFiltersSelection, FiltersDropdown, FilterSelection, LayoutSelection } from "@/components/issues";
|
import { DisplayFiltersSelection, FiltersDropdown, FilterSelection, LayoutSelection } from "@/components/issues";
|
||||||
// constants
|
// constants
|
||||||
import {
|
import { ISSUE_DISPLAY_FILTERS_BY_LAYOUT } from "@/constants/issue";
|
||||||
EIssueFilterType,
|
|
||||||
EIssuesStoreType,
|
|
||||||
EIssueLayoutTypes,
|
|
||||||
ISSUE_DISPLAY_FILTERS_BY_LAYOUT,
|
|
||||||
} from "@/constants/issue";
|
|
||||||
// helpers
|
// helpers
|
||||||
import { isIssueFilterActive } from "@/helpers/filter.helper";
|
import { isIssueFilterActive } from "@/helpers/filter.helper";
|
||||||
// hooks
|
// hooks
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,8 @@ import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
// icons
|
// icons
|
||||||
import { Calendar, ChevronDown, Kanban, List } from "lucide-react";
|
import { Calendar, ChevronDown, Kanban, List } from "lucide-react";
|
||||||
|
// plane constants
|
||||||
|
import { EIssueLayoutTypes, EIssueFilterType, EIssuesStoreType } from "@plane/constants";
|
||||||
// types
|
// types
|
||||||
import { IIssueDisplayFilterOptions, IIssueDisplayProperties, IIssueFilterOptions } from "@plane/types";
|
import { IIssueDisplayFilterOptions, IIssueDisplayProperties, IIssueFilterOptions } from "@plane/types";
|
||||||
// ui
|
// ui
|
||||||
|
|
@ -13,13 +15,7 @@ import { CustomMenu } from "@plane/ui";
|
||||||
import { ProjectAnalyticsModal } from "@/components/analytics";
|
import { ProjectAnalyticsModal } from "@/components/analytics";
|
||||||
import { DisplayFiltersSelection, FilterSelection, FiltersDropdown } from "@/components/issues/issue-layouts";
|
import { DisplayFiltersSelection, FilterSelection, FiltersDropdown } from "@/components/issues/issue-layouts";
|
||||||
// constants
|
// constants
|
||||||
import {
|
import { ISSUE_DISPLAY_FILTERS_BY_LAYOUT, ISSUE_LAYOUTS } from "@/constants/issue";
|
||||||
EIssueFilterType,
|
|
||||||
EIssueLayoutTypes,
|
|
||||||
EIssuesStoreType,
|
|
||||||
ISSUE_DISPLAY_FILTERS_BY_LAYOUT,
|
|
||||||
ISSUE_LAYOUTS,
|
|
||||||
} from "@/constants/issue";
|
|
||||||
// helpers
|
// helpers
|
||||||
import { isIssueFilterActive } from "@/helpers/filter.helper";
|
import { isIssueFilterActive } from "@/helpers/filter.helper";
|
||||||
// hooks
|
// hooks
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,8 @@ import Link from "next/link";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
// icons
|
// icons
|
||||||
import { ArrowRight, PanelRight } from "lucide-react";
|
import { ArrowRight, PanelRight } from "lucide-react";
|
||||||
|
// plane constants
|
||||||
|
import { EIssueLayoutTypes, EIssuesStoreType, EIssueFilterType } from "@plane/constants";
|
||||||
// types
|
// types
|
||||||
import { IIssueDisplayFilterOptions, IIssueDisplayProperties, IIssueFilterOptions } from "@plane/types";
|
import { IIssueDisplayFilterOptions, IIssueDisplayProperties, IIssueFilterOptions } from "@plane/types";
|
||||||
// ui
|
// ui
|
||||||
|
|
@ -15,12 +17,7 @@ import { ProjectAnalyticsModal } from "@/components/analytics";
|
||||||
import { BreadcrumbLink, Logo } from "@/components/common";
|
import { BreadcrumbLink, Logo } from "@/components/common";
|
||||||
import { DisplayFiltersSelection, FiltersDropdown, FilterSelection, LayoutSelection } from "@/components/issues";
|
import { DisplayFiltersSelection, FiltersDropdown, FilterSelection, LayoutSelection } from "@/components/issues";
|
||||||
// constants
|
// constants
|
||||||
import {
|
import { ISSUE_DISPLAY_FILTERS_BY_LAYOUT } from "@/constants/issue";
|
||||||
EIssuesStoreType,
|
|
||||||
EIssueFilterType,
|
|
||||||
EIssueLayoutTypes,
|
|
||||||
ISSUE_DISPLAY_FILTERS_BY_LAYOUT,
|
|
||||||
} from "@/constants/issue";
|
|
||||||
// helpers
|
// helpers
|
||||||
import { cn } from "@/helpers/common.helper";
|
import { cn } from "@/helpers/common.helper";
|
||||||
import { isIssueFilterActive } from "@/helpers/filter.helper";
|
import { isIssueFilterActive } from "@/helpers/filter.helper";
|
||||||
|
|
|
||||||
|
|
@ -5,21 +5,17 @@ import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
// icons
|
// icons
|
||||||
import { Calendar, ChevronDown, Kanban, List } from "lucide-react";
|
import { Calendar, ChevronDown, Kanban, List } from "lucide-react";
|
||||||
|
// plane constants
|
||||||
|
import { EIssueLayoutTypes, EIssueFilterType, EIssuesStoreType } from "@plane/constants";
|
||||||
// types
|
// types
|
||||||
import { IIssueDisplayFilterOptions, IIssueDisplayProperties, IIssueFilterOptions } from "@plane/types";
|
import { IIssueDisplayFilterOptions, IIssueDisplayProperties, IIssueFilterOptions } from "@plane/types";
|
||||||
// ui
|
// ui
|
||||||
import { CustomMenu } from "@plane/ui";
|
import { CustomMenu } from "@plane/ui";
|
||||||
// components
|
// components
|
||||||
import { ProjectAnalyticsModal } from "@/components/analytics";
|
import { ProjectAnalyticsModal } from "@/components/analytics";
|
||||||
import { DisplayFiltersSelection, FilterSelection, FiltersDropdown } from "@/components/issues";
|
import { DisplayFiltersSelection, FilterSelection, FiltersDropdown } from "@/components/issues/issue-layouts";
|
||||||
// constants
|
// constants
|
||||||
import {
|
import { ISSUE_DISPLAY_FILTERS_BY_LAYOUT, ISSUE_LAYOUTS } from "@/constants/issue";
|
||||||
EIssueFilterType,
|
|
||||||
EIssueLayoutTypes,
|
|
||||||
EIssuesStoreType,
|
|
||||||
ISSUE_DISPLAY_FILTERS_BY_LAYOUT,
|
|
||||||
ISSUE_LAYOUTS,
|
|
||||||
} from "@/constants/issue";
|
|
||||||
// helpers
|
// helpers
|
||||||
import { isIssueFilterActive } from "@/helpers/filter.helper";
|
import { isIssueFilterActive } from "@/helpers/filter.helper";
|
||||||
// hooks
|
// hooks
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,8 @@ import { observer } from "mobx-react";
|
||||||
import Link from "next/link";
|
import Link from "next/link";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
import { Layers, Lock } from "lucide-react";
|
import { Layers, Lock } from "lucide-react";
|
||||||
|
// plane constants
|
||||||
|
import { EIssueLayoutTypes, EIssueFilterType, EIssuesStoreType } from "@plane/constants";
|
||||||
// types
|
// types
|
||||||
import { IIssueDisplayFilterOptions, IIssueDisplayProperties, IIssueFilterOptions } from "@plane/types";
|
import { IIssueDisplayFilterOptions, IIssueDisplayProperties, IIssueFilterOptions } from "@plane/types";
|
||||||
// ui
|
// ui
|
||||||
|
|
@ -13,12 +15,7 @@ import { Breadcrumbs, Button, CustomMenu, Tooltip, Header } from "@plane/ui";
|
||||||
import { BreadcrumbLink, Logo } from "@/components/common";
|
import { BreadcrumbLink, Logo } from "@/components/common";
|
||||||
import { DisplayFiltersSelection, FiltersDropdown, FilterSelection, LayoutSelection } from "@/components/issues";
|
import { DisplayFiltersSelection, FiltersDropdown, FilterSelection, LayoutSelection } from "@/components/issues";
|
||||||
// constants
|
// constants
|
||||||
import {
|
import { ISSUE_DISPLAY_FILTERS_BY_LAYOUT } from "@/constants/issue";
|
||||||
EIssuesStoreType,
|
|
||||||
EIssueFilterType,
|
|
||||||
EIssueLayoutTypes,
|
|
||||||
ISSUE_DISPLAY_FILTERS_BY_LAYOUT,
|
|
||||||
} from "@/constants/issue";
|
|
||||||
import { EViewAccess } from "@/constants/views";
|
import { EViewAccess } from "@/constants/views";
|
||||||
// helpers
|
// helpers
|
||||||
import { isIssueFilterActive } from "@/helpers/filter.helper";
|
import { isIssueFilterActive } from "@/helpers/filter.helper";
|
||||||
|
|
|
||||||
|
|
@ -3,8 +3,10 @@
|
||||||
import { useCallback, useState } from "react";
|
import { useCallback, useState } from "react";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
// types
|
|
||||||
import { Layers } from "lucide-react";
|
import { Layers } from "lucide-react";
|
||||||
|
// plane constants
|
||||||
|
import { EIssueFilterType, EIssuesStoreType } from "@plane/constants";
|
||||||
|
// types
|
||||||
import { IIssueDisplayFilterOptions, IIssueDisplayProperties, IIssueFilterOptions } from "@plane/types";
|
import { IIssueDisplayFilterOptions, IIssueDisplayProperties, IIssueFilterOptions } from "@plane/types";
|
||||||
// ui
|
// ui
|
||||||
import { Breadcrumbs, Button, Header } from "@plane/ui";
|
import { Breadcrumbs, Button, Header } from "@plane/ui";
|
||||||
|
|
@ -13,7 +15,7 @@ import { BreadcrumbLink } from "@/components/common";
|
||||||
import { DisplayFiltersSelection, FiltersDropdown, FilterSelection } from "@/components/issues";
|
import { DisplayFiltersSelection, FiltersDropdown, FilterSelection } from "@/components/issues";
|
||||||
import { CreateUpdateWorkspaceViewModal } from "@/components/workspace";
|
import { CreateUpdateWorkspaceViewModal } from "@/components/workspace";
|
||||||
// constants
|
// constants
|
||||||
import { EIssueFilterType, EIssuesStoreType, ISSUE_DISPLAY_FILTERS_BY_LAYOUT } from "@/constants/issue";
|
import { ISSUE_DISPLAY_FILTERS_BY_LAYOUT } from "@/constants/issue";
|
||||||
// helpers
|
// helpers
|
||||||
import { isIssueFilterActive } from "@/helpers/filter.helper";
|
import { isIssueFilterActive } from "@/helpers/filter.helper";
|
||||||
// hooks
|
// hooks
|
||||||
|
|
|
||||||
|
|
@ -4,13 +4,14 @@ import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
// icons
|
// icons
|
||||||
import { Briefcase, Circle, ExternalLink } from "lucide-react";
|
import { Briefcase, Circle, ExternalLink } from "lucide-react";
|
||||||
|
// plane constants
|
||||||
|
import { EIssuesStoreType } from "@plane/constants";
|
||||||
// ui
|
// ui
|
||||||
import { Breadcrumbs, Button, LayersIcon, Tooltip, Header } from "@plane/ui";
|
import { Breadcrumbs, Button, LayersIcon, Tooltip, Header } from "@plane/ui";
|
||||||
// components
|
// components
|
||||||
import { BreadcrumbLink, CountChip, Logo } from "@/components/common";
|
import { BreadcrumbLink, CountChip, Logo } from "@/components/common";
|
||||||
// constants
|
// constants
|
||||||
import HeaderFilters from "@/components/issues/filters";
|
import HeaderFilters from "@/components/issues/filters";
|
||||||
import { EIssuesStoreType } from "@/constants/issue";
|
|
||||||
// helpers
|
// helpers
|
||||||
import { SPACE_BASE_PATH, SPACE_BASE_URL } from "@/helpers/common.helper";
|
import { SPACE_BASE_PATH, SPACE_BASE_URL } from "@/helpers/common.helper";
|
||||||
// hooks
|
// hooks
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
import { FC, useEffect, useRef } from "react";
|
import { FC, useEffect, useRef } from "react";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { UseFormRegister, UseFormSetFocus } from "react-hook-form";
|
import { UseFormRegister, UseFormSetFocus } from "react-hook-form";
|
||||||
|
// plane constants
|
||||||
|
import { EIssueLayoutTypes } from "@plane/constants";
|
||||||
// plane helpers
|
// plane helpers
|
||||||
import { useOutsideClickDetector } from "@plane/hooks";
|
import { useOutsideClickDetector } from "@plane/hooks";
|
||||||
// types
|
// types
|
||||||
|
|
@ -14,8 +16,6 @@ import {
|
||||||
SpreadsheetQuickAddIssueForm,
|
SpreadsheetQuickAddIssueForm,
|
||||||
TQuickAddIssueForm,
|
TQuickAddIssueForm,
|
||||||
} from "@/components/issues/issue-layouts";
|
} from "@/components/issues/issue-layouts";
|
||||||
// constants
|
|
||||||
import { EIssueLayoutTypes } from "@/constants/issue";
|
|
||||||
// hooks
|
// hooks
|
||||||
import { useProject } from "@/hooks/store";
|
import { useProject } from "@/hooks/store";
|
||||||
import useKeypress from "@/hooks/use-keypress";
|
import useKeypress from "@/hooks/use-keypress";
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,4 @@
|
||||||
import { TIssueActivityComment } from "@plane/types";
|
import { ILayoutDisplayFiltersOptions, TIssueActivityComment } from "@plane/types";
|
||||||
// constants
|
|
||||||
import { ILayoutDisplayFiltersOptions } from "@/constants/issue";
|
|
||||||
|
|
||||||
export enum EActivityFilterType {
|
export enum EActivityFilterType {
|
||||||
ACTIVITY = "ACTIVITY",
|
ACTIVITY = "ACTIVITY",
|
||||||
|
|
|
||||||
|
|
@ -4,11 +4,10 @@ import { Command } from "cmdk";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
import { LinkIcon, Signal, Trash2, UserMinus2, UserPlus2, Users } from "lucide-react";
|
import { LinkIcon, Signal, Trash2, UserMinus2, UserPlus2, Users } from "lucide-react";
|
||||||
|
import { EIssuesStoreType } from "@plane/constants";
|
||||||
import { TIssue } from "@plane/types";
|
import { TIssue } from "@plane/types";
|
||||||
// hooks
|
// hooks
|
||||||
import { DoubleCircleIcon, TOAST_TYPE, setToast } from "@plane/ui";
|
import { DoubleCircleIcon, TOAST_TYPE, setToast } from "@plane/ui";
|
||||||
// constants
|
|
||||||
import { EIssuesStoreType } from "@/constants/issue";
|
|
||||||
// helpers
|
// helpers
|
||||||
import { copyTextToClipboard } from "@/helpers/string.helper";
|
import { copyTextToClipboard } from "@/helpers/string.helper";
|
||||||
// hooks
|
// hooks
|
||||||
|
|
|
||||||
|
|
@ -4,12 +4,12 @@ import { Command } from "cmdk";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
import { Check } from "lucide-react";
|
import { Check } from "lucide-react";
|
||||||
|
// plane constants
|
||||||
|
import { EIssuesStoreType } from "@plane/constants";
|
||||||
// plane types
|
// plane types
|
||||||
import { TIssue } from "@plane/types";
|
import { TIssue } from "@plane/types";
|
||||||
// plane ui
|
// plane ui
|
||||||
import { Avatar } from "@plane/ui";
|
import { Avatar } from "@plane/ui";
|
||||||
// constants
|
|
||||||
import { EIssuesStoreType } from "@/constants/issue";
|
|
||||||
// helpers
|
// helpers
|
||||||
import { getFileURL } from "@/helpers/file.helper";
|
import { getFileURL } from "@/helpers/file.helper";
|
||||||
// hooks
|
// hooks
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,16 @@
|
||||||
"use client"; ``
|
"use client";
|
||||||
|
|
||||||
import { Command } from "cmdk";
|
import { Command } from "cmdk";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
import { Check } from "lucide-react";
|
import { Check } from "lucide-react";
|
||||||
|
// plane constants
|
||||||
|
import { EIssuesStoreType } from "@plane/constants";
|
||||||
|
// plane types
|
||||||
import { TIssue, TIssuePriorities } from "@plane/types";
|
import { TIssue, TIssuePriorities } from "@plane/types";
|
||||||
// mobx store
|
// mobx store
|
||||||
import { PriorityIcon } from "@plane/ui";
|
import { PriorityIcon } from "@plane/ui";
|
||||||
import { EIssuesStoreType, ISSUE_PRIORITIES } from "@/constants/issue";
|
import { ISSUE_PRIORITIES } from "@/constants/issue";
|
||||||
import { useIssues } from "@/hooks/store";
|
import { useIssues } from "@/hooks/store";
|
||||||
// ui
|
// ui
|
||||||
// types
|
// types
|
||||||
|
|
|
||||||
|
|
@ -5,9 +5,9 @@ import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
// hooks
|
// hooks
|
||||||
import { Check } from "lucide-react";
|
import { Check } from "lucide-react";
|
||||||
|
import { EIssuesStoreType } from "@plane/constants";
|
||||||
import { TIssue } from "@plane/types";
|
import { TIssue } from "@plane/types";
|
||||||
import { Spinner, StateGroupIcon } from "@plane/ui";
|
import { Spinner, StateGroupIcon } from "@plane/ui";
|
||||||
import { EIssuesStoreType } from "@/constants/issue";
|
|
||||||
import { useProjectState, useIssues } from "@/hooks/store";
|
import { useProjectState, useIssues } from "@/hooks/store";
|
||||||
// ui
|
// ui
|
||||||
// icons
|
// icons
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ import { useParams } from "next/navigation";
|
||||||
import { SubmitHandler, useForm } from "react-hook-form";
|
import { SubmitHandler, useForm } from "react-hook-form";
|
||||||
import { Search } from "lucide-react";
|
import { Search } from "lucide-react";
|
||||||
import { Combobox, Dialog, Transition } from "@headlessui/react";
|
import { Combobox, Dialog, Transition } from "@headlessui/react";
|
||||||
|
import { EIssuesStoreType } from "@plane/constants";
|
||||||
// types
|
// types
|
||||||
import { ISearchIssueResponse, IUser } from "@plane/types";
|
import { ISearchIssueResponse, IUser } from "@plane/types";
|
||||||
// ui
|
// ui
|
||||||
|
|
@ -14,7 +15,6 @@ import { Button, Loader, TOAST_TYPE, setToast } from "@plane/ui";
|
||||||
import { EmptyState } from "@/components/empty-state";
|
import { EmptyState } from "@/components/empty-state";
|
||||||
// constants
|
// constants
|
||||||
import { EmptyStateType } from "@/constants/empty-state";
|
import { EmptyStateType } from "@/constants/empty-state";
|
||||||
import { EIssuesStoreType } from "@/constants/issue";
|
|
||||||
// hooks
|
// hooks
|
||||||
import { useIssues } from "@/hooks/store";
|
import { useIssues } from "@/hooks/store";
|
||||||
import useDebounce from "@/hooks/use-debounce";
|
import useDebounce from "@/hooks/use-debounce";
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ import { CalendarCheck } from "lucide-react";
|
||||||
// headless ui
|
// headless ui
|
||||||
import { Tab } from "@headlessui/react";
|
import { Tab } from "@headlessui/react";
|
||||||
// types
|
// types
|
||||||
|
import { EIssuesStoreType } from "@plane/constants";
|
||||||
import { ICycle, IIssueFilterOptions } from "@plane/types";
|
import { ICycle, IIssueFilterOptions } from "@plane/types";
|
||||||
// ui
|
// ui
|
||||||
import { Tooltip, Loader, PriorityIcon, Avatar } from "@plane/ui";
|
import { Tooltip, Loader, PriorityIcon, Avatar } from "@plane/ui";
|
||||||
|
|
@ -16,7 +17,6 @@ import { StateDropdown } from "@/components/dropdowns";
|
||||||
import { EmptyState } from "@/components/empty-state";
|
import { EmptyState } from "@/components/empty-state";
|
||||||
// constants
|
// constants
|
||||||
import { EmptyStateType } from "@/constants/empty-state";
|
import { EmptyStateType } from "@/constants/empty-state";
|
||||||
import { EIssuesStoreType } from "@/constants/issue";
|
|
||||||
// helpers
|
// helpers
|
||||||
import { cn } from "@/helpers/common.helper";
|
import { cn } from "@/helpers/common.helper";
|
||||||
import { renderFormattedDate, renderFormattedDateWithoutYear } from "@/helpers/date-time.helper";
|
import { renderFormattedDate, renderFormattedDateWithoutYear } from "@/helpers/date-time.helper";
|
||||||
|
|
|
||||||
|
|
@ -2,9 +2,9 @@ import { useCallback } from "react";
|
||||||
import isEqual from "lodash/isEqual";
|
import isEqual from "lodash/isEqual";
|
||||||
import { useRouter } from "next/navigation";
|
import { useRouter } from "next/navigation";
|
||||||
import useSWR from "swr";
|
import useSWR from "swr";
|
||||||
|
import { EIssueFilterType, EIssuesStoreType } from "@plane/constants";
|
||||||
import { IIssueFilterOptions } from "@plane/types";
|
import { IIssueFilterOptions } from "@plane/types";
|
||||||
import { CYCLE_ISSUES_WITH_PARAMS } from "@/constants/fetch-keys";
|
import { CYCLE_ISSUES_WITH_PARAMS } from "@/constants/fetch-keys";
|
||||||
import { EIssueFilterType, EIssuesStoreType } from "@/constants/issue";
|
|
||||||
import { useCycle, useIssues } from "@/hooks/store";
|
import { useCycle, useIssues } from "@/hooks/store";
|
||||||
|
|
||||||
interface IActiveCycleDetails {
|
interface IActiveCycleDetails {
|
||||||
|
|
|
||||||
|
|
@ -7,11 +7,11 @@ import { observer } from "mobx-react";
|
||||||
import { useSearchParams } from "next/navigation";
|
import { useSearchParams } from "next/navigation";
|
||||||
import { ChevronUp, ChevronDown } from "lucide-react";
|
import { ChevronUp, ChevronDown } from "lucide-react";
|
||||||
import { Disclosure, Transition } from "@headlessui/react";
|
import { Disclosure, Transition } from "@headlessui/react";
|
||||||
|
import { EIssueFilterType, EIssuesStoreType } from "@plane/constants";
|
||||||
import { ICycle, IIssueFilterOptions, TCyclePlotType, TProgressSnapshot } from "@plane/types";
|
import { ICycle, IIssueFilterOptions, TCyclePlotType, TProgressSnapshot } from "@plane/types";
|
||||||
// components
|
// components
|
||||||
import { CycleProgressStats } from "@/components/cycles";
|
import { CycleProgressStats } from "@/components/cycles";
|
||||||
// constants
|
// constants
|
||||||
import { EIssueFilterType, EIssuesStoreType } from "@/constants/issue";
|
|
||||||
// helpers
|
// helpers
|
||||||
import { getDate } from "@/helpers/date-time.helper";
|
import { getDate } from "@/helpers/date-time.helper";
|
||||||
// hooks
|
// hooks
|
||||||
|
|
|
||||||
|
|
@ -8,8 +8,8 @@ import { Dialog, Transition } from "@headlessui/react";
|
||||||
// hooks
|
// hooks
|
||||||
// ui
|
// ui
|
||||||
//icons
|
//icons
|
||||||
|
import { EIssuesStoreType } from "@plane/constants";
|
||||||
import { ContrastIcon, TransferIcon, TOAST_TYPE, setToast } from "@plane/ui";
|
import { ContrastIcon, TransferIcon, TOAST_TYPE, setToast } from "@plane/ui";
|
||||||
import { EIssuesStoreType } from "@/constants/issue";
|
|
||||||
import { useCycle, useIssues } from "@/hooks/store";
|
import { useCycle, useIssues } from "@/hooks/store";
|
||||||
//icons
|
//icons
|
||||||
// constants
|
// constants
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,14 @@
|
||||||
import { useCallback, useMemo } from "react";
|
import { useCallback, useMemo } from "react";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { Check } from "lucide-react";
|
import { Check } from "lucide-react";
|
||||||
|
// plane constants
|
||||||
|
import { EIssueLayoutTypes } from "@plane/constants";
|
||||||
// plane ui
|
// plane ui
|
||||||
import { Dropdown } from "@plane/ui";
|
import { Dropdown } from "@plane/ui";
|
||||||
// plane utils
|
// plane utils
|
||||||
import { cn } from "@plane/utils";
|
import { cn } from "@plane/utils";
|
||||||
// constants
|
// constants
|
||||||
import { EIssueLayoutTypes, ISSUE_LAYOUT_MAP } from "@/constants/issue";
|
import { ISSUE_LAYOUT_MAP } from "@/constants/issue";
|
||||||
|
|
||||||
type TLayoutDropDown = {
|
type TLayoutDropDown = {
|
||||||
onChange: (value: EIssueLayoutTypes) => void;
|
onChange: (value: EIssueLayoutTypes) => void;
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,11 @@
|
||||||
import React, { useState } from "react";
|
import React, { useState } from "react";
|
||||||
// editor
|
// editor
|
||||||
|
import { EIssueCommentAccessSpecifier } from "@plane/constants";
|
||||||
import { EditorRefApi, ILiteTextEditor, LiteTextEditorWithRef } from "@plane/editor";
|
import { EditorRefApi, ILiteTextEditor, LiteTextEditorWithRef } from "@plane/editor";
|
||||||
// types
|
// types
|
||||||
import { IUserLite } from "@plane/types";
|
import { IUserLite } from "@plane/types";
|
||||||
// components
|
// components
|
||||||
import { IssueCommentToolbar } from "@/components/editor";
|
import { IssueCommentToolbar } from "@/components/editor";
|
||||||
// constants
|
|
||||||
import { EIssueCommentAccessSpecifier } from "@/constants/issue";
|
|
||||||
// helpers
|
// helpers
|
||||||
import { cn } from "@/helpers/common.helper";
|
import { cn } from "@/helpers/common.helper";
|
||||||
import { getEditorFileHandlers } from "@/helpers/editor.helper";
|
import { getEditorFileHandlers } from "@/helpers/editor.helper";
|
||||||
|
|
|
||||||
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
import React, { useEffect, useState, useCallback } from "react";
|
import React, { useEffect, useState, useCallback } from "react";
|
||||||
import { Globe2, Lock, LucideIcon } from "lucide-react";
|
import { Globe2, Lock, LucideIcon } from "lucide-react";
|
||||||
|
import { EIssueCommentAccessSpecifier } from "@plane/constants";
|
||||||
// editor
|
// editor
|
||||||
import { EditorRefApi } from "@plane/editor";
|
import { EditorRefApi } from "@plane/editor";
|
||||||
// ui
|
// ui
|
||||||
import { Button, Tooltip } from "@plane/ui";
|
import { Button, Tooltip } from "@plane/ui";
|
||||||
// constants
|
// constants
|
||||||
import { TOOLBAR_ITEMS, ToolbarMenuItem } from "@/constants/editor";
|
import { TOOLBAR_ITEMS, ToolbarMenuItem } from "@/constants/editor";
|
||||||
import { EIssueCommentAccessSpecifier } from "@/constants/issue";
|
|
||||||
// helpers
|
// helpers
|
||||||
import { cn } from "@/helpers/common.helper";
|
import { cn } from "@/helpers/common.helper";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,15 @@
|
||||||
import { FC } from "react";
|
import { FC } from "react";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
|
// plane constants
|
||||||
|
import { EIssueFilterType, EIssuesStoreType } from "@plane/constants";
|
||||||
// types
|
// types
|
||||||
import type { IIssueDisplayFilterOptions, IIssueDisplayProperties, IIssueFilterOptions } from "@plane/types";
|
import type { IIssueDisplayFilterOptions, IIssueDisplayProperties, IIssueFilterOptions } from "@plane/types";
|
||||||
// components
|
// components
|
||||||
import { ArchiveTabsList } from "@/components/archives";
|
import { ArchiveTabsList } from "@/components/archives";
|
||||||
import { DisplayFiltersSelection, FilterSelection, FiltersDropdown } from "@/components/issues";
|
import { DisplayFiltersSelection, FilterSelection, FiltersDropdown } from "@/components/issues";
|
||||||
// constants
|
// constants
|
||||||
import { EIssueFilterType, EIssuesStoreType, ISSUE_DISPLAY_FILTERS_BY_LAYOUT } from "@/constants/issue";
|
import { ISSUE_DISPLAY_FILTERS_BY_LAYOUT } from "@/constants/issue";
|
||||||
// helpers
|
// helpers
|
||||||
import { isIssueFilterActive } from "@/helpers/filter.helper";
|
import { isIssueFilterActive } from "@/helpers/filter.helper";
|
||||||
// hooks
|
// hooks
|
||||||
|
|
|
||||||
|
|
@ -2,13 +2,15 @@
|
||||||
|
|
||||||
import { useCallback, useState } from "react";
|
import { useCallback, useState } from "react";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
|
// plane constants
|
||||||
|
import { EIssueLayoutTypes, EIssueFilterType, EIssuesStoreType } from "@plane/constants";
|
||||||
// types
|
// types
|
||||||
import { IIssueDisplayFilterOptions, IIssueDisplayProperties, IIssueFilterOptions } from "@plane/types";
|
import { IIssueDisplayFilterOptions, IIssueDisplayProperties, IIssueFilterOptions } from "@plane/types";
|
||||||
import { Button } from "@plane/ui";
|
import { Button } from "@plane/ui";
|
||||||
// components
|
// components
|
||||||
import { DisplayFiltersSelection, FiltersDropdown, FilterSelection, LayoutSelection } from "@/components/issues";
|
import { DisplayFiltersSelection, FiltersDropdown, FilterSelection, LayoutSelection } from "@/components/issues";
|
||||||
// constants
|
// constants
|
||||||
import { EIssueFilterType, EIssueLayoutTypes, EIssuesStoreType, ISSUE_STORE_TO_FILTERS_MAP } from "@/constants/issue";
|
import { ISSUE_STORE_TO_FILTERS_MAP } from "@/constants/issue";
|
||||||
// helpers
|
// helpers
|
||||||
import { isIssueFilterActive } from "@/helpers/filter.helper";
|
import { isIssueFilterActive } from "@/helpers/filter.helper";
|
||||||
// hooks
|
// hooks
|
||||||
|
|
|
||||||
|
|
@ -4,14 +4,13 @@ import { FC, useEffect, useRef, useState } from "react";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { useForm } from "react-hook-form";
|
import { useForm } from "react-hook-form";
|
||||||
import { Check, Globe2, Lock, Pencil, Trash2, X } from "lucide-react";
|
import { Check, Globe2, Lock, Pencil, Trash2, X } from "lucide-react";
|
||||||
|
import { EIssueCommentAccessSpecifier } from "@plane/constants";
|
||||||
import { EditorReadOnlyRefApi, EditorRefApi } from "@plane/editor";
|
import { EditorReadOnlyRefApi, EditorRefApi } from "@plane/editor";
|
||||||
import { TIssueComment } from "@plane/types";
|
import { TIssueComment } from "@plane/types";
|
||||||
// ui
|
// ui
|
||||||
import { CustomMenu } from "@plane/ui";
|
import { CustomMenu } from "@plane/ui";
|
||||||
// components
|
// components
|
||||||
import { LiteTextEditor, LiteTextReadOnlyEditor } from "@/components/editor";
|
import { LiteTextEditor, LiteTextReadOnlyEditor } from "@/components/editor";
|
||||||
// constants
|
|
||||||
import { EIssueCommentAccessSpecifier } from "@/constants/issue";
|
|
||||||
// helpers
|
// helpers
|
||||||
import { isCommentEmpty } from "@/helpers/string.helper";
|
import { isCommentEmpty } from "@/helpers/string.helper";
|
||||||
// hooks
|
// hooks
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,12 @@
|
||||||
import { FC, useRef, useState } from "react";
|
import { FC, useRef, useState } from "react";
|
||||||
import { useForm, Controller } from "react-hook-form";
|
import { useForm, Controller } from "react-hook-form";
|
||||||
|
import { EIssueCommentAccessSpecifier } from "@plane/constants";
|
||||||
// plane editor
|
// plane editor
|
||||||
import { EditorRefApi } from "@plane/editor";
|
import { EditorRefApi } from "@plane/editor";
|
||||||
// types
|
// types
|
||||||
import { TIssueComment } from "@plane/types";
|
import { TIssueComment } from "@plane/types";
|
||||||
// components
|
// components
|
||||||
import { LiteTextEditor } from "@/components/editor";
|
import { LiteTextEditor } from "@/components/editor";
|
||||||
// constants
|
|
||||||
import { EIssueCommentAccessSpecifier } from "@/constants/issue";
|
|
||||||
// helpers
|
// helpers
|
||||||
import { cn } from "@/helpers/common.helper";
|
import { cn } from "@/helpers/common.helper";
|
||||||
import { isCommentEmpty } from "@/helpers/string.helper";
|
import { isCommentEmpty } from "@/helpers/string.helper";
|
||||||
|
|
|
||||||
|
|
@ -4,12 +4,12 @@ import React, { FC, useState } from "react";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { usePathname } from "next/navigation";
|
import { usePathname } from "next/navigation";
|
||||||
import { ArchiveIcon, ArchiveRestoreIcon, LinkIcon, Trash2 } from "lucide-react";
|
import { ArchiveIcon, ArchiveRestoreIcon, LinkIcon, Trash2 } from "lucide-react";
|
||||||
|
import { EIssuesStoreType } from "@plane/constants";
|
||||||
import { TOAST_TYPE, Tooltip, setToast } from "@plane/ui";
|
import { TOAST_TYPE, Tooltip, setToast } from "@plane/ui";
|
||||||
// components
|
// components
|
||||||
import { ArchiveIssueModal, DeleteIssueModal, IssueSubscription } from "@/components/issues";
|
import { ArchiveIssueModal, DeleteIssueModal, IssueSubscription } from "@/components/issues";
|
||||||
// constants
|
// constants
|
||||||
import { ISSUE_ARCHIVED, ISSUE_DELETED } from "@/constants/event-tracker";
|
import { ISSUE_ARCHIVED, ISSUE_DELETED } from "@/constants/event-tracker";
|
||||||
import { EIssuesStoreType } from "@/constants/issue";
|
|
||||||
import { ARCHIVABLE_STATE_GROUPS } from "@/constants/state";
|
import { ARCHIVABLE_STATE_GROUPS } from "@/constants/state";
|
||||||
// helpers
|
// helpers
|
||||||
import { cn } from "@/helpers/common.helper";
|
import { cn } from "@/helpers/common.helper";
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ import { FC, useMemo } from "react";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { usePathname } from "next/navigation";
|
import { usePathname } from "next/navigation";
|
||||||
// types
|
// types
|
||||||
|
import { EIssuesStoreType } from "@plane/constants";
|
||||||
import { TIssue } from "@plane/types";
|
import { TIssue } from "@plane/types";
|
||||||
// ui
|
// ui
|
||||||
import { TOAST_TYPE, setPromiseToast, setToast } from "@plane/ui";
|
import { TOAST_TYPE, setPromiseToast, setToast } from "@plane/ui";
|
||||||
|
|
@ -12,7 +13,6 @@ import { EmptyState } from "@/components/common";
|
||||||
import { IssueDetailsSidebar, IssuePeekOverview } from "@/components/issues";
|
import { IssueDetailsSidebar, IssuePeekOverview } from "@/components/issues";
|
||||||
// constants
|
// constants
|
||||||
import { ISSUE_UPDATED, ISSUE_DELETED, ISSUE_ARCHIVED } from "@/constants/event-tracker";
|
import { ISSUE_UPDATED, ISSUE_DELETED, ISSUE_ARCHIVED } from "@/constants/event-tracker";
|
||||||
import { EIssuesStoreType } from "@/constants/issue";
|
|
||||||
// hooks
|
// hooks
|
||||||
import { useAppTheme, useEventTracker, useIssueDetail, useIssues, useUserPermissions } from "@/hooks/store";
|
import { useAppTheme, useEventTracker, useIssueDetail, useIssues, useUserPermissions } from "@/hooks/store";
|
||||||
import { useAppRouter } from "@/hooks/use-app-router";
|
import { useAppRouter } from "@/hooks/use-app-router";
|
||||||
|
|
|
||||||
|
|
@ -3,13 +3,12 @@
|
||||||
import { FC, useCallback, useEffect } from "react";
|
import { FC, useCallback, useEffect } from "react";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
import { EIssueGroupByToServerOptions } from "@plane/constants";
|
import { EIssueGroupByToServerOptions, EIssuesStoreType } from "@plane/constants";
|
||||||
import { TGroupedIssues } from "@plane/types";
|
import { TGroupedIssues } from "@plane/types";
|
||||||
// components
|
// components
|
||||||
import { TOAST_TYPE, setToast } from "@plane/ui";
|
import { TOAST_TYPE, setToast } from "@plane/ui";
|
||||||
import { CalendarChart } from "@/components/issues";
|
import { CalendarChart } from "@/components/issues";
|
||||||
//constants
|
//constants
|
||||||
import { EIssuesStoreType } from "@/constants/issue";
|
|
||||||
// hooks
|
// hooks
|
||||||
import { useIssues, useCalendarView, useUserPermissions } from "@/hooks/store";
|
import { useIssues, useCalendarView, useUserPermissions } from "@/hooks/store";
|
||||||
import { useIssueStoreType } from "@/hooks/use-issue-layout-store";
|
import { useIssueStoreType } from "@/hooks/use-issue-layout-store";
|
||||||
|
|
@ -38,7 +37,14 @@ interface IBaseCalendarRoot {
|
||||||
}
|
}
|
||||||
|
|
||||||
export const BaseCalendarRoot = observer((props: IBaseCalendarRoot) => {
|
export const BaseCalendarRoot = observer((props: IBaseCalendarRoot) => {
|
||||||
const { QuickActions, addIssuesToView, isCompletedCycle = false, viewId, isEpic = false, canEditPropertiesBasedOnProject } = props;
|
const {
|
||||||
|
QuickActions,
|
||||||
|
addIssuesToView,
|
||||||
|
isCompletedCycle = false,
|
||||||
|
viewId,
|
||||||
|
isEpic = false,
|
||||||
|
canEditPropertiesBasedOnProject,
|
||||||
|
} = props;
|
||||||
|
|
||||||
// router
|
// router
|
||||||
const { workspaceSlug } = useParams();
|
const { workspaceSlug } = useParams();
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,8 @@ import { useEffect, useRef, useState } from "react";
|
||||||
import { combine } from "@atlaskit/pragmatic-drag-and-drop/combine";
|
import { combine } from "@atlaskit/pragmatic-drag-and-drop/combine";
|
||||||
import { autoScrollForElements } from "@atlaskit/pragmatic-drag-and-drop-auto-scroll/element";
|
import { autoScrollForElements } from "@atlaskit/pragmatic-drag-and-drop-auto-scroll/element";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
|
// plane constants
|
||||||
|
import { EIssueLayoutTypes, EIssueFilterType, EIssuesStoreType } from "@plane/constants";
|
||||||
// types
|
// types
|
||||||
import type {
|
import type {
|
||||||
IIssueDisplayFilterOptions,
|
IIssueDisplayFilterOptions,
|
||||||
|
|
@ -21,7 +23,6 @@ import { Spinner } from "@plane/ui";
|
||||||
import { CalendarHeader, CalendarIssueBlocks, CalendarWeekDays, CalendarWeekHeader } from "@/components/issues";
|
import { CalendarHeader, CalendarIssueBlocks, CalendarWeekDays, CalendarWeekHeader } from "@/components/issues";
|
||||||
// constants
|
// constants
|
||||||
import { MONTHS_LIST } from "@/constants/calendar";
|
import { MONTHS_LIST } from "@/constants/calendar";
|
||||||
import { EIssueFilterType, EIssueLayoutTypes, EIssuesStoreType } from "@/constants/issue";
|
|
||||||
// helpers
|
// helpers
|
||||||
import { cn } from "@/helpers/common.helper";
|
import { cn } from "@/helpers/common.helper";
|
||||||
import { renderFormattedPayloadDate } from "@/helpers/date-time.helper";
|
import { renderFormattedPayloadDate } from "@/helpers/date-time.helper";
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ import { Popover, Transition } from "@headlessui/react";
|
||||||
// hooks
|
// hooks
|
||||||
// ui
|
// ui
|
||||||
// icons
|
// icons
|
||||||
|
import { EIssueFilterType } from "@plane/constants";
|
||||||
import {
|
import {
|
||||||
IIssueDisplayFilterOptions,
|
IIssueDisplayFilterOptions,
|
||||||
IIssueDisplayProperties,
|
IIssueDisplayProperties,
|
||||||
|
|
@ -20,7 +21,6 @@ import { ToggleSwitch } from "@plane/ui";
|
||||||
// types
|
// types
|
||||||
// constants
|
// constants
|
||||||
import { CALENDAR_LAYOUTS } from "@/constants/calendar";
|
import { CALENDAR_LAYOUTS } from "@/constants/calendar";
|
||||||
import { EIssueFilterType } from "@/constants/issue";
|
|
||||||
import { useCalendarView } from "@/hooks/store";
|
import { useCalendarView } from "@/hooks/store";
|
||||||
import useSize from "@/hooks/use-window-size";
|
import useSize from "@/hooks/use-window-size";
|
||||||
import { IProjectEpicsFilter } from "@/plane-web/store/issue/epic";
|
import { IProjectEpicsFilter } from "@/plane-web/store/issue/epic";
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ import { observer } from "mobx-react";
|
||||||
|
|
||||||
// components
|
// components
|
||||||
import { ChevronLeft, ChevronRight } from "lucide-react";
|
import { ChevronLeft, ChevronRight } from "lucide-react";
|
||||||
|
import { EIssueFilterType } from "@plane/constants";
|
||||||
import {
|
import {
|
||||||
IIssueDisplayFilterOptions,
|
IIssueDisplayFilterOptions,
|
||||||
IIssueDisplayProperties,
|
IIssueDisplayProperties,
|
||||||
|
|
@ -11,7 +12,6 @@ import {
|
||||||
import { Row } from "@plane/ui";
|
import { Row } from "@plane/ui";
|
||||||
import { CalendarMonthsDropdown, CalendarOptionsDropdown } from "@/components/issues";
|
import { CalendarMonthsDropdown, CalendarOptionsDropdown } from "@/components/issues";
|
||||||
// icons
|
// icons
|
||||||
import { EIssueFilterType } from "@/constants/issue";
|
|
||||||
import { useCalendarView } from "@/hooks/store/use-calendar-view";
|
import { useCalendarView } from "@/hooks/store/use-calendar-view";
|
||||||
import { IProjectEpicsFilter } from "@/plane-web/store/issue/epic";
|
import { IProjectEpicsFilter } from "@/plane-web/store/issue/epic";
|
||||||
import { ICycleIssuesFilter } from "@/store/issue/cycle";
|
import { ICycleIssuesFilter } from "@/store/issue/cycle";
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,8 @@ import { differenceInCalendarDays } from "date-fns";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
import { PlusIcon } from "lucide-react";
|
import { PlusIcon } from "lucide-react";
|
||||||
|
// plane constants
|
||||||
|
import { EIssueLayoutTypes } from "@plane/constants";
|
||||||
// types
|
// types
|
||||||
import { ISearchIssueResponse, TIssue } from "@plane/types";
|
import { ISearchIssueResponse, TIssue } from "@plane/types";
|
||||||
// ui
|
// ui
|
||||||
|
|
@ -13,7 +15,6 @@ import { CustomMenu, setPromiseToast } from "@plane/ui";
|
||||||
import { ExistingIssuesListModal } from "@/components/core";
|
import { ExistingIssuesListModal } from "@/components/core";
|
||||||
import { QuickAddIssueRoot } from "@/components/issues";
|
import { QuickAddIssueRoot } from "@/components/issues";
|
||||||
// helpers
|
// helpers
|
||||||
import { EIssueLayoutTypes } from "@/constants/issue";
|
|
||||||
import { cn } from "@/helpers/common.helper";
|
import { cn } from "@/helpers/common.helper";
|
||||||
// hooks
|
// hooks
|
||||||
import { useIssueDetail } from "@/hooks/store";
|
import { useIssueDetail } from "@/hooks/store";
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,8 @@ import { useCallback } from "react";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
//hooks
|
//hooks
|
||||||
|
import { EIssuesStoreType } from "@plane/constants";
|
||||||
import { CycleIssueQuickActions } from "@/components/issues";
|
import { CycleIssueQuickActions } from "@/components/issues";
|
||||||
import { EIssuesStoreType } from "@/constants/issue";
|
|
||||||
import { useCycle, useIssues } from "@/hooks/store";
|
import { useCycle, useIssues } from "@/hooks/store";
|
||||||
// components
|
// components
|
||||||
import { BaseCalendarRoot } from "../base-calendar-root";
|
import { BaseCalendarRoot } from "../base-calendar-root";
|
||||||
|
|
|
||||||
|
|
@ -3,10 +3,10 @@ import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
// hooks
|
// hooks
|
||||||
// components
|
// components
|
||||||
|
import { EIssuesStoreType } from "@plane/constants";
|
||||||
import { ModuleIssueQuickActions } from "@/components/issues";
|
import { ModuleIssueQuickActions } from "@/components/issues";
|
||||||
// types
|
// types
|
||||||
// constants
|
// constants
|
||||||
import { EIssuesStoreType } from "@/constants/issue";
|
|
||||||
import { useIssues } from "@/hooks/store";
|
import { useIssues } from "@/hooks/store";
|
||||||
import { BaseCalendarRoot } from "../base-calendar-root";
|
import { BaseCalendarRoot } from "../base-calendar-root";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
import size from "lodash/size";
|
import size from "lodash/size";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
|
import { EIssueFilterType, EIssuesStoreType } from "@plane/constants";
|
||||||
import { IIssueFilterOptions } from "@plane/types";
|
import { IIssueFilterOptions } from "@plane/types";
|
||||||
// hooks
|
// hooks
|
||||||
// components
|
// components
|
||||||
import { EmptyState } from "@/components/empty-state";
|
import { EmptyState } from "@/components/empty-state";
|
||||||
// constants
|
// constants
|
||||||
import { EmptyStateType } from "@/constants/empty-state";
|
import { EmptyStateType } from "@/constants/empty-state";
|
||||||
import { EIssueFilterType, EIssuesStoreType } from "@/constants/issue";
|
|
||||||
import { useIssues } from "@/hooks/store";
|
import { useIssues } from "@/hooks/store";
|
||||||
// types
|
// types
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ import size from "lodash/size";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
// types
|
// types
|
||||||
|
import { EIssueFilterType, EIssuesStoreType } from "@plane/constants";
|
||||||
import { IIssueFilterOptions, ISearchIssueResponse } from "@plane/types";
|
import { IIssueFilterOptions, ISearchIssueResponse } from "@plane/types";
|
||||||
// ui
|
// ui
|
||||||
import { TOAST_TYPE, setToast } from "@plane/ui";
|
import { TOAST_TYPE, setToast } from "@plane/ui";
|
||||||
|
|
@ -14,7 +15,6 @@ import { ExistingIssuesListModal } from "@/components/core";
|
||||||
import { EmptyState } from "@/components/empty-state";
|
import { EmptyState } from "@/components/empty-state";
|
||||||
// constants
|
// constants
|
||||||
import { EmptyStateType } from "@/constants/empty-state";
|
import { EmptyStateType } from "@/constants/empty-state";
|
||||||
import { EIssueFilterType, EIssuesStoreType } from "@/constants/issue";
|
|
||||||
import { useCommandPalette, useCycle, useEventTracker, useIssues } from "@/hooks/store";
|
import { useCommandPalette, useCycle, useEventTracker, useIssues } from "@/hooks/store";
|
||||||
|
|
||||||
export const CycleEmptyState: React.FC = observer(() => {
|
export const CycleEmptyState: React.FC = observer(() => {
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
import size from "lodash/size";
|
import size from "lodash/size";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
|
import { EIssueFilterType, EIssuesStoreType } from "@plane/constants";
|
||||||
import { IIssueFilterOptions } from "@plane/types";
|
import { IIssueFilterOptions } from "@plane/types";
|
||||||
// hooks
|
// hooks
|
||||||
// components
|
// components
|
||||||
import { EmptyState } from "@/components/empty-state";
|
import { EmptyState } from "@/components/empty-state";
|
||||||
// constants
|
// constants
|
||||||
import { EmptyStateType } from "@/constants/empty-state";
|
import { EmptyStateType } from "@/constants/empty-state";
|
||||||
import { EIssueFilterType, EIssuesStoreType } from "@/constants/issue";
|
|
||||||
import { useIssues } from "@/hooks/store";
|
import { useIssues } from "@/hooks/store";
|
||||||
// types
|
// types
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
// components
|
// components
|
||||||
|
import { EIssuesStoreType } from "@plane/constants";
|
||||||
import { EmptyState } from "@/components/empty-state";
|
import { EmptyState } from "@/components/empty-state";
|
||||||
// constants
|
// constants
|
||||||
import { EMPTY_STATE_DETAILS, EmptyStateType } from "@/constants/empty-state";
|
import { EMPTY_STATE_DETAILS, EmptyStateType } from "@/constants/empty-state";
|
||||||
import { EIssuesStoreType } from "@/constants/issue";
|
|
||||||
// hooks
|
// hooks
|
||||||
import { useCommandPalette, useEventTracker, useProject } from "@/hooks/store";
|
import { useCommandPalette, useEventTracker, useProject } from "@/hooks/store";
|
||||||
// assets
|
// assets
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import { EIssuesStoreType } from "@/constants/issue";
|
import { EIssuesStoreType } from "@plane/constants";
|
||||||
// components
|
// components
|
||||||
import { ProjectArchivedEmptyState } from "./archived-issues";
|
import { ProjectArchivedEmptyState } from "./archived-issues";
|
||||||
import { CycleEmptyState } from "./cycle";
|
import { CycleEmptyState } from "./cycle";
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ import size from "lodash/size";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
// types
|
// types
|
||||||
|
import { EIssueFilterType, EIssuesStoreType } from "@plane/constants";
|
||||||
import { IIssueFilterOptions, ISearchIssueResponse } from "@plane/types";
|
import { IIssueFilterOptions, ISearchIssueResponse } from "@plane/types";
|
||||||
// ui
|
// ui
|
||||||
import { TOAST_TYPE, setToast } from "@plane/ui";
|
import { TOAST_TYPE, setToast } from "@plane/ui";
|
||||||
|
|
@ -13,7 +14,6 @@ import { ExistingIssuesListModal } from "@/components/core";
|
||||||
import { EmptyState } from "@/components/empty-state";
|
import { EmptyState } from "@/components/empty-state";
|
||||||
// constants
|
// constants
|
||||||
import { EmptyStateType } from "@/constants/empty-state";
|
import { EmptyStateType } from "@/constants/empty-state";
|
||||||
import { EIssueFilterType, EIssuesStoreType } from "@/constants/issue";
|
|
||||||
// hooks
|
// hooks
|
||||||
import { useCommandPalette, useEventTracker, useIssues } from "@/hooks/store";
|
import { useCommandPalette, useEventTracker, useIssues } from "@/hooks/store";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,12 +2,12 @@ import size from "lodash/size";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
// types
|
// types
|
||||||
|
import { EIssueFilterType, EIssuesStoreType } from "@plane/constants";
|
||||||
import { IIssueFilterOptions } from "@plane/types";
|
import { IIssueFilterOptions } from "@plane/types";
|
||||||
// components
|
// components
|
||||||
import { EmptyState } from "@/components/empty-state";
|
import { EmptyState } from "@/components/empty-state";
|
||||||
// constants
|
// constants
|
||||||
import { EmptyStateType } from "@/constants/empty-state";
|
import { EmptyStateType } from "@/constants/empty-state";
|
||||||
import { EIssueFilterType, EIssuesStoreType } from "@/constants/issue";
|
|
||||||
// hooks
|
// hooks
|
||||||
import { useCommandPalette, useEventTracker, useIssues } from "@/hooks/store";
|
import { useCommandPalette, useEventTracker, useIssues } from "@/hooks/store";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { PlusIcon } from "lucide-react";
|
import { PlusIcon } from "lucide-react";
|
||||||
// components
|
// components
|
||||||
|
import { EIssuesStoreType } from "@plane/constants";
|
||||||
import { EmptyState } from "@/components/common";
|
import { EmptyState } from "@/components/common";
|
||||||
// constants
|
// constants
|
||||||
import { EIssuesStoreType } from "@/constants/issue";
|
|
||||||
// hooks
|
// hooks
|
||||||
import { useCommandPalette, useEventTracker, useUserPermissions } from "@/hooks/store";
|
import { useCommandPalette, useEventTracker, useUserPermissions } from "@/hooks/store";
|
||||||
import { EUserPermissions, EUserPermissionsLevel } from "@/plane-web/constants/user-permissions";
|
import { EUserPermissions, EUserPermissionsLevel } from "@/plane-web/constants/user-permissions";
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
|
import { EIssueFilterType, EIssuesStoreType } from "@plane/constants";
|
||||||
import { IIssueFilterOptions } from "@plane/types";
|
import { IIssueFilterOptions } from "@plane/types";
|
||||||
// hooks
|
// hooks
|
||||||
import { AppliedFiltersList } from "@/components/issues";
|
import { AppliedFiltersList } from "@/components/issues";
|
||||||
import { EIssueFilterType, EIssuesStoreType } from "@/constants/issue";
|
|
||||||
import { useIssues, useLabel, useProjectState } from "@/hooks/store";
|
import { useIssues, useLabel, useProjectState } from "@/hooks/store";
|
||||||
// components
|
// components
|
||||||
// types
|
// types
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
|
import { EIssueFilterType, EIssuesStoreType } from "@plane/constants";
|
||||||
import { IIssueFilterOptions } from "@plane/types";
|
import { IIssueFilterOptions } from "@plane/types";
|
||||||
// hooks
|
// hooks
|
||||||
import { Header, EHeaderVariant } from "@plane/ui";
|
import { Header, EHeaderVariant } from "@plane/ui";
|
||||||
import { AppliedFiltersList, SaveFilterView } from "@/components/issues";
|
import { AppliedFiltersList, SaveFilterView } from "@/components/issues";
|
||||||
import { EIssueFilterType, EIssuesStoreType } from "@/constants/issue";
|
|
||||||
import { useIssues, useLabel, useProjectState } from "@/hooks/store";
|
import { useIssues, useLabel, useProjectState } from "@/hooks/store";
|
||||||
// components
|
// components
|
||||||
// types
|
// types
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
|
import { EIssueFilterType, EIssuesStoreType } from "@plane/constants";
|
||||||
import { IIssueFilterOptions } from "@plane/types";
|
import { IIssueFilterOptions } from "@plane/types";
|
||||||
// hooks
|
// hooks
|
||||||
import { AppliedFiltersList } from "@/components/issues";
|
import { AppliedFiltersList } from "@/components/issues";
|
||||||
import { EIssueFilterType, EIssuesStoreType } from "@/constants/issue";
|
|
||||||
import { useIssues, useLabel, useProjectState } from "@/hooks/store";
|
import { useIssues, useLabel, useProjectState } from "@/hooks/store";
|
||||||
// components
|
// components
|
||||||
// types
|
// types
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ import isEmpty from "lodash/isEmpty";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
// types
|
// types
|
||||||
|
import { EIssueFilterType, EIssuesStoreType } from "@plane/constants";
|
||||||
import { IIssueFilterOptions, TStaticViewTypes } from "@plane/types";
|
import { IIssueFilterOptions, TStaticViewTypes } from "@plane/types";
|
||||||
//ui
|
//ui
|
||||||
// components
|
// components
|
||||||
|
|
@ -15,7 +16,6 @@ import { UpdateViewComponent } from "@/components/views/update-view-component";
|
||||||
import { CreateUpdateWorkspaceViewModal } from "@/components/workspace";
|
import { CreateUpdateWorkspaceViewModal } from "@/components/workspace";
|
||||||
// constants
|
// constants
|
||||||
import { GLOBAL_VIEW_UPDATED } from "@/constants/event-tracker";
|
import { GLOBAL_VIEW_UPDATED } from "@/constants/event-tracker";
|
||||||
import { EIssueFilterType, EIssuesStoreType } from "@/constants/issue";
|
|
||||||
import { EViewAccess } from "@/constants/views";
|
import { EViewAccess } from "@/constants/views";
|
||||||
import { DEFAULT_GLOBAL_VIEWS_LIST } from "@/constants/workspace";
|
import { DEFAULT_GLOBAL_VIEWS_LIST } from "@/constants/workspace";
|
||||||
// helpers
|
// helpers
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
|
import { EIssueFilterType, EIssuesStoreType } from "@plane/constants";
|
||||||
import { IIssueFilterOptions } from "@plane/types";
|
import { IIssueFilterOptions } from "@plane/types";
|
||||||
// hooks
|
// hooks
|
||||||
import { Header, EHeaderVariant } from "@plane/ui";
|
import { Header, EHeaderVariant } from "@plane/ui";
|
||||||
import { AppliedFiltersList, SaveFilterView } from "@/components/issues";
|
import { AppliedFiltersList, SaveFilterView } from "@/components/issues";
|
||||||
import { EIssueFilterType, EIssuesStoreType } from "@/constants/issue";
|
|
||||||
import { useIssues, useLabel, useProjectState } from "@/hooks/store";
|
import { useIssues, useLabel, useProjectState } from "@/hooks/store";
|
||||||
// components
|
// components
|
||||||
// types
|
// types
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
|
import { EIssueFilterType, EIssuesStoreType } from "@plane/constants";
|
||||||
import { IIssueFilterOptions } from "@plane/types";
|
import { IIssueFilterOptions } from "@plane/types";
|
||||||
// hooks
|
// hooks
|
||||||
// components
|
// components
|
||||||
import { AppliedFiltersList } from "@/components/issues";
|
import { AppliedFiltersList } from "@/components/issues";
|
||||||
// types
|
// types
|
||||||
import { EIssueFilterType, EIssuesStoreType } from "@/constants/issue";
|
|
||||||
import { useIssues, useLabel } from "@/hooks/store";
|
import { useIssues, useLabel } from "@/hooks/store";
|
||||||
import { useWorkspaceIssueProperties } from "@/hooks/use-workspace-issue-properties";
|
import { useWorkspaceIssueProperties } from "@/hooks/use-workspace-issue-properties";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
// types
|
// types
|
||||||
|
import { EIssueFilterType, EIssuesStoreType } from "@plane/constants";
|
||||||
import { IIssueFilterOptions } from "@plane/types";
|
import { IIssueFilterOptions } from "@plane/types";
|
||||||
// ui
|
// ui
|
||||||
import { Header, EHeaderVariant } from "@plane/ui";
|
import { Header, EHeaderVariant } from "@plane/ui";
|
||||||
// components
|
// components
|
||||||
import { AppliedFiltersList, SaveFilterView } from "@/components/issues";
|
import { AppliedFiltersList, SaveFilterView } from "@/components/issues";
|
||||||
// constants
|
// constants
|
||||||
import { EIssueFilterType, EIssuesStoreType } from "@/constants/issue";
|
|
||||||
// hooks
|
// hooks
|
||||||
import { useLabel, useProjectState, useUserPermissions } from "@/hooks/store";
|
import { useLabel, useProjectState, useUserPermissions } from "@/hooks/store";
|
||||||
import { useIssues } from "@/hooks/store/use-issues";
|
import { useIssues } from "@/hooks/store/use-issues";
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ import isEmpty from "lodash/isEmpty";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
// types
|
// types
|
||||||
|
import { EIssueFilterType, EIssuesStoreType } from "@plane/constants";
|
||||||
import { IIssueFilterOptions } from "@plane/types";
|
import { IIssueFilterOptions } from "@plane/types";
|
||||||
// components
|
// components
|
||||||
import { Header, EHeaderVariant } from "@plane/ui";
|
import { Header, EHeaderVariant } from "@plane/ui";
|
||||||
|
|
@ -13,7 +14,6 @@ import { AppliedFiltersList } from "@/components/issues";
|
||||||
import { CreateUpdateProjectViewModal } from "@/components/views";
|
import { CreateUpdateProjectViewModal } from "@/components/views";
|
||||||
import { UpdateViewComponent } from "@/components/views/update-view-component";
|
import { UpdateViewComponent } from "@/components/views/update-view-component";
|
||||||
// constants
|
// constants
|
||||||
import { EIssueFilterType, EIssuesStoreType } from "@/constants/issue";
|
|
||||||
import { EViewAccess } from "@/constants/views";
|
import { EViewAccess } from "@/constants/views";
|
||||||
// hooks
|
// hooks
|
||||||
import { useIssues, useLabel, useProjectState, useProjectView, useUser, useUserPermissions } from "@/hooks/store";
|
import { useIssues, useLabel, useProjectState, useProjectView, useUser, useUserPermissions } from "@/hooks/store";
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,12 @@
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import isEmpty from "lodash/isEmpty";
|
import isEmpty from "lodash/isEmpty";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { IIssueDisplayFilterOptions, IIssueDisplayProperties, TIssueGroupByOptions } from "@plane/types";
|
import {
|
||||||
|
IIssueDisplayFilterOptions,
|
||||||
|
IIssueDisplayProperties,
|
||||||
|
ILayoutDisplayFiltersOptions,
|
||||||
|
TIssueGroupByOptions,
|
||||||
|
} from "@plane/types";
|
||||||
// components
|
// components
|
||||||
import {
|
import {
|
||||||
FilterDisplayProperties,
|
FilterDisplayProperties,
|
||||||
|
|
@ -10,8 +15,6 @@ import {
|
||||||
FilterOrderBy,
|
FilterOrderBy,
|
||||||
FilterSubGroupBy,
|
FilterSubGroupBy,
|
||||||
} from "@/components/issues";
|
} from "@/components/issues";
|
||||||
// types
|
|
||||||
import { ILayoutDisplayFiltersOptions } from "@/constants/issue";
|
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
displayFilters: IIssueDisplayFilterOptions | undefined;
|
displayFilters: IIssueDisplayFilterOptions | undefined;
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,13 @@ import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
import { Search, X } from "lucide-react";
|
import { Search, X } from "lucide-react";
|
||||||
// types
|
// types
|
||||||
import { IIssueDisplayFilterOptions, IIssueFilterOptions, IIssueLabel, IState } from "@plane/types";
|
import {
|
||||||
|
IIssueDisplayFilterOptions,
|
||||||
|
IIssueFilterOptions,
|
||||||
|
IIssueLabel,
|
||||||
|
ILayoutDisplayFiltersOptions,
|
||||||
|
IState,
|
||||||
|
} from "@plane/types";
|
||||||
// components
|
// components
|
||||||
import {
|
import {
|
||||||
FilterAssignees,
|
FilterAssignees,
|
||||||
|
|
@ -20,8 +26,6 @@ import {
|
||||||
FilterModule,
|
FilterModule,
|
||||||
FilterIssueGrouping,
|
FilterIssueGrouping,
|
||||||
} from "@/components/issues";
|
} from "@/components/issues";
|
||||||
// constants
|
|
||||||
import { ILayoutDisplayFiltersOptions } from "@/constants/issue";
|
|
||||||
// hooks
|
// hooks
|
||||||
import { usePlatformOS } from "@/hooks/use-platform-os";
|
import { usePlatformOS } from "@/hooks/use-platform-os";
|
||||||
// plane web components
|
// plane web components
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,13 @@
|
||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import React from "react";
|
import React from "react";
|
||||||
|
// plane constants
|
||||||
|
import { EIssueLayoutTypes } from "@plane/constants";
|
||||||
// ui
|
// ui
|
||||||
import { Tooltip } from "@plane/ui";
|
import { Tooltip } from "@plane/ui";
|
||||||
// types
|
// types
|
||||||
// constants
|
// constants
|
||||||
import { EIssueLayoutTypes, ISSUE_LAYOUTS } from "@/constants/issue";
|
import { ISSUE_LAYOUTS } from "@/constants/issue";
|
||||||
import { usePlatformOS } from "@/hooks/use-platform-os";
|
import { usePlatformOS } from "@/hooks/use-platform-os";
|
||||||
// hooks
|
// hooks
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ import React, { useCallback, useEffect } from "react";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
// plane constants
|
// plane constants
|
||||||
import { ALL_ISSUES } from "@plane/constants";
|
import { ALL_ISSUES, EIssueLayoutTypes, EIssuesStoreType } from "@plane/constants";
|
||||||
import { TIssue } from "@plane/types";
|
import { TIssue } from "@plane/types";
|
||||||
import { setToast, TOAST_TYPE } from "@plane/ui";
|
import { setToast, TOAST_TYPE } from "@plane/ui";
|
||||||
// hooks
|
// hooks
|
||||||
|
|
@ -10,7 +10,6 @@ import { GanttChartRoot, IBlockUpdateData, IssueGanttSidebar } from "@/component
|
||||||
import { ETimeLineTypeType, TimeLineTypeContext } from "@/components/gantt-chart/contexts";
|
import { ETimeLineTypeType, TimeLineTypeContext } from "@/components/gantt-chart/contexts";
|
||||||
import { QuickAddIssueRoot, IssueGanttBlock, GanttQuickAddIssueButton } from "@/components/issues";
|
import { QuickAddIssueRoot, IssueGanttBlock, GanttQuickAddIssueButton } from "@/components/issues";
|
||||||
//constants
|
//constants
|
||||||
import { EIssueLayoutTypes, EIssuesStoreType } from "@/constants/issue";
|
|
||||||
// helpers
|
// helpers
|
||||||
import { renderFormattedPayloadDate } from "@/helpers/date-time.helper";
|
import { renderFormattedPayloadDate } from "@/helpers/date-time.helper";
|
||||||
//hooks
|
//hooks
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,6 @@
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
|
// plane constants
|
||||||
|
import { EIssueLayoutTypes } from "@plane/constants";
|
||||||
import {
|
import {
|
||||||
CalendarLayoutLoader,
|
CalendarLayoutLoader,
|
||||||
GanttLayoutLoader,
|
GanttLayoutLoader,
|
||||||
|
|
@ -6,7 +8,6 @@ import {
|
||||||
ListLayoutLoader,
|
ListLayoutLoader,
|
||||||
SpreadsheetLayoutLoader,
|
SpreadsheetLayoutLoader,
|
||||||
} from "@/components/ui";
|
} from "@/components/ui";
|
||||||
import { EIssueLayoutTypes } from "@/constants/issue";
|
|
||||||
import { useIssues } from "@/hooks/store";
|
import { useIssues } from "@/hooks/store";
|
||||||
import { useIssueStoreType } from "@/hooks/use-issue-layout-store";
|
import { useIssueStoreType } from "@/hooks/use-issue-layout-store";
|
||||||
import { IssueLayoutEmptyState } from "./empty-states";
|
import { IssueLayoutEmptyState } from "./empty-states";
|
||||||
|
|
|
||||||
|
|
@ -6,11 +6,10 @@ import { dropTargetForElements } from "@atlaskit/pragmatic-drag-and-drop/element
|
||||||
import { autoScrollForElements } from "@atlaskit/pragmatic-drag-and-drop-auto-scroll/element";
|
import { autoScrollForElements } from "@atlaskit/pragmatic-drag-and-drop-auto-scroll/element";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { useParams, usePathname } from "next/navigation";
|
import { useParams, usePathname } from "next/navigation";
|
||||||
import { EIssueServiceType } from "@plane/constants";
|
import { EIssueLayoutTypes, EIssueServiceType, EIssueFilterType, EIssuesStoreType } from "@plane/constants";
|
||||||
import { DeleteIssueModal } from "@/components/issues";
|
import { DeleteIssueModal } from "@/components/issues";
|
||||||
//constants
|
//constants
|
||||||
import { ISSUE_DELETED } from "@/constants/event-tracker";
|
import { ISSUE_DELETED } from "@/constants/event-tracker";
|
||||||
import { EIssueFilterType, EIssueLayoutTypes, EIssuesStoreType } from "@/constants/issue";
|
|
||||||
//hooks
|
//hooks
|
||||||
import { useEventTracker, useIssueDetail, useIssues, useKanbanView, useUserPermissions } from "@/hooks/store";
|
import { useEventTracker, useIssueDetail, useIssues, useKanbanView, useUserPermissions } from "@/hooks/store";
|
||||||
import { useGroupIssuesDragNDrop } from "@/hooks/use-group-dragndrop";
|
import { useGroupIssuesDragNDrop } from "@/hooks/use-group-dragndrop";
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,8 @@ import { combine } from "@atlaskit/pragmatic-drag-and-drop/combine";
|
||||||
import { dropTargetForElements } from "@atlaskit/pragmatic-drag-and-drop/element/adapter";
|
import { dropTargetForElements } from "@atlaskit/pragmatic-drag-and-drop/element/adapter";
|
||||||
import { autoScrollForElements } from "@atlaskit/pragmatic-drag-and-drop-auto-scroll/element";
|
import { autoScrollForElements } from "@atlaskit/pragmatic-drag-and-drop-auto-scroll/element";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
|
// plane constants
|
||||||
|
import { EIssueLayoutTypes } from "@plane/constants";
|
||||||
//types
|
//types
|
||||||
import {
|
import {
|
||||||
TGroupedIssues,
|
TGroupedIssues,
|
||||||
|
|
@ -20,7 +22,7 @@ import { KanbanQuickAddIssueButton, QuickAddIssueRoot } from "@/components/issue
|
||||||
import { highlightIssueOnDrop } from "@/components/issues/issue-layouts/utils";
|
import { highlightIssueOnDrop } from "@/components/issues/issue-layouts/utils";
|
||||||
import { KanbanIssueBlockLoader } from "@/components/ui";
|
import { KanbanIssueBlockLoader } from "@/components/ui";
|
||||||
// helpers
|
// helpers
|
||||||
import { DRAG_ALLOWED_GROUPS, EIssueLayoutTypes } from "@/constants/issue";
|
import { DRAG_ALLOWED_GROUPS } from "@/constants/issue";
|
||||||
import { cn } from "@/helpers/common.helper";
|
import { cn } from "@/helpers/common.helper";
|
||||||
// hooks
|
// hooks
|
||||||
import { useProjectState } from "@/hooks/store";
|
import { useProjectState } from "@/hooks/store";
|
||||||
|
|
|
||||||
|
|
@ -2,9 +2,9 @@ import React, { useCallback } from "react";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
// components
|
// components
|
||||||
|
import { EIssuesStoreType } from "@plane/constants";
|
||||||
import { CycleIssueQuickActions } from "@/components/issues";
|
import { CycleIssueQuickActions } from "@/components/issues";
|
||||||
// constants
|
// constants
|
||||||
import { EIssuesStoreType } from "@/constants/issue";
|
|
||||||
// hooks
|
// hooks
|
||||||
import { useCycle, useIssues, useUserPermissions } from "@/hooks/store";
|
import { useCycle, useIssues, useUserPermissions } from "@/hooks/store";
|
||||||
import { EUserPermissions, EUserPermissionsLevel } from "@/plane-web/constants/user-permissions";
|
import { EUserPermissions, EUserPermissionsLevel } from "@/plane-web/constants/user-permissions";
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,8 @@ import React from "react";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
// hook
|
// hook
|
||||||
|
import { EIssuesStoreType } from "@plane/constants";
|
||||||
import { ModuleIssueQuickActions } from "@/components/issues";
|
import { ModuleIssueQuickActions } from "@/components/issues";
|
||||||
import { EIssuesStoreType } from "@/constants/issue";
|
|
||||||
import { useIssues } from "@/hooks/store";
|
import { useIssues } from "@/hooks/store";
|
||||||
// components
|
// components
|
||||||
// types
|
// types
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,11 @@
|
||||||
import { FC, useCallback, useEffect } from "react";
|
import { FC, useCallback, useEffect } from "react";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
// types
|
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
|
// plane constants
|
||||||
|
import { EIssueLayoutTypes, EIssueFilterType, EIssuesStoreType } from "@plane/constants";
|
||||||
|
// types
|
||||||
import { GroupByColumnTypes, TGroupedIssues, TIssueKanbanFilters } from "@plane/types";
|
import { GroupByColumnTypes, TGroupedIssues, TIssueKanbanFilters } from "@plane/types";
|
||||||
// constants
|
// constants
|
||||||
import { EIssueFilterType, EIssueLayoutTypes, EIssuesStoreType } from "@/constants/issue";
|
|
||||||
// hooks
|
// hooks
|
||||||
import { useIssues, useUserPermissions } from "@/hooks/store";
|
import { useIssues, useUserPermissions } from "@/hooks/store";
|
||||||
// hooks
|
// hooks
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,8 @@ import { MutableRefObject, useEffect, useRef, useState } from "react";
|
||||||
import { combine } from "@atlaskit/pragmatic-drag-and-drop/combine";
|
import { combine } from "@atlaskit/pragmatic-drag-and-drop/combine";
|
||||||
import { dropTargetForElements } from "@atlaskit/pragmatic-drag-and-drop/element/adapter";
|
import { dropTargetForElements } from "@atlaskit/pragmatic-drag-and-drop/element/adapter";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
|
// plane constants
|
||||||
|
import { EIssueLayoutTypes } from "@plane/constants";
|
||||||
// plane ui
|
// plane ui
|
||||||
import {
|
import {
|
||||||
IGroupByColumn,
|
IGroupByColumn,
|
||||||
|
|
@ -20,7 +22,7 @@ import { cn } from "@plane/utils";
|
||||||
// components
|
// components
|
||||||
import { ListLoaderItemRow } from "@/components/ui";
|
import { ListLoaderItemRow } from "@/components/ui";
|
||||||
// constants
|
// constants
|
||||||
import { DRAG_ALLOWED_GROUPS, EIssueLayoutTypes } from "@/constants/issue";
|
import { DRAG_ALLOWED_GROUPS } from "@/constants/issue";
|
||||||
// hooks
|
// hooks
|
||||||
import { useProjectState } from "@/hooks/store";
|
import { useProjectState } from "@/hooks/store";
|
||||||
import { useIntersectionObserver } from "@/hooks/use-intersection-observer";
|
import { useIntersectionObserver } from "@/hooks/use-intersection-observer";
|
||||||
|
|
|
||||||
|
|
@ -2,9 +2,9 @@ import React, { useCallback } from "react";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
// components
|
// components
|
||||||
|
import { EIssuesStoreType } from "@plane/constants";
|
||||||
import { CycleIssueQuickActions } from "@/components/issues";
|
import { CycleIssueQuickActions } from "@/components/issues";
|
||||||
// constants
|
// constants
|
||||||
import { EIssuesStoreType } from "@/constants/issue";
|
|
||||||
// hooks
|
// hooks
|
||||||
import { useCycle, useIssues, useUserPermissions } from "@/hooks/store";
|
import { useCycle, useIssues, useUserPermissions } from "@/hooks/store";
|
||||||
import { EUserPermissions, EUserPermissionsLevel } from "@/plane-web/constants/user-permissions";
|
import { EUserPermissions, EUserPermissionsLevel } from "@/plane-web/constants/user-permissions";
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,8 @@ import React from "react";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
// mobx store
|
// mobx store
|
||||||
|
import { EIssuesStoreType } from "@plane/constants";
|
||||||
import { ModuleIssueQuickActions } from "@/components/issues";
|
import { ModuleIssueQuickActions } from "@/components/issues";
|
||||||
import { EIssuesStoreType } from "@/constants/issue";
|
|
||||||
import { useIssues } from "@/hooks/store";
|
import { useIssues } from "@/hooks/store";
|
||||||
// components
|
// components
|
||||||
// types
|
// types
|
||||||
|
|
|
||||||
|
|
@ -6,13 +6,13 @@ import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
import { Copy, ExternalLink, Link, Pencil, Trash2 } from "lucide-react";
|
import { Copy, ExternalLink, Link, Pencil, Trash2 } from "lucide-react";
|
||||||
// types
|
// types
|
||||||
|
import { EIssuesStoreType } from "@plane/constants";
|
||||||
import { TIssue } from "@plane/types";
|
import { TIssue } from "@plane/types";
|
||||||
// ui
|
// ui
|
||||||
import { ArchiveIcon, ContextMenu, CustomMenu, TContextMenuItem, TOAST_TYPE, setToast } from "@plane/ui";
|
import { ArchiveIcon, ContextMenu, CustomMenu, TContextMenuItem, TOAST_TYPE, setToast } from "@plane/ui";
|
||||||
// components
|
// components
|
||||||
import { ArchiveIssueModal, CreateUpdateIssueModal, DeleteIssueModal } from "@/components/issues";
|
import { ArchiveIssueModal, CreateUpdateIssueModal, DeleteIssueModal } from "@/components/issues";
|
||||||
// constants
|
// constants
|
||||||
import { EIssuesStoreType } from "@/constants/issue";
|
|
||||||
import { ARCHIVABLE_STATE_GROUPS } from "@/constants/state";
|
import { ARCHIVABLE_STATE_GROUPS } from "@/constants/state";
|
||||||
// helpers
|
// helpers
|
||||||
import { cn } from "@/helpers/common.helper";
|
import { cn } from "@/helpers/common.helper";
|
||||||
|
|
|
||||||
|
|
@ -6,11 +6,11 @@ import { useParams } from "next/navigation";
|
||||||
// icons
|
// icons
|
||||||
import { ArchiveRestoreIcon, ExternalLink, Link, Trash2 } from "lucide-react";
|
import { ArchiveRestoreIcon, ExternalLink, Link, Trash2 } from "lucide-react";
|
||||||
// ui
|
// ui
|
||||||
|
import { EIssuesStoreType } from "@plane/constants";
|
||||||
import { ContextMenu, CustomMenu, TContextMenuItem, TOAST_TYPE, setToast } from "@plane/ui";
|
import { ContextMenu, CustomMenu, TContextMenuItem, TOAST_TYPE, setToast } from "@plane/ui";
|
||||||
// components
|
// components
|
||||||
import { DeleteIssueModal } from "@/components/issues";
|
import { DeleteIssueModal } from "@/components/issues";
|
||||||
// constants
|
// constants
|
||||||
import { EIssuesStoreType } from "@/constants/issue";
|
|
||||||
// helpers
|
// helpers
|
||||||
import { cn } from "@/helpers/common.helper";
|
import { cn } from "@/helpers/common.helper";
|
||||||
import { copyUrlToClipboard } from "@/helpers/string.helper";
|
import { copyUrlToClipboard } from "@/helpers/string.helper";
|
||||||
|
|
|
||||||
|
|
@ -6,13 +6,13 @@ import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
import { Copy, ExternalLink, Link, Pencil, Trash2, XCircle } from "lucide-react";
|
import { Copy, ExternalLink, Link, Pencil, Trash2, XCircle } from "lucide-react";
|
||||||
// types
|
// types
|
||||||
|
import { EIssuesStoreType } from "@plane/constants";
|
||||||
import { TIssue } from "@plane/types";
|
import { TIssue } from "@plane/types";
|
||||||
// ui
|
// ui
|
||||||
import { ArchiveIcon, ContextMenu, CustomMenu, TContextMenuItem, TOAST_TYPE, setToast } from "@plane/ui";
|
import { ArchiveIcon, ContextMenu, CustomMenu, TContextMenuItem, TOAST_TYPE, setToast } from "@plane/ui";
|
||||||
// components
|
// components
|
||||||
import { ArchiveIssueModal, CreateUpdateIssueModal, DeleteIssueModal } from "@/components/issues";
|
import { ArchiveIssueModal, CreateUpdateIssueModal, DeleteIssueModal } from "@/components/issues";
|
||||||
// constants
|
// constants
|
||||||
import { EIssuesStoreType } from "@/constants/issue";
|
|
||||||
import { ARCHIVABLE_STATE_GROUPS } from "@/constants/state";
|
import { ARCHIVABLE_STATE_GROUPS } from "@/constants/state";
|
||||||
// helpers
|
// helpers
|
||||||
import { cn } from "@/helpers/common.helper";
|
import { cn } from "@/helpers/common.helper";
|
||||||
|
|
|
||||||
|
|
@ -6,13 +6,13 @@ import { observer } from "mobx-react";
|
||||||
// icons
|
// icons
|
||||||
import { Pencil, Trash2 } from "lucide-react";
|
import { Pencil, Trash2 } from "lucide-react";
|
||||||
// types
|
// types
|
||||||
|
import { EIssuesStoreType } from "@plane/constants";
|
||||||
import { TIssue } from "@plane/types";
|
import { TIssue } from "@plane/types";
|
||||||
// ui
|
// ui
|
||||||
import { ContextMenu, CustomMenu, TContextMenuItem } from "@plane/ui";
|
import { ContextMenu, CustomMenu, TContextMenuItem } from "@plane/ui";
|
||||||
// components
|
// components
|
||||||
import { CreateUpdateIssueModal, DeleteIssueModal } from "@/components/issues";
|
import { CreateUpdateIssueModal, DeleteIssueModal } from "@/components/issues";
|
||||||
// constant
|
// constant
|
||||||
import { EIssuesStoreType } from "@/constants/issue";
|
|
||||||
// helpers
|
// helpers
|
||||||
import { cn } from "@/helpers/common.helper";
|
import { cn } from "@/helpers/common.helper";
|
||||||
// hooks
|
// hooks
|
||||||
|
|
|
||||||
|
|
@ -6,13 +6,13 @@ import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
import { Copy, ExternalLink, Link, Pencil, Trash2, XCircle } from "lucide-react";
|
import { Copy, ExternalLink, Link, Pencil, Trash2, XCircle } from "lucide-react";
|
||||||
// types
|
// types
|
||||||
|
import { EIssuesStoreType } from "@plane/constants";
|
||||||
import { TIssue } from "@plane/types";
|
import { TIssue } from "@plane/types";
|
||||||
// ui
|
// ui
|
||||||
import { ArchiveIcon, ContextMenu, CustomMenu, TContextMenuItem, TOAST_TYPE, setToast } from "@plane/ui";
|
import { ArchiveIcon, ContextMenu, CustomMenu, TContextMenuItem, TOAST_TYPE, setToast } from "@plane/ui";
|
||||||
// components
|
// components
|
||||||
import { ArchiveIssueModal, CreateUpdateIssueModal, DeleteIssueModal } from "@/components/issues";
|
import { ArchiveIssueModal, CreateUpdateIssueModal, DeleteIssueModal } from "@/components/issues";
|
||||||
// constants
|
// constants
|
||||||
import { EIssuesStoreType } from "@/constants/issue";
|
|
||||||
import { ARCHIVABLE_STATE_GROUPS } from "@/constants/state";
|
import { ARCHIVABLE_STATE_GROUPS } from "@/constants/state";
|
||||||
// helpers
|
// helpers
|
||||||
import { cn } from "@/helpers/common.helper";
|
import { cn } from "@/helpers/common.helper";
|
||||||
|
|
|
||||||
|
|
@ -6,13 +6,13 @@ import { observer } from "mobx-react";
|
||||||
import { useParams, usePathname } from "next/navigation";
|
import { useParams, usePathname } from "next/navigation";
|
||||||
import { Copy, ExternalLink, Link, Pencil, Trash2 } from "lucide-react";
|
import { Copy, ExternalLink, Link, Pencil, Trash2 } from "lucide-react";
|
||||||
// types
|
// types
|
||||||
|
import { EIssuesStoreType } from "@plane/constants";
|
||||||
import { TIssue } from "@plane/types";
|
import { TIssue } from "@plane/types";
|
||||||
// ui
|
// ui
|
||||||
import { ArchiveIcon, ContextMenu, CustomMenu, TContextMenuItem, TOAST_TYPE, setToast } from "@plane/ui";
|
import { ArchiveIcon, ContextMenu, CustomMenu, TContextMenuItem, TOAST_TYPE, setToast } from "@plane/ui";
|
||||||
// components
|
// components
|
||||||
import { ArchiveIssueModal, CreateUpdateIssueModal, DeleteIssueModal } from "@/components/issues";
|
import { ArchiveIssueModal, CreateUpdateIssueModal, DeleteIssueModal } from "@/components/issues";
|
||||||
// constants
|
// constants
|
||||||
import { EIssuesStoreType } from "@/constants/issue";
|
|
||||||
import { ARCHIVABLE_STATE_GROUPS } from "@/constants/state";
|
import { ARCHIVABLE_STATE_GROUPS } from "@/constants/state";
|
||||||
// helpers
|
// helpers
|
||||||
import { cn } from "@/helpers/common.helper";
|
import { cn } from "@/helpers/common.helper";
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,8 @@ import { observer } from "mobx-react";
|
||||||
import { useParams, usePathname } from "next/navigation";
|
import { useParams, usePathname } from "next/navigation";
|
||||||
import { useForm, UseFormRegister } from "react-hook-form";
|
import { useForm, UseFormRegister } from "react-hook-form";
|
||||||
import { PlusIcon } from "lucide-react";
|
import { PlusIcon } from "lucide-react";
|
||||||
|
// plane constants
|
||||||
|
import { EIssueLayoutTypes } from "@plane/constants";
|
||||||
// types
|
// types
|
||||||
import { IProject, TIssue } from "@plane/types";
|
import { IProject, TIssue } from "@plane/types";
|
||||||
// ui
|
// ui
|
||||||
|
|
@ -13,7 +15,6 @@ import { setPromiseToast } from "@plane/ui";
|
||||||
import { CreateIssueToastActionItems } from "@/components/issues";
|
import { CreateIssueToastActionItems } from "@/components/issues";
|
||||||
// constants
|
// constants
|
||||||
import { ISSUE_CREATED } from "@/constants/event-tracker";
|
import { ISSUE_CREATED } from "@/constants/event-tracker";
|
||||||
import { EIssueLayoutTypes } from "@/constants/issue";
|
|
||||||
// helpers
|
// helpers
|
||||||
import { cn } from "@/helpers/common.helper";
|
import { cn } from "@/helpers/common.helper";
|
||||||
import { createIssuePayload } from "@/helpers/issue.helper";
|
import { createIssuePayload } from "@/helpers/issue.helper";
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ import { observer } from "mobx-react";
|
||||||
import { useParams, useSearchParams } from "next/navigation";
|
import { useParams, useSearchParams } from "next/navigation";
|
||||||
import useSWR from "swr";
|
import useSWR from "swr";
|
||||||
// plane constants
|
// plane constants
|
||||||
import { ALL_ISSUES } from "@plane/constants";
|
import { ALL_ISSUES, EIssueLayoutTypes, EIssueFilterType, EIssuesStoreType } from "@plane/constants";
|
||||||
import { IIssueDisplayFilterOptions } from "@plane/types";
|
import { IIssueDisplayFilterOptions } from "@plane/types";
|
||||||
// hooks
|
// hooks
|
||||||
// components
|
// components
|
||||||
|
|
@ -13,12 +13,7 @@ import { SpreadsheetView } from "@/components/issues/issue-layouts";
|
||||||
import { AllIssueQuickActions } from "@/components/issues/issue-layouts/quick-action-dropdowns";
|
import { AllIssueQuickActions } from "@/components/issues/issue-layouts/quick-action-dropdowns";
|
||||||
import { SpreadsheetLayoutLoader } from "@/components/ui";
|
import { SpreadsheetLayoutLoader } from "@/components/ui";
|
||||||
// constants
|
// constants
|
||||||
import {
|
import { ISSUE_DISPLAY_FILTERS_BY_LAYOUT } from "@/constants/issue";
|
||||||
EIssueFilterType,
|
|
||||||
EIssueLayoutTypes,
|
|
||||||
EIssuesStoreType,
|
|
||||||
ISSUE_DISPLAY_FILTERS_BY_LAYOUT,
|
|
||||||
} from "@/constants/issue";
|
|
||||||
// hooks
|
// hooks
|
||||||
import { useGlobalView, useIssues, useUserPermissions } from "@/hooks/store";
|
import { useGlobalView, useIssues, useUserPermissions } from "@/hooks/store";
|
||||||
import { useAppRouter } from "@/hooks/use-app-router";
|
import { useAppRouter } from "@/hooks/use-app-router";
|
||||||
|
|
|
||||||
|
|
@ -4,9 +4,9 @@ import { useParams } from "next/navigation";
|
||||||
import useSWR from "swr";
|
import useSWR from "swr";
|
||||||
// mobx store
|
// mobx store
|
||||||
// components
|
// components
|
||||||
|
import { EIssuesStoreType } from "@plane/constants";
|
||||||
import { LogoSpinner } from "@/components/common";
|
import { LogoSpinner } from "@/components/common";
|
||||||
import { ArchivedIssueListLayout, ArchivedIssueAppliedFiltersRoot, IssuePeekOverview } from "@/components/issues";
|
import { ArchivedIssueListLayout, ArchivedIssueAppliedFiltersRoot, IssuePeekOverview } from "@/components/issues";
|
||||||
import { EIssuesStoreType } from "@/constants/issue";
|
|
||||||
// ui
|
// ui
|
||||||
import { useIssues } from "@/hooks/store";
|
import { useIssues } from "@/hooks/store";
|
||||||
import { IssuesStoreContext } from "@/hooks/use-issue-layout-store";
|
import { IssuesStoreContext } from "@/hooks/use-issue-layout-store";
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,8 @@ import isEmpty from "lodash/isEmpty";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
import useSWR from "swr";
|
import useSWR from "swr";
|
||||||
// hooks
|
// plane constants
|
||||||
|
import { EIssueLayoutTypes, EIssuesStoreType } from "@plane/constants";
|
||||||
// components
|
// components
|
||||||
import { LogoSpinner } from "@/components/common";
|
import { LogoSpinner } from "@/components/common";
|
||||||
import { TransferIssues, TransferIssuesModal } from "@/components/cycles";
|
import { TransferIssues, TransferIssuesModal } from "@/components/cycles";
|
||||||
|
|
@ -17,7 +18,6 @@ import {
|
||||||
IssuePeekOverview,
|
IssuePeekOverview,
|
||||||
} from "@/components/issues";
|
} from "@/components/issues";
|
||||||
// constants
|
// constants
|
||||||
import { EIssueLayoutTypes, EIssuesStoreType } from "@/constants/issue";
|
|
||||||
// hooks
|
// hooks
|
||||||
import { useCycle, useIssues } from "@/hooks/store";
|
import { useCycle, useIssues } from "@/hooks/store";
|
||||||
import { IssuesStoreContext } from "@/hooks/use-issue-layout-store";
|
import { IssuesStoreContext } from "@/hooks/use-issue-layout-store";
|
||||||
|
|
|
||||||
|
|
@ -2,9 +2,11 @@ import React from "react";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
import useSWR from "swr";
|
import useSWR from "swr";
|
||||||
|
// plane constants
|
||||||
|
import { EIssueLayoutTypes, EIssuesStoreType } from "@plane/constants";
|
||||||
|
// components
|
||||||
import { LogoSpinner } from "@/components/common";
|
import { LogoSpinner } from "@/components/common";
|
||||||
import { IssuePeekOverview } from "@/components/issues/peek-overview";
|
import { IssuePeekOverview } from "@/components/issues/peek-overview";
|
||||||
import { EIssueLayoutTypes, EIssuesStoreType } from "@/constants/issue";
|
|
||||||
// hooks
|
// hooks
|
||||||
import { useIssues } from "@/hooks/store";
|
import { useIssues } from "@/hooks/store";
|
||||||
import { IssuesStoreContext } from "@/hooks/use-issue-layout-store";
|
import { IssuesStoreContext } from "@/hooks/use-issue-layout-store";
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,8 @@ import React from "react";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
import useSWR from "swr";
|
import useSWR from "swr";
|
||||||
// mobx store
|
// plane constants
|
||||||
|
import { EIssueLayoutTypes, EIssuesStoreType } from "@plane/constants";
|
||||||
// components
|
// components
|
||||||
import { Row, ERowVariant } from "@plane/ui";
|
import { Row, ERowVariant } from "@plane/ui";
|
||||||
import { LogoSpinner } from "@/components/common";
|
import { LogoSpinner } from "@/components/common";
|
||||||
|
|
@ -16,7 +17,6 @@ import {
|
||||||
ModuleSpreadsheetLayout,
|
ModuleSpreadsheetLayout,
|
||||||
} from "@/components/issues";
|
} from "@/components/issues";
|
||||||
// constants
|
// constants
|
||||||
import { EIssueLayoutTypes, EIssuesStoreType } from "@/constants/issue";
|
|
||||||
import { useIssues } from "@/hooks/store";
|
import { useIssues } from "@/hooks/store";
|
||||||
import { IssuesStoreContext } from "@/hooks/use-issue-layout-store";
|
import { IssuesStoreContext } from "@/hooks/use-issue-layout-store";
|
||||||
// types
|
// types
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,8 @@ import { FC, Fragment } from "react";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
import useSWR from "swr";
|
import useSWR from "swr";
|
||||||
|
// plane constants
|
||||||
|
import { EIssueLayoutTypes, EIssuesStoreType } from "@plane/constants";
|
||||||
// components
|
// components
|
||||||
import { Spinner } from "@plane/ui";
|
import { Spinner } from "@plane/ui";
|
||||||
import { LogoSpinner } from "@/components/common";
|
import { LogoSpinner } from "@/components/common";
|
||||||
|
|
@ -16,8 +18,6 @@ import {
|
||||||
ProjectSpreadsheetLayout,
|
ProjectSpreadsheetLayout,
|
||||||
IssuePeekOverview,
|
IssuePeekOverview,
|
||||||
} from "@/components/issues";
|
} from "@/components/issues";
|
||||||
// constants
|
|
||||||
import { EIssueLayoutTypes, EIssuesStoreType } from "@/constants/issue";
|
|
||||||
// hooks
|
// hooks
|
||||||
import { useIssues } from "@/hooks/store";
|
import { useIssues } from "@/hooks/store";
|
||||||
import { IssuesStoreContext } from "@/hooks/use-issue-layout-store";
|
import { IssuesStoreContext } from "@/hooks/use-issue-layout-store";
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,8 @@ import React from "react";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
import useSWR from "swr";
|
import useSWR from "swr";
|
||||||
// mobx store
|
// plane constants
|
||||||
|
import { EIssueLayoutTypes, EIssuesStoreType } from "@plane/constants";
|
||||||
// components
|
// components
|
||||||
import { LogoSpinner } from "@/components/common";
|
import { LogoSpinner } from "@/components/common";
|
||||||
import {
|
import {
|
||||||
|
|
@ -14,8 +15,6 @@ import {
|
||||||
ProjectViewListLayout,
|
ProjectViewListLayout,
|
||||||
ProjectViewSpreadsheetLayout,
|
ProjectViewSpreadsheetLayout,
|
||||||
} from "@/components/issues";
|
} from "@/components/issues";
|
||||||
// constants
|
|
||||||
import { EIssueLayoutTypes, EIssuesStoreType } from "@/constants/issue";
|
|
||||||
import { useIssues } from "@/hooks/store";
|
import { useIssues } from "@/hooks/store";
|
||||||
import { IssuesStoreContext } from "@/hooks/use-issue-layout-store";
|
import { IssuesStoreContext } from "@/hooks/use-issue-layout-store";
|
||||||
// types
|
// types
|
||||||
|
|
|
||||||
|
|
@ -2,11 +2,9 @@ import { FC, useCallback, useEffect } from "react";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
// plane constants
|
// plane constants
|
||||||
import { ALL_ISSUES } from "@plane/constants";
|
import { ALL_ISSUES, EIssueLayoutTypes, EIssuesStoreType, EIssueFilterType } from "@plane/constants";
|
||||||
import { IIssueDisplayFilterOptions } from "@plane/types";
|
import { IIssueDisplayFilterOptions } from "@plane/types";
|
||||||
// hooks
|
// hooks
|
||||||
import { EIssueFilterType, EIssueLayoutTypes, EIssuesStoreType } from "@/constants/issue";
|
|
||||||
// hooks
|
|
||||||
import { useIssues, useUserPermissions } from "@/hooks/store";
|
import { useIssues, useUserPermissions } from "@/hooks/store";
|
||||||
import { useIssueStoreType } from "@/hooks/use-issue-layout-store";
|
import { useIssueStoreType } from "@/hooks/use-issue-layout-store";
|
||||||
import { useIssuesActions } from "@/hooks/use-issues-actions";
|
import { useIssuesActions } from "@/hooks/use-issues-actions";
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
import React, { useRef } from "react";
|
import React, { useRef } from "react";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
|
// plane constants
|
||||||
|
import { EIssueLayoutTypes } from "@plane/constants";
|
||||||
// types
|
// types
|
||||||
import { TIssue, IIssueDisplayFilterOptions, IIssueDisplayProperties } from "@plane/types";
|
import { TIssue, IIssueDisplayFilterOptions, IIssueDisplayProperties } from "@plane/types";
|
||||||
// components
|
// components
|
||||||
import { LogoSpinner } from "@/components/common";
|
import { LogoSpinner } from "@/components/common";
|
||||||
import { MultipleSelectGroup } from "@/components/core";
|
import { MultipleSelectGroup } from "@/components/core";
|
||||||
import { QuickAddIssueRoot, SpreadsheetAddIssueButton } from "@/components/issues";
|
import { QuickAddIssueRoot, SpreadsheetAddIssueButton } from "@/components/issues";
|
||||||
// constants
|
|
||||||
import { EIssueLayoutTypes } from "@/constants/issue";
|
|
||||||
import { SPREADSHEET_PROPERTY_LIST, SPREADSHEET_SELECT_GROUP } from "@/constants/spreadsheet";
|
import { SPREADSHEET_PROPERTY_LIST, SPREADSHEET_SELECT_GROUP } from "@/constants/spreadsheet";
|
||||||
// hooks
|
// hooks
|
||||||
import { useProject } from "@/hooks/store";
|
import { useProject } from "@/hooks/store";
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ import uniq from "lodash/uniq";
|
||||||
import scrollIntoView from "smooth-scroll-into-view-if-needed";
|
import scrollIntoView from "smooth-scroll-into-view-if-needed";
|
||||||
import { ContrastIcon } from "lucide-react";
|
import { ContrastIcon } from "lucide-react";
|
||||||
// plane types
|
// plane types
|
||||||
|
import { EIssuesStoreType } from "@plane/constants";
|
||||||
import {
|
import {
|
||||||
GroupByColumnTypes,
|
GroupByColumnTypes,
|
||||||
IGroupByColumn,
|
IGroupByColumn,
|
||||||
|
|
@ -30,7 +31,7 @@ import { Avatar, CycleGroupIcon, DiceIcon, PriorityIcon, StateGroupIcon } from "
|
||||||
// components
|
// components
|
||||||
import { Logo } from "@/components/common";
|
import { Logo } from "@/components/common";
|
||||||
// constants
|
// constants
|
||||||
import { ISSUE_PRIORITIES, EIssuesStoreType } from "@/constants/issue";
|
import { ISSUE_PRIORITIES } from "@/constants/issue";
|
||||||
import { STATE_GROUPS } from "@/constants/state";
|
import { STATE_GROUPS } from "@/constants/state";
|
||||||
// helpers
|
// helpers
|
||||||
import { renderFormattedDate } from "@/helpers/date-time.helper";
|
import { renderFormattedDate } from "@/helpers/date-time.helper";
|
||||||
|
|
|
||||||
|
|
@ -4,13 +4,13 @@ import React, { useEffect, useRef, useState } from "react";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { useParams, usePathname } from "next/navigation";
|
import { useParams, usePathname } from "next/navigation";
|
||||||
// types
|
// types
|
||||||
|
import { EIssuesStoreType } from "@plane/constants";
|
||||||
import type { TBaseIssue, TIssue } from "@plane/types";
|
import type { TBaseIssue, TIssue } from "@plane/types";
|
||||||
// ui
|
// ui
|
||||||
import { EModalPosition, EModalWidth, ModalCore, TOAST_TYPE, setToast } from "@plane/ui";
|
import { EModalPosition, EModalWidth, ModalCore, TOAST_TYPE, setToast } from "@plane/ui";
|
||||||
import { CreateIssueToastActionItems, IssuesModalProps } from "@/components/issues";
|
import { CreateIssueToastActionItems, IssuesModalProps } from "@/components/issues";
|
||||||
// constants
|
// constants
|
||||||
import { ISSUE_CREATED, ISSUE_UPDATED } from "@/constants/event-tracker";
|
import { ISSUE_CREATED, ISSUE_UPDATED } from "@/constants/event-tracker";
|
||||||
import { EIssuesStoreType } from "@/constants/issue";
|
|
||||||
// hooks
|
// hooks
|
||||||
import { useIssueModal } from "@/hooks/context/use-issue-modal";
|
import { useIssueModal } from "@/hooks/context/use-issue-modal";
|
||||||
import { useEventTracker, useCycle, useIssues, useModule, useIssueDetail, useUser } from "@/hooks/store";
|
import { useEventTracker, useCycle, useIssues, useModule, useIssueDetail, useUser } from "@/hooks/store";
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
import { useForm } from "react-hook-form";
|
import { useForm } from "react-hook-form";
|
||||||
// editor
|
// editor
|
||||||
|
import { EIssuesStoreType } from "@plane/constants";
|
||||||
import { EditorRefApi } from "@plane/editor";
|
import { EditorRefApi } from "@plane/editor";
|
||||||
// types
|
// types
|
||||||
import type { TIssue, ISearchIssueResponse, TWorkspaceDraftIssue } from "@plane/types";
|
import type { TIssue, ISearchIssueResponse, TWorkspaceDraftIssue } from "@plane/types";
|
||||||
|
|
@ -19,7 +20,6 @@ import {
|
||||||
IssueTitleInput,
|
IssueTitleInput,
|
||||||
} from "@/components/issues/issue-modal/components";
|
} from "@/components/issues/issue-modal/components";
|
||||||
import { CreateLabelModal } from "@/components/labels";
|
import { CreateLabelModal } from "@/components/labels";
|
||||||
import { EIssuesStoreType } from "@/constants/issue";
|
|
||||||
import { ETabIndices } from "@/constants/tab-indices";
|
import { ETabIndices } from "@/constants/tab-indices";
|
||||||
// helpers
|
// helpers
|
||||||
import { cn } from "@/helpers/common.helper";
|
import { cn } from "@/helpers/common.helper";
|
||||||
|
|
|
||||||
|
|
@ -3,11 +3,11 @@
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
// types
|
// types
|
||||||
|
import { EIssuesStoreType } from "@plane/constants";
|
||||||
import type { TIssue } from "@plane/types";
|
import type { TIssue } from "@plane/types";
|
||||||
// components
|
// components
|
||||||
import { CreateUpdateIssueModalBase } from "@/components/issues";
|
import { CreateUpdateIssueModalBase } from "@/components/issues";
|
||||||
// constants
|
// constants
|
||||||
import { EIssuesStoreType } from "@/constants/issue";
|
|
||||||
// plane web providers
|
// plane web providers
|
||||||
import { IssueModalProvider } from "@/plane-web/components/issues";
|
import { IssueModalProvider } from "@/plane-web/components/issues";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ import { FC, useEffect, useState, useMemo, useCallback } from "react";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { usePathname } from "next/navigation";
|
import { usePathname } from "next/navigation";
|
||||||
// plane types
|
// plane types
|
||||||
|
import { EIssuesStoreType } from "@plane/constants";
|
||||||
import { TIssue } from "@plane/types";
|
import { TIssue } from "@plane/types";
|
||||||
// plane ui
|
// plane ui
|
||||||
import { TOAST_TYPE, setPromiseToast, setToast } from "@plane/ui";
|
import { TOAST_TYPE, setPromiseToast, setToast } from "@plane/ui";
|
||||||
|
|
@ -11,7 +12,6 @@ import { TOAST_TYPE, setPromiseToast, setToast } from "@plane/ui";
|
||||||
import { IssueView, TIssueOperations } from "@/components/issues";
|
import { IssueView, TIssueOperations } from "@/components/issues";
|
||||||
// constants
|
// constants
|
||||||
import { ISSUE_UPDATED, ISSUE_DELETED, ISSUE_ARCHIVED, ISSUE_RESTORED } from "@/constants/event-tracker";
|
import { ISSUE_UPDATED, ISSUE_DELETED, ISSUE_ARCHIVED, ISSUE_RESTORED } from "@/constants/event-tracker";
|
||||||
import { EIssuesStoreType } from "@/constants/issue";
|
|
||||||
// hooks
|
// hooks
|
||||||
import { useEventTracker, useIssueDetail, useIssues, useUserPermissions } from "@/hooks/store";
|
import { useEventTracker, useIssueDetail, useIssues, useUserPermissions } from "@/hooks/store";
|
||||||
import { useIssueStoreType } from "@/hooks/use-issue-layout-store";
|
import { useIssueStoreType } from "@/hooks/use-issue-layout-store";
|
||||||
|
|
|
||||||
|
|
@ -4,11 +4,11 @@ import { omit } from "lodash";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { Copy, Pencil, SquareStackIcon, Trash2 } from "lucide-react";
|
import { Copy, Pencil, SquareStackIcon, Trash2 } from "lucide-react";
|
||||||
// types
|
// types
|
||||||
|
import { EIssuesStoreType } from "@plane/constants";
|
||||||
import { TWorkspaceDraftIssue } from "@plane/types";
|
import { TWorkspaceDraftIssue } from "@plane/types";
|
||||||
// ui
|
// ui
|
||||||
import { Row, TContextMenuItem, Tooltip } from "@plane/ui";
|
import { Row, TContextMenuItem, Tooltip } from "@plane/ui";
|
||||||
// constants
|
// constants
|
||||||
import { EIssuesStoreType } from "@/constants/issue";
|
|
||||||
// helper
|
// helper
|
||||||
import { cn } from "@/helpers/common.helper";
|
import { cn } from "@/helpers/common.helper";
|
||||||
// hooks
|
// hooks
|
||||||
|
|
|
||||||
|
|
@ -2,11 +2,11 @@
|
||||||
|
|
||||||
import { FC, Fragment, useState } from "react";
|
import { FC, Fragment, useState } from "react";
|
||||||
// components
|
// components
|
||||||
|
import { EIssuesStoreType } from "@plane/constants";
|
||||||
import { EmptyState } from "@/components/empty-state";
|
import { EmptyState } from "@/components/empty-state";
|
||||||
import { CreateUpdateIssueModal } from "@/components/issues";
|
import { CreateUpdateIssueModal } from "@/components/issues";
|
||||||
// constants
|
// constants
|
||||||
import { EmptyStateType } from "@/constants/empty-state";
|
import { EmptyStateType } from "@/constants/empty-state";
|
||||||
import { EIssuesStoreType } from "@/constants/issue";
|
|
||||||
|
|
||||||
export const WorkspaceDraftEmptyState: FC = () => {
|
export const WorkspaceDraftEmptyState: FC = () => {
|
||||||
// state
|
// state
|
||||||
|
|
|
||||||
|
|
@ -6,13 +6,13 @@ import { observer } from "mobx-react";
|
||||||
import { useSearchParams } from "next/navigation";
|
import { useSearchParams } from "next/navigation";
|
||||||
import { AlertCircle, ChevronUp, ChevronDown } from "lucide-react";
|
import { AlertCircle, ChevronUp, ChevronDown } from "lucide-react";
|
||||||
import { Disclosure, Transition } from "@headlessui/react";
|
import { Disclosure, Transition } from "@headlessui/react";
|
||||||
|
import { EIssueFilterType, EIssuesStoreType } from "@plane/constants";
|
||||||
import { IIssueFilterOptions, TModulePlotType } from "@plane/types";
|
import { IIssueFilterOptions, TModulePlotType } from "@plane/types";
|
||||||
import { CustomSelect, Spinner } from "@plane/ui";
|
import { CustomSelect, Spinner } from "@plane/ui";
|
||||||
// components
|
// components
|
||||||
import ProgressChart from "@/components/core/sidebar/progress-chart";
|
import ProgressChart from "@/components/core/sidebar/progress-chart";
|
||||||
import { ModuleProgressStats } from "@/components/modules";
|
import { ModuleProgressStats } from "@/components/modules";
|
||||||
// constants
|
// constants
|
||||||
import { EIssueFilterType, EIssuesStoreType } from "@/constants/issue";
|
|
||||||
// helpers
|
// helpers
|
||||||
import { getDate } from "@/helpers/date-time.helper";
|
import { getDate } from "@/helpers/date-time.helper";
|
||||||
// hooks
|
// hooks
|
||||||
|
|
|
||||||
|
|
@ -5,13 +5,13 @@ import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
import { ListFilter, Search, X } from "lucide-react";
|
import { ListFilter, Search, X } from "lucide-react";
|
||||||
// plane utils
|
// plane utils
|
||||||
import { cn } from "@plane/utils";
|
|
||||||
// plane helpers
|
// plane helpers
|
||||||
import { useOutsideClickDetector } from "@plane/hooks";
|
import { useOutsideClickDetector } from "@plane/hooks";
|
||||||
// types
|
// types
|
||||||
import { TModuleFilters } from "@plane/types";
|
import { TModuleFilters } from "@plane/types";
|
||||||
// ui
|
// ui
|
||||||
import { Tooltip } from "@plane/ui";
|
import { Tooltip } from "@plane/ui";
|
||||||
|
import { cn } from "@plane/utils";
|
||||||
// components
|
// components
|
||||||
import { FiltersDropdown } from "@/components/issues";
|
import { FiltersDropdown } from "@/components/issues";
|
||||||
import { ModuleFiltersSelection, ModuleOrderByDropdown } from "@/components/modules/dropdowns";
|
import { ModuleFiltersSelection, ModuleOrderByDropdown } from "@/components/modules/dropdowns";
|
||||||
|
|
|
||||||
|
|
@ -1,17 +1,14 @@
|
||||||
import { useCallback } from "react";
|
import { useCallback } from "react";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
|
// plane constants
|
||||||
|
import { EIssueLayoutTypes, EIssuesStoreType, EIssueFilterType } from "@plane/constants";
|
||||||
// types
|
// types
|
||||||
import { IIssueDisplayFilterOptions, IIssueDisplayProperties, IIssueFilterOptions } from "@plane/types";
|
import { IIssueDisplayFilterOptions, IIssueDisplayProperties, IIssueFilterOptions } from "@plane/types";
|
||||||
// components
|
// components
|
||||||
import { DisplayFiltersSelection, FilterSelection, FiltersDropdown, LayoutSelection } from "@/components/issues";
|
import { DisplayFiltersSelection, FilterSelection, FiltersDropdown, LayoutSelection } from "@/components/issues";
|
||||||
// constants
|
// constants
|
||||||
import {
|
import { ISSUE_DISPLAY_FILTERS_BY_LAYOUT } from "@/constants/issue";
|
||||||
EIssuesStoreType,
|
|
||||||
EIssueFilterType,
|
|
||||||
ISSUE_DISPLAY_FILTERS_BY_LAYOUT,
|
|
||||||
EIssueLayoutTypes,
|
|
||||||
} from "@/constants/issue";
|
|
||||||
// helpers
|
// helpers
|
||||||
import { isIssueFilterActive } from "@/helpers/filter.helper";
|
import { isIssueFilterActive } from "@/helpers/filter.helper";
|
||||||
// hooks
|
// hooks
|
||||||
|
|
|
||||||
|
|
@ -3,11 +3,11 @@ import { observer } from "mobx-react";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
import useSWR from "swr";
|
import useSWR from "swr";
|
||||||
// components
|
// components
|
||||||
|
import { EIssuesStoreType } from "@plane/constants";
|
||||||
import { IssuePeekOverview, ProfileIssuesAppliedFiltersRoot } from "@/components/issues";
|
import { IssuePeekOverview, ProfileIssuesAppliedFiltersRoot } from "@/components/issues";
|
||||||
import { ProfileIssuesKanBanLayout } from "@/components/issues/issue-layouts/kanban/roots/profile-issues-root";
|
import { ProfileIssuesKanBanLayout } from "@/components/issues/issue-layouts/kanban/roots/profile-issues-root";
|
||||||
import { ProfileIssuesListLayout } from "@/components/issues/issue-layouts/list/roots/profile-issues-root";
|
import { ProfileIssuesListLayout } from "@/components/issues/issue-layouts/list/roots/profile-issues-root";
|
||||||
// hooks
|
// hooks
|
||||||
import { EIssuesStoreType } from "@/constants/issue";
|
|
||||||
import { useIssues } from "@/hooks/store";
|
import { useIssues } from "@/hooks/store";
|
||||||
import { IssuesStoreContext } from "../../hooks/use-issue-layout-store";
|
import { IssuesStoreContext } from "../../hooks/use-issue-layout-store";
|
||||||
// constants
|
// constants
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,8 @@ import { useEffect, useState } from "react";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { Controller, useForm } from "react-hook-form";
|
import { Controller, useForm } from "react-hook-form";
|
||||||
import { Layers } from "lucide-react";
|
import { Layers } from "lucide-react";
|
||||||
|
// plane constants
|
||||||
|
import { EIssueLayoutTypes } from "@plane/constants";
|
||||||
// types
|
// types
|
||||||
import { IProjectView, IIssueFilterOptions, IIssueDisplayProperties, IIssueDisplayFilterOptions } from "@plane/types";
|
import { IProjectView, IIssueFilterOptions, IIssueDisplayProperties, IIssueDisplayFilterOptions } from "@plane/types";
|
||||||
// ui
|
// ui
|
||||||
|
|
@ -12,7 +14,7 @@ import { Button, EmojiIconPicker, EmojiIconPickerTypes, Input, TextArea } from "
|
||||||
import { Logo } from "@/components/common";
|
import { Logo } from "@/components/common";
|
||||||
import { AppliedFiltersList, DisplayFiltersSelection, FilterSelection, FiltersDropdown } from "@/components/issues";
|
import { AppliedFiltersList, DisplayFiltersSelection, FilterSelection, FiltersDropdown } from "@/components/issues";
|
||||||
// constants
|
// constants
|
||||||
import { EIssueLayoutTypes, ISSUE_DISPLAY_FILTERS_BY_LAYOUT } from "@/constants/issue";
|
import { ISSUE_DISPLAY_FILTERS_BY_LAYOUT } from "@/constants/issue";
|
||||||
import { ETabIndices } from "@/constants/tab-indices";
|
import { ETabIndices } from "@/constants/tab-indices";
|
||||||
import { EViewAccess } from "@/constants/views";
|
import { EViewAccess } from "@/constants/views";
|
||||||
// helpers
|
// helpers
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue