2024-02-21 12:35:27 +00:00
|
|
|
import { FC, useCallback, useEffect, useMemo, useState } from "react";
|
2024-05-08 17:31:20 +00:00
|
|
|
import { observer } from "mobx-react";
|
2024-03-06 13:09:14 +00:00
|
|
|
import { useRouter } from "next/router";
|
2024-05-23 08:58:11 +00:00
|
|
|
// icons
|
2024-03-15 11:59:22 +00:00
|
|
|
import { Plus, ChevronRight, Loader, Pencil } from "lucide-react";
|
2024-05-23 08:58:11 +00:00
|
|
|
// types
|
2024-03-19 14:38:35 +00:00
|
|
|
import { IUser, TIssue } from "@plane/types";
|
2024-05-23 08:58:11 +00:00
|
|
|
// ui
|
2024-03-15 11:59:22 +00:00
|
|
|
import { CircularProgressIndicator, CustomMenu, LayersIcon, TOAST_TYPE, setToast } from "@plane/ui";
|
2024-05-23 08:58:11 +00:00
|
|
|
// components
|
2024-03-19 14:38:35 +00:00
|
|
|
import { ExistingIssuesListModal } from "@/components/core";
|
|
|
|
import { CreateUpdateIssueModal, DeleteIssueModal } from "@/components/issues";
|
2024-05-23 08:58:11 +00:00
|
|
|
// helpers
|
2024-03-19 14:38:35 +00:00
|
|
|
import { cn } from "@/helpers/common.helper";
|
|
|
|
import { copyTextToClipboard } from "@/helpers/string.helper";
|
2024-05-23 08:58:11 +00:00
|
|
|
// hooks
|
2024-03-19 14:38:35 +00:00
|
|
|
import { useEventTracker, useIssueDetail } from "@/hooks/store";
|
2024-05-23 08:58:11 +00:00
|
|
|
// local components
|
2024-01-16 07:16:03 +00:00
|
|
|
import { IssueList } from "./issues-list";
|
2023-09-21 10:09:45 +00:00
|
|
|
|
|
|
|
export interface ISubIssuesRoot {
|
2024-01-10 14:39:45 +00:00
|
|
|
workspaceSlug: string;
|
|
|
|
projectId: string;
|
2024-01-16 07:16:03 +00:00
|
|
|
parentIssueId: string;
|
2024-01-10 14:39:45 +00:00
|
|
|
currentUser: IUser;
|
2024-01-16 07:16:03 +00:00
|
|
|
disabled: boolean;
|
2023-09-21 13:42:20 +00:00
|
|
|
}
|
|
|
|
|
2024-01-16 07:16:03 +00:00
|
|
|
export type TSubIssueOperations = {
|
|
|
|
copyText: (text: string) => void;
|
|
|
|
fetchSubIssues: (workspaceSlug: string, projectId: string, parentIssueId: string) => Promise<void>;
|
|
|
|
addSubIssue: (workspaceSlug: string, projectId: string, parentIssueId: string, issueIds: string[]) => Promise<void>;
|
|
|
|
updateSubIssue: (
|
|
|
|
workspaceSlug: string,
|
|
|
|
projectId: string,
|
|
|
|
parentIssueId: string,
|
|
|
|
issueId: string,
|
2024-01-23 11:26:22 +00:00
|
|
|
issueData: Partial<TIssue>,
|
|
|
|
oldIssue?: Partial<TIssue>,
|
|
|
|
fromModal?: boolean
|
2024-01-16 07:16:03 +00:00
|
|
|
) => Promise<void>;
|
|
|
|
removeSubIssue: (workspaceSlug: string, projectId: string, parentIssueId: string, issueId: string) => Promise<void>;
|
|
|
|
deleteSubIssue: (workspaceSlug: string, projectId: string, parentIssueId: string, issueId: string) => Promise<void>;
|
|
|
|
};
|
|
|
|
|
|
|
|
export const SubIssuesRoot: FC<ISubIssuesRoot> = observer((props) => {
|
|
|
|
const { workspaceSlug, projectId, parentIssueId, disabled = false } = props;
|
2024-02-05 07:49:07 +00:00
|
|
|
// router
|
|
|
|
const router = useRouter();
|
2024-01-10 14:39:45 +00:00
|
|
|
const {
|
2024-01-16 07:16:03 +00:00
|
|
|
issue: { getIssueById },
|
|
|
|
subIssues: { subIssuesByIssueId, stateDistributionByIssueId, subIssueHelpersByIssueId, setSubIssueHelpers },
|
2024-01-10 14:39:45 +00:00
|
|
|
fetchSubIssues,
|
|
|
|
createSubIssues,
|
2024-01-16 07:16:03 +00:00
|
|
|
updateSubIssue,
|
|
|
|
removeSubIssue,
|
|
|
|
deleteSubIssue,
|
2024-03-15 11:59:22 +00:00
|
|
|
isCreateIssueModalOpen,
|
|
|
|
toggleCreateIssueModal,
|
|
|
|
isSubIssuesModalOpen,
|
|
|
|
toggleSubIssuesModal,
|
2024-03-20 14:30:34 +00:00
|
|
|
toggleDeleteIssueModal,
|
2024-01-10 14:39:45 +00:00
|
|
|
} = useIssueDetail();
|
2024-02-05 07:49:07 +00:00
|
|
|
const { setTrackElement, captureIssueEvent } = useEventTracker();
|
2024-01-10 14:39:45 +00:00
|
|
|
// state
|
2023-09-21 10:09:45 +00:00
|
|
|
|
2024-01-16 07:16:03 +00:00
|
|
|
type TIssueCrudState = { toggle: boolean; parentIssueId: string | undefined; issue: TIssue | undefined };
|
|
|
|
const [issueCrudState, setIssueCrudState] = useState<{
|
|
|
|
create: TIssueCrudState;
|
|
|
|
existing: TIssueCrudState;
|
|
|
|
update: TIssueCrudState;
|
|
|
|
delete: TIssueCrudState;
|
|
|
|
}>({
|
|
|
|
create: {
|
|
|
|
toggle: false,
|
|
|
|
parentIssueId: undefined,
|
|
|
|
issue: undefined,
|
|
|
|
},
|
|
|
|
existing: {
|
|
|
|
toggle: false,
|
|
|
|
parentIssueId: undefined,
|
|
|
|
issue: undefined,
|
|
|
|
},
|
|
|
|
update: {
|
|
|
|
toggle: false,
|
|
|
|
parentIssueId: undefined,
|
|
|
|
issue: undefined,
|
|
|
|
},
|
|
|
|
delete: {
|
|
|
|
toggle: false,
|
|
|
|
parentIssueId: undefined,
|
|
|
|
issue: undefined,
|
|
|
|
},
|
|
|
|
});
|
2023-09-21 10:09:45 +00:00
|
|
|
|
2024-02-21 12:48:14 +00:00
|
|
|
const scrollToSubIssuesView = useCallback(() => {
|
|
|
|
if (router.asPath.split("#")[1] === "sub-issues") {
|
|
|
|
setTimeout(() => {
|
|
|
|
const subIssueDiv = document.getElementById(`sub-issues`);
|
|
|
|
if (subIssueDiv)
|
|
|
|
subIssueDiv.scrollIntoView({
|
|
|
|
behavior: "smooth",
|
|
|
|
block: "start",
|
|
|
|
});
|
|
|
|
}, 200);
|
|
|
|
}
|
|
|
|
}, [router.asPath]);
|
|
|
|
|
|
|
|
useEffect(() => {
|
|
|
|
if (router.asPath) {
|
|
|
|
scrollToSubIssuesView();
|
|
|
|
}
|
|
|
|
}, [router.asPath, scrollToSubIssuesView]);
|
|
|
|
|
2024-01-16 07:16:03 +00:00
|
|
|
const handleIssueCrudState = (
|
|
|
|
key: "create" | "existing" | "update" | "delete",
|
|
|
|
_parentIssueId: string | null,
|
|
|
|
issue: TIssue | null = null
|
|
|
|
) => {
|
|
|
|
setIssueCrudState({
|
|
|
|
...issueCrudState,
|
|
|
|
[key]: {
|
|
|
|
toggle: !issueCrudState[key].toggle,
|
|
|
|
parentIssueId: _parentIssueId,
|
|
|
|
issue: issue,
|
|
|
|
},
|
2024-01-10 14:39:45 +00:00
|
|
|
});
|
2023-09-21 10:09:45 +00:00
|
|
|
};
|
|
|
|
|
2024-01-16 07:16:03 +00:00
|
|
|
const subIssueOperations: TSubIssueOperations = useMemo(
|
2024-01-10 14:39:45 +00:00
|
|
|
() => ({
|
2024-01-16 07:16:03 +00:00
|
|
|
copyText: (text: string) => {
|
|
|
|
const originURL = typeof window !== "undefined" && window.location.origin ? window.location.origin : "";
|
|
|
|
copyTextToClipboard(`${originURL}/${text}`).then(() => {
|
2024-03-06 08:48:41 +00:00
|
|
|
setToast({
|
|
|
|
type: TOAST_TYPE.SUCCESS,
|
2024-01-16 07:16:03 +00:00
|
|
|
title: "Link Copied!",
|
|
|
|
message: "Issue link copied to clipboard.",
|
|
|
|
});
|
|
|
|
});
|
|
|
|
},
|
|
|
|
fetchSubIssues: async (workspaceSlug: string, projectId: string, parentIssueId: string) => {
|
2024-01-10 14:39:45 +00:00
|
|
|
try {
|
2024-01-16 07:16:03 +00:00
|
|
|
await fetchSubIssues(workspaceSlug, projectId, parentIssueId);
|
|
|
|
} catch (error) {
|
2024-03-06 08:48:41 +00:00
|
|
|
setToast({
|
|
|
|
type: TOAST_TYPE.ERROR,
|
2024-05-07 09:33:24 +00:00
|
|
|
title: "Error!",
|
2024-01-16 07:16:03 +00:00
|
|
|
message: "Error fetching sub-issues",
|
|
|
|
});
|
|
|
|
}
|
2024-01-10 14:39:45 +00:00
|
|
|
},
|
2024-01-16 07:16:03 +00:00
|
|
|
addSubIssue: async (workspaceSlug: string, projectId: string, parentIssueId: string, issueIds: string[]) => {
|
2024-01-10 14:39:45 +00:00
|
|
|
try {
|
2024-01-16 07:16:03 +00:00
|
|
|
await createSubIssues(workspaceSlug, projectId, parentIssueId, issueIds);
|
2024-03-06 08:48:41 +00:00
|
|
|
setToast({
|
|
|
|
type: TOAST_TYPE.SUCCESS,
|
2024-05-07 09:33:24 +00:00
|
|
|
title: "Success!",
|
2024-01-16 07:16:03 +00:00
|
|
|
message: "Sub-issues added successfully",
|
2024-01-10 14:39:45 +00:00
|
|
|
});
|
|
|
|
} catch (error) {
|
2024-03-06 08:48:41 +00:00
|
|
|
setToast({
|
|
|
|
type: TOAST_TYPE.ERROR,
|
2024-05-07 09:33:24 +00:00
|
|
|
title: "Error!",
|
2024-01-16 07:16:03 +00:00
|
|
|
message: "Error adding sub-issue",
|
2024-01-10 14:39:45 +00:00
|
|
|
});
|
|
|
|
}
|
|
|
|
},
|
2024-01-16 07:16:03 +00:00
|
|
|
updateSubIssue: async (
|
|
|
|
workspaceSlug: string,
|
|
|
|
projectId: string,
|
|
|
|
parentIssueId: string,
|
|
|
|
issueId: string,
|
2024-01-23 11:26:22 +00:00
|
|
|
issueData: Partial<TIssue>,
|
|
|
|
oldIssue: Partial<TIssue> = {},
|
|
|
|
fromModal: boolean = false
|
2024-01-16 07:16:03 +00:00
|
|
|
) => {
|
2024-01-10 14:39:45 +00:00
|
|
|
try {
|
2024-01-16 07:16:03 +00:00
|
|
|
setSubIssueHelpers(parentIssueId, "issue_loader", issueId);
|
2024-01-23 11:26:22 +00:00
|
|
|
await updateSubIssue(workspaceSlug, projectId, parentIssueId, issueId, issueData, oldIssue, fromModal);
|
2024-02-05 07:49:07 +00:00
|
|
|
captureIssueEvent({
|
|
|
|
eventName: "Sub-issue updated",
|
|
|
|
payload: { ...oldIssue, ...issueData, state: "SUCCESS", element: "Issue detail page" },
|
|
|
|
updates: {
|
|
|
|
changed_property: Object.keys(issueData).join(","),
|
|
|
|
change_details: Object.values(issueData).join(","),
|
|
|
|
},
|
|
|
|
path: router.asPath,
|
|
|
|
});
|
2024-03-06 08:48:41 +00:00
|
|
|
setToast({
|
|
|
|
type: TOAST_TYPE.SUCCESS,
|
2024-05-07 09:33:24 +00:00
|
|
|
title: "Success!",
|
2024-01-16 07:16:03 +00:00
|
|
|
message: "Sub-issue updated successfully",
|
|
|
|
});
|
|
|
|
setSubIssueHelpers(parentIssueId, "issue_loader", issueId);
|
|
|
|
} catch (error) {
|
2024-02-05 07:49:07 +00:00
|
|
|
captureIssueEvent({
|
|
|
|
eventName: "Sub-issue updated",
|
|
|
|
payload: { ...oldIssue, ...issueData, state: "FAILED", element: "Issue detail page" },
|
|
|
|
updates: {
|
|
|
|
changed_property: Object.keys(issueData).join(","),
|
|
|
|
change_details: Object.values(issueData).join(","),
|
|
|
|
},
|
|
|
|
path: router.asPath,
|
|
|
|
});
|
2024-03-06 08:48:41 +00:00
|
|
|
setToast({
|
|
|
|
type: TOAST_TYPE.ERROR,
|
2024-05-07 09:33:24 +00:00
|
|
|
title: "Error!",
|
2024-01-16 07:16:03 +00:00
|
|
|
message: "Error updating sub-issue",
|
|
|
|
});
|
|
|
|
}
|
2024-01-10 14:39:45 +00:00
|
|
|
},
|
2024-01-16 07:16:03 +00:00
|
|
|
removeSubIssue: async (workspaceSlug: string, projectId: string, parentIssueId: string, issueId: string) => {
|
2024-01-10 14:39:45 +00:00
|
|
|
try {
|
2024-01-16 07:16:03 +00:00
|
|
|
setSubIssueHelpers(parentIssueId, "issue_loader", issueId);
|
|
|
|
await removeSubIssue(workspaceSlug, projectId, parentIssueId, issueId);
|
2024-03-06 08:48:41 +00:00
|
|
|
setToast({
|
|
|
|
type: TOAST_TYPE.SUCCESS,
|
2024-05-07 09:33:24 +00:00
|
|
|
title: "Success!",
|
2024-01-16 07:16:03 +00:00
|
|
|
message: "Sub-issue removed successfully",
|
|
|
|
});
|
2024-02-05 07:49:07 +00:00
|
|
|
captureIssueEvent({
|
|
|
|
eventName: "Sub-issue removed",
|
|
|
|
payload: { id: issueId, state: "SUCCESS", element: "Issue detail page" },
|
|
|
|
updates: {
|
|
|
|
changed_property: "parent_id",
|
|
|
|
change_details: parentIssueId,
|
|
|
|
},
|
|
|
|
path: router.asPath,
|
|
|
|
});
|
2024-01-16 07:16:03 +00:00
|
|
|
setSubIssueHelpers(parentIssueId, "issue_loader", issueId);
|
|
|
|
} catch (error) {
|
2024-02-05 07:49:07 +00:00
|
|
|
captureIssueEvent({
|
|
|
|
eventName: "Sub-issue removed",
|
|
|
|
payload: { id: issueId, state: "FAILED", element: "Issue detail page" },
|
|
|
|
updates: {
|
|
|
|
changed_property: "parent_id",
|
|
|
|
change_details: parentIssueId,
|
|
|
|
},
|
|
|
|
path: router.asPath,
|
|
|
|
});
|
2024-03-06 08:48:41 +00:00
|
|
|
setToast({
|
|
|
|
type: TOAST_TYPE.ERROR,
|
2024-05-07 09:33:24 +00:00
|
|
|
title: "Error!",
|
2024-01-16 07:16:03 +00:00
|
|
|
message: "Error removing sub-issue",
|
|
|
|
});
|
|
|
|
}
|
2024-01-10 14:39:45 +00:00
|
|
|
},
|
2024-01-16 07:16:03 +00:00
|
|
|
deleteSubIssue: async (workspaceSlug: string, projectId: string, parentIssueId: string, issueId: string) => {
|
2024-01-10 14:39:45 +00:00
|
|
|
try {
|
2024-01-16 07:16:03 +00:00
|
|
|
setSubIssueHelpers(parentIssueId, "issue_loader", issueId);
|
|
|
|
await deleteSubIssue(workspaceSlug, projectId, parentIssueId, issueId);
|
2024-02-05 07:49:07 +00:00
|
|
|
captureIssueEvent({
|
|
|
|
eventName: "Sub-issue deleted",
|
|
|
|
payload: { id: issueId, state: "SUCCESS", element: "Issue detail page" },
|
|
|
|
path: router.asPath,
|
|
|
|
});
|
2024-01-16 07:16:03 +00:00
|
|
|
setSubIssueHelpers(parentIssueId, "issue_loader", issueId);
|
|
|
|
} catch (error) {
|
2024-02-05 07:49:07 +00:00
|
|
|
captureIssueEvent({
|
|
|
|
eventName: "Sub-issue removed",
|
|
|
|
payload: { id: issueId, state: "FAILED", element: "Issue detail page" },
|
|
|
|
path: router.asPath,
|
|
|
|
});
|
2024-03-06 08:48:41 +00:00
|
|
|
setToast({
|
|
|
|
type: TOAST_TYPE.ERROR,
|
2024-05-07 09:33:24 +00:00
|
|
|
title: "Error!",
|
2024-01-16 07:16:03 +00:00
|
|
|
message: "Error deleting issue",
|
|
|
|
});
|
|
|
|
}
|
2024-01-10 14:39:45 +00:00
|
|
|
},
|
|
|
|
}),
|
2024-03-06 08:48:41 +00:00
|
|
|
[fetchSubIssues, createSubIssues, updateSubIssue, removeSubIssue, deleteSubIssue, setSubIssueHelpers]
|
2024-01-10 14:39:45 +00:00
|
|
|
);
|
|
|
|
|
2024-01-16 07:16:03 +00:00
|
|
|
const issue = getIssueById(parentIssueId);
|
|
|
|
const subIssuesDistribution = stateDistributionByIssueId(parentIssueId);
|
|
|
|
const subIssues = subIssuesByIssueId(parentIssueId);
|
|
|
|
const subIssueHelpers = subIssueHelpersByIssueId(`${parentIssueId}_root`);
|
2023-09-21 10:09:45 +00:00
|
|
|
|
2024-02-21 12:35:27 +00:00
|
|
|
const handleFetchSubIssues = useCallback(async () => {
|
|
|
|
if (!subIssueHelpers.issue_visibility.includes(parentIssueId)) {
|
|
|
|
setSubIssueHelpers(`${parentIssueId}_root`, "preview_loader", parentIssueId);
|
|
|
|
await subIssueOperations.fetchSubIssues(workspaceSlug, projectId, parentIssueId);
|
|
|
|
setSubIssueHelpers(`${parentIssueId}_root`, "preview_loader", parentIssueId);
|
|
|
|
}
|
|
|
|
setSubIssueHelpers(`${parentIssueId}_root`, "issue_visibility", parentIssueId);
|
|
|
|
}, [
|
|
|
|
parentIssueId,
|
|
|
|
projectId,
|
|
|
|
setSubIssueHelpers,
|
|
|
|
subIssueHelpers.issue_visibility,
|
|
|
|
subIssueOperations,
|
|
|
|
workspaceSlug,
|
|
|
|
]);
|
|
|
|
|
|
|
|
useEffect(() => {
|
|
|
|
handleFetchSubIssues();
|
|
|
|
|
|
|
|
return () => {
|
|
|
|
handleFetchSubIssues();
|
|
|
|
};
|
|
|
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
|
|
}, [parentIssueId]);
|
|
|
|
|
2024-01-16 07:16:03 +00:00
|
|
|
if (!issue) return <></>;
|
2023-09-21 10:09:45 +00:00
|
|
|
return (
|
2024-02-21 12:48:14 +00:00
|
|
|
<div id="sub-issues" className="h-full w-full space-y-2">
|
2024-01-16 07:16:03 +00:00
|
|
|
{!subIssues ? (
|
2023-12-10 10:18:10 +00:00
|
|
|
<div className="py-3 text-center text-sm font-medium text-custom-text-300">Loading...</div>
|
2023-09-21 13:42:20 +00:00
|
|
|
) : (
|
2023-09-21 10:09:45 +00:00
|
|
|
<>
|
2024-01-16 07:16:03 +00:00
|
|
|
{subIssues && subIssues?.length > 0 ? (
|
2023-09-21 13:42:20 +00:00
|
|
|
<>
|
2024-03-15 11:59:22 +00:00
|
|
|
<div className="relative flex items-center justify-between gap-2 text-xs">
|
|
|
|
<div className="flex items-center gap-2">
|
|
|
|
<button
|
|
|
|
type="button"
|
|
|
|
className="flex items-center gap-1 rounded py-1 px-2 transition-all hover:bg-custom-background-80 font-medium"
|
|
|
|
onClick={handleFetchSubIssues}
|
|
|
|
>
|
|
|
|
<div className="flex flex-shrink-0 items-center justify-center">
|
|
|
|
{subIssueHelpers.preview_loader.includes(parentIssueId) ? (
|
|
|
|
<Loader strokeWidth={2} className="h-3 w-3 animate-spin" />
|
|
|
|
) : (
|
|
|
|
<ChevronRight
|
|
|
|
className={cn("h-3 w-3 transition-all", {
|
|
|
|
"rotate-90": subIssueHelpers.issue_visibility.includes(parentIssueId),
|
|
|
|
})}
|
|
|
|
strokeWidth={2}
|
|
|
|
/>
|
|
|
|
)}
|
|
|
|
</div>
|
|
|
|
<div>Sub-issues</div>
|
|
|
|
</button>
|
|
|
|
<div className="flex items-center gap-2 text-custom-text-300">
|
|
|
|
<CircularProgressIndicator
|
|
|
|
size={16}
|
|
|
|
percentage={
|
|
|
|
subIssuesDistribution?.completed?.length && subIssues.length
|
|
|
|
? (subIssuesDistribution?.completed?.length / subIssues.length) * 100
|
|
|
|
: 0
|
|
|
|
}
|
|
|
|
strokeWidth={3}
|
|
|
|
/>
|
|
|
|
<span>
|
|
|
|
{subIssuesDistribution?.completed?.length ?? 0}/{subIssues.length} Done
|
|
|
|
</span>
|
2023-09-21 13:42:20 +00:00
|
|
|
</div>
|
2023-09-21 10:09:45 +00:00
|
|
|
</div>
|
2023-09-21 13:42:20 +00:00
|
|
|
|
2024-01-16 07:16:03 +00:00
|
|
|
{!disabled && (
|
2024-03-15 11:59:22 +00:00
|
|
|
<CustomMenu
|
|
|
|
label={
|
|
|
|
<>
|
|
|
|
<Plus className="h-3 w-3" />
|
|
|
|
Add sub-issue
|
|
|
|
</>
|
|
|
|
}
|
|
|
|
buttonClassName="whitespace-nowrap"
|
|
|
|
placement="bottom-end"
|
|
|
|
noBorder
|
|
|
|
noChevron
|
|
|
|
>
|
|
|
|
<CustomMenu.MenuItem
|
2024-02-05 07:49:07 +00:00
|
|
|
onClick={() => {
|
2024-03-15 11:59:22 +00:00
|
|
|
setTrackElement("Issue detail nested sub-issue");
|
2024-02-05 07:49:07 +00:00
|
|
|
handleIssueCrudState("create", parentIssueId, null);
|
2024-03-15 11:59:22 +00:00
|
|
|
toggleCreateIssueModal(true);
|
2024-02-05 07:49:07 +00:00
|
|
|
}}
|
2023-09-21 13:42:20 +00:00
|
|
|
>
|
2024-03-15 11:59:22 +00:00
|
|
|
<div className="flex items-center gap-2">
|
|
|
|
<Pencil className="h-3 w-3" />
|
|
|
|
<span>Create new</span>
|
|
|
|
</div>
|
|
|
|
</CustomMenu.MenuItem>
|
|
|
|
<CustomMenu.MenuItem
|
2024-02-05 07:49:07 +00:00
|
|
|
onClick={() => {
|
2024-03-15 11:59:22 +00:00
|
|
|
setTrackElement("Issue detail nested sub-issue");
|
2024-02-05 07:49:07 +00:00
|
|
|
handleIssueCrudState("existing", parentIssueId, null);
|
2024-05-03 12:28:15 +00:00
|
|
|
toggleSubIssuesModal(issue.id);
|
2024-02-05 07:49:07 +00:00
|
|
|
}}
|
2023-09-21 13:42:20 +00:00
|
|
|
>
|
2024-03-15 11:59:22 +00:00
|
|
|
<div className="flex items-center gap-2">
|
|
|
|
<LayersIcon className="h-3 w-3" />
|
|
|
|
<span>Add existing</span>
|
|
|
|
</div>
|
|
|
|
</CustomMenu.MenuItem>
|
|
|
|
</CustomMenu>
|
2023-09-21 13:42:20 +00:00
|
|
|
)}
|
2023-09-21 10:09:45 +00:00
|
|
|
</div>
|
|
|
|
|
2024-01-16 07:16:03 +00:00
|
|
|
{subIssueHelpers.issue_visibility.includes(parentIssueId) && (
|
2023-09-21 13:42:20 +00:00
|
|
|
<div className="border border-b-0 border-custom-border-100">
|
2024-01-16 07:16:03 +00:00
|
|
|
<IssueList
|
|
|
|
workspaceSlug={workspaceSlug}
|
|
|
|
projectId={projectId}
|
|
|
|
parentIssueId={parentIssueId}
|
2024-05-22 10:06:11 +00:00
|
|
|
rootIssueId={parentIssueId}
|
2024-01-16 07:16:03 +00:00
|
|
|
spacingLeft={10}
|
|
|
|
disabled={!disabled}
|
|
|
|
handleIssueCrudState={handleIssueCrudState}
|
|
|
|
subIssueOperations={subIssueOperations}
|
2023-09-21 13:42:20 +00:00
|
|
|
/>
|
|
|
|
</div>
|
|
|
|
)}
|
|
|
|
</>
|
|
|
|
) : (
|
2024-01-16 07:16:03 +00:00
|
|
|
!disabled && (
|
2023-12-10 10:18:10 +00:00
|
|
|
<div className="flex items-center justify-between">
|
2024-03-15 11:59:22 +00:00
|
|
|
<div className="text-xs italic text-custom-text-300">No sub-issues yet</div>
|
|
|
|
<CustomMenu
|
|
|
|
label={
|
|
|
|
<>
|
|
|
|
<Plus className="h-3 w-3" />
|
|
|
|
Add sub-issue
|
|
|
|
</>
|
|
|
|
}
|
|
|
|
buttonClassName="whitespace-nowrap"
|
|
|
|
placement="bottom-end"
|
|
|
|
noBorder
|
|
|
|
noChevron
|
|
|
|
>
|
|
|
|
<CustomMenu.MenuItem
|
|
|
|
onClick={() => {
|
|
|
|
setTrackElement("Issue detail nested sub-issue");
|
|
|
|
handleIssueCrudState("create", parentIssueId, null);
|
|
|
|
toggleCreateIssueModal(true);
|
|
|
|
}}
|
2023-09-21 13:42:20 +00:00
|
|
|
>
|
2024-03-15 11:59:22 +00:00
|
|
|
<div className="flex items-center gap-2">
|
|
|
|
<Pencil className="h-3 w-3" />
|
|
|
|
<span>Create new</span>
|
|
|
|
</div>
|
|
|
|
</CustomMenu.MenuItem>
|
|
|
|
<CustomMenu.MenuItem
|
|
|
|
onClick={() => {
|
|
|
|
setTrackElement("Issue detail nested sub-issue");
|
|
|
|
handleIssueCrudState("existing", parentIssueId, null);
|
2024-05-03 12:28:15 +00:00
|
|
|
toggleSubIssuesModal(issue.id);
|
2024-03-15 11:59:22 +00:00
|
|
|
}}
|
|
|
|
>
|
|
|
|
<div className="flex items-center gap-2">
|
|
|
|
<LayersIcon className="h-3 w-3" />
|
|
|
|
<span>Add existing</span>
|
|
|
|
</div>
|
|
|
|
</CustomMenu.MenuItem>
|
|
|
|
</CustomMenu>
|
2023-09-21 13:42:20 +00:00
|
|
|
</div>
|
|
|
|
)
|
2023-09-21 10:09:45 +00:00
|
|
|
)}
|
2024-01-10 14:39:45 +00:00
|
|
|
|
2024-01-16 07:16:03 +00:00
|
|
|
{/* issue create, add from existing , update and delete modals */}
|
2024-03-15 11:59:22 +00:00
|
|
|
{issueCrudState?.create?.toggle && issueCrudState?.create?.parentIssueId && isCreateIssueModalOpen && (
|
2023-09-21 13:42:20 +00:00
|
|
|
<CreateUpdateIssueModal
|
2024-01-16 07:16:03 +00:00
|
|
|
isOpen={issueCrudState?.create?.toggle}
|
2024-01-04 10:59:18 +00:00
|
|
|
data={{
|
2024-01-16 07:16:03 +00:00
|
|
|
parent_id: issueCrudState?.create?.parentIssueId,
|
2023-09-21 13:42:20 +00:00
|
|
|
}}
|
2024-03-15 11:59:22 +00:00
|
|
|
onClose={() => {
|
|
|
|
handleIssueCrudState("create", null, null);
|
|
|
|
toggleCreateIssueModal(false);
|
|
|
|
}}
|
2024-01-16 07:16:03 +00:00
|
|
|
onSubmit={async (_issue: TIssue) => {
|
|
|
|
await subIssueOperations.addSubIssue(workspaceSlug, projectId, parentIssueId, [_issue.id]);
|
2023-09-21 13:42:20 +00:00
|
|
|
}}
|
|
|
|
/>
|
|
|
|
)}
|
2024-01-10 14:39:45 +00:00
|
|
|
|
2024-03-15 11:59:22 +00:00
|
|
|
{issueCrudState?.existing?.toggle && issueCrudState?.existing?.parentIssueId && isSubIssuesModalOpen && (
|
fix: Implementing mobx, refactoring service layer and rewriting components (#2441)
* chore: kanban refactoring
* chore: Implemented new kanaban board UX and implemented draggable using react beautiful dnd
* chore: updated yarn lock
* chore: updated the store for issues and issue filters
* chore: resolved build error
* chore: created filters and updated the issue filters, display_filter and display_properties in mobx and components
* chore: implemented filters for issues
* chore: UI theming updates
* chore: handled single and multi select in filter cards
* chore: implemented filters and views in kanaban
* chore: updating filters, display_filter and display properties
* chore: filter, layout, display filters, extra filters and display properties render validation
* chore: clean up and resolved import warnings
* chore: type check
* chore: renamed gantt key to gantt_chart
* chore: filter render UI and Functionality implementation
* chore: filter empty state handling in issue filter selection
* Implementing list view
* chore: kanban drag drop logic
* filtering
* chore: store setup
* chore: handled build issues
* chore: store setup
* user filter
* chore: store setup
* chore: store fixes and static data setup
* chore: store setup for build fixes
* fix: merge conflicts (#2231)
* chore: dynamic position dropdown (#2138)
* chore: dynamic position state dropdown for issue view
* style: state select dropdown styling
* fix: state icon attribute names
* chore: state select dynamic dropdown
* chore: member select dynamic dropdown
* chore: label select dynamic dropdown
* chore: priority select dynamic dropdown
* chore: label select dropdown improvement
* refactor: state dropdown location
* chore: dropdown improvement and code refactor
* chore: dynamic dropdown hook type added
---------
Co-authored-by: Aaryan Khandelwal <aaryankhandu123@gmail.com>
* fix: fields not getting selected in the create issue form (#2212)
* fix: hydration error and draft issue workflow
* fix: build error
* fix: properties getting de-selected after create, module & cycle not getting auto-select on the form
* fix: display layout, props being updated directly
* chore: sub issues count in individual issue (#2221)
* fix: service imports
* chore: rename csv service file
---------
Co-authored-by: Anmol Singh Bhatia <121005188+anmolsinghbhatia@users.noreply.github.com>
Co-authored-by: Dakshesh Jain <65905942+dakshesh14@users.noreply.github.com>
Co-authored-by: Bavisetti Narayan <72156168+NarayanBavisetti@users.noreply.github.com>
* chore: store fixes
* chore: update issue detail store to handle peek overview (#2237)
* chore: dynamic position dropdown (#2138)
* chore: dynamic position state dropdown for issue view
* style: state select dropdown styling
* fix: state icon attribute names
* chore: state select dynamic dropdown
* chore: member select dynamic dropdown
* chore: label select dynamic dropdown
* chore: priority select dynamic dropdown
* chore: label select dropdown improvement
* refactor: state dropdown location
* chore: dropdown improvement and code refactor
* chore: dynamic dropdown hook type added
---------
Co-authored-by: Aaryan Khandelwal <aaryankhandu123@gmail.com>
* fix: fields not getting selected in the create issue form (#2212)
* fix: hydration error and draft issue workflow
* fix: build error
* fix: properties getting de-selected after create, module & cycle not getting auto-select on the form
* fix: display layout, props being updated directly
* chore: sub issues count in individual issue (#2221)
* Implemented nested issues in the sub issues section in issue detail page (#2233)
* feat: subissues infinte level
* feat: updated UI for sub issues
* feat: subissues new ui and nested sub issues in issue detail
* chore: removed repeated code
* refactor: product updates modal layout (#2225)
* fix: handle no issues in custom analytics (#2226)
* fix: activity label color (#2227)
* fix: profile issues layout switch (#2228)
* chore: update service imports
* chore: update issue detail store to handle peek overview
---------
Co-authored-by: Anmol Singh Bhatia <121005188+anmolsinghbhatia@users.noreply.github.com>
Co-authored-by: Dakshesh Jain <65905942+dakshesh14@users.noreply.github.com>
Co-authored-by: Bavisetti Narayan <72156168+NarayanBavisetti@users.noreply.github.com>
Co-authored-by: guru_sainath <gurusainath007@gmail.com>
* chore: minor fixes
* workspace project fixes
* feat: project issues topbar (#2256)
* chore: project issues topbar
* style: theming and minor UI fixes
* refactor: file structure
* chore: layout wise authorization added
* style: filter dropdowns
* chore: add fetch keys
* chore: minor fixes
* chore: filters dropdown (#2260)
* chore: project issues topbar
* style: theming and minor UI fixes
* refactor: file structure
* chore: layout wise authorization added
* style: filter dropdowns
* chore: add fetch keys
* feat: search option for filters
* fix: sticky headers
* chore: sub_group_by section added
* fix: leave project fixes
* refactor: project card component refactor
* Implemented swimlanes and kanban view (#2262)
* chore: issue store for kanban and calendar
* chore: updated ui for kanba and swimlanes
* chore: yarn.lock updated
* fix: computed filters logic
* chore: added sub_group_by in params and handled sub-group-by render error in display filter's
* fix: ui package setup and project update form refactor
* fix: ui package setup
* fix: minor ui fixes
* dev: calendar view layout revamp (#2293)
* dev: calendar view init
* chore: new render logic
* chore: implement calendar view
* chore: calendar view
* refactor: calendar payload
* chore: remove active month logic from backend
* chore: setup new store for calendar
* refactor: issues fetching structure
* chore: months dropdown
* chore: modify request query params for calendar layout
* refactor: remove console logs and add comments
* chore: removed demo m-store routes
* cycles changes
* chore: issues grouped kanban and swimlanes UI and functionality (#2294)
* chore: updated the all the group_by and sub_group_by UI and functionality render in kanban
* chore: kanban sorting in mobx and ui updates
* chore: ui changes and drag and drop functionality changes in kanban
* chore: issues count render in kanban default and swimlanes
* chore: Added icons to the group_by and sub_group_by in kanban and swimlanes
* refactor: filter components, constants and helper functions (#2297)
* refactor: filters and display filters to accept handlers as props
* refactor: filters and display filters folder structure
* refactor: change issue layout options constant structure
* chore: display filters validations
* chore: view less filters functionality
* fix: display filters validation
* refactor: wrap functions around useCallback
* chore: start and target date filter options added
* refactor: query params generator function
* fix: query params generator function
* dev: gantt chart implementation using MobX (#2302)
* dev: fetch project gantt issues using mobx
* chore: handle group by options in the kanban layout
* dev: spreadsheet layout implementation using MobX (#2306)
* dev: implement spreadsheet view using mobx
* refactor: remove console logs and props
* chore: refactoring cycles list
* feat: adding additional ui components
* dev: applied filters list implementation using MobX (#2325)
* dev: applied filters list UI
* fix: filter item height
* chore: remove unnecessary classes
* fix: params generator
* fix: cycles views list and board
* fix: cycles list rendering fixes
* fix: layout fixes
* refactor: filter components (#2359)
* fix: calendar layout dividers
* refactor: filter selection components
* fix: dropdown closing after selection
* refactor: filters components
* chore: issue properties for list and kanban layouts and implemented estimates in project store (#2363)
* chore: issue properties for state, priorit, labels and members
* feat: implemented assignee, labels properties
* fix: implemented estimates in project store and issue properties
* chore: staer_date and due_date and validation properties in kanban
* chore: filters import conflict
* dev: setup module and module filter store (#2364)
* dev: implement module issues using mobx store
* dev: module filter store setup
* chore: module store crud operations
* chore: issue list layout (#2367)
* chore: merge develop (#2388)
* fix: build erros
* chore: cycles, modules store integration, list and kanban layouts and updated kanban logic (#2399)
* chore: cycle, cycle-issue, cycle-filters, cycle-kanban, cycle layout setup
* chore: cycles kanban and list view store
* chore: cycles, modules kanban and list, kanban view store
* refactor: change naming convention (#2383)
* fix:auth layer revamp
* chore: Implemented list and kanban views in project modules (#2402)
* chore: updated kanban logic in project cycles and modules
* chore: updated list and kanban in module
* dev: implement global views using MobX (#2404)
* fix: selfhosted fixes (#2154)
* fix: selfhosted fixes
* fix: updated env example
* chore: dynamic position dropdown (#2138)
* chore: dynamic position state dropdown for issue view
* style: state select dropdown styling
* fix: state icon attribute names
* chore: state select dynamic dropdown
* chore: member select dynamic dropdown
* chore: label select dynamic dropdown
* chore: priority select dynamic dropdown
* chore: label select dropdown improvement
* refactor: state dropdown location
* chore: dropdown improvement and code refactor
* chore: dynamic dropdown hook type added
---------
Co-authored-by: Aaryan Khandelwal <aaryankhandu123@gmail.com>
* fix: fields not getting selected in the create issue form (#2212)
* fix: hydration error and draft issue workflow
* fix: build error
* fix: properties getting de-selected after create, module & cycle not getting auto-select on the form
* fix: display layout, props being updated directly
* chore: sub issues count in individual issue (#2221)
* Implemented nested issues in the sub issues section in issue detail page (#2233)
* feat: subissues infinte level
* feat: updated UI for sub issues
* feat: subissues new ui and nested sub issues in issue detail
* chore: removed repeated code
* refactor: product updates modal layout (#2225)
* fix: handle no issues in custom analytics (#2226)
* fix: activity label color (#2227)
* fix: profile issues layout switch (#2228)
* fix: issues resolved in sub issues (#2238)
* fix: aws region name (#2234)
* chore: updated docker naming conventions (#2239)
* naming convention changes
* dev: update docker-compose-hub in consistent with docker-compose
* dev: updated docker container name
---------
Co-authored-by: sriram veeraghanta <veeraghanta.sriram@gmail.com>
* chore: added state and priority order in workspace user profile (#2241)
* fix: changed priority from None to none (#2229)
* fix: cycle and module stats when issues are archived (#2185)
* fix: cycle and module stats when issues are archived
* fix: added draft filter
---------
Co-authored-by: NarayanBavisetti <narayan3119@gmail.com>
* feat: quick add (#2240)
* feat: quick add
* style: made text color muted
* chore: added epoch in draft (#2244)
* chore: added epoch in draft
* chore: removed extra spaces
* fix: resolved pending issue graph in analytics, user wishes in dashboard, and typo in projects list (#2247)
* style: settings page improvement (#2211)
* style: settings page improvement
* style: toggle switch styling
---------
Co-authored-by: Anmol Singh Bhatia <asb@Anmols-MacBook-Pro.local>
* chore: changed priority props in workspace and project (#2253)
* fix: bug fix related to fetching dropdown options for the profile issue (#2246)
* fix: sub issue state and member select build error (#2254)
* rename view to layout (#2255)
Co-authored-by: Your Name <you@example.com>
* fix: bug fixes and ui improvement (#2250)
* dev: remove auto filter endpoint
* feat: quick-add placement in spreadsheet and gantt (#2259)
* feat: sticking quick-add at the bottom of the screen
fix: opening create issue modal instead of quick-add in draft-issues, my-issue and profile page
* fix: build error due to dynamic import
* fix: draft issue delete not working (#2249)
* fix: draft issue not deleting, project can't be changed in draft issue modal
* fix: removed mutation for view where draft issues are not shown
* fix: inline create issue for draft issue
* fix: clearing data from localstorage on discard click
* feat: Add peek overview in sub issues and updated UI for empty states. (#2263)
* chore: add tooltip to show full time on activity logs (#2235)
* fix: issue automation iterable error (#2208)
* fix: n+1 queries for cycle list and project member endpoints (#2257)
* [fix] nginx continuously rewriting and reloading on index page of spaces app (#2236)
* chore: shifted index page to /home route
* chore: added rewrite logic, to rewrite index to /home
* chore: routed home to login route as login page
* chore: updated nginx config to route to login
* chore: updated path for home
* dev: migration for 0.13 (#2266)
* dev: updated migrations
* dev: migration for 0.13
* dev: re-split migrations into two different files (#2268)
* dev: split issue activity migration separate files
* dev: resplit migrations into two different files
* dev: changed the batch size
* chore: udpate date filters to support dynamic options
* fix: bugs in quick-add and draft issues (#2269)
* fix: 'Last Drafted Issue' making sidebar look weird on collapsed
* feat: scroll to the bottom when issue is created
* fix: 'Add Issue' button overlapping issue card in spreadsheet view
* fix: wrong placement of quick-add in calender layout
* fix: spacing for issue card in spreadsheet view
* chore: add instructions to contributing guide (#2270)
* chore: add instructions to contributing guide
* dev: update contributing.md to use the new configuration
---------
Co-authored-by: Nikhil <118773738+pablohashescobar@users.noreply.github.com>
* fix: user dashboard greeting timezone (#2267)
* chore: user greeting timezone
* fix: group by labels not working on workspace level
* feat: workspace global view, style: spreadsheet view revamp (#2273)
* chore: workspace view types, services and hooks added
* style: spreadsheet view revamp and code refactor
* feat: workspace view
* fix: build fix
* chore: sidebar workspace issues redirection updated
* style: gantt layout quick-add padding (#2272)
* fix: 'Last Drafted Issue' making sidebar look weird on collapsed
* feat: scroll to the bottom when issue is created
* fix: 'Add Issue' button overlapping issue card in spreadsheet view
* fix: wrong placement of quick-add in calender layout
* fix: spacing for issue card in spreadsheet view
* style: gantt layout quick-add padding
style: removed 'State group' from draft issue
* style: decrese shadow, quick-add position on calender layout, and 'add issue' sticky
* style: button color
* fix: block click happening while moving (#2275)
* dev: refactor date filters to a single function
* chore: handle calendar date range in frontend (#2277)
* chore: gantt chart empty state (#2279)
* chore: gantt empty state
* chore: Add heading to the gantt sidebar
* style: calender quick-add same width as single date (#2280)
* style: calender quick-add same width as single date
* style: margin bottom in quick-add in spreadsheet view
* fix: quick add opening in list-layout
* style: reduced margin left
* chore: updated created at in draft issue (#2278)
* chore: make target dates inclusive when filtering (#2276)
* chore: sort order and issue props for global views (#2283)
* chore: removed project filter (#2284)
* fix: inbox issue deletes (#2290)
* chore: views (#2288)
* chore: global views order by
* chore: update permissions for global views
---------
Co-authored-by: NarayanBavisetti <narayan3119@gmail.com>
* chore: fetch issues from previous and next month in the calendar view (#2282)
* fix: issue activity estimate value bug fix (#2281)
* fix: issue activity estimate value bug fix
* fix: activity typo fix
* fix: ui and bugs (#2289)
* fix: 24 character limit on first & last name in onboarding page
* fix: no option: 'Add Issue' in archive issue page
* fix: in archive issue directly sending to issue detail page
* fix: issue type showing in archive issue
* fix: custom menu overflowing
* fix: changing subscriber in filters has no effect
* style: border in quick-add
* fix: on onboarding member role overflowing
* fix: inconsistent icons in issue detail
* style: spacing, borders and shadows in quick-add
* fix: custom menu truncate
* fix: notifications for created by me and assigned to me (#2292)
* chore: workspace view display filters and properties , code refactor (#2295)
* chore: spreadsheet view context
* chore: spreadsheet context provider
* chore: spreadsheet view context
* chore: display filters and properties added in workspace view and code refactor
* fix: build error fix
* chore: set sub-issue display option to false for global views
---------
Co-authored-by: gurusainath <gurusainath007@gmail.com>
* chore: label create error (#2299)
* chore: global issues ui improvement and bug fixes (#2300)
* chore: workspace view mutation fix ,bug fixes and code refactor (#2301)
* chore: workspace view mutation fix ,bug fixes and code refactor
* chore: update workspace view toast alert added
* chore: workspace view order by removed (#2303)
* dev: updated migrations for 0.13-dev (#2305)
* chore: epoch migration batch size changed
* chore: reoredered the migration files
* dev: updated migrations for 0.13-dev
* chore: added epoch field
* dev: merged the migration files
* fix: workspace view filters count fix (#2307)
* fix: unsplash api fix (#2310)
* fix: workspace view redirection fix, style: spreadsheet view shadow scroll fix (#2314)
* fix: workspace view redirection fix
* style: spreadsheet view scroll shadow fix
* fix: update build workflow for the deploy app (#2315)
* fix: workspace view add issue mutation fix (#2317)
* dev: create action to sync PR changes to the repo (#2333)
* fix: ui package readme added (#2334)
* fix: variable name for token (#2336)
* dev: update add permissions to the action (#2337)
* dev: rename token variables (#2338)
* fix: updated readme fixes (#2339)
* dev: update sync workflow to run only when the source repo is configured (#2346)
* dev: update sync workflow to run only when the source repo is configured
* fix: naming convention changes
---------
Co-authored-by: sriramveeraghanta <veeraghanta.sriram@gmail.com>
* fix: issue relation mutation and draft issue (#2340)
* fix: issue relation mutation and draft issue
* fix: 'New Issue' in gantt view
fix: emoji select going under
* fix: profile page typo
* fix: sync workflow fixes (#2365)
* fix: sync job pr description escaped values fix (#2366)
* Update index.tsx (#2343)
Fixes #2342
* dev: update apiserver configuration files (#2348)
* dev: update apiserver configuration files
* dev: add email and minio redirection urls
* fix: themening validation in store init. (#2350)
* chore: member can change role (#2371)
* chore: removed the issue draft log from my profile (#2368)
* adding sync info in pr title (#2373)
* chore: layout access validation and switch in plane deploy issues route (#2351)
* chore: handled route validation and layout access validation in plane deploy issues
* chore: impoved validation condition
* show current version in the help section dropdown (#2353)
* fix: table menu positioning (#2354)
* fix: handle cross project issues in the sub-issues. (#2357)
* fix: login process validation based on api config (#2361)
* dev: configuration endpoint for frontend client (#2355)
* dev: configuration endpoint for frontend clients
* dev: configuration enable magic and email/password signup
* dev: update unsplash keys
* dev: add unsplash API and add env for magic login
* fix: 404 when redirecting user clicks on Sign In button (#2349)
* fix: 404 when redirecting user to login page
* fix: next_path redirection not working
* fix: authentication workflow update in plane deploy
---------
Co-authored-by: gurusainath <gurusainath007@gmail.com>
* fix: project setting member role validation (#2369)
* fix: project setting member role validation
* chore: opacity removed from member setting page
* chore: member setting page validation
* chore: project covers endpoint (#2370)
* chore: project covers endpoint
* dev: remove print logs
* dev: formatting
---------
Co-authored-by: sriramveeraghanta <veeraghanta.sriram@gmail.com>
* feat: default project cover images tab on the change cover popover (#2375)
* feat: default project cover images tab
* chore: remove unnecessary env vars from turbo.json
* chore: remove unnecessary OAuth envs (#2378)
* chore: remove unnecessary oauth envs
* merge conflicts resolved
* fix: adding new service
---------
Co-authored-by: sriramveeraghanta <veeraghanta.sriram@gmail.com>
* fix: added user store variables in mobx store observable (#2380)
* fix: state group icons (#2381)
* fix: removed default theme setting in the index page (#2382)
* fix: removed default theme setting in the index page
* fix: empty space
* dev: global views and workspace filters store implemented
* sync CE Master to EE Develop
* refactor: create update view modal
* chore: static issue global views
* refactor: remove old code
* refactor: filters select dropdown
* chore: fix calendar layout
* chore: mobx store for new applied filters
* chore: dded search functionality
---------
Co-authored-by: Vamsi Kurama <vamsi.kurama@gmail.com>
Co-authored-by: Nikhil <118773738+pablohashescobar@users.noreply.github.com>
Co-authored-by: sriram veeraghanta <veeraghanta.sriram@gmail.com>
Co-authored-by: Anmol Singh Bhatia <121005188+anmolsinghbhatia@users.noreply.github.com>
Co-authored-by: Dakshesh Jain <65905942+dakshesh14@users.noreply.github.com>
Co-authored-by: Bavisetti Narayan <72156168+NarayanBavisetti@users.noreply.github.com>
Co-authored-by: guru_sainath <gurusainath007@gmail.com>
Co-authored-by: NarayanBavisetti <narayan3119@gmail.com>
Co-authored-by: Anmol Singh Bhatia <asb@Anmols-MacBook-Pro.local>
Co-authored-by: Rhea Jain <65884341+rhea0110@users.noreply.github.com>
Co-authored-by: Your Name <you@example.com>
Co-authored-by: pablohashescobar <nikhilschacko@gmail.com>
Co-authored-by: Henit Chobisa <chobisa.henit@gmail.com>
Co-authored-by: Thomas <git@thomasync.dev>
Co-authored-by: Luis Cruz <55716036+luis-cruzt@users.noreply.github.com>
Co-authored-by: Manish Gupta <manish@mgupta.me>
* fix: Auth fixes and Layout fixes (#2408)
* fix: auth fixes and layout improvements
* fix: layout fixes
* fix: analytics page fixes
* dev: implemented project views using MobX (#2410)
* dev: implemented project views list using mobx
* style: views list UI
* dev: implemented view issues page using mobx
* refactor: project view issues fetching
* chore: plane ui library component and code refactor (#2406)
* chore: swap input component with plane/ui package
* chore: swap textarea component with plane/ui package
* chore: swap button component with plane/ui package
* chore: button component revamp
* fix: button type fix
* chore: secondary button revamp
* chore: button props updated
* chore: swap loader component with plane/ui package
* fix: build error fix
* chore: button component refactor
* chore: code refactor
* chore: swap toggle switch component with plane/ui package
* chore: swap spinner component with plane/ui package
* chore: swap progress bar componenet with plan/ui package
* chore: code refactor
* fix: gitignore fixes
* fix: project card fixes
* chore: ui component revamp (#2415)
* chore: swap tooltip component with plane ui package
* chore: swap linear progress component with plane ui package
* fix: login button fix
* chore: implement new worksapace wrapper for global views (#2412)
* chore: implement new worksapace wrapper for global views pages
* fix: merge conflicts
* fix: merge conflicts
* dev: add remaining layouts to cycle (#2413)
* fix: workspace auth wrapper changes
* chore: project card revamp and refactor (#2416)
* removing dist from ui
* refactor: analytics (#2419)
* refactor: helper functions
* chore: updated all the page headers
* refactor: custom analytics
* refactor: project analytics modal
* refactor: folder structure, remove junk code (#2423)
* refactor: folder structure
* chore: ad order by target date option
* refactor: remove old layout components
* refactor: inbox folder structure
* fix: services fixes
* fix: store imports changes
* fix: services export fixes
* fix: services implementation fixes
* fix: build issue fixes
* fix: react library fixes
* refactor: MobX store folder structure (#2435)
* refactor: store folder structure
* chore: update import statements
* fix: service import errors (#2436)
* fix: service imports
* chore: update service imports in store
* chore: fix remianing service imports
* build fixes
* editor ts config fixes
* fix: turbo and build fixes
* fix: Auth screen loading implementation
* fix: build issues
* fix: turbo settings for ui package
---------
Co-authored-by: gurusainath <gurusainath007@gmail.com>
Co-authored-by: Aaryan Khandelwal <65252264+aaryan610@users.noreply.github.com>
Co-authored-by: Anmol Singh Bhatia <121005188+anmolsinghbhatia@users.noreply.github.com>
Co-authored-by: Dakshesh Jain <65905942+dakshesh14@users.noreply.github.com>
Co-authored-by: Bavisetti Narayan <72156168+NarayanBavisetti@users.noreply.github.com>
Co-authored-by: Aaryan Khandelwal <aaryankhandu123@gmail.com>
Co-authored-by: Vamsi Kurama <vamsi.kurama@gmail.com>
Co-authored-by: Nikhil <118773738+pablohashescobar@users.noreply.github.com>
Co-authored-by: NarayanBavisetti <narayan3119@gmail.com>
Co-authored-by: Anmol Singh Bhatia <asb@Anmols-MacBook-Pro.local>
Co-authored-by: Rhea Jain <65884341+rhea0110@users.noreply.github.com>
Co-authored-by: Your Name <you@example.com>
Co-authored-by: pablohashescobar <nikhilschacko@gmail.com>
Co-authored-by: Henit Chobisa <chobisa.henit@gmail.com>
Co-authored-by: Thomas <git@thomasync.dev>
Co-authored-by: Luis Cruz <55716036+luis-cruzt@users.noreply.github.com>
Co-authored-by: Manish Gupta <manish@mgupta.me>
2023-10-15 18:20:12 +00:00
|
|
|
<ExistingIssuesListModal
|
2024-01-27 09:50:36 +00:00
|
|
|
workspaceSlug={workspaceSlug}
|
|
|
|
projectId={projectId}
|
2024-01-16 07:16:03 +00:00
|
|
|
isOpen={issueCrudState?.existing?.toggle}
|
2024-03-15 11:59:22 +00:00
|
|
|
handleClose={() => {
|
|
|
|
handleIssueCrudState("existing", null, null);
|
2024-05-03 12:28:15 +00:00
|
|
|
toggleSubIssuesModal(null);
|
2024-03-15 11:59:22 +00:00
|
|
|
}}
|
2024-01-16 07:16:03 +00:00
|
|
|
searchParams={{ sub_issue: true, issue_id: issueCrudState?.existing?.parentIssueId }}
|
|
|
|
handleOnSubmit={(_issue) =>
|
|
|
|
subIssueOperations.addSubIssue(
|
|
|
|
workspaceSlug,
|
|
|
|
projectId,
|
|
|
|
parentIssueId,
|
|
|
|
_issue.map((issue) => issue.id)
|
|
|
|
)
|
|
|
|
}
|
fix: Implementing mobx, refactoring service layer and rewriting components (#2441)
* chore: kanban refactoring
* chore: Implemented new kanaban board UX and implemented draggable using react beautiful dnd
* chore: updated yarn lock
* chore: updated the store for issues and issue filters
* chore: resolved build error
* chore: created filters and updated the issue filters, display_filter and display_properties in mobx and components
* chore: implemented filters for issues
* chore: UI theming updates
* chore: handled single and multi select in filter cards
* chore: implemented filters and views in kanaban
* chore: updating filters, display_filter and display properties
* chore: filter, layout, display filters, extra filters and display properties render validation
* chore: clean up and resolved import warnings
* chore: type check
* chore: renamed gantt key to gantt_chart
* chore: filter render UI and Functionality implementation
* chore: filter empty state handling in issue filter selection
* Implementing list view
* chore: kanban drag drop logic
* filtering
* chore: store setup
* chore: handled build issues
* chore: store setup
* user filter
* chore: store setup
* chore: store fixes and static data setup
* chore: store setup for build fixes
* fix: merge conflicts (#2231)
* chore: dynamic position dropdown (#2138)
* chore: dynamic position state dropdown for issue view
* style: state select dropdown styling
* fix: state icon attribute names
* chore: state select dynamic dropdown
* chore: member select dynamic dropdown
* chore: label select dynamic dropdown
* chore: priority select dynamic dropdown
* chore: label select dropdown improvement
* refactor: state dropdown location
* chore: dropdown improvement and code refactor
* chore: dynamic dropdown hook type added
---------
Co-authored-by: Aaryan Khandelwal <aaryankhandu123@gmail.com>
* fix: fields not getting selected in the create issue form (#2212)
* fix: hydration error and draft issue workflow
* fix: build error
* fix: properties getting de-selected after create, module & cycle not getting auto-select on the form
* fix: display layout, props being updated directly
* chore: sub issues count in individual issue (#2221)
* fix: service imports
* chore: rename csv service file
---------
Co-authored-by: Anmol Singh Bhatia <121005188+anmolsinghbhatia@users.noreply.github.com>
Co-authored-by: Dakshesh Jain <65905942+dakshesh14@users.noreply.github.com>
Co-authored-by: Bavisetti Narayan <72156168+NarayanBavisetti@users.noreply.github.com>
* chore: store fixes
* chore: update issue detail store to handle peek overview (#2237)
* chore: dynamic position dropdown (#2138)
* chore: dynamic position state dropdown for issue view
* style: state select dropdown styling
* fix: state icon attribute names
* chore: state select dynamic dropdown
* chore: member select dynamic dropdown
* chore: label select dynamic dropdown
* chore: priority select dynamic dropdown
* chore: label select dropdown improvement
* refactor: state dropdown location
* chore: dropdown improvement and code refactor
* chore: dynamic dropdown hook type added
---------
Co-authored-by: Aaryan Khandelwal <aaryankhandu123@gmail.com>
* fix: fields not getting selected in the create issue form (#2212)
* fix: hydration error and draft issue workflow
* fix: build error
* fix: properties getting de-selected after create, module & cycle not getting auto-select on the form
* fix: display layout, props being updated directly
* chore: sub issues count in individual issue (#2221)
* Implemented nested issues in the sub issues section in issue detail page (#2233)
* feat: subissues infinte level
* feat: updated UI for sub issues
* feat: subissues new ui and nested sub issues in issue detail
* chore: removed repeated code
* refactor: product updates modal layout (#2225)
* fix: handle no issues in custom analytics (#2226)
* fix: activity label color (#2227)
* fix: profile issues layout switch (#2228)
* chore: update service imports
* chore: update issue detail store to handle peek overview
---------
Co-authored-by: Anmol Singh Bhatia <121005188+anmolsinghbhatia@users.noreply.github.com>
Co-authored-by: Dakshesh Jain <65905942+dakshesh14@users.noreply.github.com>
Co-authored-by: Bavisetti Narayan <72156168+NarayanBavisetti@users.noreply.github.com>
Co-authored-by: guru_sainath <gurusainath007@gmail.com>
* chore: minor fixes
* workspace project fixes
* feat: project issues topbar (#2256)
* chore: project issues topbar
* style: theming and minor UI fixes
* refactor: file structure
* chore: layout wise authorization added
* style: filter dropdowns
* chore: add fetch keys
* chore: minor fixes
* chore: filters dropdown (#2260)
* chore: project issues topbar
* style: theming and minor UI fixes
* refactor: file structure
* chore: layout wise authorization added
* style: filter dropdowns
* chore: add fetch keys
* feat: search option for filters
* fix: sticky headers
* chore: sub_group_by section added
* fix: leave project fixes
* refactor: project card component refactor
* Implemented swimlanes and kanban view (#2262)
* chore: issue store for kanban and calendar
* chore: updated ui for kanba and swimlanes
* chore: yarn.lock updated
* fix: computed filters logic
* chore: added sub_group_by in params and handled sub-group-by render error in display filter's
* fix: ui package setup and project update form refactor
* fix: ui package setup
* fix: minor ui fixes
* dev: calendar view layout revamp (#2293)
* dev: calendar view init
* chore: new render logic
* chore: implement calendar view
* chore: calendar view
* refactor: calendar payload
* chore: remove active month logic from backend
* chore: setup new store for calendar
* refactor: issues fetching structure
* chore: months dropdown
* chore: modify request query params for calendar layout
* refactor: remove console logs and add comments
* chore: removed demo m-store routes
* cycles changes
* chore: issues grouped kanban and swimlanes UI and functionality (#2294)
* chore: updated the all the group_by and sub_group_by UI and functionality render in kanban
* chore: kanban sorting in mobx and ui updates
* chore: ui changes and drag and drop functionality changes in kanban
* chore: issues count render in kanban default and swimlanes
* chore: Added icons to the group_by and sub_group_by in kanban and swimlanes
* refactor: filter components, constants and helper functions (#2297)
* refactor: filters and display filters to accept handlers as props
* refactor: filters and display filters folder structure
* refactor: change issue layout options constant structure
* chore: display filters validations
* chore: view less filters functionality
* fix: display filters validation
* refactor: wrap functions around useCallback
* chore: start and target date filter options added
* refactor: query params generator function
* fix: query params generator function
* dev: gantt chart implementation using MobX (#2302)
* dev: fetch project gantt issues using mobx
* chore: handle group by options in the kanban layout
* dev: spreadsheet layout implementation using MobX (#2306)
* dev: implement spreadsheet view using mobx
* refactor: remove console logs and props
* chore: refactoring cycles list
* feat: adding additional ui components
* dev: applied filters list implementation using MobX (#2325)
* dev: applied filters list UI
* fix: filter item height
* chore: remove unnecessary classes
* fix: params generator
* fix: cycles views list and board
* fix: cycles list rendering fixes
* fix: layout fixes
* refactor: filter components (#2359)
* fix: calendar layout dividers
* refactor: filter selection components
* fix: dropdown closing after selection
* refactor: filters components
* chore: issue properties for list and kanban layouts and implemented estimates in project store (#2363)
* chore: issue properties for state, priorit, labels and members
* feat: implemented assignee, labels properties
* fix: implemented estimates in project store and issue properties
* chore: staer_date and due_date and validation properties in kanban
* chore: filters import conflict
* dev: setup module and module filter store (#2364)
* dev: implement module issues using mobx store
* dev: module filter store setup
* chore: module store crud operations
* chore: issue list layout (#2367)
* chore: merge develop (#2388)
* fix: build erros
* chore: cycles, modules store integration, list and kanban layouts and updated kanban logic (#2399)
* chore: cycle, cycle-issue, cycle-filters, cycle-kanban, cycle layout setup
* chore: cycles kanban and list view store
* chore: cycles, modules kanban and list, kanban view store
* refactor: change naming convention (#2383)
* fix:auth layer revamp
* chore: Implemented list and kanban views in project modules (#2402)
* chore: updated kanban logic in project cycles and modules
* chore: updated list and kanban in module
* dev: implement global views using MobX (#2404)
* fix: selfhosted fixes (#2154)
* fix: selfhosted fixes
* fix: updated env example
* chore: dynamic position dropdown (#2138)
* chore: dynamic position state dropdown for issue view
* style: state select dropdown styling
* fix: state icon attribute names
* chore: state select dynamic dropdown
* chore: member select dynamic dropdown
* chore: label select dynamic dropdown
* chore: priority select dynamic dropdown
* chore: label select dropdown improvement
* refactor: state dropdown location
* chore: dropdown improvement and code refactor
* chore: dynamic dropdown hook type added
---------
Co-authored-by: Aaryan Khandelwal <aaryankhandu123@gmail.com>
* fix: fields not getting selected in the create issue form (#2212)
* fix: hydration error and draft issue workflow
* fix: build error
* fix: properties getting de-selected after create, module & cycle not getting auto-select on the form
* fix: display layout, props being updated directly
* chore: sub issues count in individual issue (#2221)
* Implemented nested issues in the sub issues section in issue detail page (#2233)
* feat: subissues infinte level
* feat: updated UI for sub issues
* feat: subissues new ui and nested sub issues in issue detail
* chore: removed repeated code
* refactor: product updates modal layout (#2225)
* fix: handle no issues in custom analytics (#2226)
* fix: activity label color (#2227)
* fix: profile issues layout switch (#2228)
* fix: issues resolved in sub issues (#2238)
* fix: aws region name (#2234)
* chore: updated docker naming conventions (#2239)
* naming convention changes
* dev: update docker-compose-hub in consistent with docker-compose
* dev: updated docker container name
---------
Co-authored-by: sriram veeraghanta <veeraghanta.sriram@gmail.com>
* chore: added state and priority order in workspace user profile (#2241)
* fix: changed priority from None to none (#2229)
* fix: cycle and module stats when issues are archived (#2185)
* fix: cycle and module stats when issues are archived
* fix: added draft filter
---------
Co-authored-by: NarayanBavisetti <narayan3119@gmail.com>
* feat: quick add (#2240)
* feat: quick add
* style: made text color muted
* chore: added epoch in draft (#2244)
* chore: added epoch in draft
* chore: removed extra spaces
* fix: resolved pending issue graph in analytics, user wishes in dashboard, and typo in projects list (#2247)
* style: settings page improvement (#2211)
* style: settings page improvement
* style: toggle switch styling
---------
Co-authored-by: Anmol Singh Bhatia <asb@Anmols-MacBook-Pro.local>
* chore: changed priority props in workspace and project (#2253)
* fix: bug fix related to fetching dropdown options for the profile issue (#2246)
* fix: sub issue state and member select build error (#2254)
* rename view to layout (#2255)
Co-authored-by: Your Name <you@example.com>
* fix: bug fixes and ui improvement (#2250)
* dev: remove auto filter endpoint
* feat: quick-add placement in spreadsheet and gantt (#2259)
* feat: sticking quick-add at the bottom of the screen
fix: opening create issue modal instead of quick-add in draft-issues, my-issue and profile page
* fix: build error due to dynamic import
* fix: draft issue delete not working (#2249)
* fix: draft issue not deleting, project can't be changed in draft issue modal
* fix: removed mutation for view where draft issues are not shown
* fix: inline create issue for draft issue
* fix: clearing data from localstorage on discard click
* feat: Add peek overview in sub issues and updated UI for empty states. (#2263)
* chore: add tooltip to show full time on activity logs (#2235)
* fix: issue automation iterable error (#2208)
* fix: n+1 queries for cycle list and project member endpoints (#2257)
* [fix] nginx continuously rewriting and reloading on index page of spaces app (#2236)
* chore: shifted index page to /home route
* chore: added rewrite logic, to rewrite index to /home
* chore: routed home to login route as login page
* chore: updated nginx config to route to login
* chore: updated path for home
* dev: migration for 0.13 (#2266)
* dev: updated migrations
* dev: migration for 0.13
* dev: re-split migrations into two different files (#2268)
* dev: split issue activity migration separate files
* dev: resplit migrations into two different files
* dev: changed the batch size
* chore: udpate date filters to support dynamic options
* fix: bugs in quick-add and draft issues (#2269)
* fix: 'Last Drafted Issue' making sidebar look weird on collapsed
* feat: scroll to the bottom when issue is created
* fix: 'Add Issue' button overlapping issue card in spreadsheet view
* fix: wrong placement of quick-add in calender layout
* fix: spacing for issue card in spreadsheet view
* chore: add instructions to contributing guide (#2270)
* chore: add instructions to contributing guide
* dev: update contributing.md to use the new configuration
---------
Co-authored-by: Nikhil <118773738+pablohashescobar@users.noreply.github.com>
* fix: user dashboard greeting timezone (#2267)
* chore: user greeting timezone
* fix: group by labels not working on workspace level
* feat: workspace global view, style: spreadsheet view revamp (#2273)
* chore: workspace view types, services and hooks added
* style: spreadsheet view revamp and code refactor
* feat: workspace view
* fix: build fix
* chore: sidebar workspace issues redirection updated
* style: gantt layout quick-add padding (#2272)
* fix: 'Last Drafted Issue' making sidebar look weird on collapsed
* feat: scroll to the bottom when issue is created
* fix: 'Add Issue' button overlapping issue card in spreadsheet view
* fix: wrong placement of quick-add in calender layout
* fix: spacing for issue card in spreadsheet view
* style: gantt layout quick-add padding
style: removed 'State group' from draft issue
* style: decrese shadow, quick-add position on calender layout, and 'add issue' sticky
* style: button color
* fix: block click happening while moving (#2275)
* dev: refactor date filters to a single function
* chore: handle calendar date range in frontend (#2277)
* chore: gantt chart empty state (#2279)
* chore: gantt empty state
* chore: Add heading to the gantt sidebar
* style: calender quick-add same width as single date (#2280)
* style: calender quick-add same width as single date
* style: margin bottom in quick-add in spreadsheet view
* fix: quick add opening in list-layout
* style: reduced margin left
* chore: updated created at in draft issue (#2278)
* chore: make target dates inclusive when filtering (#2276)
* chore: sort order and issue props for global views (#2283)
* chore: removed project filter (#2284)
* fix: inbox issue deletes (#2290)
* chore: views (#2288)
* chore: global views order by
* chore: update permissions for global views
---------
Co-authored-by: NarayanBavisetti <narayan3119@gmail.com>
* chore: fetch issues from previous and next month in the calendar view (#2282)
* fix: issue activity estimate value bug fix (#2281)
* fix: issue activity estimate value bug fix
* fix: activity typo fix
* fix: ui and bugs (#2289)
* fix: 24 character limit on first & last name in onboarding page
* fix: no option: 'Add Issue' in archive issue page
* fix: in archive issue directly sending to issue detail page
* fix: issue type showing in archive issue
* fix: custom menu overflowing
* fix: changing subscriber in filters has no effect
* style: border in quick-add
* fix: on onboarding member role overflowing
* fix: inconsistent icons in issue detail
* style: spacing, borders and shadows in quick-add
* fix: custom menu truncate
* fix: notifications for created by me and assigned to me (#2292)
* chore: workspace view display filters and properties , code refactor (#2295)
* chore: spreadsheet view context
* chore: spreadsheet context provider
* chore: spreadsheet view context
* chore: display filters and properties added in workspace view and code refactor
* fix: build error fix
* chore: set sub-issue display option to false for global views
---------
Co-authored-by: gurusainath <gurusainath007@gmail.com>
* chore: label create error (#2299)
* chore: global issues ui improvement and bug fixes (#2300)
* chore: workspace view mutation fix ,bug fixes and code refactor (#2301)
* chore: workspace view mutation fix ,bug fixes and code refactor
* chore: update workspace view toast alert added
* chore: workspace view order by removed (#2303)
* dev: updated migrations for 0.13-dev (#2305)
* chore: epoch migration batch size changed
* chore: reoredered the migration files
* dev: updated migrations for 0.13-dev
* chore: added epoch field
* dev: merged the migration files
* fix: workspace view filters count fix (#2307)
* fix: unsplash api fix (#2310)
* fix: workspace view redirection fix, style: spreadsheet view shadow scroll fix (#2314)
* fix: workspace view redirection fix
* style: spreadsheet view scroll shadow fix
* fix: update build workflow for the deploy app (#2315)
* fix: workspace view add issue mutation fix (#2317)
* dev: create action to sync PR changes to the repo (#2333)
* fix: ui package readme added (#2334)
* fix: variable name for token (#2336)
* dev: update add permissions to the action (#2337)
* dev: rename token variables (#2338)
* fix: updated readme fixes (#2339)
* dev: update sync workflow to run only when the source repo is configured (#2346)
* dev: update sync workflow to run only when the source repo is configured
* fix: naming convention changes
---------
Co-authored-by: sriramveeraghanta <veeraghanta.sriram@gmail.com>
* fix: issue relation mutation and draft issue (#2340)
* fix: issue relation mutation and draft issue
* fix: 'New Issue' in gantt view
fix: emoji select going under
* fix: profile page typo
* fix: sync workflow fixes (#2365)
* fix: sync job pr description escaped values fix (#2366)
* Update index.tsx (#2343)
Fixes #2342
* dev: update apiserver configuration files (#2348)
* dev: update apiserver configuration files
* dev: add email and minio redirection urls
* fix: themening validation in store init. (#2350)
* chore: member can change role (#2371)
* chore: removed the issue draft log from my profile (#2368)
* adding sync info in pr title (#2373)
* chore: layout access validation and switch in plane deploy issues route (#2351)
* chore: handled route validation and layout access validation in plane deploy issues
* chore: impoved validation condition
* show current version in the help section dropdown (#2353)
* fix: table menu positioning (#2354)
* fix: handle cross project issues in the sub-issues. (#2357)
* fix: login process validation based on api config (#2361)
* dev: configuration endpoint for frontend client (#2355)
* dev: configuration endpoint for frontend clients
* dev: configuration enable magic and email/password signup
* dev: update unsplash keys
* dev: add unsplash API and add env for magic login
* fix: 404 when redirecting user clicks on Sign In button (#2349)
* fix: 404 when redirecting user to login page
* fix: next_path redirection not working
* fix: authentication workflow update in plane deploy
---------
Co-authored-by: gurusainath <gurusainath007@gmail.com>
* fix: project setting member role validation (#2369)
* fix: project setting member role validation
* chore: opacity removed from member setting page
* chore: member setting page validation
* chore: project covers endpoint (#2370)
* chore: project covers endpoint
* dev: remove print logs
* dev: formatting
---------
Co-authored-by: sriramveeraghanta <veeraghanta.sriram@gmail.com>
* feat: default project cover images tab on the change cover popover (#2375)
* feat: default project cover images tab
* chore: remove unnecessary env vars from turbo.json
* chore: remove unnecessary OAuth envs (#2378)
* chore: remove unnecessary oauth envs
* merge conflicts resolved
* fix: adding new service
---------
Co-authored-by: sriramveeraghanta <veeraghanta.sriram@gmail.com>
* fix: added user store variables in mobx store observable (#2380)
* fix: state group icons (#2381)
* fix: removed default theme setting in the index page (#2382)
* fix: removed default theme setting in the index page
* fix: empty space
* dev: global views and workspace filters store implemented
* sync CE Master to EE Develop
* refactor: create update view modal
* chore: static issue global views
* refactor: remove old code
* refactor: filters select dropdown
* chore: fix calendar layout
* chore: mobx store for new applied filters
* chore: dded search functionality
---------
Co-authored-by: Vamsi Kurama <vamsi.kurama@gmail.com>
Co-authored-by: Nikhil <118773738+pablohashescobar@users.noreply.github.com>
Co-authored-by: sriram veeraghanta <veeraghanta.sriram@gmail.com>
Co-authored-by: Anmol Singh Bhatia <121005188+anmolsinghbhatia@users.noreply.github.com>
Co-authored-by: Dakshesh Jain <65905942+dakshesh14@users.noreply.github.com>
Co-authored-by: Bavisetti Narayan <72156168+NarayanBavisetti@users.noreply.github.com>
Co-authored-by: guru_sainath <gurusainath007@gmail.com>
Co-authored-by: NarayanBavisetti <narayan3119@gmail.com>
Co-authored-by: Anmol Singh Bhatia <asb@Anmols-MacBook-Pro.local>
Co-authored-by: Rhea Jain <65884341+rhea0110@users.noreply.github.com>
Co-authored-by: Your Name <you@example.com>
Co-authored-by: pablohashescobar <nikhilschacko@gmail.com>
Co-authored-by: Henit Chobisa <chobisa.henit@gmail.com>
Co-authored-by: Thomas <git@thomasync.dev>
Co-authored-by: Luis Cruz <55716036+luis-cruzt@users.noreply.github.com>
Co-authored-by: Manish Gupta <manish@mgupta.me>
* fix: Auth fixes and Layout fixes (#2408)
* fix: auth fixes and layout improvements
* fix: layout fixes
* fix: analytics page fixes
* dev: implemented project views using MobX (#2410)
* dev: implemented project views list using mobx
* style: views list UI
* dev: implemented view issues page using mobx
* refactor: project view issues fetching
* chore: plane ui library component and code refactor (#2406)
* chore: swap input component with plane/ui package
* chore: swap textarea component with plane/ui package
* chore: swap button component with plane/ui package
* chore: button component revamp
* fix: button type fix
* chore: secondary button revamp
* chore: button props updated
* chore: swap loader component with plane/ui package
* fix: build error fix
* chore: button component refactor
* chore: code refactor
* chore: swap toggle switch component with plane/ui package
* chore: swap spinner component with plane/ui package
* chore: swap progress bar componenet with plan/ui package
* chore: code refactor
* fix: gitignore fixes
* fix: project card fixes
* chore: ui component revamp (#2415)
* chore: swap tooltip component with plane ui package
* chore: swap linear progress component with plane ui package
* fix: login button fix
* chore: implement new worksapace wrapper for global views (#2412)
* chore: implement new worksapace wrapper for global views pages
* fix: merge conflicts
* fix: merge conflicts
* dev: add remaining layouts to cycle (#2413)
* fix: workspace auth wrapper changes
* chore: project card revamp and refactor (#2416)
* removing dist from ui
* refactor: analytics (#2419)
* refactor: helper functions
* chore: updated all the page headers
* refactor: custom analytics
* refactor: project analytics modal
* refactor: folder structure, remove junk code (#2423)
* refactor: folder structure
* chore: ad order by target date option
* refactor: remove old layout components
* refactor: inbox folder structure
* fix: services fixes
* fix: store imports changes
* fix: services export fixes
* fix: services implementation fixes
* fix: build issue fixes
* fix: react library fixes
* refactor: MobX store folder structure (#2435)
* refactor: store folder structure
* chore: update import statements
* fix: service import errors (#2436)
* fix: service imports
* chore: update service imports in store
* chore: fix remianing service imports
* build fixes
* editor ts config fixes
* fix: turbo and build fixes
* fix: Auth screen loading implementation
* fix: build issues
* fix: turbo settings for ui package
---------
Co-authored-by: gurusainath <gurusainath007@gmail.com>
Co-authored-by: Aaryan Khandelwal <65252264+aaryan610@users.noreply.github.com>
Co-authored-by: Anmol Singh Bhatia <121005188+anmolsinghbhatia@users.noreply.github.com>
Co-authored-by: Dakshesh Jain <65905942+dakshesh14@users.noreply.github.com>
Co-authored-by: Bavisetti Narayan <72156168+NarayanBavisetti@users.noreply.github.com>
Co-authored-by: Aaryan Khandelwal <aaryankhandu123@gmail.com>
Co-authored-by: Vamsi Kurama <vamsi.kurama@gmail.com>
Co-authored-by: Nikhil <118773738+pablohashescobar@users.noreply.github.com>
Co-authored-by: NarayanBavisetti <narayan3119@gmail.com>
Co-authored-by: Anmol Singh Bhatia <asb@Anmols-MacBook-Pro.local>
Co-authored-by: Rhea Jain <65884341+rhea0110@users.noreply.github.com>
Co-authored-by: Your Name <you@example.com>
Co-authored-by: pablohashescobar <nikhilschacko@gmail.com>
Co-authored-by: Henit Chobisa <chobisa.henit@gmail.com>
Co-authored-by: Thomas <git@thomasync.dev>
Co-authored-by: Luis Cruz <55716036+luis-cruzt@users.noreply.github.com>
Co-authored-by: Manish Gupta <manish@mgupta.me>
2023-10-15 18:20:12 +00:00
|
|
|
workspaceLevelToggle
|
|
|
|
/>
|
|
|
|
)}
|
2024-01-10 14:39:45 +00:00
|
|
|
|
2024-01-16 07:16:03 +00:00
|
|
|
{issueCrudState?.update?.toggle && issueCrudState?.update?.issue && (
|
2023-09-21 10:09:45 +00:00
|
|
|
<>
|
2023-09-21 13:42:20 +00:00
|
|
|
<CreateUpdateIssueModal
|
2024-01-16 07:16:03 +00:00
|
|
|
isOpen={issueCrudState?.update?.toggle}
|
2024-01-04 10:59:18 +00:00
|
|
|
onClose={() => {
|
2024-01-16 07:16:03 +00:00
|
|
|
handleIssueCrudState("update", null, null);
|
2024-03-20 14:30:34 +00:00
|
|
|
toggleCreateIssueModal(false);
|
2024-01-16 07:16:03 +00:00
|
|
|
}}
|
|
|
|
data={issueCrudState?.update?.issue ?? undefined}
|
|
|
|
onSubmit={async (_issue: TIssue) => {
|
2024-01-23 11:26:22 +00:00
|
|
|
await subIssueOperations.updateSubIssue(
|
|
|
|
workspaceSlug,
|
|
|
|
projectId,
|
|
|
|
parentIssueId,
|
|
|
|
_issue.id,
|
|
|
|
_issue,
|
|
|
|
issueCrudState?.update?.issue,
|
|
|
|
true
|
|
|
|
);
|
2023-09-21 13:42:20 +00:00
|
|
|
}}
|
|
|
|
/>
|
2023-09-21 10:09:45 +00:00
|
|
|
</>
|
2023-09-21 13:42:20 +00:00
|
|
|
)}
|
2024-01-10 14:39:45 +00:00
|
|
|
|
2024-01-16 07:16:03 +00:00
|
|
|
{issueCrudState?.delete?.toggle &&
|
|
|
|
issueCrudState?.delete?.issue &&
|
|
|
|
issueCrudState.delete.parentIssueId &&
|
|
|
|
issueCrudState.delete.issue.id && (
|
2023-10-20 11:37:46 +00:00
|
|
|
<DeleteIssueModal
|
2024-01-16 07:16:03 +00:00
|
|
|
isOpen={issueCrudState?.delete?.toggle}
|
2023-10-20 11:37:46 +00:00
|
|
|
handleClose={() => {
|
2024-01-16 07:16:03 +00:00
|
|
|
handleIssueCrudState("delete", null, null);
|
2024-03-22 13:07:11 +00:00
|
|
|
toggleDeleteIssueModal(null);
|
2023-12-07 12:03:38 +00:00
|
|
|
}}
|
2024-01-16 07:16:03 +00:00
|
|
|
data={issueCrudState?.delete?.issue as TIssue}
|
|
|
|
onSubmit={async () =>
|
|
|
|
await subIssueOperations.deleteSubIssue(
|
|
|
|
workspaceSlug,
|
|
|
|
projectId,
|
|
|
|
issueCrudState?.delete?.parentIssueId as string,
|
|
|
|
issueCrudState?.delete?.issue?.id as string
|
|
|
|
)
|
|
|
|
}
|
2024-05-23 08:58:11 +00:00
|
|
|
isSubIssue
|
2023-10-20 11:37:46 +00:00
|
|
|
/>
|
|
|
|
)}
|
2023-09-21 13:42:20 +00:00
|
|
|
</>
|
2024-01-16 07:16:03 +00:00
|
|
|
)}
|
2023-09-21 10:09:45 +00:00
|
|
|
</div>
|
|
|
|
);
|
2023-11-02 11:41:33 +00:00
|
|
|
});
|