mirror of
https://github.com/makeplane/plane
synced 2024-06-14 14:31:34 +00:00
162 lines
4.7 KiB
TypeScript
162 lines
4.7 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 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) => void;
|
|
toggleCreateModuleModal: (value?: boolean) => void;
|
|
toggleDeleteIssueModal: (value?: boolean) => void;
|
|
toggleBulkDeleteIssueModal: (value?: boolean) => void;
|
|
}
|
|
|
|
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;
|
|
|
|
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,
|
|
isDeleteIssueModalOpen: observable.ref,
|
|
isCreateIssueModalOpen: observable.ref,
|
|
// computed
|
|
// projectPages: computed,
|
|
// action
|
|
toggleCommandPaletteModal: action,
|
|
toggleShortcutModal: action,
|
|
toggleCreateProjectModal: action,
|
|
toggleCreateCycleModal: action,
|
|
toggleCreateViewModal: action,
|
|
toggleCreatePageModal: action,
|
|
toggleCreateIssueModal: action,
|
|
toggleCreateModuleModal: 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) => {
|
|
if (value) {
|
|
this.isCreateIssueModalOpen = value;
|
|
} else {
|
|
this.isCreateIssueModalOpen = !this.isCreateIssueModalOpen;
|
|
}
|
|
};
|
|
|
|
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;
|