[WEB-4117] refactor: work item widgets code split (#7078)

* refactor: work item widget code split

* fix: types
This commit is contained in:
Aaryan Khandelwal 2025-05-19 15:20:40 +05:30 committed by GitHub
parent 2a2feaf88e
commit 2d475491e9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
12 changed files with 88 additions and 41 deletions

View file

@ -7,8 +7,8 @@ import {
TIssueCommentReaction,
TIssueLink,
TIssueReaction,
TIssueDetailWidget,
TIssueServiceType,
TWorkItemWidgets,
} from "@plane/types";
// plane web store
import {
@ -70,8 +70,8 @@ export interface IIssueDetail
relationKey: TIssueRelationTypes | null;
issueLinkData: TIssueLink | null;
issueCrudOperationState: TIssueCrudOperationState;
openWidgets: TIssueDetailWidget[];
lastWidgetAction: TIssueDetailWidget | null;
openWidgets: TWorkItemWidgets[];
lastWidgetAction: TWorkItemWidgets | null;
isCreateIssueModalOpen: boolean;
isIssueLinkModalOpen: boolean;
isParentIssueModalOpen: string | null;
@ -95,9 +95,9 @@ export interface IIssueDetail
toggleRelationModal: (issueId: string | null, relationType: TIssueRelationTypes | null) => void;
toggleSubIssuesModal: (value: string | null) => void;
toggleDeleteAttachmentModal: (attachmentId: string | null) => void;
setOpenWidgets: (state: TIssueDetailWidget[]) => void;
setLastWidgetAction: (action: TIssueDetailWidget) => void;
toggleOpenWidget: (state: TIssueDetailWidget) => void;
setOpenWidgets: (state: TWorkItemWidgets[]) => void;
setLastWidgetAction: (action: TWorkItemWidgets) => void;
toggleOpenWidget: (state: TWorkItemWidgets) => void;
setRelationKey: (relationKey: TIssueRelationTypes | null) => void;
setIssueCrudOperationState: (state: TIssueCrudOperationState) => void;
// store
@ -131,8 +131,8 @@ export class IssueDetail implements IIssueDetail {
issue: undefined,
},
};
openWidgets: TIssueDetailWidget[] = ["sub-issues", "links", "attachments"];
lastWidgetAction: TIssueDetailWidget | null = null;
openWidgets: TWorkItemWidgets[] = ["sub-work-items", "links", "attachments"];
lastWidgetAction: TWorkItemWidgets | null = null;
isCreateIssueModalOpen: boolean = false;
isIssueLinkModalOpen: boolean = false;
isParentIssueModalOpen: string | null = null;
@ -238,14 +238,14 @@ export class IssueDetail implements IIssueDetail {
(this.isRelationModalOpen = { issueId, relationType });
toggleSubIssuesModal = (issueId: string | null) => (this.isSubIssuesModalOpen = issueId);
toggleDeleteAttachmentModal = (attachmentId: string | null) => (this.attachmentDeleteModalId = attachmentId);
setOpenWidgets = (state: TIssueDetailWidget[]) => {
setOpenWidgets = (state: TWorkItemWidgets[]) => {
this.openWidgets = state;
if (this.lastWidgetAction) this.lastWidgetAction = null;
};
setLastWidgetAction = (action: TIssueDetailWidget) => {
setLastWidgetAction = (action: TWorkItemWidgets) => {
this.openWidgets = [action];
};
toggleOpenWidget = (state: TIssueDetailWidget) => {
toggleOpenWidget = (state: TWorkItemWidgets) => {
if (this.openWidgets && this.openWidgets.includes(state))
this.openWidgets = this.openWidgets.filter((s) => s !== state);
else this.openWidgets = [state, ...this.openWidgets];