diff --git a/web/core/store/issue/project/issue.store.ts b/web/core/store/issue/project/issue.store.ts index e1b013e4afc..585f5b53a6e 100644 --- a/web/core/store/issue/project/issue.store.ts +++ b/web/core/store/issue/project/issue.store.ts @@ -1,6 +1,13 @@ -import { action, makeObservable, runInAction, } from "mobx"; +import { action, makeObservable, runInAction } from "mobx"; // types -import { TIssue, TLoader, ViewFlags, IssuePaginationOptions, TIssuesResponse, TBulkOperationsPayload } from "@plane/types"; +import { + TIssue, + TLoader, + ViewFlags, + IssuePaginationOptions, + TIssuesResponse, + TBulkOperationsPayload, +} from "@plane/types"; // helpers // base class import { BaseIssuesStore, IBaseIssuesStore } from "../helpers/base-issues.store"; @@ -44,6 +51,7 @@ export class ProjectIssues extends BaseIssuesStore implements IProjectIssues { enableIssueCreation: true, enableInlineEditing: true, }; + router; // filter store issueFilterStore: IProjectIssuesFilter; @@ -59,6 +67,7 @@ export class ProjectIssues extends BaseIssuesStore implements IProjectIssues { }); // filter store this.issueFilterStore = issueFilterStore; + this.router = _rootStore.rootStore.router; } /** @@ -165,6 +174,18 @@ export class ProjectIssues extends BaseIssuesStore implements IProjectIssues { return await this.fetchIssues(workspaceSlug, projectId, loadType, this.paginationOptions, true); }; + /** + * Override inherited create issue, to update list only if user is on current project + * @param workspaceSlug + * @param projectId + * @param data + * @returns + */ + override createIssue = async (workspaceSlug: string, projectId: string, data: Partial) => { + const response = await super.createIssue(workspaceSlug, projectId, data, "", projectId === this.router.projectId); + return response; + }; + // Using aliased names as they cannot be overridden in other stores archiveBulkIssues = this.bulkArchiveIssues; quickAddIssue = this.issueQuickAdd;