Skip to content

Commit 39d5c08

Browse files
anmolsinghbhatialifeiscontent
authored andcommitted
[WEB-3704] chore: work item store optimization and code refactor (#6846)
* chore: work item store optimization and code refactor * chore: code refactor
1 parent 101e059 commit 39d5c08

File tree

2 files changed

+18
-15
lines changed

2 files changed

+18
-15
lines changed

web/core/components/issues/sub-issues/issues-list.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ export const IssueList: FC<IIssueList> = observer((props) => {
4040
// hooks
4141
const {
4242
subIssues: { subIssuesByIssueId },
43-
} = useIssueDetail();
43+
} = useIssueDetail(issueServiceType);
4444

4545
const subIssueIds = subIssuesByIssueId(parentIssueId);
4646

web/core/store/issue/issue-details/issue.store.ts

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -301,6 +301,9 @@ export class IssueStore implements IIssueStore {
301301
const issueIdentifier = `${project_identifier}-${sequence_id}`;
302302
const issueId = issue?.id;
303303
const projectId = issue?.project_id;
304+
const rootWorkItemDetailStore = issue?.is_epic
305+
? this.rootIssueDetailStore.rootIssueStore.epicDetail
306+
: this.rootIssueDetailStore.rootIssueStore.issueDetail;
304307

305308
if (!issue || !projectId || !issueId) throw new Error("Issue not found");
306309

@@ -315,41 +318,41 @@ export class IssueStore implements IIssueStore {
315318
}
316319

317320
// add identifiers to map
318-
this.rootIssueDetailStore.rootIssueStore.issues.addIssueIdentifier(issueIdentifier, issueId);
321+
rootWorkItemDetailStore.rootIssueStore.issues.addIssueIdentifier(issueIdentifier, issueId);
319322

320323
// add related data
321-
if (issue.issue_reactions) this.rootIssueDetailStore.addReactions(issue.id, issue.issue_reactions);
322-
if (issue.issue_link) this.rootIssueDetailStore.addLinks(issue.id, issue.issue_link);
323-
if (issue.issue_attachments) this.rootIssueDetailStore.addAttachments(issue.id, issue.issue_attachments);
324-
this.rootIssueDetailStore.addSubscription(issue.id, issue.is_subscribed);
324+
if (issue.issue_reactions) rootWorkItemDetailStore.addReactions(issue.id, issue.issue_reactions);
325+
if (issue.issue_link) rootWorkItemDetailStore.addLinks(issue.id, issue.issue_link);
326+
if (issue.issue_attachments) rootWorkItemDetailStore.addAttachments(issue.id, issue.issue_attachments);
327+
rootWorkItemDetailStore.addSubscription(issue.id, issue.is_subscribed);
325328

326329
// fetch related data
327330
// issue reactions
328-
if (issue.issue_reactions) this.rootIssueDetailStore.addReactions(issueId, issue.issue_reactions);
331+
if (issue.issue_reactions) rootWorkItemDetailStore.addReactions(issueId, issue.issue_reactions);
329332

330333
// fetch issue links
331-
if (issue.issue_link) this.rootIssueDetailStore.addLinks(issueId, issue.issue_link);
334+
if (issue.issue_link) rootWorkItemDetailStore.addLinks(issueId, issue.issue_link);
332335

333336
// fetch issue attachments
334-
if (issue.issue_attachments) this.rootIssueDetailStore.addAttachments(issueId, issue.issue_attachments);
337+
if (issue.issue_attachments) rootWorkItemDetailStore.addAttachments(issueId, issue.issue_attachments);
335338

336-
this.rootIssueDetailStore.addSubscription(issueId, issue.is_subscribed);
339+
rootWorkItemDetailStore.addSubscription(issueId, issue.is_subscribed);
337340

338341
// fetch issue activity
339-
this.rootIssueDetailStore.activity.fetchActivities(workspaceSlug, projectId, issueId);
342+
rootWorkItemDetailStore.activity.fetchActivities(workspaceSlug, projectId, issueId);
340343

341344
// fetch issue comments
342-
this.rootIssueDetailStore.comment.fetchComments(workspaceSlug, projectId, issueId);
345+
rootWorkItemDetailStore.comment.fetchComments(workspaceSlug, projectId, issueId);
343346

344347
// fetch sub issues
345-
this.rootIssueDetailStore.subIssues.fetchSubIssues(workspaceSlug, projectId, issueId);
348+
rootWorkItemDetailStore.subIssues.fetchSubIssues(workspaceSlug, projectId, issueId);
346349

347350
// fetch issue relations
348-
this.rootIssueDetailStore.relation.fetchRelations(workspaceSlug, projectId, issueId);
351+
rootWorkItemDetailStore.relation.fetchRelations(workspaceSlug, projectId, issueId);
349352

350353
// fetching states
351354
// TODO: check if this function is required
352-
this.rootIssueDetailStore.rootIssueStore.rootStore.state.fetchProjectStates(workspaceSlug, projectId);
355+
rootWorkItemDetailStore.rootIssueStore.rootStore.state.fetchProjectStates(workspaceSlug, projectId);
353356

354357
return issue;
355358
};

0 commit comments

Comments
 (0)