chore: bug fixes and improvement (#3303)
* refactor: updated preloaded function for the list view quick add * fix: resolved bug in the assignee dropdown * chore: issue sidebar link improvement * fix: resolved subscription store bug * chore: updated preloaded function for the kanban layout quick add * chore: resolved issues in the list filters and component * chore: filter store updated * fix: issue serializer changed * chore: quick add preload function updated * fix: build error * fix: serializer changed * fix: minor request change * chore: resolved build issues and updated the prepopulated data in the quick add issue. * fix: build fix and code refactor * fix: spreadsheet layout quick add fix * fix: issue peek overview link section updated * fix: cycle status bug fix * fix: serializer changes * fix: assignee and labels listing * chore: issue modal parent_id default value updated * fix: cycle and module issue serializer change * fix: cycle list serializer changed * chore: prepopulated validation in both list and kanban for quick add and group header add issues * chore: group header validation added * fix: issue response payload change * dev: make cycle and module issue create response simillar * chore: custom control link component added * dev: make issue create and update response simillar to list and retrieve * fix: build error * chore: control link component improvement * chore: globalise issue peek overview * chore: control link component improvement * chore: made changes and optimised the issue peek overview root * build-error: resolved build erros for issueId dependancy from issue detail store * chore: peek overview link fix * dev: update state nullable rule --------- Co-authored-by: gurusainath <gurusainath007@gmail.com> Co-authored-by: NarayanBavisetti <narayan3119@gmail.com> Co-authored-by: pablohashescobar <nikhilschacko@gmail.com>
This commit is contained in:
parent
266f14d550
commit
efd3ebf067
65 changed files with 630 additions and 1565 deletions
|
|
@ -30,8 +30,8 @@ const defaultValues: Partial<TIssue> = {
|
|||
state_id: "",
|
||||
priority: "low",
|
||||
target_date: new Date().toString(),
|
||||
issue_cycle: null,
|
||||
issue_module: null,
|
||||
cycle_id: null,
|
||||
module_id: null,
|
||||
};
|
||||
|
||||
// services
|
||||
|
|
|
|||
|
|
@ -26,8 +26,8 @@ const defaultValues: Partial<TIssue> = {
|
|||
// description: "",
|
||||
description_html: "",
|
||||
estimate_point: null,
|
||||
issue_cycle: null,
|
||||
issue_module: null,
|
||||
cycle_id: null,
|
||||
module_id: null,
|
||||
name: "",
|
||||
priority: "low",
|
||||
start_date: undefined,
|
||||
|
|
@ -43,7 +43,7 @@ const IssueDetailsPage: NextPageWithLayout = observer(() => {
|
|||
const router = useRouter();
|
||||
const { workspaceSlug, projectId, issueId: routeIssueId } = router.query;
|
||||
|
||||
const { issueId, fetchIssue } = useIssueDetail();
|
||||
const { peekIssue, fetchIssue } = useIssueDetail();
|
||||
useEffect(() => {
|
||||
if (!workspaceSlug || !projectId || !routeIssueId) return;
|
||||
fetchIssue(workspaceSlug as string, projectId as string, routeIssueId as string);
|
||||
|
|
@ -54,9 +54,9 @@ const IssueDetailsPage: NextPageWithLayout = observer(() => {
|
|||
mutate: mutateIssueDetails,
|
||||
error,
|
||||
} = useSWR(
|
||||
workspaceSlug && projectId && issueId ? ISSUE_DETAILS(issueId as string) : null,
|
||||
workspaceSlug && projectId && issueId
|
||||
? () => issueService.retrieve(workspaceSlug as string, projectId as string, issueId as string)
|
||||
workspaceSlug && projectId && peekIssue?.issueId ? ISSUE_DETAILS(peekIssue?.issueId as string) : null,
|
||||
workspaceSlug && projectId && peekIssue?.issueId
|
||||
? () => issueService.retrieve(workspaceSlug as string, projectId as string, peekIssue?.issueId as string)
|
||||
: null
|
||||
);
|
||||
|
||||
|
|
@ -66,10 +66,10 @@ const IssueDetailsPage: NextPageWithLayout = observer(() => {
|
|||
|
||||
const submitChanges = useCallback(
|
||||
async (formData: Partial<TIssue>) => {
|
||||
if (!workspaceSlug || !projectId || !issueId) return;
|
||||
if (!workspaceSlug || !projectId || !peekIssue?.issueId) return;
|
||||
|
||||
mutate<TIssue>(
|
||||
ISSUE_DETAILS(issueId as string),
|
||||
ISSUE_DETAILS(peekIssue?.issueId as string),
|
||||
(prevData) => {
|
||||
if (!prevData) return prevData;
|
||||
|
||||
|
|
@ -85,30 +85,30 @@ const IssueDetailsPage: NextPageWithLayout = observer(() => {
|
|||
...formData,
|
||||
};
|
||||
|
||||
delete payload.related_issues;
|
||||
delete payload.issue_relations;
|
||||
// delete payload.related_issues;
|
||||
// delete payload.issue_relations;
|
||||
|
||||
await issueService
|
||||
.patchIssue(workspaceSlug as string, projectId as string, issueId as string, payload)
|
||||
.patchIssue(workspaceSlug as string, projectId as string, peekIssue?.issueId as string, payload)
|
||||
.then(() => {
|
||||
mutateIssueDetails();
|
||||
mutate(PROJECT_ISSUES_ACTIVITY(issueId as string));
|
||||
mutate(PROJECT_ISSUES_ACTIVITY(peekIssue?.issueId as string));
|
||||
})
|
||||
.catch((e) => {
|
||||
console.error(e);
|
||||
});
|
||||
},
|
||||
[workspaceSlug, issueId, projectId, mutateIssueDetails]
|
||||
[workspaceSlug, peekIssue?.issueId, projectId, mutateIssueDetails]
|
||||
);
|
||||
|
||||
useEffect(() => {
|
||||
if (!issueDetails) return;
|
||||
|
||||
mutate(PROJECT_ISSUES_ACTIVITY(issueId as string));
|
||||
mutate(PROJECT_ISSUES_ACTIVITY(peekIssue?.issueId as string));
|
||||
reset({
|
||||
...issueDetails,
|
||||
});
|
||||
}, [issueDetails, reset, issueId]);
|
||||
}, [issueDetails, reset, peekIssue?.issueId]);
|
||||
|
||||
return (
|
||||
<>
|
||||
|
|
@ -123,7 +123,7 @@ const IssueDetailsPage: NextPageWithLayout = observer(() => {
|
|||
onClick: () => router.push(`/${workspaceSlug}/projects/${projectId}/issues`),
|
||||
}}
|
||||
/>
|
||||
) : issueDetails && projectId && issueId ? (
|
||||
) : issueDetails && projectId && peekIssue?.issueId ? (
|
||||
<div className="flex h-full overflow-hidden">
|
||||
<div className="h-full w-2/3 space-y-5 divide-y-2 divide-custom-border-300 overflow-y-auto p-5">
|
||||
<IssueMainContent issueDetails={issueDetails} submitChanges={submitChanges} />
|
||||
|
|
|
|||
|
|
@ -18,7 +18,6 @@ import { AppLayout } from "layouts/app-layout";
|
|||
// components
|
||||
import { GptAssistantPopover } from "components/core";
|
||||
import { PageDetailsHeader } from "components/headers/page-details";
|
||||
import { IssuePeekOverview } from "components/issues/peek-overview";
|
||||
import { EmptyState } from "components/common";
|
||||
// ui
|
||||
import { DocumentEditorWithRef, DocumentReadOnlyEditorWithRef } from "@plane/document-editor";
|
||||
|
|
@ -49,7 +48,7 @@ const PageDetailsPage: NextPageWithLayout = observer(() => {
|
|||
const editorRef = useRef<any>(null);
|
||||
// router
|
||||
const router = useRouter();
|
||||
const { workspaceSlug, projectId, pageId, peekIssueId } = router.query;
|
||||
const { workspaceSlug, projectId, pageId } = router.query;
|
||||
// store hooks
|
||||
const {
|
||||
issues: { updateIssue },
|
||||
|
|
@ -108,12 +107,6 @@ const PageDetailsPage: NextPageWithLayout = observer(() => {
|
|||
}
|
||||
);
|
||||
|
||||
const handleUpdateIssue = (issueId: string, data: Partial<TIssue>) => {
|
||||
if (!workspaceSlug || !projectId || !currentUser) return;
|
||||
|
||||
updateIssue(workspaceSlug.toString(), projectId.toString(), issueId, data);
|
||||
};
|
||||
|
||||
const fetchIssue = async (issueId: string) => {
|
||||
const issue = await issueService.retrieve(workspaceSlug as string, projectId as string, issueId as string);
|
||||
return issue as TIssue;
|
||||
|
|
@ -523,17 +516,6 @@ const PageDetailsPage: NextPageWithLayout = observer(() => {
|
|||
)}
|
||||
</div>
|
||||
)}
|
||||
<IssuePeekOverview
|
||||
workspaceSlug={workspaceSlug as string}
|
||||
projectId={projectId as string}
|
||||
issueId={peekIssueId ? (peekIssueId as string) : ""}
|
||||
isArchived={false}
|
||||
handleIssue={(issueToUpdate) => {
|
||||
if (peekIssueId && typeof peekIssueId === "string") {
|
||||
handleUpdateIssue(peekIssueId, issueToUpdate);
|
||||
}
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
) : (
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue