mirror of
https://github.com/makeplane/plane
synced 2024-06-14 14:31:34 +00:00
f79bd9df60
* dev: draft and archived issue store * connect draft and archived issues * kanban for draft issues * fix filter store for calendar and kanban * dev: profile issues store and draft issues filters in header * disble issue creation for draft issues * dev: profile issues store filters * disable kanban properties in draft issues * dev: profile issues store filters * dev: seperated adding issues to the cycle and module as seperate methds in cycle and module store * dev: workspace profile issues store * dev: sub group issues in the swimlanes * profile issues and create issue connection * fix profile issues * fix spreadsheet issues * fix dissapearing project from create issue modal * page level modifications * fix additional bugs * dev: issues profile and global iisues and filters update * fix issue related bugs * fix project views for list and kanban * fix build errors --------- Co-authored-by: rahulramesha <rahulramesham@gmail.com>
183 lines
5.3 KiB
TypeScript
183 lines
5.3 KiB
TypeScript
import { observable, action, makeObservable } from "mobx";
|
|
// types
|
|
import { RootStore } from "./root";
|
|
// services
|
|
import { ProjectService } from "services/project";
|
|
import { PageService } from "services/page.service";
|
|
|
|
export enum EProjectStore {
|
|
PROJECT = "ProjectStore",
|
|
PROJECT_VIEW = "ProjectViewStore",
|
|
PROFILE = "ProfileStore",
|
|
MODULE = "ModuleStore",
|
|
CYCLE = "CycleStore",
|
|
}
|
|
|
|
export interface ModalData {
|
|
store: EProjectStore;
|
|
viewId: string;
|
|
}
|
|
|
|
export interface ICommandPaletteStore {
|
|
isCommandPaletteOpen: boolean;
|
|
isShortcutModalOpen: boolean;
|
|
isCreateProjectModalOpen: boolean;
|
|
isCreateCycleModalOpen: boolean;
|
|
isCreateModuleModalOpen: boolean;
|
|
isCreateViewModalOpen: boolean;
|
|
isCreatePageModalOpen: boolean;
|
|
isCreateIssueModalOpen: boolean;
|
|
isDeleteIssueModalOpen: boolean;
|
|
isBulkDeleteIssueModalOpen: boolean;
|
|
|
|
toggleCommandPaletteModal: (value?: boolean) => void;
|
|
toggleShortcutModal: (value?: boolean) => void;
|
|
toggleCreateProjectModal: (value?: boolean) => void;
|
|
toggleCreateCycleModal: (value?: boolean) => void;
|
|
toggleCreateViewModal: (value?: boolean) => void;
|
|
toggleCreatePageModal: (value?: boolean) => void;
|
|
toggleCreateIssueModal: (value?: boolean, storeType?: EProjectStore) => void;
|
|
toggleCreateModuleModal: (value?: boolean) => void;
|
|
toggleDeleteIssueModal: (value?: boolean) => void;
|
|
toggleBulkDeleteIssueModal: (value?: boolean) => void;
|
|
|
|
createIssueStoreType: EProjectStore;
|
|
}
|
|
|
|
class CommandPaletteStore implements ICommandPaletteStore {
|
|
isCommandPaletteOpen: boolean = false;
|
|
isShortcutModalOpen: boolean = false;
|
|
isCreateProjectModalOpen: boolean = false;
|
|
isCreateCycleModalOpen: boolean = false;
|
|
isCreateModuleModalOpen: boolean = false;
|
|
isCreateViewModalOpen: boolean = false;
|
|
isCreatePageModalOpen: boolean = false;
|
|
isCreateIssueModalOpen: boolean = false;
|
|
isDeleteIssueModalOpen: boolean = false;
|
|
isBulkDeleteIssueModalOpen: boolean = false;
|
|
// root store
|
|
rootStore;
|
|
// service
|
|
projectService;
|
|
pageService;
|
|
|
|
createIssueStoreType: EProjectStore = EProjectStore.PROJECT;
|
|
|
|
constructor(_rootStore: RootStore) {
|
|
makeObservable(this, {
|
|
// observable
|
|
isCommandPaletteOpen: observable.ref,
|
|
isShortcutModalOpen: observable.ref,
|
|
isCreateProjectModalOpen: observable.ref,
|
|
isCreateCycleModalOpen: observable.ref,
|
|
isCreateModuleModalOpen: observable.ref,
|
|
isCreateViewModalOpen: observable.ref,
|
|
isCreatePageModalOpen: observable.ref,
|
|
isCreateIssueModalOpen: observable.ref,
|
|
isDeleteIssueModalOpen: observable.ref,
|
|
isBulkDeleteIssueModalOpen: observable.ref,
|
|
// computed
|
|
// projectPages: computed,
|
|
// action
|
|
toggleCommandPaletteModal: action,
|
|
toggleShortcutModal: action,
|
|
toggleCreateProjectModal: action,
|
|
toggleCreateCycleModal: action,
|
|
toggleCreateViewModal: action,
|
|
toggleCreatePageModal: action,
|
|
toggleCreateIssueModal: action,
|
|
toggleCreateModuleModal: action,
|
|
toggleDeleteIssueModal: action,
|
|
toggleBulkDeleteIssueModal: action,
|
|
});
|
|
|
|
this.rootStore = _rootStore;
|
|
this.projectService = new ProjectService();
|
|
this.pageService = new PageService();
|
|
}
|
|
|
|
toggleCommandPaletteModal = (value?: boolean) => {
|
|
if (value) {
|
|
this.isCommandPaletteOpen = value;
|
|
} else {
|
|
this.isCommandPaletteOpen = !this.isCommandPaletteOpen;
|
|
}
|
|
};
|
|
|
|
toggleShortcutModal = (value?: boolean) => {
|
|
if (value) {
|
|
this.isShortcutModalOpen = value;
|
|
} else {
|
|
this.isShortcutModalOpen = !this.isShortcutModalOpen;
|
|
}
|
|
};
|
|
|
|
toggleCreateProjectModal = (value?: boolean) => {
|
|
if (value) {
|
|
this.isCreateProjectModalOpen = value;
|
|
} else {
|
|
this.isCreateProjectModalOpen = !this.isCreateProjectModalOpen;
|
|
}
|
|
};
|
|
|
|
toggleCreateCycleModal = (value?: boolean) => {
|
|
if (value) {
|
|
this.isCreateCycleModalOpen = value;
|
|
} else {
|
|
this.isCreateCycleModalOpen = !this.isCreateCycleModalOpen;
|
|
}
|
|
};
|
|
|
|
toggleCreateViewModal = (value?: boolean) => {
|
|
if (value) {
|
|
this.isCreateViewModalOpen = value;
|
|
} else {
|
|
this.isCreateViewModalOpen = !this.isCreateViewModalOpen;
|
|
}
|
|
};
|
|
|
|
toggleCreatePageModal = (value?: boolean) => {
|
|
if (value) {
|
|
this.isCreatePageModalOpen = value;
|
|
} else {
|
|
this.isCreatePageModalOpen = !this.isCreatePageModalOpen;
|
|
}
|
|
};
|
|
|
|
toggleCreateIssueModal = (value?: boolean, storeType?: EProjectStore) => {
|
|
if (value) {
|
|
this.isCreateIssueModalOpen = value;
|
|
this.createIssueStoreType = storeType || EProjectStore.PROJECT;
|
|
} else {
|
|
this.isCreateIssueModalOpen = !this.isCreateIssueModalOpen;
|
|
this.createIssueStoreType = EProjectStore.PROJECT;
|
|
}
|
|
};
|
|
|
|
toggleDeleteIssueModal = (value?: boolean) => {
|
|
if (value) {
|
|
this.isDeleteIssueModalOpen = value;
|
|
} else {
|
|
this.isDeleteIssueModalOpen = !this.isDeleteIssueModalOpen;
|
|
}
|
|
};
|
|
|
|
toggleCreateModuleModal = (value?: boolean) => {
|
|
if (value) {
|
|
this.isCreateModuleModalOpen = value;
|
|
} else {
|
|
this.isCreateModuleModalOpen = !this.isCreateModuleModalOpen;
|
|
}
|
|
};
|
|
|
|
toggleBulkDeleteIssueModal = (value?: boolean) => {
|
|
if (value) {
|
|
this.isBulkDeleteIssueModalOpen = value;
|
|
} else {
|
|
this.isBulkDeleteIssueModalOpen = !this.isBulkDeleteIssueModalOpen;
|
|
}
|
|
};
|
|
}
|
|
|
|
export default CommandPaletteStore;
|