import { enableStaticRendering } from "mobx-react-lite"; // store imports import { InstanceStore, IInstanceStore } from "./instance"; import AppConfigStore, { IAppConfigStore } from "./app-config.store"; import CommandPaletteStore, { ICommandPaletteStore } from "./command-palette.store"; import UserStore, { IUserStore } from "store/user.store"; import ThemeStore, { IThemeStore } from "store/theme.store"; import { DraftIssuesStore, IIssueDetailStore, IIssueFilterStore, IIssueKanBanViewStore, IIssueStore, IssueDetailStore, IssueFilterStore, IssueKanBanViewStore, IIssueCalendarViewStore, IssueCalendarViewStore, IssueStore, IIssueQuickAddStore, IssueQuickAddStore, } from "store/issue"; import { IWorkspaceFilterStore, IWorkspaceStore, WorkspaceFilterStore, WorkspaceStore, WorkspaceMemberStore, IWorkspaceMemberStore, } from "store/workspace"; import { IProjectPublishStore, IProjectStore, ProjectPublishStore, ProjectStore, IProjectStateStore, ProjectStateStore, IProjectLabelStore, ProjectLabelStore, ProjectEstimatesStore, IProjectEstimateStore, ProjectMemberStore, IProjectMemberStore, } from "store/project"; import { IModuleFilterStore, IModuleIssueKanBanViewStore, IModuleIssueStore, IModuleStore, ModuleFilterStore, ModuleIssueKanBanViewStore, ModuleIssueStore, IModuleIssueCalendarViewStore, ModuleIssueCalendarViewStore, ModuleStore, } from "store/module"; import { CycleIssueFilterStore, CycleIssueKanBanViewStore, CycleIssueStore, CycleStore, ICycleIssueFilterStore, ICycleIssueKanBanViewStore, ICycleIssueCalendarViewStore, CycleIssueCalendarViewStore, ICycleIssueStore, ICycleStore, } from "store/cycle"; import { IProjectViewFiltersStore, IProjectViewIssuesStore, IProjectViewsStore, ProjectViewFiltersStore, ProjectViewIssuesStore, ProjectViewsStore, IProjectViewIssueCalendarViewStore, ProjectViewIssueCalendarViewStore, } from "store/project-view"; import CalendarStore, { ICalendarStore } from "store/calendar.store"; import { GlobalViewFiltersStore, GlobalViewIssuesStore, GlobalViewsStore, IGlobalViewFiltersStore, IGlobalViewIssuesStore, IGlobalViewsStore, } from "store/global-view"; import { ProfileIssueStore, IProfileIssueStore, ProfileIssueFilterStore, IProfileIssueFilterStore, } from "store/profile-issues"; import { ArchivedIssueStore, IArchivedIssueStore, ArchivedIssueFilterStore, IArchivedIssueFilterStore, ArchivedIssueDetailStore, IArchivedIssueDetailStore, } from "store/archived-issues"; import { DraftIssueStore, IDraftIssueStore, DraftIssueFilterStore, IDraftIssueFilterStore } from "store/draft-issues"; import { IInboxFiltersStore, IInboxIssueDetailsStore, IInboxIssuesStore, IInboxStore, InboxFiltersStore, InboxIssueDetailsStore, InboxIssuesStore, InboxStore, } from "store/inbox"; import { IWebhookStore, WebhookStore } from "./webhook.store"; import { // global IIssuesFilterStore, IssuesFilterStore, // project issues IProjectIssuesStore, ProjectIssuesStore, // project issues filter IProjectIssuesFilterStore, ProjectIssuesFilterStore, // module issues IModuleIssuesStore, ModuleIssuesStore, // module issues filter IModuleIssuesFilterStore, ModuleIssuesFilterStore, // cycle issues ICycleIssuesStore, CycleIssuesStore, // cycle issues filter ICycleIssuesFilterStore, CycleIssuesFilterStore, // project view issues IViewIssuesStore, ViewIssuesStore, // project view issues filter IViewIssuesFilterStore, ViewIssuesFilterStore, // archived issues IProjectArchivedIssuesStore, ProjectArchivedIssuesStore, // archived issues filter IProjectArchivedIssuesFilterStore, ProjectArchivedIssuesFilterStore, // draft issues IProjectDraftIssuesStore, ProjectDraftIssuesStore, // draft issues filter IProjectDraftIssuesFilterStore, ProjectDraftIssuesFilterStore, // profile issues IProfileIssuesStore, ProfileIssuesStore, // profile issues filter IProfileIssuesFilterStore, ProfileIssuesFilterStore, // global issues IGlobalIssuesStore, GlobalIssuesStore, // global issues filter IGlobalIssuesFilterStore, GlobalIssuesFilterStore, // helpers ICalendarHelpers, CalendarHelpers, IKanBanHelpers, KanBanHelpers, } from "store/issues"; import { CycleIssueFiltersStore, ICycleIssueFiltersStore } from "store/cycle-issues"; import { ModuleIssueFiltersStore, IModuleIssueFiltersStore } from "store/module-issues"; import { IMentionsStore, MentionsStore } from "store/editor"; // pages import { PageStore, IPageStore } from "store/page.store"; // event tracking import { TrackEventStore, ITrackEventStore } from "./event-tracker.store"; enableStaticRendering(typeof window === "undefined"); export class RootStore { instance: IInstanceStore; user: IUserStore; theme: IThemeStore; appConfig: IAppConfigStore; commandPalette: ICommandPaletteStore; workspace: IWorkspaceStore; workspaceFilter: IWorkspaceFilterStore; workspaceMember: IWorkspaceMemberStore; projectPublish: IProjectPublishStore; project: IProjectStore; projectState: IProjectStateStore; projectLabel: IProjectLabelStore; projectEstimates: IProjectEstimateStore; projectMember: IProjectMemberStore; issue: IIssueStore; module: IModuleStore; moduleIssue: IModuleIssueStore; moduleFilter: IModuleFilterStore; moduleIssueKanBanView: IModuleIssueKanBanViewStore; moduleIssueCalendarView: IModuleIssueCalendarViewStore; cycle: ICycleStore; cycleIssue: ICycleIssueStore; cycleIssueFilter: ICycleIssueFilterStore; cycleIssueKanBanView: ICycleIssueKanBanViewStore; cycleIssueCalendarView: ICycleIssueCalendarViewStore; projectViews: IProjectViewsStore; projectViewIssues: IProjectViewIssuesStore; projectViewFilters: IProjectViewFiltersStore; projectViewIssueCalendarView: IProjectViewIssueCalendarViewStore; issueFilter: IIssueFilterStore; issueDetail: IIssueDetailStore; issueKanBanView: IIssueKanBanViewStore; issueCalendarView: IIssueCalendarViewStore; draftIssuesStore: DraftIssuesStore; quickAddIssue: IIssueQuickAddStore; calendar: ICalendarStore; globalViews: IGlobalViewsStore; globalViewIssues: IGlobalViewIssuesStore; globalViewFilters: IGlobalViewFiltersStore; profileIssues: IProfileIssueStore; profileIssueFilters: IProfileIssueFilterStore; archivedIssues: IArchivedIssueStore; archivedIssueDetail: IArchivedIssueDetailStore; archivedIssueFilters: IArchivedIssueFilterStore; draftIssues: IDraftIssueStore; draftIssueFilters: IDraftIssueFilterStore; inbox: IInboxStore; inboxIssues: IInboxIssuesStore; inboxIssueDetails: IInboxIssueDetailsStore; inboxFilters: IInboxFiltersStore; webhook: IWebhookStore; mentionsStore: IMentionsStore; // project v3 issue and issue-filters starts issuesFilter: IIssuesFilterStore; projectIssues: IProjectIssuesStore; projectIssuesFilter: IProjectIssuesFilterStore; moduleIssues: IModuleIssuesStore; moduleIssuesFilter: IModuleIssuesFilterStore; cycleIssues: ICycleIssuesStore; cycleIssuesFilter: ICycleIssuesFilterStore; viewIssues: IViewIssuesStore; viewIssuesFilter: IViewIssuesFilterStore; projectArchivedIssues: IProjectArchivedIssuesStore; projectArchivedIssuesFilter: IProjectArchivedIssuesFilterStore; projectDraftIssues: IProjectDraftIssuesStore; projectDraftIssuesFilter: IProjectDraftIssuesFilterStore; workspaceProfileIssues: IProfileIssuesStore; workspaceProfileIssuesFilter: IProfileIssuesFilterStore; workspaceGlobalIssues: IGlobalIssuesStore; workspaceGlobalIssuesFilter: IGlobalIssuesFilterStore; calendarHelpers: ICalendarHelpers; kanBanHelpers: IKanBanHelpers; // project v3 issue and issue-filters ends cycleIssueFilters: ICycleIssueFiltersStore; moduleIssueFilters: IModuleIssueFiltersStore; page: IPageStore; trackEvent: ITrackEventStore; constructor() { this.instance = new InstanceStore(this); this.appConfig = new AppConfigStore(this); this.commandPalette = new CommandPaletteStore(this); this.user = new UserStore(this); this.theme = new ThemeStore(this); this.workspace = new WorkspaceStore(this); this.workspaceFilter = new WorkspaceFilterStore(this); this.workspaceMember = new WorkspaceMemberStore(this); this.project = new ProjectStore(this); this.projectState = new ProjectStateStore(this); this.projectLabel = new ProjectLabelStore(this); this.projectEstimates = new ProjectEstimatesStore(this); this.projectPublish = new ProjectPublishStore(this); this.projectMember = new ProjectMemberStore(this); this.module = new ModuleStore(this); this.moduleIssue = new ModuleIssueStore(this); this.moduleFilter = new ModuleFilterStore(this); this.moduleIssueKanBanView = new ModuleIssueKanBanViewStore(this); this.moduleIssueCalendarView = new ModuleIssueCalendarViewStore(this); this.cycle = new CycleStore(this); this.cycleIssue = new CycleIssueStore(this); this.cycleIssueFilter = new CycleIssueFilterStore(this); this.cycleIssueKanBanView = new CycleIssueKanBanViewStore(this); this.cycleIssueCalendarView = new CycleIssueCalendarViewStore(this); this.projectViews = new ProjectViewsStore(this); this.projectViewIssues = new ProjectViewIssuesStore(this); this.projectViewFilters = new ProjectViewFiltersStore(this); this.projectViewIssueCalendarView = new ProjectViewIssueCalendarViewStore(this); this.issue = new IssueStore(this); this.issueFilter = new IssueFilterStore(this); this.issueDetail = new IssueDetailStore(this); this.issueKanBanView = new IssueKanBanViewStore(this); this.issueCalendarView = new IssueCalendarViewStore(this); this.draftIssuesStore = new DraftIssuesStore(this); this.quickAddIssue = new IssueQuickAddStore(this); this.calendar = new CalendarStore(this); this.globalViews = new GlobalViewsStore(this); this.globalViewIssues = new GlobalViewIssuesStore(this); this.globalViewFilters = new GlobalViewFiltersStore(this); this.profileIssues = new ProfileIssueStore(this); this.profileIssueFilters = new ProfileIssueFilterStore(this); this.archivedIssues = new ArchivedIssueStore(this); this.archivedIssueDetail = new ArchivedIssueDetailStore(this); this.archivedIssueFilters = new ArchivedIssueFilterStore(this); this.draftIssues = new DraftIssueStore(this); this.draftIssueFilters = new DraftIssueFilterStore(this); this.inbox = new InboxStore(this); this.inboxIssues = new InboxIssuesStore(this); this.inboxIssueDetails = new InboxIssueDetailsStore(this); this.inboxFilters = new InboxFiltersStore(this); this.webhook = new WebhookStore(this); this.mentionsStore = new MentionsStore(this); // project v3 issue and issue-filters starts this.issuesFilter = new IssuesFilterStore(this); this.projectIssues = new ProjectIssuesStore(this); this.projectIssuesFilter = new ProjectIssuesFilterStore(this); this.moduleIssues = new ModuleIssuesStore(this); this.moduleIssuesFilter = new ModuleIssuesFilterStore(this); this.cycleIssues = new CycleIssuesStore(this); this.cycleIssuesFilter = new CycleIssuesFilterStore(this); this.viewIssues = new ViewIssuesStore(this); this.viewIssuesFilter = new ViewIssuesFilterStore(this); this.projectArchivedIssues = new ProjectArchivedIssuesStore(this); this.projectArchivedIssuesFilter = new ProjectArchivedIssuesFilterStore(this); this.projectDraftIssues = new ProjectDraftIssuesStore(this); this.projectDraftIssuesFilter = new ProjectDraftIssuesFilterStore(this); this.workspaceProfileIssues = new ProfileIssuesStore(this); this.workspaceProfileIssuesFilter = new ProfileIssuesFilterStore(this); this.workspaceGlobalIssues = new GlobalIssuesStore(this); this.workspaceGlobalIssuesFilter = new GlobalIssuesFilterStore(this); this.calendarHelpers = new CalendarHelpers(); this.kanBanHelpers = new KanBanHelpers(); // project v3 issue and issue-filters ends this.cycleIssueFilters = new CycleIssueFiltersStore(this); this.moduleIssueFilters = new ModuleIssueFiltersStore(this); this.page = new PageStore(this); this.trackEvent = new TrackEventStore(this); } }