mirror of
https://github.com/makeplane/plane
synced 2024-06-14 14:31:34 +00:00
d6abb87a3a
* fix: Implemented new workflow in the issue store and updated the quick add workflow in list layout * fix: initial load and mutaion of issues in list layout * dev: implemented the new project issues store with grouped, subGrouped and unGrouped issue computed functions * dev: default display properties data made as a function * conflict: merge conflict resolved * dev: implemented quick add logic in kanban * chore: implemented quick add logic in calendar and spreadsheet layout * fix: spreadsheet layout quick add fix * dev: optimised the issues workflow and handled the issues order_by filter * dev: project issue CRUD operations in new issue store architecture * dev: issues filtering in calendar layout * fix: build error * dev/issue_filters_store * chore: updated filters computed structure * conflict: merge conflicts resolved in project issues * dev: implemented gantt chart for project issues using the new mobx store * dev: initialized cycle and module issue filters store * dev: issue store and list layout store updates * dev: quick add and update, delete issue in the list * refactor list root changes * dev: store new structure * refactor spreadsheet and gnatt project roots * fix errors for base gantt and spreadsheet roots * connect Calendar project view * minor house keeping * connect Kanban View to th enew store * generalise base calendar issue actions * dev: store project issues and issue filters * dev: store project issues and filters * dev: updated undefined with displayFilters in project issue store * Add Quick add to all the layouts * connect module views to store * dev: Rendering list issues in project issues * dev: removed console log * dev: module filters store * fix errors and connect modules list and quick add for list * dev: module issue store * dev: modle filter store issue fixed and updates cycle issue filters * minor house keeping changes * dev: cycle issues and cycle filters * connecty cycles to teh store * dev: project view issues and issue filtrs * connect project views * dev: updated applied filters in layouts * dev: replaced project id with view id in project views * dev: in cycle and module store made cycledId and moduleId as optional * fix minor issues and build errots * dev: project draft and archived issues store and filters --------- Co-authored-by: Anmol Singh Bhatia <anmolsinghbhatia@plane.so> Co-authored-by: Aaryan Khandelwal <aaryankhandu123@gmail.com> Co-authored-by: rahulramesha <rahulramesham@gmail.com>
362 lines
11 KiB
TypeScript
362 lines
11 KiB
TypeScript
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,
|
|
} 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";
|
|
|
|
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;
|
|
// project v3 issue and issue-filters ends
|
|
|
|
cycleIssueFilters: ICycleIssueFiltersStore;
|
|
moduleIssueFilters: IModuleIssueFiltersStore;
|
|
|
|
page: IPageStore;
|
|
|
|
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);
|
|
// project v3 issue and issue-filters ends
|
|
|
|
this.cycleIssueFilters = new CycleIssueFiltersStore(this);
|
|
|
|
this.moduleIssueFilters = new ModuleIssueFiltersStore(this);
|
|
|
|
this.page = new PageStore(this);
|
|
}
|
|
}
|