forked from github/plane
de581102e3
* fix: page transaction model * fix: page transaction model * feat: updated ui for page route * chore: initailized `document-editor` package for plane * fix: format persistence while pasting markdown in editor * feat: Inititalized Document-Editor and Editor with Ref * feat: added tooltip component and slash command for editor * feat: added `document-editor` extensions * feat: added custom search component for embedding labels * feat: added top bar menu component * feat: created document-editor exposed components * feat: integrated `document-editor` in `pages` route * chore: updated dependencies * feat: merge conflict resolution * chore: modified configuration for document editor * feat: added content browser menu for document editor summary * feat: added fixed menu and editor instances * feat: added document edittor instances and summary table * feat: implemented document-editor in PageDetail * chore: css and export fixes * fix: migration and optimisation * fix: added `on_create` hook in the core editor * feat: added conditional menu bar action in document-editor * feat: added menu actions from single page view * feat: added services for archiving, unarchiving and retriving archived pages * feat: added services for page archives * feat: implemented page archives in page list view * feat: implemented page archives in document-editor * feat: added editor marking hook * chore: seperated editor header from the main content * chore: seperated editor summary utilities from the main editor * chore: refactored necessary components from the document editor * chore: removed summary sidebar component from the main content editor * chore: removed scrollSummaryDependency from Header and Sidebar * feat: seperated page renderer as a seperate component * chore: seperated page_renderer and sidebar as component from index * feat: added locked property to IPage type * feat: added lock/unlock services in page service * chore: seperated DocumentDetails as exported interface from index * feat: seperated document editor configs as seperate interfaces * chore: seperated menu options from the editor header component * fix: fixed page_lock performing lock/unlock operation on queryset instead of single instance * fix: css positioning changes * feat: added archive/lock alert labels * feat: added boolean props in menu-actions/options * feat: added lock/unlock & archive/unarchive services * feat: added on update mutations for archived pages in page-view * feat: added archive/lock on_update mutations in single page vieq * feat: exported readonly editor for locked pages * chore: seperated kanban menu props and saved over passing redundant data * fix: readonly editor not generating markings on first render * fix: cheveron overflowing from editor-header * chore: removed unused utility actions * fix: enabled sidebar view by default * feat: removed locking on pages in archived state * feat: added indentation in heading component * fix: button classnames in vertical dropdowns * feat: added `last_archived_at` and `last_edited_at` details in editor-header * feat: changed types for archived updates and document last updates * feat: updated editor and header props * feat: updated queryset according to new page query format * feat: added parameters in page view for shared / private pages * feat: updated other-page-view to shared page view && same with private pages * feat: added page-view as shared / private * fix: replaced deleting to archiving for pages * feat: handle restoring of page from archived section from list view * feat: made previledge based option render for pages * feat: removed layout view for page list view * feat: linting changes * fix: adding mobx changes to pages * fix: removed uneccessary migrations * fix: mobx store changes * fix: adding date-fns pacakge * fix: updating yarn lock * fix: removing unneccessary method params * chore: added access specifier to the create/update page modal * fix: tab view layout changes * chore: delete endpoint for page * fix: page actions, including- archive, favorite, access control, delete * chore: remove archive page modal * fix: build errors --------- Co-authored-by: NarayanBavisetti <narayan3119@gmail.com> Co-authored-by: sriramveeraghanta <veeraghanta.sriram@gmail.com> Co-authored-by: Aaryan Khandelwal <aaryankhandu123@gmail.com>
265 lines
8.0 KiB
TypeScript
265 lines
8.0 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 { 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;
|
|
|
|
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);
|
|
|
|
this.page = new PageStore(this);
|
|
}
|
|
}
|