| 1234567891011121314151617181920212223242526 |
- import { computed } from 'vue';
- import { useStore } from '@/store';
- import { WorkspaceDispatcher } from '@/store/dispatchers';
- import { useRouter } from 'vue-router';
- export const useProjectList = () => {
- const store = useStore();
- const router = useRouter();
- const projectList = computed(() => store.state.workspace.projectList);
- const selectedProject = computed(() => store.getters.currentProjectInfo);
- const handleProjectChange = (projectId: number) => {
- WorkspaceDispatcher.changeProject(projectId);
- if (router.currentRoute.value.path.includes('schedule')) {
- router.go(0);
- } else {
- router.push(`/project/${projectId}/schedule`);
- }
- };
- return {
- projectList,
- selectedProject,
- handleProjectChange,
- };
- };
|