forked from github/plane
06a7bdffd7
* fix: removed parameters `workspace`, `project` & `id` from the patch calls * feat: modified components to work with new pages hooks * feat: modified stores * feat: modified initial component * feat: component implementation changes * feat: store implementation * refactor pages store * feat: updated page store to perform async operations faster * fix: added types for archive and restore pages * feat: implemented archive and restore pages * fix: page creating twice when form submit * feat: updated create-page-modal * feat: updated page form and delete page modal * fix: create page modal not updating isSubmitted prop * feat: list items and list view refactored for pages * feat: refactored project-page-store for inserting computed pagesids * chore: renamed project pages hook * feat: added favourite pages implementation * fix: implemented store for archived pages * fix: project page store for recent pages * fix: issue suggestions breaking pages * fix: issue embeds and suggestions breaking * feat: implemented page store and project page store in page editor * chore: lock file changes * fix: modified page details header to catch mobx updates instead of swr calls * fix: modified usePage hook to fetch page details when reloaded directly on page * fix: fixed deleting pages * fix: removed render on props changed * feat: implemented page store inside page details * fix: role change in pages archives * fix: rerending of pages on tab change * fix: reimplementation of peek overview inside pages * chore: typo fixes * fix: issue suggestion widget selecting wrong issues on click * feat: added labels in pages * fix: deepsource errors fixed * fix: build errors * fix: review comments * fix: removed swr hooks from the `usePage` store hook and refactored `issueEmbed` hook * fix: resolved reviewed comments --------- Co-authored-by: Rahul R <rahulr@Rahuls-MacBook-Pro.local>
63 lines
2.5 KiB
TypeScript
63 lines
2.5 KiB
TypeScript
import { enableStaticRendering } from "mobx-react-lite";
|
|
// root stores
|
|
import { AppRootStore, IAppRootStore } from "./application";
|
|
import { IProjectRootStore, ProjectRootStore } from "./project";
|
|
import { CycleStore, ICycleStore } from "./cycle.store";
|
|
import { IProjectViewStore, ProjectViewStore } from "./project-view.store";
|
|
import { IModuleStore, ModulesStore } from "./module.store";
|
|
import { IUserRootStore, UserRootStore } from "./user";
|
|
import { IWorkspaceRootStore, WorkspaceRootStore } from "./workspace";
|
|
import { IssueRootStore, IIssueRootStore } from "./issue/root.store";
|
|
import { IStateStore, StateStore } from "./state.store";
|
|
import { ILabelRootStore, LabelRootStore } from "./label";
|
|
import { IMemberRootStore, MemberRootStore } from "./member";
|
|
import { IInboxRootStore, InboxRootStore } from "./inbox";
|
|
import { IEstimateStore, EstimateStore } from "./estimate.store";
|
|
import { GlobalViewStore, IGlobalViewStore } from "./global-view.store";
|
|
import { IMentionStore, MentionStore } from "./mention.store";
|
|
import { DashboardStore, IDashboardStore } from "./dashboard.store";
|
|
import { IProjectPageStore, ProjectPageStore } from "./project-page.store";
|
|
|
|
enableStaticRendering(typeof window === "undefined");
|
|
|
|
export class RootStore {
|
|
app: IAppRootStore;
|
|
user: IUserRootStore;
|
|
workspaceRoot: IWorkspaceRootStore;
|
|
projectRoot: IProjectRootStore;
|
|
labelRoot: ILabelRootStore;
|
|
memberRoot: IMemberRootStore;
|
|
inboxRoot: IInboxRootStore;
|
|
cycle: ICycleStore;
|
|
module: IModuleStore;
|
|
projectView: IProjectViewStore;
|
|
globalView: IGlobalViewStore;
|
|
issue: IIssueRootStore;
|
|
state: IStateStore;
|
|
estimate: IEstimateStore;
|
|
mention: IMentionStore;
|
|
dashboard: IDashboardStore;
|
|
projectPages: IProjectPageStore;
|
|
|
|
constructor() {
|
|
this.app = new AppRootStore(this);
|
|
this.user = new UserRootStore(this);
|
|
this.workspaceRoot = new WorkspaceRootStore(this);
|
|
this.projectRoot = new ProjectRootStore(this);
|
|
this.labelRoot = new LabelRootStore(this);
|
|
this.memberRoot = new MemberRootStore(this);
|
|
this.inboxRoot = new InboxRootStore(this);
|
|
// independent stores
|
|
this.cycle = new CycleStore(this);
|
|
this.module = new ModulesStore(this);
|
|
this.projectView = new ProjectViewStore(this);
|
|
this.globalView = new GlobalViewStore(this);
|
|
this.issue = new IssueRootStore(this);
|
|
this.state = new StateStore(this);
|
|
this.estimate = new EstimateStore(this);
|
|
this.mention = new MentionStore(this);
|
|
this.projectPages = new ProjectPageStore(this);
|
|
this.dashboard = new DashboardStore(this);
|
|
}
|
|
}
|