X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/b323a94f313671b44a066a2f91dea562e9464d10..c384037883732764d73829804aabee0ccfc8aa61:/src/store/project/project-reducer.ts diff --git a/src/store/project/project-reducer.ts b/src/store/project/project-reducer.ts index c008370d..f5af23ab 100644 --- a/src/store/project/project-reducer.ts +++ b/src/store/project/project-reducer.ts @@ -4,7 +4,7 @@ import * as _ from "lodash"; -import actions, { ProjectAction } from "./project-action"; +import { projectActions, ProjectAction } from "./project-action"; import { TreeItem, TreeItemStatus } from "../../components/tree/tree"; import { ProjectResource } from "../../models/project"; @@ -16,8 +16,8 @@ export type ProjectState = { interface ProjectCreator { opened: boolean; - pending: boolean; ownerUuid: string; + error?: string; } export function findTreeItem(tree: Array>, itemId: string): TreeItem | undefined { @@ -72,14 +72,14 @@ function updateProjectTree(tree: Array>, projects: Pro if (parentItemId) { treeItem = findTreeItem(tree, parentItemId); if (treeItem) { - treeItem.status = TreeItemStatus.Loaded; + treeItem.status = TreeItemStatus.LOADED; } } const items = projects.map(p => ({ id: p.uuid, open: false, active: false, - status: TreeItemStatus.Initial, + status: TreeItemStatus.INITIAL, data: p, items: [] } as TreeItem)); @@ -105,25 +105,23 @@ const initialState: ProjectState = { currentItemId: "", creator: { opened: false, - pending: false, ownerUuid: "" } }; -const projectsReducer = (state: ProjectState = initialState, action: ProjectAction) => { - return actions.match(action, { - OPEN_PROJECT_CREATOR: ({ ownerUuid }) => updateCreator(state, { ownerUuid, opened: true, pending: false }), +export const projectsReducer = (state: ProjectState = initialState, action: ProjectAction) => { + return projectActions.match(action, { + OPEN_PROJECT_CREATOR: ({ ownerUuid }) => updateCreator(state, { ownerUuid, opened: true }), CLOSE_PROJECT_CREATOR: () => updateCreator(state, { opened: false }), - CREATE_PROJECT: () => updateCreator(state, { opened: false, pending: true }), - CREATE_PROJECT_SUCCESS: () => updateCreator(state, { ownerUuid: "", pending: false }), - CREATE_PROJECT_ERROR: () => updateCreator(state, { ownerUuid: "", pending: false }), + CREATE_PROJECT: () => updateCreator(state, { error: undefined }), + CREATE_PROJECT_SUCCESS: () => updateCreator(state, { opened: false, ownerUuid: "" }), REMOVE_PROJECT: () => state, PROJECTS_REQUEST: itemId => { const items = _.cloneDeep(state.items); const item = findTreeItem(items, itemId); if (item) { - item.status = TreeItemStatus.Pending; + item.status = TreeItemStatus.PENDING; state.items = items; } return { ...state, items }; @@ -139,7 +137,6 @@ const projectsReducer = (state: ProjectState = initialState, action: ProjectActi const items = _.cloneDeep(state.items); const item = findTreeItem(items, itemId); if (item) { - item.toggled = true; item.open = !item.open; } return { @@ -153,7 +150,6 @@ const projectsReducer = (state: ProjectState = initialState, action: ProjectActi resetTreeActivity(items); const item = findTreeItem(items, itemId); if (item) { - item.toggled = true; item.active = true; } return { @@ -174,5 +170,3 @@ const projectsReducer = (state: ProjectState = initialState, action: ProjectActi default: () => state }); }; - -export default projectsReducer;