X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/5e88476747d9fb0c77ef76d63430192fa4b77f22..c90e813adcec89899d9db95843295a84fb058c3e:/src/store/project/project-action.ts diff --git a/src/store/project/project-action.ts b/src/store/project/project-action.ts index 728b1cc9..3c264d3e 100644 --- a/src/store/project/project-action.ts +++ b/src/store/project/project-action.ts @@ -1,29 +1,33 @@ // Copyright (C) The Arvados Authors. All rights reserved. // // SPDX-License-Identifier: AGPL-3.0 +import { default as unionize, ofType, UnionOf } from "unionize"; import { Project } from "../../models/project"; -import { default as unionize, ofType, UnionOf } from "unionize"; import { projectService } from "../../services/services"; import { Dispatch } from "redux"; const actions = unionize({ CREATE_PROJECT: ofType(), REMOVE_PROJECT: ofType(), - PROJECTS_REQUEST: ofType(), + PROJECTS_REQUEST: ofType(), PROJECTS_SUCCESS: ofType<{ projects: Project[], parentItemId?: string }>(), - TOGGLE_PROJECT_TREE_ITEM: ofType() + TOGGLE_PROJECT_TREE_ITEM_OPEN: ofType(), + TOGGLE_PROJECT_TREE_ITEM_ACTIVE: ofType(), + RESET_PROJECT_TREE_ACTIVITY: ofType(), }, { - tag: 'type', - value: 'payload' -}); + tag: 'type', + value: 'payload' + }); export const getProjectList = (parentUuid?: string) => (dispatch: Dispatch): Promise => { - dispatch(actions.PROJECTS_REQUEST()); - return projectService.getProjectList(parentUuid).then(projects => { - dispatch(actions.PROJECTS_SUCCESS({projects, parentItemId: parentUuid})); - return projects; - }); + if (parentUuid) { + dispatch(actions.PROJECTS_REQUEST(parentUuid)); + return projectService.getProjectList(parentUuid).then(projects => { + dispatch(actions.PROJECTS_SUCCESS({ projects, parentItemId: parentUuid })); + return projects; + }); + } return Promise.resolve([]); }; export type ProjectAction = UnionOf;