X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/a189d04efc7e3d8f7a66f7302ac1fda346c40a4e..ec9331a8435c9844efe3ba018f6c0d0c3f96d573:/src/store/breadcrumbs/breadcrumbs-actions.ts diff --git a/src/store/breadcrumbs/breadcrumbs-actions.ts b/src/store/breadcrumbs/breadcrumbs-actions.ts index 94f45aa7..8b1eb2b0 100644 --- a/src/store/breadcrumbs/breadcrumbs-actions.ts +++ b/src/store/breadcrumbs/breadcrumbs-actions.ts @@ -28,7 +28,7 @@ const getSidePanelTreeBreadcrumbs = (uuid: string) => (treePicker: TreePicker): const nodes = getSidePanelTreeBranch(uuid)(treePicker); return nodes.map(node => typeof node.value === 'string' - ? { label: node.value, uuid: node.nodeId } + ? { label: node.value, uuid: node.id } : { label: node.value.name, uuid: node.value.uuid }); }; @@ -40,11 +40,17 @@ export const setSidePanelBreadcrumbs = (uuid: string) => }; export const setSharedWithMeBreadcrumbs = (uuid: string) => + setCategoryBreadcrumbs(uuid, SidePanelTreeCategory.SHARED_WITH_ME); + +export const setTrashBreadcrumbs = (uuid: string) => + setCategoryBreadcrumbs(uuid, SidePanelTreeCategory.TRASH); + +export const setCategoryBreadcrumbs = (uuid: string, category: SidePanelTreeCategory) => async (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => { const ancestors = await services.ancestorsService.ancestors(uuid, ''); dispatch(updateResources(ancestors)); const initialBreadcrumbs: ResourceBreadcrumb[] = [ - { label: SidePanelTreeCategory.SHARED_WITH_ME, uuid: SidePanelTreeCategory.SHARED_WITH_ME } + { label: category, uuid: category } ]; const breadrumbs = ancestors.reduce((breadcrumbs, ancestor) => ancestor.kind === ResourceKind.GROUP @@ -58,7 +64,8 @@ export const setSharedWithMeBreadcrumbs = (uuid: string) => export const setProjectBreadcrumbs = (uuid: string) => (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => { const ancestors = getSidePanelTreeNodeAncestorsIds(uuid)(getState().treePicker); - if (ancestors.find(uuid => uuid === services.authService.getUuid())) { + const rootUuid = services.authService.getUuid(); + if (uuid === rootUuid || ancestors.find(uuid => uuid === rootUuid)) { dispatch(setSidePanelBreadcrumbs(uuid)); } else { dispatch(setSharedWithMeBreadcrumbs(uuid));